CS 111: Operating Systems Principles
Explores operating system concepts including concurrency, synchronization, scheduling, processes, virtual memory, I/O, file systems, and protection. Available as a substitute for CS110 that fulfills any requirement satisfied by
CS110. Prerequisite:
CS107.
Terms: Win, Spr
| Units: 3-5
Instructors:
Rosenblum, M. (PI)
;
Troccoli, N. (PI)
;
Barbella-Blaha, A. (TA)
;
Benitez, P. (TA)
...
more »
Instructors:
Rosenblum, M. (PI)
;
Troccoli, N. (PI)
;
Barbella-Blaha, A. (TA)
;
Benitez, P. (TA)
;
Bethina, S. (TA)
;
Doan, A. (TA)
;
Garg, T. (TA)
;
Jovel, P. (TA)
;
Ladsaria, D. (TA)
;
Lee, J. (TA)
;
Lin, F. (TA)
;
Liu, A. (TA)
;
Padilla, D. (TA)
;
Rios, R. (TA)
;
Shao, C. (TA)
;
Tariq, U. (TA)
;
Xiao, C. (TA)
CS 111ACE: Problem Solving Lab for CS111
Additional design and implementation problems to complement the material taught in
CS111. In-class participation is required. Prerequisite: consent of instructor. Corequisite:
CS111
Terms: Win, Spr
| Units: 1
Instructors:
Ibanez, F. (PI)
CS 112: Operating systems kernel implementation project
Students will learn the details of how operating systems work throughfour implementation projects in the Pintos operating system. Theprojects center around threads, processes, virtual memory, and filesystems. This class should not be taken by students who have taken orplan to take CS212 or
CS140. Prerequisite: CS111 or permission of theinstructor.
Terms: Spr
| Units: 3
Instructors:
Mazieres, D. (PI)
CS 114: Selected Reading of Computer Science Research
Detailed reading of 5-10 research publications in computer science. For undergraduates, the course is an introduction to advanced foundational concepts within a field as well as an in-depth look at detailed research. For graduate students, the course focuses on historical reading as well as an opportunity to discuss the strengths and weaknesses of the work. Both groups of students discuss historical context, how ideas succeeded or did not and why, and how they manifest in modern technology. The discussion of each piece of work includes a guest lecture by one of its authors.
Last offered: Spring 2022
| Units: 3
CS 120: Introduction to AI Safety
What is safe AI, and how do we make it? CS120 explores this question, focusing on the technical challenges of creating reliable, ethical, and aligned AI systems. We distinguish between model-specific and systemic safety issues, from examining fairness and data limitations to adversarial vulnerabilities and embedding desired behavior in AI. While primarily focusing on current solutions and their limitations through CS publications, we will also discuss socio-technical concerns of modern AI deployment, how oversight of intelligence could look like, and what future risks we might face. Topics will span reinforcement learning, computer vision, and natural language processing, focusing on interpretability, robustness, and evaluations. You will gain insights into the complexities and problems of why ensuring AI safety and reliability is challenging through lectures, readings, quizzes, and a final project. This course aims to prepare you to critically assess and contribute to safe AI development, equipping them with knowledge of cutting-edge research and ongoing debates in the field. This course has no official requirements, although we recommend some knowledge about machine learning and statistics. For more details, see also the course website:
https://web.stanford.edu/class/cs120/
Terms: Aut
| Units: 3
CS 121: Equity and Governance for Artificial Intelligence
This course invites students to argue about the consensus-building processes that shape the development and governance of AI systems. This course requires writing op-eds, policy memos, and research papers, in which students will critically engage AI policy documents while debating norms of fairness, accountability, and transparency. Students will also get hands-on practice evaluating generative AI models with interactive red-teaming and automated test suites (requires a small amount of coding in a group project). Students will engage real-world legislative proposals and case studies topics including human rights, artwork, the environment, and geopolitics. This course fulfills both the ethics and Writing in the Major WiM requirements, and is designed to prepare Stanford juniors, seniors, and graduate students to participate in AI public policy design at the national and global levels. Prerequisites:
PWR1,
PWR2, CS106A and
CS106B. While this course requires no other prerequisites, it
more »
This course invites students to argue about the consensus-building processes that shape the development and governance of AI systems. This course requires writing op-eds, policy memos, and research papers, in which students will critically engage AI policy documents while debating norms of fairness, accountability, and transparency. Students will also get hands-on practice evaluating generative AI models with interactive red-teaming and automated test suites (requires a small amount of coding in a group project). Students will engage real-world legislative proposals and case studies topics including human rights, artwork, the environment, and geopolitics. This course fulfills both the ethics and Writing in the Major WiM requirements, and is designed to prepare Stanford juniors, seniors, and graduate students to participate in AI public policy design at the national and global levels. Prerequisites:
PWR1,
PWR2, CS106A and
CS106B. While this course requires no other prerequisites, it is designed for students who are comfortable engaging in an active learning environment that will include interactive workshops, student debates, and collaborative group projects. Students will be expected to speak frequently in sections and navigate the social dynamics of multi-stakeholder negotiations. Comfort with writing short python programs and working on a Unix/Linux command-line interface will be helpful for the AI model evaluation group project.
Terms: Aut
| Units: 4
| UG Reqs: WAY-ER
Instructors:
Bailey, C. (PI)
;
Bempong, A. (TA)
CS 123: A Hands-On Introduction to Building AI-Enabled Robots
This course offers a hands-on introduction to AI-powered robotics. Unlike most introductory robotics courses, students will learn essential robotics concepts by constructing a quadruped robot from scratch and training it to perform real-world tasks. The course covers a broad range of topics critical to robot learning, including motor control, forward and inverse kinematics, system identification, simulation, and reinforcement learning. Through weekly labs, students will construct a pair of tele-operated robot arms with haptic feedback, program a robot arm to learn self-movement, and ultimately create and program an agile robot quadruped named Pupper. In the final four weeks, students will undertake an open-ended project using Pupper as a platform, such as instructing it to walk using reinforcement learning, developing a vision system to allow Pupper to play fetch, or redesigning the hardware to enhance the robot's agility. Note: CS123 strives to achieve a balanced distribution of senio
more »
This course offers a hands-on introduction to AI-powered robotics. Unlike most introductory robotics courses, students will learn essential robotics concepts by constructing a quadruped robot from scratch and training it to perform real-world tasks. The course covers a broad range of topics critical to robot learning, including motor control, forward and inverse kinematics, system identification, simulation, and reinforcement learning. Through weekly labs, students will construct a pair of tele-operated robot arms with haptic feedback, program a robot arm to learn self-movement, and ultimately create and program an agile robot quadruped named Pupper. In the final four weeks, students will undertake an open-ended project using Pupper as a platform, such as instructing it to walk using reinforcement learning, developing a vision system to allow Pupper to play fetch, or redesigning the hardware to enhance the robot's agility. Note: CS123 strives to achieve a balanced distribution of seniority across the undergrad student body. Within the first 100 registrations, enrollment of students will follow a lottery that balances such distribution amongst undergraduates. Please use the form below to enroll in the class. The form will be open on 9/8/2025 9:00AM Pacific Time. Please use this form to apply:
https://tinyurl.com/cs123-2025fall and check out our website for more information: https://
cs123-stanford.readthedocs.io/
Terms: Aut
| Units: 3
Instructors:
Liu, K. (PI)
;
Hu, J. (TA)
CS 124: From Languages to Information (LINGUIST 180, LINGUIST 280)
NLP for extracting meaning from text and social networks on the web, and interacting with people via language. Introducing methods (from regex to large language models, via logistic regression, gradient descent, transformers and other neural networks, social networks, collaborative filtering), applications (chatbots, information retrieval, social computing, recommender systems), and ethical and social issues. Prerequisites:
CS106B, Python (at the level of
CS106A),
CS109 (or equivalent background in probability), and programming maturity and knowledge of UNIX equivalent to
CS107 (or taking CS107 or CS1U concurrently).
Terms: Win
| Units: 3-4
| UG Reqs: WAY-AQR
Instructors:
Jurafsky, D. (PI)
;
Badlani, A. (TA)
;
Bhasin, K. (TA)
;
Biswas, J. (TA)
;
Jaladi, S. (TA)
;
Karumanchi, R. (TA)
;
Khare, I. (TA)
;
Lee, S. (TA)
;
Liu, L. (TA)
;
Sieh, I. (TA)
;
Sinha, I. (TA)
;
Yeung, B. (TA)
;
Yu, S. (TA)
CS 125: Data: Algorithms, Tools, Policy, and Society (POLISCI 156)
A broad multidisciplinary examination of the use and impacts of data, including fundamental principles and algorithms, tools for data analysis, visualization, and machine learning, policy issues, and societal considerations. Specific topics include: data provenance (where data comes from and how it's processed), the role and value of data in analytics and decision-making, data and algorithmic fairness, data privacy, the concentration of data as power, and issues of data governance and regulation, including transparency and due process. In addition to case studies, conceptual frameworks, theoretical underpinnings, and algorithms, the course provides practical experience through hands-on work where students use tools to explore issues from class on real data.
| Units: 3
CS 129: Applied Machine Learning
(Previously numbered
CS 229A.) You will learn to implement and apply machine learning algorithms. This course emphasizes practical skills, and focuses on giving you skills to make these algorithms work. You will learn about commonly used learning techniques including supervised learning algorithms (logistic regression, linear regression, SVM, neural networks/deep learning), unsupervised learning algorithms (k-means), as well as learn about specific applications such as anomaly detection and building recommender systems. This class is taught in the flipped-classroom format. You will watch videos and complete in-depth programming assignments and online quizzes at home, then come to class for discussion sections. This class will culminate in an open-ended final project, which the teaching team will help you on. Prerequisites: Programming at the level of CS106B or 106X, and basic linear algebra such as
Math 51.
Terms: Win
| Units: 3-4
