CS 635 Foundations of Parallel Compution

Spring 2010

Course Description:

This course is designed to provide an introduction to the field of parallel computation. Topics chosen for discussion will illustrate architectural, algorithmic, and language requirements for parallel computing and the lectures will emphasize the relationships between these requirments. Parallel algorithm design and analysis as well as parallel programming languages will be examined in the context of specific parallel systems and models.

Class Web Site:


Course Prerequisites:

CS 583 (Data Structures and Algorithms)
CS 571 (Operating Systems) or CS 540 (Language Processors)
Programming ability in C/C++ and familiarity with Unix


Prof. Pearl Y. Wang
Computer Science Department
Office: Nguyen Engineering, Room 4304
Tel: 703-993-1527
E-mail: pwang at cs.gmu.edu

Office Hours:

Wednesdays 6 - 7 pm
Other times available by appointment

Class Meeting Time:

Wednesdays, 7:20-10 PM
Ngyuen Engineering, Rm. 4457

Textbooks and URLS:

Barry Wilkinson & Michael Allen, Parallel Programming, Second Edition, Prentice Hall, 2005

Peter S. Pacheco, Parallel Programming in MPI, Morgan Kaufman Publishers, Inc, 1997.


MPICH: http://www-unix.mcs.anl.gov/mpi/mpich/
LAM:     http://www.lam-mpi.org/
OpenMPI:     http://www.open-mpi.org/
MPI:       http://www-unix.mcs.anl.gov/mpi/
OpenMP:      http://openmp.org/
Beowulf:       http://www.beowulf.org/

Course Requirements and Grading:

This course is delivered to the Internet section online by Network EducationWare (NEW). Students in all sections have accounts on NEW and can play back the lectures and download the NEW PDF slide files at http://c4ilab.gmu.edu/disted.

The course grade will be based on homework, programming assignments and examinations. There will be at least three major programming assignments, a midterm and a comprehensive final examination. All assignments must be completed by the stated due date and time. Late coursework will not be accepted and make-up tests will not be given for missed examinations.

Students in the NET section are expected to take the examinations in-class (i.e. on the GMU campus) on the specified dates.

Homework & Projects:   50%
Midterm Exam:    25 %
Final Exam:      25%
All coursework is to be done independently unless other specified. Students are expected to abide by the GMU and CS Department Academic Integrity Policies at http:/honorcode.gmu.edu/ and http://cs.gmu.edu/wiki/pmwiki.php/HonorCode/HomePage. Violations of these policies will be pursued.

If you have a documented learning disability or other condition that may affect academic performance you should: 1) make sure this documentation is on file with the Office of Disability Services (SUB I, Rm. 222; 993-2474; http://www.gmu.edu/student/drc) to determine the accommodations you need; and 2) talk with me to discuss your accommodation needs.

Tentative List of Course Topics:

Parallel architectures and models of computation
PRAMs, pipelining, data parallel computing
Parallel language constructs
Designing parallel algorithms
Distributed memory message passing
Shared memory programming

Important Dates:

Last day to add:  February 2, 2010
Last day to drop: February 2, 2010 (no tuition penalty)
Last day to drop: February 19, 2010

Spring recess: March 8-14, 2010
Last day of classes: May 3, 2010

Final Examination: May 5, 2010:  7:30 - 10:15 pm

Created: 19 January 2010
Revised: 19 January 2010
P.Y. Wang