Degree Requirements for Fall 2023 and Later

The requirements for the Computer Science (CS) Master’s degree changed starting in Fall 2023. All CS Masters students entering the CS Master’s program in Fall 2023 or later must meet the following requirements to graduate. 

Students who started the CS Masters program in Spring 2023 or earlier do not need to follow these requirements. They can either satisfy the requirements in place when they began the Masters’s program or elect to switch to the new requirements. At least 6 units of the electives must be computer science 600-level courses.

In addition to meeting the basic requirements for the master’s degree as described in Requirements for Master’s Degrees, students must meet the following departmental requirements:

  1. Complete a minimum of 31 units of 500-, 600-, and 700-level courses selected with the adviser’s approval. One to three units of Computer Science 798 may be added to the 31 minimum units required for an internship or practical training. All programs must include at least 24 units chosen from computer science and mathematics.
  2. Students must select Plan A (Thesis) or Plan B (Comprehensive Examinations) as described below. (Selecting Plan A is contingent upon having a minimum 3.3  GPA in courses applicable to the master’s degree and 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.)

Advancement to Candidacy

All students must satisfy the general requirements for advancement to candidacy as described in Requirements for Master’s Degrees. Students must select Plan A (Thesis) or Plan B (Comprehensive Examinations) as described below. 

Required Courses (16 units)

For students who have taken one or more required 500-level courses (514, 549, 576, and 577) as an undergraduate at SDSU, please consult with your graduate advisors to determine replacement courses to take.

Courses Required for Both Plan A and Plan B

  • CS 514 – Database Theory and Implementation Units: 3
  • CS 549 – Machine Learning Units: 3
  • CS 576 – Computer Networks and Distributed Systems Units: 3
  • CS 577 – Principles and Techniques of Data Science Units: 3
  • CS 601 – Graduate Seminar Units: 1
  • CS 660 – Algorithm Analysis and Design Units: 3

For students who have taken one or more required 500-level courses (514, 549, 576, and 577) as an undergraduate at SDSU, please consult with your graduate advisors to determine replacement courses to take.

Plan A (Thesis)
Elective Courses

Students must complete 9 units of computer science elective courses from the groups CSY, ISY, and DSC listed below, of which at least 6 units must be computer science 600-level courses. Three units of 600-level mathematics and statistical courses from the group MST listed below may replace one 600-level computer science course. No more than 3 units of CS 696 and CS 798 can be counted towards the 9 units of elective courses.

Thesis and Research (6 units)

Plan A students must take three units of CS797-Research and three units of CS799A-Thesis. The thesis requires report writing and defense.

  • CS 797 – Research Units: 3
  • CS 799A – Thesis or Project Units: 3
  • CS 799B – Thesis or Project Extension Units: 0 (if needed)

Plan B (Comprehensive Examinations)
Elective Course

Fifteen units from groups CSY, ISY, and DSC listed below, with at least 12 units of which must be computer science 600-level courses. Three units of 600-level mathematics courses from group MST listed below may replace three units of 600-level computer science courses. No more than three units from the group STC will be counted towards the 12 units.

Comprehensive Examinations

Plan B students must pass a 3-hour comprehensive exam after completing at least 19 units (16 required units plus three elective units). 

A list of topics for the comprehensive exam will be posted on the department website (Exam courses: CS 514, CS 549, CS 576, CS 577, and CS 660). 

The exam will be offered twice a year before classes start in the Fall and Spring semesters.

A sample exam will be available to all students; however, individual M.S. exams will not be published.  

If a student fails the comprehensive exam twice, they will be disqualified. This is to encourage students to take the exam with preparation. A student can appeal to be given one more chance to take the exam, i.e., for the third time, due to exceptional circumstances. Exceptional circumstances will be defined and determined by the M.S. Exam Committee.

Plan B International Students

Full-time international students on Plan B who have completed all their required coursework must show progress in at least two areas of study each semester (until they have completed all but one). This can be done by either taking qualifying examinations or additional coursework, which must be preapproved by the graduate adviser.

Areas of Study

Students can take their elective courses from one or more areas listed below. The grouping of courses under the three areas is intended for students who want to specialize in one area.  

(CSY) Computer Systems Courses

  • CS 562 – Automata Theory Units: 3
  • CS 572 – Microprocessor Architecture Units: 3
  • CS 574 – Computer Security Units: 3
  • CS 578 – Wireless Networks Units: 3
  • CS 620 – Formal Languages and Syntactic Analysis I Units: 3
  • CS 635 – Advanced Object-Oriented Design and Programming Units: 3
  • CS 636 – Management of Software Development Units: 3
  • CS 664 – Theory of Computability Units: 3

(ISY) Intelligent Systems Courses

  • CS 553 – Neural Networks Units: 3
  • CS 556 – Robotics Units: 3
  • CS 559 – Computer Vision Units: 3
  • CS 561 – Deep Learning for Natural Language Processing Units: 3
  • CS 583 – 3D Game Programming Units: 3
  • CS 653 – Data Mining Units: 3
  • CS 656 – Advanced Robotics Units: 3
  • CS 657 – Intelligent Systems Units: 3
  • CS 659 – Visual Perception and Learning Units: 3

(DSC) Data Science Courses

  • CS 537 – Programming for GIS Units: 3
  • CS 558 – Computer Simulation Units: 3
  • CS 581 – Computational Linguistics Units: 3
  • CS 582 – Introduction to Speech Processing Units: 3
  • CS 605 – Scientific Computing Units: 3
  • CS 615 – Spatial Database Units: 3
  • CS 662 – Theory of Parallel Algorithms Units: 3
  • CS 682 – Speech Processing Units: 3

(STC) Special Topics Courses

  • CS 696 – Selected Topics in Computer Science Units: 3
  • CS 797 – Research Units: 1-3
  • CS 798 – Special Study Units: 1-3

(MST) Mathematics and Statistics Courses

  • MATH 625 – Algebraic Coding Theory Units: 3
  • MATH 626 – Cryptography Units: 3
  • MATH 667 – Mathematical Aspects of Systems Theory Units: 3
  • MATH 668 – Applied Fourier Analysis Units: 3
  • MATH 693A – Advanced Numerical Methods: Computational Optimization Units: 3
  • STAT 610 – Linear Regression Moels Units: 3
  • STAT 676 – Bayesian Statistics Units: 3

Limitation on 596/696 Courses

SDSU limits graduate students to taking four 596/696 courses. Departments are allowed to have a stricter limit. For students starting Fall 2023 or later, the limit is one. However, once a 596/696 course becomes a regular course, the department does not count the 596/696 version towards the limit. For example, 696 Adv Multimedia Networks was offered in the Fall 2023. It has been approved as 679 Adv Multimedia Networks, which will be offered in Fall 2024. So 696 Adv Multimedia Networks will not count towards the departmental limit of one 596/696. A number of Computer Science 596/696 courses will be regular courses; hence, they will not count towards the department limit. They are listed below. They will still be counted towards the SDSU limit of four courses.

Cryptography & Blockchain
Real-time systems

Algorithms for Big Data
Advanced Multimedia
Reinforcement Learn