A replacement for the traditional introductory course in procedural programming. This course consists of of a series of case studies in different disciplines illustrating problem solving via computational methods. Tools such as Maple, Mathematica, and Matlab are used extensively for teaching problem analysis, solution formulation, data set manipulation, and interpretation of results.
Computational Science
Designed as a follow-on to Introductory Scientific Computing. While the introductory course uses scientific and mathematical tools and packages, this course treats the need for computational problem solving through programming, toolkits, and scientific computing libraries. It teaches core concepts in programming with Fortran and/or C and emphasize the use of libraries and toolkits such as the BLAS, Linpack, Ellpack, and numerical packages such as NAG and IMSL. Some introduction to high-performance and parallel computing is be included, and basic numerical algorithms for matrix computations, finite differences, particle-in-cell methods, and differential equations are illustrated.Computational Numerical Analysis
The class is intended to bridge the gap between first year "programming" courses and a full year course on scientific computing and numerical analysis such as given in "Numerical Analysis" by Burden and Faires. The topics are all problem driven, and a number of application areas are used with an emphasis on heat and mass transfer problems. Each section " starts with some introductory material and an application area. The mathematical model and a method of computation are described. Several computer implementations are presented. An assessment and comparison of each of the above stages is given. There are a variety of homework problems.Advanced Scientific Computing
This course was developed at the North Carolina State University, and was recognized by the Department of Energy by receiving an Undergraduate Computational Science Education Award.
A course to be developed in 1997. this will be the capstone of the Computational Science concentration. The first part of the course will cover advanced numerical techniques including eigenvalue problems, LU decomposition, multigrid methods, Fourier transforms, conjugate gradient, etc, including selected parallel algorithms. Subsequently, modules from different disciplines will be taught, with examples include optimization methods in computational biology and neural networks, computational fluid dynamics (CFD) and Navier-Stokes equations, protein folding, long-range molecular dynamics, medical imaging techniques, and flow through porous media. These modules will be developed in such a manner that they can be interchangeably used and expanded upon, with the eventual goal of building a large repertoire of modules that could selectively be covered in subsequent offerings.
Computational Physical Chemistry Lab
This course provides undergraduates majoring in Chemistry with a strong background in computational methods as applied to physical chemistry. It includes such topics as rates of reactions, quantum mechanical wavefunctions, classical dynamics, and normal modes, and is be taught using Mathematica.This course was developed at the University of Washington, and was recognized by the Department of Energy by receiving an Undergraduate Computational Science Education Award.
Computational Physics
Introduction to Parallel Programming
Introduction to Control Theory
A sophomore level course utilizing Matlab to introduce students to control theory.This course was developed at the University of Michigan, and was recognized by the Department of Energy by receiving an Undergraduate Computational Science Education Award.
Computational Excursions in Electrical Engineering