This project is no longer active; this page is no longer updated.
Related keywords: [education], [software]
In this project we developed the "DAPPLE" programming language. DAPPLE was implemented as a C++ class library designed to provide the illusion of a data-parallel programming language on conventional hardware and with conventional compilers. DAPPLE defines Vectors and Matrices as basic classes, with all the C operators overloaded to provide for elementwise arithmetic. In addition, DAPPLE provides typical data-parallel operations such as scans, permutations, and reductions. Finally, DAPPLE provides a parallel if-then-else statement to restrict the context of the above operations to subsets of vectors or matrices.
DAPPLE is available to download, though may require updates to run on modern computers.
In the early 1990s, we saw parallelism as the future of computing and computer science and felt it 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 took a radical approach and introduced parallelism at the earliest possible stages of instruction. Specifically, we developed a module for use in a freshman-level course on data structures that integrated parallel computation naturally, and retained the emphasis on laboratory instruction. We hoped it would help to steer our curriculum toward parallel computing.
Our approach was novel in three distinct and essential ways. First, we taught parallel computing to freshmen. Second, we motivated the course with examples from scientific computation. Third, we used multimedia and visualization as instructional aids. We had 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 included the Wellesley Forum on Parallel Computing Curricula (no longer available) and Nan's Parallel Computing Page.
The views and conclusions contained on this site and in its documents are those of the authors and should not be interpreted as necessarily representing the official position or policies, either expressed or implied, of the sponsor(s). Any mention of specific companies or products does not imply any endorsement by the authors or by the sponsor(s).
[Also available in BibTeX]
Papers are listed in reverse-chronological order. Follow updates with RSS.