CS 4380 - Parallel Programming

Course Description:

This course teaches practical aspects of parallel programming. The covered topics include multi-core processors and shared-memory programming, hardware accelerator programming, and distributed-memory machines and message-passing programming. The students will gain the knowledge and skills needed for developing parallel software by writing programs for a variety of parallel computers.

Prerequisite:

-AND-

Course Objectives:

1.

learn how to write correct and efficient parallel programs

2.

become skilled at designing and implementing parallel algorithms

3.

be familiar with different parallelization paradigms

4.

be able to use standard concurrency constructs

5.

learn how to reason about concurrency

6.

be able to measure and interpret performance metrics

7.

perform individual and team projects

Section Info:

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.