Introduction to Geophysical Programming in C (GEOP 7702)


Spring 2004

Professor:

Withers;
Office Hours: Just drop by or send an email;
Phone: 4940; e-mail: mwithers@memphis.edu

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: