Welcome to CSI 701
Foundations of Computational Science
Reading Course, Fall, 2015
Instructor's email: jgentle@gmu.edu
This Web page will evolve as the semester progresses.
This course is about scientific computation.
It emphasizes the role of computation as
a fundamental tool of discovery in the development of science.
The topics include numerical methods for applications in science,
scientific software development and use, and
methods for simulation.
Prerequsites for this course include CSI 690, or a similar course in
numerical methods, familiarity with the Unix/Linux operating system, ability
to program in either Fortran or C, and a background in the mathematical
or natural sciences.
Student work in the course (and the relative weighting of this work in
the overall grade) will consist of
individual homework assignments (30)
a semester project(30)
a final exam consisting of an in-class component and possibly a take-home
component (40)
The individual homework assignments will generally be due weekly, and
credit will be assigned based on their timely completion. Students are
expected to submit the assignments when the assignments are due, whether
the student is able to be present at the class or not.
The primary text for the course is
Elements of Computational and Data Science.
Supplementary references are Numerical Recipes (either for
Fortran or for C), by Press et al., and Code Complete , by
McConnell, and notes by the instructor.
Schedule
(subject to adjustment)
Week of August 31
The computational sciences: Overview
Machine representations and numerical computations
Numerical algorithms
Assignment: Exercises 1.1, 1.3, 1.4 (numbered assignments refer to
Elements of Computational and Data Science)
Week of September 7
More on numerical algorithms
Software engineering
Computer architecture and its relation to software
High-performance computing
Assignment: Exercises 1.14, 1.16, 1.21, 1.22, 1.24
Week of September 14
Parallel processing
Software documentation
Design, data structures
Random number generation
Assignment: Exercises A.1, 2.2, use of MPI, documentation development
Week of September 21
Random number generation and Monte Carlo methods
Assignment: Exercises 2.7, 2.10, 2.18, 2.25, 2.26, 2.31
Week of September 28
Numerical linear algebra; solving linear systems
Fitting linear equations to data
Vectorization of code
Assignment: Exercises 3.18, 3.19, 3.20, 3.25, 3.34, 3.37
Week of October 5
Nonlinear systems
Optimization
Assignment: Exercises 4.2, 4.3, 4.7, 4.10, 4.11, 4.13
Week of October 12
Week of October 19
Week of October 26
Estimating functions
Fitting models to data
Assignment: Exercises 5.1, 5.2, 5.3
Week of November 2
Week of November 9
Smoothing data and more on fitting models to data
Assignment: Exercises 5.7, 5.8, 5.9, 5.11
Week of November 16
Numerical methods for ODEs
Assignment: Exercises 6.1, 6.3, 6.5, 6.6, 6.7, 6.9, 6.10
Week of November 30
Numerical methods for PDEs
Fitting differential equation models to data
Assignment: Exercises 6.11 (get data),
6.12 (get data)
Week of December 7
Parallel computing
Complex code management
Week of December 14
*** In-class portion of final exam ***
Computational Resources
General Reference Materials
Links to other sites.
GAMS, general
(Guide to Available Software, NIST)
LaTeX
S (R)
Cheatsheet
(courtesy of Barry Brown, University of Texas at Houston)
There is a variety of material available over the net.
The most important WWW repository of statistical stuff (datasets, programs,
general information, connection to other sites, etc.) is
StatLib Index at Carnegie Mellon.