9-Course MS Program

The 9-course Masters in Computer Science program provides a balance between foundations in CS and skills necessary for technology careers.

Students will complete five courses in the following core areas:

  • Foundations of Computer Science
  • Programming
  • Databases
  • Computer Systems, Networks and Architectures

Students must take at least one course in each of these areas, except in Computer Systems, Networks and Architectures, where at least two courses are required (i.e., the number of core courses is five).

Courses that satisfy each core area:

Foundations of Computer Science:

  • MPCS 55001 Algorithms
  • MPCS 55005 Advanced Algorithms


  • MPCS 51036 Java Programming
  • MPCS 51040 C Programming
  • MPCS 51044 C++ for Advanced Programmers (with Director's consent only)


  • MPCS 53001 Databases
  • MPCS 53003 Advanced Databases
  • MPCS 53017 Data Warehousing

Computer Systems, Networks and Architecture:

  • MPCS 51011 Introduction to Computer Systems
  • MPCS 52030 Operating Systems
  • MPCS 52010 Computer Architecture
  • MPCS 54001 Networks
  • Compilers
  • Distributed Systems

In addition to the core courses, students will take four elective courses.

Current course offerings can be found on our Course Schedule.

A full list of classes offered by the Department of Computer Science is available at CS Course Descriptions.

Our classes are in the 50000-level. With permission, students in the masters program may take any Computer Science class 20000-level and above for credit towards your graduate degree.  

In addition, as electives, students are allowed up to two courses from other areas of the university including Chicago Booth School of Business and other advanced undergraduate or Ph.D. classes in the Physical Sciences Division. (with the Director’s approval).