Print Settings
 

CME 100: Vector Calculus for Engineers (ENGR 154)

Computation and visualization using MATLAB. Differential vector calculus: vector-valued functions, analytic geometry in space, functions of several variables, partial derivatives, gradient, linearization, unconstrained maxima and minima, Lagrange multipliers and applications to trajectory simulation, least squares, and numerical optimization. Introduction to linear algebra: matrix operations, systems of algebraic equations with applications to coordinate transformations and equilibrium problems. Integral vector calculus: multiple integrals in Cartesian, cylindrical, and spherical coordinates, line integrals, scalar potential, surface integrals, Green's, divergence, and Stokes' theorems. Numerous examples and applications drawn from classical mechanics, fluid dynamics and electromagnetism. Prerequisites: knowledge of single-variable calculus equivalent to the content of Math 19-21 (e.g., 5 on Calc BC, 4 on Calc BC with Math 21, 5 on Calc AB with Math 21). Placement diagnostic (recommendation non-binding) at: https://exploredegrees.stanford.edu/undergraduatedegreesandprograms/#aptext.
Terms: Aut, Spr | Units: 5 | UG Reqs: GER:DB-Math, WAY-FR

CME 100ACE: 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 concurrently enrolled in CME100-01 or 02. Application at: https://engineering.stanford.edu/students/programs/engineering-diversity-programs/additional-calculus-engineers
Terms: Aut, Spr | Units: 1

CME 104: Linear Algebra and Partial Differential Equations for Engineers (ENGR 155B)

Linear algebra: systems of algebraic equations, Gaussian elimination, undetermined and overdetermined systems, coupled systems of ordinary differential equations, LU factorization, eigensystem analysis, normal modes. Linear independence, vector spaces, subspaces and basis. Numerical analysis applied to structural equilibrium problems, electrical networks, and dynamic systems. Fourier series with applications, partial differential equations arising in science and engineering, analytical solutions of partial differential equations. Applications in heat and mass transport, mechanical vibration and acoustic waves, transmission lines, and fluid mechanics. Numerical methods for solution of partial differential equations: iterative techniques, stability and convergence, time advancement, implicit methods, von Neumann stability analysis. Examples and applications drawn from a variety of engineering fields. Prerequisite: CME102/ENGR155A.
Terms: Spr | Units: 5 | UG Reqs: GER:DB-Math, WAY-FR

CME 107: Introduction to Machine Learning (EE 104)

Introduction to machine learning. Formulation of supervised and unsupervised learning problems. Regression and classification. Data standardization and feature engineering. Loss function selection and its effect on learning. Regularization and its role in controlling complexity. Validation and overfitting. Robustness to outliers. Simple numerical implementation. Experiments on data from a wide variety of engineering and other disciplines. Undergraduate students should enroll for 5 units, and graduate students should enroll for 3 units. Prerequisites: ENGR 108; EE 178 or CS 109; CS106A or equivalent.
Terms: Spr | Units: 3-5

CME 192: Introduction to MATLAB

This short course runs for the first four weeks/eight lectures of the quarter and is offered each quarter during the academic year. It is highly recommended for students with no prior programming experience who are expected to use MATLAB in math, science, or engineering courses. It will consist of interactive lectures and application-based assignments. The goal of the short course is to make students fluent in MATLAB and to provide familiarity with its wide array of features. The course covers an introduction of basic programming concepts, data structures, and control/flow; and an introduction to scientific computing in MATLAB, scripts, functions, visualization, simulation, efficient algorithm implementation, toolboxes, and more.
Terms: Aut, Win, Spr | Units: 1
Instructors: ; Wei, Z. (PI)

CME 193: Introduction to Scientific Python

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, Scikit-learn, 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

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: Spr | Units: 3

CME 213: Introduction to parallel computing using MPI, openMP, and CUDA (ME 339)

This class will give hands-on experience with programming multicore processors, graphics processing units (GPU), and parallel computers. The focus will be on the message passing interface (MPI, parallel clusters) and the compute unified device architecture (CUDA, GPU). Topics will include multithreaded programs, GPU computing, computer cluster programming, C++ threads, OpenMP, CUDA, and MPI. Pre-requisites include C++, templates, debugging, UNIX, makefile, numerical algorithms (differential equations, linear algebra).
Terms: Spr | Units: 3
Instructors: ; Darve, E. (PI)

CME 215: Machine Learning and the Physical Sciences (GEOPHYS 148, GEOPHYS 248)

This course provides a survey of the rapidly growing field of machine learning in the physical sciences. It covers various areas such as inverse problems, emulating physical processes, model discovery given data, and solution discovery given equations. It both introduces the background knowledge required to implement physics-informed deep learning and provides practical in-class coding exercises. Students have the opportunity to apply this emerging methodology to their own research interests across all fields of the physical sciences, including geophysics, climate, fluids, or other systems where the same technique applies. Students develop individual projects throughout the semester. Recommended Prerequisite: Calculus (e.g. Math 21), Differential Equations (e.g. MATH 53 or PHYSICS 111) or equivalents.
Terms: Spr | Units: 3
Instructors: ; Lai, C. (PI)

CME 243: Risk Analytics and Management in Finance and Insurance (STATS 243)

Market risk and credit risk, credit markets. Back testing, stress testing and Monte Carlo methods. Logistic regression, generalized linear models and generalized mixed models. Loan prepayment and default as competing risks. Survival and hazard functions, correlated default intensities, frailty and contagion. Risk surveillance, early warning and adaptive control methodologies. Banking and bank regulation, asset and liability management. Prerequisite: STATS 240 or equivalent.
Terms: Spr | Units: 3

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: Spr | Units: 1
Instructors: ; Sun, C. (PI)

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

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. Linear and non-linear dimensionality reduction techniques. Graph representations of data and spectral methods. The rudiments of computational topology and persistent homology on sampled spaces, with applications. Global and local geometry descriptors allowing for various kinds of invariances. Alignment, matching, and map/correspondence computation between geometric data sets. Annotation tools for geometric data. Geometric deep learning on graphs and sets. Function spaces and functional maps. Networks of data sets and joint learning for segmentation and labeling. Prerequisites: discrete algorithms at the level of CS161; linear algebra at the level of Math51 or CME103.
Terms: Win, Spr | Units: 3
Instructors: ; Guibas, L. (PI); Weng, Y. (TA)

CME 262: Imaging with Incomplete Information (CEE 260G, GEOPHYS 260G)

Statistical and computational methods for inferring images from incomplete data. Bayesian inference methods are used to combine data and quantify uncertainty in the estimate. Fast linear algebra tools are used to solve problems with many pixels and many observations. Applications from several fields but mainly in earth sciences. Prerequisites: Linear algebra and probability theory.
Terms: Spr | Units: 3-4
Instructors: ; Kitanidis, P. (PI)

CME 294: Computational Symbolic Mathematics (SYMSYS 294)

Computational symbolic mathematics is a one-unit hands-on seminar course on the use of sophisticated computer algebra systems for addressing mathematical problems that are primarily or entirely symbolic (rather than numerical). Examples will come from the undergraduate curriculum including calculus, differential equations, linear algebra, probability and statistics, and symbolic logic. Students will program in Mathematica but the principles presented apply as well to Mathics, SymPy, Matlab's Symbolic math toolbox, and other systems. (No prior experience with symbol-manipulation programs is assumed.) Students will learn how to exploit special functionality of symbol-manipulating programs, such as Gr¿bner bases. Class lectures will be highly interactive, where both the instructor and students program. There will be weekly homework assignments and a final programming exam.
Terms: Spr | Units: 1
Instructors: ; Stork, D. (PI)

CME 298: Probability and Stochastic Differential Equations for 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 some applications in science and/or engineering. Prerequisites: Math 53 and introductory probability (such as Stats 116 or Math 151).
Terms: Spr | Units: 4
Instructors: ; Adhikari, A. (PI)

CME 300Q: ICME QUALIFYING EXAMS WORKSHOP

Prepares ICME students for the qualifying exams by reviewing relevant course topics and problem solving strategies. Senior ICME students share experiences and lead discussions revolving around ICME core courses.
Terms: Spr | Units: 1 | Repeatable 2 times (up to 2 units total)
Instructors: ; Chen, C. (PI); Darve, E. (TA)

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
Instructors: ; Glynn, P. (PI)

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. Recommended prerequisites: Discrete math at the level of CS 161 and programming at the level of CS 106A.
Terms: Spr | Units: 3
Instructors: ; Bosagh Zadeh, R. (PI)

CME 364B: Convex Optimization II (EE 364B)

Continuation of 364A. Subgradient, cutting-plane, 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

CME 369: Computational Methods in Fluid Mechanics (ME 469)

The last two decades have seen the widespread use of Computational Fluid Dynamics (CFD) for analysis and design of thermal-fluids systems in a wide variety of engineering fields. Numerical methods used in CFD have reached a high degree of sophistication and accuracy. The objective of this course is to introduce 'classical' approaches and algorithms used for the numerical simulations of incompressible flows. In addition, some of the more recent developments are described, in particular as they pertain to unstructured meshes and parallel computers. An in-depth analysis of the procedures required to certify numerical codes and results will conclude the course.
Terms: Spr | Units: 3

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 follow-on projects they expect to perform. May be repeated three times for credit.
Terms: Aut, Win, Spr, Sum | Units: 1 | Repeatable 3 times (up to 3 units total)

CME 391: Ph.D. Research Rotation

First and second year ICME PhD students enroll under faculty sponsor for research rotation units.
Terms: Aut, Win, Spr, Sum | Units: 1-6 | Repeatable 3 times (up to 9 units total)

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: 1-3 | Repeatable for credit

CME 500: Departmental Seminar

This seminar series explores the practical application of ICME coursework and research. Presenters are industry practitioners of computational and mathematical engineering, often ICME alumni or technical staff from affiliate organizations. May be repeated for credit.
Terms: Spr | Units: 1 | Repeatable 6 times (up to 6 units total)

CME 801: TGR Project

Terms: Aut, Win, Spr, Sum | Units: 0 | Repeatable for credit
© Stanford University | Terms of Use | Copyright Complaints