Masters Breadth Requirements

The following are the core graduate courses that carry breadth-requirement credit for all CS Masters students (in both the MS and BA/MS programs). (Click here for Ph.D. breadth requirements.)

A Masters student is required to take at least five breadth courses, with at least one from each Area. To satisfy the breadth requirement, the number of courses with a grade of B- must not exceed those with grade B+ or higher. A grade of B- or better must be earned for any graduate course.

Theory Area

  • CS 530: Algorithms
  • CS 535: Complexity Theory
  • CS 537: Probability in Computing

Software Area

  • CS 511: Object-Oriented Software Principles
  • CS 512: Formal Methods
  • CS 520: Programming Languages
  • CS 525: Compilers

Systems Area

  • CS 550: Computer Architecture
  • CS 552: Introduction to Operating Systems
  • CS 553: Advanced Operating Systems
  • CS 655: Introduction to Computer Networks
  • CS 556: Advanced Computer Networks
  • CS 651: Distributed Systems
  • CS 670: Performance Analysis of Computer Systems

Applications Area

  • CS 538: Introduction to Cryptography
  • CS 542: Machine Learning
  • CS 548: Advanced Cryptography
  • CS 558: Network Security
  • CS 559: Algorithmic Aspects of Computer Networks
  • CS 660: Introduction to Databases
  • CS 562: Advanced Databases
  • CS 565: Data Mining
  • CS 680: Introduction to Computer Graphics
  • CS 580: Advanced Computer Graphics
  • CS 585: Image & Video Computing
  • CS 640: Artificial Intelligence