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. The time listed on AXESS is for the first week's logistical meeting only. 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

CS 20SI: Tensorflow for Deep Learning Research

This course will cover the fundamentals and contemporary usage of the Tensorflow library for deep learning research. Through the course, students will use Tensorflow to build models of different complexity, from simple linear/logistic regression to convolutional neural network and recurrent neural networks with LSTM to solve tasks such as word embeddings, translation, optical character recognition. Students will also learn best practices to structure a model and manage research experiments. Prerequisites: CS229 or CS224D/N.
Terms: Win | Units: 2

CS 51: CS + Social Good Studio: Building Social Impact Projects for Change

Get real-world experience launching and developing your own social impact projects! Students will 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 nonprofit domain experts. The class aims to provide an outlet, along with the resources, 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

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. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language. No prior programming experience required. Summer quarter enrollment is limited.
Terms: Aut, Win, Spr, Sum | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR

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

CS 106J: Programming Methodology in JavaScript

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. This course covers the same material as CS 106A but does so using JavaScript, the most common language for implementing interactive web pages, instead of Java. No prior programming experience required. Enrollment limited to 100.
Terms: Win, Spr | Units: 3-5

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 | Units: 1

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. Prerequisite: excellence in 106A or equivalent, or consent of instructor.
Terms: Aut, Win | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR

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

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

CS 109: Introduction to Probability for Computer Scientists

Topics include: counting and combinatorics, random variables, conditional probability, independence, distributions, expectation, point estimation, and limit theorems. Applications of probability in computer science including machine learning and the use of probability in the analysis of algorithms. Prerequisites: 103, 106B or X, multivariate calculus at the level of MATH 51 or CME 100 or equivalent.
Terms: Win, Spr, Sum | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-AQR, WAY-FR

CS 110: Principles of Computer Systems

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

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

Extracting meaning, information, and structure from human language text, speech, web pages, genome sequences, 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, genomic sequence alignment, spell checking, speech processing, recommender systems. Prerequisite: CS103, CS107, CS109.
Terms: Win | Units: 3-4

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 | Units: 3-4 | UG Reqs: GER:DB-EngrAppSci
Instructors: ; Mazieres, D. (PI)

CS 142: Web Applications

Concepts and techniques used in constructing interactive web applications. Browser-side web facilities such as HTML, cascading stylesheets, the document object model, and JavaScript frameworks and Server-side technologies such as server-side JavaScript, sessions, and object-oriented databases. Issues in web security and application scalability. New models of web application deployment. Prerequisites: CS 107 and CS 108.
Terms: Win, Spr | Units: 3
Instructors: ; Rosenblum, M. (PI)

CS 149: Parallel Computing

This course is an introduction to parallelism and parallel programming. Most new computer architectures are parallel; programming these machines requires knowledge of the basic issues of and techniques for writing parallel software. Topics: varieties of parallelism in current hardware (e.g., fast networks, multicore, accelerators such as GPUs, vector instruction sets), importance of locality, implicit vs. explicit parallelism, shared vs. non-shared memory, synchronization mechanisms (locking, atomicity, transactions, barriers), and parallel programming models (threads, data parallel/streaming, futures, 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

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, Spr, Sum | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR

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.
Terms: Win, Spr | Units: 4 | UG Reqs: GER:EC-EthicReas, WAY-ER

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

Writing-intensive version of CS181. Satisfies the WIM requirement for Computer Science, Engineering Physics, STS, and Math/Comp Sci undergraduates.
Terms: Win, Spr | Units: 4 | UG Reqs: GER:EC-EthicReas, WAY-ER

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
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); 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); George, S. (GP); Moreau, D. (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
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); 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); 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); 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); Widom, J. (PI); Wiederhold, G. (PI); Williams, R. (PI); Williams, V. (PI); Winograd, T. (PI); Winstein, K. (PI); Young, P. (PI); Zelenski, J. (PI); George, S. (GP); Moreau, D. (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
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); 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); George, S. (GP); Moreau, D. (GP)

CS 193A: Android Programming

Introduction to building applications for Android platform. Examines key concepts of Android programming: tool chain, application life-cycle, views, controls, intents, designing mobile UIs, networking, threading, and more. Features weekly lectures and a series of small programming projects. Phone not required, but a phone makes the projects more engaging. Prerequisites: 106B or Java experience at 106B level. Enrollment limited and application required: https://goo.gl/forms/ACKDYowYfOZD4vNd2
Terms: Win | Units: 3
Instructors: ; Stepp, M. (PI)

CS 193P: iPhone and iPad Application Programming

Tools and APIs required to build applications for the iPhone and iPad platforms using the iOS SDK. User interface design for mobile devices and unique user interactions using multi-touch technologies. Object-oriented design using model-view-controller paradigm, memory management, Swift programming language. Other topics include: object-oriented database API, animation, mobile device power management, multi-threading, networking and performance considerations. Prerequisites: C language and object-oriented programming experience exceeding 106B or X level. Previous completion of any one of the following is required: CS 107, 108 (preferred) or 110. Recommended: UNIX, graphics, databases.
Terms: Win | Units: 3
Instructors: ; Hegarty, P. (PI)

CS 193S: Scalability Engineering

Learn to solve real world engineering challenges in this programming project course. Scale projects not just from the coding and engineering perspective, but use those same techniques to increase usability, popularity, development velocity and maintainability. Discover how engineering applies to project ideation, self and team development, customer acquisition, user experience. As we build applications, we will cover tools and practices for scalable programming including: the javascript ecosystem, containers and cloud platforms, agile development, growth hacking. We focus on rapid feedback loops to build better systems faster. In one quarter, develop scalable habits to build apps designed to grow. Application required. Prerequisites: one or more of CS 140, 142, 145, 147.
Terms: Win | Units: 3
Instructors: ; Jannink, J. (PI)

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

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
Instructors: ; Landay, J. (PI)

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

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
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

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

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
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); 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); 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); 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); 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); Young, P. (PI); Zaharia, M. (PI); Zelenski, J. (PI); George, S. (GP); Moreau, D. (GP)

CS 199P: Independent Work

(Staff)
Terms: Aut, Win, Spr, Sum | Units: 1-6 | Repeatable for 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); 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); George, S. (GP); Moreau, D. (GP)

CS 206: Exploring Computational Journalism (COMM 281)

This course will explore the evolving field of computational journalism. Students will research and discuss the state of field in five areas where computation is affecting journalism: AI, Data Science, and Info Viz; Emerging Hardware Tech, including Drones, Sensors, and VR; Audience Participation and Diverse Viewpoints; Free Speech and Democracy; and News Ecosystems and Business Models. Admission by application; please email James Hamilton at jayth@stanford.edu to request an application.
Terms: Win | Units: 3

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
Instructors: ; Borenstein, J. (PI)

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

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 | Repeatable for 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
Instructors: ; Ermon, S. (PI)

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

CS 245: Database Systems Principles

File organization and access, buffer management, performance analysis, and storage management. Database system architecture, query optimization, transaction management, recovery, concurrency control. Reliability, protection, and integrity. Design and management issues. Prerequisites: 145, 161.
Terms: Win | Units: 3

CS 246: Mining Massive Data Sets

The course will discuss data mining and machine learning algorithms for analyzing very large amounts of data. The emphasis will be on Map Reduce as a tool for creating parallel algorithms that can process very large amounts of data. Topics include: Frequent itemsets and Association rules, Near Neighbor Search in High Dimensional Data, Locality Sensitive Hashing (LSH), Dimensionality reduction, Recommender Systems, Clustering, Link Analysis, Large-scale machine learning, Data streams, Analysis of Social-network Graphs, and Web Advertising. Prerequisites: At lease one of CS107 or CS145; At least one of CS109 or STAT116, or equivalent.
Terms: Win | Units: 3-4

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
Instructors: ; Templeton, D. (PI)

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. Enrollment limited to 40 students based on an application to be given out the first day of class.
Terms: Win, Spr | Units: 3-4

CS 248: Interactive Computer Graphics

This is the second course in the computer graphics sequence, and as such it assumes a strong familiarity with rendering and image creation. The course has a strong focus on computational geometry, animation, and simulation. Topics include splines, implicit surfaces, geometric modeling, collision detection, animation curves, particle systems and crowds, character animation, articulation, skinning, motion capture and editing, rigid and deformable bodies, and fluid simulation. As a final project, students implement an interactive video game utilizing various concepts covered in the class. Games may be designed on mobile devices, in a client/server/browser environment, or on a standard personal computer. Prerequisite: CS148.
Terms: Win | Units: 3-4
Instructors: ; Fedkiw, R. (PI); Bao, M. (GP)

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

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

