Bulletin

Interested in attending Stanford?
Visit Undergraduate Admissions opens in a new tab or Graduate Admissions opens in a new tab.

Resources

  • About Stanford
  • About Bulletin
  • Academic Calendar opens in a new tab
  • Bulletin Archive
  • Enrollment Overview opens in a new tab
  • Enrollment Deadlines opens in a new tab
  • Degrees at a Glance

Schools

  • Doerr School of Sustainability opens in a new tab
  • Graduate School of Business opens in a new tab
  • Graduate School of Education opens in a new tab
  • School of Engineering opens in a new tab
  • School of Humanities and Science opens in a new tab
  • School of Law opens in a new tab
  • School of Medicine opens in a new tab
Give Feedback

Stanford University is accredited by the Accrediting Commission of Senior Colleges and Universities of the Western Association of Schools and Colleges opens in a new tab.

Give Feedback
Stanford
University
  • Stanford Home
  • Maps & Directions
  • Search Stanford
  • Emergency Info
  • Terms of Use
  • Privacy
  • Copyright
  • Trademarks
  • Non-Discrimination
  • Accessibility
© Stanford University.  Stanford, California 94305.
Skip to main content
Stanford University
Bulletin
Computer Science
School of Engineering
  • Major
  • Minor
Program Info
  • About the Program
  • Major: Bachelor of Science
    • Preparing for the Major
    • Policies
    • Learning Outcomes
  • Minor
  • Courses
  • Contact Us
Undergrad Info
  • Admissions
  • Advising
  • General Education
Loading program
  1. Home
  2. Programs
  3. Undergraduate
  4. Computer Science
  5. Major: Bachelor of Science

Major: Bachelor of Science

Major
  • Computer Science opens in a new tab
Program Minimum Units
93 Units
University Minimum Units
180 Units
Interests
Technology, Business & Entrepreneurship
Academic Areas
Engineering & Computer Science

Overview

The undergraduate program in Computer Science aims to develop students’ breadth of knowledge across the subject areas of computer science, including their ability to apply the defining processes of computer science theory, abstraction, design, and implementation to solve problems in the discipline. Students take a set of core courses. After learning the essential programming techniques and the mathematical foundations of computer science, students take courses in programming techniques, automata and complexity theory, systems programming, computer architecture, analysis of algorithms, artificial intelligence, and applications. The program prepares students for careers in government, law, and the corporate sector and for graduate study.

Requirements

School Requirements

Mathematics (26 units minimum)

Complete all of the following requirements:
Required Math Courses
Complete all of the following course(s):
CS 103

Mathematical Foundations of Computing

3-5 Units
CS 109

Introduction to Probability for Computer Scientists

3-5 Units
MATH 19

Calculus

3 Units
MATH 20

Calculus

3 Units
MATH 21

Calculus

4 Units

MATH 19, MATH 20, and MATH 21, or AP Calculus Credit may be used as long as at least 26 MATH units are taken.

AP credit may also be used to satisfy Math 19, 20 and/or 21. Please see the Stanford External Test Credit Equivalency Charts for additional details.

and
Math Electives

Students must complete at least 2 Math Electives regardless of if they've reached the 26 units of Math.

Complete at least 2 of the following courses:
CME 100

Vector Calculus for Engineers

5 Units
CME 102

Ordinary Differential Equations for Engineers

5 Units
CME 104

Linear Algebra and Partial Differential Equations for Engineers

5 Units
CS 157

Computational Logic

3 Units
CS 205L

Continuous Mathematical Methods with an Emphasis on Machine Learning

3 Units
ENGR 108

Introduction to Matrix Methods

3-5 Units
MATH 51

Linear Algebra, Multivariable Calculus, and Modern Applications

5 Units
MATH 52

Integral Calculus of Several Variables

5 Units
MATH 53

Differential Equations with Linear Algebra, Fourier Methods, and Modern Applications

5 Units
MATH 104

Applied Matrix Theory

4 Units
MATH 107

Graph Theory

4 Units
MATH 108

Introduction to Combinatorics and Its Applications

4 Units
MATH 109

Groups and Symmetry

4 Units
MATH 110

Number Theory for Cryptography

4 Units
MATH 113

Linear Algebra and Matrix Theory

4 Units
PHIL 151

Metalogic

4 Units

Math electives are not required for the Computational Bio Subplan.

Science (11 units minimum)

Complete all of the following requirements:
Physics Courses
Complete all of the following course(s):
PHYSICS 41

Mechanics

4 Units
or
PHYSICS 21

Mechanics and Fluids

4 Units
or
PHYSICS 61

Mechanics and Special Relativity

4 Units
or
PHYSICS 41E

Mechanics, Concepts, Calculations, and Context

5 Units
PHYSICS 43

Electricity and Magnetism

4 Units
or
PHYSICS 23

Electricity, Magnetism, and Optics

4 Units
or
PHYSICS 81

Electricity and Magnetism Using Special Relativity and Vector Calculus

4 Units
or
OSPPARIS 53

Electricity, Magnetism and Optics with Laboratory

5 Units

Students may also use AP Physics if approved by the School of Engineering.

The Computational Biology Subplan requires a different set of Science courses. Please see the Computational Biology Subplan for details.

and
Science Elective

Students must complete at least one course of at least 3 units or more from the School of Engineering's approved Science course list for 2026-27. The list is available in the Science subsection within the Engineering-BS School Requirements.

The course must be on the list the year that it is taken.

AP Chemistry Credit may also be used to fulfill the Science elective requirement. The School of Engineering must approve AP Chemistry and AP Physics credits.

Technology in Science

Students must complete at least one course of at least 3 units or more from the School of Engineering's approved Technology in Society list for 2026-27. The list is available in the Technology in Society subsection within the Engineering-BS School Requirements.

TiS course must be on the list the year that they are taken.

Engineering Fundamentals (10 units minimum)

Complete all of the following course(s):
CS 106B

Programming Abstractions

3-5 Units
ENGR 40M

An Intro to Making: What is EE

5 Units
or
ENGR 76

Information Science and Engineering

5 Units
  • The Computational Biology Subplan requires a different set of Engineering Fundamentals courses. Please see the Computational Biology Subplan for details.

  • **Students without prior programming experience should first take CS106A.

Core Program Requirements

Courses

Complete all of the following course(s):
CS 107

Computer Organization and Systems

3-5 Units
or
CS 107E

Computer Systems from the Ground Up

3-5 Units
CS 111

Operating Systems Principles

3-5 Units
CS 161

Design and Analysis of Algorithms

3-5 Units

Courses must be taken for 5 units.

Electives

General Electives

The following subplans include an electives requirement:

  • Artificial Intelligence

  • Visual Computing

  • Human-Computer Interaction

  • Information

  • Systems

  • Theory

  • Unspecialized

These electives requirements can include choosing from a list of CS General Electives course (listed immediately below):

If you see a reference to CS-BS General Electives in one of the subplans, you can refer here for that list.

Complete any of the following requirements:
CS-BS General Electives
Complete any of the following course(s):
CS 112

Operating systems kernel implementation project

3 Units
CS 123

A Hands-On Introduction to Building AI-Enabled Robots

3 Units
CS 124

From Languages to Information

3-4 Units
CS 131

Computer Vision: Foundations and Applications

3-4 Units
CS 137A

Principles of Robot Autonomy I

3-4 Units
CS 139

Human-Centered AI

3 Units
CS 140E

Operating systems design and implementation

3-4 Units
CS 143

Compilers

3-4 Units
CS 144

Introduction to Computer Networking

3-4 Units
CS 145

Intro to Modern Data Systems

3-4 Units
CS 146J

Full-Stack Web Programming

3 Units
CS 146S

The Modern Software Developer

3-4 Units
CS 147

Introduction to Human-Computer Interaction Design

3-5 Units
CS 147L

Cross-platform Mobile App Development

3 Units
CS 148

Introduction to Computer Graphics and Imaging

3-4 Units
CS 149

Parallel Computing

3-4 Units
CS 151

Logic Programming

3 Units
CS 154

Introduction to the Theory of Computation

3-4 Units
CS 155

Computer and Network Security

3 Units
CS 157

Computational Logic

3 Units
or
PHIL 151

Metalogic

4 Units
CS 166

Advanced Data Structures

3-4 Units
CS 168

The Modern Algorithmic Toolbox

3-4 Units
CS 171

Causality, Decision Making and Data Science

3 Units
CS 173A

Foundations of Computational Human Genomics

3-4 Units
CS 177

Introduction to Product Management with AI

3-5 Units
CS 195

Supervised Undergraduate Research

3-4 Units
CS 197

Computer Science Research

3-4 Units
CS 197C

Computer Science Research: CURIS Internship Onramp

3 Units
CS 205L

Continuous Mathematical Methods with an Emphasis on Machine Learning

3 Units
CS 206

Exploring Computational Journalism

3 Units
CS 210A

Industry Innovation Lab

3-4 Units
CS 212

Operating Systems and Systems Programming

3-5 Units
CS 217

Hardware Accelerators for Machine Learning

3-4 Units
CS 221

Artificial Intelligence: Principles and Techniques

3-4 Units
CS 222

AI Agents and Simulations

3-4 Units
CS 223A

Introduction to Robotics

3 Units
CS 224G

Apps With LLMs Inside

3-4 Units
CS 224N

Natural Language Processing with Deep Learning

3-4 Units
CS 224R

Deep Reinforcement Learning

3 Units
CS 224S

Spoken Language Processing

2-4 Units
CS 224V

Agentic AI

3-4 Units
CS 224W

Machine Learning with Graphs

3-4 Units
CS 225A

Experimental Robotics

3 Units
CS 227B

General Game Playing

3 Units
CS 228

Probabilistic Graphical Models: Principles and Techniques

3-4 Units
CS 229

Machine Learning

3-4 Units
CS 229B

Machine Learning for Sequence Modeling

3-4 Units
CS 229M

Machine Learning Theory

3 Units
CS 229S

Systems for Machine Learning

3 Units
CS 230

Deep Learning

3-4 Units
CS 231A

Computer Vision: From 3D Perception to 3D Reconstruction and Beyond

3-4 Units
CS 231N

Deep Learning for Computer Vision

3-4 Units
CS 232

Digital Image Processing

3 Units
CS 233

Geometric and Topological Data Analysis

3 Units
CS 234

Reinforcement Learning

3 Units
CS 235

Computational Methods for Biomedical Image Analysis and Interpretation

3 Units
CS 237A

Principles of Robot Autonomy I

3 Units
CS 237B

Principles of Robot Autonomy II

3-4 Units
CS 238

Decision Making under Uncertainty

3-4 Units
CS 240

Advanced Topics in Operating Systems

3 Units
CS 240LX

Advanced Systems Laboratory, Accelerated

3 Units
CS 242

Programming Languages

3-4 Units
CS 243

Program Analysis and Optimizations

3-4 Units
CS 244C

Advanced Networking and Distributed Systems

3-4 Units
CS 246

Mining Massive Data Sets

3-4 Units
CS 247A

Design for Artificial Intelligence

3-4 Units
CS 247B

Design for Behavior Change

3-4 Units
CS 247E

Design for Earth

3-4 Units
CS 247G

Design for Play

3-4 Units
CS 247I

Design for Understanding

3-4 Units
CS 247S

Service Design with AI

3-4 Units
CS 248A

Computer Graphics: Rendering, Geometry, and Image Manipulation

3-4 Units
CS 248B

Fundamentals of Computer Graphics: Animation and Simulation

3 Units
CS 249I

The Modern Internet

3 Units
CS 250

Algebraic Error Correcting Codes

3 Units
CS 251

Cryptocurrencies and blockchain technologies

3 Units
CS 254

Computational Complexity

3 Units
CS 254B

Computational Complexity II

3 Units
CS 255

Introduction to Cryptography

3 Units
CS 256

Algorithmic Fairness

3 Units
CS 257

Introduction to Automated Reasoning

3 Units
CS 258

Quantum Cryptography

3 Units
CS 259Q

Quantum Computing

3 Units
CS 261

Combinatorial Optimization

3 Units
CS 263

Counting and Sampling

3 Units
CS 264

Beyond Worst-Case Analysis

3 Units
CS 265

Randomized Algorithms and Probabilistic Analysis

3 Units
CS 269I

Incentives in Computer Science

3 Units
CS 270

Modeling Biomedical Systems

3 Units
CS 272

Introduction to Biomedical Informatics Research Methodology

3 Units
CS 273B

Deep Learning in Genomics and Biomedicine

3 Units
CS 273C

Cloud Computing for Biology and Healthcare

3 Units
CS 274

Representations and Algorithms for Computational Molecular Biology

1-4 Units
CS 275

Translational Bioinformatics

3-4 Units
CS 278

Social Computing

3-4 Units
CS 279

Computational Biology: Structure and Organization of Biomolecules and Cells

3 Units
CS 281

Ethics of Artificial Intelligence

3-4 Units
CS 293

Empowering Educators via Language Technology

2-4 Units
CS 323

The AI Awakening: Implications for the Economy and Society

3-4 Units
CS 330

Deep Multi-task and Meta Learning

3 Units
CS 336

Language Modeling from Scratch

3-5 Units
CS 342

Building for Digital Health

3-4 Units
CS 348B

Computer Graphics: Image Synthesis Techniques

3-4 Units
CS 348C

Computer Graphics: Animation and Simulation

3 Units
CS 348E

Character Animation: Modeling, Simulation, and Control of Human Motion

3 Units
CS 348I

Computer Graphics in the Era of AI

3-4 Units
CS 348K

Visual Computing Systems

3-4 Units
CS 348N

Neural Models for 3D Geometry

3 Units
CS 355

Advanced Topics in Cryptography

3 Units
CS 361

Engineering Design Optimization

3-4 Units
CS 377G

Designing Serious Games

3-4 Units
CS 448B

Data Visualization

3-4 Units
CEE 342

Designing for Gradient Spaces

3 Units
CME 108

Introduction to Scientific Computing with Machine Learning Applications

3 Units
DATASCI 112

Principles of Data Science

5 Units
EE 108

Digital System Design

5 Units
EE 180

Digital Systems Architecture

4 Units
EE 267

Virtual Reality

3-4 Units
EE 282

Computer Systems Architecture

3 Units
EE 364A

Convex Optimization I

3 Units
EE 374

Fundamentals of Blockchain Infrastructure

3 Units
ENGR 245

The Lean LaunchPad: Getting Your Lean Startup Off the Ground

4 Units
MS&E 244

Statistical Arbitrage

3 Units
MS&E 265

Product Management Fundamentals for the Real Economy

3 Units
MS&E 296

Technology, Innovation and Great Power Competition

4-5 Units
  • Students must successfully complete CS 111 prior to taking CS 112.

  • CS111 and CS212 can both be counted towards the BS requirements. Students must successfully complete CS111 prior to taking CS140E.

  • CS195 can be taken for a maximum of four units.

  • CS293 must be taken for 3+ units.

See individual subplans for specific direction on selecting General Elective courses.

Optional Humanities Elective Courses

The Department of Computer Science (CS) encourages undergraduates to take humanities and social science courses outside of CS to complement the technical curriculum.

Students in the Artificial Intelligence, Human-Computer Interaction, Information, Systems, Theory, or Visual Computing tracks may use up to one course from the approved CS humanities electives list to fulfill a track elective requirement on their program sheet.

Note: This option is not available for students in the Computational Biology, Computer Engineering, or Unspecialized tracks.

Complete any of the following course(s):
AMSTUD 120

The Rise of Digital Culture

4-5 Units
AMSTUD 145

Silicon Valley

5 Units
ARCHLGY 151

Ten Things: An Archaeology of Design

3 Units
ARTHIST 168A

AI 360: What's Critical to Know about AI

5 Units
ARTSINST 142

Drawing with Code

4 Units
ARTSTUDI 129

Augmented Reality: Placemaking and Storytelling

4 Units
ARTSTUDI 130

Interactive Art: Making it with Arduino

4 Units
ARTSTUDI 168

Data as Material

4 Units
COMM 120W

The Rise of Digital Culture

4-5 Units
COMM 124

Truth, Trust, and Tech

4-5 Units
COMM 130D

Dark Patterns

3 Units
COMM 145

Personality and Digital Media

4-5 Units
COMM 154

The Politics of Algorithms

4-5 Units
COMM 158

Censorship and Propaganda

4-5 Units
COMM 166

Virtual People

4-5 Units
COMM 173A

Media, Mind, and Black Mirror

4-5 Units
COMM 186W

Media, Technology, and the Body

4-5 Units
COMM 230A

Digital Civil Society

3 Units
CS 80Q

Race and Gender in Silicon Valley

3 Units
CS 120

Introduction to AI Safety

3 Units
CS 121

Equity and Governance for Artificial Intelligence

4 Units
CS 152

Trust and Safety

3 Units
CS 181

Computers, Ethics, and Public Policy

4 Units
CS 181W

Computers, Ethics, and Public Policy (WIM)

4 Units
CS 182

Ethics, Public Policy, and Technological Change

5 Units
CS 182W

Ethics, Public Policy, and Technological Change (WIM)

5 Units
CS 184

Bridging Policy and Tech Through Design

3-4 Units
CS 206

Exploring Computational Journalism

3 Units
CS 281

Ethics of Artificial Intelligence

3-4 Units
CSRE 314

Funkentelechy: Technologies, Social Justice and Black Vernacular Cultures

4-5 Units
EARTHSYS 144

Fundamentals of Geographic Information Science (GIS)

3-4 Units
EARTHSYS 153

Data Science for Social Impact

5 Units
EARTHSYS 162

Data for Sustainable Development

3-5 Units
EARTHSYS 227

Decision Science for Environmental Threats

3-5 Units
ECON 151

Tackling Big Questions Using Social Data Science

5 Units
ECON 295

The AI Awakening: Implications for the Economy and Society

3 Units
ENERGY 112

Exploring Geosciences with MATLAB

1-3 Units
ENERGY 160

Uncertainty Quantification in Data-Centric Simulations

3 Units
ENGLISH 106A

AI 360: What's Critical to Know about AI

5 Units
ENGLISH 115

Virtual Italy

4-5 Units
ENGLISH 184E

Literary Text Mining

5 Units
ENGR 110

Perspectives in Assistive Technology (ENGR 110)

1-3 Units
ETHICSOC 131X

Ethics in Bioengineering

3 Units
FEMGEN 44Q

Gendered Innovations in Science, Medicine, Engineering, and Environment

4 Units
FEMGEN 147

Feminism and Technology

3-5 Units
FEMGEN 149

Technology and Fascism: History of a Paradox

3-5 Units
FEMGEN 243F

New Directions in Gendered Innovations in Science, Medicine, Technology, and Environment

4-5 Units
GEOPHYS 128

Modeling Earth

3-4 Units
GEOPHYS 228

Modeling Earth

3-4 Units
HISTORY 44

Gendered Innovations in Science, Medicine, Engineering, and Environment

3 Units
HISTORY 44Q

Gendered Innovations in Science, Medicine, Engineering, and Environment

4 Units
HISTORY 244F

New Directions in Gendered Innovations in Science, Medicine, Technology, and Environment

4-5 Units
INTLPOL 245B

Governing Artificial Intelligence: Law, Policy, and Institutions

3 Units
INTLPOL 265

AI, Autonomy, and the Future of Warfare

3 Units
INTLPOL 321

Fundamentals of Cyber Policy and Security

4-5 Units
LAW 4052

Governing Artificial Intelligence: Law, Policy, and Institutions

3 Units
LINGUIST 130A

Introduction to Semantics and Pragmatics

4 Units
LINGUIST 145

Introduction to Psycholinguistics

4 Units
LINGUIST 150

Language and Society

3-4 Units
LINGUIST 156

Language, Gender, & Sexuality

4 Units
LINGUIST 281A

Race and Natural Language Processing

3 Units
MS&E 254

The Ethical Analyst

3 Units
MS&E 289

Ethics in Global Technology Design

3 Units
PHIL 60

Introduction to Philosophy of Science

4 Units
PHIL 72

Contemporary Moral Problems

4-5 Units
PHIL 99

Minds and Machines

4 Units
PHIL 170

Ethical Theory

4 Units
PHIL 171

Justice

4-5 Units
POLISCI 125

Tech Ethics and the Future of Human Values

4-5 Units
POLISCI 143C

The Politics of Internet Abuse

5 Units
POLISCI 150A

Data Science for Politics

3-5 Units
POLISCI 294

AI Policy Development: Leveraging Social Science to Ensure Responsible Generative AI

5 Units
PSYCH 35

Minds and Machines

4 Units
PSYCH 70

Self and Society: Introduction to Social Psychology

4 Units
PSYCH 80

Introduction to Personality and Affective Science

4 Units
PSYCH 141

Islamic Psychology

4 Units
PSYCH 175

Developmental Science of Social Cognition

4 Units
PSYCH 180

Advanced Seminar on Racial Bias and Structural Inequality

4 Units
PSYCH 204A

