CS 163: The Practice of Theory Research
(Previously numbered
CS 353). Introduction to research in the Theory of Computing, with an emphasis on research methods (the practice of research), rather than on any particular body of knowledge. The students will participate in a highly structured research project: starting from reading research papers from a critical point of view and conducting bibliography searches, through suggesting new research directions, identifying relevant technical areas, and finally producing and communicating new insights. The course will accompany the projects with basic insights on the main ingredients of research. Research experience is not required, but basic theory knowledge and mathematical maturity are expected. The target participants are advanced undergrads as well as MS students with interest in CS theory. Prerequisites: CS161 and
CS154. Limited class size.
Last offered: Winter 2022
| UG Reqs: WAY-SMA
CS 166: Data Structures
This course is a deep dive into the design, analysis, implementation,nand theory of data structures. Over the course of the quarter, we'llnexplore fundamental techniques in data structure design (isometries,namortization, randomization, etc.) and explore perspectives andnintuitions useful for developing new data structures. We'll do so bynsurveying classic data structures like Fibonacci heaps and suffix trees,nas well as more modern data structures like count-min sketches and rangenminimum queries. By the time we've finished, we'll have seen some trulynbeautiful strategies for solving problems efficiently. Prerequisites:nCS107 and
CS161.
Last offered: Spring 2023
CS 168: The Modern Algorithmic Toolbox
This course will provide a rigorous and hands-on introduction to the central ideas and algorithms that constitute the core of the modern algorithms toolkit. Emphasis will be on understanding the high-level theoretical intuitions and principles underlying the algorithms we discuss, as well as developing a concrete understanding of when and how to implement and apply the algorithms. The course will be structured as a sequence of one-week investigations; each week will introduce one algorithmic idea, and discuss the motivation, theoretical underpinning, and practical applications of that algorithmic idea. Each topic will be accompanied by a mini-project in which students will be guided through a practical application of the ideas of the week. Topics include hashing, dimension reduction and LSH, boosting, linear programming, gradient descent, sampling and estimation, and an introduction to spectral techniques. Prerequisites: CS107 and
CS161, or permission from the instructor.
Terms: Spr
| Units: 3-4
Instructors:
Valiant, G. (PI)
;
Bresette, L. (TA)
;
Gorelik, I. (TA)
...
more instructors for CS 168 »
Instructors:
Valiant, G. (PI)
;
Bresette, L. (TA)
;
Gorelik, I. (TA)
;
Kung, B. (TA)
;
Malik, A. (TA)
;
Melo, L. (TA)
;
Rivkin, J. (TA)
;
Yang, L. (TA)
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)
Instructors:
Wang, G. (PI)
;
Betancur, C. (TA)
CS 173A: Foundations of Computational Human Genomics (BIOMEDIN 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: Win
| Units: 3-4
Instructors:
Bejerano, G. (PI)
;
Chen, Z. (TA)
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, interviewing and more. This class will look at the role of product management through a human-centered lens, including customers and coworkers. As well, students will experience the Agile-Lean-UX development process. Course enrollment will be capped, an application will be sent out first day of class. Prerequisite:
CS106A&B or equivalent. This class could be taken before or after 147.
Terms: Aut
| Units: 3-4
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.
Terms: Spr
| Units: 4
| UG Reqs: WAY-ER, GER:EC-EthicReas
Instructors:
Gregg, C. (PI)
;
Winstein, K. (PI)
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.
Terms: Spr
| Units: 4
| UG Reqs: WAY-ER, GER:EC-EthicReas
Instructors:
Gregg, C. (PI)
;
Winstein, K. (PI)
;
Atefi, V. (TA)
;
Bunnapradist, E. (TA)
;
Gottlieb, D. (TA)
;
Lee, J. (TA)
;
Qiu, T. (TA)
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 five main units: algorithmic decision-making and bias; data privacy and civil liberties; artificial intelligence and autonomous systems; the power of private computing platforms; and issues of diversity, equity, and inclusion in the technology sector. Each unit considers the promise, perils, rights, and responsibilities at play in technological developments. Prerequisite:
CS106A.
Last offered: Winter 2023
| UG Reqs: WAY-ER
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. Enroll in either
CS 182 or
CS 182W,not both. Enrollment in WIM version of the course is limited to 125students. Enrollment is restricted to seniors and coterminal students until January 9, 2023. Starting January 9, 2023, enrollment will open to all students if additional spaces remain available in the class.
Last offered: Winter 2023
| UG Reqs: WAY-ER
Filter Results: