Advanced Scientific Programming
22C196:002 Topics in Computer Science.


Classes: Tu-Th, 1:05-2:20 pm 113 MLH
Office hours: M -  1:00-3:00 pm
                     Tu -  10:00-11:00 am


Description: This course will be based on the main issues about Scientific Software.
Scientific or Numerical Software has the following features:
1) involves computations with floating-point numbers: proofs of correctness
of algorithms can be irrelevant because they completely ignore the effects
of round-off error, and so cannot indentify numerical difficulties; or they assume
only exact properties of floating point arithmetic.
2) involves large-scale computations: so efficiency is of critical importance, both
in time and memory.
3) requirements change rapidly: this is true in commercial or research enviroment,
so we aim for flexible codes, so we don't have to start from scratch.
We will be looking at various examples of numerical algorithms and work on
their implementation.
  Addtional topics will be:  numerical algorithms,
intro  to parallel algorithms,   and some applications.

Textbook:
Writing Scientific Software

Other References:
Grading and Requirements: There will be no exams, instead we will have 4-6
programming assignments and Labs during the semester. 
Some background
in programming is desirable, but no specific language is expected. Most of the
hws will involve C or C++, but we  will have a short review during the course
about these languages.
Students from Engineering,  Mathematics or  any application
area are welcome.

------------------------------------------------------------------------------------------------------------------------------------------------------------------
We are asked to post some University Rules. Here they
are :

Note 1:I need to hear from anyone who has a disability which may require some modification of seating, testing or other class requirements so that appropriate arrangements may be made. Please see me after class or during my office hours .

Note 2:This course is given by the College of Liberal Arts and Sciences. This means that class policies on matters such as requirements, grading, and sanctions for academic dishonesty are governed by the College of Liberal Arts and Sciences. Students wishing to add or drop this course after the official deadline must receive the approval of the Dean of the College of Liberal Arts and Sciences. Details of the University policy of cross enrollments may be found at:   http://www.uiowa.edu/~provost/deos/crossenroll.doc

Note3: Complaints should be initiated at the faculty or department level. The Department of Computer Science Departments has offices in 14 MLH