Human Neuroimaging Methods

3 Units
PSYCH 204B

Computational Neuroimaging: Data Analyses

3 Units
PSYCH 215

Mind, Culture, and Society

3 Units
PUBLPOL 63Q

Democratizing Ethics with Discrimination, Inequality, Injustice and Technology in Mind

3 Units
PUBLPOL 103F

Ethics of Truth in a Post-Truth World

3 Units
SOC 114

Economic Sociology

4 Units
SUST 210

Pursuing Sustainability: Managing Complex Social Environmental Systems

3 Units
SYMSYS 1

Minds and Machines

4 Units

Cross-listed versions of these courses are also acceptable.

Writing in the Major (WIM)

Writing in the Major (WIM)

CS 121 or 182W will satisfy both the Writing in the Major (WiM) and Technology in Society (TiS) requirements.

CS 191W, 194W, or 210B will satisfy both the Writing in the Major (WiM) and Capstone requirements.

Complete at least 1 of the following courses:
CS 121

Equity and Governance for Artificial Intelligence

4 Units
CS 182W

Ethics, Public Policy, and Technological Change (WIM)

5 Units
CS 191W

Writing Intensive Senior Research Project

3-6 Units
CS 194W

Software Project (WIM)

3 Units
CS 210B

Industry Innovation Lab

3-4 Units

Capstone

Senior Project (3 units)

Earn at least 3 units in the following course(s):
CS 191

Senior Project

1-6 Units
CS 191W

Writing Intensive Senior Research Project

3-6 Units
CS 194

Software Project

3 Units
CS 194W

Software Project (WIM)

3 Units
CS 210B

Industry Innovation Lab

3-4 Units

Independent study projects (CS 191 Senior Project or CS 191W Writing Intensive Senior Project) require faculty sponsorship and must be approved by the advisor, faculty sponsor, and the CS senior project advisor. A signed approval form and a brief description of the proposed project should be filed the quarter before work begins. Further details can be found in the Handbook for Undergraduate Engineering Programs (UGHB) opens in a new tab.

Subplans

Required
Students must select a subplan to complete this program. A subplan is an officially declared and defined set of requirements that provides a way for students to go deeper into a discipline or focus within a program.

Artificial Intelligence Subplan

Track A Requirement

Complete all of the following course(s):
CS 221

Artificial Intelligence: Principles and Techniques

3-4 Units

Track B Requirement

Select a total of two courses, each from a different area.

Complete at least 2 of the following:
Area I: AI Methods

You can only select one course from each area.

Complete at least 1 of the following courses:
CS 224R

Deep Reinforcement Learning

3 Units
CS 228

Probabilistic Graphical Models: Principles and Techniques

3-4 Units
CS 229

Machine Learning

3-4 Units
CS 229M

Machine Learning Theory

3 Units
CS 234

Reinforcement Learning

3 Units
CS 238

Decision Making under Uncertainty

3-4 Units
or
Area II: Natural Language Processing

You can only select one course from each area.

Complete at least 1 of the following courses:
CS 124

From Languages to Information

3-4 Units
CS 224N

Natural Language Processing with Deep Learning

3-4 Units
CS 224S

Spoken Language Processing

2-4 Units
CS 224V

Agentic AI

3-4 Units
or
Area III: Vision

You can only select one course from each area.

Complete at least 1 of the following courses:
CS 131

Computer Vision: Foundations and Applications

3-4 Units
CS 231A

Computer Vision: From 3D Perception to 3D Reconstruction and Beyond

3-4 Units
CS 231N

Deep Learning for Computer Vision

3-4 Units
or
Area IV: Robotics

You can only select one course from each area.

Complete at least 1 of the following courses:
CS 123

A Hands-On Introduction to Building AI-Enabled Robots

3 Units
CS 137A

Principles of Robot Autonomy I

3-4 Units
CS 223A

Introduction to Robotics

3 Units
CS 237A

Principles of Robot Autonomy I

3 Units

Track C Requirement

Select one additional course from the Track B Requirement list or from the following:

Complete any of the following requirements:
AI Methods
Complete at least 1 of the following courses:
CS 157

Computational Logic

3 Units
CS 205L

Continuous Mathematical Methods with an Emphasis on Machine Learning

3 Units
CS 230

Deep Learning

3-4 Units
CS 236

Deep Generative Models

3 Units
CS 257

Introduction to Automated Reasoning

3 Units
STATS 315A

Modern Applied Statistics: Learning

3 Units
STATS 315B

Modern Applied Statistics: Learning II

3 Units
or
Comp Bio
Complete at least 1 of the following courses:
CS 235

Computational Methods for Biomedical Image Analysis and Interpretation

3 Units
CS 279

Computational Biology: Structure and Organization of Biomolecules and Cells

3 Units
or
Information and the Web
Complete at least 1 of the following courses:
CS 224W

Machine Learning with Graphs

3-4 Units
or
Ethics
Complete all of the following course(s):
CS 256

Algorithmic Fairness

3 Units
or
Robotics and Control
Complete at least 1 of the following courses:
CS 225A

Experimental Robotics

3 Units
CS 327A

Advanced Robotic Manipulation

3 Units
ENGR 205

Introduction to Control Design Techniques

3 Units

CS329 (any suffix) may be taken with advisor approval.

or
Systems
Complete at least 1 of the following courses:
CS 229S

Systems for Machine Learning

3 Units
or
Simulation
Complete at least 1 of the following courses:
CS 222

AI Agents and Simulations

3-4 Units
or
Other
Complete at least 1 of the following courses:
CS 151

Logic Programming

3 Units
CS 227B

General Game Playing

3 Units

Track Electives

Complete at least three additional courses selected from the lists above, the Track Electives below, or the General Electives listed in the Electives section. Up to one course from the Eligible Humanities Electives list (also found in the Electives section) may be used.

Complete any of the following requirements:
Track Electives
Complete any of the following course(s):
APPPHYS 293

A modern explainable AI approach to Theoretical Neuroscience

3 Units
CS 325B

Data for Sustainable Development

3-5 Units
CS 326

Topics in Advanced Robotic Manipulation

3-4 Units
CS 342

Building for Digital Health

3-4 Units
EE 263

Matrix Methods: Singular Value Decomposition

3 Units
EE 278

Probability and Statistical Inference

3 Units
EE 364A

Convex Optimization I

3 Units
EE 364B

Convex Optimization II

3 Units
MS&E 252

Foundations of Decision Analysis

3 Units
MS&E 355

Influence Diagrams and Probabilistics Networks

3 Units
PHIL 152

Computability and Logic

4 Units
PSYCH 204A

Human Neuroimaging Methods

3 Units
PSYCH 204B

Computational Neuroimaging: Data Analyses

3 Units
PSYCH 209

Neural Network Models of Cognition

4 Units
STATS 200

Introduction to Theoretical Statistics

3-4 Units
STATS 202

Statistical Learning and Data Science

3 Units
STATS 203

Regression Models and Analysis of Variance

3 Units
STATS 205

Introduction to Nonparametric Statistics

3 Units
STATS 220

Machine Learning Methods for Neural Data Analysis

