Skip to Main Content

CS-MS - Computer Science (MS)

Download as PDF

Computer ScienceComputer ScienceMS - Master of Science

Program Overview

In general, the M.S. degree in Computer Science is intended as a terminal professional degree and does not lead to the Ph.D. degree. Most students planning to obtain the Ph.D. degree should apply directly for admission to the Ph.D. program. Some students, however, may wish to complete the master’s program before deciding whether to pursue the Ph.D. To give such students a greater 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 M.S. 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 web site; see also the department's deadlines page. Exceptions are made for applicants who are already students at Stanford and are applying to the coterminal program.

Director of Graduate Studies

Cynthia Lee
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 10 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 actually complete more than 45 units of course work 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 course work or experience equivalent to all of Requirement 1 and some prior course work related to their specialization area.

Fulfill ALL of the following requirements:

Students must complete the following courses, or waive out of them by providing evidence to their advisers 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):

AND
Complete ALL of the following Courses:
AND
Complete at least 1 of the following Courses:
AND
Complete ALL of the following Courses:
AND
Complete ALL 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 100 or above, related to the degree program and approved by the adviser and MS program administrator. Up to one elective may be of a non-technical nature as long as it is related to the degree program and has advisor approval. All CS courses numbered above 111 with the exception of coursecoursecoursecourse, and course, taken for 3 or more units are pre-approved as elective courses. Additionally, up to a maximum of 3 units of 1-2 unit seminars offered in the School of Engineering may be counted as electives. Elective courses that also 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, with each course chosen from a different Breadth area A, B, C or D. Breadth courses may not be waived, must be taken for at least 3 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:
OR
Complete at least 1 of the following Courses:
OR
Complete at least 1 of the following Courses:
OR
Complete at least 1 of the following Courses:
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 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

Master of Science with Distinction in Research

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

  1. Research Experience—The program must include significant research experience at the level of a half-time commitment over the course of 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, 6 units of independent study (course), or a prorated combination of the two (such as a 25 percent research assistantship supplemented by 3 units of independent study). This research must be carried out under the direction of the primary or secondary adviser.

  2. Supervised Writing and Research—In addition to the research experience outlined in the previous requirement, students must enroll in at least 3 units of independent research (course) under the direction of their primary or secondary adviser. These units should be closely related to the research described in the first requirement, but focused more directly on the preparation of 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 that is 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. Both the primary and secondary adviser must approve the research report before the distinction-in-research designation can be conferred.

Joint M.S. and MBA Degree

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

Admission to the joint MSCS/MBA program requires that students apply and be accepted independently to both 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 and its requirements is available on the department's web site

Joint M.S. and Law Degree

Law students interested in pursuing an M.S. 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.

J.D./M.S. 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 both the J.D. degree as specified by the Law School and the M.S. degree as specified in this Bulletin.

The Law School approves courses from the Department of Computer Science that may count toward the J.D. degree, and the Computer Science Department approves courses from the Law School that may count toward the M.S. 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 of 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 M.S. in Computer Science is the greater of: (i) 12 units; or (ii) the maximum number of units from courses outside of the department that M.S. candidates in Computer Science are permitted to count toward the M.S. in the case of a particular student's individual program. Tuition and financial aid arrangements are normally through the school in which the student is then enrolled.

Teaching and Research Assistantships in Computer Science

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 taken 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 6 units of independent study (course) may be counted toward the subplan.

  • Sections A + B are required. If sections A + B equal 21 units or more, then section C is not required.

Complete ALL of the following Courses:

CS 221 may be waived by students with equivalent course work and with the approval of their adviser.

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:

CS 377 (including CS 377 with any suffix) requires consent of the faculty adviser.

CS 379 (including CS 379 with any suffix) requires consent of the faculty adviser.

CS 399 requires consent of the faculty adviser.

Completion requirement

All courses taken 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 6 units of independent study (course) may be counted toward the subplan.

  • Sections A + B + C + D are required. If sections A-D equal 21 units or more, then section E is not required.

Complete ALL of the following Courses:

CS 273A (last offered in Winter of AY 20-21) can also be used to complete this requirement.

Complete ALL of the following Courses:

Students with equivalent course work may waive with approval of their adviser.

Complete at least 2 of the following Courses:
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:

CS 248A - Previously offered as CS 248

BIOMEDIN 248 - Previously offered as BIOMEDIN 248B

Completion requirement

All courses taken 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 6 units of independent study (course) may be counted toward the subplan.

  • Sections A + B are required. If sections A + B equal 21 units or more, then section C is not required.

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

  • CS 212

  • CS 112

  • CS 140E

  • CS144

Complete ALL of the following Courses:

CS 212 - Previously offered as CS 140

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:

CS 294S and CS 399 can be used with consent of faculty adviser.

Completion requirement

All courses taken 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 6 units of independent study (course) may be counted toward the subplan.

  • Sections A + B + C are required. If sections A-C equal 21 units or more, then section D is not required.

Complete ALL of the following Courses:

CS 147 may only be waived if an equivalent course has previously been completed for academic credit at another institution.

Complete at least 1 of the following Courses:

Section B: If one of these courses was taken for another Stanford degree, a different one must be taken for the MS; if more than one of these courses were taken for another Stanford degree, this requirement can be waived.

At least 2 additional courses from Category B or the following:

Complete at least 2 of the following Courses:

course can be taken with any suffix, as long as the course is offered for 3 or more units.

 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 taken 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 6 units of independent study (course) may be counted toward the subplan.

  • Sections A + B are required. If sections A + B equal 21 units or more, then section C is not required.

Complete ALL of the following Courses:

Students with equivalent course work may waive CS 145 with approval of their adviser.

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:

CS 399 can be used with consent of faculty advisor.

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 taken 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 6 units of independent study (course) may be counted toward the subplan.

  • Sections A + B are required. If sections A + B equal 21 units or more, then section C is not required.

Complete at least 3 of the following Courses:
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:

CS 294A and CS 399 can be used with consent of faculty advisor.

Completion requirement

All courses taken 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 6 units of independent study (course) may be counted toward the subplan.

  • Sections A + B + C are required. If sections A-C equal 21 units or more, then section D is not required.

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:

CS 394S and CS 399 can be used with consent of faculty advisor.

Completion requirement

All courses taken 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 6 units of independent study (course) may be counted toward the subplan.

  • Sections A + B are required. If sections A + B equal 21 units or more, then section C is not required.

CS 112, CS 140, CS 140E, CS 212, and CS 144 may be waived for students with equivalent coursework.

Complete ALL of the following Courses:
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:

CS 399 can be used with consent of faculty advisor.

Completion requirement

All courses taken 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 6 units of independent study (course) may be counted toward the subplan.

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

Complete ALL of the following Courses:

CS 154 may be waived by students with equivalent course work with approval of their advisor.

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

Complete ANY of the following Courses:

CS 359. CS 369, CS 399, and CS 468 can be used with consent of faculty advisor.

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