Algorithms

CMSC351

Introduction to designing efficient algorithms and analyzing their running times. Topics include asymptotics, recurrences, algorithm design techniques, and NP-completeness.

Organization of Programming Languages

CMSC330

Principles of programming languages, including syntax, semantics, implementation, and different programming paradigms.

Introduction to Computer Systems

CMSC216

Organization of computer systems, including machine representation of data, assembly language programming, and memory management.

Discrete Structures

CMSC250

Mathematical foundations including logic, set theory, combinatorics, graph theory, and proofs for computing.

Applied Probability and Statistics I

STAT400

Fundamental concepts of probability and statistics, including probability distributions, expectation, variance, and hypothesis testing.

Introduction to Linear Algebra

MATH240

Vector spaces, linear transformations, matrices, determinants, eigenvalues, and eigenvectors with computational applications.

Object-Oriented Programming II

CMSC132

Advanced object-oriented programming concepts, including inheritance, polymorphism, design patterns, and data structures using Java.

Foundations of Accounting for Non Business Majors

BMIN210

Introduction to accounting principles, focusing on financial statements, accounting cycles, and the role of accounting in business decision-making.

FIRE Semester 3

FIRE298

Third semester of the First-Year Innovation & Research Experience, focusing on independent research and scholarly communication.

FIRE Semester 2

FIRE198

Second semester of the First-Year Innovation & Research Experience, advancing research skills and project development.

FIRE Semester 1

FIRE120

First semester of the First-Year Innovation & Research Experience, focusing on research fundamentals and interdisciplinary collaboration.