Home   About   Project Pages   Personnel
University of Maine logo
Gulf of Maine Research Institute logo

Lectures on Applied Scientific Computing

Several years ago, I taught a series of courses at Cornell under the broad theme of "applied scientific computing." The goal of the courses was to teach some of the day-to-day aspects of scientific computing. So, rather than discuss various numerical algorithms, these courses talk about the nuts and bolts of how to process and visualize scientific data sets and how to build models (including programming, compiling, and linking). I am not currently teaching these courses, so some of the info may be a bit out of date. However, if you find them useful, please send me an email, and I might try to spruce things up a bit.

Intro to FORTRAN. This 6 week course was offered primarily to first year atmospheric science students. The goal of the course was to give them a quick introduction to programming using FORTRAN, and the students had previously completed a 6 week programming course using MATLAB. The course emphasizes FORTRAN77, but may topics, for example, the discussion about how FORTRAN handles arrays, should be useful for folks using more "modern" variants of FORTRAN.

Applied Scientific Computing with MATLAB. This 4 week course was designed for graduate students in the sciences. I assumed that students had done some programming before, but weren't neccesarily experts. The course introduces MATLAB syntax and then considers several standard scientific tasks (reading/writing data, statistics, differential equations, etc.). The course emphasizes function writing and does cover some more advanced (new at the time) features of Matlab including cell-arrays and structs.

Scientific Visualization with MATLAB. Another 4 week course, offered as a sequel to the previous course. This course considers how to visualize different kinds of scientific data using Matlab's handle-graphics systems. I attempted to explain how handle graphics work, at least from a syntactic point of view.

Development of Scientific Computing Programs. A 4 week course, intendend mainly for graduate students, that introduces the process of developing scientific software. It includes a discussion of the build process (code, compile, link, run) and a presentation of several tools (debuggers, profilers) to make the process easier.

Survey and Use of Libraries for Scientific Computing. Building on the previous course, this one considers how to access other sources of scientific code. This included finding implementations of specific algorithms (for example, matrix computations), calling and linking to precompiled libraries, and introduced several standard libraries (BLAS, LAPACK, MPI, OpenGL).

Back to Seascape Modeling