Doctor of Philosophy
PhDJoint DegreeOverview
Doctor of Philosophy in Computer Science
The PhD degree is intended primarily for students who desire a career in research, advanced development, or teaching. For this type of work, a broad background in computer science and the engineering sciences, and intensive study and research experience in a specialized area are the necessary requisites.
The degree of Doctor of Philosophy (PhD) is conferred on candidates who have demonstrated to the satisfaction of our department:
High attainment in a particular field of knowledge.
Ability to do independent investigation and present the results of research.
They must satisfy the general requirements for advanced degrees, the program requirements specified, and the doctoral requirements for candidacy, as outlined in our department.
Guidelines for Reasonable Progress
By the end of the first academic year, you should align with a permanent advisor. Students are welcome to switch advisors; however, a student should not have significant periods of time (after the first year) with no advisor.
A student must make satisfactory progress in their research, as determined by their advisor. Participation in research throughout the student's career routinely satisfies the research requirement.
Three foundation/breadth requirements must be completed by spring quarter of the second year.
A student should meet the eligibility requirements and file for Candidacy by the end of the second year in their program.
All courses must be completed by the end of the third year. Any deviation from this timeline must be approved in advance by both the student advisor and the director of the PhD program.
By spring quarter of the third year, a student should pass a Qualifying Examination opens in a new tab in the area of their intended dissertation.
Within one year of passing the Qualifying Examination, a student should form a reading committee and submit a signed Reading Committee form to the PhD Student Services Office at phdstudentservices@cs.stanford.edu.
By spring quarter of the fourth year, a student should schedule the Thesis Proposal with the reading committee members and submit the Thesis Proposal form opens in a new tab to the PhD Student Services Office at phdstudentservices@cs.stanford.edu.
The Teaching Requirement must be completed by their fourth year. As a matter of policy, students are required to satisfy half of the teaching requirement within the first two years of their program. Students are encouraged to complete the teaching requirement early in their stay to eliminate conflicts with later dissertation work.
The University Oral Examination must be completed at least a quarter before the degree is conferred.
Requirements
Program Requirements
Requirements Overview
The following are general department requirements. Contact the Computer Science PhD administrator for details.
A student should plan and complete a coherent program of study covering the basic areas of computer science and related disciplines. The student’s advisor is primarily responsible for the program’s adequacy, which is subject to review by the CS PhD Student Services Office.
The first year of the PhD program is spent working with one to three different professors on a rotating basis. The intent is to allow the first-year PhD student to work with various professors before aligning with a permanent program advisor. Students who don’t need the entire year to find a professor to align with will have the option of aligning within the first or second quarter.
The CS 300 Departmental Lecture Series seminar allows faculty to explain their research to first-year CS PhD students. First-year CS PhD students must attend 2/3 of faculty-led sessions in order to receive credit.
A student must complete 135 course units for graduation (a total of 10 units of PE courses can be counted towards this). Computer Science PhD students take eight to ten units per quarter. Credit for coursework completed elsewhere (up to a maximum of 45 course units) may be applied toward graduation requirements. Students must also complete at least three units of coursework with at least four different faculty members. There are NO courses explicitly required by the CS PhD program except for the 1 unit CS 300 Departmental Lecture Series and at least three (3) CS499 opens in a new tab (Advanced Reading and Research) or its equivalent. At least one course must be taken for a letter grade. A 3.0 GPA must be maintained.
Students must satisfy the foundation/breadth requirements to remain in the PhD program. The department provides a clear roadmap for these requirements, including the option to take or waive the following foundation courses: CS103, 109, 111, and 161. The breadth course requirement will be three courses from four predefined areas and cannot be waived. A student needs to pass the courses with a grade of B+ or higher. A student must fulfill three foundation/breadth requirements by the end of year two and complete all foundation/breadth requirements by the end of the third year.
Once these requirements are met, and a student has completed at least a three-unit graduate-level course with each of four instructors who are members of the Academic Council, they can apply for candidacy by the end of their second year in the program. The department’s website has an up-to-date course list that satisfies the breadth requirements.
The student must pass a qualifying exam in the general area of their expected dissertation by the end of the third year in the program, ensuring a clear and structured progression.
Departmental Lecture Series
First-year CS PhD students must attend two-thirds of faculty-led sessions in order to receive credit for the class.
CS 300
Departmental Lecture Series
To be taken in the first quarter of the student’s first year.
Advanced Reading and Research
Or its equivalent.
All PhD students must enroll in at least three units of CS 499/CS499P or equivalent (Research units with your non-CS faculty advisor’s home department) for all quarters.
Foundation Course Requirements
Students will be required to take or waive CS 103, 109, 111, 161.
Completion of a CS Bachelor’s degree and/ or CS Master’s degree automatically waives all four courses.
Waiving will be lenient based on sufficient coverage of a predefined set of topics for each course and transparent.
Double dipping: At the discretion of the waiver approver, a specific, more advanced Stanford course could be assigned to waive foundation courses (e.g., CS 154 for CS 103), allowing students to fill both foundation and breadth requirements simultaneously.
*Note: Units from waived courses to satisfy the foundation requirements will not count toward candidacy. If you have waived all the foundation requirements due to your CS bachelor's or master's Degree, those units will not count toward candidacy.
Breadth Course Requirements
The breadth course requirement will be three (3) total courses from four (4) predefined areas (cannot be two (2) from the same area).
Students need to pass the courses with a grade of B+ or higher.
Breadth courses cannot be waived (these courses must be taken while in the PhD program).
Three foundation/breadth requirements need to be completed by the end of year two. All courses need to be completed by the end of year three. Any deviation from this timeline must be approved in advance by the student advisor and the director of the PhD program.
Formal Foundations
Courses in this group emphasize mathematics and formal reasoning as it applies to foundational questions about computation.
APPPHYS 229
Statistical Mechanics of Learning and Computation
CS 154
Introduction to the Theory of Computation
CS 157
Computational Logic
CS 166
Advanced Data Structures
CS 168
The Modern Algorithmic Toolbox
CS 205L
Continuous Mathematical Methods with an Emphasis on Machine Learning
CS 225
Machine Learning for Discrete Optimization
CS 229M
Machine Learning Theory
CS 250
Algebraic Error Correcting Codes
CS 254
Computational Complexity
CS 254B
Computational Complexity II
CS 255
Introduction to Cryptography
CS 256
Algorithmic Fairness
CS 257
Introduction to Automated Reasoning
CS 258
Quantum Cryptography
CS 259Q
Quantum Computing
CS 261
Combinatorial Optimization
CS 263
Counting and Sampling
CS 264
Beyond Worst-Case Analysis
CS 265
Randomized Algorithms and Probabilistic Analysis
CS 269I
Incentives in Computer Science
CS 328
Foundations of Causal Machine Learning
CS 354
Topics in Intractability: Unfulfilled Algorithmic Fantasies
CS 355
Advanced Topics in Cryptography
CS 357S
Formal Methods for Computer Systems
CS 359D
Quantum Complexity Theory
CS 369O
Optimization Algorithms
EE 276
Information Theory
EE 364A
Convex Optimization I
EE 364B
Convex Optimization II
EE 377
Information Theory and Statistics
PHIL 251
Metalogic
STATS 311
Information Theory and Statistics
STATS 200
Introduction to Theoretical Statistics
CS334a
Learning and Modeling
Courses in this group seek to build models of observed phenomena. They emphasize building these models from data, with the goal of predicting, classifying or otherwise structuring observations.
CS 205L
Continuous Mathematical Methods with an Emphasis on Machine Learning
CS 221
Artificial Intelligence: Principles and Techniques
CS 223A
Introduction to Robotics
CS 224N
Natural Language Processing with Deep Learning
CS 224R
Deep Reinforcement Learning
CS 224S
Spoken Language Processing
CS 224U
Natural Language Understanding
CS 224V
Agentic AI
CS 224W
Machine Learning with Graphs
CS 227A
Robot Perception
CS 227B
General Game Playing
CS 228
Probabilistic Graphical Models: Principles and Techniques
CS 229
Machine Learning
CS 229B
Machine Learning for Sequence Modeling
CS 229M
Machine Learning Theory
CS 230
Deep Learning
CS 231A
Computer Vision: From 3D Perception to 3D Reconstruction and Beyond
CS 231N
Deep Learning for Computer Vision
CS 233
Geometric and Topological Data Analysis
CS 234
Reinforcement Learning
CS 236
Deep Generative Models
CS 237A
Principles of Robot Autonomy I
CS 237B
Principles of Robot Autonomy II
CS 238
Decision Making under Uncertainty
CS 239
Advanced Topics in Sequential Decision Making
CS 248A
Computer Graphics: Rendering, Geometry, and Image Manipulation
CS 248B
Fundamentals of Computer Graphics: Animation and Simulation
CS 271
Algorithmic Foundations for Artificial Intelligence in Healthcare
CS 272
Introduction to Biomedical Informatics Research Methodology
CS 273B
Deep Learning in Genomics and Biomedicine
CS 274
Representations and Algorithms for Computational Molecular Biology
CS 277
Foundation Models for Healthcare
CS 279
Computational Biology: Structure and Organization of Biomolecules and Cells
CS 281
Ethics of Artificial Intelligence
CS 326
Topics in Advanced Robotic Manipulation
CS 329A
Self Improving AI Agents
CS 329D
Machine Learning Under Distributional Shifts
CS 329H
Machine Learning from Human Preferences
CS 329T
Trustworthy Machine Learning: Building and evaluating agentic systems
CS 329X
Human Centered NLP
CS 330
Deep Multi-task and Meta Learning
CS 332
Advanced Survey of Reinforcement Learning
CS 333
Algorithms for Interactive Robotics
CS 336
Language Modeling from Scratch
CS 348B
Computer Graphics: Image Synthesis Techniques
CS 348C
Computer Graphics: Animation and Simulation
CS 348E
Character Animation: Modeling, Simulation, and Control of Human Motion
CS 348I
Computer Graphics in the Era of AI
CS 348N
Neural Models for 3D Geometry
CS 375
Large-Scale Neural Network Modeling for Neuroscience
CS 312
Deep Learning Alchemy
CS 321M
AI Measurement Science
CS 329Z
Engineering AI Agents
CS273A
CS371
CS373
Systems
Courses in this group explore the construction of computing artifacts that meet design constraints or requirements. They emphasize not only what we build but how we build it and the challenges in doing so. Problems in this area often, but not always, include performance (speed, memory, energy), scalability, tradeoffs, complex software, and considering the quality of the artifact itself in addition to its capabilities.
CS 112
Operating systems kernel implementation project
CS 140E
Operating systems design and implementation
CS 143
Compilers
CS 144
Introduction to Computer Networking
CS 145
Intro to Modern Data Systems
CS 149
Parallel Computing
CS 155
Computer and Network Security
CS 212
Operating Systems and Systems Programming
CS 217
Hardware Accelerators for Machine Learning
CS 229S
Systems for Machine Learning
CS 240
Advanced Topics in Operating Systems
CS 240LX
Advanced Systems Laboratory, Accelerated
CS 242
Programming Languages
CS 243
Program Analysis and Optimizations
CS 244
Advanced Topics in Networking
CS 244B
Distributed Systems
CS 245
Principles of Data-Intensive Systems
CS 246
Mining Massive Data Sets
CS 249I
The Modern Internet
CS 251
Cryptocurrencies and blockchain technologies
CS 348K
Visual Computing Systems
CS 349D
AI Inference Infrastructure
CS 350S
Privacy-Preserving Systems
CS 356
Topics in Computer and Network Security
EE 180
Digital Systems Architecture
EE 282
Computer Systems Architecture
EE382E
People and Society
Courses in this group examine how computing and technology affect and interact with humans and societies, seeking to place artifacts in the context in which they are used. In particular, this area will include courses dealing with computation’s societal impact and HCI courses.
AMSTUD 145
Silicon Valley
BMDS 215
Data Science for Medicine
BMDS 223
Deploying and Evaluating Fair AI in Healthcare
BIOS 244
Applied Artificial Intelligence in Health Care
COMM 254
The Politics of Algorithms
COMM 266
Virtual People
COMM 286
Media, Technology, and the Body
COMM 324
Language and Technology
CS 125
Data: Algorithms, Tools, Policy, and Society
CS 147
Introduction to Human-Computer Interaction Design
CS 148
Introduction to Computer Graphics and Imaging
CS 152
Trust and Safety
CS 181
Computers, Ethics, and Public Policy
CS 182
Ethics, Public Policy, and Technological Change
CS 194H
User Interface Design Project
CS 206
Exploring Computational Journalism
CS 207
Antidiscrimination Law and Algorithmic Bias
CS 222
AI Agents and Simulations
CS 224C
NLP for Computational Social Science
CS 247A
Design for Artificial Intelligence
CS 247B
Design for Behavior Change
CS 247G
Design for Play
CS 247I
Design for Understanding
CS 247S
Service Design with AI
CS 256
Algorithmic Fairness
CS 269I
Incentives in Computer Science
CS 278
Social Computing
CS 281
Ethics of Artificial Intelligence
CS 283
Governing Artificial Intelligence: Law, Policy, and Institutions
CS 293
Empowering Educators via Language Technology
CS 323
The AI Awakening: Implications for the Economy and Society
CS 324H
History of Natural Language Processing
CS 329H
Machine Learning from Human Preferences
CS 329R
Race and Natural Language Processing
CS 329T
Trustworthy Machine Learning: Building and evaluating agentic systems
CS 329X
Human Centered NLP
CS 337
AI-Assisted Care
CS 347
Human-Computer Interaction: Foundations and Frontiers
CS 377E
Designing Solutions to Global Grand Challenges
CS 377G
Designing Serious Games
CS 377J
Designing Systems for Collaboration, Cooperation, and Collective Action
CS 377Q
Designing for Accessibility
CS 377U
Understanding Users
CS 384
Seminar on Ethical and Social Issues in Natural Language Processing
CS 448B
Data Visualization
CS 470
Music and AI
DESIGN 255
The Design of Data
EARTHSYS 213
Innovating for Climate and Sustainability
EDUC 315A
Introduction to CSCL: Computer-Supported Collaborative Learning
EDUC 484
Knowledge in the Age of AI: New Epistemic Issues in Education
EPI 220
Deploying and Evaluating Fair AI in Healthcare
HISTORY 244F
New Directions in Gendered Innovations in Science, Medicine, Technology, and Environment
LAW 4046
Data: Privacy, Property and Security
LAW 7073
Antidiscrimination Law and Algorithmic Bias
LAW 7102
Regulation, Evaluation, and Governance Lab: Practicum
LAW 7117
Platform Regulation and the First Amendment
LAW 7521
Data: Algorithms, Tools, Policy, and Society
MS&E 254
The Ethical Analyst
POLISCI 150A
Data Science for Politics
POLISCI 182
Ethics, Public Policy, and Technological Change
PUBLPOL 103F
Ethics of Truth in a Post-Truth World
PUBLPOL 353A
Science and Technology Policy
PUBLPOL 353B
Regulating Emerging Technology: Risks, Opportunities, and Reality
STATS 354
Generalization and Causality in Biohealth
LAW 4052
Governing Artificial Intelligence: Law, Policy, and Institutions
ANTHRO 132D
ENGLISH 184D
INTLPOL362
LAW 4039
LAW 807Z
ME 177
MS&E 231
MS&E 234
Qualifying Examination
Overview
The Qualifying Examination tests a student’s depth of knowledge and familiarity in their area of specialization. Qualifying Exams are generally offered in all areas covered by the written Comprehensive Exam. A student can request a Qualifying Exam in an area not already offered, such as one that cuts across current divisions. The feasibility of such a request is determined on a case-by-case basis by the Ph.D. Program Committee. A student should pass a qualifying exam no later than the end of their third year.
A student may take the Qualifying exams only twice. In some cases, a conditional pass is awarded. The student is credited with the Pass when the designated conditions have been met (such as TAing a particular class, taking a course, or reading additional material in a specific area). If a student fails the Qualifying Exam a second time, the PhD Program Committee is contacted, as this would mean the student is not “making reasonable progress.” This is cause for dismissal by default from the PhD program. The Qualifying Exams are a university requirement and are taken very seriously. Therefore, sufficient time and in-depth preparation must be given to the student’s Quals area to ensure success.
The format of the Qualifying Exams varies from year to year and area to area depending on the faculty member or Quals Chair in charge of each specific exam. Examples are in-class written exams, “take-home” written exams, oral exams, written assignments, and/or a combination of the above. The Quals Chair administers the exams, and the results must be submitted to the Ph.D. Program Officer for the required entry into the university’s Axess (PeopleSoft) and departmental database systems. Passing the Qualifying Exam certifies the student is ready to begin dissertation work in the chosen area. If a student wishes to do dissertation work in an area other than their Qualifying Exam area, the student’s advisor and/or the faculty in the new area will determine whether an additional exam is required.
Reading Committee
Overview
After passing the Qualifying Examination, a student must secure the agreement of a department faculty member to act as the dissertation advisor. Typically, this is the program advisor, but sometimes the dissertation advisor may be in another department. In addition, the student must form a Dissertation Reading Committee composed of the principal dissertation advisor and at least two additional readers.
Reading Committee
The Reading Committee Form opens in a new tab should be signed by all the committee members and submitted to the CS PhD Student Services at phdstudentservices@cs.stanford.edu no later than one year after passing a qualifying exam.
Regulations Concerning Composition of Reading Committee
The principal advisor and at least one of the other committee members must be Academic Council members. This is a university regulation.
At least two committee members must be CS professors or joint CS professors (academic council members, i.e., Stanford faculty). Courtesy and Adjunct CS professors do not count. This is a departmental requirement.
The Reading Committee supervises the dissertation research, advises the student, evaluates the student’s progress, and signs the final draft of the dissertation.
These Committee Members also often serve on the student’s Orals Committee because of their research knowledge.
Readers, not Academic Council members (limit one), need prior approval from the Graduate Division to serve on your Reading Committee by filing a Petition Form opens in a new tab.
Thesis Proposal
Overview
The thesis proposal allows students to obtain formative feedback from their reading committee to guide them to a successful, high-quality dissertation. The thesis proposal (a private session only with the student's advisor/co-advisor and reading committee members) should allow time for discussion with the reading committee about the direction of the thesis research.
Thesis Proposal
The student must present an oral thesis proposal and submit the form to their full Reading Committee by the spring quarter of the fourth year. The Thesis Proposal Form opens in a new tab must be filled out, signed, and approved by all the committee members and submitted to the CS PhD Student Services at phdstudentservices@cs.stanford.edu.
The suggested format should include:
A description of the research problem and its significance
A description of previous work in the area and the “state of the art” before the student’s work
A description of preliminary work the student has done on the problem and any research results of that work
An outline of the remaining work to be done and a timeline for accomplishing it
Teaching Requirement
Teaching
Overview
Teaching experience is valuable for CS PhD students. It allows them to demonstrate their knowledge of CS topics, improve their public speaking and presentation skills, and explore future career options in academia.
Teaching Requirement
CS PhD Students are required to complete course assistantships (CA) or teaching fellow (TF) during their academic career for courses in Computer Science numbered 100 or above. This requirement can be completed with either two (2) 50% appointments or four (4) 25% appointments of CAships or TF for a total of 100%.
A CA receives the same salary and tuition benefits as a research assistant (RA). A TF receives a higher salary.
Note: The teaching requirement must be completed by the fourth year. As a matter of policy, a student should satisfy half of the teaching requirement in the first two years of their program. Students are encouraged to complete the teaching requirement early in their stay to eliminate conflicts with later dissertation work.
Certificate of Distinction in Teaching Award
A graduating PhD student is eligible to receive a certificate of distinction in teaching if the following conditions are met:
At least one CS faculty member who has supervised the student as a course assistant nominates the student for this distinction; this nomination is e-mailed to Jay Subramanian.
The student should have completed five (5) 50% CAships as a Course Assistant (CA) in CS courses, of which at least one course should be taught as a Teaching Fellow (TF) with primary responsibility for organizing and teaching a course (tutored video does not qualify).
Advancement to Candidacy
Overview
Students are expected to be admitted to candidacy by the end of their second year of doctoral study. To be eligible to apply for candidacy, students must meet the following criteria:
Students have permanently aligned with an advisor/s. Aligning with an advisor outside of the CS Department will require a CS co-advisor (courtesy faculty do not count).
Have completed three (3) foundation opens in a new tab/breadth requirements; this could be a combination of foundation and breadth courses taken as a current CS PhD student (foundation waivers do not count). For more information, please visit: Foundation & Breadth Requirements opens in a new tab.
Have completed at least a three-unit graduate-level course with each of the four instructors who are members of the academic council as a CS PhD student.
Candidacy allows students to qualify for the post-candidacy rate and initiates the five-year timeline to fulfill the remaining PhD requirements.
Oral Exam
Overview
Stanford University requires an Oral Examination for the PhD Program. The department chooses the format of the University Oral Examination. In the Computer Science Department, it is a Defense of the dissertation. The Oral examination format is a public presentation lasting approximately one hour, followed by questions from the examining committee in a private session (a maximum of three hours).
The university oral examination must be completed at least a quarter before the degree is conferred. Orals may be scheduled any time after a substantial portion of the dissertation is complete. The University prefers that orals not be scheduled during the first two weeks of the quarter, finals week, or breaks.
University Oral Examination
The Orals Committee must have at least five members, including one Chair and four voting members. Four of the five must be Academic Council members. The Orals committee will consist of the following:
Chair. The chair of the oral committee is typically selected by the student and advisor, usually at the suggestion of the reading committee members. The chair must be an academic council member and may be a professor emeritus.
The chair of the examining committee may not have a full or joint appointment in the advisor's or student's department but may have a courtesy appointment in the department.
The chair can be from the same Department as any other member(s) of the examination committee. It can be from the student's minor Department, provided that the student's advisor does not have a full or joint appointment in the minor Department.
To maintain impartiality, the oral chair may not simultaneously serve on the student's dissertation reading committee.
Readers. The student’s Reading Committee members usually serve on the Orals Committee. Readers who are not Academic Council members (limit 1) need prior approval from the Graduate Division to sit on the Orals Committee by filing a Petition Form opens in a new tab along with the Orals Form.
Advisor. The student’s advisor is a member of the committee.
A student must submit a University Oral Exam Schedule form opens in a new tab and a copy of their dissertation abstract at least two weeks before the proposed Orals date. The PhD student services office will ensure the committee is composed correctly.
Form/s should be submitted as a PDF and emailed to phdstudentservices@cs.stanford.edu. Jay Subramanian, Director of Graduation Admissions and PhD Program, approves all forms on behalf of the Department chair. The CS PhD Student Services Team will collect her signature after you submit your form/s.
Dissertation
Overview
The most important requirement for the PhD degree is the dissertation, which is the culmination of the student's research and hard work.
Dissertation
Review the Dissertation and Theses opens in a new tab website for a comprehensive list of items to prepare and submit for your dissertation.
The Dissertation & Thesis Center opens to submissions on the first day of instruction each quarter. Students must first enroll and have applied to graduate to access the portal.

:format(webp))