Graduate Coursework

Contents

  1. Registration and Coursework Policies
    1. Satisfactory progress
    2. Registration and Minimum course load per semester
    3. Taking Courses in Other Departments
    4. Pre-Candidacy Research Credits
    5. PhD Coursework Waiver Policy
  2. Course Listing
    1. Areas and Courses
      1. Artificial Intelligence
      2. Bioinformatics
      3. Computer Systems
      4. Database Systems
      5. Software Engineering/Programming Languages/HCI
      6. Scientific Computing
      7. Algorithms and Computation Theory
      8. Visual and Geometric Computing
  3. Special Topics Courses
  4. 798/798 Section Numbers
  5. 898/899 Section Numbers

1. Registration and Coursework Policies

Maintaining Satisfactory Progress

To ensure continuous progress toward your degree, it’s imperative that you consistently meet the set expectations, commensurate with your other responsibilities. You must maintain continuous registration, whether through coursework or research credits. An overall B average must be sustained in your coursework, exclusive of CMSC 799 (Thesis Research) and CMSC 899 (Dissertation Research). Failure to comply may result in the termination of your graduate admission.

In instances where you receive a grade of I (incomplete) in any course, you must resolve this to a satisfactory grade before your degree can be conferred. If you earn a grade of D or F in a graduate course, you must retake the course and achieve a grade of C or higher to maintain your eligibility for degree completion.

You are responsible to keep yourself updated and comply with all deadlines and requirements for your graduate studies. The Graduate School announces exact dates for graduation, academic deadlines, registration deadlines, and other pertinent timelines for each academic year. The Computer Science Graduate Office announces these dates on a semesterly basis. Any changes in departmental policies will be communicated through an announcement to gradlist [-at-] cs [dot] umd [dot] edu.
In the event of any circumstances that might hinder your ability to maintain graduate standing or fulfill degree requirements, it is your responsibility to inform the Computer Science Graduate Office in writing.
 

Registration and Minimum course load per semester

All graduate students within the Computer Science department are required to register through Testudo. It is essential to notify your advisor of your course selections and any subsequent changes each semester. To request permission for restricted courses, please use the Graduate Office’s online permission form. Due to the high demand for Computer Science courses, we strongly advise you to register early.

Minimum course load

Course load is measured in units, which are defined as follows:

Course Load Unit Table

Courses numbered 000-399

2 units/credit hour

Courses numbered 400-499

4 units/credit hour
Courses numbered 500-599 5 units/credit hour
Courses numbered 600-897 6 units/credit hour
Research courses 799 12 units/credit hour
Pre-Candidacy Research 898 18 units/credit hour
Post-Candidacy Research 899 Mandatory 6 credits /108 units total

Audited courses do not generate graduate units. A part-time graduate student must complete at least 12 units per year. A full-time graduate student is normally expected to successfully complete a combination of courses that totals at least 48 units each semester (excluding summer sessions). Graduate assistants and International students must maintain full-time status.

Graduate Assistants are referred to either as Graduate Teaching Assistants (TAs), Graduate Research Assistants (RAs), or Graduate Administrative Assistants (AAs).

  • Full-time Graduate Assistant (GA): Working 20 hours per week equates to 24 units. To maintain full-time status, full-time GA should register for an additional 24 units.
  • Half-time Graduate Assistant (GA): Working 10 hours per week equates to 12 units. To maintain full-time status, half-time GA needs to register for 36 units.

Consult this reference to help calculate whether or not your coursework qualifies you as a full-time graduate student:

Graduate Coursework Qualification
 

400-499

600-897 799 898 899
1 cr. 4 units 6 units 12 units 18 units 18 units
2 cr. 8 units 12 units 24 units 36 units 36 units
3 cr. 12 units 18 units 36 units 54 units 54 units
4 cr. 16 units 24 units 48 units 72 units 72 units
5 cr. 20 units 30 units 60 units    
6 cr. 24 units 36 units 72 units    
7 cr. 28 units 42 units      
8 cr. 32 units 48 units      
9 cr. 36 units 54 units      

Taking Courses from Other Departments

Graduate courses from other departments can be used to satisfy the “elective” courses requirement (see section 2.3 in the policy manual). Under specific circumstances, these courses might also qualify for MS/Ph.D. course requirements.

Qualifying Course Criteria:

  • At least 75% of the course grade should be based on homework, programming tasks, research projects, and exams
  • Written exams in these courses should form at least 30% of the final grade

For Elective Course Registration:

If you're looking to enroll in a non-CS course to satisfy the "Elective" graduate course requirement, please complete this form and provide the necessary details.

For MS/Ph.D. Qualifying Course Registration:

To have an external course evaluated for its relevance as a qualifying course within the MS/Ph.D. program, please provide the necessary details to the Grad Office using this form:

  • Specific course details, including the syllabus and the instructor’s name
  • Identifies the area in which you want the course to count
  • A justification explaining the relevance and importance of this course to your studies
  • Upload any relevant supporting documents

The Grad Office forwards the request to the appropriate field committee members and they will decide on the course’s suitability as a qualifying Ph.D./MS course for the indicated area or if it should be considered as an elective.

Note: Please ensure your submission is well in advance of the semester in which you plan to undertake the course

Pre-Candidacy Research Credits

Pre-candidacy research credits (CMSC898) are used to maintain registration or full-time status when regular coursework isn’t sufficient. These credits are particularly relevant in scenarios where you are engaged in research activities with your advisor but have not yet advanced to candidacy. In such cases, you should register for CMSC 898 to appropriately account for your research efforts.

CMSC898 section number is linked to the professor under whom you are conducting your research. A listing of section numbers can be found in 898/899/799/798 Section Numbers

PhD Coursework Waiver Policy

Overview

In the Computer Science graduate program, advancing to candidacy requires students to complete six qualifying courses at the 600–800 level across four different areas with a minimum of four A's and two B's, two additional elective courses with grades of B or higher, and a compulsory one-credit course, "How to Conduct Great Research." (For detailed information, refer to section 2.3, Pre-candidacy Requirements, in the Policy Manual.)

While approved course waivers can reduce the total number of courses you need to take, they do not reduce the requirement to earn a minimum of four A's at UMD, a requirement that ensures mastery of the subject matter.

Criteria for Waivers

  • The previous course must align closely with a UMD-qualifying course in terms of exams, graduate-level content, and syllabus similarity
  • Waivers must be approved by the relevant field committee

 Please Note:

  • A maximum of 3 courses can be waived. Please only submit 3 requests at a time. If some requests are denied, additional ones may be submitted
  • The waiver process does not affect the requirement to achieve four A’s in UMD-taken courses. Approved waivers are only applicable for meeting the requirement of obtaining two 'B' grades in the qualifying courses or elective courses
  • Courses taken for undergraduate credit, or classified as retired (no longer offered) at UMD, are ineligible for waivers
  • A course that is evaluated and classified at the 400 level does not qualify for PhD coursework waiver, even if it was taken for graduate credit at another institute. Such a course can be applied to your MS requirements. If you intend to include credits earned at another institution towards your MS-along-the-way, you must adhere to the Graduate School's policy for transferring credit. If eligible, submit the UMD Graduate School Inclusion Form via CS Graduate Form Submissions.
  • Waivers will only be accepted for coursework completed in previous Ph.D. or MS programs prior to starting at UMD. Purely online courses are generally not considered acceptable for waiver requests.

Submission Process:

  • Submit waiver requests through this form to the relevant field committee chair(s).
  • To ensure timely processing of your waiver requests, please submit them via the provided form by October 1st for consideration for the upcoming Spring semester, or by March 1st for the following Fall semester. Be mindful that decisions are typically made in time for early registration for the next term.
    • For consideration in your Spring semester coursework, submit waiver requests by October 1st
    • For consideration in your Fall semester coursework, submit waiver requests by March 1st
  • Clearly link the course you're seeking to waive to the equivalent UMD course for comparison purposes.

2. Course Listings

All core courses (600-700 level) listed under 'Areas and Courses' are qualifying courses, and their status is generally stable. Special Topics Courses will have their qualifying status updated each semester.

Areas and Courses

The graduate program coursework is organized into areas, each with associated faculty and courses. There are currently eight areas:

  • Artificial Intelligence
  • Bioinformatics
  • Computer Systems
  • Database Systems
  • Software Engineering/Programming Languages/HCI
  • Scientific Computing
  • Algorithms and Computation Theory
  • Visual and Geometric Computing

Below are the courses by area:


Algorithms and Computation Theory

CMSC651: Analysis of Algorithms
CMSC652: Complexity Theory
CMSC656: Introduction to Cryptography
CMSC657: Introduction to Quantum Information Processing
CMSC742: Algorithms in Machine Learning: Guarantees and Analyses
CMSC751: Parallel Algorithms
CMSC752: Ramsey Theory
CMSC754: Computational Geometry

Artificial Intelligence

CMSC720: Foundations of Deep Learning
CMSC721: Non-Monotonic Reasoning
CMSC722: Artificial Intelligence Planning
CMSC723: Natural Language Processing
CMSC726: Machine Learning
CMSC727: Neural Modeling
CMSC742: Algorithms in Machine Learning: Guarantees and Analyses
CMSC756: Robotics
CMSC773: Computational Linguistics II

Bioinformatics

CMSC601: Computational and Mathematical Analysis of Biological Networks across Scales
CMSC701: Computational Genomics
CMSC702: Algorithmic Evolutionary Biology
CMSC703: Network Analysis and Modeling of Biological Systems

Computer Systems

CMSC614: Computer and Network Security
CMSC616: Foundations of Parallel Computing
CMSC711: Computer Networks
CMSC712: Distributed Algorithms and Verification
CMSC714: High Performance Computing
CMSC715: Wireless and Mobile Systems for the IoT
CMSC730: Interactive Technologies in Human-Computer Interaction

Database Systems

CMSC624: Database Systems Implementation
CMSC724: Database Management Systems
CMSC725: Geographic Information Systems and Spatial Databases

Scientific Computing

CMSC660: Scientific Computing I
CMSC661: Scientific Computing II
CMSC666: Numerical Analysis I
CMSC667: Numerical Analysis II
CMSC762: Numerical Solution of Nonlinear Equations
CMSC763: Advanced Linear Numerical Analysis
CMSC764: Advanced Numerical Optimization

Software Engineering/Programming Languages/HCI

CMSC630: Foundations of Software Verification
CMSC631: Program Analysis and Understanding
CMSC632: Software Product Assurance
CMSC634: Empirical Research Methods for Computer Science
CMSC730: Interactive Technologies in Human-Computer Interaction
CMSC732: Human Factors in Security and Privacy
CMSC734: Information Visualization
CMSC735: Quantitative Approach to Software Management and Engineering
CMSC736: Software Engineering Environments
CMSC737: Fundamentals of Software Testing

Visual and Geometric Computing

CMSC725: Geographic Information Systems and Spatial Databases
CMSC733: Computer Processing of Pictorial Information
CMSC740: Advanced Computer Graphics
CMSC741: Geometric and Solid Modeling
CMSC754: Computational Geometry
CMSC756: Robotics

Some courses may appear in more than one area. However, you cannot use a particular course to satisfy more than one area's requirement.

It is expected that courses at the 600-800 level will be offered on a rotating basis, roughly every three or four semesters.

In addition to the courses listed above, special topics courses are offered, under the course numbers CMSC 818, 828, 838, etc.

MS/PhD Status of Special Topics Courses

  1. This section lists special topics courses (i.e., 498, 798, 8x8) by semester, and for each course, indicates the following:
    • Fall 2015 and later - whether it is MS/PhD qualifying and area
    • Spring 2015 and earlier - whether it is PhD qualifying and area; whether it is MS qualifying and area; whether its exams consistute an MS comp in an area and, if so, which of its exams.
      • [Spring 2015 and earlier: MS or PhD qualifying courses must base their grades primarily on exams (and not on paper readings, presentations, etc). An MS comp must be based entirely on exams (and not projects, homeworks, term papers, etc). It can be one or more of the regular exams in the course (e.g., final, midterm + final), regular exams augmented with additional questions, a separate exam, or any combination.]
  2. Instructors offering such courses should email the relevant information to the grad office well before the start of the semester.
  3. Information for a semester is finalized when the semester starts.
  4. If a special topics course being offered is not listed here, then it does not count as MS/PhD qualifying or toward MS comps.

Spring 2026

  • CMSC731: Advances in XR
     MS/PhD qualifying in Software Engineering/Programming Languages/HCI
     MS/PhD qualifying in Visual and Geometric Computing
  • CMSC818G: Advanced Topics in Computer Systems; Information-Centric Design of Systems
     MS/PhD qualifying in Computer Systems
  • CMSC818Q: Advanced Topics in Computer Systems; Cloud Networking and Computing
     Not MS/PhD qualifying, but can count as elective
  • CMSC828C: Advanced Topics in Information Processing; Statistical Pattern Recognition
     MS/PhD qualifying in Artificial Intelligence
  • CMSC828G: Advanced Topics in Information Processing; Systems for Machine Learning
     MS/PhD qualifying in Artificial Intelligence
     MS/PhD qualifying in Computer Systems
  • CMSC838E: Advanced Topics in Programming Languages; Compiler Construction
     MS/PhD qualifying in Software Engineering/Programming Languages/HCI
  • CMSC848G: Selected Topics in Information Processing; Selected Topics in Machine Learning
     MS/PhD qualifying in Bioinformatics
  • CMSC848M: Selected Topics in Information Processing; Multimodal Computer Vision
     MS/PhD qualifying in Visual and Geometric Computing
  • CMSC848Q: Selected Topics in Information Processing: How and Why Artificial Intelligence Answers Questions
     MS/PhD qualifying in Artificial Intelligence
  • CMSC848T: Selected Topics in Information Processing; Frontiers in Multilingual AI
     Not MS/PhD qualifying, but can count as elective
  • CMSC848U: Selected Topics in Information Processing; Modern Computational Speech and Audition
     Not MS/PhD qualifying, but can count as elective
  • CMSC858G: Advanced Topics in Theory of Computing; Quantum Error Correction and Fault Tolerance
     MS/PhD qualifying in Algorithms and Computation Theory

Fall 2025

  • CMSC818I: Advanced Topics in Computer Systems; Large Language Models, Security, and Privacy
     MS/PhD qualifying in Artificial Intelligence
     MS/PhD qualifying in Computer Systems
  • CMSC818J: Advanced Topics in Computer Systems; Domain Specific Architecture
     MS/PhD qualifying in Computer Systems
  • CMSC818T: Advanced Topics in Computer Systems; Applied Cryptographic Systems and Privacy Enhancing Technologies.
     MS/PhD qualifying in Computer Systems
  • CMSC818V: Advanced Topics in Computer Systems; Machine Learning for Physical Sensing and Perception
     Not MS/PhD qualifying, but can count as elective
  • CMSC828J: Advanced Topics in Information Processing; Common-sense Reasoning and Natural Language Understanding
     MS/PhD qualifying in Artificial Intelligence
  • CMSC828V: Advanced Topics in Information Processing; Numerical Methods for Data Science and Machine Learning
     MS/PhD qualifying in Scientific Computing
  • CMSC829C: Advanced Topics in Bioinformatics and Computational Biology; Algorithms and Hardware Accelerators for Bioinformatics
     Not MS/PhD qualifying, but can count as elective
  • CMSC838B: Advanced Topics in Programming Languages; Differentiable Programming
     MS/PhD qualifying in Artificial Intelligence
     MS/PhD qualifying in Software Engineering/Programming Languages/HCI
  • CMSC838L: Advanced Topics in Programming Languages; Programming Languages and Computer Architecture
     MS/PhD qualifying in Computer Systems
     MS/PhD qualifying in Software Engineering/Programming Languages/HCI
  • CMSC839A: Advanced Topics in Human-Computer Interaction; Embodied Media Design
     MS/PhD qualifying in Software Engineering/Programming Languages/HCI
  • CMSC839C: Advanced Topics in Human-Computer Interaction; Governing Algorithms & Algorithmic Governance
     MS/PhD qualifying in Artificial Intelligence
  • CMSC839E: Advanced Topics in Human-Computer Interaction; Uncertainty Communication for Decision-Making
     MS/PhD qualifying in Software Engineering/Programming Languages/HCI
  • CMSC848B: Selected Topics in Information Processing; Computational Imaging
     MS/PhD qualifying in Visual and Geometric Computing
  • CMSC848I: Selected Topics in Information Processing; AI Agents and Sequential Decision Making
     Not MS/PhD qualifying, but can count as elective
  • CMSC848K: Selected Topics in Information Processing; Multimodal Foundation Models
     MS/PhD qualifying in Artificial Intelligence
  • CMSC848N: Selected Topics in Information Processing; Generative AI Agents
     MS/PhD qualifying in Artificial Intelligence
  • CMSC848P: Selected Topics in Information Processing; Theory of Robust Machine Learning
     MS/PhD qualifying in Artificial Intelligence
     MS/PhD qualifying in Algorithms and Computation Theory
  • CMSC848R: Selected Topics in Information Processing; Language Model Interpretability
     Not MS/PhD qualifying, but can count as elective
  • CMSC848W: Selected Topics in Information Processing; Foundations of Interpretable Artificial Intelligence
     Not MS/PhD qualifying, but can count as elective
  • CMSC858J: Advanced Topics in Theory of Computing
     MS/PhD qualifying in Algorithms and Computation Theory

