M.S. Computer Science

Computer Science Graduate Program 


Program Information

The MSCS degree requires 30 units as described below. At least 24 of the 30 units must begin after the student has been admitted to the master's degree program. Students also need to fulfill the Graduate Writing Assessment Requirement, typically by taking CS200W (3 units). SJSU requires that all graduate students complete the Graduation Writing Assessment Requirement (GWAR) as a condition for advancement to candidacy. The Computer Science Department policy is that students should complete the GWAR requirement in their first year in the MS program and must complete it two semesters before graduation.

Please, note that per department decision in May 2015, students who started prior to Fall 2015 can have CS190I count as elective (towards their MS in Computer Science). Students who started in the Fall 2015 cannot have CS190I count as elective (towards their MS in Computer Science).

Course Requirements

  1. At least one Graduate Option Course from each of the Subject Areas of Foundations, Architecture, and Systems Software  (9 units)
  2. Three additional Graduate Option Courses from the list below (9 units)
  3. Two Elective or Graduate Option Courses  from the list below (6 units)
  4. Culminating Experience: CS 297 followed by CS 298 or CS 299 (6 units)

Graduate Option Courses by Subject Area

Elective Courses


CS 252 : Advanced Programming Language Principles 
CS 254 : Theory of Computation
CS 255 : Design and Analysis of Algorithms
CS 262 : Randomized Algorithms and Applications
Math 271A/B : Mathematical Logic
Math 279A : Graph Theory


CS 247 : Advanced Computer Architecture 
CS 258 : Computer Communication Systems
CS 259 : Advanced Parallel Processing
CS 268 : Topics in Wireless Mobile Networking

Systems Software

CS 218 : Cloud Computing
CS 249 : Distributed Computing
CS 253 : Advanced Compiler Design
CS 257 : Data Base System Principles
CS 267 : Topics in Database Systems

Software Engineering

CS 235 : User Interface Design 
CS 251A : Object-Oriented Analysis 
CS 251B : Object-Oriented Design


CS 216 : Geometric Modeling 
CS 223 : Bioinformatics 
CS 243A/B : Advanced Numerical Analysis 
CS 256 : Topics in Artificial Intelligence 
CS 265 : Cryptography and Computer Security 
CS 266 : Topics in Information Security 
CS 274 : Topics in XML and Web Intelligence

Subject varies by topic

CS 286 : Advanced Topics In Computer Science
Unless the course green sheet states otherwise, a CS286 course offering is deemed to be in the Specialty area.

CS 116A : Intro to Computer Graphics 
CS 116B : Computer Graphics Algorithms 
CS 122 : Advanced Programming with Perl 
CS 123A : Bioinformatics I 
CS 123B : Bioinformatics II
CS 134 : Computer Game Design and Programming 
CS 143C : Numerical Analysis & Scientific Computing 
CS 143M : Numerical Analysis & Scientific Computing 
CS 153 : Concepts of Compiler Design
CS 155 : Intro to the Design & Analysis of Algorithms
CS 156 : Intro to Artificial Intelligence
CS 157A : Data Base Management Systems I
CS 157B : Data Base Management Systems II
CS 157C : NoSQL Database Systems 
CS 158A
: Computer Networks
CS 158B : Computer Network Management
CS 159 : Intro to Parallel Processing
CS 161 : Software Project
CS 166 : Information Security
CS 174 : Server-Side Web Programming
CS 175 : Mobile Device Development
CS 180 or 280 : Independent Study (max. 4 units,requires prior approval)
Math 142
: Intro to Combinatorics
Math 161A : Applied Statistics I
Math 161B : Applied Statistics II
Math 162 : Probability & Computation
Math 163 : Probability Theory
Math 164 : Mathematical Statistics
Math 177 : Linear & Non-Linear Optimization
Math 178 : Mathematical Modeling
Math 179 : Intro to Graph Theory
Math 203 : Applied Math & Computer Science Projects
Any course in the Graduate Option Courses list not used to satisfy Degree Requirement (1) may be used as an Elective Course.


Culminating Experience Courses

CS 297 : Preparation for Writing Project or Thesis
CS 298 : Master's Writing Project
CS 299 : Master's Thesis
Note that CS200W (Technical Writing) is only a corequisite for CS 297 but should be completed in the first year per department policy.