This is a course at the intersection of philosophical logic and artificial intelligence. The goal of the course is to understand the role that expressive logical frameworks might play in AI, and to gain a deeper understanding of how different logical systems relate, and what features of a logical system could make it useful for representation and/or reasoning. Specific themes may include: 1. Tradeoff between complexity and expressivity 2. Capturing subtle reasoning about agent mental states 3. Defeasibility, causality, and the relation between logic and probability 4. Logical formalizations of legal and normative reasoning 5. Combining statistical learning and inference with rich logical structure 6. Logical systems close to the structure of natural language ("natural logics"). Prerequisites: It is expected that students already have a solid background in logic. Phil 151 is ideal, but Phil 150 or CS 157 would be acceptable, with the understanding that there may be some catching up to do. 2 unit option for PhD students only.
Terms: Win | Units: 2-4
Instructors: ; Icard, T. (PI)

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
Instructors: ; Goel, A. (PI); Shen, C. (TA)

CS 264: Beyond Worst-Case Analysis

This course is motivated by problems for which the traditional worst-case analysis of algorithms fails to differentiate meaningfully between different solutions, or recommends an intuitively "wrong" solution over the "right" one. This course studies systematically alternatives to traditional worst-case analysis that nevertheless enable rigorous and robust guarantees on the performance of an algorithm. Topics include: instance optimality; smoothed analysis; parameterized analysis and condition numbers; models of data (pseudorandomness, locality, diffuse adversaries, etc.); average-case analysis; robust distributional analysis; resource augmentation; planted and semi-random graph models. Motivating problems will be drawn from online algorithms, online learning, constraint satisfaction problems, graph partitioning, scheduling, linear programming, hashing, machine learning, and auction theory. Prerequisites: CS161 (required). CS261 is recommended but not required.
Terms: Win | Units: 3
Instructors: ; Roughgarden, T. (PI)

CS 269G: Almost Linear Time Graph Algorithms (MS&E 313)

Over the past decade there has been an explosion in activity in designing new provably efficient fast graph algorithms. Leveraging techniques from disparate areas of computer science and optimization researchers have made great strides on improving upon the best known running times for fundamental optimization problems on graphs, in many cases breaking long-standing barriers to efficient algorithm design. In this course we will survey these results and cover the key algorithmic tools they leverage to achieve these breakthroughs. Possible topics include but are not limited to, spectral graph theory, sparsification, oblivious routing, local partitioning, Laplacian system solving, and maximum flow. Prerequisites: calculus and linear algebra.
Terms: Win | Units: 3
Instructors: ; Sidford, A. (PI)

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

