CS 107E: Computer Systems from the Ground Up
Introduction to the fundamental concepts of computer systems through bare metal programming on the Raspberry Pi. Explores how five concepts come together in computer systems: hardware, architecture, assembly code, the C language, and software development tools. Students do all programming with a Raspberry Pi kit and several add-ons (LEDs, buttons). Topics covered include: the C programming language, data representation, machine-level code, computer arithmetic, compilation, memory organization and management, debugging, hardware, and I/O. Enrollment limited to 40. Check website for details:
http://cs107e.stanford.edu on student selection process. Prerequisite: CS106B or
CS106X, and consent of instructor. There is a $75 course lab fee.
Terms: Win, Spr
| Units: 3-5
| UG Reqs: WAY-FR
CS 108: Object-Oriented Systems Design
Software design and construction in the context of large OOP libraries. Taught in Java. Topics: OOP design, design patterns, testing, graphical user interface (GUI) OOP libraries, software engineering strategies, approaches to programming in teams. Prerequisite: 107.
Terms: Win
| Units: 3-4
| UG Reqs: GER:DB-EngrAppSci
CS 109: Introduction to Probability for Computer Scientists
Topics include: counting and combinatorics, random variables, conditional probability, independence, distributions, expectation, point estimation, and limit theorems. Applications of probability in computer science including machine learning and the use of probability in the analysis of algorithms. Prerequisites: 103, 106B or X, multivariate calculus at the level of
MATH 51 or
CME 100 or equivalent.
Terms: Aut, Win, Spr, Sum
| Units: 3-5
| UG Reqs: WAY-AQR, WAY-FR, GER:DB-EngrAppSci
Instructors:
Cain, J. (PI)
;
Cochran, K. (PI)
;
Piech, C. (PI)
;
Alagbe, K. (TA)
;
Borbon Miranda, C. (TA)
;
Chellah, O. (TA)
;
Cheng, K. (TA)
;
Cochran, K. (TA)
;
El Boudali, H. (TA)
;
Fakih, N. (TA)
;
Grover, K. (TA)
;
Gupta, A. (TA)
;
Harvill, M. (TA)
;
Kang, R. (TA)
;
Mejia, J. (TA)
;
Michel, I. (TA)
;
Palleti, R. (TA)
;
Qiu, T. (TA)
;
Ravi, N. (TA)
;
Tinker, J. (TA)
;
Vu, M. (TA)
;
Wang, S. (TA)
;
Woodrow, J. (TA)
;
Xie, M. (TA)
CS 109ACE: Problem-solving Lab for CS109
Additional problem solving practice for the introductory CS course
CS109. Sections are designed to allow students to acquire a deeper understanding of CS and its applications, work collaboratively, and develop a mastery of the material. Enrollment limited to 30 students, permission of instructor required. Concurrent enrollment in
CS 109 required.
Terms: Aut, Win, Spr
| Units: 1
Instructors:
Qin, M. (PI)
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: Aut, Win, Spr
| Units: 3-5
Instructors:
Ousterhout, J. (PI)
;
Troccoli, N. (PI)
;
Ahmad-Stein, D. (TA)
...
more instructors for CS 111 »
Instructors:
Ousterhout, J. (PI)
;
Troccoli, N. (PI)
;
Ahmad-Stein, D. (TA)
;
Ayoob, M. (TA)
;
Baruah, N. (TA)
;
Cao, M. (TA)
;
Dange, R. (TA)
;
Escandon, E. (TA)
;
Gorelik, I. (TA)
;
Govil, Y. (TA)
;
Granado, M. (TA)
;
Hanlon, M. (TA)
;
Kansal, A. (TA)
;
Khandelwal, P. (TA)
;
Kohli, S. (TA)
;
Li, G. (TA)
;
Marchini, M. (TA)
;
Palleti, R. (TA)
;
Saracay, E. (TA)
;
Tang, E. (TA)
;
Verma, S. (TA)
;
Zhang, X. (TA)
;
Zuna Largo, W. (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: Aut, Win, Spr
| Units: 1
Instructors:
Master, T. (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: Win
| Units: 3
Instructors:
Mazieres, D. (PI)
;
Baruah, N. (TA)
;
Bhak, N. (TA)
;
DeMarco, D. (TA)
;
Martinez-Piedra, G. (TA)
;
Nambi, S. (TA)
;
Park, J. (TA)
;
Yu, S. (TA)
CS 120: Introduction to AI Safety (STS 10)
As we delegate more to artificial intelligence (AI) and integrate AI more in societal decision-making processes, we must find answers to how we can ensure AI systems are safe, follow ethical principles, and align with the creator's intent. Increasingly, many AI experts across academia and industry believe there is an urgent need for both technical and societal progress across AI alignment, ethics, and governance to understand and mitigate risks from increasingly capable AI systems and ensure that their contributions benefit society as a whole. Intro to AI Safety explores these questions in lectures with targeted readings, weekly quizzes, and group discussions. We are looking at the capabilities and limitations of current and future AI systems to understand why it is hard to ensure the reliability of existing AI systems. We will cover ongoing research efforts that tackle these questions, ranging from studies in reinforcement learning and computer vision to natural language processing. W
more »
As we delegate more to artificial intelligence (AI) and integrate AI more in societal decision-making processes, we must find answers to how we can ensure AI systems are safe, follow ethical principles, and align with the creator's intent. Increasingly, many AI experts across academia and industry believe there is an urgent need for both technical and societal progress across AI alignment, ethics, and governance to understand and mitigate risks from increasingly capable AI systems and ensure that their contributions benefit society as a whole. Intro to AI Safety explores these questions in lectures with targeted readings, weekly quizzes, and group discussions. We are looking at the capabilities and limitations of current and future AI systems to understand why it is hard to ensure the reliability of existing AI systems. We will cover ongoing research efforts that tackle these questions, ranging from studies in reinforcement learning and computer vision to natural language processing. We will study work in interpretability, robustness, and governance of AI systems - to name a few. Basic knowledge about machine learning helps but is not required. View the full syllabus at
http://tinyurl.com/42rb2sfv. Enrollment is by application only. Apply online at
https://forms.gle/v8msM8nJ5FgeEHx1A by 9:00 PM PDT on Saturday, March 16, 2024.
Terms: Spr
| Units: 3
Instructors:
Lamparth, M. (PI)
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 each seniority group, enrollment of students will follow a first-come-first-served approach. Please use the form below to enroll in the class. The form will be open on 9/1/2023 9:00AM Pacific Time. Please use this form to apply:
https://docs.google.com/forms/d/e/1FAIpQLSdBSUqLjpD-a-GmwhPnRLMi7L1BMMzikl8yqwmQp-stMoDqIg/viewform
Terms: Aut
| Units: 3
Instructors:
Liu, K. (PI)
;
Levine, G. (TA)
CS 124: From Languages to Information (LINGUIST 180, LINGUIST 280)
Extracting meaning, information, and structure from human language text, speech, web pages, social networks. Introducing methods (regex, edit distance, naive Bayes, logistic regression, neural embeddings, inverted indices, collaborative filtering, PageRank), applications (chatbots, sentiment analysis, information retrieval, question answering, text classification, social networks, recommender systems), and ethical issues in both. 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
Filter Results: