Master of Science in Computer Science
All students share breadth requirements in the areas of computing foundations, computer systems, and software development. Particular concentrations then differ in the choice of courses that provide depth in a chosen area and in the work done for the culminating experience. Students are expected to decide on a concentration prior to enrollment in the second semester. Integrated into the curriculum is significant team and project experience. There are two options for the mandatory culminating experience, the master’s thesis or the applied research project.
Students electing the concentration in Computing and Business will complete all of the requirements for a full Computer Science Masters degree. In addition, they would complete a series of business courses (foundation MBA courses). Completion of this concentration would provide skills for graduates to assume management responsibilities in organizations that require managers who understand both the computing and business aspects of information technology.
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 at http://www.cs.sfsu.edu/news/2005_2006-Pernet-Requirments.html.
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 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:
- Apply to San Francisco State University: Complete the on-line CSU Mentor application. Follow all other requirements for admission to the university by accessing www.sfsu.edu/~gradstdy/.
- Apply to the Department of Computer Science graduate program: Full details can be found at http://cs.sfsu.edu/GradApply.html.
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.
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
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.
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 810||Analysis of Algorithms II (and Oral Project Presentation)||3|
|CSC 825||Advanced Automata Theory (and Oral Defense of Thesis)||3|
Computer Systems (3 units)
|Select one of the following:|
|CSC 720||Advanced Operating Systems||3|
|CSC 835||Distributed Systems||3|
|CSC 846||Systems Architecture||3|
|CSC 746||High-Performance Computing||3|
Software Development (3 units)
|CSC 848||Software Engineering||3|
|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)
|or CSC 899||Independent Study|
|CSC 895||Applied Research Project||3|
|or CSC 898||Master's Thesis|