Spring 2025

  • CMSC818G: Advanced Topics in Computer Systems; Information-Centric Design of Systems
     MS/PhD qualifying in Computer Systems
  • CMSC818Q: Advanced Topics in Computer Systems; Cloud Networking and Computing
     Not MS/PhD qualifying, but can count as elective
  • CMSC828C: Statistical Pattern Recognition
     MS/PhD qualifying in Artificial Intelligence
  • CMSC828F: Advanced Topics in Information Processing; Computational Psycholinguistics
     Not MS/PhD qualifying, but can count as elective
  • CMSC828G: Systems for Machine Learning
     MS/PhD qualifying in Artificial Intelligence
     MS/PhD qualifying in Computer Systems
  • CMSC838E: Advanced Topics in Programming Languages; Compiler Construction
     MS/PhD qualifying in Software Engineering/Programming Languages/HCI
  • CMSC838M: Physically-based Modeling, Simulation & Animation
     MS/PhD qualifying in Scientific Computing
     MS/PhD qualifying in Visual and Geometric Computing
  • CMSC848G: Selected Topics in Information Processing; Selected Topics in Machine Learning
     MS/PhD qualifying in Bioinformatics
  • CMSC848M: Selected Topics in Information Processing; Multimodal Computer Vision
     MS/PhD qualifying in Visual and Geometric Computing
  • CMSC848O: Selected Topics in Information Processing; Long-Context Language Models
     MS/PhD qualifying in Artificial Intelligence
  • CMSC858Q: Advanced Topics in Theory of Computing; Quantum Algorithms
     MS/PhD qualifying in Algorithms and Computation Theory

Fall 2024

  • CMSC673: Capstone in Machine Learning
     Not MS/PhD qualifying, but can count as elective
  • CMSC818B: Advanced Topics in Computer Systems; Decision-Making for Robotics
     MS/PhD qualifying in Artificial Intelligence
  • CMSC818I: Advanced Topics in Computer Systems; Large Language Models, Security, and Privacy
     MS/PhD qualifying in Artificial Intelligence
     MS/PhD qualifying in Computer Systems
  • CMSC818J: Advanced Topics in Computer Systems; Domain Specific Architecture
     MS/PhD qualifying in Computer Systems
  • CMSC818L: Advanced Topics in Computer Systems; Fantastic Zero-Knowledge Proofs and How to Use Them
     MS/PhD qualifying in Computer Systems
  • CMSC828A: *
     MS/PhD qualifying in Artificial Intelligence
  • CMSC828J: Advanced Topics in Information Processing; Common-sense Reasoning and Natural Language Understanding
     MS/PhD qualifying in Artificial Intelligence
  • CMSC828N: Advanced Topics in Information Processing; Computational Audition
     Not MS/PhD qualifying, but can count as elective
  • CMSC828P: Advanced Topics in Information Processing; AI/ML at Scale
     Not MS/PhD qualifying, but can count as elective
  • CMSC838N: Advanced Topics in Programming Languages; Programming Languages and Computer Architecture
     MS/PhD qualifying in Computer Systems
     MS/PhD qualifying in Software Engineering/Programming Languages/HCI
  • CMSC839A: Advanced Topics in Human-Computer Interaction; Embodied Media Design
     MS/PhD qualifying in Software Engineering/Programming Languages/HCI
  • CMSC839C: Advanced Topics in Human-Computer Interaction; Governing Algorithms & Algorithmic Governance
     MS/PhD qualifying in Artificial Intelligence
  • CMSC839E: Advanced Topics in Human-Computer Interaction; Uncertainty Communication for Decision-Making
     MS/PhD qualifying in Software Engineering/Programming Languages/HCI
  • CMSC848B: Selected Topics in Information Processing; Computational Imaging
     MS/PhD qualifying in Visual and Geometric Computing
  • CMSC848K: Selected Topics in Information Processing; Multimodal Foundation Models
     Not MS/PhD qualifying, but can count as elective
  • CMSC848Q: *
     MS/PhD qualifying in Artificial Intelligence
  • CMSC858A: Advanced Topics in Theory of Computing; Concentration Inequalities for Randomized Algorithms and Machine Learning
     MS/PhD qualifying in Artificial Intelligence
     MS/PhD qualifying in Algorithms and Computation Theory
  • ENEE759Z: Advanced Topics in Computer Engineering; Federated Learning
     MS/PhD qualifying in Artificial Intelligence

