Program Details

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.

The program requires two years (four semesters) of full-time study, and follows a cohort model during the first year in which all students take the same set of core courses. During the second year, students may choose from a rotating selection of graduate electives based on their interests and goals. Students develop several large software projects throughout their degree, including a substantial capstone project during their second year.

Core Courses

The program begins by providing students a broad, advanced background in software development and other core disciplines during the first year. Core courses include:

  • Principles of Software Development
  • Algorithms
  • Systems Foundations
  • Programming Languages

The program follows a cohort model during the first year. As a result, all students will take these core courses at the same time.

Master’s Project

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.

Graduate Electives

Students must take 16 units of 600-level graduate CS electives during their second year. A maximum of four units may come from special electives, such as CS 694, CS 695, and CS 698. 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. 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. View all our courses.

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.

Facilities and Resources

The department has access to several computing clusters for use in classes or research projects. In addition to the classroom and lab space provided by the university, the department has two dedicated high-tech multi-tier interactive classrooms equipped with individual workstations. The department also has dedicated collaboration space with several breakout pods equipped with high-resolution plasma screens. Graduate students also have access to dedicated computer labs with workstations and research space.

My Computer Science degree from USF enables me to solve real-world problems in the industry. Both the theory and hands-on experience at USF were invaluable in understanding daily challenges in my job and bringing new ideas to the field.

Jean, Alumni 2006, Senior Software Engineer at Oracle