Teaching Parallel Computing to Freshmen

Parallelism is the future of computing and computer science and should therefore be at the heart of the CS curriculum. Instead of continuing along the evolutionary path by introducing parallel computation ``top down'' (first in special junior-senior level courses), we are taking a radical approach and introducing parallelism at the earliest possible stages of instruction. Specifically, we are developing a completely new freshman-level course on data structures that integrates parallel computation naturally, and retains the emphasis on laboratory instruction. This will help to steer our curriculum as expeditiously as possible toward parallel computing.

Our approach is novel in three distinct and essential ways. First, we will teach parallel computing to freshmen in a course designed from beginning to end to do so. Second, we will motivate the course with examples from scientific computation. Third, we use multimedia and visualization as instructional aids. We have two primary objectives: to begin a reform of our undergraduate curriculum with an laboratory-based freshman course on parallel computation, and to produce tools and methodologies that improve student understanding of the basic principles of parallel computing.

For more information, read this paper from the Conference on Parallel Computing for Undergraduates, Colgate University, June 1994.

Other good resources include the Wellesley Forum on Parallel Computing Curricula and Nan's Parallel Computing Page.

One component of this project is the development of the DAPPLE programming language.

Dartmouth users look here.


This research is supported under grant DUE-9352796 by the National Science Foundation ILI-LLD program.


The faculty:

The students:


Back to Dartmouth CS Home Page