The following are elective courses applicable to the CSE emphasis. Students should consult with their advisors regarding elective courses which are most appropriate to their research program.

CHE 220A-B Advanced Transport Processes-Laminar Flow and Convection

Prerequisite: consent of instructor.
Principles of applied mathematics, dimensional analysis and asymptotic approximation methods applied to problems in fluid mechanics and convective transport phenomena; low-Reynolds number flows, free-boundary problems, boundary-layer theories and other advection dominated phenomena, introduction to linear stability theory.

CHE 220C Advanced Transport Processes-Mass Transfer

Basic principles of diffusional processes, multicomponent systems, diffusion with chemical reaction, penetration and surface renewal theories, turbulent transport.

CHE 220D Advanced Transport Processes-Turbulence Theory

Prerequisite: consent of instructor.
Same course as ME 228. Statistical formulation for turbulent flows, conditional averages and coherent

CHE 230C/MEE 244C Nonlinear Analysis of Dynamical Systems

Bifurcation and stability theory of solutions to nonlinear evolution equations; introduction to chaotic dynamics. Emphasis on asymptotic and numerical methods for the analysis of steady-state and time-dependent nonlinear boundary-value problems.

CS 130A Data Structures and Algorithms I

Prerequisite: Computer Science 12 or 22 or 60; and, Computer Science 26 or 40; and, Computer Science 20; open to computer science and computer engineering majors only.
The study of data structures and applications. Correctness proofs and techniques for the design of correct programs. Internal and external searching. Hashing and height balanced trees. Analysis of sorting algorithms. Memory management. Graph traversal techniques and their applications.

CS 130B Data Structures and Algorithms II

Prerequisite: Computer Science 26 or 40; and Computer Science 130A.
Design and analysis of computer algorithms. Correctness proofs and techniques for the design of correct programs. Solution of recurrence relations. Design techniques: divide and conquer, greedy strategies, dynamic programming, backtracking, and local search. Applications of techniques to problems from several disciplines.

ECE 271A Principles of Optimization

Prerequisite: ECE 210A (may be taken concurrently).
Lecture, 4 hours. Linear programming: simplex and revised simplex method, duality theory, primal-dual algorithms, Karmarkar's algorithm. Network flow problems: max-flow/min-cut theorem, Ford-Fulkerson algorithm, shortest path algorithms. Complexity and NP-completeness theory: the classes of P and NP, reductions between NP-complete problems, pseudopolynomial and approximation algorithms. (F)

ECE 271B Numerical Optimization Methods

Prerequisite: ECE 210A.
Lecture, 4 hours. Unconstrained nonlinear problems: basic properties of solutions and algorithms, global convergence, convergence rate, and complexity considerations. Constrained nonlinear problems: basic properties of solutions and algorithms. Primal, penalty and barrier, cutting plane, and dual methods. Computer implementations. (W)

ECE 271C Dynamic Optimization

Prerequisite: ECE 210A or 271B.
Lecture, 4 hours. Linear functionals, adjoint operators and duality. Gateaux and Frechet derivatives of nonlinear functionals and optimality conditions. Calculus of variations and Pontryagin's principle. Solution of optimal control problems by iterative methods in function spaces. Min-max problems and differential games.

MAT 228 Computational Materials

Basic computational techniques and their application to simulating the behavior of materials. Techniques include: finite difference methods, Monte Carlo, molecular dynamics, cellular automata, and simulated annealing. (normally offered alternate years).

MATH 243A-B-C Ordinary Differential Equations

Prerequisite: Mathematics 118A-B-C.
Existence and stability of solutions, Floquet theory, Poincare-Bendixson theorem, invariant manifolds, existence and stability of periodic solutions, bifurcation theory and normal forms, hyperbolic structure and chaos, Feigenbaum period-doubling cascade, Ruelle-Takens cascade.

MATH 246A-B-C Partial Differential Equations

Prerequisite: Mathematics 201A-B-C.
First-order nonlinear equations; the Cauchy problem, elements of distribution theory and Sobolev spaces; the heat, wave, and Laplace equations; additional topics such as quasilinear symmetric hyperbolic systems, elliptic regularity theory.

MEE 252A Computational Fluid Dynamics (cross-listed in Math)

Prerequisite: ME 210C or Computer Science 211C or ECE 210C or Mathematics 206C or Chemical Engineering 211C.
Numerical simulation of fluid flows. Basic discretization techniques for parabolic, elliptical, and hyperbolic conservation laws. Stability and accuracy. Diffusion equation, linear convection equation.

MEE 252B Computational Fluid Dynamics (cross-listed in Math)

Prerequisite: ME 210C or Computer Science 211C or ECE 210C or Mathematics 206C or Chemical Engineering 211C.
Discussion of appropriate boundary conditions. Nonlinear convection dominated problems, curvilinear coordinates, basics of grid generation. Inviscid flow, boundary layer flow, incompressible Navier-Stokes flows.

MEE 252C Computational Fluid Dynamics (cross-listed in Math)

Prerequisite: ME 210C or Computer Science 211C or ECE 210C or Mathematics 206C or Chemical Engineering 211C.
Compressible inviscid flows. Compressible viscous flows. Boundary element methods. Lagrangian and vortex methods.