CSC 491, Parallel Computing
Autumn semester, 2004

This course is a practically oriented introduction to using parallel computers. We start with an overview of parallel computing and study the problem of program efficiency on parallel computers. Then we introduce the two major programming paradigms: shared memory and message passing. The last third of the course will focus on applications of parallel computing in the sciences.

Lecture: Tuesday and Thursday, 8:00-9:20 in SE 227.  (At student request, the class time might be changed.)

Instructor: Brett van de Sande,

Office hours: By appointment.

Prerequisites: Mat 162 and 3 credits of Computer Science.

Textbook: Barry Wilkinson and Michael Allen, Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers, Prentice Hall; 1st edition (August 12, 1998).

The computer: We will be using the 8-node Beowulf cluster located in SE 227.

Grading: There will be a series of homework assginments (a mixture of reading and short programming problems) during the first 2/3 of the semester. There will be a final project where students learn to install and use a parallel program important for one of the sciences (biology, chemistry, physics, math, etc.). For computer science majors, the final project will be to write an application program.
Homeworks 60%
Project 25%
Final exam 15%
This is subject to change.

Other interesting textbooks for parallel programming include:

Courses for parallel computing

Courses in Computational Molecular Biology