Master of Science in Computer Science

Program Description

All students share breadth requirements in the areas of computing foundations, computer systems, and software development. Students focusing on different areas then differ in the choice of courses that provide depth in the chosen area and in the work done for the culminating experience. Students are expected to decide on a focus area prior to enrollment in the second semester. Integrated into the curriculum are significant team and project experiences. There are two options for the mandatory culminating experience, the master’s thesis or the applied research project.

The grading method CR/NC is allowed only for CSC 895 or CSC 898. All other courses listed on the Advancement to Candidacy (ATC) form must be a letter grade.

Elective Requirements

All students are required to include elective credits in their program. Electives include:

  • All upper division or graduate courses offered by the Computer Science Department, including breadth requirement courses and CSC 897 and CSC 899. CSC 893 may not count as an elective course.
  • Courses from other programs such as biology, engineering, business, or mathematics may be accepted with the approval of the graduate advisor and culminating experience supervisor.

Note: A maximum of 6 units of upper division courses (numbered below 700) may be applied to the degree with the consent of the course instructor and graduate advisor.

Graduate Seminar Requirement

In addition to curricular requirements, prior to enrolling in CSC 895/CSC 898, all graduate students are required to attend the Department Graduate Seminar series during one semester of their studies. These weekly seminars explore current topics in computer science research and assist students with choosing a topic for the culminating experience. Details for meeting this requirement may be found in the Graduate Studies Policy section


This 1-3 unit option is chosen by students who wish to enhance their master’s degree by completing an industrial practicum. After finding the job in the local industry, the student will submit a research proposal to the department’s supervisor (normally the department chair) that describes the expected work and learning outcome. The department’s supervisor must approve the proposal before the student begins the research. Once approved, the student will enroll in 1 unit of CSC 893. At the conclusion of the work experience, the student must file a written report outlining the research and work experience. The report is submitted to the department’s supervisor. Students may repeat CSC 893 for a maximum of 3 units. The total number of units for the degree for students who complete the CSC 893 practicum option will be 33 units. It is recommended that this option be pursued only during the summer.

Note: CSC 893 allows international students to obtain permission to work off campus for the duration of the course.

Admission to Program

Admission to the graduate program in computer science is a two-step process that should be completed simultaneously:

  1. Apply to San Francisco State University: Complete the on-line CSU Mentor application. Follow all other requirements for admission to the University by accessing
  2. Apply to the Department of Computer Science graduate program: Full details can be found at

We encourage students with four-year degrees other than Computer Science to apply to our program as conditional applicants. Please check the link in Step 2 above for details.

Financial Assistance

Graduate assistantships are occasionally available for qualified master's students. These opportunities include participating in funded research projects, assisting with management of departmental and university computer laboratories as well as lecturer positions for beginning undergraduate computer science courses. Frequently, there are internship opportunities available for work at local companies. International students should address all questions related to their visa status and eligibility for practical training (off-campus work) to the Office of International Programs.

Written English Proficiency Requirement

Level One

Computer science students admitted to the M.S. program are required to satisfy English Level One prior to the end of their first year of study at SF State. Level One is satisfied by obtaining either a score of 4 or better on the GRE Analytical Writing Exam or a passing grade in SCI 614. SCI 614 is strongly recommended for all students who wish to develop their skills in professional writing.

Level Two

The second level of proficiency in written English must be demonstrated before graduation. At this time, the student must demonstrate writing skills which exemplify scholarly style in computer science. This is demonstrated by the master's thesis or the research project report.

Policy on Enrollment While Conducting Directed Research

Pursuant to Policy F89-165 adopted by the Academic Senate in 1989, the Computer Science Department has adopted the policy that all graduate students who are working with a research advisor (above and beyond general advising during office hours) and/or having his/her thesis or project reviewed, must enroll in at least one unit of CSC 895, CSC 897, CSC 898, or CSC 899. Registered students will have priority for departmental computing resources.

Computer Science (M.S.) — 30 – 33 units

Core Requirements (9 units)

Computing Foundations (3 units)

CSC 810Analysis of Algorithms II (and Oral Project Presentation)3
CSC 825Advanced Automata Theory (and Oral Defense of Thesis)3

Computer Systems (3 units)

Select one of the following:
CSC 720Advanced Operating Systems3
CSC 835Distributed Systems3
CSC 846Systems Architecture3
CSC 746High-Performance Computing3

Software Development (3 units)

CSC 848Software Engineering3
or CSC 868 Advanced Object Oriented Software Design and Development

Program — 21 – 24 units

General Requirement (9 units)

Three 3 unit courses drawn from 700–800 level Computer Science courses. 700–800 courses paired with 600 courses require advisor’s approval. CSC 899 may not count towards this requirement.

Electives (6 units)

Two upper-division/graduate 3 unit electives selected on advisement.

Practicum Option (3 units)

Up to 3 units of CSC 893 (on advisement)

Culminating Experience (6 units)

CSC 897Research3
or CSC 899 Independent Study
CSC 895Applied Research Project3
or CSC 898 Master's Thesis