Skip to Main Content

CS-MS - Computer Science (MS)

Download as PDF

Computer ScienceComputer ScienceMS - Master of Science

Program Overview

The MS in Computer Science is intended as a terminal professional degree and does not lead to the PhD. Most students planning to obtain a PhD degree should apply directly for admission to the PhD program. Some students, however, may wish to complete the master’s program before deciding whether to pursue a PhD. To give such students a more significant opportunity to become familiar with research, the department has a program leading to a master’s degree with distinction in research. This program is described in more detail below.

Admission

Applications to the MS program and all supporting documents must be submitted and received online by the published deadline. Information on admission requirements is available on the department’s website; see the department’s deadlines page. Exceptions are made for applicants who are already students at Stanford and are applying to the coterminal program.

Minimum Units in the Program

45

Minimum University Units

45
Completion requirement

A candidate is required to complete a program of 45 units. At least 36 of these must be graded units, passed with a grade point average (GPA) of 3.0 (B) or better. (Courses taken for a CR or S grade from Spring 2019-20 through Summer 2020-21 satisfy MS-CS requirements as if taken for a letter grade.) The 45 units may include no more than ten units of courses from those listed below in Requirement 1. Thus, students needing to take more than two of the courses listed in Requirement 1 complete more than 45 units of coursework in the program. Only well-prepared students may expect to finish the program in one year; most students complete the program in six quarters. Students hoping to complete the program with 45 units should already have a substantial background in computer science, including coursework or experience equivalent to all of Requirement 1 and some prior coursework related to their specialization area.

Students must complete the following courses or waive them by providing evidence to their advisors that similar or more advanced courses have been taken, either at Stanford or another institution (total units used to satisfy foundations requirement may not exceed 10):

Fulfill ALL of the following requirements:
Complete ALL of the following Courses:
AND
Complete at least 1 of the following Courses:
AND
Complete ALL of the following Courses:
AND
Complete at least 1 of the following Courses:
AND
Complete ALL of the following Courses:
Complete at least 1 of the following Courses:

Students must complete at least one course designated as having a significant software implementation component.

Additional elective units must be technical courses, numbered above 100, related to the degree program and approved by the advisor and MS program administrator. Up to one elective may be non-technical if it is related to the degree program and has advisor approval. All CS courses numbered above 111, except  CS161ACS196CS198CS390ACS390B, and CS390C, taken for three or more units, are pre-approved as elective courses. Additionally, up to a maximum of three units of one to two-unit seminars offered in the School of Engineering may be counted as electives. Elective courses that satisfy a Breadth requirement must be taken for a letter grade. Otherwise, elective courses may be taken on a satisfactory/no credit basis provided that a minimum of 36 graded units is presented within the 45-unit program. (Courses taken for a CR or S grade from Spring 2019-20 through Summer 2020-21 satisfy MS-CS requirements as if taken for a letter grade.)

Completion requirement

Students must complete at least three courses, each chosen from a different Breadth area A, B, C, or D. Breadth courses may not be waived, must be taken for at least three units each, and must be completed for a letter grade. (Courses taken for a CR or S grade from spring 2019-20 through summer 2020-21 satisfy MS-CS requirements as if taken for a letter grade.) Each of the three Breadth courses must be from different Areas:

Complete at least 3 of the following:
Complete at least 1 of the following Courses:

CS331X was previously offered as CS331.

OR
Complete at least 1 of the following Courses:
OR
Complete at least 1 of the following Courses:
  • CS111 should be taken prior to taking CS112.

OR
Complete at least 1 of the following Courses:

The joint MS in Computer Science/MBA degree links two of Stanford University’s world-class programs. This combined degree allows students to develop advanced technical and managerial skills for a broader perspective on existing technologies and new technology ventures.

Admission to the joint MSCS/MBA program requires that students apply and be accepted independently to the Computer Science Department in the School of Engineering and the Graduate School of Business. Students may apply concurrently or elect to begin their course of study in CS and apply to the GSB during their first year.

Additional information on the MS in Computer Science/MBA Joint Degree Program is available on the department’s website

Law students interested in pursuing an MS in Computer Science must apply for admission to the Computer Science Department either (i) concurrently with applying to the Law School; or (ii) after being admitted to the Law School, but no later than the earlier of (a) the end of the second year of Law School or (b) the Computer Science Department’s admission deadline for the year following that second year of Law School.

In addition to being admitted separately to the Law School and the Computer Science Department, students must secure permission from both academic units to pursue degrees in those units as part of a joint degree program.

JD/MS students may elect to begin their course of study in either the Law School or the Computer Science Department. Faculty advisors from each academic unit participate in the planning and supervising of the student’s joint program. Students must be enrolled full-time in the Law School for the first year of law studies. Otherwise, enrollment may be in the graduate school or the Law School, and students may choose courses from either program regardless of where enrolled. Students must satisfy the requirements for the J.D. degree specified by the Law School and the MS degree specified in this Bulletin.

The Law School approves courses from the Department of Computer Science that may count toward the JD degree, and the Computer Science Department approves courses from the Law School that may count toward the MS degree in Computer Science. In either case, approval may consist of a list applicable to all joint-degree students or may be tailored to each individual student program. No more than 45 units of approved courses may be counted toward both degrees. No more than 36 units of courses that originate outside the Law School may count toward the Law degree. To the extent that courses under this joint degree program originate outside the Law School but count toward the Law degree, the Law School credits permitted under Section 17(1) of the Law School Regulations shall be reduced on a unit-per-unit basis but not below zero. The maximum number of Law School credits that may be counted toward the MS in Computer Science is the greater of (i) 12 units; or (ii) the maximum number of units from courses outside of the department that MS candidates in Computer Science are permitted to count toward the MS in the case of a particular student’s individual program. Tuition and financial aid arrangements are usually through the school where the student is enrolled.

Completion requirement

Graduate student assistantships are available. Half-time assistants receive a tuition scholarship for 8, 9, or 10 units per quarter during the academic year and a salary.

Duties for half-time assistants during the academic year involve approximately 20 hours of work per week. Course assistants (CAs) help an instructor teach a course by conducting discussion sections, consulting with students, and grading examinations. Research Assistants (RAs) help faculty and senior staff members with research in computer science. Many MS students are hired to staff teaching and research assistantships. However, MS students should not plan on being appointed to an assistantship.

Students with fellowships may have the opportunity to supplement their stipends by serving as graduate student assistants.

Completion requirement

A student who wishes to pursue an MS in CS with distinction in research must first identify a faculty advisor who agrees to supervise and support the research work. The research advisor must be a member of the Academic Council and must hold an appointment in Computer Science. The student and principal advisor must also identify another faculty member who need not be in the Department of Computer Science to serve as a secondary advisor and reader for the research report. In addition, the student must complete the following requirements beyond those for the regular MS in CS degree:

  1. Research Experience—The program must include significant research experience at the level of a half-time commitment over three academic quarters. In any given quarter, the half-time research commitment may be satisfied by a 50 percent appointment to a departmentally supported research assistantship, six units of independent study (course), or a prorated combination of the two (such as a 25 percent research assistantship supplemented by three units of independent study). This research must be carried out under the direction of the primary or secondary advisor.

  2. Supervised Writing and Research—In addition to the research experience outlined in the previous requirement, students must enroll in at least three units of independent research (course) under the direction of their primary or secondary advisor. These units should be closely related to the research described in the first requirement but focused more on preparing the research report described in the next section. The writing and research units described in parts (1) and (2) may be counted toward the 45 units required for the degree.

  3. All independent study units (course) must be taken for letter grades, and a GPA of 3.0 (B) or better must be maintained.

  4. Research Report—Students must complete a significant report describing their research and its conclusions. The research report represents work publishable in a journal or at a high-quality conference, although it is presumably longer and more expansive in scope than a typical conference paper. A copy of the research report must be submitted to the student services office in the department three weeks before the beginning of the examination period in the student’s final quarter. The primary and secondary advisors must approve the research report before the distinction-in-research designation can be conferred.

Complete ALL of the following Courses:

Graduate student assistantships are available. Half-time assistants receive a tuition scholarship for 8, 9, or 10 units per quarter during the academic year and, in addition, receive a salary.

Duties for half-time assistants during the academic year involve approximately 20 hours of work per week. Course assistants (CAs) help an instructor teach a course by conducting discussion sections, consulting with students, and grading examinations. Research assistants (RAs) help faculty and senior staff members with research in computer science. Many MS students are hired to staff teaching and research assistantships. However, MS students should not plan on being appointed to an assistantship.

Students with fellowships may have the opportunity to supplement their stipends by serving as graduate student assistants.

Completion requirement

