## OUTLINE OF CS 422/522

• I. PROBLEM-SOLVING ENVIRONMENTS
• 1. Introduction to CS 422/522
A. Computational science: past, present, future
B. Mechanics of the course
C. Languages and problem-solving environments
• 2. Matlab
A. Elementary operations
B. History of Matlab and MathWorks
C. Graphics
D. MathWorks marketing statistics
E. m-files and functions
• 3. Ordinary Differential Equations (ODEs)
A. Autonomous initial-value problems (IVPs)
B. Phase space
C. Numerical methods
D. Software
• 4. Chaos
A. The Lorenz equations
B. Other chaotic systems
• 5. Prof. Steve Strogatz: Interactive Differential Equations
• 6. Problem-Solving Environments (PSEs)
A. PSEs in statistics
B. What is a PSE?
C. Reasons for the success of Matlab

• II. SYMBOLIC COMPUTING
• 1. Discrete vs. Continuous
A. Discrete problems, continuous problems
B. Floating point arithmetic
C. Exact arithmetic
• 2. Maple
A. History
B. Elementary operations
C. Accuracy of physical constants
D. Variables, expressions, and calculus
• 3. Finite vs. Infinite Algorithms and Problems
A. Finite vs. infinite algorithms
B. Finite vs. infinite problems
C. Example: Newton's method for a quintic
D. Infinite algorithms for finite problems
• 4. Convergent Series
A. Maple expressions, functions, procedures
B. Series
C. Power series
D. Power series in Maple
• 5. Asymptotic Series
A. Definitions
B. Stirling series for n!
C. Using files in Maple
D. Other examples
E. Asymptotic series and domains of convergence
• 6. Asymptotic Series, Science, and Symbolic Computing
A. Asymptotic series in science
B. Symbolic computing wrap-up
C. The Inverse Symbolic Calculator (ISC)

• III. SOFTWARE LIBRARIES
• 1. Overview
A. NAG, IMSL, and other general-purpose libraries
B. The long tradition of numerical software
C. Netlib
• 2. Linear Algebra Software
A. 30-year timeline
B. EISPACK
C. LINPACK
D. The BLAS and LAPACK
E. ScaLAPACK
• 3. TOMS, NHSE, and Numerical Recipes
A. TOMS (Transactions of Mathematical Software)
B. NHSE (National High-Performance Software Exchange)
C. Numerical Recipes
• 4. Prof. Saul Teukolsky: Numerical Recipes

• IV. VISUALIZATION
• 1. Introduction to Scientific Visualization (Prof. Land)
• 2. Introduction to IBM Data Explorer (Prof. Land)
• 3. More on Data Explorer (Prof. Land)
• 4. Fractals and Random Walk
A. Fractals
B. Fractal dimension
C. Random walk
• 5. Brownian Motion
A. Random walk in 2D or 3D
B. Brownian motion -- the physics
B. Brownian motion -- the fractal
• 6. A video History of Scientific Visualization (Prof. Land)

• V. PARALLEL COMPUTING
• 1. Overview
A. Brains and machines
B. Some history
C. References
D. SIMD, MIMD, SPMD
• 2. Introduction to MultiMATLAB
A. History of the MultiMATLAB project
B. Start, Eval, ID, Nproc, Quit
C. Send, Recv, Probe
D. Graphics
• 3. SPMD Programming in MultiMATLAB
• 4. Random Numbers and Monte Carle Methods
A. Why are random numbers useful in computing?
B. Monte Carlo integration
C. Parallel random numbers
• 5. More on Monte Carlo
A. Huge state spaces
B. 1/sqrt(N) convergence
C. MultiMATLAB demo
• 6. Dr. John Zollweg: Software Tools at the Cornell Theory Center

• VI. PROGRAM TRANSFORMATIONS
• 1. Introduction
A. What are "program transformations"?
B. Automatic differentiation: history
C. Gradients and Jacobians
D. An example
• 2. Using ADIFOR
A. An example
B. Derivatives in optimization codes
C. A Newton's method example
• 4. Forward vs. Reverse Mode of Automatic Differentiation
A. Forward mode
B. Reverse mode
C. Numerical Experiment
• 5. MultiMATLAB Demos in the Theory Center Training Facility

• VII. WEB-BASED COMPUTING
• 1. The Big Picture
A. The Web
B. Scientific journals
C. Science education
D. Science databases
E. Web computing
F. Biological genomes
• 2. Life on Planet Earth
A. History
B. What life is made of
C. The coding mechanism
D. The code itself
E. Reproduction and evolution
• 3. Genomes and the Web
A. Genetic codes and computer codes
B. Organisms whose genomes are known
C. Genomes on the Web
• 4. A Case Study
A. Human hemoglobin A
B. Sickle-cell anemia
C. BLAST
• 5. Whole-Genome Random Sequencing
A. Haemophilus influenzae
B. Cloning of random fragments
C. Assembling the fragments
D. Closing the gaps
E. Goodbye