**CPS 504 Applied and Computational Mathematics (A).**
A survey of scientific computing methods, emphasizing programming methods, interpretation of numerical results, and checks for numerical sensibility and self-consistency. Organized into several modules, including: (1) representation of floating point data, truncation and rounding error, and basic considerations for accurate numerical computation; (2) iterative numerical methods; (3) numerical differentiation and integration; (4) numerical interpolation; (5) random number generation; (6) the Fast Fourier Transform; and (7) numerical solution of ordinary differential equations. Extensive programming required.
*3 Cr.*
*Fall.*

**CPS 505 Applied and Computational Mathematics II (A).**
A continuation of Applied and Computational Mathematics I. Topics include: iterative methods in numerical linear algebra, least squares methods, the Fast Fourier Transform, special functions and their computation, numerical solution of ordinary equations. Extensive programming required.
*3 Cr.*
*Spring.*

**CPS 517 Introduction to Computational Chemistry (A).**
*Cross-listed as CHM 517.*
An introduction to classical and quantum simulation methods as applied to chemistry-related problems and computational chemistry software packages. Covers the topics in three parts. Part I: introductory material, potential energy surfaces, vibrational and electronic properties of molecules, and capabilities/ limitations of computational chemistry. Part II: classical molecular simulation methods, molecular dynamics, molecular dynamics, Monte Carlo calculations, normal coordinate analysis, computer "measurement" of materials properties. Part III: Schrodinger equation, common electronic structure methods, basis sets, geometric optimization and molecular properties.
*3 Cr.*

**CPS 521 Introduction to Computational Physics (A).**
*Prerequisites: PHS 202, CPS 304 and MTH 203.*
An introduction to computational methods commonly used in physics applications, including three of the most famous equations in physics (Wave, Laplace and diffusion), as well as classical mechanics. Includes the classical equations of motion, detailed solution of the two-body l/r problem, planetary and astrophysical simulation methods and analysis of simulation data, wave motion and normal coordinate analysis, electromagnetic field and Laplace's equation, molecular simulation (N-body methods, liquid simulation, liquid structure, specification of initial conditions, constant temperature and pressure simulations, Langevin and Brownian dynamics, and correlation functions), diffusion and percolation.
*3 Cr.*
*Fall.*

**CPS 533 Scientific Visualization (A).**
*Prerequisites: MTH 424 and either CSC 203 or CPS 202.*
Examination of scientific visualization as a critical portion of the analysis and interpretation of numerical simulations, and an introduction to a wide variety of methods used for scientific visualization. Topics include: basic 2 and 3 dimensional graph types, visualization of 3D data, interpretation of simulation results, grid generation and visualization, problem solution via graphical techniques, image processing, rendering and animation. Extensive programming in MATLAB required.
*3 Cr.*
*Spring.*

**CPS 541 Introduction to Computational Finance (A).**
*Prerequisites: CPS 201, MTH 201 and ACC 281.*
Examines computational finance, a rapidly expanding discipline that merges the study and prediction of the behavior of investments in financial markets (such as the options and derivatives markets) with high-performance computing. Explores some of the fundamental principles for prediction in the options and derivatives markets in addition to recent adaptions and modifications to these principles. Topics include: definitions and terminology, portfolio optimization, risk/asset management, the Black-Scholes model, the Cox-Ross-Rubenstein model and the Capital Asset Pricing models.
*3 Cr.*
*Fall.*

**CPS 555 Introduction to Computational Fluid Dynamics (A).**
*Prerequisites: CPS 101, CSC 120 and MTH 203.*
A concise introduction to the analytical and computational techniques required for the investigation of fluid flow through computational means. Topics include: derivation of fundamental equations, dimensional analysis and the Pi theorem; stability of numerical methods; the CFL condition; first, second, and higher order numerical methods; shooting methods; wave equations; parabolic equations; boundary layers; cavity flows; and grid generation.
*3 Cr.*

**CPS 561 Introduction to Computational Methods in Biology (A).**
*Prerequisites: CPS 201, BIO 111.*
An introductory survey course on the applications of computer modeling and simulation to biological problems. Topics include molecular simulation for determination and dynamical properties of biological molecules and bioinformatics. Also covered is the use of the Biology Workbench, MATLAB, AMBER and other packages for biological simulations.
*3 Cr.*
*Spring.*

**CPS 602 Advanced Software Tools (A).**
*Prerequisites: CPS 202 and CPS 303.*
High level tools for parallel computing, mainly the Portable, Extensible Toolkit for Scientific Computing (PETSc). Examples and programming assignments draw heavily from partial differential equations and eigenvalue problems from the applied physical sciences. In addition, employs other high level tools such as finite element simulators. Topics include: numerical solution of partial differential equations and eigenvalue problems, evaluating the parallel performance of tools, iterative methods for the solutions of linear equations, and finite element analysis of problems in the physical sciences. Extensive programming required.
*3 Cr.*

**CPS 604 Computational Methods in Physical Sciences (A).**
*Prerequisite: CPS 504.*
A one semester survey of methods for the computer solution of ordinary and partial differential equations (ODE's and PDE's) that commonly arise in scientific applications, and for analyzing results. Part I: numerical linear algebra. Part II: finite difference methods for ODE's and PDE's, including truncation error and consistency; one-stage, multistage, and multistep methods, initial value and boundary value problems; and systems of equations. Part III: finite element methods for ODE's and PDE's, including choice of basis and weighting functions (collocation, subdomain and Galerkin methods): general procedures for elementwise integration; treatment of boundary conditions; and finite element methods in two and three dimensions. Requires extensive programming.
*3 Cr.*

**CPS 632 Deterministic Dynamical Systems (A).**
*Prerequisites: either CPS 404 or CPS 504 and MTH 424.*
A one-semester survey of methods for the modeling and analysis of deterministic dynamical systems found in chemical, biology, fluid dynamics and other applications. Part I: formulations of classical mechanics, conservation laws, and families of solutions in some model systems. Part II: detailed discussion of simulation methods in chemistry, ecology, biology, fluid dynamics and other fields. Requires extensive programming.
*3 Cr.*

**CPS 633 Stochastic Dynamical Systems (A).**
*Prerequisites: either CPS 404 or CPS 504 and MTH 424.*
A one semester survey of methods for computer simulations and other calculations involving some level of random (stochastic) behavior. Covers modeling and analysis of stochastic dynamical systems in science, engineering and business applications. Topics include: generation of and statistical properties of discrete and continuous random number distributions; numerical integration; solution of stochastic differential equations commonly arising in scientific applications; Monte Carlo methods; discrete event simulation, including general principles, queueing and inventory simulations, and the use of simulation software; and analysis of simulation data. Requires extensive programming.
*3 Cr.*

**CPS 644 Supercomputing and Applications (A).**
*Prerequisite: CPS 303.*
An extensive introduction to parallel computing, mostly in the context of scientific and mathematical applications. Topics include historical background and general capabilities of parallel computing; modern parallel architectures and interconnection networks; the MPI (Message Passing Interface) standard and parallel programming methods; issues in parallel programming such as deadlock, safety and fairness; parallel algorithms from numerical linear algebra, sorting and graph theory applications; porting of codes from serial to parallel architectures, and between different parallel architectures; performance issues and benchmarking; and parallel debuggers. Extensive programming required, using parallel computing environments both on campus and at national supercomputing facilities.
*3 Cr.*

**CPS 698 Graduate Seminar (A).**
Provides a forum for the review and discussion of new discoveries and ideas in computational science. Explores information of topical interest obtained from recent issues of computational science journals. Research carried out by students and/or faculty may also be described and discussed.
*1 Cr.*

**CPS 699 Independent Study (A).**
Arranged in consultation with the instructor-sponsor prior to registration.
*1-6 Cr.*

**CPS 700 Project Paper (A).**
Targets development of skills for independent research or problem solving in the realm of computational science. Entails a computational project mutually agreed upon between the student and instructor with regular meetings for guidance and feedback. Also requires a written report and 2030 minute presentation.
*3 Cr.*

**CPS 710 Thesis (A).**
Mentored individual investigation for a substantial research project in computational science, to culminate in a master's thesis and oral defense.
*3 Cr.*