Welcome to CSI 801 / INFT 814

Foundations of Computational Science

Fall, 1999

Instructor: James Gentle

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 the course (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)
  • 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.
    Some sections of this book are also available online at the link above.
    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)

    September 2, 1999

    The computational sciences: Overview
    Machine representations and numerical computations
    Numerical algorithms
    Assignment: Exercises 1.1, 1.3, 1.4 (numbered assignments refer to Foundations of Computational Science)

    September 9, 1999

    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

    September 16, 1999

    Team project reports
    *** Class was canceled due to weather. Reports to be put on web.

    September 23, 1999

    Guest lecture by Tarek A. El-Ghazawi: Parallel processing
    MPI routines
    Assignment: Use of MPI on pacnet

    September 30, 1999

    Random number generation and Monte Carlo methods
    Assignment: Exercises 2.2, 2.7, 2.10, 2.18, 2.25, 2.26, 2.31

    October 7, 1999

    *** Class was canceled due to power outage.

    October 14, 1999

    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

    October 21, 1999

    Midterm (in class; closed book)
    Links to previous midterms (Postscript): Fall 95 ... Fall 98
    Hints and solutions for homework assignments

    October 28, 1999

    Review of midterm (Postscript)
    Midterm makeup (Postscript)
    Nonlinear systems
    Optimization
    Assignment: Exercises 4.2, 4.3, 4.7, 4.10, 4.11, 4.13

    November 4, 1999

    Project status reports (these will be graded)

    November 11, 1999

    Estimating functions, smoothing data, and fitting models to data
    Lecture notes (Postscript)
    Exercises (Postscript)

    November 18, 1999

    Numerical methods for ODEs Lecture notes (Postscript)
    Exercises (Postscript)
    Numerical PDEs: parabolic equations
    Finite differences, finite volumes, finite elements, particles
    Numerical PDEs: hyperbolic equations
    Fitting differential equation models to data

    November 25, 1999

    No Class

    December 2, 1999

    Final project presentations

    December 9, 1999

    Final project presentations continued if necessary
    Parallel computing
    Complex code management
    Hand out take-home portion of final

    December 16, 1999

    In-class portion of final



    Computational Resources

    Labs with Unix workstations are available for use in this class in both CSI and SITE.
  • CSI facilities.
  • Software available in SITE computer labs.

    It will be necessary to use Unix, C or Fortran, and various application packages in this course. The Intel Paragon computer will also be used. Some notes on these systems are available.

    General Reference Materials

    Links to other sites.

  • GAMS categorized list of software
  • GAMS, general (Guide to Available Software, NIST)
  • Fortran 90
  • html
  • Java
  • html conversion filters
  • Emacs
  • LaTeX
  • LaTeX (maybe better for beginners)
  • PostScript
  • S (or S-Plus) Cheatsheet (courtesy of Barry Brown, University of Texas at Houston)
  • IMSL Fortran Libraries
  • IMSL on Science

    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