CME 100:
Vector Calculus for Engineers (ENGR 154)
Computation and visualization using MATLAB. Differential vector calculus: analytic geometry in space, functions of several variables, partial derivatives, gradient, unconstrained maxima and minima, Lagrange multipliers. Introduction to linear algebra: matrix operations, systems of algebraic equations, methods of solution and applications. Integral vector calculus: multiple integrals in Cartesian, cylindrical, and spherical coordinates, line integrals, scalar potential, surface integrals, Green's, divergence, and Stokes' theorems. Examples and applications drawn from various engineering fields. Prerequisites: knowledge of singlevariable calculus equivalent to the content of Math 1921 (e.g., 5 on Calc BC, 4 on Calc BC with Math 21, 5 on Calc AB with Math21). Placement diagnostic (recommendation non binding) at:(https://exploredegrees.stanford.edu/undergraduatedegreesandprograms/#aptext).
Terms: Aut, Spr

Units: 5

UG Reqs: GER:DBMath, WAYFR

Grading: Letter or Credit/No Credit
CME 100A:
Vector Calculus for Engineers, ACE
Students attend CME100/ENGR154 lectures with additional recitation sessions; two to four hours per week, emphasizing engineering mathematical applications and collaboration methods. Enrollment by department permission only. Prerequisite: must be enrolled in the regular CME10001 or 02. Application at: https://engineering.stanford.edu/students/programs/engineeringdiversityprograms/additionalcalculusengineers
Terms: Aut, Spr

Units: 6

UG Reqs: GER:DBMath, WAYFR

Grading: Letter or Credit/No Credit
CME 102:
Ordinary Differential Equations for Engineers (ENGR 155A)
Analytical and numerical methods for solving ordinary differential equations arising in engineering applications: Solution of initial and boundary value problems, series solutions, Laplace transforms, and nonlinear equations; numerical methods for solving ordinary differential equations, accuracy of numerical methods, linear stability theory, finite differences. Introduction to MATLAB programming as a basic tool kit for computations. Problems from various engineering fields.Prerequisites: knowledge of singlevariable calculus equivalent to the content of Math 1921 (e.g., 5 on Calc BC, 4 on Calc BC with Math 21, 5 on Calc AB with Math21). Placement diagnostic (recommendation non binding) at:(https://exploredegrees.stanford.edu/undergraduatedegreesandprograms/#aptext). Recommended: CME100.
Terms: Aut, Win, Spr, Sum

Units: 5

UG Reqs: GER:DBMath, WAYFR

Grading: Letter or Credit/No Credit
CME 102A:
Ordinary Differential Equations for Engineers, ACE
Students attend CME102/ENGR155A lectures with additional recitation sessions; two to four hours per week, emphasizing engineering mathematical applications and collaboration methods. Prerequisite: students must be enrolled in the regular section (CME102) prior to submitting application at:nhttps://engineering.stanford.edu/students/programs/engineeringdiversityprograms/additionalcalculusengineers
Terms: Aut, Win, Spr

Units: 6

UG Reqs: GER:DBMath, WAYFR

Grading: Letter or Credit/No Credit
CME 104:
Linear Algebra and Partial Differential Equations for Engineers (ENGR 155B)
Linear algebra: matrix operations, systems of algebraic equations, Gaussian elimination, undetermined and overdetermined systems, coupled systems of ordinary differential equations, eigensystem analysis, normal modes. Fourier series with applications, partial differential equations arising in science and engineering, analytical solutions of partial differential equations. Numerical methods for solution of partial differential equations: iterative techniques, stability and convergence, time advancement, implicit methods, von Neumann stability analysis. Examples and applications from various engineering fields. Prerequisite: CME 102/ENGR 155A.
Terms: Spr

Units: 5

UG Reqs: GER:DBMath, WAYFR

Grading: Letter or Credit/No Credit
CME 104A:
Linear Algebra and Partial Differential Equations for Engineers, ACE
Students attend CME104/ENGR155B lectures with additional recitation sessions; two to four hours per week, emphasizing engineering mathematical applications and collaboration methods. Prerequisite: students must be enrolled in the regular section (CME104) prior to submitting application at: https://engineering.stanford.edu/students/programs/engineeringdiversityprograms/additionalcalculusengineers
Terms: Spr

Units: 6

UG Reqs: GER:DBMath, WAYFR

Grading: Letter or Credit/No Credit
CME 193:
Introduction to Scientific Python
This short course runs for the first four weeks of the quarter. It is recommended for students who are familiar with programming at least at the level of CS106A and want to translate their programming knowledge to Python with the goal of becoming proficient in the scientific computing and data science stack. Lectures will be interactive with a focus on real world applications of scientific computing. Technologies covered include Numpy, SciPy, Pandas, Scikitlearn, and others. Topics will be chosen from Linear Algebra, Optimization, Machine Learning, and Data Science. Prior knowledge of programming will be assumed, and some familiarity with Python is helpful, but not mandatory.
Terms: Aut, Win, Spr

Units: 1

Grading: Satisfactory/No Credit
CME 195:
Introduction to R (STATS 195)
This short course runs for four weeks and is offered in fall and spring. It is recommended for students who want to use R in statistics, science or engineering courses, and for students who want to learn the basics of data science with R. The goal of the short course is to familiarize students with some of the most important R tools for data analysis. Lectures will focus on learning by example and assignments will be applicationdriven. No prior programming experience is assumed.
Terms: Aut, Spr

Units: 1

Grading: Satisfactory/No Credit
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, RungeKutta and predictorcorrector 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: Spr

Units: 3

Grading: Letter or Credit/No Credit
CME 240:
Statistical and Machine Learning Approaches to Problems in Investment Management (MS&E 445)
This course will approach a variety of problems in investment management, using statistical and machine learning tools to model forecasting problems in the evolution of security prices. Through a combination of lectures and projects, we will investigate pricing and risk models ranging from individual securities up through asset classes. Occasional guest lecturers will present problems they currently face in their day to day work. Prerequisites: Basic background in Probability (e.g.: CME 106) and Mathematical Finance (e.g.: MATH 238), and some facility programming in R and/or Python.
Terms: Spr

Units: 3

Grading: Letter or Credit/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: Spr

Units: 3

Grading: Letter or Credit/No Credit
CME 291:
Master's Research
Students require faculty sponsor. (Staff)
Terms: Aut, Win, Spr, Sum

Units: 16

Repeatable for credit

Grading: Letter or Credit/No Credit
Instructors: ;
Begenau, J. (PI);
Biondi, B. (PI);
Darve, E. (PI);
Gerritsen, M. (PI);
Gevaert, O. (PI);
Giesecke, K. (PI);
Glynn, P. (PI);
Goel, A. (PI);
Grundfest, J. (PI);
Iaccarino, G. (PI);
Lai, T. (PI);
Leskovec, J. (PI);
Marsden, A. (PI);
Osgood, B. (PI);
Papanicolaou, G. (PI);
Pelger, M. (PI);
Re, C. (PI);
Suckale, J. (PI);
Tchelepi, H. (PI);
Wong, W. (PI);
Wootters, M. (PI);
Ying, L. (PI)
CME 292:
Advanced MATLAB for Scientific Computing
Short course running first four weeks of the quarter (8 lectures) with interactive online lectures and application based assignment. Students will access the lectures and assignments on https://suclass.stanford.edu. Students will be introduced to advanced MATLAB features, syntaxes, and toolboxes not traditionally found in introductory courses. Material will be reinforced with inclass 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), objectoriented 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

Grading: Satisfactory/No Credit
CME 298:
Basic Probability and Stochastic Processes with Engineering Applications (MATH 158)
Calculus of random variables and their distributions with applications. Review of limit theorems of probability and their application to statistical estimation and basic Monte Carlo methods. Introduction to Markov chains, random walks, Brownian motion and basic stochastic differential equations with emphasis on applications from economics, physics and engineering, such as filtering and control. Prerequisites: exposure to basic probability.
Terms: Spr

Units: 3

Grading: Letter or Credit/No Credit
CME 300:
First Year Seminar Series
Required for firstyear ICME Ph.D. students; recommended for firstyear ICME M.S. students. Presentations about research at Stanford by faculty and researchers from Engineering, H&S, and organizations external to Stanford. May be repeated for credit.
Terms: Aut, Win, Spr

Units: 1

Repeatable for credit

Grading: Satisfactory/No Credit
CME 306:
Numerical Solution of Partial Differential Equations (MATH 226)
Hyperbolic partial differential equations: stability, convergence and qualitative properties; nonlinear hyperbolic equations and systems; combined solution methods from elliptic, parabolic, and hyperbolic problems. Examples include: Burger's equation, Euler equations for compressible flow, NavierStokes equations for incompressible flow. Prerequisites: MATH 220 or CME 302.
Terms: Spr

Units: 3

Grading: Letter or Credit/No Credit
CME 308:
Stochastic Methods in Engineering (MATH 228, MS&E 324)
The basic limit theorems of probability theory and their application to maximum likelihood estimation. Basic Monte Carlo methods and importance sampling. Markov chains and processes, random walks, basic ergodic theory and its application to parameter estimation. Discrete time stochastic control and Bayesian filtering. Diffusion approximations, Brownian motion and an introduction to stochastic differential equations. Examples and problems from various applied areas. Prerequisites: exposure to probability and background in analysis.
Terms: Spr

Units: 3

Grading: Letter or Credit/No Credit
CME 323:
Distributed Algorithms and Optimization
The emergence of clusters of commodity machines with parallel processing units has brought with it a slew of new algorithms and tools. Many fields such as Machine Learning and Optimization have adapted their algorithms to handle such clusters. Topics include distributed and parallel algorithms for: Optimization, Numerical Linear Algebra, Machine Learning, Graph analysis, Streaming algorithms, and other problems that are challenging to scale on a commodity cluster. The class will focus on analyzing parallel and distributed programs, with some implementation using Apache Spark and TensorFlow.
Terms: Spr

Units: 3

Grading: Letter or Credit/No Credit
CME 338:
LargeScale Numerical Optimization
The main algorithms and software for constrained optimization emphasizing the sparsematrix methods needed for their implementation. Iterative methods for linear equations and least squares. The simplex method. Basis factorization and updates. Interior methods. The reducedgradient method, augmented Lagrangian methods, and SQP methods. Prerequisites: Basic numerical linear algebra, including LU, QR, and SVD factorizations, and an interest in MATLAB, sparsematrix methods, and gradientbased algorithms for constrained optimization. Recommended: MS&E 310, 311, 312, 314, or 315; CME 108, 200, 302, 304, 334, or 335.
Terms: Spr

Units: 3

Grading: Letter (ABCD/NP)
CME 364B:
Convex Optimization II (EE 364B)
Continuation of 364A. Subgradient, cuttingplane, and ellipsoid methods. Decentralized convex optimization via primal and dual decomposition. Monotone operators and proximal methods; alternating direction method of multipliers. Exploiting problem structure in implementation. Convex relaxations of hard problems. Global optimization via branch and bound. Robust and stochastic optimization. Applications in areas such as control, circuit design, signal processing, and communications. Course requirements include project. Prerequisite: 364A.
Terms: Spr

Units: 3

Grading: Letter or Credit/No Credit
CME 390:
Curricular Practical Training
Educational opportunities in high technology research and development labs in applied mathematics. Qualified ICME students engage in internship work and integrate that work into their academic program. Students register during the quarter they are employed and complete a research report outlining their work activity, problems investigated, results, and followon projects they expect to perform. May be repeated three times for credit.
Terms: Aut, Win, Spr, Sum

Units: 1

Repeatable for credit

Grading: Satisfactory/No Credit
CME 399:
Special Research Topics in Computational and Mathematical Engineering
Graduatelevel research work not related to report, thesis, or dissertation. May be repeated for credit.
Terms: Aut, Win, Spr, Sum

Units: 115

Repeatable for credit

Grading: Letter or Credit/No Credit
Terms: Aut, Win, Spr, Sum

Units: 115

Repeatable for credit

Grading: Satisfactory/No Credit
Instructors: ;
Basu, S. (PI);
Bimpikis, K. (PI);
Biondi, B. (PI);
Blanchet Mancilla, J. (PI);
Bosagh Zadeh, R. (PI);
Boyd, S. (PI);
Bump, D. (PI);
Bustamante, C. (PI);
Candes, E. (PI);
Carlsson, G. (PI);
Chen, J. (PI);
Darve, E. (PI);
Dror, R. (PI);
Farhat, C. (PI);
Gerritsen, M. (PI);
Giesecke, K. (PI);
Guibas, L. (PI);
Hastie, T. (PI);
Holmes, S. (PI);
Iaccarino, G. (PI);
Iancu, D. (PI);
James, D. (PI);
Johari, R. (PI);
Kahn, S. (PI);
Khatri, P. (PI);
Lai, T. (PI);
Lobell, D. (PI);
Marsden, A. (PI);
Montanari, A. (PI);
Owen, A. (PI);
Papanicolaou, G. (PI);
Re, C. (PI);
Ryzhik, L. (PI);
Saban, D. (PI);
Saberi, A. (PI);
Sidford, A. (PI);
Suckale, J. (PI);
Wein, L. (PI);
Wong, W. (PI);
Xing, L. (PI);
Ye, Y. (PI);
Ying, L. (PI)
CME 444:
Computational Consulting
Advice by graduate students under supervision of ICME faculty. Weekly briefings with faculty adviser and associated faculty to discuss ongoing consultancy projects and evaluate solutions. May be repeated for credit.
Terms: Spr

Units: 13

Repeatable for credit

Grading: Satisfactory/No Credit
CME 500:
Departmental Seminar
The seminars will be given by researcher and practitioners in computational mathematics on diverse topics ranging from optimization to linear algebra, to numerical methods, to statistical learning.The lectures will blend technical discussions on recent research innovations with discussions of trends and opportunities in industry.
Terms: Aut, Win, Spr

Units: 1

Repeatable for credit

Grading: Satisfactory/No Credit
CME 510:
Linear Algebra and Optimization Seminar
Recent developments in numerical linear algebra and numerical optimization. Guest speakers from other institutions and local industry. Goal is to bring together scientists from different theoretical and application fields to solve complex scientific computing problems. May be repeated for credit.
Terms: Aut, Win, Spr

Units: 1

Repeatable for credit

Grading: Satisfactory/No Credit
Terms: Aut, Win, Spr, Sum

Units: 0

Repeatable for credit

Grading: TGR
CME 802:
TGR Dissertation
Terms: Aut, Win, Spr, Sum

Units: 0

Repeatable for credit

Grading: TGR
Instructors: ;
Biondi, B. (PI);
Boyd, S. (PI);
Bustamante, C. (PI);
Candes, E. (PI);
Carlsson, G. (PI);
Darve, E. (PI);
Farhat, C. (PI);
Gerritsen, M. (PI);
Giesecke, K. (PI);
Guibas, L. (PI);
Holmes, S. (PI);
Iaccarino, G. (PI);
Johari, R. (PI);
Lai, T. (PI);
Marsden, A. (PI);
Moin, P. (PI);
Montanari, A. (PI);
Papanicolaou, G. (PI);
Rajagopal, R. (PI);
Re, C. (PI);
Reed, E. (PI);
Saberi, A. (PI);
Saunders, M. (PI);
Suckale, J. (PI);
Tibshirani, R. (PI);
Wong, W. (PI);
Ye, Y. (PI);
Ying, L. (PI)