home programs courses admissions people research news and events
 

cse courses

core courses

elective courses

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.

CS240A High-Performance Parallel Systems and Languages
Prerequisites: Computer Science 154 and 160. Overview of parallel architectures and communication; parallel programming paradigms; performance models of parallel computation; parallel algorithms and applications; systems and compilers for parallel languages.

CS240B Parallel Computing and System Parallelization
Prerequisites: Computer Science 130A and 160. Parallel programming; representation of parallelism, program dependence analysis, loop transformation; program and data partitioning, locality optimization; task scheduling and load balancing; parallelizing compilers and run-time support.

CHE230C/MEE244C 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.

CS130A/130B Data Structures and Algorithms I
Prerequisites: 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.

CS130A/130B Data Structures and Algorithms II
Prerequisites: 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.

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).

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

Math 243A,B,C Ordinary Differential Equations
Prerequisites: 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
Prerequisites: 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)
Prerequisites: 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)
Prerequisites: 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)
Prerequisites: 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.

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 271BNumerical 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.