Courses
Intro Courses:
- The World of Computing (CMSC100)
- Fluency with Information Technology (CMSC101)
- Foundations of Rigorous Thinking (CMSC130)
- Computing Across the Sciences (CMSC187)
- Introduction to Computer Science (CMSC105)
- Introduction to Data Structures (CMSC106)
Core Courses:
- Discrete Mathematics (MATH/CMSC231)
- Human/Computer Interaction (CMSC215)
- Principles of Computer Organization (CMSC240)
- Principles of Programming Languages (CMSC245)
- Analysis of Algorithms (CMSC340)
- Theory of Computation (CMSC345)
- Compiler Design (CMSC350)
- Concurrency and Co-Design in Operating Systems (CMSC356) (formerly Operating Systems (CMSC355))
200-level Electives:
- Computer Graphics (CMSC212)
- Information and Coding Theory (CMSC235)
- Programming Paradigms (CMSC246)
- Computational Models in the Sciences (CMSC250)
300-level Electives:
- Emergence (CMSC361)
- Artificial Intelligence (CMSC372)
- Recent Advances in Computer Science (CMSC380)
- Mobile Development for Social Change (CMSC395)
Other Courses:
- Fluency with Information Technology (CMSC101)
- Introduction to Computer Science (CMSC110)
- A History of Mechanized Thought (CMSC147)
- Linear Algebra (MATH215)
- Introduction to Scientific Computing (MATH222)
- Fundamentals of Databases (CMSC225)
- Numerical Analysis (CMSC320)
- High Performance Scientific Computing (CMSC287
- Advanced Topics in Computer Systems (CMSC393)
- Advanced Topics in Discrete Mathematics and Computer Systems (CMSC394)
- Linear Optimization and Game Theory (MATH210)
