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 | Units: 5 | 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 non-linear 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, Sum | Units: 5 | UG Reqs: GER:DB-Math, WAY-FR
Instructors: ; Darve, E. (PI); Le, H. (PI)

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

Linear algebra: matrix operations, systems of algebraic equations, Gaussian elimination, undertermined 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 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

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, polynomial interpolation, numerical differentiation and integration, numerical solution of ordinary differential equations, truncation error, numerical stability for time dependent problems and stiffness. Prerequisites: CS 106A or familiarity with MATLAB; MATH 51, 52, 53; inappropriate for students who have taken CME 102,104/ENGR 155A,B.
Terms: Win, Sum | Units: 3-4 | UG Reqs: GER:DB-EngrAppSci, WAY-AQR, WAY-FR

CME 191: Special Studies or Projects

Independent work under faculty direction. Individual or team activities involving lab work or directed reading. May be repeated for credit.
Terms: Aut, Win, Spr | Units: 1 | Repeatable for credit
Instructors: ; Murray, W. (PI)

CME 200: Linear Algebra with Application to Enginering 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 MATH103, 130, or equivalent.
Terms: Aut | Units: 3
Instructors: ; Moin, P. (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: ; Shaqfeh, E. (PI)

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

CME 211: Computer Programming in C++ for Earth Scientists and Engineers (ENERGY 211)

Computer programming methodology emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and modularity. Fundamental data structures. Time and space complexity analysis. The basic facilities of the programming language C++. Numerical problems from various science and engineering applications.
Terms: Win | Units: 3

CME 212: Introduction to Large-Scale Computing in Engineering (ENERGY 212)

Advanced programming methodologies for solving fundamental engineering problems using algorithms with pervasive application across disciplines. Overview of computer systems from a programming perspective including processor architectures, memory hierarchies, machine arithmetic, performance tuning techniques. Algorithms include iterative, direct linear solvers, fft, and divide and conquer strategies for n-body problems. Software development; other practical UNIX tools including shell scripting, vi/emacs, gcc, make, gdb, gprof, version control systems and LaTeX. Prerequisites: CME 200/ME 300A, CME 211, and CS 106X or equivalent level of programming in C/C++.
Terms: Spr | Units: 3
Instructors: ; Caulfield, E. (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 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.
Terms: Spr | Units: 3
Instructors: ; Jameson, A. (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: ; Gerritsen, M. (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: ; Vasy, A. (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

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

Topics: enumeration such as Cayley's theorem and Prufer codes, SDR, flows and cuts (deterministic and randomized algorithms), probabilistic methods and random graphs, asymptotics (NP-hardness and approximation algorithms). Topics illustrated with EE, CS, and bioinformatics applications. Prerequisites: MATH 51 or 103 or equivalents.
Terms: Win | Units: 3
Instructors: ; Saberi, A. (PI)

CME 306: 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, Euler equations for compressible flow, Navier-Stokes equations for incompressible flow. Prerequisites: MATH 220A or CME 302.
Terms: Spr | Units: 3
Instructors: ; Garapon, P. (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 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.
| Units: 3

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.
Last offered: Autumn 2008 | Units: 3 | Repeatable for credit

CME 337: Information Networks (MS&E 337)

Network structure of the Internet and the web. Modeling, scale-free graphs, small-world phenomenon. Algorithmic implications in searching and inter-domain routing; the effect of structure on performance. Game theoretic issues, routing games, and network creation games. Security issues, vulnerability, and robustness. Prerequisite: basic probability and graph theory.
Terms: Spr | Units: 3
Instructors: ; Saberi, A. (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. Interior methods. The simplex method. Factorization and updates. The reduced-gradient, augmented Lagrangian, and SQP methods. Recommended: MS&E 310, 311, 312, 314, or 315; CME 108 or 302.
Terms: Spr | Units: 3
Instructors: ; Saunders, M. (PI)

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.
Terms: Win | Units: 3
Instructors: ; Lew, A. (PI)

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: Spr | Units: 2-3
Instructors: ; Candes, E. (PI)

CME 390: Curricular Practical Training

May be repeated three times for credit.
Terms: Win, Spr, Sum | Units: 1 | Repeatable 3 times (up to 3 units total)
Instructors: ; Murray, W. (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: 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 105: Introduction to Discrete Mathematics and Algorithms

Discrete mathematics and algorithms as used in modeling and problem solving technique emphasizing contemporary problems. Topics: introduction to set theory, logic, combinatorics, and graphs theory; formal proof techniques in induction, recursion, and contradiction; algorithms for sorting, shortest paths, minimum spanning trees, and bipartite matching. Applications to Internet advertising, viral marketing, routing, social networks and games of chance. Recommended: background in linear algebra/matrix theory.
| Units: 3

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.
| Units: 1 | Repeatable for credit
Instructors: ; Murray, W. (PI)

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 are solved in different areas of engineering and science modeling phenomena, such as wave propagation and vibration, and fluid flow. Numerical techniques for such simulations in the context of applications. Emphasis is on stability and convergence theory for methods for hyperbolic and parabolic initial boundary value problems, and the development of efficient methods for these problems.
| Units: 3

CME 335: Advanced Topics in Numerical Linear Algebra

Possible topics: Eigenvalue problems, including perturbation theory, algorithms, and related problems such as the SVD or generalized eigenvalue problems; iterative methods, including stationary and non-stationary methods; matrix functions, including applications of moments and quadrature; polynomial equations and Parallel implementation of matrix computations. May be repeated for credit.
| Units: 3 | 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 340: Large-Scale Data Mining (CS 345L)

Focus is on very large scale data mining on the web and on social networks. Topics include network models, ranking algorithms, reputation, collaborative filtering, and supervised and unsupervised learning. Individual or group applications-oriented programming project. i unit without project; 3 units with final project. Prerequisites: programming at the level of CS 108; statistics at the level of MATH 103 and STATS 116. Recommended: machine learning at the level of CS 229; knowledge of Java.
| Units: 1-3

CME 352: Molecular Algorithms

Recent research in DNA and RNA based nanotechnology, mathematical models of DNA self-assembly, algorithmic techniques and stochastic analyses for efficient and robust DNA self-assembly, experimental advances in molecular motors and machines which use DNA migration/enzymes, and algorithmic issues in the design of molecular motors and machines. Prerequisite: consent of instructor.
| Units: 3 | Repeatable for credit

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 380: Constructing Scientific Simulation Codes

Practical methods for writing and combining software components to generate simulation applications. Practical methodologies for constructing simulation code applications. How to design, write, and combine software components to generate simulation applications. Steering: using a small driver language like Python to script or steer the progress of a code. Data models and formats: how data is represented and shared inside an application and its external representation on disk. Mixed language programming using C, C++, F77, F90, and Python. Rational software engineering including testing, configuration control, code generation and makefiles. Other technologies needed to create real world applications regardless of scientific discipline.
| Units: 3
© Stanford University | Terms of Use | Copyright Complaints