Print Settings
 

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

CS 22A: The Social & Economic Impact of Artificial Intelligence (IPS 200)

Recent advances in computing may place us at the threshold of a unique turning point in human history. Soon we are likely to entrust management of our environment, economy, security, infrastructure, food production, healthcare, and to a large degree even our personal activities, to artificially intelligent computer systems. The prospect of "turning over the keys" to increasingly autonomous systems raises many complex and troubling questions. How will society respond as versatile robots and machine-learning systems displace an ever-expanding spectrum of blue- and white-collar workers? Will the benefits of this technological revolution be broadly distributed or accrue to a lucky few? How can we ensure that these systems respect our ethical principles when they make decisions at speeds and for rationales that exceed our ability to comprehend? What, if any, legal rights and responsibilities should we grant them? And should we regard them merely as sophisticated tools or as a newly emerging form of life? The goal of CS22 is to equip students with the intellectual tools, ethical foundation, and psychological framework to successfully navigate the coming age of intelligent machines.
Terms: Win | Units: 1 | Grading: Satisfactory/No Credit
Instructors: ; Kaplan, J. (PI)

CS 42: Callback Me Maybe: Contemporary Javascript

Introduction to the JavaScript programming language with a focus on building contemporary applications. This course consists of in-class activities and programming assignments that challenge students to create functional web apps (e.g. Yelp, Piazza, Instagram). Topics include syntax/semantics, event-based programming, document object model (DOM), application programming interfaces (APIs), asynchronous JavaScript and XML (AJAX), Node.js, and MongoDB. Prerequisite: CS 107.
Terms: Win, Spr | Units: 2 | Grading: Satisfactory/No Credit

CS 43: Functional Programming in Clojure

Clojure is a dialect of Lisp that runs on the JVM, CLR, or Javascript engine. This course explores the fundamentals and philosophy of Clojure, with emphasis on the benefits of immutability and functional programming that make it such a powerful and fun language. Topics include: immutability, functional programming (function composition, higher order functions), concurrency (atoms, promises, futures, actors, Software Transactional Memory, etc), LISP (REPL-driven development, homoiconicity, macros), and interop (between Clojure code and code native to the host VM). The course also explores design paradigms and looks at the differences between functional programing and object-oriented programing, as well as bottom-up versus top-down design.
Terms: Win | Units: 2 | Grading: Satisfactory/No Credit
Instructors: ; Cain, J. (PI)

CS 47SI: 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, Airbnb, Walmart, Tesla, and UberEats. Skills developed over the course will be consolidated by the completion of a final project. Required Prerequisites ¿ at least one of the following: CS142, CS193P, CS193A (Web/Mobile development or heavy project-based class experience). Apply here: https://goo.gl/forms/sF3TDYd5mN7V8f1W2 by January 13th (Saturday of week one)
Terms: Win | Units: 2 | Grading: Credit/No Credit
Instructors: ; Landay, J. (PI)

CS 51: CS + Social Good Studio: Designing Social Impact Projects

Get real-world experience launching and developing your own social impact projects! Students work in small teams to develop high-impact projects around problem domains provided by partner organizations, under the guidance and support of design/technical coaches from industry and non-profit domain experts. Along with support, resources, and community discussion, the class provides an outlet for students to create social change through CS while providing students with experience engaging in the full product development cycle on real-world projects. Prerequisite: CS 147, equivalent experience, or consent of instructors.
Terms: Win | Units: 2 | Grading: Satisfactory/No Credit
Instructors: ; Cain, J. (PI)

CS 83: Playback Theater For Research

Playback combines elements of theater, community work and storytelling. In a playback show, a group of actors and musicians create an improvised performance based on the audience's personal stories. A playback show brings about a powerful listening and sharing experience. During the course, we will tell, listen, play together, and train in playback techniques. We will write diaries to process our experience in the context of education and research. The course is aimed to strengthen listening abilities, creativity and the collaborative spirit, all integral parts of doing great science. In playback, as in research, we are always moving together, from the known, to the unknown, and back. There is limited enrollment for this class. Application is required. Apply here: https://docs.google.com/forms/d/1gR4bGkFZh_ycMBGMz1AIIuyv7WyQfX5xTjanGlclK-A/prefill
Terms: Win | Units: 3 | UG Reqs: WAY-CE | Grading: Letter or Credit/No Credit
Instructors: ; Reingold, O. (PI)

CS 103: Mathematical Foundations of Computing

Mathematical foundations required for computer science, including propositional predicate logic, induction, sets, functions, and relations. Formal language theory, including regular expressions, grammars, finite automata, Turing machines, and NP-completeness. Mathematical rigor, proof techniques, and applications. 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

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, Spr | Units: 1 | Grading: Satisfactory/No Credit
Instructors: ; Lee, C. (PI); Schwarz, K. (PI)

CS 106A: Programming Methodology (ENGR 70A)

Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Emphasis is on good programming style and the built-in facilities of respective languages. No prior programming experience required. Summer quarter enrollment is limited. Alternative versions of CS106A are available which cover most of the same material but in different programming languages: Java [Fall, Win, Spr, or Sum qtr enroll in CS106A Section 1] Javascript [Fall qtr enroll in CS 106A Section 2] Python [Winter or Spring qtr enroll in CS 106A Section 3]
Terms: Aut, Win, Spr, Sum | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR | Grading: Letter or Credit/No Credit

CS 106AP: Programming Methodology in Python

Introduction to the engineering of computer applications in Python, emphasizing modern software engineering principles: decomposition, abstraction, and testing. Emphasis is on good programming style. This course covers most of the same material as CS106A Section 1 in Java and CS 106A Section 2 in JavaScript, but this course uses the Python programming language which is popular for general engineering and web development. Required readings will all be available for free on the web. Students are encouraged to bring a laptop to lecture to do the live exercises which are integrated with lecture. No prior programming experience required. To enroll in this class, enroll in CS 106A Section 3. May be taken for 3 units by grad students. Enrollment is limited for winter quarter 2017-18 but from spring quarter 2017-18 enrollment will be unlimited.
Terms: Win, Spr | Units: 3-5 | Grading: Letter or Credit/No Credit

CS 106B: Programming Abstractions (ENGR 70B)

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. 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 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: Win | Units: 1 | Grading: Satisfactory/No Credit
Instructors: ; Malik, A. (PI); Stepp, M. (PI)

CS 106S: Programming Abstractions and Social Good

Supplemental lab to CS 106B and CS 106X. Students will apply fundamental computer science concepts learned in 106B/X to problems in the social good space (such as health, government, education, and environment). Course consists of in-class activities designed by local tech companies and nonprofits. Corequisite: 106B or 106X.
Terms: Win, Spr | Units: 1 | Grading: Satisfactory/No Credit

CS 106X: Programming Abstractions (Accelerated) (ENGR 70X)

Intensive version of 106B for students with a strong programming background interested in a rigorous treatment of the topics at an accelerated pace. Additional advanced material and more challenging projects. Winter quarter assignments will be based in CS department research. Prerequisite: excellence in 106A or equivalent, or consent of instructor. Winter quarter enrollment limited to 30.
Terms: Aut, Win | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR | Grading: Letter or Credit/No Credit

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 107E: Computer Systems from the Ground Up

Introduction to the fundamental concepts of computer systems through bare metal programming on the Raspberry Pi. Explores how five concepts come together in computer systems: hardware, architecture, assembly code, the C language, and software development tools. Students do all programming with a Raspberry Pi kit and several add-ons (LEDs, buttons). Topics covered include: the C programming language, data representation, machine-level code, computer arithmetic, compilation, memory organization and management, debugging, hardware, and I/O. Prerequisite: 106B or X, and consent of instructor. There is a $50 required lab fee.
Terms: Win, Spr | Units: 3-5 | UG Reqs: WAY-FR | Grading: Letter or Credit/No Credit

CS 108: Object-Oriented Systems Design

Software design and construction in the context of large OOP libraries. Taught in Java. Topics: OOP design, design patterns, testing, graphical user interface (GUI) OOP libraries, software engineering strategies, approaches to programming in teams. Prerequisite: 107.
Terms: Aut, Win | Units: 3-4 | UG Reqs: GER:DB-EngrAppSci | Grading: Letter or Credit/No Credit

CS 124: From Languages to Information (LINGUIST 180, LINGUIST 280)

Extracting meaning, information, and structure from human language text, speech, web pages, social networks. Methods include: string algorithms, edit distance, language modeling, the noisy channel, naive Bayes, inverted indices, collaborative filtering, PageRank. Applications such as question answering, sentiment analysis, information retrieval, text classification, social network models, chatbots, sequence alignment, spell checking, speech processing, recommender systems. Prerequisites: CS103, CS107, CS109.
Terms: Win | Units: 3-4 | Grading: Letter or Credit/No Credit

CS 140: Operating Systems and Systems Programming

Operating systems design and implementation. Basic structure; synchronization and communication mechanisms; implementation of processes, process management, scheduling, and protection; memory organization and management, including virtual memory; I/O device management, secondary storage, and file systems. Prerequisite: CS 110.
Terms: Win, Spr | Units: 3-4 | UG Reqs: GER:DB-EngrAppSci | Grading: Letter or Credit/No Credit

CS 140E: Operating systems design and implementation

This is an experimental course offering. Students will implement a simple, clean operating system (virtual memory, processes, file system) on a rasberry pi computer and use the result to run a variety of devices. Enrollment is limited, and students should expect the course to have rough edges since it is the first offering.
Terms: Win | Units: 3-4 | Grading: Letter or Credit/No Credit

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 and have taken CS 143.
Terms: Win | Units: 3-4 | UG Reqs: GER:DB-EngrAppSci | Grading: Letter or Credit/No Credit

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 181: Computers, Ethics, and Public Policy

Primarily for majors entering computer-related fields. Ethical and social issues related to the development and use of computer technology. Ethical theory, and social, political, and legal considerations. Scenarios in problem areas: privacy, reliability and risks of complex systems, and responsibility of professionals for applications and consequences of their work. Prerequisite: 106B or X. To take this course, students need permission of instructor and may need to complete an assignment due at the first day of class.
Terms: Win, Spr | Units: 4 | UG Reqs: GER:EC-EthicReas, WAY-ER | Grading: Letter or Credit/No Credit

CS 181W: Computers, Ethics, and Public Policy (WIM)

Writing-intensive version of CS181. Satisfies the WIM requirement for Computer Science, Engineering Physics, STS, and Math/Comp Sci undergraduates. To take this course, students need permission of instructor and may need to complete an assignment due at the first day of class.
Terms: Win, Spr | Units: 4 | UG Reqs: GER:EC-EthicReas, WAY-ER | Grading: Letter (ABCD/NP)

CS 190: Software Design Studio

This course will teach the art of software design: how to decompose large complex systems into classes that can be implemented and maintained easily. Topics include information hiding, thick classes, API design, managing complexity, and how to write in-code documentation. The class will involve significant system software implementation and will use an iterative approach consisting of implementation, review, and revision. The course will be taught in a studio format with in-class discussions and code reviews in addition to lectures. Prerequisites: CS 140. Application and consent of instructor required. Apply at: https://web.stanford.edu/class/cs190
Terms: Win | Units: 3 | Grading: Letter or Credit/No Credit
Instructors: ; Ousterhout, J. (PI)

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); 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); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McCarthy, J. (PI); McCluskey, E. (PI); McKeown, N. (PI); Meng, T. (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); 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); Young, P. (PI); Zaharia, M. (PI); Zelenski, J. (PI); Gallegos, Y. (GP); George, S. (GP); Harris, R. (GP); Savarese, S. (GP)

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); 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); 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); McCluskey, E. (PI); McKeown, N. (PI); Meng, T. (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); 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); Young, P. (PI); Zaharia, M. (PI); Zelenski, J. (PI); Zou, J. (PI); Gallegos, Y. (GP); George, S. (GP); Harris, R. (GP)

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); McCluskey, E. (PI); McKeown, N. (PI); Meng, T. (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); Gallegos, Y. (GP); George, S. (GP)

CS 194: Software Project

Design, specification, coding, and testing of a significant team programming project under faculty supervision. Documentation includes a detailed proposal. Public demonstration of the project at the end of the quarter. Preference given to seniors. May be repeat for credit. Prerequisites: CS 110 and CS 161.
Terms: Win, Spr | Units: 3 | Repeatable for credit | Grading: Letter (ABCD/NP)

CS 194H: User Interface Design Project

Advanced methods for designing, prototyping, and evaluating user interfaces to computing applications. Novel interface technology, advanced interface design methods, and prototyping tools. Substantial, quarter-long course project that will be presented in a public presentation. Prerequisites: CS 147, or permission of instructor.
Terms: Win | Units: 3-4 | Grading: Letter (ABCD/NP)
Instructors: ; Landay, J. (PI); Tong, Y. (TA)

CS 194W: Software Project (WIM)

Restricted to Computer Science and Electrical Engineering undergraduates. Writing-intensive version of CS194. Preference given to seniors.
Terms: Win, Spr | Units: 3 | Grading: Letter (ABCD/NP)

CS 196: Computer Consulting

Focus is on Macintosh and Windows operating system maintenance and troubleshooting through hardware and software foundation and concepts. Topics include operating systems, networking, security, troubleshooting methodology with emphasis on Stanford's computing environment. Not a programming course. Prerequisite: 1C or equivalent.
Terms: Win, Spr | Units: 2 | Grading: Satisfactory/No Credit
Instructors: ; Smith, S. (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); 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); 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); 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); McCluskey, E. (PI); McKeown, N. (PI); Meng, T. (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); 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); 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); Gallegos, Y. (GP); George, S. (GP); Harris, R. (GP)

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); Batzoglou, S. (PI); Bejerano, G. (PI); Bernstein, M. (PI); Blikstein, P. (PI); Boneh, D. (PI); Borenstein, J. (PI); Bradski, G. (PI); Brafman, R. (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); 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); 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); McCluskey, E. (PI); McKeown, N. (PI); Meng, T. (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); 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); Gallegos, Y. (GP); George, S. (GP)

CS 205A: Mathematical Methods for Robotics, Vision, and Graphics

Continuous mathematics background necessary for research in robotics, vision, and graphics. Possible topics: linear algebra; the conjugate gradient method; ordinary and partial differential equations; vector and tensor calculus. Prerequisites: 106B or X; MATH 51; or equivalents.
Terms: Win | Units: 3 | Grading: Letter or Credit/No Credit

CS 210A: Software Project Experience with Corporate Partners

Two-quarter project course. Focus is on real-world software development. Corporate partners seed projects with loosely defined challenges from their R&D labs; students innovate to build their own compelling software solutions. Student teams are treated as start-up companies with a budget and a technical advisory board comprised of instructional staff and corporate liaisons. Teams will typically travel to the corporate headquarters of their collaborating partner, meaning some teams will travel internationally. Open loft classroom format such as found in Silicon Valley software companies. Exposure to: current practices in software engineering; techniques for stimulating innovation; significant development experience with creative freedoms; working in groups; real-world software engineering challenges; public presentation of technical work; creating written descriptions of technical work. Prerequisites: CS 109 and 110.
Terms: Win | Units: 3-4 | Grading: Letter (ABCD/NP)

CS 223A: Introduction to Robotics (ME 320)

Robotics foundations in modeling, design, planning, and control. Class covers relevant results from geometry, kinematics, statics, dynamics, motion planning, and control, providing the basic methodologies and tools in robotics research and applications. Concepts and models are illustrated through physical robot platforms, interactive robot simulations, and video segments relevant to historical research developments or to emerging application areas in the field. Recommended: matrix algebra.
Terms: Win | Units: 3 | Grading: Letter or Credit/No Credit

CS 224N: Natural Language Processing with Deep Learning (LINGUIST 284)

Methods for processing human language information and the underlying computational properties of natural languages. Focus on deep learning approaches: understanding, implementing, training, debugging, visualizing, and extending neural network models for a variety of language understanding tasks. Exploration of natural language tasks ranging from simple word level and syntactic processing to coreference, question answering, and machine translation. Examination of representative papers and systems and completion of a final project applying a complex neural network model to a large-scale NLP problem. Prerequisites: calculus and linear algebra; CS124 or CS121/221.
Terms: Win | Units: 3-4 | Grading: Letter or Credit/No Credit

CS 228: Probabilistic Graphical Models: Principles and Techniques

Probabilistic graphical modeling languages for representing complex domains, algorithms for reasoning using these representations, and learning these representations from data. Topics include: Bayesian and Markov networks, extensions to temporal modeling such as hidden Markov models and dynamic Bayesian networks, exact and approximate probabilistic inference algorithms, and methods for learning models from data. Also included are sample applications to various domains including speech recognition, biological modeling and discovery, medical diagnosis, message encoding, vision, and robot motion planning. Prerequisites: basic probability theory and algorithm design and analysis.
Terms: Win | 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 231A: Computer Vision: From 3D Reconstruction to Recognition

(Formerly 223B) An introduction to the concepts and applications in computer vision. Topics include: cameras and projection models, low-level image processing methods such as filtering and edge detection; mid-level vision topics such as segmentation and clustering; shape reconstruction from stereo, as well as high-level vision tasks such as object recognition, scene recognition, face detection and human motion categorization. Prerequisites: linear algebra, basic probability and statistics.
Terms: Win | Units: 3-4 | Grading: Letter or Credit/No Credit

CS 232: Digital Image Processing (EE 368)

Image sampling and quantization color, point operations, segmentation, morphological image processing, linear image filtering and correlation, image transforms, eigenimages, multiresolution image processing, noise reduction and restoration, feature extraction and recognition tasks, image registration. Emphasis is on the general principles of image processing. Students learn to apply material by implementing and investigating image processing algorithms in Matlab and optionally on Android mobile devices. Term project. Recommended: EE261, EE278.
Terms: Win | Units: 3 | Grading: Letter (ABCD/NP)

CS 234: Reinforcement Learning

To realize the dreams and impact of AI requires autonomous systems that learn to make good decisions. Reinforcement learning is one powerful paradigm for doing so, and it is relevant to an enormous range of tasks, including robotics, game playing, consumer modeling and healthcare. This class will briefly cover background on Markov decision processes and reinforcement learning, before focusing on some of the central problems, including scaling up to large domains and the exploration challenge. One key tool for tackling complex RL domains is deep learning and this class will include at least one homework on deep reinforcement learning. Prerequisites: proficiency in python, CS 229 or equivalents or permission of the instructor; linear algebra, basic probability.
Terms: Win | Units: 3 | Grading: Letter or Credit/No Credit

CS 239: Advanced Topics in Sequential Decision Making (AA 229)

Survey of recent research advances in intelligent decision making for dynamic environments from a computational perspective. Efficient algorithms for single and multiagent planning in situations where a model of the environment may or may not be known. Partially observable Markov decision processes, approximate dynamic programming, and reinforcement learning. New approaches for overcoming challenges in generalization from experience, exploration of the environment, and model representation so that these methods can scale to real problems in a variety of domains including aerospace, air traffic control, and robotics. Students are expected to produce an original research paper on a relevant topic. Prerequisites: AA 228/CS 238 or CS 221.
Terms: Win | Units: 3-4 | Grading: Letter or Credit/No Credit

CS 243: Program Analysis and Optimizations

Program analysis techniques used in compilers and software development tools to improve productivity, reliability, and security. The methodology of applying mathematical abstractions such as graphs, fixpoint computations, binary decision diagrams in writing complex software, using compilers as an example. Topics include data flow analysis, instruction scheduling, register allocation, parallelism, data locality, interprocedural analysis, and garbage collection. Prerequisites: 103 or 103B, and 107.
Terms: Win | Units: 3-4 | Grading: Letter or Credit/No Credit

CS 246: Mining Massive Data Sets

Availability of massive datasets is revolutionizing science and industry. This course discusses data mining and machine learning algorithms for analyzing very large amounts of data. The focus is on algorithms and systems for mining big data. nTopics include: Big data systems (Hadoop, Spark, Hive); Link Analysis (PageRank, spam detection, hubs-and-authorities); Similarity search (locality-sensitive hashing, shingling, minhashing, random hyperplanes); Stream data processing; Analysis of social-network graphs; Association rules; Dimensionality reduction (UV, SVD, and CUR decompositions); Algorithms for very-large-scale mining (clustering, nearest-neighbor search); Large-scale machine learning (gradient descent, support-vector machines, classification, and regression); Submodular function optimization; Computational advertising. Prerequisites: At least one of CS107 or CS145.
Terms: Win | Units: 3-4 | Grading: Letter or Credit/No Credit

CS 246H: Mining Massive Data Sets Hadoop Lab

Supplement to CS 246 providing additional material on Hadoop. Students will learn how to implement data mining algorithms using Hadoop, how to implement and debug complex MapReduce jobs in Hadoop, and how to use some of the tools in the Hadoop ecosystem for data mining and machine learning. Topics: Hadoop, MapReduce, HDFS, combiners, secondary sort, distributed cache, SQL on Hadoop, Hive, Cloudera ML/Oryx, Mahout, Hadoop streaming, implementing Hadoop jobs, debugging Hadoop jobs, TF-IDF, Pig, Sqoop, Oozie, HBase, Impala. Prerequisite: CS 107 or equivalent.
Terms: Win | Units: 1 | Grading: Satisfactory/No Credit

CS 247: Human-Computer Interaction Design Studio

Project-based focus on interaction design process, especially early-stage design and rapid prototyping. Methods used in interaction design including needs analysis, user observation, sketching, concept generation, scenario building, and evaluation. Prerequisites: 147 or equivalent background in design thinking; 106B or equivalent background in programming. Recommended: CS 142 or equivalent background in web programming.
Terms: Win, Spr | Units: 3-4 | Grading: Letter (ABCD/NP)

CS 248: Interactive Computer Graphics

This is the second course in the computer graphics sequence, and as such it assumes familiarity with rendering and image creation. The course has a strong focus on sampling methods, computational geometry, animation, and simulation. Topics include sampling theory, texture mapping, transformations, splines, implicit surfaces, geometric modeling, animation curves, inverse kinematics, character animation, motion capture and editing, image compression and virtual reality. Students will perform programming assignments and a self-selected final project that explores concepts covered in the class. Prerequisite: CS 107, MATH 51.
Terms: Win, Spr | Units: 3-4 | Grading: Letter or Credit/No Credit

CS 250: Algebraic Error Correcting Codes (EE 387)

Introduction to the theory of error correcting codes, emphasizing algebraic constructions, and diverse applications throughout computer science and engineering. Topics include basic bounds on error correcting codes; Reed-Solomon and Reed-Muller codes; list-decoding, list-recovery and locality. Applications may include communication, storage, complexity theory, pseudorandomness, cryptography, streaming algorithms, group testing, and compressed sensing. Prerequisites: Linear algebra, basic probability (at the level of, say, CS109, CME106 or EE178) and "mathematical maturity" (students will be asked to write proofs). Familiarity with finite fields will be helpful but not required.
Terms: Win | Units: 3 | Grading: Letter or Credit/No Credit

CS 255: Introduction to Cryptography

For advanced undergraduates and graduate students. Theory and practice of cryptographic techniques used in computer security. Topics: encryption (symmetric and public key), digital signatures, data integrity, authentication, key management, PKI, zero-knowledge protocols, and real-world applications. Prerequisite: basic probability theory.
Terms: Win | Units: 3 | Grading: Letter or Credit/No Credit

CS 257: Logic and Artificial Intelligence (PHIL 356C)

This is a course at the intersection of philosophical logic and artificial intelligence. After reviewing recent work in AI that has leveraged ideas from logic, we will slow down and study in more detail various components of high-level intelligence and the tools that have been designed to capture those components. Specific areas will include: reasoning about belief and action, causality and counterfactuals, legal and normative reasoning, natural language inference, and Turing-complete logical formalisms including (probabilistic) logic programming and lambda calculus. Our main concern will be understanding the logical tools themselves, including their formal properties and how they relate to other tools such as probability and statistics. At the end, students should expect to have learned a lot more about logic, and also to have a sense for how logic has been and can be used in AI applications. Prerequisites: A background in logic, at least at the level of Phil 151, will be expected. In case a student is willing to put in the extra work to catch up, it may be possible to take the course with background equivalent to Phil 150 or CS 157. A background in AI, at the level of CS 221, would also be very helpful and will at times be expected. 2 unit option only for PhD students past the second year. Course website: http://web.stanford.edu/class/cs257/
Terms: Win | Units: 2-4 | Grading: Letter or Credit/No Credit

