Print Settings
 

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. 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: MATH 41 and 42, or 10 units AP credit.
Terms: Aut, Spr | Units: 5 | UG Reqs: GER:DB-Math, WAY-FR

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: application at:http://soe.stanford.edu/current_students/edp/programs/ace.html
Terms: Aut, Spr | Units: 6 | UG Reqs: GER:DB-Math, WAY-FR

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. Prerequisite: CME 100/ENGR 154 or MATH 51.
Terms: Win, Spr, Sum | Units: 5 | UG Reqs: GER:DB-Math, WAY-FR
Instructors: ; Le, H. (PI); Moin, P. (PI)

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: application at:http://soe.stanford.edu/current_students/edp/programs/ace.html
Terms: Win, Spr | Units: 6 | UG Reqs: GER:DB-Math, WAY-FR
Instructors: ; Le, H. (PI); Moin, P. (PI)

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:DB-Math, WAY-FR
Instructors: ; Khayms, V. (PI)

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: application at:http://soe.stanford.edu/current_students/edp/programs/ace.html
Terms: Spr | Units: 6 | UG Reqs: GER:DB-Math, WAY-FR
Instructors: ; Khayms, V. (PI)

CME 106: Introduction to Probability and Statistics for Engineers (ENGR 155C)

Probability: random variables, independence, and conditional probability; discrete and continuous distributions, moments, distributions of several random variables. Topics in mathematical statistics: random sampling, point estimation, confidence intervals, hypothesis testing, non-parametric tests, regression and correlation analyses; applications in engineering, industrial manufacturing, medicine, biology, and other fields. Prerequisite: CME 100/ENGR154 or MATH 51.
Terms: Win, Sum | Units: 3-4 | UG Reqs: GER:DB-Math, WAY-AQR, WAY-FR
Instructors: ; Khayms, V. (PI)

CME 108: Introduction to Scientific Computing (MATH 114)

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, banded matrices, least squares, unconstrained optimization, polynomial interpolation, numerical differentiation and integration, numerical solution of ordinary differential equations, truncation error, numerical stability for time dependent problems and stiffness.nImplementation of numerical methods in MATLAB programming assignments.nPrerequisites: MATH 51, 52, 53; prior programming experience (MATLAB or other language at level of CS 106A or higher).
Terms: Win, Sum | Units: 3-4 | UG Reqs: GER:DB-EngrAppSci, WAY-AQR, WAY-FR

CME 181: Projects in Applied and Computational Mathematics

Teams of students use techniques in applied and computational mathematics to tackle problems of their choosing. Students will have the opportunity to pursue open-ended projects in a variety of areas: economics, physics, political science, operations research, etc. Projects can cover (but are not limited to!) topics such as mathematical modeling of real-world phenomena (population dynamics), data-driven applications (movie recommendations) or complex systems in engineering (optimal control). Each team will be paired with a graduate student mentor working in applied and computational mathematics. Limited enrollment. Prerequisites: CME 100/102/104 or equivalents, or instructor consent. Recommended: CME 106/108 and familiarity with programming at the level of CME 192/193.
Terms: Win | Units: 3
Instructors: ; Minion, M. (PI)

CME 192: Introduction to MATLAB

This short course runs for the first four weeks 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.nThe 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

CME 193: Introduction to Scientific Python

This short course runs for the first four weeks of the quarter and is offered each quarter during the academic year. It is recommended for students who want to use Python in math, science, or engineering courses and for students who want to learn the basics of Python programming. The goal of the short course is to familiarize students with Python¿s tools for scientific computing. Lectures will be interactive with a focus on learning by example, and assignments will be application-driven. No prior programming experience is needed.nTopics covered include control flow, basic data structures, File I/O, and an introduction to NumPy/SciPy.
Terms: Aut, Win, Spr | Units: 1

CME 194: Introduction to MPI

This short course runs for the first four weeks of the quarter. Recommended for students interested in writing parallel programs. Focus is on distributed memory programming via the Message Passing Interface (MPI). Topics include: parallel decomposition, basic communication primitives, collective operations, and debugging. Interactive lectures and homework assignments require writing software. Students should be comfortable and interested in writing software in C/C++ but no prior parallel programming experience is required.
| Units: 1
Instructors: ; Lewis, R. (PI)

CME 195: Introduction to R (STATS 195)

This short course runs for the first four weeks of the quarter and is offered in the fall. 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 R programming. The goal of the short course is to familiarize students with R's tools for scientific computing. Lectures will be interactive with a focus on learning by example, and assignments will be application-driven. No prior programming experience is needed. Topics covered include basic data structures, File I/O, graphs, control structures, etc, and some useful packages in R.
Terms: Aut | Units: 1
Instructors: ; Michael, H. (PI); Suo, X. (PI)

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: ; Gerritsen, M. (PI)

CME 204: Partial Differential Equations in Engineering (ME 300B)

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; special functions; eigenfunction expansions; the method of characteristics. If time permits, Fourier integrals and transforms, Laplace transforms. Prerequisite: CME 200/ME 300A, equivalent, or consent of instructor.
Terms: Win | Units: 3
Instructors: ; Lele, S. (PI)

CME 206: Introduction to Numerical Methods for Engineering (AA 214A, 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 211: Introduction to Programming for Scientists and Engineers (EARTHSCI 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 individual programming assignments and a final project. Prerequisite: Some previous experience with programming (does not need to be a formal course in programming).
Terms: Aut | Units: 3
Instructors: ; LeGresley, P. (PI)

CME 212: Advanced Programming for Scientists and Engineers (ENERGY 212)

Advanced topics in software programming, debugging, and performance optimization are covered. The capabilities and usage of common libraries and frameworks such as BLAS, LAPACK, FFT, PETSc, and MKL/ACML are reviewed. Computer representation of integer and floating point numbers, and interoperability between C/C++ and Fortran is described. More advanced software engineering topics including: representing data in files, application checkpoint/restart, signals, unit and regression testing, and build automation. The use of debugging tools including static analysis, gdb, and Valgrind are introduced. An introduction to computer architecture covering processors, memory hierarchy, storage, and networking provides a foundation for understanding software performance. Profiles generated using gprof and perf are used to help guide the performance optimization process. Computational problems from various science and engineering disciplines will be used in individual and group assignments. Prerequisites: CME 200/ME 300A and CME 211 or equivalent level of programming proficiency in Python and C/C++.
Terms: Win | Units: 3
Instructors: ; LeGresley, P. (PI)

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. Focus will be on the message passing interface (MPI, parallel clusters) and the compute unified device architecture (CUDA, GPU). Topics will include: network topologies, modeling communication times, collective communication operations, parallel efficiency, MPI, dense linear algebra using MPI. Symmetric multiprocessing (SMP), pthreads, openMP. CUDA, combining MPI and CUDA, dense linear algebra using CUDA, sort, reduce and scan using CUDA. Pre-requisites include: C programming language and numerical algorithms (solution of differential equations, linear algebra, Fourier transforms).
Terms: Spr | Units: 3
Instructors: ; Darve, E. (PI)

CME 213B: Parallel Computing Group Projects

Students in groups of up to four will discuss, devise and implement a cluster/GPU parallel application for a discipline of mutual interest. Instructors will help guide students to relevant literature and resources. Prerequisites: Current or previous enrollment in CME 213 or equivalent background.
| Units: 1

CME 214: Software Design in Modern Fortran for Scientists and Engineers (EARTHSCI 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
Instructors: ; Rouson, D. (PI)

CME 215A: Advanced Computational Fluid Dynamics (AA 215A)

High resolution schemes for capturing shock waves and contact discontinuities; upwinding and artificial diffusion; LED and TVD concepts; alternative flow splittings; numerical shock structure. Discretization of Euler and Navier Stokes equations on unstructured meshes; the relationship between finite volume and finite element methods. Time discretization; explicit and implicit schemes; acceleration of steady state calculations; residual averaging; math grid preconditioning. Automatic design; inverse problems and aerodynamic shape optimization via adjoint methods. Pre- or corequisite: 214B or equivalent.
Terms: Win | Units: 3
Instructors: ; Jameson, A. (PI)

CME 239B: Workshop in Quantitative Finance (STATS 239B)

Topics of current interest. May be repeated for credit.
Terms: Win, Spr | Units: 1 | Repeatable for credit
Instructors: ; Lai, T. (PI)

CME 243: Financial Models and Statistical Methods in Active Risk Management (STATS 243)

(SCPD students register for 243P.) 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: Win | Units: 3-4
Instructors: ; Lai, T. (PI)

CME 263: Introduction to Linear Dynamical Systems (EE 263)

Applied linear algebra and linear dynamical systems with application 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 MATH 103; differential equations and Laplace transforms as in EE 102A.
Terms: Aut | Units: 3
Instructors: ; Lall, S. (PI); Lemon, A. (GP)

CME 292: Advanced MATLAB for Scientific Computing

Short course running first four weeks of the quarter with interactive lectures and application based assignments. Will introduce commonly used functionalities in MATLAB for scientific computing, provide familiarity with basic concepts and operations in numerical analysis, numerical linear algebra, statistics, and optimization; using MATLAB for dense and sparse linear algebra, direct and iterative linear solver, numerical differentiation and integration, interpolation and curve-fitting, statistics, numerical optimization, Fourier analysis, ODE solver and PDE solver; advanced syntaxes and visualization techniques, parallel environment and interfacing MATLAB with other programming languages. Prerequisite: 192 or equivalent basic programming skills in MATLAB; recommended: basic knowledge of numerical analysis and numerical linear algebra
Terms: Aut, Spr | Units: 1

CME 300: Departmental 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.
Terms: Aut, Win | Units: 1 | Repeatable for credit
Instructors: ; Murray, W. (PI)

CME 302: Numerical Linear Algebra

First in a three quarter graduate sequence. Solution of systems of linear equations: direct methods, error analysis, structured matrices; iterative methods and least squares. Parallel techniques. Prerequisites: CME 108, MATH 103 or 113.
Terms: Aut | Units: 3
Instructors: ; Darve, E. (PI)

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: ; Ryzhik, L. (PI)

CME 304: Numerical Optimization (MS&E 315)

Solution of nonlinear equations; unconstrained optimization; linear programming; quadratic programming; global optimization; general linearly and nonlinearly constrained optimization. Theory and algorithms to solve these problems. Prerequisite: background in analysis and numerical linear algebra.
Terms: Win | Units: 3
Instructors: ; Murray, W. (PI)

CME 305: Discrete Mathematics and Algorithms (MS&E 316)

Topics: Basic Algebraic Graph Theory, Matroids and Minimum Spanning Trees, Submodularity and Maximum Flow, NP-Hardness, Approximation Algorithms, Randomized Algorithms, The Probabilistic Method, and Spectral Sparsification using Effective Resistances. Topics will be illustrated with applications from Distributed Computing, Machine Learning, and large-scale Optimization. Prerequisites: CS 261 is highly recommended, although not required.
Terms: Win | Units: 3
Instructors: ; Bosagh Zadeh, R. (PI)

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, Navier-Stokes equations for incompressible flow. Prerequisites: MATH 220A or CME 302.
Terms: Spr | Units: 3
Instructors: ; Ying, L. (PI)

CME 308: Stochastic Methods in Engineering (MATH 228)

Review of basic probability; Monte Carlo simulation; state space models and time series; parameter estimation, prediction, and filtering; Markov chains and processes; stochastic control; and stochastic differential equations. Examples from various engineering disciplines. Prerequisites: exposure to probability; background in real variables and analysis.
Terms: Spr | Units: 3
Instructors: ; Papanicolaou, G. (PI)

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

CME 321A: Mathematical Methods of Imaging (MATH 221A)

Image denoising and deblurring with optimization and partial differential equations methods. Imaging functionals based on total variation and l-1 minimization. Fast algorithms and their implementation.
Terms: Win | Units: 3
Instructors: ; Ryzhik, L. (PI)

CME 321B: Mathematical Methods of Imaging (MATH 221B)

Array imaging using Kirchhoff migration and beamforming, resolution theory for broad and narrow band array imaging in homogeneous media, topics in high-frequency, variable background imaging with velocity estimation, interferometric imaging methods, the role of noise and inhomogeneities, and variational problems that arise in optimizing the performance of array imaging algorithms.
Terms: Spr | Units: 3
Instructors: ; Papanicolaou, G. (PI)

CME 329: Top Ten Algorithms of the 20th Century (MATH 310)

A high-level survey course covering one algorithm per week: metropolis, simplex method, conjugate gradient, QR, quicksort, fast fourier transform, maxcut, fast multipole method, integer relation detection, and convex/semi-definite programming.
Terms: Aut | Units: 3

CME 330: Applied Mathematics in the Chemical and Biological Sciences (CHEMENG 300)

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 theory, linear operator theory with eigenvalue methods, phase plane methods, perturbation theory (regular and singular), solution of parabolic and elliptic partial differential equations, and transform methods (Laplace and Fourier). Prerequisites: CME 102/ENGR 155A and CME 104/ENGR 155B, or equivalents.
Terms: Aut | Units: 3
Instructors: ; Shaqfeh, E. (PI)

CME 334: Advanced Methods in Numerical Optimization (MS&E 312)

Topics include interior-point methods, relaxation methods for nonlinear discrete optimization, sequential quadratic programming methods, optimal control and decomposition methods. Topic chosen in first class; different topics for individuals or groups possible. Individual or team projects. May be repeated for credit.
Terms: Aut | Units: 3 | Repeatable for credit
Instructors: ; Murray, W. (PI)

CME 338: Large-Scale Numerical Optimization (MS&E 318)

The main algorithms and software for constrained optimization emphasizing the sparse-matrix methods needed for their implementation. Iterative methods for linear equations and least squares. The simplex method. Basis factorization and updates. Interior methods. The reduced-gradient method, augmented Lagrangian methods, and SQP methods. Prerequisites: Basic numerical linear algebra, including LU, QR, and SVD factorizations, and an interest in MATLAB, sparse-matrix methods, and gradient-based 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
Instructors: ; Saunders, M. (PI)

CME 342: Parallel Methods in Numerical Analysis

Emphasis is on techniques for obtaining maximum parallelism in numerical algorithms, especially those occurring when solving matrix problems, partial differential equations, and the subsequent mapping onto the computer. Implementation issues on parallel computers. Topics: parallel architecture, programming models (MPI, GPU Computing with CUDA ¿ quick review), matrix computations, FFT, fast multiple methods, domain decomposition, graph partitioning, discrete algorithms. Prerequisites: 302 or 200 (ME 300A), 213 or equivalent, or consent of instructor. Recommended: differential equations and knowledge of a high-level programming language such as C or C++ (F90/95 also allowable).
Terms: Spr | Units: 3
Instructors: ; Alonso, J. (PI)

CME 345: Model Reduction

Model reduction is an indispensable tool for computational-based design and optimization, statistical analysis, embedded computing, and real-time optimal control. This course presents the basic mathematical theory for projection-based model reduction. Topics include: notions of linear dynamical systems and projection; projection-based model reduction; error analysis; proper orthogonal decomposition; Hankel operator and balancing of a linear dynamical system; balanced truncation method: modal truncation and other reduction methods for linear oscillators; model reduction via moment matching methods based on Krylov subspaces; introduction to model reduction of parametric systems and notions of nonlinear model reduction. Course material is complemented by a balanced set of theoretical, algorithmic and Matlab computer programming assignments. Prerequisites: CME 200 or equivalent, CME 263 or equivalent and basic numerical methods for ODEs.
Terms: Spr | Units: 3

CME 362: An Introduction to Compressed Sensing (STATS 330)

Compressed sensing is a new data acquisition theory asserting that onenncan design nonadaptive sampling techniques that condense thenninformation in a compressible signal into a small amount of data.nnThis revelation may change the way engineers think about signalnnacquisition. Course covers fundamental theoretical ideas, numericalnnmethods in large-scale convex optimization, hardware implementations,nnconnections with statistical estimation in high dimensions, andnnextensions such as recovery of data matrices from few entries (famousnnNetflix Prize).
Terms: Aut | Units: 3
Instructors: ; Donoho, D. (PI)

CME 364A: Convex Optimization I (CS 334A, EE 364A)

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, semidefinite programming, and geometric programming. Numerical algorithms for smooth and equality constrained problems; interior-point methods for inequality constrained problems. Applications to signal processing, communications, control, analog and digital circuit design, computational geometry, statistics, machine learning, and mechanical engineering. Prerequisite: linear algebra such as EE263, basic probability.
Terms: Win, Sum | Units: 3
Instructors: ; Boyd, S. (PI); Ryu, E. (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 371: Computational Biology in Four Dimensions (CS 371)

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 simulation and computational analysis of experimental data, at scales ranging from individual molecules to entire cells. Prerequisite: CS 106A or equivalent, and an introductory course in biology or biochemistry. Recommended: some experience in mathematical modeling (does not need to be a formal course).
Terms: Spr | Units: 3
Instructors: ; Dror, R. (PI)

CME 372: Applied Fourier Analysis and Elements of Modern Signal Processing (MATH 262)

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 transform, and the spectral representation of stationary stochastic processes. Computational topics include fast Fourier transforms (FFT) and nonuniform FFTs. Applications include Fourier imaging (the theory of diffraction, computed tomography, and magnetic resonance imaging) and the theory of compressive sensing.
Terms: Win | Units: 3
Instructors: ; Candes, E. (PI)

CME 390: Curricular Practical Training

May be repeated three times for credit.
Terms: Aut, Win, Spr, Sum | Units: 1 | Repeatable 3 times (up to 3 units total)
Instructors: ; Murray, W. (PI)

CME 399: Special Research Topics in Computational and Mathematical Engineering

Graduate-level research work not related to report, thesis, or dissertation. May be repeated for credit.
Terms: Aut, Win, Spr, Sum | Units: 1-15 | Repeatable 6 times (up to 30 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: Aut, Win, Spr | Units: 1-3 | Repeatable for credit
Instructors: ; Gerritsen, M. (PI)

CME 500: Numerical Analysis and Computational and Mathematical Engineering Seminar

Weekly research lectures by experts from academia, national laboratories, industry, and doctoral students. May be repeated for credit.
Terms: Aut, Win, Spr | Units: 1 | Repeatable for 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
Instructors: ; Saunders, M. (PI)

CME 184: Startup Engineering

Spiritual sequel to Peter Thiel's CS 183 course on startups. A new course that bridges the gap between academic computer science and production software engineering. Fast-paced introduction to key tools and techniques (command line, dotfiles, text editor, distributed version control, debugging, testing, documentation, reading code, deployments), featuring guest appearances by senior engineers from successful startups and large-scale academic projects including Uber, Square, Stripe, AirBnB, Twilio, Taskrabbit, Judicata, Counsyl, Asana, Heroku, and Twitter. Over the course of the class, students will build a command line application, expose it as a web service, and then link other students' applications and services together to build an HTML5 mobile app. General principles are illustrated through modern Javascript and the latest web technologies, including Node, Backbone, Coffeescript, Bootstrap, Git, and Github. Prerequisites: Basic computer science as per CS 106B. Recommended: some familiarity with HTML, CSS, and Javascript.
| Units: 3

CME 215B: Advanced Computational Fluid Dynamics (AA 215B)

High resolution schemes for capturing shock waves and contact discontinuities; upwinding and artificial diffusion; LED and TVD concepts; alternative flow splittings; numerical shock structure. Discretization of Euler and Navier Stokes equations on unstructured meshes; the relationship between finite volume and finite element methods. Time discretization; explicit and implicit schemes; acceleration of steady state calculations; residual averaging; math grid preconditioning. Automatic design; inverse problems and aerodynamic shape optimization via adjoint methods. Pre- or corequisite: 214B or equivalent.
| Units: 3

CME 322: Spectral Methods in Computational Physics (ME 408)

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 Tau methods; spectral and pseudospectral methods based on Fourier series and eigenfunctions of singular Sturm-Liouville problems; Chebyshev, Legendre, and Laguerre representations; convergence of eigenfunction expansions; discontinuities and Gibbs phenomenon; aliasing errors and control; efficient implementation of spectral methods; spectral methods for complicated domains; time differencing and numerical stability.
| Units: 3

CME 325: Numerical Approximations of Partial Differential Equations in Theory and Practice

Finite volume and finite difference methods for initial boundary value problems in multiple space dimensions. Emphasis is on formulation of boundary conditions for the continuous and the discrete problems. Analysis of numerical methods with respect to stability, accuracy, and error behavior. Techniques of treating non-rectangular domains, and effects of non-regular grids.
| Units: 1-2

CME 326: Numerical Methods for Initial Boundary Value Problems

Initial boundary value problems model many phenomena in engineering and science such as, fluid flow problems, wave propagation, fluid-structure interaction, conjugate heat transfer and financial mathematics. We discuss numerical techniques for such simulations and focus on the underlying principles and theoretical understanding. Emphasis is on stability, convergence and efficiency for methods applied to hyperbolic and parabolic initial boundary value problems.
| Units: 3

CME 327: Numerical Methods for Stiff Problems

Focus is on analysis of numerical techniques for stiff ordinary differential equations, including those resulting from spatial discretization of partial differential equations. Topics include stiffness, convergence, stability, adaptive time stepping, implicit time-stepping methods (SDIRK, Rosenbrock), linear and nonlinear system solvers (Fixed Point, Newton, Multigrid, Krylov subspace methods) and preconditioning. Pre-requisites: CME200/ME300A or equivalent; or consent of instructor.
| Units: 3

CME 328: Advanced Topics in Partial Differential Equations

Contents change each time and is taught as a topics course, most likely by a faculty member visiting from another institution. May be repeated for credit. Topic in 2012-13: numerical solution of time-dependent partial differential equations is a fundamental tool for modeling and prediction in many areas of science and engineering. In this course we explore the stability, accuracy, efficiency, and appropriateness of specialized temporal integration strategies for different classes of partial differential equations including stiff problems and fully implicit methods, operator splitting and semi-implicit methods, extrapolation methods, multirate time integration, multi-physics problems, symplectic integration, and temporal parallelism. Prerequisites: recommended CME303 and 306 or with instructor's consent.
| Units: 3

CME 335: Advanced Topics in Numerical Linear Algebra

Possible topics: Solution techniques for problems involving unsymmetric and symmetric indefinite matrices, including approximation of quadratic and bilinear forms, iterative methods for systems of equations, and eigenvalue problems. Prerequisite - CME 302: Numerical Linear Algebra
| Units: 1 | Repeatable for credit

CME 336: Linear and Conic Optimization with Applications (MS&E 314)

Linear, semidefinite, conic, and convex nonlinear optimization problems as generalizations of classical linear programming. Algorithms include the interior-point, barrier function, and cutting plane methods. Related convex analysis, including the separating hyperplane theorem, Farkas lemma, dual cones, optimality conditions, and conic inequalities. Complexity and/or computation efficiency analysis. Applications to combinatorial optimization, sensor network localization, support vector machine, and graph realization. Prerequisite: MS&E 211 or equivalent.
| Units: 3

CME 356: Engineering Functional Analysis and Finite Elements (ME 412)

Concepts in functional analysis to understand models and methods used in simulation and design. Topology, measure, and integration theory to introduce Sobolev spaces. Convergence analysis of finite elements for the generalized Poisson problem. Extensions to convection-diffusion-reaction equations and elasticity. Upwinding. Mixed methods and LBB conditions. Analysis of nonlinear and evolution problems. Prerequisites: 335A,B, CME 200, CME 204, or consent of instructor. Recommended: 333, MATH 171.
| Units: 3

CME 358: Finite Element Method for Fluid Mechanics

Mathematical theory of the finite element method for incompressible flows; related computational algorithms and implementation details. Poisson equation; finite element method for simple elliptic problems; notions of mathematical analysis of non-coercive partial differential equations; the inf-sup or Babushka-Brezzi condition and its applications to the Stokes and Darcy problems; presentation of stable mixed finite element methods and corresponding algebraic solvers; stabilization approaches in the context of advection-diffusion equation; numerical solution of the incompressible Navier-Stokes equations by finite element method. Theoretical, computational, and MATLAB computer programming assignments. Prerequisites: foundation in multivariate calculus and ME 335A or equivalent.
| Units: 3

CME 520: Topics in Simulation of Human Physiology & Anatomical Systems (SURG 253)

Biweekly interdisciplinary lecture series on the development of computational tools for modeling and simulation of human physiological and anatomical systems. Lectures by instructors and guest speakers on topics such as surgical simulation, anatomical & surgical Modeling, neurological Systems, and biomedical models of human movement. Group discussions, team based assignments, and project work.nPrerequisite: Medical students, residents or fellows from school of medicine, and computationally oriented students with a strong interest to explore computational and mathematical methods related to the health sciences.
| Units: 1 | Repeatable for credit (up to 99 units total)
© Stanford University | Terms of Use | Copyright Complaints