This is an archived course. A more recent version may be available at ocw.mit.edu.

 

Calendar

Instructors

TH: Tom Herring

CH: Chris Hill

LEC # TOPICS INSTRUCTORS KEY DATES
1 Introduction: problem formulation, algorithm development, algorithm implementation, and algorithm verification. Structure and documentation TH  
2 CH  
3 FORTRAN: "Formula Translation". Program creation, compilation and linking, variables and parameters, flow control, subroutines and functions. Structure and documentation. Use of libraries, internal and external communication, and interaction with other languages. FORTRAN: implementation issues: compilation errors, segmentation violations, Not-a-Number (NaN), Input/Output (IOSTAT) errors, Runtime errors. Transportable code, standard extensions. FORTRAN 90 differences and similarities to FORTRAN 77 CH  
4-5 TH  
6-7 CH Homework 1 due in Lec #7
8-9

C for scientific uses. Representation of data through arrays, pointers, and data structures. Function calls, argument passing and scoping rules, IO, profiling, system calls, and signals

C++ objects. Encapsulation and inheritance, polymorphic operators

CH  
10-11 TH  
12-13

Mathematica. What it is and what it can do; structure of Mathematica; symbols, exact numbers, and machine numbers; lists, vectors, and matrices

Working with Mathematica: numerical calculations, symbolic calculations, and graphics. Importing and exporting information

TH Homework 2 due in Lec #12
14-17

MATLAB. "Matrix Laboratory". MATLAB syntax, workspace, variables. Script M-files, IO, control flow, debugging, and profiling tools. Object-oriented programming

MATLAB applications, polynomials, interpolation, integration, differentiation, ODE. Graphics, 2-D, 3-D, Graphical User Interface (GUI)

TH Homework 3 due in Lec #17
18 Ordinary differential equation (ODE) solutions used MATLAB and Mathematica TH  
19 Advanced graphics in MATLAB, 3-D representation and exportable animations TH  
20-23

Advanced topics: parallel computing with large memory and large numbers of CPUs

Advanced topics: parallel MATLAB

CH

Homework 4 due in Lec #20

Group list and project descriptions due in Lec #20

24-25

Graphics: review of common graphics program. Graphics with spreadsheets, Kaleidagraph, Generic Mapping Tool (GMT). Numerical methods: introduction to numerical methods

Statistical analysis tools including generation random variables and correlated random numbers

Order of the presentations will be decided in the last class

TH Homework 5 due in Lec #24
  Final project presentations All

Final project demonstrated

Final project submitted one day after final project presentations