CS 261: Optimization and Algorithmic Paradigms

Algorithms for network optimization: max-flow, min-cost flow, matching, assignment, and min-cut problems. Introduction to linear programming. Use of LP duality for design and analysis of algorithms. Approximation algorithms for NP-complete problems such as Steiner Trees, Traveling Salesman, and scheduling problems. Randomized algorithms. Introduction to online algorithms. Prerequisite: 161 or equivalent.
Terms: Win | Units: 3 | Grading: Letter or Credit/No Credit

CS 270: Modeling Biomedical Systems: Ontology, Terminology, Problem Solving (BIOMEDIN 210)

Methods for modeling biomedical systems and for building model-based software systems. Emphasis is on intelligent systems for decision support and Semantic Web applications. Topics: knowledge representation, controlled terminologies, ontologies, reusable problem solvers, and knowledge acquisition. Students learn about current trends in the development of advanced biomedical software systems and acquire hands-on experience with several systems and tools. Prerequisites: CS106A, basic familiarity with biology.
Terms: Win | Units: 3 | Grading: Letter or Credit/No Credit

CS 273A: The Human Genome Source Code (BIOMEDIN 273A, DBIO 273A)

A computational introduction to the most amazing programming language on the planet: your genome. Topics include genome sequencing (assembling source code from code fragments); the human genome functional landscape: variable assignments (genes), control-flow logic (gene regulation) and run-time stack (epigenomics); human disease and personalized genomics (as a hunt for bugs in the human code); genome editing (code injection) to cure the incurable; and the source code behind amazing animal adaptations. Algorithmic approaches will introduce ideas from computational genomics, machine learning and natural language processing. Course includes primers on molecular biology, and text processing languages. No prerequisites.
Terms: Win | Units: 3 | Grading: Letter or Credit/No Credit

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: Win | Units: 4 | Grading: Medical Option (Med-Ltr-CR/NC)

CS 275A: Symbolic Musical Information (MUSIC 253)

Focus on symbolic data for music applications including advanced notation systems, optical music recognition, musical data conversion, and internal structure of MIDI files.
Terms: Win | Units: 2-4 | Grading: Letter or Credit/No Credit

CS 295: Software Engineering

Software specification, testing and verification. The emphasis is on automated tools for developing reliable software. The course covers material---drawn primarily from recent research papers---on the technologynunderlying these tools. Assignments supplement the lectures with hands-on experience in using these tools and customizing them for solving new problems. The course is appropriate for students intending to pursue research in program analysis and verification, as well as for those who wish to add the use of advanced software tools to their skill set. Prerequisites: 108. Recommended: a project course such as 140, 143 or 145.
Terms: Win | Units: 3 | Grading: Letter or Credit/No Credit
Instructors: ; Chandra, S. (PI)

CS 316: Advanced Multi-Core Systems

In-depth coverage of the architectural techniques used in modern, multi-core chips for mobile and server systems. Advanced processor design techniques (superscalar cores, VLIW cores, multi-threaded cores, energy-efficient cores), cache coherence, memory consistency, vector processors, graphics processors, heterogeneous processors, and hardware support for security and parallel programming. Students will become familiar with complex trade-offs between performance-power-complexity and hardware-software interactions. A central part of CS316 is a project on an open research question on multi-core technologies. Prerequisites: EE 180 (formerly 108B) and EE 282. Recommended: CS 149.
Terms: Win | Units: 3 | Grading: Letter or Credit/No Credit

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, Win | Units: 3-5 | Repeatable for credit | Grading: Letter or Credit/No Credit

CS 334A: Convex Optimization I (CME 364A, EE 364A)

Convex sets, functions, and optimization problems. The basics of convex analysis and theory of convex programming: optimality conditions, duality theory, theorems of alternative, and applications. Least-squares, linear and quadratic programs, semidefinite programming, and geometric programming. Numerical algorithms for smooth and equality constrained problems; interior-point methods for inequality constrained problems. Applications to signal processing, communications, control, analog and digital circuit design, computational geometry, statistics, machine learning, and mechanical engineering. Prerequisite: linear algebra such as EE263, basic probability.
Terms: Win, Sum | Units: 3 | Grading: Letter or Credit/No Credit

CS 348V: Visual Computing Systems

Visual computing tasks such as computational photography, image/video analysis, 3D reconstruction, and real-time 3D graphics are key responsibilities of modern computer systems ranging from sensor-rich smart phones, autonomous robots, and large data centers. These workloads demand exceptional system efficiency and this course examines the key ideas, techniques, and challenges associated with the design of parallel (and heterogeneous) systems that execute and accelerate visual computing applications. This course is intended for graduate and advanced undergraduate-level systems students interested in architecting efficient graphics, image processing, and computer vision platforms (both new hardware architectures and domain-optimized programming frameworks) and for students in graphics, vision, and ML that seek to understand throughput computing principles so they can develop scalablenalgorithms that map efficiently these future platforms. Students will perform daily research paper readings, complete simple programming assignments, and compete a self-selected term project. Prerequisites: CS 107 or equivalent. Recommended: Parallel computing or computer architecture (CS 149, EE 282), some background in techniques in either deep learning (CS 230, CS 231N), computer vision (CS 231A), digital image processing (CS 232).
Terms: Win | Units: 3-4 | Grading: Letter or Credit/No Credit

