Bulletin Archive
This archived information is dated to the 2010-11 academic year only and may no longer be current.
For currently applicable policies and information, see the current Stanford Bulletin.
This archived information is dated to the 2010-11 academic year only and may no longer be current.
For currently applicable policies and information, see the current Stanford Bulletin.
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 instituted a program leading to a master's degree with distinction in research. This program is described in more detail below.
AdmissionApplications for admission to the M.S. program, and all of the required supporting documents, must be received by December 7, 2010. Exceptions are made for applicants who are already students at Stanford and are applying to the coterminal program. Information on these deadlines is available at http://cs.stanford.edu/wiki/admissions/Applying/Deadlines.
University requirements for the coterminal M.A. are described in the "Coterminal Bachelor's and Master's Degrees" section of this bulletin. For University coterminal degree program rules and University application forms, see http://studentaffairs.stanford.edu/registrar/publications#Coterm.
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. 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.
Requirement 1: Foundations
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:
1. Logic, Automata, and Computability: CS 103
2. Probability: CS 109 or STATS 116 or MS&E 220 or CME 106
3. Algorithms: CS 161
4. Computer Organization and Systems: CS 107
5. Principles of Computer Systems: CS 110
Requirement 2: Significant Software Implementation
Students must complete at least one course designated as having a significant software implementation component. The list of such courses includes: CS 140, 143, 144, 145, 148, 210B, 221, 243, 248, 346.
Requirement 3: Specialization
Students may choose to satisfy this requirement through one of two options, Single Depth or Dual Depth, outlined following. All courses taken for this requirement must be taken for letter grades.
Specialization Areas
Nine approved specialization areas which may be used to satisfy Requirement 3 are listed following. Students may propose to the M.S. program committee other coherent programs that meet their goals and satisfy the basic requirements.
Courses marked with an asterisk (*) require consent of the the faculty adviser. Courses marked with a double asterisk (**) may be waived by students with equivalent course work and with the approval of their adviser.
Artificial Intelligence Breadth CoursesCS 140, 143, 144, 145, 147, 148, 149, 154, 155, 157, 164, 240, 240E, 242, 243, 244, 244E, 249A, 255, 258, 259, 261, 268; CME 108, 302; EE 108B, 282, 284
Biocomputation Breadth CoursesCS 121 or 221, 124, 140, 143, 144, 145, 147, 148, 149, 154, 155, 157, 164, 205A, 222, 223A, 223B, 224M, 224N, 224S, 224U, 224W, 226, 227, 227B, 240, 240E, 242, 243, 244, 244E, 249A, 255, 258, 259, 276, 279; CME 108, 302; EE 108B, 282, 284.
Computer and Network Security Breadth CoursesCS 121 or 221, 124, 143, 147, 148, 149, 154, 157, 164, 205A, 222, 223A, 223B, 224M, 224N, 224S, 224U, 224W, 226, 227, 227B, 228, 229, 242, 243, 249A, 258, 262, 268, 270, 273A, 274, 276, 279; CME 108, 302; EE 108B, 282.
Database Systems Breadth CoursesS121 or 221, 124, 140, 147, 148, 149, 154, 155, 157, 164, 205A, 222,223A, 223B, 224M, 224N, 224S, 224U, 224W, 226, 227, 227B, 228, 229, 240E, 244E, 258, 259, 261, 268, 273A, 274, 279; CME 108, 302; EE 108B, 282.
Human-Computer Interaction Breadth CoursesCS 121 or 221, 143, 144, 145, 149, 154, 155, 157, 164, 205A, 222, 224M, 227, 227B, 240,240E, 243, 244, 244E, 249A, 255, 258, 259, 261, 262, 268, 270, 273A, 274, 276, 279; CME 108, 302; EE 108B, 282, 284.
Real-World Computing Breadth CoursesCS 121, or 221, 124, 140, 143, 144, 145, 147, 149, 154, 155, 157, 164, 222, 224M, 224N, 224S, 224U, 224W, 227, 227B, 240, 240E, 242, 243, 244, 244E, 246, 255, 258, 259, 261, 276, 279; CME 108, 302; EE 108B, 282, 284.
Software Theory Breadth CoursesCS 121 or 221, 124, 140, 147, 148, 149, 154, 155, 157, 164, 205A, 222, 223A, 223B, 224M, 224N, 224S, 224U, 224W, 226, 227, 227B, 228, 229, 240, 240E, 244E, 249A, 262, 270, 273A, 274, 276, 279; CME 108, 302; EE 108B, 282.
Systems Breadth CoursesCS 121 or 221, 124, 147, 154, 155, 157, 164, 205A, 222, 223A, 223B, 224M, 224N, 224S, 224U, 224W, 226, 227, 227B, 228, 229, 255, 258, 261, 268, 273A, 274, 279; CME 108, 302
Theoretical Computer Science Breadth CoursesCS 121 or 221, 124, 140, 143, 144, 145, 147, 148, 149, 154, 155, 157, 164, 205A, 222, 223A, 223B, 224M, 224N, 224S, 224U, 224W, 226, 227, 227B, 229, 240,240E, 242, 243, 244, 244E, 249A, 270, 273A, 274, 276, 279; CME 108, 302; EE 108B, 282, 284.
* With consent of faculty adviser.
** Students with equivalent course work may waive with the approval of their adviser.
Requirement 4
Additional elective units must be technical courses (numbered 100 or above) related to the degree program and approved by the adviser. All CS courses numbered above 110 (with the exception of CS 196 and 198) taken for 3 or more units are pre-approved as elective courses. Additionally, up to a maximum of 3 units of 500-level CS seminars, CS 300, EE 380, EE 385A, or other 1-2 unit seminars offered in the School of Engineering may be counted as electives. 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.
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:
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 advisers 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 join 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.
© Stanford University - Office of the Registrar. Archive of the Stanford Bulletin 2010-11. Terms of Use | Copyright Complaints