All courses for this requirement must be taken on a letter-grade basis and for three or more units.   (Courses taken for a CR or S grade from Spring 2019-20 through Summer 2020-21 satisfy MS-CS requirements as if taken for a letter grade.)

  • A program of 21 units must be completed. When a subplan allows for independent study, a maximum of six units of independent study (course) may be counted toward the subplan.

  • Sections A + B are required. Section C is not required if sections A + B equal 21 units or more.

Complete ALL of the following Courses:

CS 221 may be waived by students with equivalent coursework and their advisor’s approval.

Complete at least 4 of the following Courses:

A total of at least 21 units from categories A, B, and the following:

Complete ANY of the following Courses:
  • CS377 (including CS377 with any suffix) requires the consent of the faculty advisor.

  • CS399 requires the consent of the faculty advisor.

  • CS173A was previously offered as CS273A. Either CS173A or CS273A can be used to complete this requirement.

Completion requirement

All courses for this requirement must be taken on a letter-grade basis and for three or more units.   (Courses taken for a CR or S grade from spring 2019-20 through summer 2020-21 satisfy MS-CS requirements as if taken for a letter grade.)

  • A program of 21 units must be completed. When a subplan allows for independent study, a maximum of six units of independent study (course) may be counted toward the subplan.

  • Sections A + B + C + D are required. Section E is not required if sections A-D equal 21 units or more.

Complete ALL of the following Courses:

CS173A was previously offered as CS273A. Either CS173A or CS273A can be used to complete this requirement.

Complete ALL of the following Courses:

Students with equivalent coursework may waive with the approval of their advisor.

Complete at least 2 of the following Courses:

CS142 can be replaced by CS147L or CS193X.

Complete at least 3 of the following Courses:

 A total of at least 21 units from categories (A, B, C, D) and the following:

Complete ANY of the following Courses:

CS248A - Previously offered as CS248

Completion requirement

All courses for this requirement must be taken on a letter-grade basis and for three or more units.   (Courses taken for a CR or S grade from spring 2019-20 through summer 2020-21 satisfy MS-CS requirements as if taken for a letter grade.)

  • A program of 21 units must be completed. When a subplan allows for independent study, a maximum of six units of independent study (course) may be counted toward the subplan.

  • Sections A + B are required. Section C is not required if sections A + B equal 21 units or more.

Complete ALL of the following Courses:

Students with equivalent course work may waive with approval of their adviser for the following courses:

  • CS 112

  • CS 140E

  • CS144

Complete at least 3 of the following Courses:

A total of at least 21 units from categories A, B, and the following:

Complete ANY of the following Courses:

CS399 can be used with the consent of the faculty advisor.

Completion requirement

All courses for this requirement must be taken on a letter-grade basis and for three or more units.   (Courses taken for a CR or S grade from spring 2019-20 through summer 2020-21 satisfy MS-CS requirements as if taken for a letter grade.)

  • A program of 21 units must be completed. When a subplan allows for independent study, a maximum of six units of independent study (course) may be counted toward the subplan.

  • Sections A + B + C are required. Section D is not required if sections A-C equal 21 units or more.

Complete ALL of the following Courses:

Students who completed any of these courses for a previous degree at Stanford have satisfied this requirement: select the course and change the units in the Course List to 0. Students who took an equivalent course at another institution can submit a waiver request on GIN. CS147 may only be waived if an equivalent course has previously been completed at another institution and approved via the waiver form on GIN.

Complete at least 1 of the following Courses:

Students who completed any of these courses for a previous degree at Stanford have satisfied this requirement: select the course and change the units in the Course List to 0. Students who took an equivalent course at another institution can submit a waiver request on GIN.

Complete ANY of the following Courses:

Students who completed any of these courses for a previous degree at Stanford have satisfied this requirement: select the course and change the units in the Course List to 0. Students who took an equivalent course at another institution can submit a waiver request on GIN.

CS247 any suffix besides the course used for requirement (C)

Complete ANY of the following Courses:

Plus an additional HCI elective from (F) below.

Students who completed these courses for a previous degree at Stanford have satisfied this requirement: select the course and change the units in the Course List to 0. Students who took an equivalent course at another institution can submit a waiver request on GIN.

Complete at least 1 of the following Courses:

If one of these courses was taken for another Stanford degree, a different one must be taken for the MS; if both of these courses were taken for another Stanford degree, this requirement may be waived. Students who took an equivalent course at another institution can submit a waiver request on GIN

Complete at least 2 of the following Courses:

CS 247 here must have different suffix from course used in part (a). Mention suffixes in notes. Students who completed two of these courses for a previous degree at Stanford have satisfied this requirement: select the course and change the units in the Course List to 0. Students who took an equivalent course at another institution can submit a waiver request on GIN.

 A total of at least 21 units from Category A, B, C, and the following:

Complete ANY of the following Courses:
Completion requirement

All courses for this requirement must be taken on a letter-grade basis and for three or more units. (Courses taken for a CR or S grade from spring 2019-20 through summer 2020-21 satisfy MS-CS requirements as if taken for a letter grade.)

  • A program of 21 units must be completed. When a subplan allows for independent study, a maximum of six units of independent study (course) may be counted toward the subplan.

  • Sections A + B are required. Section C is not required if sections A + B equal 21 units or more.

Complete ALL of the following Courses:

Students with equivalent coursework may waive CS 145 with the approval of their advisor.

Complete at least 4 of the following Courses:

A total of at least 21 units from categories A, B, and the following:

Complete ANY of the following Courses:
  • CS399 can be used with consent of faculty advisor.

  • CS173A was previously offered as CS273A. Either CS173A or CS273A can be used to complete this requirement.

  • Note that if CS145 was waived in area (A), students should take an additional course from either area (B) or (C) in its place.

Completion requirement

All courses for this requirement must be taken on a letter-grade basis and for three or more units. (Courses taken for a CR or S grade from spring 2019-20 through summer 2020-21 satisfy MS-CS requirements as if taken for a letter grade.)

  • A program of 21 units must be completed. When a subplan allows for independent study, a maximum of six units of independent study (course) may be counted toward the subplan.

  • Sections A + B + C are required. Section D is not required if sections A-C equal 21 units or more.

Complete ALL of the following Courses:
Complete at least 1 of the following Courses:
Complete at least 1 of the following Courses:

A total of at least 21 units from categories A, B, C, and the following:

Complete ANY of the following Courses:

CS294S and CS399 can be used with consent of faculty advisor.

Completion requirement

All courses for this requirement must be taken on a letter-grade basis and for three or more units. (Courses taken for a CR or S grade from spring 2019-20 through summer 2020-21 satisfy MS-CS requirements as if taken for a letter grade.)

  • A program of 21 units must be completed. When a subplan allows for independent study, a maximum of six units of independent study (course) may be counted toward the subplan.

  • Sections A + B are required. Section C is not required if sections A + B equal 21 units or more.

CS112, CS140E, CS212, and CS144 may be waived for students with equivalent coursework.

Complete ALL of the following Courses:
Complete at least 4 of the following Courses:

CS248A was previously offered as CS248.

A total of at least 21 units from categories A, B, and the following:

Complete ANY of the following Courses:

CS399 can be used with consent of faculty advisor.

Completion requirement

All courses for this requirement must be taken on a letter-grade basis and for three or more units. (Courses taken for a CR or S grade from spring 2019-20 through summer 2020-21 satisfy MS-CS requirements as if taken for a letter grade.)

  • A program of 21 units must be completed. When a subplan allows for independent study, a maximum of six units of independent study (course) may be counted toward the subplan.

  • Section A is required. Complete the remaining 21 units by choosing courses from Section B.

Complete ALL of the following Courses:

CS154 may be waived by students with equivalent course work with the approval of their advisor.

A total of at least 21 units from category A, and the following:

Complete ANY of the following Courses:

CS359, CS369, CS399, and CS468 can be used with the consent of the faculty advisor.

Multiple CS359, CS369, and/or CS468 courses may be taken as long as they are each on different topics, denoted by different letter suffixes for the courses.

CS331X was previously offered as CS331.

Completion requirement

All courses for this requirement must be taken on a letter-grade basis and for three or more units. (Courses taken for a CR or S grade from spring 2019-20 through summer 2020-21 satisfy MS-CS requirements as if taken for a letter grade.)

  • A program of 21 units must be completed. When a subplan allows for independent study, a maximum of six units of independent study (course) may be counted toward the subplan.

  • Sections A + B are required. Section C is not required if sections A + B equal 21 units or more.

Complete at least 2 of the following Courses:

Complete at least 3 additional courses from either categories A or the following:

Complete ANY of the following Courses:

A total of at least 21 units from categories A, B, and the following:

Complete ANY of the following Courses: