MIT OpenCourseWare
  • OCW home
  • Course List
  • about OCW
  • Help
  • Feedback
  • Support MIT OCW

Lecture Notes

Any number of development tools can be used to compile and run the .c and .f files in this section. C++ compiler is required to compile the .cc files. MATLAB® software is required to view and run the .m and .mat files in this section. Mathematica® software is required to run the .nb files in this section.

TH : Prof. Thomas Herring
JE : Prof. James Elliot
CH : Dr. Chris Hill

LEC # TOPICS SUPPORTING FILES INSTRUCTORS
1-2 Introduction: Problem Formulation, Algorithm Development, Algorithm. Implementation, and Algorithm Verification. Structure and Documentation

Lecture 1

Class Introduction -- Overview of Languages -- Program Development (PDF)

Lecture 2

Discussion of Aspects of Computers and their Operation. An example is given of program development for a simple case of computing the area of a figure. (PDF)
Lecture 2

poly_area.f (F)
This program implements the area determination algorithm discussed in the lecture.
TH
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.

Started FORTRAN (Formula Translation). Went through the basic elements that make up this language. In reading these notes, you should think about operations you want to do and what command or commands do you use to do that. (PDF)
TH
4 Continued with showing the elements of the Fortran and more detail on the typically encountered features of the language. Topics covered: Subroutines and Functions -- Intrinsic Functions -- Constants and Variables -- Input Output with Open/close, Read/write, Formats -- Character Strings (PDF) TH
5-7 Fortran: Implementation Issues: Compilation Errors, Segmentation Violations, Not-a-number (NaN), Input/Output (IOSTAT) Errors, Runtime Errors. Transportable Code, Standard Extensions. Numerical Methods: Introduction to Numerical Methods

Material from this class will be useful in the final project.

Lecture 5

Continued with FORTRAN. Character Strings, Control Statements if and do -- Other Commands such as include, Common, Parameter (PDF)

Lecture 6

Finish up FORTRAN. Compile, Linking and Runtime Errors and Miscellaneous Topics. Practice with using the Language (PDF)
TH
8-11 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

Lecture 8

Start of C-language Programming. History, Variables and Executable Statements (PDF)

Lecture 9

Continuation with C and Introduction of C++ (PDF)

Lecture 10

Continuation of C++, Inheritance and Overlays (PDF)

Lecture 11

Practice Laboratory

Lecture 8

Additional Links for this Class:
Introduction ( PDF)
Example 1 ( PDF)
Example 2 ( PDF)
Exercise ( PDF)

Lecture 9

Additional links for this class:
launch.c (C)
ustring
coord

Lecture 11

main.cc (CC)
vector.cc (CC)
Vector.h (H)
CH
12-15 Mathematica®. What it is and What it can do; Mathematica® Notebooks; The 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

Lecture 13

Mathematica® (PDF)

Lecture 14

Mathematica®: Control Structures (PDF)

Lecture 15

Mathematica®: Finish Up, Examine Lists and Error Messages (PDF)
Lecture 13

12010_Lec13.nb (NB)

Lecture 14

12010Lec14.nb (NB)

Lecture 15

12010Lec15.nb (NB)
JE
16-18 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)

Lecture 16

MATLAB®: Introductory Lecture on MATLAB® Introducing System, Variable Types, Control and Functions (PDF)

Lecture 17

MATLAB®: Path Command, Variables, File IO and Dialog Boxes (PDF)

Lecture 18

MATLAB®: Graphics Handles and Animation of Figures (PDF)

Lecture 19

MATLAB®: Final Class on GUI Construction and Use (PDF)
Lecture 16

Lec01_01.m (M)
Lec01_02.m (M)

Lecture 17

The data for these M files can be found in MatData

Lec02_01_file.m (M)
Lec02_02_db.m (M)
Lec03_01_file.m (M)
Lec03_movie.m (M)
per_func.m (M)

Lecture 18

Lec03_movie.m(M)
per_func.m (M)

Lecture 19

MatData

Basic GUI Layout:

GPSanal.m (M)
gpsguio.m (M)

Final Operational Version:

tsview.m (M)
gpshui.m (M)
YrToDate.m (M)
UpdateBreakGUI.m (M)
WriteText.m (M)
GPSResize.m (M)
TH
20 Graphics: Review of Common Graphics Program. Graphics with Spreadsheets, Kaleidagraph, Generic Mapping Tool (GMT) (PDF) TH
21-23 Advanced Topics: Advanced Modeling and Simulation Systems. Java Applets, Applications and Byte Codes. Application Frameworks. Multi-threading, Packaging, Multi-component Programming CH
24-26 Final Project: 2 classes on Discussion on Problem and Basic Approaches. Final class will be in class demonstrations of the final project program.

Lecture 24

Discussion of Algorithms for the Final Projects (PDF)
All