CS 275: Translational Bioinformatics (BIOE 217, BIOMEDIN 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

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

CS 295: Software Engineering

Software specification, testing, and verification. Emphasis is on modern technology for developing reliable software at a reasonable cost. Assignments focus on applying these techniques to realistic software systems. Prerequisites: 108. Recommended a project course such as 140, 143, or 145.
Terms: Win | Units: 3
Instructors: ; Chandra, S. (PI)

CS 348A: Computer Graphics: Geometric Modeling & Processing

The mathematical tools needed for the geometrical aspects of computer graphics and especially for modeling smooth shapes. Fundamentals: homogeneous coordinates, transformations, and perspective. Theory of parametric and implicit curve and surface models: polar forms, Bézier arcs and de Casteljau subdivision, continuity constraints, B-splines, tensor product, and triangular patch surfaces. Subdivision surfaces and multi-resolution representations of geometry. Representations of solids and conversions among them. Surface reconstruction from scattered data points. Geometry processing on meshes, including simplification and parameterization. Prerequisite: linear algebra at the level of CME103. Recommended: 248.
Terms: Win | Units: 3-4

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

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
Instructors: ; 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); 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); Fischer, M. (PI); Fisher, K. (PI); Fogg, B. (PI); Follmer, S. (PI); Fox, A. (PI); Garcia-Molina, H. (PI); Genesereth, M. (PI); Gill, J. (PI); Girod, B. (PI); Goel, A. (PI); 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); 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); George, S. (GP); Moreau, D. (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
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); 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); 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); George, S. (GP); Moreau, D. (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
Instructors: ; Aiken, A. (PI); Akeley, K. (PI); Altman, R. (PI); Baker, M. (PI); Barbagli, F. (PI); Batzoglou, S. (PI); Bejerano, G. (PI); Bernstein, M. (PI); Blikstein, P. (PI); Boneh, D. (PI); Bradski, G. (PI); Brafman, R. (PI); Cain, J. (PI); Cao, P. (PI); Casado, M. (PI); Charikar, M. (PI); Cheriton, D. (PI); Cooper, S. (PI); Dally, B. (PI); De-Micheli, G. (PI); Dill, D. (PI); Dwork, C. (PI); Engler, D. (PI); Ermon, S. (PI); Fedkiw, R. (PI); Feigenbaum, E. (PI); Fikes, R. (PI); Fisher, K. (PI); Fogg, B. (PI); Fox, A. (PI); Garcia-Molina, H. (PI); Genesereth, M. (PI); Gill, J. (PI); Girod, B. (PI); Goel, A. (PI); Goodman, N. (PI); Guibas, L. (PI); Hanrahan, P. (PI); Heer, J. (PI); Hennessy, J. (PI); Horowitz, M. (PI); James, D. (PI); Johari, R. (PI); Johnson, M. (PI); Jurafsky, D. (PI); Katti, S. (PI); Kay, M. (PI); Khatib, O. (PI); Klemmer, S. (PI); Koller, D. (PI); Koltun, V. (PI); Konolige, K. (PI); Kozyrakis, C. (PI); Lam, M. (PI); Latombe, J. (PI); Lee, C. (PI); Leskovec, J. (PI); Levis, P. (PI); Levitt, M. (PI); Levoy, M. (PI); Li, F. (PI); Liang, P. (PI); Manna, Z. (PI); Manning, C. (PI); Mazieres, D. (PI); McCarthy, J. (PI); 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); George, S. (GP); Moreau, D. (GP)

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
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); George, S. (GP); Moreau, D. (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
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); George, S. (GP); Moreau, D. (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
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); George, S. (GP); Moreau, D. (GP)

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
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); George, S. (GP); Moreau, D. (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
Instructors: ; Aiken, A. (PI); Altman, R. (PI); Baker, M. (PI); Barbagli, F. (PI); Batzoglou, S. (PI); Bejerano, G. (PI); Boneh, D. (PI); Borenstein, J. (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); George, S. (GP); Moreau, D. (GP)

CS 399: Independent Project

Letter grade only.
Terms: Aut, Win, Spr, Sum | Units: 1-9 | Repeatable for 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); 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); 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); 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); 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); George, S. (GP); Moreau, D. (GP)

CS 399P: Independent Project

Graded satisfactory/no credit.
Terms: Aut, Win, Spr, Sum | Units: 1-9 | Repeatable for 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); 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); 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); George, S. (GP); Moreau, D. (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.
Terms: Win | Units: 3-4

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.
Terms: Win | Units: 1-3

CS 431: High-level Vision: From Neurons to Deep Neural Networks (PSYCH 250)

Interdisciplinary seminar focusing on understanding how computations in the brain enable rapid and efficient object perception. Covers topics from multiple perspectives drawing on recent research in Psychology, Neuroscience, Computer Science and Applied Statistics. Emphasis on discussing recent empirical findings, methods and theoretical debates in the field. Topics include: theories of object perception, neural computations underlying invariant object perception, how visual exemplars and categories are represented in the brain, what information is present in distributed activations across neural populations and how it relates to object perception, what modern statistical and analytical tools there are for multi-variate analysis of brain activations.
Terms: Win, Spr | Units: 3

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: Win | Units: 3
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

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.
Terms: Aut, Win, Spr, Sum | Units: 1-15 | Repeatable for 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); 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); 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); 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); 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); George, S. (GP); Moreau, D. (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.
Terms: Aut, Win, Spr, Sum | Units: 1-15 | Repeatable for 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); 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); 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); 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); 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); George, S. (GP); Moreau, D. (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

CS 801: TGR Project

Terms: Aut, Win, Spr, Sum | Units: 0 | Repeatable for credit
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); George, S. (GP); Moreau, D. (GP)

CS 802: TGR Dissertation

Terms: Aut, Win, Spr, Sum | Units: 0 | Repeatable for 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); Brunskill, E. (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); 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); 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); 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); Sahami, M. (PI); Salisbury, J. (PI); Savarese, S. (PI); Shoham, Y. (PI); Sidford, A. (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); George, S. (GP); Moreau, D. (GP)
© Stanford University | Terms of Use | Copyright Complaints