Master of Science in Computer Science

The MSCS degree provides a broad background in software development and other core disciplines of computer science. Graduates of the program are well prepared both for positions in industry, or to continue their studies at a PhD program.

Learning Outcomes

  • understanding of advanced topics in computer science including software engineering, algorithms, artificial intelligence, programming languages, parallel computing, networking, and low-level systems
  • ability to design, implement, and debug large-scale software application
  • ability to evaluate and understand advanced research from computer science literature
  • effective communication and team participation skills with respect to software development


36 units

Year 1

The program follows a cohort model during the first year, all students take the following core courses at the same time:

  • CS 601 Principles of Software Development (4)
  • CS 673 Algorithms (4)
  • CS 631 Systems Foundations (4)
  • CS 652 Programming Languages (4)

Year 2

Students choose from a rotating selection of graduate electives based on their interests and goals. Students develop several large software projects throughout the degree, including a substantial capstone project during their second year.

Project Course

All students must take CS 690 Master's Project (4 units). In this course, students work with an industry or faculty sponsor to complete a substantial capstone project from start to finish. This involves completing the specification, design, development, and testing of a significant software system.

Graduate Electives

Students must take 16 units of 600-level graduate CS electives during their second year. A maximum of 4 units may come from special electives, such as CS 694, CS 695, and CS 698.

Special Topics

We offer several special topic courses on the latest topics and technologies in Computer Science. Some recent special topics courses include Data Mining, Computer Graphics, Data Visualization, and Game Engineering.

Some special elective courses include:

Practicum Option

Students may opt to replace an elective with practical work experience at tech companies and startups in the San Francisco Bay Area and Silicon Valley. This option is open to most international students. Visit Practicum for details.

Directed Research

Students may opt to replace an elective with a directed research course, allowing them to work closely with a professor on a research project. This option is ideal for students who wish to continue on to a PhD program.

Contact Info

MS Computer Science

Gian Bruno, Program Manager

Harney Science Center 227
2130 Fulton Street, San Francisco, CA 94117-1080
(415) 422-5247