CME 250: Introduction to Machine Learning
A Short course presenting the principles behind when, why, and how to apply modern machine learning algorithms. We will discuss a framework for reasoning about when to apply various machine learning techniques, emphasizing questions of overfitting/underfitting, regularization, interpretability, supervised/unsupervised methods, and handling of missing data. The principles behind various algorithmsthe why and how of using themwill be discussed, while some mathematical detail underlying the algorithmsincluding proofswill not be discussed. Unsupervised machine learning algorithms presented will include kmeans clustering, principal component analysis (PCA), and independent component analysis (ICA). Supervised machine learning algorithms presented will include support vector machines (SVM), classification and regression trees (CART), boosting, bagging, and random forests. Imputation, the lasso, and crossvalidation concepts will also be covered. The R programming language will be used for examples, though students need not have prior exposure to R. Prerequisite: undergraduatelevel linear algebra and statistics; basic programming experience (R/Matlab/Python).
Terms: Aut

Units: 1

Grading: Satisfactory/No Credit
Instructors:
Maher, G. (PI)
CME 250A: Machine Learning on Big Data
A short course presenting the application of machine learning methods to large datasets.Topics include: brief review of the common issues of machine learning, such as, memorizing/overfitting vs learning, test/train splits, feature engineering, domain knowledge, fast/simple/dumb learners vs slow/complex/smart learners; moving your model from your laptop into a production environment using Python (scikit) or R on small data (laptop sized) at first; building math clusters using the open source H2O product to tackle Big Data, and finally to some model building on terabyte sized datasets. Prereqresites: basic knowledge of statistics, matrix algebra, and unixlike operating systems; basic file and text manipulation skills with unix tools: pipes, cut, paste, grep, awk, sed, sort, zip; programming skill at the level of CME211 or
CS106A.
Terms: offered occasionally

Units: 1

Grading: Satisfactory/No Credit
CME 251: Geometric and Topological Data Analysis (CS 233)
Mathematical 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 geometric data analysis. Nonlinear dimensionality reduction. 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. The emergence of abstractions or concepts from data. Prerequisites: discrete algorithms at the level of 161; linear algebra at the level of
CME103.
Terms: not given this year

Units: 3

Grading: Letter or Credit/No Credit
CME 252: Introduction to Optimization
This course introduces mathematical optimization and modeling, with a focus on convex optimization. Topics include: varieties of mathematical optimization, convexity of functions and sets, convex optimization modeling with CVXPY, gradient descent and basic distributed optimization, indepth examples from machine learning, statistics and other fields and applications of biconvexity and nonconvex gradient descent.nRecommended prerequisite: familiarity with linear algebra, differential multivariable calculus, and basic probability and statistics. Experience with Python will be helpful, but not required.
Terms: alternate years, given next year

Units: 1

Grading: Satisfactory/No Credit
CME 252A: Applications of Optimization in Telecom Networks
Introduction to traffic planning and engineering on the Internet. Overview of Internet architecture; applications of linear and nonlinear optimization to traffic matrix estimation; capacity planning and routing optimization and experimentation with algorithms in Julia. Requirements: some optimization and technical computing experience would help, but open to anyone interested in the topic talk to instructor if unsure.
Terms: Win

Units: 1

Grading: Satisfactory/No Credit
Instructors:
Gous, A. (PI)
CME 253: Introduction to GPU Computing and CUDA
Covers the fundamentals of accelerating applications with GPUs (Graphics Processing Units); GPU programming with CUDA and OpenACC, debugging, thrust/CUB, profiling, optimization, debugging, and other CUDA tools. Libraries to easily accelerate compute code will be presented and deployment on larger systems will be addressed, including multiGPU environments. Several practical examples will be detailed, including deep learning. Prerequiste: knowledge of C/C++ at the level of CME211 or
CS106b.
Terms: Win

Units: 1

Grading: Satisfactory/No Credit
Instructors:
Bernauer, J. (PI)
CME 257: Advanced Topics in Scientific Computing with Julia
This short course runs from the 2nd to the 5th week of the quarter. This course will rapidly introduce students to the new Julia language, with the goal of giving students the knowledge and experience necessary to begin contributing to the language and package ecosystem while using Julia for their own scientific computing needs. The course will begin with learning the basics of Julia with an emphasis on its objectoriented features, and then introduce students to Github and package development. Additional topics include: common packages, interfacing with C shared object libraries, and Julia's core linear algebra implementation. Lectures will be interactive, with an emphasis on collaboration and learning by example. Prerequisites: Data structures at the level of
CS106B, experience with one or more scientific computing languages (e.g. Python, Matlab, or R), and some familiarity with C/C++ and the Unix shell. No prior experience with Julia or Github is required.
Terms: alternate years, given next year

Units: 1

Grading: Satisfactory/No Credit
CME 263: Introduction to Linear Dynamical Systems (EE 263)
Applied linear algebra and linear dynamical systems with applications to circuits, signal processing, communications, and control systems. Topics: leastsquares approximations of overdetermined equations, and leastnorm solutions of underdetermined equations. Symmetric matrices, matrix norm, and singularvalue decomposition. Eigenvalues, left and right eigenvectors, with dynamical interpretation. Matrix exponential, stability, and asymptotic behavior. Multiinput/multioutput systems, impulse and step matrices; convolution and transfermatrix descriptions. Control, reachability, and state transfer; observability and leastsquares state estimation. Prerequisites: linear algebra and matrices as in
MATH104; differential equations and Laplace transforms as in
EE102B.
Terms: Aut, Sum

Units: 3

Grading: Letter or Credit/No Credit
Instructors:
Nasiri Mahalati, R. (PI)
;
Shah, K. (PI)
;
Bartan, B. (TA)
...
more instructors for CME 263 »
Instructors:
Nasiri Mahalati, R. (PI)
;
Shah, K. (PI)
;
Bartan, B. (TA)
;
Hemmati, S. (TA)
;
Momeni, A. (TA)
;
Shah, K. (TA)
;
Sharafat, A. (TA)
;
Shen, L. (TA)
;
Zhou, Z. (TA)
CME 279: Computational Biology: Structure and Organization of Biomolecules and Cells (BIOE 279, BIOMEDIN 279, BIOPHYS 279, CS 279)
Computational techniques for investigating and designing the threedimensional structure and dynamics of biomolecules and cells. These computational methods play an increasingly important role in drug discovery, medicine, bioengineering, and molecular biology. Course topics include protein structure prediction, protein design, drug screening, molecular simulation, cellularlevel simulation, image analysis for microscopy, and methods for solving structures from crystallography and electron microscopy data. Prerequisites: elementary programming background (
CS 106A or equivalent) and an introductory course in biology or biochemistry.
Terms: Aut

Units: 3

Grading: Letter or Credit/No Credit
CME 285: Computational Modeling in the Cardiovascular System (BIOE 285, ME 285)
This course introduces computational modeling methods for cardiovascular blood flow and physiology. Topics in this course include analytical and computational methods for solutions of flow in deformable vessels, onedimensional equations of blood flow, cardiovascular anatomy, lumped parameter models, vascular trees, scaling laws, biomechanics of the circulatory system, and 3D patient specific modeling with finite elements; course will provide an overview of the diagnosis and treatment of adult and congenital cardiovascular diseases and review recent research in the literature in a journal club format. Students will use SimVascular software to do clinicallyoriented projects in patient specific blood flow simulations.
Terms: Win

Units: 3

Grading: Letter or Credit/No Credit
Instructors:
Marsden, A. (PI)
Filter Results: