Current trends in microprocessor design are fundamentally changing the way that performance is extracted from computer systems. The previous programming model for sequential uniprocessor execution is being replaced quickly with a need to write software for tightly-coupled shared memory multiprocessor systems. Both academicians and business leaders have challenged programmers to update their skill sets and their tools to effectively tackle software development for these newer platforms [1]. In addition, the availability of cheap processor cycles has created an explosion in capability for large data set computation. Applications in this category require programmers to strongly grasp the concepts of scaling parallelism. This new tack in computing towards ubiquitous parallelism raises several questions for computer science educators: How do we best prepare students for a world where parallel resources are always available? What role should parallel programming play in our curricula? What parallel programming concepts and skills are most important? What are the best ways in which to get students to learn them? Which are the most difficult for students to grasp? In this panel, we will discuss our experiences engaging with students, teachers, and researchers on the topic of parallel programming. The participants come from diverse backgrounds and have varied approaches to this issue. We hope that educators attending this panel will gain insights into this new direction in general-purpose computing, while taking home some concrete frameworks they can use at their own institutions. Daniel Ernst (Moderator) Department of Computer Science University of Wisconsin - Eau Claire Barry Wittman Department of Computer Science Purdue University Brian Harvey Division of Computer Science University of California, Berkeley Tom Murphy Department of Computer Science Contra Costa College Michael Wrinn Intel Corporation