Program Information

photo: King Library - looking from outside through glass walls at people inside on second floor

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

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
CS 296..............Title varies by topic

Unless the course green sheet states otherwise, a CS286/296 course offereing is deemed to be in the Specialty area.

Elective Courses

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.