Spring 2024

  • CMSC818G: Information-Centric Design of Systems
     MS/PhD qualifying in Computer Systems
  • CMSC818R: Software Security via Program Analysis
     Not MS/PhD qualifying, but can count as elective
  • CMSC828A: Fantastic Machine Learning Paradigms and Where to use Them
     MS/PhD qualifying in Artificial Intelligence
  • CMSC828J: Common-sense Reasoning and Natural Language Understanding
     MS/PhD qualifying in Artificial Intelligence
  • CMSC838C: Advances in XR
     MS/PhD qualifying in Software Engineering/Programming Languages/HCI
     MS/PhD qualifying in Visual and Geometric Computing
  • CMSC838L: Programming Languages and Computer Architecture
     MS/PhD qualifying in Computer Systems
     MS/PhD qualifying in Software Engineering/Programming Languages/HCI
  • CMSC839A: Embodied Media Design
     MS/PhD qualifying in Software Engineering/Programming Languages/HCI
  • CMSC848B: Computational Imaging
     MS/PhD qualifying in Visual and Geometric Computing
  • CMSC848G: SELECTED TOPICS IN ML
     MS/PhD qualifying in Bioinformatics
  • CMSC848J: Cognitive Robotics
     Not MS/PhD qualifying, but can count as elective
  • CMSC858G: Quantum Error Correction and Fault-Tolerance
     MS/PhD qualifying in Algorithms and Computation Theory
  • CMSC858N: Scalable Parallel Algorithms and Data Structures
     Not MS/PhD qualifying, but can count as elective
  • CMSC858O: The Foundation of End-to-End Quantum Applications
     MS/PhD qualifying in Algorithms and Computation Theory

Fall 2023

  • CMSC818B: Decision-Making for Robotics
     MS/PhD qualifying in Artificial Intelligence
  • CMSC818E: Distributed And Cloud-Based Storage Systems
     MS/PhD qualifying in Computer Systems
  • CMSC818F: Cryptography and Hostile Governments
     MS/PhD qualifying in Computer Systems
  • CMSC818I: Large Language Models, Security, and Privacy
     MS/PhD qualifying in Artificial Intelligence
     MS/PhD qualifying in Computer Systems
  • CMSC818J: Domain Specific Architectures
     MS/PhD qualifying in Computer Systems
  • CMSC818Q: Cloud Networking and Computing
     Not MS/PhD qualifying, but can count as elective
  • CMSC828C: Statistical Pattern Recognition
     MS/PhD qualifying in Artificial Intelligence
  • CMSC828I: Visual Learning & Recognition
     MS/PhD qualifying in Artificial Intelligence
     MS/PhD qualifying in Visual and Geometric Computing
  • CMSC829A: Algorithmic Evolutionary Biology
     MS/PhD qualifying in Bioinformatics
  • CMSC838B: Differentiable Programming
     MS/PhD qualifying in Artificial Intelligence
     MS/PhD qualifying in Software Engineering/Programming Languages/HCI
  • CMSC839A: Embodied Media Design
     MS/PhD qualifying in Software Engineering/Programming Languages/HCI
  • CMSC848F: 3D Vision
     Not MS/PhD qualifying, but can count as elective
  • CMSC848I: Trustworthy Machine Learning
     Not MS/PhD qualifying, but can count as elective
  • CMSC848Q: How and Why Artificial Intelligence Answers Questions
     MS/PhD qualifying in Artificial Intelligence
  • CMSC858J: Network design Foundations
     MS/PhD qualifying in Algorithms and Computation Theory
  • CMSC858V: Quantum Control, Metrology, and Error Mitigation for Quantum Algorithm Deployment
     MS/PhD qualifying in Algorithms and Computation Theory
  • CMSC878B: Fast Multipole Methods: Fundamentals and Applications
     MS/PhD qualifying in Scientific Computing

Spring 2023

  • CMSC818J: Domain Specific Architectures
     MS/PhD qualifying in Computer Systems
  • CMSC818L: Fantastic Zero-Knowledge Proofs and How to Use Them
     MS/PhD qualifying in Computer Systems
  • CMSC828A: Fantastic Machine Learning Paradigms and Where to use Them
     MS/PhD qualifying in Artificial Intelligence
  • CMSC828O: Computational and Mathematical Analysis of Networks Across Scales
     Not MS/PhD qualifying, but can count as elective
  • CMSC828T: Sorting in Space and Words and Foundations of Multidimensional and Metric Data Structures
     MS/PhD qualifying in Database Systems
     MS/PhD qualifying in Visual and Geometric Computing
  • CMSC838C: Advances in XR
     MS/PhD qualifying in Software Engineering/Programming Languages/HCI
     MS/PhD qualifying in Visual and Geometric Computing
  • CMSC838D: Embodied Media Design
     MS/PhD qualifying in Software Engineering/Programming Languages/HCI
  • CMSC838E: Compiler Construction
     MS/PhD qualifying in Software Engineering/Programming Languages/HCI
  • CMSC848D: Explainable Natural Language Processing
     MS/PhD qualifying in Artificial Intelligence
  • CMSC848E: Machine Learning for Data Management Systems
     MS/PhD qualifying in Database Systems
  • CMSC858C: Randomized Algorithms
     MS/PhD qualifying in Algorithms and Computation Theory
  • CMSC858L: Quantum Complexity
     MS/PhD qualifying in Algorithms and Computation Theory
  • CMSC858N: Scalable Parallel Algorithms and Data Structures
     MS/PhD qualifying in Algorithms and Computation Theory
  • CMSC858Z: Modern Discrete Probability
     Not MS/PhD qualifying, but can count as elective

Fall 2022

  • CMSC818X: Introduction to Parallel Computing
     MS/PhD qualifying in Computer Systems
  • CMSC828C: Statistical Pattern Recognition
     MS/PhD qualifying in Artificial Intelligence
  • CMSC828J: Common-sense Reasoning and Natural Language Understanding
     Not MS/PhD qualifying, but can count as elective
  • CMSC828V: Numerical Methods for Data Science and Machine Learning
     MS/PhD qualifying in Scientific Computing
  • CMSC828W: Foundations of Deep Learning
     MS/PhD qualifying in Artificial Intelligence
  • CMSC829A: Algorithmic Evolutionary Biology
     MS/PhD qualifying in Bioinformatics
  • CMSC838X: Personal Health Informatics & Visualization
     MS/PhD qualifying in Software Engineering/Programming Languages/HCI
  • INST808: Seminar in Research Methods and Data Analysis
     Not MS/PhD qualifying, but can count as elective

798/799 Section Numbers

MS students should register for section numbers designated as "PJ" under their advisor for the following courses. Full list can be viewed here.

  • CMSC798: Non-thesis research
  • CMSC799: Thesis research

898/899 Section Numbers

Sections for the following independent research courses (CMSC898, 899) are by faculty member.  Full list can be viewed here.

  • CMSC898 - Pre-Candidacy Research
  • CMSC899 - Doctoral Dissertation Research

It is assumed students have already received faculty approval for registering for their section. For CM899, PhD students who have advanced to candidacy will automatically be registered each Fall and Spring by the registrar if the student has advanced by end of schedule adjustment for that semester. PhD students graduating in summer would need to register for 1 credit of CMSC899 to meet the requirement of being registered the semester of graduation.

Off-campus Internship/Individual Study (I1** or I2**): Students who are off-campus or on internship can register for "I" sections in summer (replacing the first zero in the course number with the letter "I"). These sections are intended for when the student is NOT required to come to campus. All coursework is off-site or there are no on-campus meetings with the advisor. Students will be charged the off-campus mandatory student services fee if they are enrolled in this type of section.

Winter Registration: In rare cases where a student needs to register for the Winter semester, they may do so under the DGS's section number: 0107 (On-campus) or I107 (Off-campus).