Major: Bachelor of Science
MajorOverview
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)
Required Math Courses
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.
Math Electives
Students must complete at least 2 Math Electives regardless of if they've reached the 26 units of Math.
CME 100
Vector Calculus for Engineers
CME 102
Ordinary Differential Equations for Engineers
CME 104
Linear Algebra and Partial Differential Equations for Engineers
CS 157
Computational Logic
CS 205L
Continuous Mathematical Methods with an Emphasis on Machine Learning
ENGR 108
Introduction to Matrix Methods
MATH 51
Linear Algebra, Multivariable Calculus, and Modern Applications
MATH 52
Integral Calculus of Several Variables
MATH 53
Differential Equations with Linear Algebra, Fourier Methods, and Modern Applications
MATH 104
Applied Matrix Theory
MATH 107
Graph Theory
MATH 108
Introduction to Combinatorics and Its Applications
MATH 109
Groups and Symmetry
MATH 110
Number Theory for Cryptography
MATH 113
Linear Algebra and Matrix Theory
PHIL 151
Metalogic
Math electives are not required for the Computational Bio Subplan.
Science (11 units minimum)
Physics Courses
PHYSICS 41
Mechanics
PHYSICS 21
Mechanics and Fluids
PHYSICS 61
Mechanics and Special Relativity
PHYSICS 41E
Mechanics, Concepts, Calculations, and Context
PHYSICS 43
Electricity and Magnetism
PHYSICS 23
Electricity, Magnetism, and Optics
PHYSICS 81
Electricity and Magnetism Using Special Relativity and Vector Calculus
OSPPARIS 53
Electricity, Magnetism and Optics with Laboratory
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.
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)
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
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.
CS-BS General Electives
CS 112
Operating systems kernel implementation project
CS 123
A Hands-On Introduction to Building AI-Enabled Robots
CS 124
From Languages to Information
CS 131
Computer Vision: Foundations and Applications
CS 137A
Principles of Robot Autonomy I
CS 139
Human-Centered AI
CS 140E
Operating systems design and implementation
CS 143
Compilers
CS 144
Introduction to Computer Networking
CS 145
Intro to Modern Data Systems
CS 146J
Full-Stack Web Programming
CS 146S
The Modern Software Developer
CS 147
Introduction to Human-Computer Interaction Design
CS 147L
Cross-platform Mobile App Development
CS 148
Introduction to Computer Graphics and Imaging
CS 149
Parallel Computing
CS 151
Logic Programming
CS 154
Introduction to the Theory of Computation
CS 155
Computer and Network Security
CS 166
Advanced Data Structures
CS 168
The Modern Algorithmic Toolbox
CS 171
Causality, Decision Making and Data Science
CS 173A
Foundations of Computational Human Genomics
CS 177
Introduction to Product Management with AI
CS 195
Supervised Undergraduate Research
CS 197
Computer Science Research
CS 197C
Computer Science Research: CURIS Internship Onramp
CS 205L
Continuous Mathematical Methods with an Emphasis on Machine Learning
CS 206
Exploring Computational Journalism
CS 210A
Industry Innovation Lab
CS 212
Operating Systems and Systems Programming
CS 217
Hardware Accelerators for Machine Learning
CS 221
Artificial Intelligence: Principles and Techniques
CS 222
AI Agents and Simulations
CS 223A
Introduction to Robotics
CS 224G
Apps With LLMs Inside
CS 224N
Natural Language Processing with Deep Learning
CS 224R
Deep Reinforcement Learning
CS 224S
Spoken Language Processing
CS 224V
Agentic AI
CS 224W
Machine Learning with Graphs
CS 225A
Experimental Robotics
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 229S
Systems for Machine Learning
CS 230
Deep Learning
CS 231A
Computer Vision: From 3D Perception to 3D Reconstruction and Beyond
CS 231N
Deep Learning for Computer Vision
CS 232
Digital Image Processing
CS 233
Geometric and Topological Data Analysis
CS 234
Reinforcement Learning
CS 235
Computational Methods for Biomedical Image Analysis and Interpretation
CS 237A
Principles of Robot Autonomy I
CS 237B
Principles of Robot Autonomy II
CS 238
Decision Making under Uncertainty
CS 240
Advanced Topics in Operating Systems
CS 240LX
Advanced Systems Laboratory, Accelerated
CS 242
Programming Languages
CS 243
Program Analysis and Optimizations
CS 244C
Advanced Networking and Distributed Systems
CS 246
Mining Massive Data Sets
CS 247A
Design for Artificial Intelligence
CS 247B
Design for Behavior Change
CS 247E
Design for Earth
CS 247G
Design for Play
CS 247I
Design for Understanding
CS 247S
Service Design with AI
CS 248A
Computer Graphics: Rendering, Geometry, and Image Manipulation
CS 248B
Fundamentals of Computer Graphics: Animation and Simulation
CS 249I
The Modern Internet
CS 250
Algebraic Error Correcting Codes
CS 251
Cryptocurrencies and blockchain technologies
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 270
Modeling Biomedical Systems
CS 272
Introduction to Biomedical Informatics Research Methodology
CS 273B
Deep Learning in Genomics and Biomedicine
CS 273C
Cloud Computing for Biology and Healthcare
CS 274
Representations and Algorithms for Computational Molecular Biology
CS 275
Translational Bioinformatics
CS 278
Social Computing
CS 279
Computational Biology: Structure and Organization of Biomolecules and Cells
CS 281
Ethics of Artificial Intelligence
CS 293
Empowering Educators via Language Technology
CS 323
The AI Awakening: Implications for the Economy and Society
CS 330
Deep Multi-task and Meta Learning
CS 336
Language Modeling from Scratch
CS 342
Building for Digital Health
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 348K
Visual Computing Systems
CS 348N
Neural Models for 3D Geometry
CS 355
Advanced Topics in Cryptography
CS 361
Engineering Design Optimization
CS 377G
Designing Serious Games
CS 448B
Data Visualization
CEE 342
Designing for Gradient Spaces
CME 108
Introduction to Scientific Computing with Machine Learning Applications
DATASCI 112
Principles of Data Science
EE 108
Digital System Design
EE 180
Digital Systems Architecture
EE 267
Virtual Reality
EE 282
Computer Systems Architecture
EE 364A
Convex Optimization I
EE 374
Fundamentals of Blockchain Infrastructure
ENGR 245
The Lean LaunchPad: Getting Your Lean Startup Off the Ground
MS&E 244
Statistical Arbitrage
MS&E 265
Product Management Fundamentals for the Real Economy
MS&E 296
Technology, Innovation and Great Power Competition
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.
AMSTUD 120
The Rise of Digital Culture
AMSTUD 145
Silicon Valley
ARCHLGY 151
Ten Things: An Archaeology of Design
ARTHIST 168A
AI 360: What's Critical to Know about AI
ARTSINST 142
Drawing with Code
ARTSTUDI 129
Augmented Reality: Placemaking and Storytelling
ARTSTUDI 130
Interactive Art: Making it with Arduino
ARTSTUDI 168
Data as Material
COMM 120W
The Rise of Digital Culture
COMM 124
Truth, Trust, and Tech
COMM 130D
Dark Patterns
COMM 145
Personality and Digital Media
COMM 154
The Politics of Algorithms
COMM 158
Censorship and Propaganda
COMM 166
Virtual People
COMM 173A
Media, Mind, and Black Mirror
COMM 186W
Media, Technology, and the Body
COMM 230A
Digital Civil Society
CS 80Q
Race and Gender in Silicon Valley
CS 120
Introduction to AI Safety
CS 121
Equity and Governance for Artificial Intelligence
CS 152
Trust and Safety
CS 181
Computers, Ethics, and Public Policy
CS 181W
Computers, Ethics, and Public Policy (WIM)
CS 182
Ethics, Public Policy, and Technological Change
CS 182W
Ethics, Public Policy, and Technological Change (WIM)
CS 184
Bridging Policy and Tech Through Design
CS 206
Exploring Computational Journalism
CS 281
Ethics of Artificial Intelligence
CSRE 314
Funkentelechy: Technologies, Social Justice and Black Vernacular Cultures
EARTHSYS 144
Fundamentals of Geographic Information Science (GIS)
EARTHSYS 153
Data Science for Social Impact
EARTHSYS 162
Data for Sustainable Development
EARTHSYS 227
Decision Science for Environmental Threats
ECON 151
Tackling Big Questions Using Social Data Science
ECON 295
The AI Awakening: Implications for the Economy and Society
ENERGY 112
Exploring Geosciences with MATLAB
ENERGY 160
Uncertainty Quantification in Data-Centric Simulations
ENGLISH 106A
AI 360: What's Critical to Know about AI
ENGLISH 115
Virtual Italy
ENGLISH 184E
Literary Text Mining
ENGR 110
Perspectives in Assistive Technology (ENGR 110)
ETHICSOC 131X
Ethics in Bioengineering
FEMGEN 44Q
Gendered Innovations in Science, Medicine, Engineering, and Environment
FEMGEN 147
Feminism and Technology
FEMGEN 149
Technology and Fascism: History of a Paradox
FEMGEN 243F
New Directions in Gendered Innovations in Science, Medicine, Technology, and Environment
GEOPHYS 128
Modeling Earth
GEOPHYS 228
Modeling Earth
HISTORY 44
Gendered Innovations in Science, Medicine, Engineering, and Environment
HISTORY 44Q
Gendered Innovations in Science, Medicine, Engineering, and Environment
HISTORY 244F
New Directions in Gendered Innovations in Science, Medicine, Technology, and Environment
INTLPOL 245B
Governing Artificial Intelligence: Law, Policy, and Institutions
INTLPOL 265
AI, Autonomy, and the Future of Warfare
INTLPOL 321
Fundamentals of Cyber Policy and Security
LAW 4052
Governing Artificial Intelligence: Law, Policy, and Institutions
LINGUIST 130A
Introduction to Semantics and Pragmatics
LINGUIST 145
Introduction to Psycholinguistics
LINGUIST 150
Language and Society
LINGUIST 156
Language, Gender, & Sexuality
LINGUIST 281A
Race and Natural Language Processing
MS&E 254
The Ethical Analyst
MS&E 289
Ethics in Global Technology Design
PHIL 60
Introduction to Philosophy of Science
PHIL 72
Contemporary Moral Problems
PHIL 99
Minds and Machines
PHIL 170
Ethical Theory
PHIL 171
Justice
POLISCI 125
Tech Ethics and the Future of Human Values
POLISCI 143C
The Politics of Internet Abuse
POLISCI 150A
Data Science for Politics
POLISCI 294
AI Policy Development: Leveraging Social Science to Ensure Responsible Generative AI
PSYCH 35
Minds and Machines
PSYCH 70
Self and Society: Introduction to Social Psychology
PSYCH 80
Introduction to Personality and Affective Science
PSYCH 141
Islamic Psychology
PSYCH 175
Developmental Science of Social Cognition
PSYCH 180
Advanced Seminar on Racial Bias and Structural Inequality
PSYCH 204A
Human Neuroimaging Methods
PSYCH 204B
Computational Neuroimaging: Data Analyses
PSYCH 215
Mind, Culture, and Society
PUBLPOL 63Q
Democratizing Ethics with Discrimination, Inequality, Injustice and Technology in Mind
PUBLPOL 103F
Ethics of Truth in a Post-Truth World
SOC 114
Economic Sociology
SUST 210
Pursuing Sustainability: Managing Complex Social Environmental Systems
SYMSYS 1
Minds and Machines
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.
Capstone
Senior Project (3 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
RequiredArtificial Intelligence Subplan
Track A Requirement
CS 221
Artificial Intelligence: Principles and Techniques
Track B Requirement
Select a total of two courses, each from a different area.
Area I: AI Methods
You can only select one course from each area.
Area II: Natural Language Processing
Area III: Vision
Area IV: Robotics
Track C Requirement
Select one additional course from the Track B Requirement list or from the following:
AI Methods
CS 157
Computational Logic
CS 205L
Continuous Mathematical Methods with an Emphasis on Machine Learning
CS 230
Deep Learning
CS 236
Deep Generative Models
CS 257
Introduction to Automated Reasoning
STATS 315A
Modern Applied Statistics: Learning
STATS 315B
Modern Applied Statistics: Learning II
Information and the Web
CS 224W
Machine Learning with Graphs
Ethics
CS 256
Algorithmic Fairness
Systems
CS 229S
Systems for Machine Learning
Simulation
CS 222
AI Agents and Simulations
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.
Track Electives
APPPHYS 293
A modern explainable AI approach to Theoretical Neuroscience
CS 325B
Data for Sustainable Development
CS 326
Topics in Advanced Robotic Manipulation
CS 342
Building for Digital Health
EE 263
Matrix Methods: Singular Value Decomposition
EE 278
Probability and Statistical Inference
EE 364A
Convex Optimization I
EE 364B
Convex Optimization II
MS&E 252
Foundations of Decision Analysis
MS&E 355
Influence Diagrams and Probabilistics Networks
PHIL 152
Computability and Logic
PSYCH 204A
Human Neuroimaging Methods
PSYCH 204B
Computational Neuroimaging: Data Analyses
PSYCH 209
Neural Network Models of Cognition
STATS 200
Introduction to Theoretical Statistics
STATS 202
Statistical Learning and Data Science
STATS 203
Regression Models and Analysis of Variance
STATS 205
Introduction to Nonparametric Statistics
STATS 220
Machine Learning Methods for Neural Data Analysis
STATS 271
Applied Bayesian Statistics
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.
Mathematics
Complete a minimum of 20 units of mathematics coursework.
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.
Biology or Humbio Sequence
Complete at least 3 courses and 12 units in either the Biology Sequence or Humbio Sequence.
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.
CS 106B
Programming Abstractions
Computational Biology Depth
Complete at least 8 courses and 25 units.
Track B Requirment
CLASSICS 145
Narratives of Enslavement
CS 246
Mining Massive Data Sets
Track C Requirement
CS 146J
Full-Stack Web Programming
CS 147L
Cross-platform Mobile App Development
CS 448B
Data Visualization
DATASCI 112
Principles of Data Science
Track D Requirement
BMDS 210
Modeling Biomedical Systems
BMDS 214
Representations and Algorithms for Computational Molecular Biology
BMDS 215
Data Science for Medicine
BMDS 217
Translational Bioinformatics
BMDS 219
Mathematical Models and Medical Decisions
BMDS 222
Cloud Computing for Biology and Healthcare
BMDS 260
Computational Methods for Biomedical Image Analysis and Interpretation
CS 273B
Deep Learning in Genomics and Biomedicine
CS 279
Computational Biology: Structure and Organization of Biomolecules and Cells
IMMUNOL 207
Essential Methods in Computational and Systems Immunology
Track E Requirement
CS 124
From Languages to Information
CS 131
Computer Vision: Foundations and Applications
CS 224N
Natural Language Processing with Deep Learning
CS 224R
Deep Reinforcement Learning
CS 224V
Agentic AI
CS 224W
Machine Learning with Graphs
CS 228
Probabilistic Graphical Models: Principles and Techniques
CS 229
Machine Learning
CS 229S
Systems for Machine Learning
CS 231N
Deep Learning for Computer Vision
CS 234
Reinforcement Learning
CS 238
Decision Making under Uncertainty
Track F Requirement
Complete one additional course from the Track D or Track E lists above, or one of the following.
APPPHYS 294
Cellular Biophysics
BIO 183
Theoretical Population Genetics
BIO 187
Mathematical Population Biology
BIOC 241
Biological Macromolecules
BMDS 210
Modeling Biomedical Systems
BMDS 214
Representations and Algorithms for Computational Molecular Biology
BMDS 215
Data Science for Medicine
BMDS 217
Translational Bioinformatics
BMDS 219
Mathematical Models and Medical Decisions
BMDS 222
Cloud Computing for Biology and Healthcare
BMDS 260
Computational Methods for Biomedical Image Analysis and Interpretation
CHEMENG 150
Biochemical Engineering
CS 124
From Languages to Information
CS 131
Computer Vision: Foundations and Applications
CS 142
Web Applications
CS 147
Introduction to Human-Computer Interaction Design
CS 147L
Cross-platform Mobile App Development
CS 148
Introduction to Computer Graphics and Imaging
CS 154
Introduction to the Theory of Computation
CS 166
Advanced Data Structures
CS 168
The Modern Algorithmic Toolbox
CS 224N
Natural Language Processing with Deep Learning
CS 224R
Deep Reinforcement Learning
CS 224V
Agentic AI
CS 224W
Machine Learning with Graphs
CS 228
Probabilistic Graphical Models: Principles and Techniques
CS 229
Machine Learning
CS 229S
Systems for Machine Learning
CS 230
Deep Learning
CS 231N
Deep Learning for Computer Vision
CS 234
Reinforcement Learning
CS 238
Decision Making under Uncertainty
CS 248A
Computer Graphics: Rendering, Geometry, and Image Manipulation
CS 273B
Deep Learning in Genomics and Biomedicine
CS 279
Computational Biology: Structure and Organization of Biomolecules and Cells
DATASCI 112
Principles of Data Science
EE 263
Matrix Methods: Singular Value Decomposition
EE 364A
Convex Optimization I
IMMUNOL 207
Essential Methods in Computational and Systems Immunology
MS&E 152
Introduction to Decision Analysis
MS&E 252
Foundations of Decision Analysis
STATS 141
Introduction to Statistics for Biology
STATS 202
Statistical Learning and Data Science
STATS 203
Regression Models and Analysis of Variance
STATS 205
Introduction to Nonparametric Statistics
STATS 206
Applied Multivariate Analysis
STATS 211
Meta-research: Appraising Research Findings, Bias, and Meta-analysis
STATS 315A
Modern Applied Statistics: Learning
STATS 315B
Modern Applied Statistics: Learning II
Track G Requirement
Complete at least one additional course from the Track D list, or from the following.
APPPHYS 294
Cellular Biophysics
BIO 81
Introduction to Ecology
BIO 82
Genetics
BIO 83
Biochemistry & Molecular Biology
BIO 84
Physiology
BIO 86
Cell Biology
BIO 85
Evolution
BIO 214
Advanced Cell Biology
BIO 230
Cellular and Molecular Immunology: An Introductory Course
BIOC 241
Biological Macromolecules
BIOE 220
Introduction to Imaging and Image-based Human Anatomy
BMDS 272
Healthcare Acceleration: Artificial Intelligence
CHEM 31A
Chemical Principles I
CHEM 31B
Chemical Principles II
CHEM 31E
Chemical Foundations and 21st Century Problems
CHEM 33
Structure and Reactivity of Carbon-Based Molecules
CHEM 141
The Chemical Principles of Life I
CHEM 143
The Chemical Principles of Life II
CHEM 171
Linking the Molecular to the Macroscopic: Foundations of Physical Chemistry
CHEM 181
Biochemistry I
CHEMENG 150
Biochemical Engineering
CHEMENG 174
Environmental Microbiology I
DBIO 210
Developmental Biology
GENE 211
Genomics
HUMBIO 151R
Biology, Health and Big Data
ME 281
Biomechanics of Movement
Capstone
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.
Track C Requirement: Pick a Concentration
Satisfy the requirements of one of the following concentration requirements below: Digital Systems, Robotics and Mechatronics, or Networking.
A. Digital Systems Concentrations
Required Elective Options
Human-Computer Interaction Subplan
Human-Computer Interaction Subplan
93 units minimum
25 units and 7 courses minimum of Human-Computer Interaction Depth coursework.
Track A Requirement
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.
Track Elective
Complete one additional course from the Track C List or from one of the following.
CS 194H
User Interface Design Project
CS 206
Exploring Computational Journalism
CS 210A
Industry Innovation Lab
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 247E
Design for Earth
CS 247G
Design for Play
CS 247I
Design for Understanding
CS 247S
Service Design with AI
CS 329X
Human Centered NLP
CS 377E
Designing Solutions to Global Grand Challenges
CS 377G
Designing Serious Games
CS 377J
Designing Systems for Collaboration, Cooperation, and Collective Action
CS 377P
Read, Write, Play
CS 377Q
Designing for Accessibility
CS 377U
Understanding Users
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.
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.
Track B Requirement
Complete two courses from different areas:
Area I: Information-based AI Applications
You can only select one course from each area.
Area II: Database and Information Systems
You can only select one course from each area.
Area III: Information Systems in Biology
Area IV: Information Systems on the Web
You can only select one course from each area.
CS 224W
Machine Learning with Graphs
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.
Track C Requirement
CS 144
Introduction to Computer Networking
CS 145
Intro to Modern Data Systems
CS 149
Parallel Computing
CS 155
Computer and Network Security
CS 217
Hardware Accelerators for Machine Learning
CS 242
Programming Languages
CS 243
Program Analysis and Optimizations
CS 244C
Advanced Networking and Distributed Systems
EE 271
Introduction to VLSI Systems
EE 282
Computer Systems Architecture
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.
Subplan Elective Courses
CS 241
Embedded Systems Workshop
CS 295
Software Engineering
CS 340R
Rusty Systems
CS 343D
Domain-Specific Programming Models and Compilers
CS 349D
AI Inference Infrastructure
CS 349H
Software Techniques for Emerging Hardware Platforms
CS 448I
Computational Imaging
EE 108
Digital System Design
EE 382A
Parallel Processors Beyond Multicore Processing
EE 382C
Interconnection Networks
EE 384S
Performance Engineering of Computer Systems & Networks
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.
Track A Requirement
CS 154
Introduction to the Theory of Computation
Track C Requirement
Complete two additional courses from Track B list, or one of the following:
CS 143
Compilers
CS 151
Logic Programming
CS 155
Computer and Network Security
CS 166
Advanced Data Structures
CS 205L
Continuous Mathematical Methods with an Emphasis on Machine Learning
CS 228
Probabilistic Graphical Models: Principles and Techniques
CS 233
Geometric and Topological Data Analysis
CS 235
Computational Methods for Biomedical Image Analysis and Interpretation
CS 236
Deep Generative Models
CS 242
Programming Languages
CS 250
Algebraic Error Correcting Codes
CS 251
Cryptocurrencies and blockchain technologies
CS 254
Computational Complexity
CS 259Q
Quantum Computing
CS 263
Counting and Sampling
CS 264
Beyond Worst-Case Analysis
CS 269I
Incentives in Computer Science
CS 355
Advanced Topics in Cryptography
*Enrollment in CS369 with permission of undergraduate advisor.
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.
Unspecialized Subplan
Unspecialized Subplan
93 Units minimum
25 units and 7 courses minimum of Unspecialized Depth coursework.
Track A Requirement
CS 154
Introduction to the Theory of Computation
Track C Requirement
Complete one additional course from the list above, or one of the following:
Track D Requirement
CS 221
Artificial Intelligence: Principles and Techniques
CS 223A
Introduction to Robotics
CS 228
Probabilistic Graphical Models: Principles and Techniques
CS 229
Machine Learning
CS 231A
Computer Vision: From 3D Perception to 3D Reconstruction and Beyond
CS 238
Decision Making under Uncertainty
Track E Requirement
CS 145
Intro to Modern Data Systems
CS 147
Introduction to Human-Computer Interaction Design
CS 148
Introduction to Computer Graphics and Imaging
CS 168
The Modern Algorithmic Toolbox
CS 173A
Foundations of Computational Human Genomics
CS 248A
Computer Graphics: Rendering, Geometry, and Image Manipulation
CS 248B
Fundamentals of Computer Graphics: Animation and Simulation
CS 279
Computational Biology: Structure and Organization of Biomolecules and Cells
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.
Visual Computing Core:
Visual Computing Depth:
CS 205L
Continuous Mathematical Methods with an Emphasis on Machine Learning
CS 223A
Introduction to Robotics
CS 224R
Deep Reinforcement Learning
CS 225A
Experimental Robotics
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 248A
Computer Graphics: Rendering, Geometry, and Image Manipulation
CS 248B
Fundamentals of Computer Graphics: Animation and Simulation
CS 348C
Computer Graphics: Animation and Simulation
CS 348I
Computer Graphics in the Era of AI
CS 348K
Visual Computing Systems
CS 448I
Computational Imaging
EE 267
Virtual Reality
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.
Subplan Elective Courses
CS 123
A Hands-On Introduction to Building AI-Enabled Robots
CS 131
Computer Vision: Foundations and Applications
CS 148
Introduction to Computer Graphics and Imaging
CS 149
Parallel Computing
CS 221
Artificial Intelligence: Principles and Techniques
CS 224N
Natural Language Processing with Deep Learning
CS 229
Machine Learning
CS 230
Deep Learning
CS 234
Reinforcement Learning
CS 236
Deep Generative Models
CS 448B
Data Visualization
CS 448Z
Physically Based Animation and Sound
EE 261
The Fourier Transform and Its Applications
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
OptionalHonors
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.
Complete at least nine units of CS 191 or CS 191W under the direction of their project sponsor
Attend a weekly honors seminar during winter and spring quarters
Complete an honors thesis deemed acceptable by the thesis advisor and at least one additional faculty member
Present the thesis at a public colloquium sponsored by the CS department
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

:format(webp))