5903 Intro Scientific Prog:
Summer 2010 Assignments

Rules:
  1. All programs must be submitted electronically as gzipped archives that unpack into a directory named "Name_HWn" where Name is your name and n is the number of the assignment.
  2. The directory must be complete and self contained.
  3. The program must compile with the gcc compiler using a simple make command. The executable must be named "Name_Hwn".
  4. The executable must operate according to the program specifications.
  5. The directory must contain one (or more) "ReadMe" files explaining usage, any known problems, and how the program was tested/validated.
  6. We will discuss submitted programming assignments after the deadline in class.  For this reason deadlines will be enforced.
  7. Each assignment will be 10pts.  A non-compiling program or one that does not run correctly on the test problem is a zero.  A compiling program that runs correctly on test problems is at least 7/10.  Of the remaining three points: one is for complying with the naming and documentation requirements;  the remaining two points are for programming readability and style.    
Style:
  1. Your code NEEDS to behave as it is supposed to.
  2. No "magic" Numbers.
  3. Meaningful/reasonable variable names.
  4. Adequate documentation/comments.
  5. Thorough testing and validation.
  6. Reasonable code reuse and compartmentalization.

Assignments: (Due Dates and additional assignments will appear as we go through the term. Assignments will be discussed in class) 
    1. Hello World
    2. Libraries and Makefiles
    3. Multiple Input Files
    4. Parsing Input Arguments
    5. Reading Code
    6. Function Prototypes and Pointers
    7. Timing Matrix Access
    8. Timing Matrix Ops
    9. Timing IO
    10. Timing and Parsing FFTs
    11. Function Pointer Planning
    12. Matrix matrix Multiply loop reordering
    13. Implement some portion of your #11 using a fn pointer!