Welcome to CSI 801 / CSI 610
Foundations of Computational Science
Spring, 2000
Instructor's email: jgentle@gmu.edu
Class meets on Thursdays from 7:20pm to 10:00pm.
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 700, or a similar course in
numerical methods, familiarity with the Unix operating system, ability
to program in either Fortran or C, and a background in the mathematical
or natural sciences.
Student work in CSI 801 (and the relative weighting of this work in
the overall grade) will consist of
individual homework assignments (15)
a semester project (25)
an in-class midterm (25)
a final exam consisting of an in-class component and a take-home
component (35)
The requirements for CSI 610 and the grading are similar, except for
the semester project. There will be no project for CSI 610.
Each student will
prepare a Web page
for presentation of
the project and for some of the smaller assignments.
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
Foundations of Computational
Science, available in the George Mason copy center.
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)
January 27, 2000
The computational sciences: Overview
Discussion of
a student project completed in Fall, 1999;
presentation by Imed Ben Chouikha and John Pierce
Machine representations and numerical computations
Numerical algorithms
Assignment: Exercises 1.1, 1.3, 1.4
(Numbered assignments refer to Foundations of Computational
Science.
The assignments should be completed by the class one
week from the date the assignment is made.)
February 3, 2000
More on numerical algorithms
Software engineering
Software documentation
Design, data structures
Computer architecture and its relation to software
High-performance computing
Assignment: Exercises 1.14, 1.16, 1.21, 1.22, 1.24
February 10, 2000
Guest lecture: Dr. Tarek El-Ghazawi:
High-performance computing
Parallel processing
*** Team project reports ***
Assignment: Exercises A.1, use of MPI, documentation development
February 17, 2000
Random number generation and Monte Carlo methods
Assignment: Exercises 2.2, 2.7, 2.10, 2.18, 2.25, 2.26, 2.31
February 24, 2000
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
March 2, 2000
*** All homework through Chapter 3 due ***
Nonlinear systems
Optimization
Assignment: Exercises 4.2, 4.3, 4.7, 4.10, 4.11, 4.13
March 9, 2000
*** Midterm (in class; closed book) ***
Links to previous midterms (Postscript):
Fall 95
...
Fall 98
...
Fall 99
...
(Fall 99 solutions)
...
Fall 99 (makeup)
Hints and solutions for homework assignments
March 16, 2000
Spring recess; no class
March 23, 2000
Review of midterm
dvi
......
TeX
Estimating functions
Fitting models to data
Assignment: Exercises 5.1, 5.2, 5.3
March 30, 2000
*** Project status reports (these will be graded) ***
April 6, 2000
Guest Lecture: Dr. John Guillory
Ordinary differential equations
Smoothing data and more on fitting models to data
Assignment: Exercises 5.7, 5.8, 5.9, 5.11
***The lecture on smoothing is postponed until April 13, and the
assignments for April 6 and 13 are switched.
April 13, 2000
Numerical methods for ODEs
Assignment: Exercises 6.1, 6.3, 6.5, 6.6, 6.7, 6.9, 6.10
April 20, 2000
Numerical methods for PDEs
Fitting differential equation models to data
Assignment: Exercises 6.11 (get data),
6.12 (get data)
April 27, 2000
*** Final project presentations ***
May 4, 2000
*** All homework due ***
Final project presentations continued if necessary
Parallel computing
Complex code management
Hand out
take-home portion of final
May 11, 2000
*** In-class portion of final exam ***
Computational Resources
Labs with Unix workstations are available for use in this class in
both CSI and SITE.
CSI facilities.
The main CSI computer network is science.gmu.edu. The IP numeric
address is 129.174.44.11
Software available
in SITE computer labs.
It will be necessary to use Unix, C or Fortran, and various application
packages in this course.
Some notes on these systems are available.
Indexes of Software
GAMS, general
(Guide to Available Software, NIST)
GAMS categorized list of software
Netlib libraries
StatLib Index at Carnegie Mellon.
Econometric Links
of Econometrics Journal
(Not just for econometrics!)
Information about Specific Systems
Fortran 90
html
Java
html conversion filters
Emacs
LaTeX
LaTeX
(may be better for beginners)
PostScript
S (or S-Plus)
Cheatsheet
(courtesy of Barry Brown, University of Texas at Houston)
IMSL Fortran Libraries
IMSL on science.gmu.edu
Other Resources
There is a variety of material available over the net. An important
starting point for the field of numerical analysis is the
NA Digest Home
Page.
An interesting activity sponsored by the U.S. Department of Energy
is the Computational Science Education Project, which has resulted in
many easily accessible documents and demos. The
CSEP Home Page
is a good starting place.
The most important WWW repository of statistical stuff (datasets, programs,
general information, connection to other sites, etc.) is
StatLib Index at Carnegie Mellon.
Students
Student list
The students in the class all have homepages on which they put parts
of their assignments and other interesting stuff.
Projects
Each student will work in a team on
a semester project.
Projects