3 Units
STATS 271

Applied Bayesian Statistics

3 Units

Computational Biology Subplan

Computational Biology Subplan

86 units minimum for the subplan

**The Computational Biology track/subplan's Mathematics, Science, and Engineering Fundamentals requirements are non-standard - there are no math electives required.

WiM and Capstone requirements are standard and the same for all tracks/subplans.

Complete all of the following requirements:
Mathematics

Complete a minimum of 20 units of mathematics coursework.

Complete all of the following course(s):
MATH 19

Calculus

3 Units
MATH 20

Calculus

3 Units
MATH 21

Calculus

4 Units
CS 103

Mathematical Foundations of Computing

3-5 Units
CS 109

Introduction to Probability for Computer Scientists

3-5 Units

AP credit may also be used to satisfy Math 19, 20 and/or 21. Please see the Stanford External Test Credit Equivalency Charts for additional details.

and
Biology or Humbio Sequence

Complete at least 3 courses and 12 units in either the Biology Sequence or Humbio Sequence.

Complete any of the following requirements:
Biology Sequence
Complete at least 3 of the following courses:
BIO 82

Genetics

4 Units
BIO 83

Biochemistry & Molecular Biology

4 Units
BIO 85

Evolution

4 Units
BIO 86

Cell Biology

4 Units
or
Humbio Sequence
Complete all of the following course(s):
HUMBIO 2A

Genetics, Molecular Biology and Evolution

5 Units
HUMBIO 3A

Cell and Developmental Biology

5 Units
HUMBIO 4A

The Human Organism

5 Units
and
Engineering Fundamentals

Students must complete CS106B, and one SoE-approved Engineering Fundamentals Elective course found at https://ughb.stanford.edu/courses/engineering-fundamentals. opens in a new tab

Students may not use another CS106 course as their Engineering Fundamentals Elective.

Complete at least 2 of the following courses:
CS 106B

Programming Abstractions

3-5 Units
and
Computational Biology Depth

Complete at least 8 courses and 25 units.

Complete all of the following requirements:
Track A Requirement
Complete all of the following course(s):
CS 173A

Foundations of Computational Human Genomics

3-4 Units
CS 221

Artificial Intelligence: Principles and Techniques

3-4 Units

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

and
Track B Requirment
Complete at least 1 of the following courses:
CLASSICS 145

Narratives of Enslavement

5 Units
CS 246

Mining Massive Data Sets

3-4 Units
and
Track C Requirement
Complete at least 1 of the following courses:
CS 146J

Full-Stack Web Programming

3 Units
CS 147L

Cross-platform Mobile App Development

3 Units
CS 448B

Data Visualization

3-4 Units
DATASCI 112

Principles of Data Science

5 Units
and
Track D Requirement
Complete at least 1 of the following courses:
BMDS 210

Modeling Biomedical Systems

3 Units
BMDS 214

Representations and Algorithms for Computational Molecular Biology

1-4 Units
BMDS 215

Data Science for Medicine

3 Units
BMDS 217

Translational Bioinformatics

3-4 Units
BMDS 219

Mathematical Models and Medical Decisions

3 Units
BMDS 222

Cloud Computing for Biology and Healthcare

3 Units
BMDS 260

Computational Methods for Biomedical Image Analysis and Interpretation

3 Units
CS 273B

Deep Learning in Genomics and Biomedicine

3 Units
CS 279

Computational Biology: Structure and Organization of Biomolecules and Cells

3 Units
IMMUNOL 207

Essential Methods in Computational and Systems Immunology

3 Units
and
Track E Requirement
Complete at least 1 of the following courses:
CS 124

From Languages to Information

3-4 Units
CS 131

Computer Vision: Foundations and Applications

3-4 Units
CS 224N

Natural Language Processing with Deep Learning

3-4 Units
CS 224R

Deep Reinforcement Learning

3 Units
CS 224V

Agentic AI

3-4 Units
CS 224W

Machine Learning with Graphs

3-4 Units
CS 228

Probabilistic Graphical Models: Principles and Techniques

3-4 Units
CS 229

Machine Learning

3-4 Units
CS 229S

Systems for Machine Learning

3 Units
CS 231N

Deep Learning for Computer Vision

3-4 Units
CS 234

Reinforcement Learning

3 Units
CS 238

Decision Making under Uncertainty

3-4 Units
and
Track F Requirement

Complete one additional course from the Track D or Track E lists above, or one of the following.

Complete at least 1 of the following courses:
APPPHYS 294

Cellular Biophysics

3 Units
BIO 183

Theoretical Population Genetics

3 Units
BIO 187

Mathematical Population Biology

3 Units
BIOC 241

Biological Macromolecules

3-5 Units
BMDS 210

Modeling Biomedical Systems

3 Units
BMDS 214

Representations and Algorithms for Computational Molecular Biology

1-4 Units
BMDS 215

Data Science for Medicine

3 Units
BMDS 217

Translational Bioinformatics

3-4 Units
BMDS 219

Mathematical Models and Medical Decisions

3 Units
BMDS 222

Cloud Computing for Biology and Healthcare

3 Units
BMDS 260

Computational Methods for Biomedical Image Analysis and Interpretation

3 Units
CHEMENG 150

Biochemical Engineering

3 Units
CS 124

From Languages to Information

3-4 Units
CS 131

Computer Vision: Foundations and Applications

3-4 Units
CS 142

Web Applications

3 Units
CS 147

Introduction to Human-Computer Interaction Design

3-5 Units
CS 147L

Cross-platform Mobile App Development

3 Units
CS 148

Introduction to Computer Graphics and Imaging

3-4 Units
CS 154

Introduction to the Theory of Computation

3-4 Units
CS 166

Advanced Data Structures

3-4 Units
CS 168

The Modern Algorithmic Toolbox

3-4 Units
CS 224N

Natural Language Processing with Deep Learning

3-4 Units
CS 224R

Deep Reinforcement Learning

3 Units
CS 224V

Agentic AI

3-4 Units
CS 224W

Machine Learning with Graphs

3-4 Units
CS 228

Probabilistic Graphical Models: Principles and Techniques

3-4 Units
CS 229

Machine Learning

3-4 Units
CS 229S

Systems for Machine Learning

3 Units
CS 230

Deep Learning

3-4 Units
CS 231N

Deep Learning for Computer Vision

3-4 Units
CS 234

Reinforcement Learning

3 Units
CS 238

Decision Making under Uncertainty

3-4 Units
CS 248A

Computer Graphics: Rendering, Geometry, and Image Manipulation

3-4 Units
CS 273B

Deep Learning in Genomics and Biomedicine

3 Units
CS 279

Computational Biology: Structure and Organization of Biomolecules and Cells

3 Units
DATASCI 112

Principles of Data Science

5 Units
EE 263

Matrix Methods: Singular Value Decomposition

3 Units
EE 364A

Convex Optimization I

3 Units
IMMUNOL 207

Essential Methods in Computational and Systems Immunology

3 Units
MS&E 152

Introduction to Decision Analysis

4 Units
MS&E 252

Foundations of Decision Analysis

3 Units
STATS 141

Introduction to Statistics for Biology

5 Units
STATS 202

Statistical Learning and Data Science

3 Units
STATS 203

Regression Models and Analysis of Variance

3 Units
STATS 205

Introduction to Nonparametric Statistics

3 Units
STATS 206

Applied Multivariate Analysis

3 Units
STATS 211

Meta-research: Appraising Research Findings, Bias, and Meta-analysis

3 Units
STATS 315A

Modern Applied Statistics: Learning

3 Units
STATS 315B

Modern Applied Statistics: Learning II

3 Units
and
Track G Requirement

Complete at least one additional course from the Track D list, or from the following.

Complete at least 1 of the following courses:
APPPHYS 294

Cellular Biophysics

3 Units
BIO 81

Introduction to Ecology

4 Units
BIO 82

Genetics

4 Units
BIO 83

Biochemistry & Molecular Biology

4 Units
BIO 84

Physiology

4 Units
BIO 86

Cell Biology

4 Units
BIO 85

Evolution

4 Units
BIO 214

Advanced Cell Biology

3 Units
BIO 230

Cellular and Molecular Immunology: An Introductory Course

4 Units
BIOC 241

Biological Macromolecules

3-5 Units
BIOE 220

Introduction to Imaging and Image-based Human Anatomy

3-4 Units
BMDS 272

Healthcare Acceleration: Artificial Intelligence

3-4 Units
CHEM 31A

Chemical Principles I

5 Units
CHEM 31B

Chemical Principles II

5 Units
CHEM 31E

Chemical Foundations and 21st Century Problems

5 Units
CHEM 33

Structure and Reactivity of Carbon-Based Molecules

5 Units
CHEM 141

The Chemical Principles of Life I

4 Units
CHEM 143

The Chemical Principles of Life II

4 Units
CHEM 171

Linking the Molecular to the Macroscopic: Foundations of Physical Chemistry

4 Units
CHEM 181

Biochemistry I

4 Units
CHEMENG 150

Biochemical Engineering

3 Units
CHEMENG 174

Environmental Microbiology I

3 Units
DBIO 210

Developmental Biology

4 Units
GENE 211

Genomics

3 Units
HUMBIO 151R

Biology, Health and Big Data

3 Units
ME 281

Biomechanics of Movement

3 Units
and
Capstone
Complete at least 1 of the following courses:
CS 191

Senior Project

1-6 Units
CS 191W

Writing Intensive Senior Research Project

3-6 Units
CS 194

Software Project

3 Units
CS 194W

Software Project (WIM)

3 Units
CS 210B

Industry Innovation Lab

3-4 Units

CS 191W, 194W, and 210B also satisfies the Writing in the Major (WiM) requirement.

Computer Engineering Subplan

Computer Engineering Subplan

93 units minimum

25 units and 7 courses  minimum of Computer Engineering Depth coursework.

Complete all of the following requirements:
Track A Requirement
Complete all of the following course(s):
EE 108

Digital System Design

5 Units
EE 180

Digital Systems Architecture

4 Units
and
Track B Requirement

Select two of the following:

Complete at least 2 of the following courses:
EE 101A

Circuits I

4 Units
EE 101B

Circuits II

4 Units
EE 102A

Signals and Systems I

4 Units
EE 102B

Signals and Systems II

4 Units
and
Track C Requirement: Pick a Concentration

Satisfy the requirements of one of the following concentration requirements below: Digital Systems, Robotics and Mechatronics, or Networking.

Complete any of the following requirements:
A. Digital Systems Concentrations
Complete all of the following requirements:
Required Courses
Complete all of the following course(s):
EE 109

Digital Systems Design Lab

4 Units
EE 271

Introduction to VLSI Systems

3 Units
and
Required Elective Options
Complete at least 1 of the following courses:
CS 112

Operating systems kernel implementation project

3 Units
CS 140E

Operating systems design and implementation

3-4 Units
or
B. Robotics and Mechatronics Concentration
Complete all of the following course(s):
CS 205L

Continuous Mathematical Methods with an Emphasis on Machine Learning

3 Units
CS 223A

Introduction to Robotics

3 Units
ME 210

Introduction to Mechatronics

4 Units
or
CS 225A

Experimental Robotics

3 Units
or
C. Networking Concentration

Required Courses

Complete all of the following course(s):
CS 112

Operating systems kernel implementation project

3 Units
or
CS 140E

Operating systems design and implementation

3-4 Units
CS 144

Introduction to Computer Networking

3-4 Units
and
Required Elective Options
Complete at least 1 of the following courses:
CS 240

Advanced Topics in Operating Systems

3 Units
CS 240LX

Advanced Systems Laboratory, Accelerated

3 Units
CS 241

Embedded Systems Workshop

3 Units
CS 244C

Advanced Networking and Distributed Systems

3-4 Units
EE 179

Analog and Digital Communication Systems

3 Units

Human-Computer Interaction Subplan

Human-Computer Interaction Subplan

93 units minimum

25 units and 7 courses  minimum of Human-Computer Interaction Depth coursework.

Complete all of the following requirements:
Track A Requirement
Complete all of the following course(s):
CS 147

Introduction to Human-Computer Interaction Design

3-5 Units
CS 247A

Design for Artificial Intelligence

3-4 Units
or
CS 247B

Design for Behavior Change

3-4 Units
or
CS 247E

Design for Earth

3-4 Units
or
CS 247G

Design for Play

3-4 Units
or
CS 247I

Design for Understanding

3-4 Units
or
CS 247S

Service Design with AI

3-4 Units
CS 347

Human-Computer Interaction: Foundations and Frontiers

3-4 Units

Students may replace CS347 with a two-course combination of (1) COMM254 or COMM224 and (2) an additional HCI elective from the Track C or Track Elective course lists below.

and
Track B Requirement
Complete at least 1 of the following courses:
CS 146J

Full-Stack Web Programming

3 Units
CS 147L

Cross-platform Mobile App Development

3 Units
and
Track C Requirement: HCI Mezzanine

Complete at least 1 of the following courses:
CS 177

Introduction to Product Management with AI

3-5 Units
CS 278

Social Computing

3-4 Units
CS 448B

Data Visualization

3-4 Units
and
Track Elective

Complete one additional course from the Track C List or from one of the following.

Complete at least 1 of the following courses:
CS 194H

User Interface Design Project

3-4 Units
CS 206

Exploring Computational Journalism

3 Units
CS 210A

Industry Innovation Lab

3-4 Units
CS 222

AI Agents and Simulations

3-4 Units
CS 224C

NLP for Computational Social Science

3 Units
CS 247A

Design for Artificial Intelligence

3-4 Units
CS 247B

Design for Behavior Change

3-4 Units
CS 247E

Design for Earth

3-4 Units
CS 247G

Design for Play

3-4 Units
CS 247I

Design for Understanding

3-4 Units
CS 247S

Service Design with AI

3-4 Units
CS 329X

Human Centered NLP

3 Units
CS 377E

Designing Solutions to Global Grand Challenges

3-4 Units
CS 377G

Designing Serious Games

3-4 Units
CS 377J

Designing Systems for Collaboration, Cooperation, and Collective Action

3 Units
CS 377P

Read, Write, Play

1-3 Units
CS 377Q

Designing for Accessibility

3-4 Units
CS 377U

Understanding Users

3-4 Units

Students may use up to one Humanities course option in place of a Track Elective or Additional Elective. The list of Optional Humanities Electives Options can be found in the Electives section.

and
Additional Elective(s)

Complete at least one additional course from the Track C list, Track Elective list, or the CS General Electives list found in the Electives section.

Students may use up to one Humanities course option in place of a Track Elective or Additional Elective. The list of Optional Humanities Electives Options can be found in the Electives section.

Information Subplan

Information Subplan

93 Units minimum

25 units and 7 courses minimum of Information Depth coursework.

Complete all of the following requirements:
Track A Requirement
Complete all of the following course(s):
CS 124

From Languages to Information

3-4 Units
CS 145

Intro to Modern Data Systems

3-4 Units
and
Track B Requirement

Complete two courses from different areas:

Complete at least 2 of the following:
Area I: Information-based AI Applications

You can only select one course from each area.

Complete at least 1 of the following courses:
CS 224N

Natural Language Processing with Deep Learning

3-4 Units
CS 224S

Spoken Language Processing

2-4 Units
CS 229

Machine Learning

3-4 Units
CS 233

Geometric and Topological Data Analysis

3 Units
CS 234

Reinforcement Learning

3 Units
or
Area II: Database and Information Systems

You can only select one course from each area.

Complete at least 1 of the following courses:
CS 112

Operating systems kernel implementation project

3 Units
CS 140E

Operating systems design and implementation

3-4 Units
CS 147L

Cross-platform Mobile App Development

3 Units
CS 151

Logic Programming

3 Units
CS 246

Mining Massive Data Sets

3-4 Units
or
Area III: Information Systems in Biology

You can only select one course from each area.

Complete at least 1 of the following courses:
CS 235

Computational Methods for Biomedical Image Analysis and Interpretation

3 Units
CS 270

Modeling Biomedical Systems

3 Units
CS 274

Representations and Algorithms for Computational Molecular Biology

1-4 Units
or
Area IV: Information Systems on the Web

You can only select one course from each area.

Complete at least 1 of the following courses:
CS 224W

Machine Learning with Graphs

3-4 Units
and
Electives

Complete at least three additional courses selected from Track B List, the General CS Electives listed in the Electives section, or up to one course from the list of Optional Humanities Elective courses found in the Electives section.

Systems Subplan

Systems Subplan

93 Units minimum

25 units and 7 courses  minimum of Systems Depth coursework.

Complete all of the following requirements:
Track A Requirement
Complete at least 1 of the following courses:
CS 112

Operating systems kernel implementation project

3 Units
CS 140E

Operating systems design and implementation

3-4 Units
and
Track B Requirement
Complete at least 1 of the following courses:
CS 143

Compilers

3-4 Units
EE 180

Digital Systems Architecture

4 Units
and
Track C Requirement
Complete at least 2 of the following courses:
CS 144

Introduction to Computer Networking

3-4 Units
CS 145

Intro to Modern Data Systems

3-4 Units
CS 149

Parallel Computing

3-4 Units
CS 155

Computer and Network Security

3 Units
CS 217

Hardware Accelerators for Machine Learning

3-4 Units
CS 240

Advanced Topics in Operating Systems

3 Units
or
CS 240LX

Advanced Systems Laboratory, Accelerated

3 Units
CS 242

Programming Languages

3-4 Units
CS 243

Program Analysis and Optimizations

3-4 Units
CS 244C

Advanced Networking and Distributed Systems

3-4 Units
EE 271

Introduction to VLSI Systems

3 Units
EE 282

Computer Systems Architecture

3 Units
and
Track D Requirement: Subplan Electives

Complete at least three additional courses selected from the Track C list above, the Subplan Electives listed below, or General CS Electives or up to one Humanities course listed in the Electives section.

Complete any of the following requirements:
Subplan Elective Courses
Complete any of the following course(s):
CS 241

Embedded Systems Workshop

3 Units
CS 295

Software Engineering

3 Units
CS 340R

Rusty Systems

3 Units
CS 343D

Domain-Specific Programming Models and Compilers

3 Units
CS 349D

AI Inference Infrastructure

3 Units
CS 349H

Software Techniques for Emerging Hardware Platforms

3 Units
CS 448I

Computational Imaging

3 Units
EE 108

Digital System Design

5 Units
EE 382A

Parallel Processors Beyond Multicore Processing

3 Units
EE 382C

Interconnection Networks

3 Units
EE 384S

Performance Engineering of Computer Systems & Networks

3 Units
or
General CS Elective Courses

You may also choose from the list of CS-BS General Electives courses listed in the Electives section. Up to one course from the Eligible Humanities Electives list (also found in the Electives section) may be used.

Theory Subplan

Theory Subplan

93 Units minimum

25 units and 7 courses  minimum of Theory Depth coursework.

Complete all of the following requirements:
Track A Requirement
Complete all of the following course(s):
CS 154

Introduction to the Theory of Computation

3-4 Units
and
Track B Requirement
Complete at least 1 of the following courses:
CS 168

The Modern Algorithmic Toolbox

3-4 Units
CS 255

Introduction to Cryptography

3 Units
CS 261

Combinatorial Optimization

3 Units
CS 265

Randomized Algorithms and Probabilistic Analysis

3 Units
and
Track C Requirement

Complete two additional courses from Track B list, or one of the following:

Complete at least 2 of the following courses:
CS 143

Compilers

3-4 Units
CS 151

Logic Programming

3 Units
CS 155

Computer and Network Security

3 Units
CS 157

Computational Logic

3 Units
or
PHIL 151

Metalogic

4 Units
CS 166

Advanced Data Structures

3-4 Units
CS 205L

Continuous Mathematical Methods with an Emphasis on Machine Learning

3 Units
CS 228

Probabilistic Graphical Models: Principles and Techniques

3-4 Units
CS 233

Geometric and Topological Data Analysis

3 Units
CS 235

Computational Methods for Biomedical Image Analysis and Interpretation

3 Units
CS 236

Deep Generative Models

3 Units
CS 242

Programming Languages

3-4 Units
CS 250

Algebraic Error Correcting Codes

3 Units
CS 251

Cryptocurrencies and blockchain technologies

3 Units
CS 254

Computational Complexity

3 Units
CS 259Q

Quantum Computing

3 Units
CS 263

Counting and Sampling

3 Units
CS 264

Beyond Worst-Case Analysis

3 Units
CS 269I

Incentives in Computer Science

3 Units
CS 355

Advanced Topics in Cryptography

3 Units

*Enrollment in CS369 with permission of undergraduate advisor.

and
Depth Electives

Complete at least three additional courses selected from Track B or C lists above, the Subplan Electives listed below, or General CS Electives listed in the Electives section. Up to one course from the Eligible Humanities Electives list (also found in the Electives section) may be used.

Complete any of the following requirements:
Subplan Electives
Complete any of the following course(s):
CME 302

Numerical Linear Algebra

3 Units
CS 254B

Computational Complexity II

3 Units
PHIL 152

Computability and Logic

4 Units

Unspecialized Subplan

Unspecialized Subplan

93 Units minimum

25 units and 7 courses  minimum of Unspecialized Depth coursework.

Complete all of the following requirements:
Track A Requirement
Complete all of the following course(s):
CS 154

Introduction to the Theory of Computation

3-4 Units
and
Track B Requirement
Complete at least 1 of the following courses:
CS 112

Operating systems kernel implementation project

3 Units
CS 140E

Operating systems design and implementation

3-4 Units
CS 143

Compilers

3-4 Units
and
Track C Requirement

Complete one additional course from the list above, or one of the following:

Complete at least 1 of the following courses:
CS 144

Introduction to Computer Networking

3-4 Units
CS 155

Computer and Network Security

3 Units
CS 242

Programming Languages

3-4 Units
CS 244C

Advanced Networking and Distributed Systems

3-4 Units
EE 180

Digital Systems Architecture

4 Units
and
Track D Requirement
Complete at least 1 of the following courses:
CS 221

Artificial Intelligence: Principles and Techniques

3-4 Units
CS 223A

Introduction to Robotics

3 Units
CS 228

Probabilistic Graphical Models: Principles and Techniques

3-4 Units
CS 229

Machine Learning

3-4 Units
CS 231A

Computer Vision: From 3D Perception to 3D Reconstruction and Beyond

3-4 Units
CS 238

Decision Making under Uncertainty

3-4 Units
and
Track E Requirement
Complete at least 1 of the following courses:
CS 145

Intro to Modern Data Systems

3-4 Units
CS 147

Introduction to Human-Computer Interaction Design

3-5 Units
CS 148

Introduction to Computer Graphics and Imaging

3-4 Units
CS 168

The Modern Algorithmic Toolbox

3-4 Units
CS 173A

Foundations of Computational Human Genomics

3-4 Units
CS 248A

Computer Graphics: Rendering, Geometry, and Image Manipulation

3-4 Units
CS 248B

Fundamentals of Computer Graphics: Animation and Simulation

3 Units
CS 279

Computational Biology: Structure and Organization of Biomolecules and Cells

3 Units
and
Depth Electives

Complete at least two additional courses selected from the CS-BS General Electives list in the Electives section. You may also choose up to one course from the list of Eligible Humanities courses listed in the Electives section.

Visual Computing Subplan

Visual Computing Subplan

93 Units minimum

25 units and 7 courses  minimum of Visual Computing Depth coursework.

Complete all of the following requirements:
Visual Computing Core:
Complete at least 2 of the following courses:
CS 225A

Experimental Robotics

3 Units
CS 248A

Computer Graphics: Rendering, Geometry, and Image Manipulation

3-4 Units
CS 248B

Fundamentals of Computer Graphics: Animation and Simulation

3 Units
CS 231N

Deep Learning for Computer Vision

3-4 Units
and
Visual Computing Depth:
Complete at least 3 of the following courses:
CS 205L

Continuous Mathematical Methods with an Emphasis on Machine Learning

3 Units
CS 223A

Introduction to Robotics

3 Units
CS 224R

Deep Reinforcement Learning

3 Units
CS 225A

Experimental Robotics

3 Units
CS 231A

Computer Vision: From 3D Perception to 3D Reconstruction and Beyond

3-4 Units
CS 231N

Deep Learning for Computer Vision

3-4 Units
CS 233

Geometric and Topological Data Analysis

3 Units
CS 248A

Computer Graphics: Rendering, Geometry, and Image Manipulation

3-4 Units
CS 248B

Fundamentals of Computer Graphics: Animation and Simulation

3 Units
CS 348C

Computer Graphics: Animation and Simulation

3 Units
CS 348I

Computer Graphics in the Era of AI

3-4 Units
CS 348K

Visual Computing Systems

3-4 Units
CS 448I

Computational Imaging

3 Units
EE 267

Virtual Reality

3-4 Units
and
Track Electives

Complete at least three additional courses selected from the Visual Computing Depth course list above, from the Subplan Electives list below, or the CS-BS General Electives list in the Electives section. Up to one Humanities course may be used.

Complete any of the following requirements:
Subplan Elective Courses
Complete at least 3 of the following courses:
CS 123

A Hands-On Introduction to Building AI-Enabled Robots

3 Units
CS 131

Computer Vision: Foundations and Applications

3-4 Units
CS 148

Introduction to Computer Graphics and Imaging

3-4 Units
CS 149

Parallel Computing

3-4 Units
CS 221

Artificial Intelligence: Principles and Techniques

3-4 Units
CS 224N

Natural Language Processing with Deep Learning

3-4 Units
CS 229

Machine Learning

3-4 Units
CS 230

Deep Learning

3-4 Units
CS 234

Reinforcement Learning

3 Units
CS 236

Deep Generative Models

3 Units
CS 448B

Data Visualization

3-4 Units
CS 448Z

Physically Based Animation and Sound

3-4 Units
EE 261

The Fourier Transform and Its Applications

3 Units

Individually Designed Subplan

Individually Designed Subplan Overview

Students may propose an Individually Designed Track that includes a minimum of seven courses and 25 units, at least four of which must be CS courses numbered 100 or above. Proposals must be submitted and approved at least two quarters before graduation. To create an individually designed program, students should complete an Individually Designed Track program sheet and obtain approval from their undergraduate advisor and the Associate Chair for Education, Chris Gregg. Proposals will be evaluated for coherence and rigor. Approved program sheets should be submitted to the staff in the CS undergraduate program office, and any subsequent changes must go through the same proposal and approval process.

Honors

Optional
Students may choose to pursue department honors by completing a program of special advanced work, such as an honors thesis, in addition to their major requirements.

Honors

Honors Overview & Course Units

The Department of Computer Science (CS) offers an honors program opens in a new tabfor undergraduates whose academic records and personal initiative indicate that they have the necessary skills to undertake high-quality research in computer science. Admission to the program is by application only. To apply for the honors program, students must be majoring in Computer Science, have a grade point average (GPA) of at least 3.6 in courses that count toward the major, and achieve senior standing (135 or more units) by the end of the academic year in which they apply. Coterminal master’s students can apply if they have not received their undergraduate degree. Beyond these requirements, students who apply for the honors program must find a Computer Science faculty member who agrees to serve as the thesis advisor for the project. Thesis advisors must be members of Stanford’s Academic Council.

Upon acceptance into the Honors Program, students are required to fulfill the following requirements within the academic year of their admission.

  1. Complete at least nine units of CS 191 or CS 191W under the direction of their project sponsor

  2. Attend a weekly honors seminar during winter and spring quarters

  3. Complete an honors thesis deemed acceptable by the thesis advisor and at least one additional faculty member

  4. Present the thesis at a public colloquium sponsored by the CS department

  5. Maintain the 3.6 GPA required for admission to the honors program

https://www.cs.stanford.edu/bs-requirements-honors-program opens in a new tab

Earn at least 9 units in the following course(s):
CS 191

Senior Project

1-6 Units
or
CS 191W

Writing Intensive Senior Research Project

3-6 Units