CS 170: Stanford Laptop Orchestra: Composition, Coding, and Performance (MUSIC 128)
Classroom instantiation of the Stanford Laptop Orchestra (SLOrk) which includes public performances. An ensemble of more than 20 humans, laptops, controllers, and special speaker arrays designed to provide each computer-mediated instrument with its sonic identity and presence. Topics and activities include issues of composing for laptop orchestras, instrument design, sound synthesis, programming, and live performance. May be repeated four times for credit. Space is limited; see
https://ccrma.stanford.edu/courses/128 for information about the application and enrollment process. May be repeat for credit
Terms: Spr
| Units: 1-5
| UG Reqs: WAY-CE
| Repeatable
4 times
(up to 20 units total)
CS 171: Causality, Decision Making and Data Science (DATASCI 161, ECON 115)
Policymakers often need to make decisions when the implications of those decisions are not known with certainty. In many cases they rely in part on statistical evidence to guide these decisions. This requires statistical methods for estimating causal effects, that is the impact of these interventions. In this course we study how to analyze causal questions using statistical methods. We look at several causal questions in detail. For each case, we study various statistical and econometric methods that may shed light on these questions. We discuss what the critical assumptions are that underly these methods and how to assess whether the methods are appropriate for the settings at hand. We then analyze data sets, partly in class, and partly in assignments, to see how much we learn in practice. Pre-requisites: One quarter course in statistics, at the level of
STATS 116 or
STATS 117. Programming experience with Python will be helpful but is not required.
Terms: Aut
| Units: 3
CS 173A: Foundations of Computational Human Genomics (BMDS 173A, DBIO 173A)
(Only one of 173A or 273A counts toward any CS degree program.) A coder's primer to Computational Biology through the most amazing "source code" known: your genome. Examine the major forces of genome "code development" - positive, negative and neutral selection. Learn about genome sequencing (discovering your source code from fragments); genome content: variables (genes), control-flow (gene regulation), run-time stacks (epigenomics) and memory leaks (repeats); personalized genomics and genetic disease (code bugs); genome editing (code injection); ultra conservation (unsolved mysteries) and code modifications behind amazing animal adaptations. Course includes primers on molecular biology and text processing. Prerequisites: comfortable coding in Python from the command line.
Terms: Aut
| Units: 3-4
Instructors:
Bejerano, G. (PI)
CS 177: Human Centered Product Management
Ask any product person what the most important skills are for PMs and they'll say interpersonal dynamics - negotiation, communication, conflict resolution, research and more. This class will look at the role of product management in tech through a human-centered lens, including customers and coworkers. As well, students will experience the Agile-Lean development process and will be creating and testing prototypes. There is one major project: creating a new feature for a fictional business. This class could be taken before or after 147. There will be an additional required Studio/Lab scheduled when class begins.
Terms: Aut
| Units: 3-5
CS 180: Digital Systems Architecture (EE 180)
The design of processor-based digital systems. Instruction sets, addressing modes, data types. Assembly language programming, low-level data structures, introduction to operating systems and compilers. Processor microarchitecture, microprogramming, pipelining. Memory systems and caches. Input/output, interrupts, buses and DMA. System design implementation alternatives, software/hardware tradeoffs. Labs involve the design of processor subsystems and processor-based embedded systems. Formerly
EE 108B.
Terms: Win
| Units: 4
| UG Reqs: GER:DB-EngrAppSci, WAY-SMA
Instructors:
Kozyrakis, C. (PI)
;
Angkanapiwat, B. (TA)
;
Delgadillo, J. (TA)
;
Lee, S. (TA)
...
more »
Instructors:
Kozyrakis, C. (PI)
;
Angkanapiwat, B. (TA)
;
Delgadillo, J. (TA)
;
Lee, S. (TA)
;
Zhu, W. (TA)
CS 181: Computers, Ethics, and Public Policy
Ethical and social issues related to the development and use of computer technology. Ethical theory, and social, political, and legal considerations. Scenarios in problem areas: privacy, reliability and risks of complex systems, and responsibility of professionals for applications and consequences of their work. Prerequisite:
CS106A. To take this course, students need permission of instructor and may need to complete an assignment due at the first day of class. Please see
https://cs181.stanford.edu for more information.
Last offered: Spring 2024
| Units: 4
| UG Reqs: GER:EC-EthicReas, WAY-ER
CS 181W: Computers, Ethics, and Public Policy (WIM)
Writing-intensive version of
CS181. Satisfies the WIM requirement for Computer Science, Engineering Physics, STS, and Math/Comp Sci undergraduates. To take this course, students need permission of instructor and may need to complete an assignment due at the first day of class. Please see
https://cs181.stanford.edu for more information.
Last offered: Spring 2024
| Units: 4
| UG Reqs: GER:EC-EthicReas, WAY-ER
CS 182: Ethics, Public Policy, and Technological Change (COMM 180, ETHICSOC 182, PHIL 82, POLISCI 182, PUBLPOL 182)
Examination of recent developments in computing technology and platforms through the lenses of philosophy, public policy, social science, and engineering. Course is organized around four main units: algorithmic decision-making and bias; data privacy and civil liberties; the power of private computing platforms; and the impact of generative AI. Each unit considers the promise, perils, rights, and responsibilities at play in technological developments. Prerequisite:
CS106A.
Terms: Win
| Units: 5
| UG Reqs: WAY-ER
Instructors:
Reich, R. (PI)
;
Sahami, M. (PI)
;
Bennett, S. (TA)
;
Fetter, M. (TA)
;
Fischli, R. (TA)
;
Graciano, T. (TA)
;
Kumar, A. (TA)
;
Srivathsa, N. (TA)
CS 182W: Ethics, Public Policy, and Technological Change (WIM)
Writing-intensive version of
CS182. Satisfies the WIM requirement for Computer Science, Engineering Physics, STS, Math/Comp Sci, and Data Science undergraduates (and is only open to those majors). Prerequisite:
CS106A. See CS182 for lecture day/time information for location/time of class. Enroll in either
CS 182 or
CS 182W, not both. Enrollment in WIM version of the course is limited to 100 students. Enrollment is restricted to seniors and coterminal students until January 6, 2025. Starting January 6, 2025, enrollment will open to all students if additional spaces remain available in the class.
Terms: Win
| Units: 5
| UG Reqs: WAY-ER
Instructors:
Reich, R. (PI)
;
Sahami, M. (PI)
;
Bennett, S. (TA)
;
Fetter, M. (TA)
;
Fischli, R. (TA)
;
Graciano, T. (TA)
;
Kumar, A. (TA)
;
Srivathsa, N. (TA)
CS 183E: Effective Leadership in High-Tech
You will undoubtedly leave Stanford with the technical skills to excel in your first few jobs. But non-technical skills are just as critical to making a difference. This seminar is taught by two industry veterans in engineering leadership and product management. In a small group setting, we will explore how you can be a great individual contributor (communicating with clarity, getting traction for your ideas, resolving conflict, and delivering your best work) and how you can transition into leadership roles (finding leadership opportunities, creating a great team culture, hiring and onboarding new team members). We will end by turning back to your career (picking your first job and negotiating your offer, managing your career changes, building a great network, and succeeding with mentors). Prerequisites: Preference given to seniors and co-terms in Computer Science and related majors. Enrollment limited and application required for admittance. Application (
https://forms.gle/PaBcMmjratNGGtEi8) due 9/13/25.
Terms: Aut
| Units: 1
Instructors:
Finley, M. (PI)
;
Goldfein, J. (PI)
