Print Settings
 

CS 1C: Introduction to Computing at Stanford (VPTL 1)

For those who want to learn more about Stanford's computing environment. Topics include: computer maintenance and security, computing resources, Internet privacy, and copyright law. One-hour lecture/demonstration in dormitory clusters prepared and administered weekly by the Resident Computer Consultant (RCC). Final project. Not a programming course.
Terms: Aut | Units: 1 | Grading: Satisfactory/No Credit
Instructors: ; Smith, S. (PI)

CS 1U: Practical Unix

A practical introduction to using the Unix operating system with a focus on Linux command line skills. Class will consist of video tutorials and weekly hands-on lab sections. Topics include: grep and regular expressions, ZSH, Vim and Emacs, basic and advanced GDB features, permissions, working with the file system, revision control, Unix utilities, environment customization, and using Python for shell scripts. Topics may be added, given sufficient interest. Course website: http://cs1u.stanford.edu
Terms: Aut, Win, Spr | Units: 1 | Grading: Satisfactory/No Credit
Instructors: ; Zelenski, J. (PI)

CS 7: Personal Finance for Engineers

Introduction to the fundamentals and analysis specifically needed by engineers to make informed and intelligent financial decisions. Course will focus on actual industry-based financial information from technology companies and realistic financial issues. Topics include: behavioral finance, budgeting, debt, compensation, stock options, investing and real estate. No prior finance or economics experience required.
Terms: Aut | Units: 1 | Grading: Satisfactory/No Credit
Instructors: ; Nash, A. (PI)

CS 11SI: How to Make VR: Introduction to Virtual Reality Design and Development

In this hands-on, experiential course, students will design and develop virtual reality applications. You'll learn how to use the Unity game engine, the most popular platform for creating immersive applications. The class will teach the design best-practices and the creation pipeline for VR applications. Students will work in groups to present a final project in building an application for the Oculus Go headset. Enrollment is limited and by application only. See https://cs11si.stanford.edu for more information. Prerequisite: CS 106A or equivalent.
Terms: Aut | Units: 2 | Grading: Satisfactory/No Credit
Instructors: ; Borenstein, J. (PI)

CS 28: Artificial Intelligence, Entrepreneurship and Society in the 21st Century and Beyond

Technical developments in artificial intelligence (AI) have opened up new opportunities for entrepreneurship, as well as raised profound longer term questions about how human societal and economic systems may be re­organized to accommodate the rise of intelligent machines. In this course, closely co­taught by a Stanford professor and a leading Silicon Valley venture capitalist, we will examine the current state of the art capabilities of existing artificial intelligence systems, as well as economic challenges and opportunities in early stage startups and large companies that could leverage AI. We will focus on gaps between business needs and current technical capabilities to identify high impact directions for the development of future AI technology. Simultaneously, we will explore the longer term societal impact of AI driven by inexorable trends in technology and entrepreneurship. The course includes guest lectures from leading technologists and entrepreneurs who employ AI in a variety of fields, including healthcare, education, self­driving cars, computer security, natural language interfaces, computer vision systems, and hardware acceleration.
Terms: Aut | Units: 2 | Grading: Satisfactory/No Credit

CS 45N: Computers and Photography: From Capture to Sharing

Preference to freshmen with experience in photography and use of computers. Elements of photography, such as lighting, focus, depth of field, aperture, and composition. How a photographer makes photos available for computer viewing, reliably stores them, organizes them, tags them, searches them, and distributes them online. No programming experience required. Digital SLRs and editing software will be provided to those students who do not wish to use their own.
Terms: Aut, Spr | Units: 4 | UG Reqs: WAY-CE | Grading: Letter or Credit/No Credit
Instructors: ; Garcia-Molina, H. (PI)

CS 47: Cross-Platform Mobile Development

The fundamentals of cross-platform mobile application development using the React Native framework (RN). Primary focus on developing best practices in creating apps for both iOS and Android by using Javascript and existing web + mobile development paradigms. Students will explore the unique aspects that made RN a primary tool for mobile development within Facebook, Instagram, Walmart, Tesla, and UberEats. Skills developed over the course will be consolidated by the completion of a final project. Required Prerequisites: CS106A or CS106B. Website: web.stanford.edu/class/cs47/. To enroll in the class, please show up to the first day of class and fill the following application: https://forms.gle/WM3SDd3qyF3eQC3x5
Terms: Aut | Units: 2 | Grading: Satisfactory/No Credit
Instructors: ; Landay, J. (PI)

CS 56N: Great Discoveries and Inventions in Computing

This seminar will explore some of both the great discoveries that underlie computer science and the inventions that have produced the remarkable advances in computing technology. Key questions we will explore include: What is computable? How can information be securely communicated? How do computers fundamentally work? What makes computers fast? Our exploration will look both at the principles behind the discoveries and inventions, as well as the history and the people involved in those events. Some exposure to programming is required.
Terms: Aut | Units: 3 | Grading: Letter or Credit/No Credit
Instructors: ; Hennessy, J. (PI)

CS 57N: Randomness: Computational and Philosophical Approaches (PHIL 3N)

Is it ever reasonable to make a decision randomly? For example, would you ever let an important choice depend on the flip of a coin? Can randomness help us answer difficult questions more accurately or more efficiently? What is randomness anyway? Can an object be random? Are there genuinely random processes in the world, and if so, how can we tell? In this seminar, we will explore these questions through the lenses of philosophy and computation. By the end of the quarter students should have an appreciation of the many roles that randomness plays in both humanities and sciences, as well as a grasp of some of the key analytical tools used to study the concept. The course will be self-contained, and no prior experience with randomness/probability is necessary.
Terms: Aut | Units: 3 | Grading: Letter or Credit/No Credit

CS 80Q: Race and Gender in Silicon Valley (AFRICAAM 80Q)

Join us as we go behind the scenes of some of the big headlines about trouble in Silicon Valley. We'll start with the basic questions like who decides who gets to see themselves as "a computer person," and how do early childhood and educational experiences shape our perceptions of our relationship to technology? Then we'll see how those questions are fundamental to a wide variety of recent events from #metoo in tech companies, to the ways the under-representation of women and people of color in tech companies impacts the kinds of products that Silicon Valley brings to market. We'll see how data and the coming age of AI raise the stakes on these questions of identity and technology. How can we ensure that AI technology will help reduce bias in human decision-making in areas from marketing to criminal justice, rather than amplify it?
Terms: Aut | Units: 3 | UG Reqs: WAY-ED | Grading: Letter or Credit/No Credit
Instructors: ; Lee, C. (PI)

CS 91SI: Digital Canvas: An Introduction to UI/UX Design

Become familiar with prototype-design tools like Sketch and Marvel while also learning important design concepts in a low-stress environment. Focus is on the application of UI/UX design concepts to actual user interfaces: the creation of wireframes, high-fidelity mockups, and clickable prototypes. We will look at what makes a good or bad user interface, effective design techniques, and how to employ these techniques using Sketch and Marvel to make realistic prototypes. This course is ideal for anyone with little to no visual design experience who would like to build their skill set in UI/UX for app or web design. Also ideal for anyone with experience in front or back-end web development or human-computer interaction that would want to sharpen their visual design and analysis skills for UI/UX.
Terms: Win | Units: 2 | Grading: Satisfactory/No Credit
Instructors: ; Cain, J. (PI)

CS 93: Teaching AI

For graduate students who are TA-ing an AI course. This course prepares new AI section leaders to teach, write, and evaluate AI content. In class, you will be evaluating final projects individually and as a group. You will have discussions criticizing papers and assigning grades to them. You will analyze and solve discussion session problems on the board, explain algorithmsnlike backpropagation, and learn how to give constructive feedback to students. The class will also include a guest speaker who will give teaching advice and talk about AI. Focus is on teaching skills, techniques, and final projects grading. The class meets once a week for the first 6 weeks of the quarter.
Terms: Aut | Units: 1 | Grading: Satisfactory/No Credit
Instructors: ; Ng, A. (PI)

CS 100A: Problem-solving Lab for CS106A

Additional problem solving practice for the introductory CS course CS 106A. 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. Limited enrollment, permission of instructor required. Concurrent enrollment in CS 106A required.
Terms: Aut, Win, Spr | Units: 1 | Grading: Satisfactory/No Credit

CS 100B: Problem-solving Lab for CS106B

Additional problem solving practice for the introductory CS course CS106B. 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. Limited enrollment, permission of instructor required. Concurrent enrollment in CS 106B required.
Terms: Aut, Win, Spr | Units: 1 | Grading: Satisfactory/No Credit

CS 103: Mathematical Foundations of Computing

What are the theoretical limits of computing power? What problems can be solved with computers? Which ones cannot? And how can we reason about the answers to these questions with mathematical certainty? This course explores the answers to these questions and serves as an introduction to discrete mathematics, computability theory, and complexity theory. At the completion of the course, students will feel comfortable writing mathematical proofs, reasoning about discrete structures, reading and writing statements in first-order logic, and working with mathematical models of computing devices. Throughout the course, students will gain exposure to some of the most exciting mathematical and philosophical ideas of the late nineteenth and twentieth centuries. Specific topics covered include formal mathematical proofwriting, propositional and first-order logic, set theory, binary relations, functions (injections, surjections, and bijections), cardinality, basic graph theory, the pigeonhole principle, mathematical induction, finite automata, regular expressions, the Myhill-Nerode theorem, context-free grammars, Turing machines, decidable and recognizable languages, self-reference and undecidability, verifiers, and the P versus NP question. Students with significant proofwriting experience are encouraged to instead take CS154. Students interested in extra practice and support with the course are encouraged to concurrently enroll in CS103A. Prerequisite: CS106B or equivalent. CS106B may be taken concurrently with CS103.
Terms: Aut, Win, Spr | Units: 3-5 | UG Reqs: GER:DB-Math, WAY-FR | Grading: Letter or Credit/No Credit
Instructors: ; Lee, C. (PI); Schwarz, K. (PI)

CS 103A: Mathematical Problem-solving Strategies

Problem solving strategies and techniques in discrete mathematics and computer science. Additional problem solving practice for CS103. In-class participation required. Prerequisite: consent of instructor. Co-requisite: CS103.
Terms: Aut, Win | Units: 1 | Grading: Satisfactory/No Credit
Instructors: ; Lee, C. (PI); Liu, A. (PI)

CS 105: Introduction to Computers

For non-technical majors. What computers are and how they work. Practical experience in programming. Construction of computer programs and basic design techniques. A survey of Internet technology and the basics of computer hardware. Students in technical fields and students looking to acquire programming skills should take 106A or 106X. Students with prior computer science experience at the level of 106 or above require consent of instructor. Prerequisite: minimal math skills.
Terms: Aut, Spr | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR | Grading: Letter or Credit/No Credit
Instructors: ; Young, P. (PI)

CS 106A: Programming Methodology

Introduction to the engineering of computer applications emphasizing modern software engineering principles: program design, decomposition, encapsulation, abstraction, and testing. Emphasis is on good programming style and the built-in facilities of respective languages. Uses the Python programming language. No prior programming experience required. Summer quarter enrollment is limited.
Terms: Aut, Win, Spr, Sum | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR | Grading: Letter or Credit/No Credit

CS 106AX: Programming Methodologies in JavaScript and Python (Accelerated)

Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. This course targets an audience with prior programming experience, and that prior experience is leveraged so material can be covered in greater depth.
Terms: Aut | Units: 3-5 | UG Reqs: WAY-FR | Grading: Letter or Credit/No Credit
Instructors: ; Cain, J. (PI)

CS 106B: Programming Abstractions

Abstraction and its relation to programming. Software engineering principles of data abstraction and modularity. Object-oriented programming, fundamental data structures (such as stacks, queues, sets) and data-directed design. Recursion and recursive data structures (linked lists, trees, graphs). Introduction to time and space complexity analysis. Uses the programming language C++ covering its basic facilities. Prerequisite: 106A or equivalent.
Terms: Aut, Win, Spr, Sum | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR | Grading: Letter or Credit/No Credit

CS 106L: Standard C++ Programming Laboratory

Supplemental lab to 106B and 106X. Additional features of standard C++ programming practice. Possible topics include advanced C++ language features, standard libraries, STL containers and algorithms, object memory management, operator overloading, and inheritance. Prerequisite: consent of instructor. Corequisite: 106B or 106X.
Terms: Aut, Spr | Units: 1 | Grading: Satisfactory/No Credit
Instructors: ; Lee, C. (PI)

CS 106X: Programming Abstractions (Accelerated)

Intensive version of 106B for students with a strong programming background interested in a rigorous treatment of the topics at an accelerated pace. Significant amount of additional advanced material and substantially more challenging projects. Some projects may relate to CS department research. Prerequisite: excellence in 106A or equivalent, or consent of instructor.
Terms: Aut, Win | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR | Grading: Letter or Credit/No Credit
Instructors: ; Cain, J. (PI); Stepp, M. (PI)

CS 107: Computer Organization and Systems

Introduction to the fundamental concepts of computer systems. Explores how computer systems execute programs and manipulate data, working from the C programming language down to the microprocessor. Topics covered include: the C programming language, data representation, machine-level code, computer arithmetic, elements of code compilation, memory organization and management, and performance evaluation and optimization. Prerequisites: 106B or X, or consent of instructor.
Terms: Aut, Win, Spr | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR | Grading: Letter or Credit/No Credit

CS 107A: Problem-solving Lab for CS107

Additional problem solving practice for the introductory CS course CS107. 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. Limited enrollment, permission of instructor required. Concurrent enrollment in CS 107 required.
Terms: Aut, Win, Spr | Units: 1 | Grading: Satisfactory/No Credit

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 | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-AQR, WAY-FR | Grading: Letter or Credit/No Credit

CS 110: Principles of Computer Systems

Principles and practice of engineering of computer software and hardware systems. Topics include: techniques for controlling complexity; strong modularity using client-server design, virtual memory, and threads; networks; atomicity and coordination of parallel activities. Prerequisite: 107.
Terms: Aut, Win, Spr | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci | Grading: Letter or Credit/No Credit

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: Aut, Win, Spr | Units: 3-4 | Grading: Letter or Credit/No Credit

CS 131: Computer Vision: Foundations and Applications

Robots that can navigate space and perform duties, search engines that can index billions of images and videos, algorithms that can diagnose medical images for diseases, or smart cars that can see and drive safely: Lying in the heart of these modern AI applications are computer vision technologies that can perceive, understand and reconstruct the complex visual world. This course is designed for students who are interested in learning about the fundamental principles and important applications of computer vision. Course will introduce a number of fundamental concepts in computer vision and expose students to a number of real-world applications, plus guide students through a series of projects such that they will get to implement cutting-edge computer vision algorithms. Prerequisites: Students should be familiar with Python (i.e. have programmed in Python before) and Linux; plus Calculus & Linear Algebra.
Terms: Aut | Units: 3-4 | Grading: Letter or Credit/No Credit

CS 144: Introduction to Computer Networking

Principles and practice. Structure and components of computer networks, packet switching, layered architectures. Applications: web/http, voice-over-IP, p2p file sharing and socket programming. Reliable transport: TCP/IP, reliable transfer, flow control, and congestion control. The network layer: names and addresses, routing. Local area networks: ethernet and switches. Wireless networks and network security. Prerequisite: CS 110.
Terms: Aut | Units: 3-4 | UG Reqs: GER:DB-EngrAppSci | Grading: Letter or Credit/No Credit

CS 145: Data Management and Data Systems

Introduction to the use, design, and implementation of database and data-intensive systems, including data models; schema design; data storage; query processing, query optimization, and cost estimation; concurrency control, transactions, and failure recovery; distributed and parallel execution; semi-structured databases; and data system support for advanced analytics and machine learning. Prerequisites: 103 and 107 (or equivalent).
Terms: Aut | Units: 3-4 | UG Reqs: GER:DB-EngrAppSci | Grading: Letter or Credit/No Credit
Instructors: ; Shivakumar, N. (PI)

CS 147: Introduction to Human-Computer Interaction Design

Introduces fundamental methods and principles for designing, implementing, and evaluating user interfaces. Topics: user-centered design, rapid prototyping, experimentation, direct manipulation, cognitive principles, visual design, social software, software tools. Learn by doing: work with a team on a quarter-long design project, supported by lectures, readings, and studios. Prerequisite: 106B or X or equivalent programming experience. Recommended that CS Majors have also taken one of 142, 193P, or 193A.
Terms: Aut | Units: 3-5 | Grading: Letter (ABCD/NP)
Instructors: ; Landay, J. (PI)

CS 148: Introduction to Computer Graphics and Imaging

Introductory prerequisite course in the computer graphics sequence introducing students to the technical concepts behind creating synthetic computer generated images. Begins with OpenGL/scanline rendering including discussions of underlying mathematical concepts including triangles, normals, interpolation, texture/bump mapping, etc. Importantly, the course will discuss handling light/color for image formats, computer displays, printers, etc., as well as how light interacts with the environment, constructing engineering models such as the BRDF, and various simplifications into more basic lighting and shading models. Ray tracing is introduced and compared to real world cameras to illustrate various concepts, and both anti-aliasing and acceleration structures are discussed. The final class mini-project consists of building out a ray tracer to create visually compelling images. Starter codes and code bits will be provided to aid in development, but this class focuses on what you can do with the code as opposed to what the code itself looks like. Therefore grading is weighted toward in person "demos" of the code in action - creativity and the production of impressive visual imagery are highly encouraged/rewarded. Prerequisites: CS 107, MATH 51.
Terms: Aut | Units: 3-4 | UG Reqs: GER:DB-EngrAppSci, WAY-CE | Grading: Letter or Credit/No Credit
Instructors: ; Fedkiw, R. (PI)

CS 149: Parallel Computing

This course is an introduction to parallelism and parallel programming. Most new computer architectures are parallel; programming these machines requires knowledge of the basic issues of and techniques for writing parallel software. Topics: varieties of parallelism in current hardware (e.g., fast networks, multicore, accelerators such as GPUs, vector instruction sets), importance of locality, implicit vs. explicit parallelism, shared vs. non-shared memory, synchronization mechanisms (locking, atomicity, transactions, barriers), and parallel programming models (threads, data parallel/streaming, MapReduce, Apache Spark, SPMD, message passing, SIMT, transactions, and nested parallelism). Significant parallel programming assignments will be given as homework. The course is open to students who have completed the introductory CS course sequence through 110.
Terms: Aut | Units: 3-4 | UG Reqs: GER:DB-EngrAppSci | Grading: Letter or Credit/No Credit

CS 152: Trust and Safety Engineering

An introduction to the ways consumer internet services are abused to cause real human harm and the potential operational, product and engineering responses. Students will learn about spam, fraud, account takeovers, the use of social media by terrorists, misinformation, child exploitation, harassment, bullying and self-harm. This will include studying both the technical and sociological roots of these harms and the ways various online providers have responded. Our goal is to provide students with an understanding of how the technologies they may build have been abused in the past and how they might spot future abuses earlier. The class will be taught by a long-time practitioner and supplemented by guest lecturers from local companies. Content note: This class will cover real-world harmful behavior and expose students to potentially upsetting material. Submit an application for the class at: http://cs152app.stanford.edu
Terms: Aut, Win | Units: 3 | Grading: Letter or Credit/No Credit
Instructors: ; Stamos, A. (PI)

CS 154: Introduction to Automata and Complexity Theory

This course provides a mathematical introduction to the following questions: What is computation? Given a computational model, what problems can we hope to solve in principle with this model? Besides those solvable in principle, what problems can we hope to efficiently solve? In many cases we can give completely rigorous answers; in other cases, these questions have become major open problems in computer science and mathematics. By the end of this course, students will be able to classify computational problems in terms of their computational complexity (Is the problem regular? Not regular? Decidable? Recognizable? Neither? Solvable in P? NP-complete? PSPACE-complete?, etc.). Students will gain a deeper appreciation for some of the fundamental issues in computing that are independent of trends of technology, such as the Church-Turing Thesis and the P versus NP problem. Prerequisites: CS 103 or 103B.
Terms: Aut | Units: 3-4 | UG Reqs: GER:DB-EngrAppSci | Grading: Letter or Credit/No Credit
Instructors: ; Reingold, O. (PI)

CS 157: Computational Logic

Rigorous introduction to Symbolic Logic from a computational perspective. Encoding information in the form of logical sentences. Reasoning with information in this form. Overview of logic technology and its applications - in mathematics, science, engineering, business, law, and so forth. Topics include the syntax and semantics of Propositional Logic, Relational Logic, and Herbrand Logic, validity, contingency, unsatisfiability, logical equivalence, entailment, consistency, natural deduction (Fitch), mathematical induction, resolution, compactness, soundness, completeness.
Terms: Aut | Units: 3 | UG Reqs: GER:DB-EngrAppSci | Grading: Letter or Credit/No Credit
Instructors: ; Genesereth, M. (PI)

CS 161: Design and Analysis of Algorithms

Worst and average case analysis. Recurrences and asymptotics. Efficient algorithms for sorting, searching, and selection. Data structures: binary search trees, heaps, hash tables. Algorithm design techniques: divide-and-conquer, dynamic programming, greedy algorithms, amortized analysis, randomization. Algorithms for fundamental graph problems: minimum-cost spanning tree, connected components, topological sort, and shortest paths. Possible additional topics: network flow, string searching. Prerequisite: 103 or 103B; 109 or STATS 116.
Terms: Aut, Win, Sum | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR | Grading: Letter or Credit/No Credit

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.
Terms: Aut | Units: 1 | Grading: Satisfactory/No Credit

CS 191: Senior Project

Restricted to Computer Science and Computer Systems Engineering students. Group or individual projects under faculty direction. Register using instructor's section number. A project can be either a significant software application or publishable research. Software application projects include substantial programming and modern user-interface technologies and are comparable in scale to shareware programs or commercial applications. Research projects may result in a paper publishable in an academic journal or presentable at a conference. Required public presentation of final application or research results. Prerequisite: Completion of at least 135 units.
Terms: Aut, Win, Spr, Sum | Units: 1-6 | Repeatable for credit | Grading: Letter (ABCD/NP)
Instructors: ; Agrawala, M. (PI); Aiken, A. (PI); Akeley, K. (PI); Altman, R. (PI); Angst, R. (PI); Bailis, P. (PI); Baker, M. (PI); Barbagli, F. (PI); Batzoglou, S. (PI); Bejerano, G. (PI); Bernstein, M. (PI); Blikstein, P. (PI); Boneh, D. (PI); Borenstein, J. (PI); Boyd, S. (PI); Bradski, G. (PI); Brafman, R. (PI); Cain, J. (PI); Cao, P. (PI); Casado, M. (PI); Charikar, M. (PI); Cheriton, D. (PI); Cooper, S. (PI); Dally, B. (PI); De-Micheli, G. (PI); Dill, D. (PI); Dror, R. (PI); Dwork, C. (PI); Engler, D. (PI); Ermon, S. (PI); Fedkiw, R. (PI); Feigenbaum, E. (PI); Fikes, R. (PI); Fisher, K. (PI); Fogg, B. (PI); Fox, A. (PI); Garcia-Molina, H. (PI); Genesereth, M. (PI); Gill, J. (PI); Girod, B. (PI); Goel, A. (PI); Goel, S. (PI); Goodman, N. (PI); Gregg, C. (PI); Guibas, L. (PI); Hanrahan, P. (PI); Heer, J. (PI); Hennessy, J. (PI); Horowitz, M. (PI); James, D. (PI); Johari, R. (PI); Johnson, M. (PI); Jurafsky, D. (PI); Katti, S. (PI); Kay, M. (PI); Khatib, O. (PI); Klemmer, S. (PI); Kochenderfer, M. (PI); Koller, D. (PI); Koltun, V. (PI); Konolige, K. (PI); Kozyrakis, C. (PI); Kundaje, A. (PI); Lam, M. (PI); Landay, J. (PI); Latombe, J. (PI); Lee, C. (PI); Leskovec, J. (PI); Levis, P. (PI); Levitt, M. (PI); Levoy, M. (PI); Li, F. (PI); Liang, P. (PI); Ma, T. (PI); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McCarthy, J. (PI); McKeown, N. (PI); Mitchell, J. (PI); Mitra, S. (PI); Montanari, A. (PI); Motwani, R. (PI); Musen, M. (PI); Nass, C. (PI); Nayak, P. (PI); Ng, A. (PI); Niebles Duque, J. (PI); Nilsson, N. (PI); Olukotun, O. (PI); Ousterhout, J. (PI); Paepcke, A. (PI); Pande, V. (PI); Parlante, N. (PI); Pea, R. (PI); Piech, C. (PI); Plotkin, S. (PI); Plummer, R. (PI); Poldrack, R. (PI); Potts, C. (PI); Prabhakar, B. (PI); Pratt, V. (PI); Raghavan, P. (PI); Rajaraman, A. (PI); Re, C. (PI); Reingold, O. (PI); Roberts, E. (PI); Rosenblum, M. (PI); Roughgarden, T. (PI); Sahami, M. (PI); Salisbury, J. (PI); Savarese, S. (PI); Saxena, A. (PI); Schwarz, K. (PI); Shoham, Y. (PI); Sosic, R. (PI); Stepp, M. (PI); Thrun, S. (PI); Tobagi, F. (PI); Trevisan, L. (PI); Ullman, J. (PI); Valiant, G. (PI); Van Roy, B. (PI); Wang, G. (PI); Widom, J. (PI); Wiederhold, G. (PI); Williams, R. (PI); Williams, V. (PI); Winograd, T. (PI); Winstein, K. (PI); Wootters, M. (PI); Yamins, D. (PI); Young, P. (PI); Zaharia, M. (PI); Zelenski, J. (PI); Zou, J. (PI)

CS 191W: Writing Intensive Senior Project (WIM)

Restricted to Computer Science and Computer Systems Engineering students. Writing-intensive version of CS191. Register using the section number of an Academic Council member. Prerequisite: Completion of at least 135 units.
Terms: Aut, Win, Spr | Units: 3-6 | Repeatable for credit | Grading: Letter (ABCD/NP)
Instructors: ; Agrawala, M. (PI); Aiken, A. (PI); Akeley, K. (PI); Altman, R. (PI); Baker, M. (PI); Barbagli, F. (PI); Batzoglou, S. (PI); Bejerano, G. (PI); Bernstein, M. (PI); Blikstein, P. (PI); Boneh, D. (PI); Borenstein, J. (PI); Boyd, S. (PI); Bradski, G. (PI); Brafman, R. (PI); Brunskill, E. (PI); Cain, J. (PI); Cao, P. (PI); Casado, M. (PI); Charikar, M. (PI); Cheriton, D. (PI); Cooper, S. (PI); Dally, B. (PI); De-Micheli, G. (PI); Dill, D. (PI); Dror, R. (PI); Durumeric, Z. (PI); Dwork, C. (PI); Engler, D. (PI); Ermon, S. (PI); Fatahalian, K. (PI); Fedkiw, R. (PI); Feigenbaum, E. (PI); Fikes, R. (PI); Fisher, K. (PI); Fogg, B. (PI); Fox, A. (PI); Garcia-Molina, H. (PI); Genesereth, M. (PI); Gill, J. (PI); Girod, B. (PI); Goel, A. (PI); Goel, S. (PI); Goodman, N. (PI); Gregg, C. (PI); Guibas, L. (PI); Hanrahan, P. (PI); Heer, J. (PI); Hennessy, J. (PI); Horowitz, M. (PI); James, D. (PI); Johari, R. (PI); Johnson, M. (PI); Jurafsky, D. (PI); Katti, S. (PI); Kay, M. (PI); Khatib, O. (PI); Klemmer, S. (PI); Kochenderfer, M. (PI); Koller, D. (PI); Koltun, V. (PI); Konolige, K. (PI); Kozyrakis, C. (PI); Kundaje, A. (PI); Lam, M. (PI); Landay, J. (PI); Latombe, J. (PI); Leskovec, J. (PI); Levis, P. (PI); Levitt, M. (PI); Levoy, M. (PI); Li, F. (PI); Liang, P. (PI); Mackey, L. (PI); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McCarthy, J. (PI); McKeown, N. (PI); Mitchell, J. (PI); Mitra, S. (PI); Montanari, A. (PI); Motwani, R. (PI); Musen, M. (PI); Nass, C. (PI); Nayak, P. (PI); Ng, A. (PI); Nilsson, N. (PI); Olukotun, O. (PI); Ousterhout, J. (PI); Paepcke, A. (PI); Pande, V. (PI); Parlante, N. (PI); Pea, R. (PI); Piech, C. (PI); Plotkin, S. (PI); Plummer, R. (PI); Potts, C. (PI); Prabhakar, B. (PI); Pratt, V. (PI); Raghavan, P. (PI); Rajaraman, A. (PI); Re, C. (PI); Reingold, O. (PI); Roberts, E. (PI); Rosenblum, M. (PI); Roughgarden, T. (PI); Saberi, A. (PI); Sahami, M. (PI); Salisbury, J. (PI); Savarese, S. (PI); Saxena, A. (PI); Schwarz, K. (PI); Shoham, Y. (PI); Stepp, M. (PI); Tan, L. (PI); Thrun, S. (PI); Tobagi, F. (PI); Trevisan, L. (PI); Ullman, J. (PI); Valiant, G. (PI); Van Roy, B. (PI); Wang, G. (PI); Wetzstein, G. (PI); Widom, J. (PI); Wiederhold, G. (PI); Williams, R. (PI); Williams, V. (PI); Winograd, T. (PI); Winstein, K. (PI); Wodtke, C. (PI); Young, P. (PI); Zaharia, M. (PI); Zelenski, J. (PI); Zou, J. (PI)

CS 192: Programming Service Project

Restricted to Computer Science students. Appropriate academic credit (without financial support) is given for volunteer computer programming work of public benefit and educational value.
Terms: Aut, Win, Spr, Sum | Units: 1-4 | Repeatable for credit | Grading: Letter or Credit/No Credit
Instructors: ; Aiken, A. (PI); Altman, R. (PI); Baker, M. (PI); Barbagli, F. (PI); Batzoglou, S. (PI); Bejerano, G. (PI); Bernstein, M. (PI); Boneh, D. (PI); Bradski, G. (PI); Brafman, R. (PI); Cain, J. (PI); Cao, P. (PI); Cheriton, D. (PI); Cooper, S. (PI); Dally, B. (PI); De-Micheli, G. (PI); Dill, D. (PI); Dwork, C. (PI); Engler, D. (PI); Fedkiw, R. (PI); Feigenbaum, E. (PI); Fikes, R. (PI); Fisher, K. (PI); Fogg, B. (PI); Fox, A. (PI); Garcia-Molina, H. (PI); Genesereth, M. (PI); Gill, J. (PI); Girod, B. (PI); Goel, A. (PI); Gregg, C. (PI); Guibas, L. (PI); Hanrahan, P. (PI); Heer, J. (PI); Hennessy, J. (PI); Horowitz, M. (PI); Johari, R. (PI); Johnson, M. (PI); Jurafsky, D. (PI); Katti, S. (PI); Kay, M. (PI); Khatib, O. (PI); Klemmer, S. (PI); Koller, D. (PI); Koltun, V. (PI); Konolige, K. (PI); Kozyrakis, C. (PI); Lam, M. (PI); Latombe, J. (PI); Leskovec, J. (PI); Levis, P. (PI); Levitt, M. (PI); Levoy, M. (PI); Li, F. (PI); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McCarthy, J. (PI); McKeown, N. (PI); Mitchell, J. (PI); Motwani, R. (PI); Musen, M. (PI); Nass, C. (PI); Nayak, P. (PI); Ng, A. (PI); Nilsson, N. (PI); Olukotun, O. (PI); Ousterhout, J. (PI); Parlante, N. (PI); Plotkin, S. (PI); Plummer, R. (PI); Prabhakar, B. (PI); Pratt, V. (PI); Raghavan, P. (PI); Rajaraman, A. (PI); Roberts, E. (PI); Rosenblum, M. (PI); Roughgarden, T. (PI); Sahami, M. (PI); Salisbury, J. (PI); Schwarz, K. (PI); Shoham, Y. (PI); Thrun, S. (PI); Tobagi, F. (PI); Trevisan, L. (PI); Ullman, J. (PI); Van Roy, B. (PI); Widom, J. (PI); Wiederhold, G. (PI); Williams, R. (PI); Winograd, T. (PI); Young, P. (PI); Zelenski, J. (PI)

CS 195: Supervised Undergraduate Research

Directed research under faculty supervision. Students are required to submit a written report and give a public presentation on their work.
Terms: Aut, Win, Spr, Sum | Units: 3-4 | Repeatable for credit | Grading: Letter (ABCD/NP)

CS 197: Computer Science Research

An onramp for students interested in breaking new ground in the frontiers of computer science. Students select a research area (AI, HCI, Systems, etc.), and are matched with a quarter-long project and a Ph.D. student mentor. Lectures by faculty introduce the fundamentals of computer science research; special interest group meetings provide peer mentorship and feedback. Alumni of the course are given the opportunity to be connected to faculty for ongoing research, or to repeat the class under CS197A for credit (but no lecture component) to continue work on their projects. Prerequisites: Enrollment is by application. CS106B is required; CS107 is strongly recommended. Team projects will involve programming.
Terms: Aut | Units: 3 | Grading: Letter or Credit/No Credit
Instructors: ; Bernstein, M. (PI)

CS 197A: Computer Science Research Seminar

Students attend weekly CS 197 Special Interest Group meetings and remain actively involved in research. Prerequisite: CS 197.
Terms: Aut | Units: 1 | Repeatable for credit | Grading: Satisfactory/No Credit
Instructors: ; Bernstein, M. (PI)

CS 198: Teaching Computer Science

Students lead a discussion section of 106A while learning how to teach a programming language at the introductory level. Focus is on teaching skills, techniques, and course specifics. Application and interview required; see http://cs198.stanford.edu.
Terms: Aut, Win, Spr | Units: 3-4 | Grading: Satisfactory/No Credit

CS 198B: Additional Topics in Teaching Computer Science

Students build on the teaching skills developed in CS198. Focus is on techniques used to teach topics covered in CS106B. Prerequisite: successful completion of CS198.
Terms: Aut, Win, Spr | Units: 1 | Grading: Satisfactory/No Credit

CS 199: Independent Work

Special study under faculty direction, usually leading to a written report. Letter grade; if not appropriate, enroll in 199P.
Terms: Aut, Win, Spr, Sum | Units: 1-6 | Repeatable for credit | Grading: Letter (ABCD/NP)
Instructors: ; Agrawala, M. (PI); Aiken, A. (PI); Akeley, K. (PI); Altman, R. (PI); Bailis, P. (PI); Baker, M. (PI); Barbagli, F. (PI); Batzoglou, S. (PI); Bejerano, G. (PI); Bernstein, M. (PI); Blikstein, P. (PI); Bohg, J. (PI); Boneh, D. (PI); Borenstein, J. (PI); Boyd, S. (PI); Bradski, G. (PI); Brafman, R. (PI); Brunskill, E. (PI); Cain, J. (PI); Cao, P. (PI); Casado, M. (PI); Charikar, M. (PI); Cheriton, D. (PI); Cooper, S. (PI); Dally, B. (PI); De-Micheli, G. (PI); Dill, D. (PI); Dror, R. (PI); Durumeric, Z. (PI); Dwork, C. (PI); Engler, D. (PI); Ermon, S. (PI); Fatahalian, K. (PI); Fedkiw, R. (PI); Feigenbaum, E. (PI); Fikes, R. (PI); Fisher, K. (PI); Fogg, B. (PI); Fox, A. (PI); Garcia-Molina, H. (PI); Genesereth, M. (PI); Gill, J. (PI); Girod, B. (PI); Goel, A. (PI); Goodman, N. (PI); Grimes, A. (PI); Guibas, L. (PI); Hanrahan, P. (PI); Heer, J. (PI); Hennessy, J. (PI); Horowitz, M. (PI); James, D. (PI); Johari, R. (PI); Johnson, M. (PI); Jurafsky, D. (PI); Katti, S. (PI); Kay, M. (PI); Khatib, O. (PI); Klemmer, S. (PI); Kochenderfer, M. (PI); Koller, D. (PI); Koltun, V. (PI); Konolige, K. (PI); Kozyrakis, C. (PI); Kundaje, A. (PI); Lam, M. (PI); Landay, J. (PI); Latombe, J. (PI); Lee, C. (PI); Leskovec, J. (PI); Levis, P. (PI); Levitt, M. (PI); Levoy, M. (PI); Li, F. (PI); Liang, P. (PI); Lin, H. (PI); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McCarthy, J. (PI); McKeown, N. (PI); Mitchell, J. (PI); Mitra, S. (PI); Motwani, R. (PI); Musen, M. (PI); Nass, C. (PI); Nayak, P. (PI); Ng, A. (PI); Niebles Duque, J. (PI); Nilsson, N. (PI); Olukotun, O. (PI); Ousterhout, J. (PI); Paepcke, A. (PI); Pande, V. (PI); Parlante, N. (PI); Patrignani, M. (PI); Pavone, M. (PI); Pea, R. (PI); Piech, C. (PI); Plotkin, S. (PI); Plummer, R. (PI); Potts, C. (PI); Prabhakar, B. (PI); Pratt, V. (PI); Raghavan, P. (PI); Rajaraman, A. (PI); Re, C. (PI); Reingold, O. (PI); Roberts, E. (PI); Rosenblum, M. (PI); Roughgarden, T. (PI); Rubinstein, A. (PI); Sadigh, D. (PI); Sahami, M. (PI); Salisbury, J. (PI); Savarese, S. (PI); Saxena, A. (PI); Schwarz, K. (PI); Shoham, Y. (PI); Stanford, J. (PI); Stepp, M. (PI); Thrun, S. (PI); Tobagi, F. (PI); Trevisan, L. (PI); Ullman, J. (PI); Valiant, G. (PI); Van Roy, B. (PI); Widom, J. (PI); Wiederhold, G. (PI); Williams, R. (PI); Williams, V. (PI); Winograd, T. (PI); Winstein, K. (PI); Wodtke, C. (PI); Wootters, M. (PI); Yamins, D. (PI); Young, P. (PI); Zaharia, M. (PI); Zelenski, J. (PI)

CS 199P: Independent Work

(Staff)
Terms: Aut, Win, Spr, Sum | Units: 1-6 | Repeatable for credit | Grading: Satisfactory/No Credit
Instructors: ; Agrawala, M. (PI); Aiken, A. (PI); Altman, R. (PI); Angst, R. (PI); Baker, M. (PI); Barrett, C. (PI); Batzoglou, S. (PI); Bejerano, G. (PI); Bernstein, M. (PI); Blikstein, P. (PI); Boneh, D. (PI); Borenstein, J. (PI); Bradski, G. (PI); Brafman, R. (PI); Brunskill, E. (PI); Cain, J. (PI); Cao, P. (PI); Charikar, M. (PI); Cheriton, D. (PI); Dally, B. (PI); De-Micheli, G. (PI); Dill, D. (PI); Dror, R. (PI); Durumeric, Z. (PI); Dwork, C. (PI); Engler, D. (PI); Fedkiw, R. (PI); Feigenbaum, E. (PI); Fikes, R. (PI); Fisher, K. (PI); Fogg, B. (PI); Fox, A. (PI); Garcia-Molina, H. (PI); Genesereth, M. (PI); Gill, J. (PI); Girod, B. (PI); Goel, A. (PI); Goodman, N. (PI); Grimes, A. (PI); Guibas, L. (PI); Hanrahan, P. (PI); Hennessy, J. (PI); Horowitz, M. (PI); James, D. (PI); Johari, R. (PI); Johnson, M. (PI); Jurafsky, D. (PI); Katti, S. (PI); Kay, M. (PI); Khatib, O. (PI); Klemmer, S. (PI); Kochenderfer, M. (PI); Koller, D. (PI); Koltun, V. (PI); Konolige, K. (PI); Kozyrakis, C. (PI); Kundaje, A. (PI); Lam, M. (PI); Landay, J. (PI); Latombe, J. (PI); Lee, C. (PI); Leskovec, J. (PI); Levis, P. (PI); Levitt, M. (PI); Levoy, M. (PI); Li, F. (PI); Liang, P. (PI); Lin, H. (PI); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McCarthy, J. (PI); McKeown, N. (PI); Mitchell, J. (PI); Mitra, S. (PI); Motwani, R. (PI); Musen, M. (PI); Nass, C. (PI); Nayak, P. (PI); Ng, A. (PI); Nilsson, N. (PI); Olukotun, O. (PI); Ousterhout, J. (PI); Parlante, N. (PI); Pavone, M. (PI); Piech, C. (PI); Plotkin, S. (PI); Plummer, R. (PI); Prabhakar, B. (PI); Pratt, V. (PI); Raghavan, P. (PI); Rajaraman, A. (PI); Re, C. (PI); Reingold, O. (PI); Roberts, E. (PI); Rosenblum, M. (PI); Roughgarden, T. (PI); Sahami, M. (PI); Salisbury, J. (PI); Savarese, S. (PI); Saxena, A. (PI); Schwarz, K. (PI); Shoham, Y. (PI); Socher, R. (PI); Stepp, M. (PI); Thrun, S. (PI); Tobagi, F. (PI); Trevisan, L. (PI); Ullman, J. (PI); Valiant, G. (PI); Van Roy, B. (PI); Widom, J. (PI); Wiederhold, G. (PI); Williams, R. (PI); Williams, V. (PI); Winograd, T. (PI); Winstein, K. (PI); Wootters, M. (PI); Young, P. (PI); Zaharia, M. (PI); Zelenski, J. (PI); Zou, J. (PI)

CS 202: Law for Computer Science Professionals

An overview of intellectual property law as it relates to computer science and other disciplines, including discussions of patents, trademarks, copyrights, trade secrets, computer fraud litigation and interesting historical tidbits. Emphasis on topics of current interest such as software and business method patents, copyright issues concerning software, music, art and artificial intelligence, and current disputes of note including the recently-settled Waymo v. Uber lawsuit and the ongoing Oracle v. Google, Apple v. Samsung and hiQ v. LinkedIn sagas. Guest lectures typically have covered open source and the free software movement, practical issues for business founders (including corporate formation issues and non-disclosure, non-compete, work-made-for-hire and license agreements), and other pertinent topics. Classes are presented in an open discussion format broadly directed to students with both technical and non-technical backgrounds.
Terms: Win | Units: 1 | Grading: Satisfactory/No Credit
Instructors: ; Hansen, D. (PI)

CS 206: Exploring Computational Journalism (COMM 281)

This project-based course will explore the field of computational journalism, including the use of Data Science, Info Visualization, AI, and emerging technologies to help journalists discover and tell stories, understand their audience, advance free speech, and build trust. Admission by application; please email R.B. Brenner at rbbrenner@stanford.edu to request application.
Terms: Aut | Units: 3 | Grading: Letter (ABCD/NP)

CS 208E: Great Ideas in Computer Science

Great Ideas in Computer Science Covers the intellectual tradition of computer science emphasizing ideas that reflect the most important milestones in the history of the discipline. Topics include programming and problem solving; implementing computation in hardware; algorithmic efficiency; the theoretical limits of computation; cryptography and security; computer networks; machine learning; and the philosophy behind artificial intelligence. Readings will include classic papers along with additional explanatory material.
Terms: Aut | Units: 3 | Grading: Letter (ABCD/NP)
Instructors: ; Gregg, C. (PI)

CS 221: Artificial Intelligence: Principles and Techniques

Artificial intelligence (AI) has had a huge impact in many areas, including medical diagnosis, speech recognition, robotics, web search, advertising, and scheduling. This course focuses on the foundational concepts that drive these applications. In short, AI is the mathematics of making good decisions given incomplete information (hence the need for probability) and limited computation (hence the need for algorithms). Specific topics include search, constraint satisfaction, game playing, Markov decision processes, graphical models, machine learning, and logic. Prerequisites: CS 103 or CS 103B/X, CS 106B or CS 106X, CS 107, and CS 109 (algorithms, probability, and programming experience).
Terms: Aut, Spr | Units: 3-4 | Grading: Letter or Credit/No Credit

CS 224W: Machine Learning with Graphs

Networks are a fundamental tool for modeling complex social, technological, and biological systems. Coupled with the emergence of online social networks and large-scale data availability in biological sciences, this course focuses on the analysis of massive networks which provide several computational, algorithmic, and modeling challenges. Students are introduced to machine learning techniques and data mining tools apt to reveal insights on the social, technological, and natural worlds, by means of studying their underlying network structure and interconnections. Topics include: robustness and fragility of food webs and financial markets; algorithms for the World Wide Web; graph neural networks and representation learning; identification of functional modules in biological networks; disease outbreak detection.
Terms: Aut | Units: 3-4 | Grading: Letter or Credit/No Credit
Instructors: ; Leskovec, J. (PI)

CS 229: Machine Learning (STATS 229)

Topics: statistical pattern recognition, linear and non-linear regression, non-parametric methods, exponential family, GLMs, support vector machines, kernel methods, deep learning, model/feature selection, learning theory, ML advice, clustering, density estimation, EM, dimensionality reduction, ICA, PCA, reinforcement learning and adaptive control, Markov decision processes, approximate dynamic programming, and policy search. Prerequisites: linear algebra, and basic probability and statistics.
Terms: Aut, Spr | Units: 3-4 | Grading: Letter or Credit/No Credit

CS 230: Deep Learning

Deep Learning is one of the most highly sought after skills in AI. We will help you become good at Deep Learning. In this course, you will learn the foundations of Deep Learning, understand how to build neural networks, and learn how to lead successful machine learning projects. You will learn about Convolutional networks, RNNs, LSTM, Adam, Dropout, BatchNorm, Xavier/He initialization, and more. You will work on case studies from healthcare, autonomous driving, sign language reading, music generation, and natural language processing. You will master not only the theory, but also see how it is applied in industry. You will practice all these ideas in Python and in TensorFlow, which we will teach. AI is transforming multiple industries. After this course, you will likely find creative ways to apply it to your work. 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 in to class for advanced discussions and work on projects. This class will culminate in an open-ended final project, which the teaching team will help you on. Prerequisites: Familiarity with programming in Python and Linear Algebra (matrix / vector multiplications). CS 229 may be taken concurrently.
Terms: Aut, Win, Spr | Units: 3-4 | Grading: Letter or Credit/No Credit

CS 236: Deep Generative Models

Generative models are widely used in many subfields of AI and Machine Learning. Recent advances in parameterizing these models using neural networks, combined with progress in stochastic optimization methods, have enabled scalable modeling of complex, high-dimensional data including images, text, and speech. In this course, we will study the probabilistic foundations and learning algorithms for deep generative models, including Variational Autoencoders (VAE), Generative Adversarial Networks (GAN), and flow models. The course will also discuss application areas that have benefitted from deep generative models, including computer vision, speech and natural language processing, and reinforcement learning. Prerequisites: Basic knowledge about machine learning from at least one of CS 221, 228, 229 or 230. Students will work with computational and mathematical models and should have a basic knowledge of probabilities and calculus. Proficiency in some programming language, preferably Python, required.
Terms: Aut | Units: 3 | Grading: Letter or Credit/No Credit

CS 237A: Principles of Robot Autonomy I (AA 174A, AA 274A, EE 260A)

Basic principles for endowing mobile autonomous robots with perception, planning, and decision-making capabilities. Algorithmic approaches for robot perception, localization, and simultaneous localization and mapping; control of non-linear systems, learning-based control, and robot motion planning; introduction to methodologies for reasoning under uncertainty, e.g., (partially observable) Markov decision processes. Extensive use of the Robot Operating System (ROS) for demonstrations and hands-on activities. Prerequisites: CS 106A or equivalent, CME 100 or equivalent (for linear algebra), and CME 106 or equivalent (for probability theory).
Terms: Aut | Units: 3-4 | Grading: Letter (ABCD/NP)
Instructors: ; Pavone, M. (PI)

CS 238: Decision Making under Uncertainty (AA 228)

This course is designed to increase awareness and appreciation for why uncertainty matters, particularly for aerospace applications. Introduces decision making under uncertainty from a computational perspective and provides an overview of the necessary tools for building autonomous and decision-support systems. Following an introduction to probabilistic models and decision theory, the course will cover computational methods for solving decision problems with stochastic dynamics, model uncertainty, and imperfect state information. Topics include: Bayesian networks, influence diagrams, dynamic programming, reinforcement learning, and partially observable Markov decision processes. Applications cover: air traffic control, aviation surveillance systems, autonomous vehicles, and robotic planetary exploration. Prerequisites: basic probability and fluency in a high-level programming language.
Terms: Aut | Units: 3-4 | Grading: Letter or Credit/No Credit
Instructors: ; Kochenderfer, M. (PI)

CS 242: Programming Languages

This course explores models of computation, both old, like functional programming with the lambda calculus (circa 1930), and new, like memory-safe systems programming with Rust (circa 2010). Topics include type systems (polymorphism, algebraic data types, static vs. dynamic), control flow (exceptions, continuations), concurrency/parallelism, metaprogramming, and the semantic gap between computational models and modern hardware. The study of programming languages is equal parts systems and theory, looking at how a rigorous understanding of the syntax, structure, and semantics of computation enables formal reasoning about the behavior and properties of complex real-world systems. In light of today's Cambrian explosion of new programming languages, this course also seeks to provide a conceptual clarity on how to compare and contrast the multitude of programming languages, models, and paradigms in the modern programming landscape. Prerequisites: 103, 110.
Terms: Aut | Units: 3-4 | Grading: Letter or Credit/No Credit
Instructors: ; Crichton, W. (PI)

CS 247I: Design for Understanding

Complex problems require sophisticated approaches. In this project-based hands-on course, students explore the design of systems, information and interface for human use. We will model the flow of interactions, data and context, and crafting a design that is useful, appropriate and robust. Students will create utility apps or games as a response to the challenges presented. We will also examine the ethical consequences of design decisions and explore current issues arising from unintended consequences. Prerequisite: CS 147 or equivalent.
Terms: Aut | Units: 3-4 | Grading: Letter (ABCD/NP)
Instructors: ; Wodtke, C. (PI)

CS 251: Cryptocurrencies and blockchain technologies

For advanced undergraduates and for graduate students. The potential applications for Bitcoin-like technologies is enormous. The course will cover the technical aspects of cryptocurrencies, blockchain technologies, and distributed consensus. Students will learn how these systems work and how to engineer secure software that interacts with the Bitcoin network and other cryptocurrencies. Prerequisite: CS110. Recommended: CS255.
Terms: Aut | Units: 3 | Grading: Letter or Credit/No Credit
Instructors: ; Boneh, D. (PI)

CS 253: Web Security

Principles of web security. The fundamentals and state-of-the-art in web security. Attacks and countermeasures. Topics include: the browser security model, web app vulnerabilities, injection, denial-of-service, TLS attacks, privacy, fingerprinting, same-origin policy, cross site scripting, authentication, JavaScript security, emerging threats, defense-in-depth, and techniques for writing secure code. Course projects include writing security exploits, defending insecure web apps, and implementing emerging web standards. Prerequisite: CS 142 or equivalent web development experience.
Terms: Aut | Units: 3 | Grading: Letter or Credit/No Credit
Instructors: ; Aboukhadijeh, F. (PI)

CS 265: Randomized Algorithms and Probabilistic Analysis (CME 309)

Randomness pervades the natural processes around us, from the formation of networks, to genetic recombination, to quantum physics. Randomness is also a powerful tool that can be leveraged to create algorithms and data structures which, in many cases, are more efficient and simpler than their deterministic counterparts. This course covers the key tools of probabilistic analysis, and application of these tools to understand the behaviors of random processes and algorithms. Emphasis is on theoretical foundations, though we will apply this theory broadly, discussing applications in machine learning and data analysis, networking, and systems. Topics include tail bounds, the probabilistic method, Markov chains, and martingales, with applications to analyzing random graphs, metric embeddings, random walks, and a host of powerful and elegant randomized algorithms. Prerequisites: CS 161 and STAT 116, or equivalents and instructor consent.
Terms: Aut | Units: 3 | Grading: Letter or Credit/No Credit
Instructors: ; Valiant, G. (PI)

CS 269O: Introduction to Optimization Theory (MS&E 213)

Introduction of core algorithmic techniques and proof strategies that underlie the best known provable guarantees for minimizing high dimensional convex functions. Focus on broad canonical optimization problems and survey results for efficiently solving them, ultimately providing the theoretical foundation for further study in optimization. In particular, focus will be on first-order methods for both smooth and non-smooth convex function minimization as well as methods for structured convex function minimization, discussing algorithms such as gradient descent, accelerated gradient descent, mirror descent, Newton's method, interior point methods, and more. Prerequisite: multivariable calculus and linear algebra.
Terms: Aut | Units: 3 | Grading: Letter or Credit/No Credit

CS 273B: Deep Learning in Genomics and Biomedicine (BIODS 237, BIOMEDIN 273B, GENE 236)

Recent breakthroughs in high-throughput genomic and biomedical data are transforming biological sciences into "big data" disciplines. In parallel, progress in deep neural networks are revolutionizing fields such as image recognition, natural language processing and, more broadly, AI. This course explores the exciting intersection between these two advances. The course will start with an introduction to deep learning and overview the relevant background in genomics and high-throughput biotechnology, focusing on the available data and their relevance. It will then cover the ongoing developments in deep learning (supervised, unsupervised and generative models) with the focus on the applications of these methods to biomedical data, which are beginning to produced dramatic results. In addition to predictive modeling, the course emphasizes how to visualize and extract interpretable, biological insights from such models. Recent papers from the literature will be presented and discussed. Students will be introduced to and work with popular deep learning software frameworks. Students will work in groups on a final class project using real world datasets. Prerequisites: College calculus, linear algebra, basic probability and statistics such as CS 109, and basic machine learning such as CS 229. No prior knowledge of genomics is necessary.
Terms: Aut | Units: 3 | Grading: Medical Option (Med-Ltr-CR/NC)
Instructors: ; Kundaje, A. (PI); Zou, J. (PI)

CS 274: Representations and Algorithms for Computational Molecular Biology (BIOE 214, BIOMEDIN 214, GENE 214)

Topics: introduction to bioinformatics and computational biology, algorithms for alignment of biological sequences and structures, computing with strings, phylogenetic tree construction, hidden Markov models, basic structural computations on proteins, protein structure prediction, protein threading techniques, homology modeling, molecular dynamics and energy minimization, statistical analysis of 3D biological data, integration of data sources, knowledge representation and controlled terminologies for molecular biology, microarray analysis, machine learning (clustering and classification), and natural language text processing. Prerequisite: CS 106B; recommended: CS161; consent of instructor for 3 units.
Terms: Aut | Units: 3-4 | Grading: Medical Option (Med-Ltr-CR/NC)

CS 275: Translational Bioinformatics (BIOE 217, BIOMEDIN 217, GENE 217)

Computational methods for the translation of biomedical data into diagnostic, prognostic, and therapeutic applications in medicine. Topics: multi-scale omics data generation and analysis, utility and limitations of public biomedical resources, machine learning and data mining, issues and opportunities in drug discovery, and mobile/digital health solutions. Case studies and course project. Prerequisites: programming ability at the level of CS 106A and familiarity with biology and statistics.
Terms: Aut | Units: 4 | Grading: Medical Option (Med-Ltr-CR/NC)

CS 279: Computational Biology: Structure and Organization of Biomolecules and Cells (BIOE 279, BIOMEDIN 279, BIOPHYS 279, CME 279)

Computational techniques for investigating and designing the three-dimensional structure and dynamics of biomolecules and cells. These computational methods play an increasingly important role in drug discovery, medicine, bioengineering, and molecular biology. Course topics include protein structure prediction, protein design, drug screening, molecular simulation, cellular-level simulation, image analysis for microscopy, and methods for solving structures from crystallography and electron microscopy data. Prerequisites: elementary programming background (CS 106A or equivalent) and an introductory course in biology or biochemistry.
Terms: Aut | Units: 3 | Grading: Letter or Credit/No Credit
Instructors: ; Dror, R. (PI); Huang, P. (PI)

CS 300: Departmental Lecture Series

Priority given to first-year Computer Science Ph.D. students. CS Masters students admitted if space is available. Presentations by members of the department faculty, each describing informally his or her current research interests and views of computer science as a whole.
Terms: Aut | Units: 1 | Grading: Satisfactory/No Credit
Instructors: ; Ousterhout, J. (PI)

CS 309A: Cloud Computing Seminar

For science, engineering, computer science, business, education, medicine, and law students. Cloud computing is bringing information systems out of the back office and making it core to the entire economy. Furthermore with the advent of smarter machines cloud computing will be integral to building a more precision planet. This class is intended for all students who want to begin to understand the implications of this technology. Guest industry experts are public company CEOs who are either delivering cloud services or using cloud services to transform their businesses.
Terms: Aut | Units: 1 | Repeatable for credit | Grading: Satisfactory/No Credit
Instructors: ; Chou, T. (PI)

CS 325B: Data for Sustainable Development (EARTHSYS 162, EARTHSYS 262)

The sustainable development goals (SDGs) encompass many important aspects of human and ecosystem well-being that are traditionally difficult to measure. This project-based course will focus on ways to use inexpensive, unconventional data streams to measure outcomes relevant to SDGs, including poverty, hunger, health, governance, and economic activity. Students will apply machine learning techniques to various projects outlined at the beginning of the quarter. The main learning goals are to gain experience conducting and communicating original research. Prior knowledge of machine learning techniques, such as from CS 221, CS 229, CS 231N, STATS 202, or STATS 216 is required. Open to both undergraduate and graduate students. Enrollment limited to 24. Students must apply for the class by filling out the form at https://goo.gl/forms/9LSZF7lPkHadix5D3. A permission code will be given to admitted students to register for the class.
Terms: Aut | Units: 3-5 | Repeatable for credit | Grading: Letter or Credit/No Credit

CS 326: Topics in Advanced Robotic Manipulation

This course provides a survey of the most important and influential concepts in autonomous robotic manipulation. It includes classical concepts that are still widely used and recent approaches that have changed the way we look autonomous manipulation. We cover approaches towards motion planning and control using visual and tactile perception as well as machine learning. This course is especially concerned with new approaches for overcoming challenges in generalization from experience, exploration of the environment, and learning representation so that these methods can scale to real problems. Students are expected to present one paper in a tutorial, debate a paper once from the Pro and once from the Con side. They are also expected to propose an original research project and work on it towards a research paper. Recommended: CS 131, 223A, 229 or equivalents.
Terms: Aut | Units: 3-4 | Grading: Letter or Credit/No Credit
Instructors: ; Bohg, J. (PI)

CS 330: Deep Multi-task and Meta Learning

While deep learning has achieved remarkable success in supervised and reinforcement learning problems, such as image classification, speech recognition, and game playing, these models are, to a large degree, specialized for the single task they are trained for. This course will cover the setting where there are multiple tasks to be solved, and study how the structure arising from multiple tasks can benleveraged to learn more efficiently or effectively. This includes: goal-conditioned reinforcement learning techniques that leverage the structure of the provided goal space to learn many tasks significantly faster; meta-learning methods that aim to learn efficient learning algorithms that can learn new tasks quickly; curriculum and lifelong learning, where the problem requires learning a sequence of tasks, leveraging their shared structure to enable knowledge transfer. This is a graduate-level course. By the end of the course, students should be able to understand andnimplement the state-of-the-art multi-task learning algorithms and be ready to conduct research on these topics. Prerequisites: CS 229 or equivalent. Familiarity with deep learning, reinforcement learning, and machine learning is assumed.
Terms: Aut | Units: 3 | Grading: Letter or Credit/No Credit
Instructors: ; Finn, C. (PI)

CS 336: Robot Perception and Decision-Making: Optimal and Learning-based Approaches

How can robots perceive the world and their own motion so that they can accomplish navigation and manipulation tasks? In this course, we will study how this question has been approached specifically if the robot is equipped with visual sensing capabilities. We focus on studying how a robot can make decisions based on raw, high-dimensional sensory data that represents only partial, noisy observations of the environment. Therefore, the course is divided into two main themes (i) Estimation and (ii) Decision-Making and Control where in each theme we will study traditional approaches, learning-based methods and combinations of those. Prerequisites: CS106B, MATH 51 or CME 100, CS109, CS 221 or CS 229.
Terms: Aut | Units: 3-4 | Grading: Letter or Credit/No Credit

CS 337: AI-Assisted Care (MED 277)

AI has been advancing quickly, with its impact everywhere. In healthcare, innovation in AI could help transforming of our healthcare system. This course offers a diverse set of research projects focusing on cutting edge computer vision and machine learning technologies to solve some of healthcare's most important problems. The teaching team and teaching assistants will work closely with students on research projects in this area. Research projects include Care for Senior at Senior Home, Surgical Quality Analysis, AI Assisted Parenting, Burn Analysis & Assessment and more. AI areas include Video Understanding, Image Classification, Object Detection, Segmentation, Action Recognition, Deep Learning, Reinforcement Learning, HCI and more. The course is open to students in both school of medicine and school of engineering.
Terms: Aut, Win | Units: 1 | Grading: Medical Option (Med-Ltr-CR/NC)

CS 342: Building for Digital Health (MED 253)

This project-based course will provide a comprehensive overview of key requirements in the design and full-stack implementation of a digital health research application. Several pre-vetted and approved projects from the Stanford School of Medicine will be available for students to select from and build. Student teams learn about all necessary approval processes to deploy a digital health solution (data privacy clearance/I RB approval, etc.) and be guided in the development of front-end and back-end infrastructure using best practices. The final project will be the presentation and deployment of a fully approved digital health research application. CS106A, CS106B, Recommended: CS193P/A, CS142, CS47, CS110. Limited enrollment for this course. Students need to submit their application online via: https://docs.google.com/forms/d/e/1FAIpQLSfENFanSf9TL8fvCS9RSLOQ90g_NF2_lETx3pQ8Y8BjxToR7g/viewform
Terms: Aut | Units: 3 | Grading: Medical Option (Med-Ltr-CR/NC)
Instructors: ; Aalami, O. (PI)

CS 356: Topics in Computer and Network Security

Research seminar covering foundational work and current topics in computer and network security. Students will read and discuss published research papers as well as complete an original research project in small groups. Open to Ph.D. and masters students as well as advanced undergraduate students. Prerequisites: While the course has no official prerequisites, students need a mature understanding of software systems and networks to be successful. We strongly encourage students to first take CS155: Computer and Network Security.
Terms: Aut | Units: 3 | Grading: Letter or Credit/No Credit
Instructors: ; Durumeric, Z. (PI)

CS 357: Advanced Topics in Formal Methods

Topics vary annually. Recent offerings have covered the foundations of static analysis, including decision procedures for important theories (SAT, linear integer constraints, SMT solvers), model checking, abstract interpretation, and constraint-based analysis. May be repeated for credit.
Terms: Aut | Units: 3 | Repeatable for credit | Grading: Letter or Credit/No Credit
Instructors: ; Zeljic, A. (PI)

CS 375: Large-Scale Neural Network Modeling for Neuroscience (PSYCH 249)

Introduction to designing, building, and training large-scale neural networks for modeling brain and behavioral data, including: deep convolutional neural network models of sensory systems (vision, audition, somatosensation); variational and generative methods for neural interpretation; recurrent neural networks for dynamics, memory and attention; interactive agent-based deep reinforcement learning for cognitive modeling; and methods and metrics for comparing such models to real-world neural data. Attention will be given both to established methods as well as cutting-edge techniques. Students will learn conceptual bases for deep neural network models and will also implement learn to implement and train large-scale models in Tensorflow using GPUs. Requirements: Fluency in Unix shell and Python programming; familiarity with differential equations, linear algebra, and probability theory; priori experience with modern machine learning concepts (e.g. CS229) and basic neural network training tools (eg. CS230 and/or CS231n). Prior knowledge of basic cognitive science or neuroscience not required but helpful.
Terms: Aut | Units: 1-3 | Grading: Letter or Credit/No Credit
Instructors: ; Yamins, D. (PI)

CS 377T: Topics in Human-Computer Interaction: Teaching Studio Classes

Studio teaching is a practice that dates back to the apprentice days of art studios. In this course, you will learn to teach project based classes that include critique. We will also cover effective coaching, design of projects and exercises, and curating material in order to maximize the effectiveness of a flipped classroom. Recommended for TAs in HCI.
Terms: Aut | Units: 3 | Grading: Letter or Credit/No Credit

CS 390A: Curricular Practical Training

Educational opportunities in high technology research and development labs in the computing industry. Qualified computer science students engage in internship work and integrate that work into their academic program. Students register under their faculty advisor during the quarter they are employed and complete a research report outlining their work activity, problems investigated, results, and follow-on projects they expect to perform. CS390A, CS390B, and CS390C may each be taken once.
Terms: Aut, Win, Spr, Sum | Units: 1 | Grading: Satisfactory/No Credit
Instructors: ; Agrawala, M. (PI); Aiken, A. (PI); Akeley, K. (PI); Altman, R. (PI); Bailis, P. (PI); Baker, M. (PI); Barbagli, F. (PI); Barrett, C. (PI); Batzoglou, S. (PI); Bejerano, G. (PI); Bernstein, M. (PI); Blikstein, P. (PI); Bohg, J. (PI); Boneh, D. (PI); Boyd, S. (PI); Bradski, G. (PI); Brafman, R. (PI); Brunskill, E. (PI); Cain, J. (PI); Cao, P. (PI); Casado, M. (PI); Charikar, M. (PI); Cheriton, D. (PI); Cooper, S. (PI); Dally, B. (PI); De-Micheli, G. (PI); Dill, D. (PI); Dror, R. (PI); Duchi, J. (PI); Durumeric, Z. (PI); Dwork, C. (PI); Engler, D. (PI); Ermon, S. (PI); Fatahalian, K. (PI); Fedkiw, R. (PI); Feigenbaum, E. (PI); Fikes, R. (PI); Fischer, M. (PI); Fisher, K. (PI); Fogg, B. (PI); Follmer, S. (PI); Fox, A. (PI); Garcia-Molina, H. (PI); Genesereth, M. (PI); Gill, J. (PI); Girod, B. (PI); Goel, A. (PI); Goel, S. (PI); Goodman, N. (PI); Gregg, C. (PI); Guibas, L. (PI); Hanrahan, P. (PI); Heer, J. (PI); Hennessy, J. (PI); Horowitz, M. (PI); Icard, T. (PI); James, D. (PI); Johari, R. (PI); Johnson, M. (PI); Jurafsky, D. (PI); Katti, S. (PI); Kay, M. (PI); Khatib, O. (PI); Klemmer, S. (PI); Kochenderfer, M. (PI); Koller, D. (PI); Koltun, V. (PI); Konolige, K. (PI); Kozyrakis, C. (PI); Kundaje, A. (PI); Lam, M. (PI); Landay, J. (PI); Latombe, J. (PI); Lee, C. (PI); Leskovec, J. (PI); Levis, P. (PI); Levitt, M. (PI); Levoy, M. (PI); Li, F. (PI); Liang, P. (PI); Ma, T. (PI); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McCarthy, J. (PI); McKeown, N. (PI); Mitchell, J. (PI); Mitra, S. (PI); Motwani, R. (PI); Musen, M. (PI); Nass, C. (PI); Nayak, P. (PI); Ng, A. (PI); Niebles Duque, J. (PI); Nilsson, N. (PI); Okamura, A. (PI); Olukotun, O. (PI); Ousterhout, J. (PI); Paepcke, A. (PI); Pande, V. (PI); Parlante, N. (PI); Pavone, M. (PI); Pea, R. (PI); Piech, C. (PI); Plotkin, S. (PI); Plummer, R. (PI); Potts, C. (PI); Prabhakar, B. (PI); Pratt, V. (PI); Raghavan, P. (PI); Rajaraman, A. (PI); Re, C. (PI); Reingold, O. (PI); Roberts, E. (PI); Rosenblum, M. (PI); Roughgarden, T. (PI); Rubinstein, A. (PI); Sadigh, D. (PI); Sahami, M. (PI); Salisbury, J. (PI); Savarese, S. (PI); Schwarz, K. (PI); Shoham, Y. (PI); Sidford, A. (PI); Sosic, R. (PI); Stanford, J. (PI); Stepp, M. (PI); Tan, L. (PI); Thrun, S. (PI); Tobagi, F. (PI); Trevisan, L. (PI); Ullman, J. (PI); Valiant, G. (PI); Van Roy, B. (PI); Wetzstein, G. (PI); Widom, J. (PI); Wiederhold, G. (PI); Williams, R. (PI); Williams, V. (PI); Winograd, T. (PI); Winstein, K. (PI); Wootters, M. (PI); Yamins, D. (PI); Young, P. (PI); Zaharia, M. (PI); Zelenski, J. (PI); Zou, J. (PI)

CS 390B: Curricular Practical Training

Educational opportunities in high technology research and development labs in the computing industry. Qualified computer science students engage in internship work and integrate that work into their academic program. Students register under their faculty advisor during the quarter they are employed and complete a research report outlining their work activity, problems investigated, results, and follow-on projects they expect to perform. CS390A, CS390B, and CS390C may each be taken once.
Terms: Aut, Win, Spr, Sum | Units: 1 | Grading: Satisfactory/No Credit
Instructors: ; Agrawala, M. (PI); Aiken, A. (PI); Akeley, K. (PI); Altman, R. (PI); Bailis, P. (PI); Baker, M. (PI); Barbagli, F. (PI); Barrett, C. (PI); Batzoglou, S. (PI); Bejerano, G. (PI); Bernstein, M. (PI); Blikstein, P. (PI); Bohg, J. (PI); Boneh, D. (PI); Boyd, S. (PI); Bradski, G. (PI); Brafman, R. (PI); Brunskill, E. (PI); Cain, J. (PI); Cao, P. (PI); Casado, M. (PI); Charikar, M. (PI); Cheriton, D. (PI); Cooper, S. (PI); Dally, B. (PI); De-Micheli, G. (PI); Dill, D. (PI); Dror, R. (PI); Duchi, J. (PI); Durumeric, Z. (PI); Dwork, C. (PI); Engler, D. (PI); Ermon, S. (PI); Fatahalian, K. (PI); Fedkiw, R. (PI); Feigenbaum, E. (PI); Fikes, R. (PI); Fisher, K. (PI); Fogg, B. (PI); Follmer, S. (PI); Fox, A. (PI); Garcia-Molina, H. (PI); Genesereth, M. (PI); Gill, J. (PI); Girod, B. (PI); Goel, A. (PI); Goel, S. (PI); Goodman, N. (PI); Guibas, L. (PI); Hanrahan, P. (PI); Heer, J. (PI); Hennessy, J. (PI); Horowitz, M. (PI); Icard, T. (PI); James, D. (PI); Johari, R. (PI); Johnson, M. (PI); Jurafsky, D. (PI); Katti, S. (PI); Kay, M. (PI); Khatib, O. (PI); Klemmer, S. (PI); Kochenderfer, M. (PI); Koller, D. (PI); Koltun, V. (PI); Konolige, K. (PI); Kozyrakis, C. (PI); Kundaje, A. (PI); Lam, M. (PI); Landay, J. (PI); Latombe, J. (PI); Lee, C. (PI); Leskovec, J. (PI); Levis, P. (PI); Levitt, M. (PI); Levoy, M. (PI); Li, F. (PI); Liang, P. (PI); Ma, T. (PI); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McCarthy, J. (PI); McKeown, N. (PI); Mitchell, J. (PI); Mitra, S. (PI); Motwani, R. (PI); Musen, M. (PI); Nass, C. (PI); Nayak, P. (PI); Ng, A. (PI); Nilsson, N. (PI); Okamura, A. (PI); Olukotun, O. (PI); Ousterhout, J. (PI); Paepcke, A. (PI); Parlante, N. (PI); Pavone, M. (PI); Pea, R. (PI); Piech, C. (PI); Plotkin, S. (PI); Plummer, R. (PI); Potts, C. (PI); Prabhakar, B. (PI); Pratt, V. (PI); Raghavan, P. (PI); Rajaraman, A. (PI); Re, C. (PI); Reingold, O. (PI); Roberts, E. (PI); Rosenblum, M. (PI); Roughgarden, T. (PI); Rubinstein, A. (PI); Sadigh, D. (PI); Sahami, M. (PI); Salisbury, J. (PI); Savarese, S. (PI); Schwarz, K. (PI); Shoham, Y. (PI); Stepp, M. (PI); Tan, L. (PI); Thrun, S. (PI); Tobagi, F. (PI); Trevisan, L. (PI); Ullman, J. (PI); Valiant, G. (PI); Van Roy, B. (PI); Widom, J. (PI); Wiederhold, G. (PI); Williams, R. (PI); Winograd, T. (PI); Winstein, K. (PI); Wootters, M. (PI); Young, P. (PI); Zaharia, M. (PI); Zelenski, J. (PI); Zou, J. (PI)

CS 390C: Curricular Practical Training

Educational opportunities in high technology research and development labs in the computing industry. Qualified computer science students engage in internship work and integrate that work into their academic program. Students register under their faculty advisor during the quarter they are employed and complete a research report outlining their work activity, problems investigated, results, and follow-on projects they expect to perform. CS 390A, CS390B, and CS390C may each be taken once.
Terms: Aut, Win, Spr, Sum | Units: 1 | Grading: Satisfactory/No Credit
Instructors: ; Aiken, A. (PI); Akeley, K. (PI); Altman, R. (PI); Baker, M. (PI); Barbagli, F. (PI); Batzoglou, S. (PI); Bejerano, G. (PI); Bernstein, M. (PI); Blikstein, P. (PI); Boneh, D. (PI); Bradski, G. (PI); Brafman, R. (PI); Cain, J. (PI); Cao, P. (PI); Casado, M. (PI); Charikar, M. (PI); Cheriton, D. (PI); Cooper, S. (PI); Dally, B. (PI); De-Micheli, G. (PI); Dill, D. (PI); Dwork, C. (PI); Engler, D. (PI); Ermon, S. (PI); Fedkiw, R. (PI); Feigenbaum, E. (PI); Fikes, R. (PI); Fisher, K. (PI); Fogg, B. (PI); Fox, A. (PI); Garcia-Molina, H. (PI); Genesereth, M. (PI); Gill, J. (PI); Girod, B. (PI); Goel, A. (PI); Goodman, N. (PI); Guibas, L. (PI); Hanrahan, P. (PI); Heer, J. (PI); Hennessy, J. (PI); Horowitz, M. (PI); James, D. (PI); Johari, R. (PI); Johnson, M. (PI); Jurafsky, D. (PI); Katti, S. (PI); Kay, M. (PI); Khatib, O. (PI); Klemmer, S. (PI); Koller, D. (PI); Koltun, V. (PI); Konolige, K. (PI); Kozyrakis, C. (PI); Lam, M. (PI); Latombe, J. (PI); Lee, C. (PI); Leskovec, J. (PI); Levis, P. (PI); Levitt, M. (PI); Levoy, M. (PI); Li, F. (PI); Liang, P. (PI); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McCarthy, J. (PI); McKeown, N. (PI); Mitchell, J. (PI); Mitra, S. (PI); Motwani, R. (PI); Musen, M. (PI); Nass, C. (PI); Nayak, P. (PI); Ng, A. (PI); Nilsson, N. (PI); Olukotun, O. (PI); Ousterhout, J. (PI); Paepcke, A. (PI); Parlante, N. (PI); Pavone, M. (PI); Pea, R. (PI); Piech, C. (PI); Plotkin, S. (PI); Plummer, R. (PI); Prabhakar, B. (PI); Pratt, V. (PI); Raghavan, P. (PI); Rajaraman, A. (PI); Re, C. (PI); Roberts, E. (PI); Rosenblum, M. (PI); Roughgarden, T. (PI); Sahami, M. (PI); Salisbury, J. (PI); Savarese, S. (PI); Schwarz, K. (PI); Shoham, Y. (PI); Stepp, M. (PI); Thrun, S. (PI); Tobagi, F. (PI); Trevisan, L. (PI); Ullman, J. (PI); Valiant, G. (PI); Van Roy, B. (PI); Widom, J. (PI); Wiederhold, G. (PI); Williams, R. (PI); Winograd, T. (PI); Winstein, K. (PI); Young, P. (PI); Zaharia, M. (PI); Zelenski, J. (PI)

CS 390D: Part-time Curricular Practical Training

For qualified computer science PhD students only. Permission number required for enrollment; see the CS PhD program administrator in Gates room 195. Educational opportunities in high technology research and development labs in the computing industry. Qualified computer science PhD students engage in research and integrate that work into their academic program. Students register under their faculty advisor during the quarter they are employed and complete a research report outlining their work activity, problems investigated, results, and follow-on projects they expect to perform. Students on F1 visas should be aware that completing 12 or more months of full-time CPT will make them ineligible for Optional Practical Training (OPT).
Terms: Aut, Win, Spr, Sum | Units: 1 | Repeatable for credit | Grading: Satisfactory/No Credit
Instructors: ; Agrawala, M. (PI); Aiken, A. (PI); Akeley, K. (PI); Altman, R. (PI); Bailis, P. (PI); Baker, M. (PI); Barbagli, F. (PI); Barrett, C. (PI); Batzoglou, S. (PI); Bejerano, G. (PI); Bernstein, M. (PI); Blikstein, P. (PI); Bohg, J. (PI); Boneh, D. (PI); Boyd, S. (PI); Bradski, G. (PI); Brafman, R. (PI); Brunskill, E. (PI); Cain, J. (PI); Cao, P. (PI); Casado, M. (PI); Charikar, M. (PI); Cheriton, D. (PI); Cooper, S. (PI); Dally, B. (PI); De-Micheli, G. (PI); Dill, D. (PI); Dror, R. (PI); Duchi, J. (PI); Durumeric, Z. (PI); Dwork, C. (PI); Engler, D. (PI); Ermon, S. (PI); Fatahalian, K. (PI); Fedkiw, R. (PI); Feigenbaum, E. (PI); Fikes, R. (PI); Finn, C. (PI); Fisher, K. (PI); Fogg, B. (PI); Follmer, S. (PI); Fox, A. (PI); Garcia-Molina, H. (PI); Genesereth, M. (PI); Gill, J. (PI); Girod, B. (PI); Goel, A. (PI); Goel, S. (PI); Goodman, N. (PI); Guibas, L. (PI); Hanrahan, P. (PI); Hayden, P. (PI); Heer, J. (PI); Hennessy, J. (PI); Horowitz, M. (PI); James, D. (PI); Johari, R. (PI); Johnson, M. (PI); Jurafsky, D. (PI); Katti, S. (PI); Kay, M. (PI); Khatib, O. (PI); Klemmer, S. (PI); Kochenderfer, M. (PI); Koller, D. (PI); Koltun, V. (PI); Konolige, K. (PI); Kozyrakis, C. (PI); Kundaje, A. (PI); Lam, M. (PI); Landay, J. (PI); Latombe, J. (PI); Leskovec, J. (PI); Levis, P. (PI); Levitt, M. (PI); Levoy, M. (PI); Li, F. (PI); Liang, P. (PI); Liu, C. (PI); Ma, T. (PI); Mackey, L. (PI); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McKeown, N. (PI); Mitchell, J. (PI); Mitra, S. (PI); Montanari, A. (PI); Motwani, R. (PI); Musen, M. (PI); Nass, C. (PI); Nayak, P. (PI); Ng, A. (PI); Nilsson, N. (PI); Olukotun, O. (PI); Ousterhout, J. (PI); Paepcke, A. (PI); Pande, V. (PI); Parlante, N. (PI); Pavone, M. (PI); Piech, C. (PI); Plotkin, S. (PI); Prabhakar, B. (PI); Pratt, V. (PI); Raghavan, P. (PI); Rajaraman, A. (PI); Re, C. (PI); Reingold, O. (PI); Roberts, E. (PI); Rosenblum, M. (PI); Roughgarden, T. (PI); Rubinstein, A. (PI); Saberi, A. (PI); Sadigh, D. (PI); Sahami, M. (PI); Salisbury, J. (PI); Savarese, S. (PI); Schwarz, K. (PI); Shoham, Y. (PI); Stepp, M. (PI); Tan, L. (PI); Thrun, S. (PI); Tobagi, F. (PI); Trevisan, L. (PI); Ullman, J. (PI); Valiant, G. (PI); Van Roy, B. (PI); Widom, J. (PI); Wiederhold, G. (PI); Williams, R. (PI); Williams, V. (PI); Winograd, T. (PI); Winstein, K. (PI); Wootters, M. (PI); Yan, L. (PI); Young, P. (PI); Zaharia, M. (PI); Zelenski, J. (PI); Zou, J. (PI)

CS 393: Computer Laboratory

For CS graduate students. A substantial computer program is designed and implemented; written report required. Recommended as a preparation for dissertation research. Register using the section number associated with the instructor. Prerequisite: consent of instructor.
Terms: Aut, Win, Spr, Sum | Units: 1-9 | Repeatable for credit | Grading: Letter or Credit/No Credit
Instructors: ; Aiken, A. (PI); Altman, R. (PI); Baker, M. (PI); Barbagli, F. (PI); Batzoglou, S. (PI); Bejerano, G. (PI); Boneh, D. (PI); Bradski, G. (PI); Brafman, R. (PI); Cain, J. (PI); Cao, P. (PI); Cheriton, D. (PI); Dally, B. (PI); De-Micheli, G. (PI); Dill, D. (PI); Dwork, C. (PI); Engler, D. (PI); Fedkiw, R. (PI); Feigenbaum, E. (PI); Fikes, R. (PI); Fisher, K. (PI); Fogg, B. (PI); Fox, A. (PI); Garcia-Molina, H. (PI); Genesereth, M. (PI); Gill, J. (PI); Girod, B. (PI); Goel, A. (PI); Guibas, L. (PI); Hanrahan, P. (PI); Heer, J. (PI); Hennessy, J. (PI); Horowitz, M. (PI); Johari, R. (PI); Johnson, M. (PI); Jurafsky, D. (PI); Katti, S. (PI); Kay, M. (PI); Khatib, O. (PI); Klemmer, S. (PI); Koller, D. (PI); Koltun, V. (PI); Konolige, K. (PI); Kozyrakis, C. (PI); Lam, M. (PI); Latombe, J. (PI); Leskovec, J. (PI); Levis, P. (PI); Levitt, M. (PI); Levoy, M. (PI); Li, F. (PI); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McCarthy, J. (PI); McKeown, N. (PI); Mitchell, J. (PI); Motwani, R. (PI); Musen, M. (PI); Nass, C. (PI); Nayak, P. (PI); Ng, A. (PI); Nilsson, N. (PI); Olukotun, O. (PI); Ousterhout, J. (PI); Parlante, N. (PI); Plotkin, S. (PI); Plummer, R. (PI); Prabhakar, B. (PI); Pratt, V. (PI); Raghavan, P. (PI); Rajaraman, A. (PI); Roberts, E. (PI); Rosenblum, M. (PI); Roughgarden, T. (PI); Sahami, M. (PI); Salisbury, J. (PI); Shoham, Y. (PI); Thrun, S. (PI); Tobagi, F. (PI); Trevisan, L. (PI); Ullman, J. (PI); Van Roy, B. (PI); Widom, J. (PI); Wiederhold, G. (PI); Winograd, T. (PI); Young, P. (PI); Zelenski, J. (PI)

CS 395: Independent Database Project

For graduate students in Computer Science. Use of database management or file systems for a substantial application or implementation of components of database management system. Written analysis and evaluation required. Register using the section number associated with the instructor. Prerequisite: consent of instructor.
Terms: Aut, Win, Spr, Sum | Units: 1-6 | Repeatable for credit | Grading: Letter or Credit/No Credit
Instructors: ; Aiken, A. (PI); Altman, R. (PI); Baker, M. (PI); Barbagli, F. (PI); Batzoglou, S. (PI); Bejerano, G. (PI); Boneh, D. (PI); Bradski, G. (PI); Brafman, R. (PI); Cain, J. (PI); Cao, P. (PI); Cheriton, D. (PI); Dally, B. (PI); De-Micheli, G. (PI); Dill, D. (PI); Dwork, C. (PI); Engler, D. (PI); Fedkiw, R. (PI); Feigenbaum, E. (PI); Fikes, R. (PI); Fisher, K. (PI); Fogg, B. (PI); Fox, A. (PI); Garcia-Molina, H. (PI); Genesereth, M. (PI); Gill, J. (PI); Girod, B. (PI); Goel, A. (PI); Guibas, L. (PI); Hanrahan, P. (PI); Heer, J. (PI); Hennessy, J. (PI); Horowitz, M. (PI); Johari, R. (PI); Johnson, M. (PI); Jurafsky, D. (PI); Katti, S. (PI); Kay, M. (PI); Khatib, O. (PI); Klemmer, S. (PI); Koller, D. (PI); Koltun, V. (PI); Konolige, K. (PI); Kozyrakis, C. (PI); Lam, M. (PI); Latombe, J. (PI); Leskovec, J. (PI); Levis, P. (PI); Levitt, M. (PI); Levoy, M. (PI); Li, F. (PI); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McCarthy, J. (PI); McKeown, N. (PI); Mitchell, J. (PI); Motwani, R. (PI); Musen, M. (PI); Nass, C. (PI); Nayak, P. (PI); Ng, A. (PI); Nilsson, N. (PI); Olukotun, O. (PI); Ousterhout, J. (PI); Parlante, N. (PI); Plotkin, S. (PI); Plummer, R. (PI); Prabhakar, B. (PI); Pratt, V. (PI); Raghavan, P. (PI); Rajaraman, A. (PI); Roberts, E. (PI); Rosenblum, M. (PI); Roughgarden, T. (PI); Sahami, M. (PI); Salisbury, J. (PI); Shoham, Y. (PI); Thrun, S. (PI); Tobagi, F. (PI); Trevisan, L. (PI); Ullman, J. (PI); Van Roy, B. (PI); Widom, J. (PI); Wiederhold, G. (PI); Winograd, T. (PI); Young, P. (PI); Zelenski, J. (PI)

CS 398: Computational Education

This course covers cutting-edge education algorithms used to model students, assess learning, and design widely deployable tools for open access education. The goal of the course is for you to be ready to lead your own computation education research project. Topics include knowledge tracing, generative grading, teachable agents, and challenges and opportunities implementing computational education in diverse contexts around the world. The course will consist of group and individual work and encourages creativity. Recommended: CS 142 and/or CS 221. Prerequisites: CS 106B and 109.
Terms: Aut | Units: 4 | Grading: Letter or Credit/No Credit
Instructors: ; Piech, C. (PI)

CS 399: Independent Project

Letter grade only. This course is for graduate students only. Undergraduate students should enroll in CS199.
Terms: Aut, Win, Spr, Sum | Units: 1-9 | Repeatable for credit | Grading: Letter (ABCD/NP)
Instructors: ; Agrawala, M. (PI); Aiken, A. (PI); Akeley, K. (PI); Altman, R. (PI); Baker, M. (PI); Barbagli, F. (PI); Barrett, C. (PI); Batzoglou, S. (PI); Bejerano, G. (PI); Bernstein, M. (PI); Blikstein, P. (PI); Bohg, J. (PI); Boneh, D. (PI); Borenstein, J. (PI); Boyd, S. (PI); Bradski, G. (PI); Brafman, R. (PI); Brunskill, E. (PI); Cain, J. (PI); Cao, P. (PI); Casado, M. (PI); Charikar, M. (PI); Cheriton, D. (PI); Cooper, S. (PI); Dally, B. (PI); De-Micheli, G. (PI); Dill, D. (PI); Dror, R. (PI); Durumeric, Z. (PI); Dwork, C. (PI); Engler, D. (PI); Ermon, S. (PI); Fatahalian, K. (PI); Fedkiw, R. (PI); Feigenbaum, E. (PI); Fikes, R. (PI); Fisher, K. (PI); Fogg, B. (PI); Fox, A. (PI); Garcia-Molina, H. (PI); Genesereth, M. (PI); Gill, J. (PI); Girod, B. (PI); Goel, A. (PI); Goel, S. (PI); Goodman, N. (PI); Gregg, C. (PI); Guibas, L. (PI); Hanrahan, P. (PI); Heer, J. (PI); Hennessy, J. (PI); Horowitz, M. (PI); Icard, T. (PI); James, D. (PI); Johari, R. (PI); Johnson, M. (PI); Jurafsky, D. (PI); Katti, S. (PI); Kay, M. (PI); Khatib, O. (PI); Klemmer, S. (PI); Kochenderfer, M. (PI); Koller, D. (PI); Koltun, V. (PI); Konolige, K. (PI); Kozyrakis, C. (PI); Kundaje, A. (PI); Lam, M. (PI); Landay, J. (PI); Latombe, J. (PI); Lee, C. (PI); Leskovec, J. (PI); Levis, P. (PI); Levitt, M. (PI); Levoy, M. (PI); Li, F. (PI); Liang, P. (PI); Ma, T. (PI); MacCartney, B. (PI); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McCarthy, J. (PI); McKeown, N. (PI); Mitchell, J. (PI); Montgomery, S. (PI); Motwani, R. (PI); Musen, M. (PI); Nass, C. (PI); Nayak, P. (PI); Ng, A. (PI); Niebles Duque, J. (PI); Nilsson, N. (PI); Olukotun, O. (PI); Ousterhout, J. (PI); Paepcke, A. (PI); Pande, V. (PI); Parlante, N. (PI); Pea, R. (PI); Piech, C. (PI); Plotkin, S. (PI); Plummer, R. (PI); Potts, C. (PI); Prabhakar, B. (PI); Pratt, V. (PI); Raghavan, P. (PI); Rajaraman, A. (PI); Re, C. (PI); Reingold, O. (PI); Roberts, E. (PI); Rosenblum, M. (PI); Roughgarden, T. (PI); Sadigh, D. (PI); Sahami, M. (PI); Salisbury, J. (PI); Savarese, S. (PI); Saxena, A. (PI); Schwarz, K. (PI); Shoham, Y. (PI); Sidford, A. (PI); Socher, R. (PI); Sosic, R. (PI); Stepp, M. (PI); Thrun, S. (PI); Tobagi, F. (PI); Trevisan, L. (PI); Ullman, J. (PI); Valiant, G. (PI); Van Roy, B. (PI); Wang, G. (PI); Wetzstein, G. (PI); Widom, J. (PI); Wiederhold, G. (PI); Williams, R. (PI); Williams, V. (PI); Winograd, T. (PI); Winstein, K. (PI); Wodtke, C. (PI); Wootters, M. (PI); Yamins, D. (PI); Young, P. (PI); Zaharia, M. (PI); Zelenski, J. (PI); Zou, J. (PI)

CS 399P: Independent Project

Graded satisfactory/no credit. This course is for graduate students only. Undergraduate students should enroll in CS199P.
Terms: Aut, Win, Spr, Sum | Units: 1-9 | Repeatable for credit | Grading: Satisfactory/No Credit
Instructors: ; Agrawala, M. (PI); Aiken, A. (PI); Akeley, K. (PI); Altman, R. (PI); Bailis, P. (PI); Baker, M. (PI); Barbagli, F. (PI); Batzoglou, S. (PI); Bejerano, G. (PI); Bernstein, M. (PI); Blikstein, P. (PI); Boneh, D. (PI); Boyd, S. (PI); Bradski, G. (PI); Brafman, R. (PI); Brunskill, E. (PI); Cain, J. (PI); Cao, P. (PI); Casado, M. (PI); Charikar, M. (PI); Cheriton, D. (PI); Cooper, S. (PI); Dally, B. (PI); De-Micheli, G. (PI); Dill, D. (PI); Dror, R. (PI); Dwork, C. (PI); Engler, D. (PI); Ermon, S. (PI); Fedkiw, R. (PI); Feigenbaum, E. (PI); Fikes, R. (PI); Fisher, K. (PI); Fogg, B. (PI); Fox, A. (PI); Garcia-Molina, H. (PI); Genesereth, M. (PI); Gill, J. (PI); Girod, B. (PI); Goel, A. (PI); Goodman, N. (PI); Guibas, L. (PI); Hanrahan, P. (PI); Heer, J. (PI); Hennessy, J. (PI); Horowitz, M. (PI); James, D. (PI); Johari, R. (PI); Johnson, M. (PI); Jurafsky, D. (PI); Katti, S. (PI); Kay, M. (PI); Khatib, O. (PI); Klemmer, S. (PI); Kochenderfer, M. (PI); Koller, D. (PI); Koltun, V. (PI); Konolige, K. (PI); Kozyrakis, C. (PI); Lam, M. (PI); Landay, J. (PI); Latombe, J. (PI); Lee, C. (PI); Leskovec, J. (PI); Levis, P. (PI); Levitt, M. (PI); Levoy, M. (PI); Li, F. (PI); Liang, P. (PI); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McCarthy, J. (PI); McKeown, N. (PI); Mitchell, J. (PI); Motwani, R. (PI); Musen, M. (PI); Nass, C. (PI); Nayak, P. (PI); Ng, A. (PI); Nilsson, N. (PI); Olukotun, O. (PI); Ousterhout, J. (PI); Paepcke, A. (PI); Parlante, N. (PI); Plotkin, S. (PI); Plummer, R. (PI); Prabhakar, B. (PI); Pratt, V. (PI); Raghavan, P. (PI); Rajaraman, A. (PI); Re, C. (PI); Roberts, E. (PI); Rosenblum, M. (PI); Roughgarden, T. (PI); Sahami, M. (PI); Salisbury, J. (PI); Savarese, S. (PI); Saxena, A. (PI); Shoham, Y. (PI); Socher, R. (PI); Stepp, M. (PI); Thrun, S. (PI); Tobagi, F. (PI); Trevisan, L. (PI); Ullman, J. (PI); Valiant, G. (PI); Van Roy, B. (PI); Wang, G. (PI); Wetzstein, G. (PI); Widom, J. (PI); Wiederhold, G. (PI); Williams, R. (PI); Williams, V. (PI); Winograd, T. (PI); Young, P. (PI); Zelenski, J. (PI)

CS 476A: Music, Computing, Design I: The Art of Design (MUSIC 256A)

Creative design for computer music software. Programming, audiovisual design, as well as software design for musical tools, instruments, toys, and games. Provides paradigms and strategies for designing and building music software, with emphases on interactive systems, aesthetics, and artful product design. Course work includes several programming assignments and a "design+implement" final project. Prerequisite: experience in C/C++ and/or Java.See https://ccrma.stanford.edu/courses/256a/
Terms: Aut | Units: 3-4 | Grading: Letter (ABCD/NP)

CS 499: Advanced Reading and Research

Letter grade only. Advanced reading and research for CS graduate students. Register using the section number associated with the instructor. Prerequisite: consent of instructor. This course is for graduate students only. Undergraduate students should enroll in CS199.
Terms: Aut, Win, Spr, Sum | Units: 1-15 | Repeatable for credit | Grading: Letter (ABCD/NP)
Instructors: ; Agrawala, M. (PI); Aiken, A. (PI); Akeley, K. (PI); Altman, R. (PI); Bailis, P. (PI); Baker, M. (PI); Barbagli, F. (PI); Barrett, C. (PI); Batzoglou, S. (PI); Bejerano, G. (PI); Bernstein, M. (PI); Bohg, J. (PI); Boneh, D. (PI); Boyd, S. (PI); Bradski, G. (PI); Brafman, R. (PI); Brunskill, E. (PI); Cain, J. (PI); Cao, P. (PI); Casado, M. (PI); Charikar, M. (PI); Cheriton, D. (PI); Cooper, S. (PI); Dally, B. (PI); De-Micheli, G. (PI); Dill, D. (PI); Dror, R. (PI); Duchi, J. (PI); Durumeric, Z. (PI); Dwork, C. (PI); Engler, D. (PI); Ermon, S. (PI); Fatahalian, K. (PI); Fedkiw, R. (PI); Feigenbaum, E. (PI); Fikes, R. (PI); Finn, C. (PI); Fisher, K. (PI); Fogg, B. (PI); Follmer, S. (PI); Fox, A. (PI); Garcia-Molina, H. (PI); Genesereth, M. (PI); Gill, J. (PI); Girod, B. (PI); Goel, A. (PI); Goel, S. (PI); Goodman, N. (PI); Guibas, L. (PI); Hanrahan, P. (PI); Heer, J. (PI); Hennessy, J. (PI); Horowitz, M. (PI); Icard, T. (PI); James, D. (PI); Johari, R. (PI); Johnson, M. (PI); Jurafsky, D. (PI); Katti, S. (PI); Kay, M. (PI); Khatib, O. (PI); Klemmer, S. (PI); Kochenderfer, M. (PI); Koller, D. (PI); Koltun, V. (PI); Konolige, K. (PI); Kozyrakis, C. (PI); Kundaje, A. (PI); Lam, M. (PI); Landay, J. (PI); Latombe, J. (PI); Leskovec, J. (PI); Levis, P. (PI); Levitt, M. (PI); Levoy, M. (PI); Li, F. (PI); Liang, P. (PI); Ma, T. (PI); Mackey, L. (PI); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McCarthy, J. (PI); McKeown, N. (PI); Mitchell, J. (PI); Mitra, S. (PI); Montanari, A. (PI); Motwani, R. (PI); Musen, M. (PI); Nass, C. (PI); Nayak, P. (PI); Ng, A. (PI); Nilsson, N. (PI); Olukotun, O. (PI); Ousterhout, J. (PI); Paepcke, A. (PI); Parlante, N. (PI); Pavone, M. (PI); Plotkin, S. (PI); Plummer, R. (PI); Prabhakar, B. (PI); Pratt, V. (PI); Raghavan, P. (PI); Rajaraman, A. (PI); Re, C. (PI); Reingold, O. (PI); Roberts, E. (PI); Rosenblum, M. (PI); Roughgarden, T. (PI); Rubinstein, A. (PI); Saberi, A. (PI); Sadigh, D. (PI); Sahami, M. (PI); Salisbury, J. (PI); Savarese, S. (PI); Saxena, A. (PI); Schwarz, K. (PI); Shoham, Y. (PI); Sidford, A. (PI); Stepp, M. (PI); Tan, L. (PI); Thrun, S. (PI); Tobagi, F. (PI); Trevisan, L. (PI); Ullman, J. (PI); Utterback, C. (PI); Valiant, G. (PI); Van Roy, B. (PI); Widom, J. (PI); Wiederhold, G. (PI); Williams, R. (PI); Williams, V. (PI); Winograd, T. (PI); Winstein, K. (PI); Wootters, M. (PI); Yamins, D. (PI); Young, P. (PI); Zaharia, M. (PI); Zelenski, J. (PI); Zou, J. (PI)

