Stanford CS Core Curriculum
Computer System
- CS106B Programming Abstractions
- CS106B Programming Abstractions
- CS106X Programming Abstractions in C++
- CS107 Computer Organization & Systems
- CS107 Programming Paradigms
- CS107E Computer Systems from the Ground Up
- CS110 Principles of Computer Systems
- CS110 Principles of Computer Systems
Computer Theory
Data Structure and Algorithms
Stanford CS Branch Course
Computer System
- CS1U Practical Unix
- CS101 Introduction to Computing Principles
- CS140 Operating Systems
- CS140E Operating Systems Design and Implementation
- CS143 Compilers
- CS149 Parallel Computing
- CS240 Advanced Topics in Operating Systems
- CS240LX Advanced Systems Laboratory, Accelerated
- CS244b Distributed Systems
- CS315B Parallel Programming
- CS348K Visual Computing Systems
- cs357S Formal Methods for Computer Systems
Computer Theory
- CS103A Math Problem-Solving Strategies
- CS106A Programming Methodologies
- CS106A Programming Methodology
- CS242 Programming Languages
- CS358 Programming Language Foundations
- CS106L Standard C++ Programming
- CS151 Logic Programming
- CS154 Introduction to the Theory of Computation
- CS154 Introduction to the Theory of Computation
- CS163 The Practice of Theory Research
- CS168 The Modern Algorithmic Toolbox
- CS261 Optimization and Algorithmic Paradigms
- CS334A/EE364A Convex Optimization I
- CS334A/EE364A Convex Optimization I
- CS334B/EE364B Convex Optimization II
- CS334B/EE364B Convex Optimization II
- MS&E213/CS269O Introduction to Optimization Theory
- CS254 Computational Complexity
- CS254B Computational Complexity II
- CS243 Program Analysis and Optimizations
- CS265 Randomized Algorithms and Probabilistic Analysis
- CS351 Open Problems in Coding Theory
Machine Learning and Artificial Intelligence
- CS129 Applied Machine Learning
- CS229 Machine Learning
- CS229 Machine Learning
- CS229 Machine Learning
- CS229M Statistical Learning Theory
- CS205L Continuous Mathematical Methods with an Emphasis on Machine Learning
- CS221 Artificial Intelligence: Principles and Techniques
- CS221 Artificial Intelligence: Principles and Techniques
- CS131 Computer Vision Foundations and Applications
- CS231A Computer Vision, From 3D Reconstruction to Recognition
- CS231n Convolutional Neural Networks for Visual Recognition
- CS231n Convolutional Neural Networks for Visual Recognition
- CS331B Representation Learning in Computer Vision
- CS224N Natural Language Processing with Deep Learning
- CS224W Machine Learning with Graphs
- CS224W Machine Learning with Graphs
- CS224U Natural Language Understanding
- CS294S, CS 294W A Project Course on Building the Best Virtual Assistant
- CS224S Spoken Language Processing
- CS20 Tensorflow for Deep Learning Research
- CS20 Tensorflow for Deep Learning Research
- CS230 Deep Learning
- CS330 Deep Multi-Task and Meta Learning
- CS330 Deep Multi-Task and Meta Learning
- CS234 Reinforcement Learning
- CS234 Reinforcement Learning
- CS320 Value of Data and AI
- CS377E Computational Models of the Neocortex
- CS217 Hardware Accelerators for Machine Learning
- CS472 Data science and AI for COVID-19
- CS335 Fair, Accountable, and Transparent Deep Learning
Computer Network and Security
- CS110L Safety in Systems Programming
- CS144 Introduction to Computer Networking
- CS144 Introduction to Computer Networking
- CS155 Computer and Network Security
- CS244 Advanced Topics in Networking
- CS344 Topics in Computer Networks
- CS253 Web Security
- CS253 Web Security
- CS255 Introduction to Cryptography
- CS350 Secure Compilation
- CS355 Advanced Topics in Cryptography
- CS356 Topics in Computer and Network Security Stanford
Information Management and Analysis
- CS102 Working with Data Tools and Techniques
- CS124 From Languages to Information
- CS145 Data Management and Data Systems
- CS166 Data Structures
- CS245 Principles of Data-Intensive Systems
- CS246 Mining Massive Data Sets
- CS246 Mining Massive Data Sets
- CS246H Mining Massive Data Sets Hadoop Lab
- CS276 / LING 286 Information Retrieval and Web Search
- CS341 Project in Mining Massive Data Sets
- CS448B Visualization
Human-computer Interaction
- CS147 Introduction to Human-Computer Interaction Design
- CS247 Interaction Design Studios
- CS347 Human-Computer Interaction Research
- CS377E Designing Solutions to Global Grand Challenges: Human-Centered AI
- CS547 Human-Computer Interaction Seminar
- CS547 Human-Computer Interaction Seminar
Graphics
- CS148 Introduction to Computer Graphics and Imaging
- CS228 Probabilistic Graphical Models: Principles and Techniques
- CS233 Geometric and Topological Data Analysis
- CS248 Interactive Computer Graphics
- CS348A Computer Graphics: Geometric Modeling & Processing
- CS348B Computer Graphics: Image Synthesis Techniques
- CS348C Computer Graphics Animation and Simulation
- CS448M Topics in Computer Graphics
- CS468 Topics in Geometric Algorithms
App Development
- CS142 Web Applications
- CS190 Software Design Studio
- CS193A Android App Development
- CS193A Android App Development
- CS193P Developing Applications for iOS using SwiftUI
- CS193P Developing Applications for iOS using SwiftUI
- CS193Q Introduction to Python Programming
- CS193X Web Programming Fundamental
- CS194A Android Workshop
- CS194 Software Project Experience
- CS195 Software Engineering
Robotics
- CS223A/ME320 Introduction to Robotics
- CS223A Introduction to Robotics
- CS225A Experimental Robotics
- CS327A Advanced Robotic Manipulation
- CS237B Principles of Robot Autonomy II
- CS326 Topics in Advanced Robotic Manipulation
- CS529 Robotics and Autonomous Systems Seminar
Game
- CS193U Video Game Development in C++ and Unreal Engine
- CS227B General Game Playing
- CS269I Incentives in Computer Science
Social Computing
- CS106S Programming Abstractions & Social Good
- CS181/181W Computers, Ethics, and Public Policy
- CS182 Ethics, Public Policy, and Technological Change
- CS184 Bridging Policy and Tech Through Design
- CS202 Law for Computer Science Professionals
- CS204 Computational Law
- CS21SI AI for Social Good
- CS278 Social Computing
- CS384 Ethical and Social Issues in Natural Language Processing
Computational Biology
- CS235 Computational Methods for Biomedical Image Analysis and Interpretation
- CS273A The Human Genome Source Code
- CS275 Translational Bioinformatics
- CS279 Computational Biology Structure and Organization of Biomolecules and Cells
Healthcare
- BIODS220 (CS271, BIOMEDIN220) Artificial Intelligence in Healthcare
- CS372 AI for Disease Diagnosis & Information Recommend
- CS522 Seminar in Artificial Intelligence in Healthcare
Others
- CS007 Personal Finance for Engineers
- CS349F Technologies for Financial Systems
- CS251 Cryptocurrencies and Blockchain Technologies
- CS206 Technical Foundations of Electronic Commerce
- CS198 Teaching Computer Science
- CS298 Seminar on Teaching Introductory Computer Science
- CS97SI Introduction to Programming Contests
- CS9 Problem-Solving for the CS Technical Interview
- CS197 Computer Science Research
- CS238 Decision Making under Uncertainty
- EE185/285, CS241 Interactive Light Sculpture Project
- CS348E Character Animation: Modeling, Simulation & Control
- CS476A Music, Computing and Design I
- CS520 Knowledge Graphs