Degree Requirements for Fall 2022 and Earlier

The following are the requirements for students that entered the Computer Science (CS) Master’s program prior to Fall 2023.

Students that entered the CS Masters in Spring 2023 or earlier can elect to switch to the new requirements. However, for such students, it will likely take longer to satisfy the new requirements than to satisfy the requirements below.

Course Requirements

Students must complete a minimum of 30 units of 500-, 600-, and 700-level courses selected with the approval of a graduate adviser. 1 to 3 units of Computer Science 798 may be added to the 30 minimum units required when used for an internship or practical training. All programs must include at least 24 units chosen from computer science and mathematics.

Students must select Plan A (Thesis) or Plan B (Comprehensive Examinations) as described below. Selecting Plan A is contingent upon finding a full-time computer science faculty member to supervise the thesis. The number of students that can be accommodated in Plan A is limited by faculty resources. Students must have at least a 3.5 GPA in order to select Plan A.

Plan A
(Thesis)

A total of 30 units of 500/600/700-level courses as follows:

  1. At least 15 units from Computer Science 600 and 700 level courses excluding Computer Science 797, 798, 799A.
  2. Students select 2 Areas of Study from the list below, and take at least 2 courses from each area.
  3. 3 units of Thesis (799A), and an oral presentation and defense.

With approval of the graduate adviser, students may take Computer Science 798 as preparation for Computer Science 799A (Thesis). Students must have at least a 3.5 GPA in order to select Plan A.

Plan B
(Comprehensive Examinations)

A Total of 30 units of 500/600/700-level courses as follows:

  1. At least 18 units from Computer Science 600 and 700 level courses excluding Computer Science 797, 798, 799A.
  2. At least 1 course from 4 of the following Areas of Study: PFL, OSA, ALC, ISR, and DSW.
  3. Comprehensive examinations in 3 subjects selected from:
    • Data Structures and Algorithms
    • Database Management Systems
    • Intelligent Systems and Robotics
    • Operating Systems and Architecture
    • Programming Languages

Full time international students on Plan B who have completed all their coursework must take at least 2 qualifying examinations per semester.

Substituting course work for up to two exams

Students may substitute an advanced course in the corresponding area for up to 2 of the 3 required exams. Students must still pass at least 1 exam. A course taken in lieu of an exam must be approved in advance by a graduate advisor, and must be completed with a grade of B or higher. Courses taken in lieu of exams must be in addition to the 30 units normally required for the degree, and in addition to the courses used to satisfy the breadth requirement for Plan B. If courses are substituted for 2 exams, at least one of those courses must be at the 600 level, and must be in addition to the 18 units of 600 and 700 level courses normally required for the degree.

Areas of Study

(PFL) Programming and Formal Languages

  • CS 520
  • CS 532
  • CS 533
  • CS 534
  • CS 535
  • CS 537
  • CS 540
  • CS 541
  • CS 542
  • CS 583
  • CS 596 – Advanced 3D Game Programming
  • CS 605
  • CS 620
  • CS 635
  • CS 636

(OSA) Operating Systems and Architecture

  • CS 572
  • CS 574
  • CS 596 (loT)
  • CS 670
  • CS 696 – Advanced Multimedia Networks
  • EE 679

(ALC) Algorithms and Complexity

  • CS 558
  • CS 562
  • CS 566
  • CS 600
  • CS 609
  • CS 660
  • CS 662
  • CS 664
  • CS 696 – PGM Problems Bioinformatics
  • CS 696 – Modern Cryptography and Applications
  • MATH 525
  • MATH 625
  • MATH 626
  • MATH 667
  • MATH 668
  • MATH 693A
  • MATH 693B

(ISR) Intelligent Systems and Robotics

  • CS 549
  • CS 550
  • CS 552
  • CS 553
  • CS 556
  • CS 559
  • CS 577
  • CS 581
  • CS 582
  • CS 596 – Machine Learning
  • CS 652
  • CS 653
  • CS 656
  • CS 657
  • CS 682
  • CS 696 – Applied Computer Vision
  • STAT 551B
  • STAT 702

(DSW) Distributed Systems and Web Technology

  • CS 503
  • CS 514
  • CS 545
  • CS 546
  • CS 547
  • CS 576
  • CS 578
  • CS 596 – Wireless Networks
  • CS 615
  • CS 645
  • CS 646
  • CS 648 – Modern Full-Stack Web Development
  • CS 648 – Serverless and Microservices
  • CS 649
  • CS 666
  • CS 683
  • CS 689
  • CS 696 – Big Data Tools Methods
  • CS 696 – Multi-platform Mobile App Development