CS 499P: Advanced Reading and Research

Graded satisfactory/no credit. Advanced reading and research for CS graduate students. Register using the section number associated with the instructor. Prerequisite: consent of instructor. This course is for graduate students only. Undergraduate students should enroll in CS199P.
Terms: Aut, Win, Spr, Sum | Units: 1-15 | Repeatable for credit | Grading: Satisfactory/No Credit
Instructors: ; Agrawala, M. (PI); Aiken, A. (PI); Akeley, K. (PI); Altman, R. (PI); Bailis, P. (PI); Baker, M. (PI); Barbagli, F. (PI); Barrett, C. (PI); Batzoglou, S. (PI); Bejerano, G. (PI); Bernstein, M. (PI); Blikstein, P. (PI); Bohg, J. (PI); Boneh, D. (PI); Boyd, S. (PI); Bradski, G. (PI); Brafman, R. (PI); Brunskill, E. (PI); Cain, J. (PI); Cao, P. (PI); Casado, M. (PI); Charikar, M. (PI); Cheriton, D. (PI); Cooper, S. (PI); Dally, B. (PI); De-Micheli, G. (PI); Dill, D. (PI); Dror, R. (PI); Duchi, J. (PI); Durumeric, Z. (PI); Dwork, C. (PI); Engler, D. (PI); Ermon, S. (PI); Fatahalian, K. (PI); Fedkiw, R. (PI); Feigenbaum, E. (PI); Fikes, R. (PI); Finn, C. (PI); Fisher, K. (PI); Fogg, B. (PI); Follmer, S. (PI); Fox, A. (PI); Garcia-Molina, H. (PI); Genesereth, M. (PI); Gill, J. (PI); Girod, B. (PI); Goel, A. (PI); Goel, S. (PI); Goodman, N. (PI); Guibas, L. (PI); Hanrahan, P. (PI); Heer, J. (PI); Hennessy, J. (PI); Horowitz, M. (PI); Icard, T. (PI); James, D. (PI); Johari, R. (PI); Johnson, M. (PI); Jurafsky, D. (PI); Katti, S. (PI); Kay, M. (PI); Khatib, O. (PI); Klemmer, S. (PI); Kochenderfer, M. (PI); Koller, D. (PI); Koltun, V. (PI); Konolige, K. (PI); Kozyrakis, C. (PI); Kundaje, A. (PI); Lam, M. (PI); Landay, J. (PI); Latombe, J. (PI); Leskovec, J. (PI); Levis, P. (PI); Levitt, M. (PI); Levoy, M. (PI); Li, F. (PI); Liang, P. (PI); Ma, T. (PI); Mackey, L. (PI); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McCarthy, J. (PI); McKeown, N. (PI); Mitchell, J. (PI); Mitra, S. (PI); Motwani, R. (PI); Musen, M. (PI); Nass, C. (PI); Nayak, P. (PI); Ng, A. (PI); Nilsson, N. (PI); Olukotun, O. (PI); Ousterhout, J. (PI); Paepcke, A. (PI); Parlante, N. (PI); Pavone, M. (PI); Plotkin, S. (PI); Plummer, R. (PI); Prabhakar, B. (PI); Pratt, V. (PI); Raghavan, P. (PI); Rajaraman, A. (PI); Re, C. (PI); Reingold, O. (PI); Roberts, E. (PI); Rosenblum, M. (PI); Roughgarden, T. (PI); Rubinstein, A. (PI); Saberi, A. (PI); Sadigh, D. (PI); Sahami, M. (PI); Salisbury, J. (PI); Savarese, S. (PI); Saxena, A. (PI); Schwarz, K. (PI); Shoham, Y. (PI); Tan, L. (PI); Thrun, S. (PI); Tobagi, F. (PI); Trevisan, L. (PI); Ullman, J. (PI); Utterback, C. (PI); Valiant, G. (PI); Van Roy, B. (PI); Wang, G. (PI); Widom, J. (PI); Wiederhold, G. (PI); Williams, R. (PI); Williams, V. (PI); Winograd, T. (PI); Winstein, K. (PI); Wootters, M. (PI); Yamins, D. (PI); Young, P. (PI); Zaharia, M. (PI); Zelenski, J. (PI); Zou, J. (PI)

CS 522: Seminar in Artificial Intelligence in Healthcare

Artificial intelligence is poised to make radical changes in healthcare, transforming areas such as diagnosis, genomics, surgical robotics, and drug discovery. In the coming years, artificial intelligence has the potential to lower healthcare costs, identify more effective treatments, and facilitate prevention and early detection of diseases. This class is a seminar series featuring prominent researchers, physicians, entrepreneurs, and venture capitalists, all sharing their thoughts on the future of healthcare. We highly encourage students of all backgrounds to enroll (no AI/healthcare background necessary). Speakers and more at shift.stanford.edu/healthai.
Terms: Aut | Units: 1 | Grading: Satisfactory/No Credit
Instructors: ; Dror, R. (PI)

CS 529: Robotics and Autonomous Systems Seminar (AA 289)

Seminar talks by researchers and industry professionals on topics related to modern robotics and autonomous systems. Broadly, talks will cover robotic design, perception and navigation, planning and control, and learning for complex robotic systems. May be repeated for credit.
Terms: Aut, Win, Spr | Units: 1 | Repeatable for credit | Grading: Satisfactory/No Credit
Instructors: ; Bohg, J. (PI); Pavone, M. (PI)

CS 547: Human-Computer Interaction Seminar

Weekly speakers on human-computer interaction topics. May be repeated for credit.
Terms: Aut, Win, Spr | Units: 1 | Repeatable for credit | Grading: Satisfactory/No Credit
Instructors: ; Bernstein, M. (PI)

CS 581: Media Innovation

This course will introduce students interested in computer science, engineering, and media to what¿s possible and probable when it comes to media innovation. nnSpeakers from multiple disciplines and industry will discuss a range of topics in the context of evolving media with a focus on the technical trends, opportunities and challenges surfacing in the unfolding media ecosystem. Speakers will underscore the need to innovate to survive in the media and information industries. Open to both undergraduates and graduate students.
Terms: Aut | Units: 1 | Grading: Satisfactory/No Credit
Instructors: ; Grimes, A. (PI)

CS 801: TGR Project

Terms: Aut, Win, Spr, Sum | Units: 0 | Repeatable for credit | Grading: TGR
Instructors: ; Aiken, A. (PI); Altman, R. (PI); Baker, M. (PI); Barbagli, F. (PI); Batzoglou, S. (PI); Bejerano, G. (PI); Bernstein, M. (PI); Blikstein, P. (PI); Boneh, D. (PI); Bradski, G. (PI); Brafman, R. (PI); Cain, J. (PI); Cao, P. (PI); Cheriton, D. (PI); Dally, B. (PI); De-Micheli, G. (PI); Dill, D. (PI); Dwork, C. (PI); Engler, D. (PI); Fedkiw, R. (PI); Feigenbaum, E. (PI); Fikes, R. (PI); Fisher, K. (PI); Fogg, B. (PI); Fox, A. (PI); Garcia-Molina, H. (PI); Genesereth, M. (PI); Gill, J. (PI); Girod, B. (PI); Goel, A. (PI); Guibas, L. (PI); Hanrahan, P. (PI); Heer, J. (PI); Hennessy, J. (PI); Horowitz, M. (PI); Johari, R. (PI); Johnson, M. (PI); Jurafsky, D. (PI); Katti, S. (PI); Kay, M. (PI); Khatib, O. (PI); Klemmer, S. (PI); Koller, D. (PI); Koltun, V. (PI); Konolige, K. (PI); Kozyrakis, C. (PI); Lam, M. (PI); Latombe, J. (PI); Leskovec, J. (PI); Levis, P. (PI); Levitt, M. (PI); Levoy, M. (PI); Li, F. (PI); Liang, P. (PI); Mackey, L. (PI); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McCarthy, J. (PI); McKeown, N. (PI); Mitchell, J. (PI); Motwani, R. (PI); Musen, M. (PI); Nass, C. (PI); Nayak, P. (PI); Ng, A. (PI); Nilsson, N. (PI); Olukotun, O. (PI); Ousterhout, J. (PI); Parlante, N. (PI); Pea, R. (PI); Plotkin, S. (PI); Plummer, R. (PI); Prabhakar, B. (PI); Pratt, V. (PI); Raghavan, P. (PI); Rajaraman, A. (PI); Roberts, E. (PI); Rosenblum, M. (PI); Roughgarden, T. (PI); Sahami, M. (PI); Salisbury, J. (PI); Shoham, Y. (PI); Thrun, S. (PI); Tobagi, F. (PI); Trevisan, L. (PI); Ullman, J. (PI); Van Roy, B. (PI); Widom, J. (PI); Wiederhold, G. (PI); Williams, R. (PI); Winograd, T. (PI); Young, P. (PI); Zelenski, J. (PI)

CS 802: TGR Dissertation

Terms: Aut, Win, Spr, Sum | Units: 0 | Repeatable for credit | Grading: TGR
Instructors: ; Aiken, A. (PI); Akeley, K. (PI); Altman, R. (PI); Baker, M. (PI); Barbagli, F. (PI); Batzoglou, S. (PI); Bejerano, G. (PI); Bernstein, M. (PI); Blikstein, P. (PI); Bohg, J. (PI); Boneh, D. (PI); Bradski, G. (PI); Brafman, R. (PI); Brunskill, E. (PI); Cain, J. (PI); Cao, P. (PI); Casado, M. (PI); Charikar, M. (PI); Cheriton, D. (PI); Cooper, S. (PI); Dally, B. (PI); De-Micheli, G. (PI); Dill, D. (PI); Dror, R. (PI); Dwork, C. (PI); Engler, D. (PI); Ermon, S. (PI); Fatahalian, K. (PI); Fedkiw, R. (PI); Feigenbaum, E. (PI); Fikes, R. (PI); Finn, C. (PI); Fisher, K. (PI); Fogg, B. (PI); Fox, A. (PI); Garcia-Molina, H. (PI); Genesereth, M. (PI); Gill, J. (PI); Girod, B. (PI); Goel, A. (PI); Goel, S. (PI); Guibas, L. (PI); Hanrahan, P. (PI); Heer, J. (PI); Hennessy, J. (PI); Horowitz, M. (PI); James, D. (PI); Johari, R. (PI); Johnson, M. (PI); Jurafsky, D. (PI); Katti, S. (PI); Kay, M. (PI); Khatib, O. (PI); Klemmer, S. (PI); Koller, D. (PI); Koltun, V. (PI); Konolige, K. (PI); Kozyrakis, C. (PI); Kundaje, A. (PI); Lam, M. (PI); Landay, J. (PI); Latombe, J. (PI); Leskovec, J. (PI); Levis, P. (PI); Levitt, M. (PI); Levoy, M. (PI); Li, F. (PI); Liang, P. (PI); Ma, T. (PI); Mackey, L. (PI); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McCarthy, J. (PI); McKeown, N. (PI); Mitchell, J. (PI); Motwani, R. (PI); Musen, M. (PI); Nass, C. (PI); Nayak, P. (PI); Ng, A. (PI); Nilsson, N. (PI); Olukotun, O. (PI); Ousterhout, J. (PI); Parlante, N. (PI); Pavone, M. (PI); Pea, R. (PI); Plotkin, S. (PI); Plummer, R. (PI); Prabhakar, B. (PI); Pratt, V. (PI); Raghavan, P. (PI); Rajaraman, A. (PI); Re, C. (PI); Reingold, O. (PI); Roberts, E. (PI); Rosenblum, M. (PI); Roughgarden, T. (PI); Rubinstein, A. (PI); Sadigh, D. (PI); Sahami, M. (PI); Salisbury, J. (PI); Savarese, S. (PI); Shoham, Y. (PI); Tan, L. (PI); Thrun, S. (PI); Tobagi, F. (PI); Trevisan, L. (PI); Ullman, J. (PI); Utterback, C. (PI); Valiant, G. (PI); Van Roy, B. (PI); Widom, J. (PI); Wiederhold, G. (PI); Williams, R. (PI); Winograd, T. (PI); Winstein, K. (PI); Wootters, M. (PI); Young, P. (PI); Zaharia, M. (PI); Zelenski, J. (PI); Zou, J. (PI)
© Stanford University | Terms of Use | Copyright Complaints