CS 484 - Parallel Programming
This is an introduction to Parallel Programming for Computer Scientists and Computer Engineers. Parallel programming notations for shared and distributed memory machines, memory models, atomic operations, race conditions, synchronous and asynchronous computations, performance evaluation, parallel algorithms including graph algorithms, sorting, numerical linear algebra, and FFT are all covered in this course.
3 or 4 hours
A course in Data Structures (CS 225) and a Computer Architecture II course (such as CS 232).