## 15-846: Introduction to Parallel Algorithms and Programming

** Instructor:** Guy E. Blelloch,
** Credit:** 1 Graduate Core Unit
** 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 projects.
- The course outline.
- Assignment 1
(Solutions,
only available to students in the class).
- 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.