** Time and place:** T-Th 1:30-2:50, Wean 5409

This course will be a hands-on class on parallel algorithms. It will introduce several parallel data structures and a variety of parallel algorithms with an emphasis on understanding the basic concepts of parallel algorithm design, and on how the algorithms can be expressed in programming languages. The class will cover sorting, searching, graph algorithms, and computational geometry, and study how the algorithms can be used in practice for various applications in graphics, computer vision, and scientific simulation. Grading will be based on a set of programming assignments and a class project. We will use the parallel programming language NESL. The prerequisite is an undergraduate algorithms class.

Here is some relevant information:

- The course outline.
- Animations for various parallel algorithms. We will cover many of these algorithms in the course.
- The NESL page. This includes an interactive Nesl tutorial and several examples of algorithms implemented in NESL.
- A page describing some parallel algorithms.
- Parallel computing research here at Carnegie Mellon.