Introduction to Geophysical Programming in C
(GEOP 7702)
| Professor: |
Withers; |
|
Text: |
The C Programming Language, Second Edition; Kernighan & Ritchie |
|
Grades: |
Homework 50% Final Exam 25% Attendance and Participation 25% Note: + and - Grades will not be given |
|
Class Time: |
MWF, 1020-1115 |
|
Final Exam (scheduled): |
Monday, 04/26, 0800-1000 |
Background
The goal of this seminar is to teach participants to read, understand, and modify C programs. The UNIX operating environment will be used exclusively. While some programs will be written from scratch emphasis will be placed on modifying pre-existing programs to illustrate particular topics particularly those related to earth science. Topics will include compilers, linkers, and make, pointers and structures, input and output, loops, subroutines, libraries, and strings.
Homework
In general, homework assignments will be modification of programs presented, or similar to ones presented in class. Students must successfully compile and run programs. Paths, necessary files, and special compiling instructions should be supplied as the instructor will compile and test submitted programs. A significant portion of the assignment grade will be based on successful compilation and execution by the instructor. Additional points will be gained for illuminating comments, clarity of code, and efficiency. Students should submit their homework via email. The email should not include the source but rather the path and files as discussed above. The email should also include answers to any explanatory questions asked. A confirming email that the homework has been submitted will be sent by the instructor and no assignment should be assumed to have been submitted until this confirmation has been received by the student. Email should be in plain ascii text (e.g. no word docs, html, etc--binhex attachments will be considered acts of treason).
The goal of homework assignments are to learn by doing. Students are encouraged to try it themselves, but to seek advice and help from other students, other knowledgeable computer users, and the instructor. Obviously plagiarizing the work of others is unacceptable. Intellegent programming procedure however involves NOT writing code that is already written and for the purposes of this class, using pre-existing code is acceptable provided credit is provided to the original author. But, students should know how the borrowed code works--recall there will be a closed book final.
| Projected Schedule | ||||
|---|---|---|---|---|
| # | Week of | topic | hmwk | Comment |
| 1 | 12 JAN | Introduction | tba | (MAE 16-17 JAN) |
| 2 | 19 JAN | Types, operators, and expressions | tba | (Holiday 19 JAN) |
| 3 | 26 JAN | Control Flow | tba | |
| 4 | 2 FEB | Functions and Program Structure | tba | |
| 5 | 9 FEB | Functions and Program Structure | tba | |
| 6 | 16 FEB | Pointers and Arrays | tba | |
| 7 | 23 FEB | Pointers and Arrays | tba | |
| 8 | 1 MAR | Spring Break | none | (ANSS NIC 3-4 MAR) |
| 9 | 8 MAR | Structures | tba | |
| 10 | 15 MAR | Structure arrays I/O | tba | |
| 11 | 22 MAR | OS interface, and libraries | tba | |
| 12 | 29 MAR | cc and make | tba | |
| 13 | 5 APR | C++ | tba | |
| 14 | 12 APR | C++ | tba | (SSA 14-16 APR) |
| 15 | 19 APR | Review | none | (last day of classes 04/21) |
| 16 | 26 APR | Finals Week | none | |
Useful urls: