This page summarizes the course requirements for the standard track, including the core courses, the electives, and the grade requirements. The requirements for the Computational Mathematics track can be found here.
The set of core courses has been designed to bring sharp focus on the foundations to the program, guarantee sufficient breadth, and foster collegiality among our graduate students. Each student selects a set of five courses from the list below; the selection must include one course in Machine Learning, two courses in Systems, and two courses in Theory.
Core courses: Machine Learning
 CMSC 35400  Machine Learning
 CMSC 35300  Mathematical Foundations of Machine Learning
 TTIC 31020  Introduction to Statistical Machine Learning
Core courses: Systems
 CMSC 33000  Operating Systems
 CMSC 33700  Introduction to Computer Graphics
 CMSC 32200  Computer Architecture
 CMSC 32630  Advanced Implementation of Computer Languages
 CMSC 33100  Advanced Operating Systems
 CMSC 33300  Networks & Distributed Systems
 CMSC 33520  Data Intensive Systems
 CMSC 33550  Introduction to Databases
 CMSC 33710  Scientific Visualization
Core courses: Theory
Students should take two courses from the lists below, at least one course from the Theoretical Computer Science list.
 Mathematical Foundations
Any of the courses in this group is sufficient as a prerequisite to Algorithms.
 CMSC 27100  Discrete Mathematics (This undergraduate course is often heavily oversubscribed, so we ask PhD students and advisors to consider alternatives.)
 CMSC 27130  Honors Discrete Mathematics
 CMSC 27530  Honors Graph Theory (in alternate years)
 CMSC 27410  Honors Combinatorics (in alternate years)
 CMSC 31150  Mathematical Toolkit
 CMSC 37115  Introduction to Mathematical Reasoning via Discrete Mathematics
 CMSC 37200  Combinatorics (in alternate years)
 CMSC 37530  Graph Theory (in alternate years)
 CMSC 38400  Cryptography
 Theoretical Computer Science
 CMSC 37000  Algorithms
 CMSC 37503  Approximation Algorithms
 CMSC 28100  Introduction to Complexity Theory
 CMSC 28130  Honors Introduction to Complexity Theory
 CMSC 38130  (Graduate) Introduction to Complexity Theory
 CMSC 38410  Quantum Computing
 CMSC 38800  Complexity Theory (in alternate years)
 CMSC 38815  Geometric Complexity Theory
 CMSC 38850  Computational and Metric Geometry
 CMSC 31150  Mathematical Toolkit
 CMSC 38400  Cryptography
Notes: CMSC 31150 and 38400 can be used as a core Theory and Mathematical Foundations course in either group. Students who expect to specialize in Theory or Cryptography cannot use undergraduate courses or CMSC 37115 to fulfill Theory course requirements.
The list of courses that are available to serve as electives varies significantly yeartoyear. In particular, “Topics” courses may or may not be taken as an elective, depending on the offering. Topics courses can be used more than once, provided the material taught in the different offerings is distinct, and the course involves structured and graded work.
The following courses are approved as electives for 20182019 (bur see observation about Topic courses above). To ensure sufficient breadth, students must take electives from either (a) two or more areas or (b) from the computational mathematics list.
ELECTIVES

CMSC 30100  Technical Writing and Presentation
Electives: Artificial Intelligence

CMSC 45300  Machine Learning

TTIC 31120  Statistical and Computational Learning Theory

TTIC 31040  Introduction to Computer Vision

TTIC 31170  Planning, Learning, and Estimation for Robotics and Artificial Intelligence

TTIC 31210  Advanced Natural Language Processing

TTIC 31220  Unsupervised Learning and LargeScale Data Analysis

TTIC 31230  Fundamentals of Deep Learning

CMSC 35200  Deep Learning Systems

CMSC 35401  Topics in Machine Learning

CMSC 35425  Topics in Statistical Machine Learning

CMSC 35050  Computational Linguistics

CMSC 33350 Neuromorphic Computing

TTIC 31230 Fundamentals of Deep Learning

STAT 37710 Topics in Statistical Machine Learning
Electives: Computational Mathematics

CMSC 30900  Mathematical Computation I: Matrix Computation
Electives: Systems

Any course from the systems core course list that is not used by the student to fulfill the core requirements.

CMSC 33250  Introduction to Computer Security

CMSC 33520  Data Intensive Computing Systems

CMSC 33301 Topics in Systems (several offerings)

CMSC 32201  Topics in Computer Architecture

CMSC 33200  Topics in Operating Systems

CMSC 33250  Topics in Computer Security

CMSC 34702 Topics in Networks

CMSC 32001  Topics in Programming Languages

CMSC 33251 Topics in Security

CMSC 35200  Deep Learning Systems

CMSC 33210  Usable Security and Privacy

CMSC 33400 Mobile Computing
Electives: Theory

Any course from the theory core course list that is not used by the student to fulfill the core requirements.

CMSC 39010  Computational and Metric Geometry

CMSC 39600  Topics in Theoretical Computer Science

CMSC 38815  Geometric Complexity

CMSC 38130 Complexity Theory

CMSC 38502 Topics in Combinatorics and Logic

CMSC 39000 Computational Geometry

MATH 38800 Complexity Theory
Students may petition the Graduate Committee to substitute other courses for those listed. Students are required to submit their petitions for substitution before they take a course with which they intend to fulfill the electives requirement.
There are specific grade requirements for both core courses and electives (described below). The spirit of these requirements can be summed up by the following motto: a student must demonstrate proficiency in all areas and excellence in at least one area.
The minimum formal requirements for the core courses ("Ph.D. Pass") are the following: Students are required to complete the five core courses with a grade point average (GPA) of at least 3.25 in the five core courses. In computing the GPA, A=4, B=3, and a + or a  counts as .3 of a point. Note that for the core courses, students who significantly outperform even the typical "A" students may receive a grade of "A+" (recorded internally by the CS Department Student Representativethe University does not officially grant the grade of A+.) So, for instance a student with grades A+, B+, B+, B, B in the five core courses has a GPA of 3.26 and thus satisfies the minimum GPA requirement, as does a student with grades of A+, A, B+, B, and C. In the graduate program grades below C are not passing grades.
Students must complete their electives with a grade of B or better in each course.
The previous rules, that apply to the classes before the cohort first enrolled in Summer or Autumn 2015 can be found here.
Students who fail to meet the core course requirements stated in the preceding paragraph may continue on to write a master's paper and complete a master's degree, if they meet the following requirement ("Master's Pass"): complete all the five core courses by the end of the spring quarter of the second year with a grade of at least C in each core course and with a grade point average (GPA) of at least 3.00 in the five core courses. Such students will be supported for at most one quarter of their third year.
Students who do not meet the Ph.D. Pass requirements for these courses cannot continue their studies beyond autumn quarter of their third year. Students who do meet these minimum requirements will not automatically be allowed to continue after their third year; the faculty will decide continuation based on the student's perceived capacity to perform Ph. D. level independent research in a specific area.