CS 371: Computational Biology in Four Dimensions (BIOMEDIN 371, BIOPHYS 371, CME 371)

Cutting-edge research on computational techniques for investigating and designing the three-dimensional structure and dynamics of biomolecules, cells, and everything in between. These techniques, which draw on approaches ranging from physics-based simulation to machine learning, play an increasingly important role in drug discovery, medicine, bioengineering, and molecular biology. Course is devoted primarily to reading, presentation, discussion, and critique of papers describing important recent research developments. Prerequisite: CS 106A or equivalent, and an introductory course in biology or biochemistry. Recommended: some experience in mathematical modeling (does not need to be a formal course).
Terms: Win | 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 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. 390 A, B, and C 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); Bailis, P. (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); Brunskill, E. (PI); Cain, J. (PI); Cao, P. (PI); Casado, M. (PI); Chang, 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); Fischer, M. (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); 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); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McCarthy, J. (PI); McCluskey, E. (PI); McKeown, N. (PI); Meng, T. (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); 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); Reingold, O. (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); Sosic, R. (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); Young, P. (PI); Zaharia, M. (PI); Zelenski, J. (PI); Zou, J. (PI); Gallegos, Y. (GP); George, S. (GP)

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 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. 390A,B,C 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); Batzoglou, S. (PI); Bejerano, G. (PI); Bernstein, M. (PI); Blikstein, P. (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); 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); 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); 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); McCluskey, E. (PI); McKeown, N. (PI); Meng, T. (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); 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); 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); Gallegos, Y. (GP); George, S. (GP)

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 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. 390A,B,C 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); Kundaje, A. (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); McCluskey, E. (PI); McKeown, N. (PI); Meng, T. (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); 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); Gallegos, Y. (GP); George, S. (GP)

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 196. May be taken just once; not repeatable. Educational opportunities in high technology research and development labs in the computing industry. Qualified computer science students engage in research and integrate that work into their academic program. Students register 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 | 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); Boneh, D. (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); Duchi, J. (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); Follmer, S. (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); 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); McCluskey, E. (PI); McKeown, N. (PI); Meng, T. (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); 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); Saberi, A. (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); 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 390P: 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 196. May be taken just once; not repeatable. Educational opportunities in high technology research and development labs in the computing industry. Qualified computer science students engage in research and integrate that work into their academic program. Students register 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 | 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); Boyd, S. (PI); Bradski, G. (PI); Brafman, R. (PI); Cain, J. (PI); Cao, P. (PI); Casado, 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); 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); 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); Latombe, J. (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); McCluskey, E. (PI); McKeown, N. (PI); Meng, T. (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); Plotkin, S. (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); 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); Young, P. (PI); Zelenski, J. (PI); Gallegos, Y. (GP); George, S. (GP)

CS 390Q: 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 196. May be taken just once; not repeatable. Educational opportunities in high technology research and development labs in the computing industry. Qualified computer science students engage in research and integrate that work into their academic program. Students register 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: Win, Spr | 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); Boneh, D. (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); Duchi, J. (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); Follmer, S. (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); 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); McCluskey, E. (PI); McKeown, N. (PI); Meng, T. (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); 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); Saberi, A. (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); Wetzstein, G. (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); Gallegos, Y. (GP); George, S. (GP)

CS 390T: Part-Time CPT

For qualified computer science PhD students only. Permission number required for enrollment; see the CS PhD program administrator in Gates room 196. May be taken just once; not repeatable. Educational opportunities in high technology research and development labs in the computing industry. Qualified computer science students engage in research and integrate that work into their academic program. Students register 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: Win | Units: 1 | Grading: Satisfactory/No Credit
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); 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); 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); 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); McCluskey, E. (PI); McKeown, N. (PI); Meng, T. (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); Plotkin, S. (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); Saberi, A. (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); Williams, V. (PI); Winograd, T. (PI); Winstein, K. (PI); Young, P. (PI); Zelenski, J. (PI); Gallegos, Y. (GP); George, S. (GP)

CS 390V: 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 196. May be taken just once; not repeatable. Educational opportunities in high technology research and development labs in the computing industry. Qualified computer science students engage in research and integrate that work into their academic program. Students register 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 | Grading: Satisfactory/No Credit

CS 390W: 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 196. May be taken just once; not repeatable. Educational opportunities in high technology research and development labs in the computing industry. Qualified computer science students engage in research and integrate that work into their academic program. Students register 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 | Grading: Satisfactory/No Credit

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); McCluskey, E. (PI); McKeown, N. (PI); Meng, T. (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); Gallegos, Y. (GP); George, S. (GP)

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); McCluskey, E. (PI); McKeown, N. (PI); Meng, T. (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); Gallegos, Y. (GP); George, S. (GP)

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); Bailis, P. (PI); Baker, M. (PI); Barbagli, F. (PI); Barrett, C. (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); 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); Lee, C. (PI); Leskovec, J. (PI); Levis, P. (PI); Levitt, M. (PI); Levoy, M. (PI); Li, F. (PI); Liang, P. (PI); MacCartney, B. (PI); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McCarthy, J. (PI); McCluskey, E. (PI); McKeown, N. (PI); Meng, T. (PI); Mitchell, J. (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); 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); 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); Wootters, M. (PI); Yamins, D. (PI); Young, P. (PI); Zaharia, M. (PI); Zelenski, J. (PI); Gallegos, Y. (GP); George, S. (GP); Harris, R. (GP)

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); 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); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McCarthy, J. (PI); McCluskey, E. (PI); McKeown, N. (PI); Meng, T. (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); Reingold, O. (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); Wootters, M. (PI); Young, P. (PI); Zaharia, M. (PI); Zelenski, J. (PI); Gallegos, Y. (GP); George, S. (GP)

CS 402: Beyond Bits and Atoms: Designing Technological Tools (EDUC 236)

Practicum in designing and building technology-enabled curricula and hands-on learning environments. Students use software toolkits and state-of-the-art fabrication machines to design educational software, educational toolkits, and tangible user interfaces. The course will focus on designing low-cost technologies, particularly for urban school in the US and abroad. We will explore theoretical and design frameworks from the constructionist learning perspective, critical pedagogy, interaction design for children. Interested students should complete the application at https://web.stanford.edu/class/educ211 by January 5, and come to the first class at 9am in CERAS 101.
Terms: Win | Units: 3-4 | Grading: Letter or Credit/No Credit

CS 402L: Beyond Bits and Atoms - Lab (EDUC 211)

This course is a hands-on lab in the prototyping and fabrication of tangible technologies, with a special focus in learning and education. We will learn how to use state-of-the-art fabrication machines (3D printers, 3D scanners, laser cutters, routers) to design educational toolkits, educational toys, science kits, and tangible user interfaces. A special focus of the course will be to design low-cost technologies, particularly for urban school in the US and abroad. Interested students should complete the application at https://web.stanford.edu/class/educ211 by January 5, and come to the first class at 9am in CERAS 101.
Terms: Win | Units: 1-3 | Grading: Letter (ABCD/NP)

CS 448H: Topics in Computer Graphics: Agile Hardware Design

Topic changes each quarter. Recent topics: computational photography, data visualization, character animation, virtual worlds, graphics architectures, advanced rendering. See http://graphics.stanford.edu/courses for offerings and prerequisites. May be repeated for credit.
Terms: not given this year | Units: 3 | Grading: Letter or Credit/No Credit
Instructors: ; Hanrahan, P. (PI)

CS 448I: Computational Imaging and Display (EE 367)

Spawned by rapid advances in optical fabrication and digital processing power, a new generation of imaging technology is emerging: computational cameras at the convergence of applied mathematics, optics, and high-performance computing. Similar trends are observed for modern displays pushing the boundaries of resolution, contrast, 3D capabilities, and immersive experiences through the co-design of optics, electronics, and computation. This course serves as an introduction to the emerging field of computational imaging and displays. Students will learn to master bits and photons.
Terms: Win | Units: 3 | Grading: Letter or Credit/No Credit

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); 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); 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); McCluskey, E. (PI); McKeown, N. (PI); Meng, T. (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); 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); 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); 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); Yamins, D. (PI); Young, P. (PI); Zaharia, M. (PI); Zelenski, J. (PI); Zou, J. (PI); Gallegos, Y. (GP); George, S. (GP)

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); 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); 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); McCluskey, E. (PI); McKeown, N. (PI); Meng, T. (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); 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); Saberi, A. (PI); Sadigh, D. (PI); Sahami, M. (PI); Salisbury, J. (PI); Savarese, S. (PI); Saxena, A. (PI); Schwarz, K. (PI); Shoham, Y. (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); Gallegos, Y. (GP); George, S. (GP)

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

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); McCluskey, E. (PI); McKeown, N. (PI); Meng, T. (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); Gallegos, Y. (GP); George, S. (GP)

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); 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); McCluskey, E. (PI); McKeown, N. (PI); Meng, T. (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); Re, C. (PI); Reingold, O. (PI); Roberts, E. (PI); Rosenblum, M. (PI); Roughgarden, T. (PI); Saberi, A. (PI); Sadigh, D. (PI); Sahami, M. (PI); Salisbury, J. (PI); Savarese, S. (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); Winstein, K. (PI); Wootters, M. (PI); Young, P. (PI); Zaharia, M. (PI); Zelenski, J. (PI); Zou, J. (PI); Gallegos, Y. (GP); George, S. (GP)
© Stanford University | Terms of Use | Copyright Complaints