CS 404: Survey and Use of Software Libraries for Scientific Computing

Description

Many software packages and code libraries have been developed for the solution of standard problems in scientific computing. Examples of such libraries are LAPACK, IMSL, Numerical Recipes routines, MATLAB functions, and routines available in online repositories such as Netlib. This course will discuss how to link to or compile standard library formats and will consider the legal and ethical aspects of using other people's code (or having them use yours).  The course will also survey some of the standard problems and the available libraries, and discusses the issues that arise in their use (e.g., accuracy, robustness, and generality).

Course number for registration: 442-946

Who should take this class

This course is designed for "fledgling" scientists and engineers (e.g. advanced undergraduates and beginning graduate students) who expect to use computing in their research. Students are assumed to be familiar with basic programming concepts at the level of CS 100.

Time and Place

MWF 9:05-9:55AM, Upson 211

1. Course begins Mon., Mar. 25 and runs for four weeks.
2. You have until  Mon., Apr. 1 to add/drop this course.

Syllabus (DRAFT)

Dates
Title
Lecutre
Examples
3/25-3/29 1. Course Intro & Philosophy ppt
pdf
 
2. Types of libraries and where to find them ppt
pdf
Lab
3. Using libraries I: compiling and linking ppt
pdf
Lab
Fpca.tar
4/1-4/5 4. Survey of numerical methods and available libraries ppt
pdf
 
5. Using libraries II: interlanguage operability ppt
pdf
Lab
RAD1Ditpack
ITPACK doc
6. Calling MATLAB ppt
pdf
RAD1Dmat
MATCdoc
MATCref
4/8-4/12 7. Getting what you pay for--legal & ethical issues ppt
pdf
 
8. Java packages or DLL's ppt
pdf
Lab
DLLtest.tar
9.  Graphics and GUIs ppt
pdf
Lab
RAD1Dgl.tar
4/15-4/19 10. Into to MPI and parallel programming ppt
pdf
 
11. Cornell Theory Center & Velocity
       Susan Mehringer, Cornell Theory Center
ppt
pdf
 
12. MPI Lab   Lab
RAD1Dmp.zip

Grading

The course must be taken S/U. Grades will be based on the student's performance on 4 weekly problem sets. To pass, students must demonstrate a basic level of understanding of the course material.

Problem Sets

   Problem Set 1        FpcaPS.tar      Key
   Problem Set 2        FpcaC.tar        Key
   Problem Set 3        RAD1Dgl2.tar  Key    GLUTdoc.pdf
Problem sets will be posted here at least 1 week prior to the due date. All problem sets are due by 5PM on the date specified. The answers should be e-mailed to the instructor at ajp9@cornell.edu. Assignments on paper, stone tablet, or in another atom-based format will not be accepted.

Course Policies

The policies of this course are determined by the amount of material that must be covered and the short time allotted. The easiest way to describe these policies is as an agreement between me the instructor and you the student, and it is important that we understand each other's perspective. We are both very busy and it is vital that we use the four weeks efficiently. Therefore, I propose the following agreement:

INSTRUCTOR: will give 12 lectures based on the syllabus above. Each lecture will start on time and will end at the designated time, if not before. Lecture notes will be provided on-line by 10PM the night before the lecture. The instructor will be available to answer questions during office hours, by appointment, and for a few minutes before and after lectures. The instructor will prepare four assignments that can be completed in a reasonable amount of time (2-4 hours) using mainly the information covered in the lectures. The instructor will return assignments in a prompt manner and with concise comments on any errors.

STUDENT: will be in his/her seat in the lecture hall prior to the start of every lecture. This is a common courtesy to the instructor and to fellow students. If the student wants more information on a topic or needs help, he/she will come by office hours or make an appointment with the instructor. The student will turn in assignments on time and in the specified format. Late assignments WILL NOT BE ACCEPTED! Exceptions to this rule will only be made for university-sanctioned reasons such as severe illness, injury, death, or by special arrangement with the instructor made at least 3 days prior to the due date. Adhering to this policy will allow the course to discuss the assignments in class in a timely fashion, and deviations from this policy will jeopardize the student's chance of passing the class.

Instructor

Andrew J. Pershing  
3134 Snee Hall 
ajp9@cornell.edu  
5-5552

Office Hours:

Tuesdays & Wednesdays, 11AM-1PM & by appointment