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:DBMath, WAYFR

Grading: Letter or Credit/No Credit
CME 100A: Vector Calculus for Engineers, ACE
Students attend
CME100/ENGR154 lectures with additional recitation sessions; two to four hours per week, emphasizing engineering mathematical applications and collaboration methods. Enrollment by department permission only. Prerequisite: application at:
http://soe.stanford.edu/current_students/edp/programs/ace.html
Terms: Aut, Spr

Units: 6

UG Reqs: GER:DBMath, WAYFR

Grading: Letter or Credit/No Credit
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, objectoriented, 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 objectoriented design and design schematics based on the Unified Modeling Language (UML) structure, behavior, and interaction diagrams; cover the basic use of several opensource 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

Grading: Letter (ABCD/NP)
Instructors:
Rouson, D. (PI)
;
O'Reilly, O. (TA)
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 applicationbased 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

Grading: Satisfactory/No Credit
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 applicationdriven. 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

Grading: Satisfactory/No Credit
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 applicationdriven. 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

Grading: Satisfactory/No Credit
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 eigensystem analysis, Gaussian elimination, effect of roundoff error, operation counts, banded matrices arising from discretization of differential equations, illconditioned matrices, matrix theory, least square solution of unsolvable systems, solution of nonlinear algebraic equations, eigenvalues and eigenvectors, similar matrices, unitary and Hermitian matrices, positive definiteness, CayleyHamilton theory and function of a matrix and iterative methods. Prerequisite: familiarity with computer programming, and
MATH51.
Terms: Aut

Units: 3

Grading: Letter or Credit/No Credit
Instructors:
Gerritsen, M. (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, RungeKutta and predictorcorrector methods, boundary value problems, eigenvalue problems; systems of differential equations, stiffness. Emphasis is on analysis of numerical methods for accuracy, stability, and convergence. Introduction to numerical solutions of partial differential equations; Von Neumann stability analysis; alternating direction implicit methods and nonlinear equations. Prerequisites:
CME 200/
ME 300A,
CME 204/
ME 300B.
Terms: Aut, Spr

Units: 3

Grading: Letter or Credit/No Credit
Instructors:
Gerritsen, M. (PI)
;
Moin, P. (PI)
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, objectoriented 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

Grading: Letter or Credit/No Credit
Instructors:
LeGresley, P. (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: leastsquares approximations of overdetermined equations and leastnorm 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. Multiinput/multioutput systems, impulse and step matrices; convolution and transfer matrix descriptions. Control, reachability, and state transfer; observability and leastsquares state estimation. Prerequisites: linear algebra and matrices as in
MATH 103; differential equations and Laplace transforms as in
EE 102A.
Terms: Aut, Sum

Units: 3

Grading: Letter or Credit/No Credit
Instructors:
Lall, S. (PI)
Filter Results: