CS 227B: General Game Playing
A general game playing system accepts a formal description of a game to play it without human intervention or algorithms designed for specific games. Handson introduction to these systems and artificial intelligence techniques such as knowledge representation, reasoning, learning, and rational behavior. Students create GGP systems to compete with each other and in external competitions. Prerequisite: programming experience. Recommended: 103 or equivalent.
Terms: Spr

Units: 3

Grading: Letter or Credit/No Credit
Instructors:
Genesereth, M. (PI)
CS 229: Machine Learning (STATS 229)
Topics: statistical pattern recognition, linear and nonlinear regression, nonparametric methods, exponential family, GLMs, support vector machines, kernel methods, model/feature selection, learning theory, VC dimension, clustering, density estimation, EM, dimensionality reduction, ICA, PCA, reinforcement learning and adaptive control, Markov decision processes, approximate dynamic programming, and policy search. Prerequisites: linear algebra, and basic probability and statistics.
Terms: Aut, Spr

Units: 34

Grading: Letter or Credit/No Credit
CS 229A: Applied Machine Learning
You will learn to implement and apply machine learning algorithms. This course emphasizes practical skills, and focuses on giving you skills to make these algorithms work. You will learn about commonly used learning techniques including supervised learning algorithms (logistic regression, linear regression, SVM, neural networks/deep learning), unsupervised learning algorithms (kmeans), as well as learn about specific applications such as anomaly detection and building recommender systems. This class is taught in the flippedclassroom format. You will watch videos and complete indepth programming assignments and online quizzes at home, then come to class for discussion sections. This class will culminate in an openended final project, which the teaching team will help you on. Prerequisites: Programming at the level of CS106B or 106X, and basic linear algebra such as
Math 51.
Terms: Aut, Win, Spr

Units: 34

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 flippedclassroom format. You will watch videos and complete indepth 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 openended 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: 34

Grading: Letter or Credit/No Credit
Instructors:
Katanforoosh, K. (PI)
;
Ng, A. (PI)
;
Bartolome Aramburu, C. (TA)
...
more instructors for CS 230 »
Instructors:
Katanforoosh, K. (PI)
;
Ng, A. (PI)
;
Bartolome Aramburu, C. (TA)
;
Cho, P. (TA)
;
Dery, L. (TA)
;
Eng, D. (TA)
;
Koochak, Z. (TA)
;
Momeni, A. (TA)
;
Shenoi, A. (TA)
;
Whang, J. (TA)
;
Yang, B. (TA)
CS 231N: Convolutional Neural Networks for Visual Recognition
Computer Vision has become ubiquitous in our society, with applications innsearch, image understanding, apps, mapping, medicine, drones, andnselfdriving cars. Core to many of these applications are the tasks of image classification, localization and detection. This course is a deep dive into details of neural network architectures with a focus on learning endtoend models for these tasks, particularly image classification. During the 10week course, students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cuttingedge research in computer vision. The final assignment will involve training a multimillion parameter convolutional neural network and applying it on the largest image classification dataset (ImageNet). We will focus on teaching how to set up the problem of image recognition, the learning algorithms (e.g. backpropagation), practical engineering tricks for training and finetuning the networks and guide the students thr
more »
Computer Vision has become ubiquitous in our society, with applications innsearch, image understanding, apps, mapping, medicine, drones, andnselfdriving cars. Core to many of these applications are the tasks of image classification, localization and detection. This course is a deep dive into details of neural network architectures with a focus on learning endtoend models for these tasks, particularly image classification. During the 10week course, students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cuttingedge research in computer vision. The final assignment will involve training a multimillion parameter convolutional neural network and applying it on the largest image classification dataset (ImageNet). We will focus on teaching how to set up the problem of image recognition, the learning algorithms (e.g. backpropagation), practical engineering tricks for training and finetuning the networks and guide the students through handson assignments and a final course project. Much of the background and materials of this course will be drawn from the ImageNet Challenge:
http://imagenet.org/challenges/LSVRC/2014/index. Prerequisites: Proficiency in Python; familiarity with C/C++;
CS 131 and
CS 229 or equivalents;
Math 21 or equivalent, linear algebra.
Terms: Spr

Units: 34

Grading: Letter or Credit/No Credit
CS 240: Advanced Topics in Operating Systems
Recent research. Classic and new papers. Topics: virtual memory management, synchronization and communication, file systems, protection and security, operating system extension techniques, fault tolerance, and the history and experience of systems programming. Prerequisite: 140 or equivalent.
Terms: Spr

Units: 3

Repeatable for credit

Grading: Letter or Credit/No Credit
Instructors:
Engler, D. (PI)
CS 244: Advanced Topics in Networking
Classic papers, new ideas, and research papers in networking. Architectural principles: why the Internet was designed this way? Congestion control. Wireless and mobility; softwaredefined networks (SDN) and network virtualization; content distribution networks; packet switching; datacenter networks. Prerequisite: 144 or equivalent.
Terms: Spr

Units: 34

Grading: Letter or Credit/No Credit
Instructors:
Katti, S. (PI)
;
Winstein, K. (PI)
CS 245: Principles of DataIntensive Systems
Architecture of data storage and processing systems, including relational databases, cluster computing systems, stream processing and machine learning systems. Topics include database system architecture, storage organization, query optimization, transaction management, fault recovery, and parallel processing, with a focus on the key design ideas shared across many types of dataintensive systems. Prerequisites: 145, 161.
Terms: Spr

Units: 3

Grading: Letter or Credit/No Credit
Instructors:
Zaharia, M. (PI)
CS 247: HumanComputer Interaction Design Studio
Projectbased focus on interaction design process, especially earlystage 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.
Terms: Win, Spr

Units: 34

Grading: Letter (ABCD/NP)
CS 269O: Introduction to Optimization Theory (MS&E 213)
Introduction of core algorithmic techniques and proof strategies that underlie the best known provable guarantees for minimizing high dimensional convex functions. Focus on broad canonical optimization problems and survey results for efficiently solving them, ultimately providing the theoretical foundation for further study in optimization. In particular, focus will be on firstorder methods for both smooth and nonsmooth convex function minimization as well as methods for structured convex function minimization, discussing algorithms such as gradient descent, accelerated gradient descent, mirror descent, Newton's method, interior point methods, and more. Prerequisite: multivariable calculus and linear algebra.
Terms: Spr

Units: 3

Grading: Letter (ABCD/NP)
Instructors:
Sidford, A. (PI)
Filter Results: