## CS 209: Law, Order, & Algorithms (CSRE 230, MS&E 330, SOC 279)

Human decision making is increasingly being displaced by predictive algorithms. Judges sentence defendants based on statistical risk scores; regulators take enforcement actions based on predicted violations; advertisers target materials based on demographic attributes; and employers evaluate applicants and employees based on machine-learned models. One concern with the rise of such algorithmic decision making is that it may replicate or exacerbate human bias. This course surveys the legal and ethical principles for assessing the equity of algorithms, describes statistical techniques for designing fair systems, and considers how anti-discrimination law and the design of algorithms may need to evolve to account for machine bias. Concepts will be developed in part through guided in-class coding exercises. Admission is by consent of instructor and is limited to 20 students. To enroll in the class, please complete the course application by March 20, available at:
https://5harad.com/mse330/. Grading is based on response papers, class participation, and a final project. Prerequisite:
CS 106A or equivalent knowledge of coding.

Terms: Spr
| Units: 3

Instructors:
Goel, S. (PI)

## CS 210B: Software Project Experience with Corporate Partners

Continuation of
CS210A. 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 the 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 210A

Terms: Spr
| Units: 3-4

Instructors:
Borenstein, J. (PI)

## CS 221: Artificial Intelligence: Principles and Techniques

Artificial intelligence (AI) has had a huge impact in many areas, including medical diagnosis, speech recognition, robotics, web search, advertising, and scheduling. This course focuses on the foundational concepts that drive these applications. In short, AI is the mathematics of making good decisions given incomplete information (hence the need for probability) and limited computation (hence the need for algorithms). Specific topics include search, constraint satisfaction, game playing,n Markov decision processes, graphical models, machine learning, and logic. Prerequisites:
CS 103 or
CS 103B/X,
CS 106B or
CS 106X,
CS 109, and
CS 161 (algorithms, probability, and object-oriented programming in Python). We highly recommend comfort with these concepts before taking the course, as we will be building on them with little review.

Terms: Aut, Win, Spr
| Units: 3-4

Instructors:
Anari, N. (PI)
;
Finn, C. (PI)
;
Hashimoto, T. (PI)
;
Liang, P. (PI)
;
Sadigh, D. (PI)
;
Wu, J. (PI)
;
Hong, F. (TA)
;
Jones, E. (TA)
;
Kim, B. (TA)
;
Koh, P. (TA)
;
Kondrich, A. (TA)
;
Kuck, J. (TA)
;
Lam, G. (TA)
;
Lettiere, A. (TA)
;
Li, V. (TA)
;
Palsson, M. (TA)
;
Raghunathan, A. (TA)
;
Sawhney, A. (TA)
;
Soylu, D. (TA)
;
Wang, W. (TA)
;
Zhang, Y. (TA)

## CS 224U: Natural Language Understanding (LINGUIST 188, LINGUIST 288, SYMSYS 195U)

Project-oriented class focused on developing systems and algorithms for robust machine understanding of human language. Draws on theoretical concepts from linguistics, natural language processing, and machine learning. Topics include lexical semantics, distributed representations of meaning, relation extraction, semantic parsing, sentiment analysis, and dialogue agents, with special lectures on developing projects, presenting research results, and making connections with industry. Prerequisites: one of
LINGUIST 180/280,
CS 124,
CS 224N, or
CS 224S.

Terms: Spr
| Units: 3-4

Instructors:
MacCartney, B. (PI)
;
Potts, C. (PI)

## 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. Hands-on 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

Instructors:
Genesereth, M. (PI)

## CS 229: Machine Learning (STATS 229)

Topics: statistical pattern recognition, linear and non-linear regression, non-parametric methods, exponential family, GLMs, support vector machines, kernel methods, deep learning, model/feature selection, learning theory, ML advice, clustering, density estimation, EM, dimensionality reduction, ICA, PCA, reinforcement learning and adaptive control, Markov decision processes, approximate dynamic programming, and policy search. Prerequisites: knowledge of basic computer science principles and skills at a level sufficient to write a reasonably non-trivial computer program in Python/numpy, familiarity with probability theory to the equivalency of CS109 or
STATS116, and familiarity with multivariable calculus and linear algebra to the equivalency of
MATH51.

Terms: Aut, Spr, Sum
| Units: 3-4

Instructors:
Charikar, M. (PI)
;
Ma, T. (PI)
;
Ng, A. (PI)
;
Re, C. (PI)
;
Caron, P. (TA)
;
Ding, T. (TA)
;
Do, D. (TA)
;
Fuster, A. (TA)
;
Jain, S. (TA)
;
Kamalu, J. (TA)
;
Li, H. (TA)
;
Nie, X. (TA)
;
Shu, R. (TA)
;
Sun, A. (TA)
;
Waites, C. (TA)
;
Wolff, C. (TA)
;
Yuan, H. (TA)
;
Z. HaoChen, J. (TA)
;
Zhu, M. (TA)

## 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
| UG Reqs: WAY-AQR, WAY-FR

Instructors:
Katanforoosh, K. (PI)
;
Ng, A. (PI)
;
Chuang, J. (TA)
...
more instructors for CS 230 »

Instructors:
Katanforoosh, K. (PI)
;
Ng, A. (PI)
;
Chuang, J. (TA)
;
Datta, A. (TA)
;
Garg, D. (TA)
;
Kothari, T. (TA)
;
Li, J. (TA)
;
Mousavi, S. (TA)
;
Pal, A. (TA)
;
Zhou, S. (TA)

## CS 231N: Convolutional Neural Networks for Visual Recognition

Computer Vision has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving cars. Core to many of these applications are visual recognition tasks such as image classification and object detection. Recent developments in neural network approaches have greatly advanced the performance of these state-of-the-art visual recognition systems. This course is a deep dive into details of neural-network based deep learning methods for computer vision. During this course, students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cutting-edge research in computer vision. We will cover learning algorithms, neural network architectures, and practical engineering tricks for training and fine-tuning networks for visual recognition tasks. Prerequisites: Proficiency in Python; CS131 and CS229 or equivalents; MATH21 or equivalent, linear algebra.

Terms: Spr
| Units: 3-4

Instructors:
Li, F. (PI)

## CS 233: Geometric and Topological Data Analysis (CME 251)

Mathematical and computational tools for the analysis of data with geometric content, such images, videos, 3D scans, GPS traces -- as well as for other data embedded into geometric spaces. Global and local geometry descriptors allowing for various kinds of invariances. The rudiments of computational topology and persistent homology on sampled spaces. Clustering and other unsupervised techniques. Spectral methods for graph data. Linear and non-linear dimensionality reduction techniques. Alignment, matching, and map computation between geometric data sets. Function spaces and functional maps. Networks of data sets and joint analysis for segmentation and labeling. Deep learning on irregular geometric data. Prerequisites: discrete algorithms at the level of
CS161; linear algebra at the level of Math51 or
CME103.

Terms: Spr
| Units: 3

Instructors:
Guibas, L. (PI)

## CS 235: Computational Methods for Biomedical Image Analysis and Interpretation (BIOMEDIN 260, RAD 260)

The latest biological and medical imaging modalities and their applications in research and medicine. Focus is on computational analytic and interpretive approaches to optimize extraction and use of biological and clinical imaging data for diagnostic and therapeutic translational medical applications. Topics include major image databases, fundamental methods in image processing and quantitative extraction of image features, structured recording of image information including semantic features and ontologies, indexing, search and content-based image retrieval. Case studies include linking image data to genomic, phenotypic and clinical data, developing representations of image phenotypes for use in medical decision support and research applications and the role that biomedical imaging informatics plays in new questions in biomedical science. Includes a project. Enrollment for 3 units requires instructor consent. Prerequisites: programming ability at the level of
CS 106A, familiarity with statistics, basic biology. Knowledge of Matlab or Python highly recommended.

Terms: Spr
| Units: 3-4

Filter Results: