CMSC course designations for undergraduate programs

Basic categories

Theory A

Theory B

Theory C

Core Systems

Programming Languages and Systems (prior to new BA/BS autumn '24)

CS major specializations

Computer Security and Privacy

CMSC 23200 Introduction to Computer Security and two courses from this list.

Computer Systems

Three courses from this list, over and above those taken to fulfill the programming languages and systems requirement.

Data Science

CMSC 21800 Data Science for Computer Scientists and two courses from this list.

Human Computer Interaction

CMSC 20300 Introduction to Human-Computer Interation or CMSC 20310 Introduction to Designing Interaction and two courses from this list.

Machine Learning

Three courses from this list. Note that at most one of CMSC 25500 and TTIC 31230 count towards the Machine Learning specialization, and, more broadly, the computer science major (or minor).

Miscellaneous

Programming Languages

Three courses from this list, over and above those courses taken to fulfill the programming languages and systems requirements.

Theory

Three courses from this list, over and above those taken to fulfill the theory requirements.

Curriculum areas (in addition to the specializations above)

Software Engineering

Quantum Computing

Visual Computing

Robotics

Honors

To identify graduate courses that count towards an undergraduate honors degree, for the academic year 2025–2026, see those courses designated as Undergraduate Honors on this page. For academic years prior to 2025–2026, see those courses designated as Core or Elective on the page for the relevant year: 2024–2025, 2023–2024, 2022–2023.

The following undergraduate courses count towards honors: