M.S. Computer Science

Computer Science Graduate Program 

 prog

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 or CS100W (3 units). See below for information on these courses.

Course Requirements

  1. Six Graduate Option courses from at least three Subject Areas  (18 units)
  2. Two Elective courses (6 units)
  3. Culminating Experience: CS 297 followed by CS 298 or CS 299 (6 units)

Graduate Option Courses by Subject Area

Elective Courses

Foundations

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

Architecture

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 240 : Advanced Software Project 
CS 251A : Object-Oriented Analysis 
CS 251B : Object-Oriented Design

Specialty

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 offereing 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 130 : Windows Programming 
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 158A : Computer Networks
CS 158B : Computer Network Management
CS 159 : Intro to Parallel Processing
CS 161 : Software Project
CS 166 : Information Security (formerly CS 165)
CS 174 : Server-Side Web Programming
CS 180 or 280 : Independent Study (max. 4 units,requires prior approval)
CS 180I : Internship (max. 3 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 171 : Foundations of Math & Computer Science
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/CS100W (Technical Writing) is a corequisite for CS 297. In order to enroll in CS100W, you must have passed the Writing Skills Test (WST). CS200W does not require the WST.