## 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 multi-GPU environments. Several practical examples will be detailed, including deep learning. Pre-requiste: knowledge of C/C++ at the level of CME211 or
CS106b.

Terms: Aut, Win
| Units: 1

## 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 object-oriented 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: Aut
| Units: 1

Instructors:
Nelson, B. (PI)

## 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: least-squares approximations of over-determined equations, and least-norm solutions of underdetermined equations. Symmetric matrices, matrix norm, and singular-value decomposition. Eigenvalues, left and right eigenvectors, with dynamical interpretation. Matrix exponential, stability, and asymptotic behavior. Multi-input/multi-output systems, impulse and step matrices; convolution and transfer-matrix descriptions. Control, reachability, and state transfer; observability and least-squares state estimation. Prerequisites: linear algebra and matrices as in
MATH104; differential equations and Laplace transforms as in
EE102B.

Terms: Aut, Sum
| Units: 3

## CME 279: Computational Biology: Structure and Organization of Biomolecules and Cells (BIOE 279, BIOMEDIN 279, BIOPHYS 279, CS 279)

Computational approaches to understanding the three-dimensional spatial organization of biological systems and how that organization evolves over time. The course will cover cutting-edge research in both physics-based simulations and computational analysis of experimental data, at scales ranging from individual molecules to multiple cells. Prerequisites: elementary programming background (106A or equivalent) and an introductory course in biology or biochemistry.

Terms: Aut
| Units: 3

Instructors:
Dror, R. (PI)
;
Jung, Q. (TA)

## CME 291: Master's Research

Students require faculty sponsor. (Staff)

Terms: Aut, Win, Spr, Sum
| Units: 1-6
| Repeatable for credit

Instructors:
Aiken, A. (PI)
;
Alonso, J. (PI)
;
Bambos, N. (PI)
;
Biondi, B. (PI)
;
Boneh, D. (PI)
;
Bosagh Zadeh, R. (PI)
;
Boyd, S. (PI)
;
Butte, A. (PI)
;
Candes, E. (PI)
;
Carlsson, G. (PI)
;
Constantinou, C. (PI)
;
Darve, E. (PI)
;
Davis, R. (PI)
;
Diaconis, P. (PI)
;
Donoho, D. (PI)
;
Farhat, C. (PI)
;
Fedkiw, R. (PI)
;
Feinstein, J. (PI)
;
Fringer, O. (PI)
;
Fruchter, R. (PI)
;
Gerritsen, M. (PI)
;
Giesecke, K. (PI)
;
Glynn, P. (PI)
;
Goel, A. (PI)
;
Guibas, L. (PI)
;
Hanrahan, P. (PI)
;
Harris, J. (PI)
;
Jain, K. (PI)
;
Jameson, A. (PI)
;
Johari, R. (PI)
;
Kahn, S. (PI)
;
Kamvar, S. (PI)
;
Khayms, V. (PI)
;
Koltun, V. (PI)
;
Langley, P. (PI)
;
Lele, S. (PI)
;
Leskovec, J. (PI)
;
Levinson, D. (PI)
;
Lew, A. (PI)
;
Liu, T. (PI)
;
Manning, C. (PI)
;
McFarland, D. (PI)
;
Mignot, E. (PI)
;
Moin, P. (PI)
;
Murray, W. (PI)
;
Napel, S. (PI)
;
Ng, A. (PI)
;
Papanicolaou, G. (PI)
;
Pelger, M. (PI)
;
Rajaratnam, B. (PI)
;
Re, C. (PI)
;
Reed, E. (PI)
;
Saberi, A. (PI)
;
Saunders, M. (PI)
;
Shaqfeh, E. (PI)
;
Suckale, J. (PI)
;
Taylor, C. (PI)
;
Wall, D. (PI)
;
Wara, M. (PI)
;
Wechsler, R. (PI)
;
Wong, W. (PI)
;
Ye, Y. (PI)
;
Zenios, S. (PI)

## CME 292: Advanced MATLAB for Scientific Computing

Short course running first four weeks of the quarter (8 lectures) with interactive lectures and application based assignment. Students will be introduced to advanced MATLAB features, syntaxes, and toolboxes not traditionally found in introductory courses. Material will be reinforced with in-class examples, demos, and homework assignment involving topics from scientific computing. MATLAB topics will be drawn from: advanced graphics (2D/3D plotting, graphics handles, publication quality graphics, animation), MATLAB tools (debugger, profiler), code optimization (vectorization, memory management), object-oriented programming, compiled MATLAB (MEX files and MATLAB coder), interfacing with external programs, toolboxes (optimization, parallel computing, symbolic math, PDEs). Scientific computing topics will include: numerical linear algebra, numerical optimization, ODEs, and PDEs.

Terms: Aut, Spr
| Units: 1

## CME 303: Partial Differential Equations of Applied Mathematics (MATH 220)

First-order partial differential equations; method of characteristics; weak solutions; elliptic, parabolic, and hyperbolic equations; Fourier transform; Fourier series; and eigenvalue problems. Prerequisite: foundation in multivariable calculus and ordinary differential equations.

Terms: Aut
| Units: 3

Instructors:
Vasy, A. (PI)
;
Sing Long Collao, C. (TA)

## CME 309: Randomized Algorithms and Probabilistic Analysis (CS 265)

Randomness pervades the natural processes around us, from the formation of networks, to genetic recombination, to quantum physics. Randomness is also a powerful tool that can be leveraged to create algorithms and data structures which, in many cases, are more efficient and simpler than their deterministic counterparts. This course covers the key tools of probabilistic analysis, and application of these tools to understand the behaviors of random processes and algorithms. Emphasis is on theoretical foundations, though we will apply this theory broadly, discussing applications in machine learning and data analysis, networking, and systems. Topics include tail bounds, the probabilistic method, Markov chains, and martingales, with applications to analyzing random graphs, metric embeddings, random walks, and a host of powerful and elegant randomized algorithms. Prerequisites:
CS 161 and STAT 116, or equivalents and instructor consent.

Terms: Aut
| Units: 3

Filter Results: