|
[ Publications ]
[ Research Opportunities ]
[ Partners & Supporters ]
[ Earlier Work ]
|
|
Breadth in Depth -- A 1st Year Introduction to Parallel Programming
|
| Thomas Gross,
Breadth in Depth -- A 1st Year Introduction to Parallel Programming, Proceedings of SIGCSE'11, March 2011.
[SIGCSE_2011.pdf]
|
|
There is a debate on when and how to teach parallel programming in the
undergraduate curriculum. We try to structure the debate along a
number of dimensions and then present the solution that we adopted for
an engineering-oriented curriculum. We added an introduction to
parallel programming to the list of mandatory classes in the 2nd
semester. The class exposes students to three styles of parallel
programming: threads with shared memory, CSP-style message passing,
and OpenMP-based parallel programming. Within these models, the class
aims to focus the student's attention on communication as the key
issue in parallel programs. Explicit communication (or their absence)
causes correctness problems, implicit communication (e.g., when
accessing shared data in different threads) forces the student to
understand when updates are globally visible. An introductory class
early in the undergraduate curriculum has a number of benefits and
disadvantages, which are discussed in this paper. A preliminary
evaluation after two editions of this course indicates that the design
goals are met but also points to several issues that other
institutions may want to consider.
|
|
[ Publications ]
[ Research Opportunities ]
[ Partners & Supporters ]
[ Earlier Work ]
|
|