## CME 200: Linear Algebra with Application to Engineering Computations (ME 300A)

Computer based solution of systems of algebraic equations obtained from engineering problems and eigen-system analysis, Gaussian elimination, effect of round-off error, operation counts, banded matrices arising from discretization of differential equations, ill-conditioned matrices, matrix theory, least square solution of unsolvable systems, solution of non-linear algebraic equations, eigenvalues and eigenvectors, similar matrices, unitary and Hermitian matrices, positive definiteness, Cayley-Hamilton theory and function of a matrix and iterative methods. Prerequisite: familiarity with computer programming, and
MATH51.

Terms: Aut
| Units: 3

Instructors:
Iaccarino, G. (PI)
;
Ghili, S. (TA)
;
Maher, G. (TA)
...
more instructors for CME 200 »

Instructors:
Iaccarino, G. (PI)
;
Ghili, S. (TA)
;
Maher, G. (TA)
;
Nguyen, L. (TA)
;
Skochdopole, N. (TA)
;
Xu, P. (TA)

## CME 206: Introduction to Numerical Methods for Engineering (ME 300C)

Numerical methods from a user's point of view. Lagrange interpolation, splines. Integration: trapezoid, Romberg, Gauss, adaptive quadrature; numerical solution of ordinary differential equations: explicit and implicit methods, multistep methods, Runge-Kutta and predictor-corrector methods, boundary value problems, eigenvalue problems; systems of differential equations, stiffness. Emphasis is on analysis of numerical methods for accuracy, stability, and convergence. Introduction to numerical solutions of partial differential equations; Von Neumann stability analysis; alternating direction implicit methods and nonlinear equations. Prerequisites:
CME 200/
ME 300A,
CME 204/
ME 300B.

Terms: Aut, Spr
| Units: 3

## CME 207: Numerical Methods in Engineering and Applied Sciences (AA 214A, GEOPHYS 217)

Scientific computing and numerical analysis for physical sciences and engineering. Advanced version of CME206 that, apart from CME206 material, includes nonlinear PDEs, multidimensional interpolation and integration and an extended discussion of stability for initial boundary value problems. Recommended for students who have some prior numerical analysis experience. Topics include: 1D and multi-D interpolation, numerical integration in 1D and multi-D including adaptive quadrature, numerical solutions of ordinary differential equations (ODEs) including stability, numerical solutions of 1D and multi-D linear and nonlinear partial differential equations (PDEs) including concepts of stability and accuracy. Prerequisites: linear algebra, introductory numerical analysis (
CME 108 or equivalent).

Terms: Aut
| Units: 3

## CME 211: Software Development for Scientists and Engineers (EARTH 211)

Basic usage of the Python and C/C++ programming languages are introduced and used to solve representative computational problems from various science and engineering disciplines. Software design principles including time and space complexity analysis, data structures, object-oriented design, decomposition, encapsulation, and modularity are emphasized. Usage of campus wide Linux compute resources: login, file system navigation, editing files, compiling and linking, file transfer, etc. Versioning and revision control, software build utilities, and the LaTeX typesetting software are introduced and used to help complete programming assignments. Prerequisite: introductory programming course equivalent to
CS 106A or instructor consent.

Terms: Aut
| Units: 3

Instructors:
Henderson, N. (PI)
;
Bear Don't Walk, O. (TA)
;
Indra Ramaswamy, S. (TA)
...
more instructors for CME 211 »

Instructors:
Henderson, N. (PI)
;
Bear Don't Walk, O. (TA)
;
Indra Ramaswamy, S. (TA)
;
Janssen, L. (TA)
;
Nixon, E. (TA)
;
Romero, J. (TA)

## CME 214: Software Design in Modern Fortran for Scientists and Engineers (EARTH 214)

This course introduces software design and development in modern Fortran. Course covers the functional, object-oriented-, and parallel programming features introduced in the Fortran 95, 2003, and 2008 standards, respectively, in the context of numerical approximations to ordinary and partial differential equations; introduces object-oriented design and design schematics based on the Unified Modeling Language (UML) structure, behavior, and interaction diagrams; cover the basic use of several open-source tools for software building, testing, documentation generation, and revision control. Recommended: Familiarity with programming in Fortran 90, basic numerical analysis and linear algebra, or instructor approval

Terms: Aut
| Units: 3

## CME 242: Mathematical and Computational Finance Seminar (STATS 239)

Terms: Aut, Spr
| Units: 1
| Repeatable for credit

Instructors:
Jain, K. (PI)

## CME 244: Project Course in Mathematical and Computational Finance

For graduate students in the MCF track; students will work individually or in groups on research projects.

Terms: Aut, Win, Spr, Sum
| Units: 6

Instructors:
Jain, K. (PI)
;
Sheshadri, A. (TA)

## CME 245: Topics in Mathematical and Computational Finance

Current topics for enrolled students in the MCF program; can be repeated up to three times.

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

## 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 over-fitting/under-fitting, regularization, interpretability, supervised/unsupervised methods, and handling of missing data. The principles behind various algorithms--the why and how of using them--will be discussed, while some mathematical detail underlying the algorithms--including proofs--will not be discussed. Unsupervised machine learning algorithms presented will include k-means 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 cross-validation concepts will also be covered. The R programming language will be used for examples, though students need not have prior exposure to R. Prerequisite: undergraduate-level linear algebra and statistics; basic programming experience (R/Matlab/Python).

Terms: Aut, Win, Spr
| Units: 1

## 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, in-depth examples from machine learning, statistics and other fields and applications of bi-convexity and non-convex 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: Aut
| Units: 1

Instructors:
Friend, A. (PI)

Filter Results: