Parallel Computing in the Computer Science Curriculum > Workshops > Supercomputing '12

SC '12 HPC Educator Workshop:

CSInParallel: An incremental approach to adding PDC throughout the CS curriculum

Presented by Richard Brown, Libby Shoop, and Joel Adams

Thursday, Nov. 15, 1:30 - 5:30

Welcome

The CSInParallel project (csinparallel.org) offers an incremental approach for feasibly adding PDC (parallel and distributed computing) concepts and skills to existing undergraduate courses using small teaching moules (1-3 class days). Designed for flexible use in multiple courses throughout the CS curriculum and typically offering a choice of programming languages, CSInParallel modules have minimal syllabus cost, yet contribute significantly to student understanding of PDC principles and practice. In this HPC Educator session we will demonstrate two modules that introduce notions of concurrency, multi-threaded programming, and map-reduce distributed computing. These and other available modules are suitable for courses at all levels of the curriculum. After guiding you through these modules, we will provide time for you to explore other available modules of your choosing that are of interest to you. We will do this by splitting into groups of people who has similar interests in particular modules.

Schedule of Events

Part 1: 1:30-3pm

Part 2: 3:30-5pm

Part 1 1:30 to 3:00

Strategy of CSInParallel

We will present an overview of the modular, incremental approach to inserting paralel concepts and topics into all levels of the CS curriculum and how our modules overlap with the new standards in the next ACM/IEEE CS curriculum recommendations.Parallelism in CS2013 Curriculum Recommendations (Acrobat (PDF) 1.2MB Nov8 12) The CSInParallel module materials can be accessed by following the link called Modules on the sidebar on the left. First Featured Module: Programming with Multiple Cores Programming with multiple cores is a module that can be used in an intermediate course when students have only a basic knowledge of C or C++. The module introduces students to the concept of dividing a large task into smaller subtasks and using a shared memory system with multiple processors to create threads of execution using a simple high-level declarations to their C programs using a library called OpenMP.

You will need:

Full details about this module can be found on its CSInParallel module page.

Group break-out sessions

We have several modules that might interest you, depending on the courses you often teach. We would like to organize groups of people who are interested in exploring particular modules further. Some we might suggest are:

Vote for your preference on this survey

Part 2 (3:30 to 5:00)

Recap of CSInParallel Project

Next Featured Module: WebMapReduce for Introductory students

This module is accessible to students in introductory courses. It uses a tool built by Dick Brown and his students at St. Olaf College that provides an intuitive web interface for describing map-reduce computations, submitting jobs to a back-end hadoop installation, and viewing results of the computation.

You will need:

The full details of this module can be found on its CSInParallel module page.

Group break-out sessions

We have several modules that might interest you, depending on the courses you often teach. We would like to organize groups of people who are interested in exploring particular modules further. Some we might suggest are:

Vote for your preference on this survey

Finish with a discussion of CS curriculum

We would like to finish with a whole-group discussion and recap of how parallel and distributed computing concepts and skills can appear throughout the curriculum and why this modular, spiral approach may serve us all well (students and faculty alike) and how it fits with curriculum guidelines.