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:
- Numerical Comuting with IEEE Floating Poing Arithmetic, Michael
L. Overton.
- Accuracy and Stability of Numerical Algorithms, Nicholas J.
Higham
- Numerical Linear Algebra, Lloyd N. Trefethen and David Bau.
- Parallel Computing, V. Kumar, A. Grama, A. Gupta and G. Karypis.
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