The 36-unit program takes most part-time students two and a half to three years to complete. The program provides students with a solid foundation in development, algorithms, and distributed computing. Students can then create their own specialization through electives, directed research with faculty, and industry experience through the practicum. For additional information about program timetables, contact Gian Bruno.
What to Expect
Below is a sample course progression. The courses and requirements may change from year to year. Please refer to the program's Degree Requirements and Program Learning Outcomes for the latest requirements.
- Principles of Software Development
Systems Course (choose one)
- Systems Foundations
- Network Programming
Development Course (choose one)
- Big Data
- Data Processing in the Cloud
- Distributed Software Development
- Machine Learning
Our students are required to complete a capstone project during their second year. Over the course of a semester, students work with an industry or faculty sponsor on the specification, design, development, and testing of a significant software system.
Students must take 16 units of 600-level graduate CS electives during their second year.
Courses may 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. Learn more about the practicum.
- Special Topics – We offer several special topic courses on the latest themes and technologies in computer science, including data mining, computer graphics, data visualization, and game engineering.
- Directed Research – Students may opt to replace a graduate elective with a directed reading and research course, allowing them to work closely with a professor on a research project. Many students use this option to pursue additional research and publication opportunities.