CME100
|
Vector Calculus for Engineers
|
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 mul...
|
CME100ACE
|
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: students sho...
|
CME102
|
Ordinary Differential Equations for Engineers
|
Analytical and numerical methods for solving ordinary differential equations arising in engineering applications are presented. For analytical methods students learn to solve linear and non-linear first order ODEs; linear second order ODEs; and Lapl...
|
CME102ACE
|
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 should submit application for enrollment at:...
|
CME104
|
Linear Algebra and Partial Differential Equations for Engineers
|
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 space...
|
CME104A
|
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 (CME...
|
CME106
|
Introduction to Probability and Statistics for Engineers
|
Probability: random variables, independence, and conditional probability; discrete and continuous distributions, moments, distributions of several random variables. Numerical simulation using Monte Carlo techniques. Topics in mathematical statistics:...
|
CME106ACE
|
Introduction to Probability and Statistics for Engineers, ACE
|
Students attend CME106/ENGR155C lectures with additional recitation sessions; two to four hours per week, emphasizing engineering mathematical applications and collaboration methods. Prerequisite: students should submit application for enrollment at:...
|
CME107
|
Introduction to Machine Learning
|
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 ro...
|
CME108
|
Introduction to Scientific Computing
|
Introduction to Scientific Computing Numerical computation for mathematical, computational, physical sciences and engineering: error analysis, floating-point arithmetic, nonlinear equations, numerical solution of systems of algebraic equations, bande...
|
CME111
|
The Art of Computer Modeling: Science and Data
|
The course presents problems that are amenable to computation and associated solution techniques. Students engage with the algorithms through high-quality, freely available software toward solving problems assigned in weekly projects. The techniques...
|
CME187
|
Mathematical Population Biology
|
Mathematical models in population biology, in biological areas including demography, ecology, epidemiology, evolution, and genetics. Mathematical approaches include techniques in areas such as combinatorics, differential equations, dynamical systems,...
|
CME192
|
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, sci...
|
CME193
|
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. Lect...
|
CME197
|
Human-Centered Design Methods in Data Science
|
In today's society, the most pressing data science problems we face exist in a complex sociotechnical ecosystem and cannot be solved using the numbers alone. In this five-week short course, students will learn how to apply human-centered design metho...
|
CME200
|
Linear Algebra with Application to Engineering Computations
|
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 equ...
|
CME204
|
Partial Differential Equations in Engineering
|
Geometric interpretation of partial differential equation (PDE) characteristics; solution of first order PDEs and classification of second-order PDEs; self-similarity; separation of variables as applied to parabolic, hyperbolic, and elliptic PDEs; sp...
|
CME206
|
Introduction to Numerical Methods for Engineering
|
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, Rung...
|
CME209
|
Mathematical Modeling of Biological Systems
|
The course covers mathematical and computational techniques needed to solve advanced problems encountered in applied bioengineering. Fundamental concepts are presented in the context of their application to biological and physiological problems inclu...
|
CME211
|
Software Development for Scientists and Engineers
|
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...
|
CME213
|
Introduction to parallel computing using MPI, openMP, and CUDA
|
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 archit...
|
CME214
|
Software Design in Modern Fortran for Scientists and Engineers
|
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 numeri...
|
CME216
|
Machine Learning for Computational Engineering.
|
Linear and kernel support vector machines, deep learning, deep neural networks, generative adversarial networks, physics-based machine learning, forward and reverse mode automatic differentiation, optimization algorithms for machine learning, TensorF...
|
CME217
|
Analytics Accelerator
|
This is a multidisciplinary graduate level course designed to give students hands-on experience working in teams through real-world project-based research and experiential classroom activities. Students work in dynamic teams with the support of cours...
|
CME217A
|
Analytics Accelerator Seminar
|
CME 217A introduces students to potential computational mathematics research projects at Stanford and with outside organizations. This seminar series is an introduction to winter quarter CME 217B, a multidisciplinary graduate level course designed to...
|
CME241
|
Foundations of Reinforcement Learning with Applications in Finance
|
This course is taught in 3 modules - (1) Markov Processes and Planning Algorithms, including Approximate Dynamic Programming (3 weeks), (2) Financial Trading problems cast as Stochastic Control, from the fields of Portfolio Management, Derivatives Pr...
|
CME243
|
Risk Analytics and Management in Finance and Insurance
|
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 funct...
|
CME250
|
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/u...
|
CME250Q
|
Introduction to Quantum Computing and Quantum Algorithms
|
This course will cover the basic formalism of quantum states and quantum measurements, and introduce the circuit model of quantum computation. Basic results such as the Solovay-Kitaev theorem, no-cloning theorem, quantum entanglement and Bell's inequ...
|
CME251
|
Geometric and Topological Data Analysis
|
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. Gr...
|
CME257
|
Advanced Topics in Scientific Computing with Julia
|
This course will rapidly introduce students to the Julia programming language, with the goal of giving students the knowledge and experience necessary to navigate the language and package ecosystem while using Julia for their own scientific computing...
|
CME262
|
Imaging with Incomplete Information
|
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...
|
CME263
|
Introduction to Linear Dynamical Systems
|
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...
|
CME270
|
Advances in Computing with Uncertainties
|
If a politician, executive, or medical team were to use the results of your model for some critical decision, how well would you sleep at night? As computation plays an increasingly important role in our society, understanding the limitations of its...
|
CME279
|
Computational Biology: Structure and Organization of Biomolecules and Cells
|
Computational techniques for investigating and designing the three-dimensional structure and dynamics of biomolecules and cells. These computational methods play an increasingly important role in drug discovery, medicine, bioengineering, and molecul...
|
CME285
|
Computational Modeling in the Cardiovascular System
|
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, one-dimensional equations of blood fl...
|
CME291
|
Master's Research
|
Students require faculty sponsor. (Staff)
|
CME292
|
Advanced MATLAB for Scientific Computing
|
Short course running first four weeks of the quarter (8 lectures) with interactive lectures and a mini project. Students will be introduced to advanced MATLAB features, syntaxes, and toolboxes not traditionally found in introductory courses. Material...
|
CME294
|
Computational Symbolic Mathematics
|
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 fro...
|
CME298
|
Basic Probability and Stochastic Processes with Engineering Applications
|
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 motio...
|
CME300
|
First Year Seminar Series
|
Required for first-year ICME Ph.D. students; recommended for first-year 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.
|
CME300Q
|
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.
|
CME302
|
Numerical Linear Algebra
|
Solution of linear systems, accuracy, stability, LU, Cholesky, QR, least squares problems, singular value decomposition, eigenvalue computation, iterative methods, Krylov subspace, Lanczos and Arnoldi processes, conjugate gradient, GMRES, direct meth...
|
CME303
|
Partial Differential Equations of Applied Mathematics
|
First-order partial differential equations; method of characteristics; weak solutions; elliptic, parabolic, and hyperbolic equations; Fourier transform; Fourier series; and eigenvalue problems. Prerequisite: Basic coursework in multivariable calculus...
|
CME305
|
Discrete Mathematics and Algorithms
|
Introduction to theoretical foundations of discrete mathematics and algorithms. Emphasis on providing mathematical tools for combinatorial optimization, i.e. how to efficiently optimize over large finite sets and reason about the complexity of such p...
|
CME306
|
Numerical Solution of Partial Differential Equations
|
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...
|
CME307
|
Optimization
|
Applications, theories, and algorithms for finite-dimensional linear and nonlinear optimization problems with continuous variables. Elements of convex analysis, first- and second-order optimality conditions, sensitivity and duality. Algorithms for un...
|
CME308
|
Stochastic Methods in Engineering
|
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 paramete...
|
CME309
|
Randomized Algorithms and Probabilistic Analysis
|
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,...
|
CME322
|
Spectral Methods in Computational Physics
|
Data analysis, spectra and correlations, sampling theorem, nonperiodic data, and windowing; spectral methods for numerical solution of partial differential equations; accuracy and computational cost; fast Fourier transform, Galerkin, collocation, and...
|
CME323
|
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...
|
CME330
|
Applied Mathematics in the Chemical and Biological Sciences
|
Mathematical solution methods via applied problems including chemical reaction sequences, mass and heat transfer in chemical reactors, quantum mechanics, fluid mechanics of reacting systems, and chromatography. Topics include generalized vector space...
|
CME334
|
Optimization Algorithms
|
Fundamental theory for solving continuous optimization problems with provable efficiency guarantees. Coverage of both canonical optimization methods and techniques, e.g. gradient descent, mirror descent, stochastic methods, acceleration, higher-order...
|
CME345
|
Model Reduction
|
Model reduction is an indispensable tool for computational-based design and optimization, statistical analysis, embedded computing, and real-time optimal control. It is also essential for scenarios where real-time simulation responses are desired. Th...
|
CME350Q
|
The ABCs of TQC: An introduction to the mathematics of Topological Quantum Computing
|
Computation is a mechanical process. Computers process information by manipulating physical systems encoding bits, and quantum computers manipulate encodings in quantum mechanical systems. This process is extremely delicate and error-prone, so we mus...
|
CME364A
|
Convex Optimization I
|
Convex sets, functions, and optimization problems. The basics of convex analysis and theory of convex programming: optimality conditions, duality theory, theorems of alternative, and applications. Least-squares, linear and quadratic programs, semidef...
|
CME364B
|
Convex Optimization II
|
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 st...
|
CME369
|
Computational Methods in Fluid Mechanics
|
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 sophisticat...
|
CME371
|
Computational Biology in Four Dimensions
|
Cutting-edge research on computational techniques for investigating and designing the three-dimensional structure and dynamics of biomolecules, cells, and everything in between. These techniques, which draw on approaches ranging from physics-based s...
|
CME372
|
Applied Fourier Analysis and Elements of Modern Signal Processing
|
Introduction to the mathematics of the Fourier transform and how it arises in a number of imaging problems. Mathematical topics include the Fourier transform, the Plancherel theorem, Fourier series, the Shannon sampling theorem, the discrete Fourier...
|
CME390
|
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 em...
|
CME391
|
Ph.D. Research Rotation
|
First and second year ICME PhD students enroll under faculty sponsor for research rotation units.
|
CME399
|
Special Research Topics in Computational and Mathematical Engineering
|
Graduate-level research work not related to report, thesis, or dissertation. May be repeated for credit.
|
CME400
|
Ph.D. Research
|
No Description Set
|
CME444
|
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.
|
CME500
|
Departmental Seminar
|
This seminar series in winter quarter will explore how ICME coursework and research is applied in various organizations around the world. It will feature speakers from ICME affiliate companies and ICME alumni giving technical talks on their use of co...
|
CME510
|
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...
|
CME801
|
TGR Project
|
No Description Set
|
CME802
|
TGR Dissertation
|
No Description Set
|
CME99
|
WiDS Datathon Independent Study
|
This independent study offers students the opportunity to participate in the WiDS Datathon for 1-unit of credit. The WiDS Datathon is an annual and global event that encourages data scientists of all levels to discover and hone their data science ski...
|