Download the iPDC Toolkit of Resources to enable the integration of PDC concepts into your CS0 and CS1 curriculum.

 

Workshop Report

Online book chapter: How to Design a Parallel Program

 

Workshop Software

These resources for Windows include a full distribution of Java 8, and a full distribution of the MinGW compiler.  Both of these zip files can be unzip into a directory on your machine and used without installing.  You can use these distributions if you do not already have your own installed version, or the version of Java or C++ that you have does not have the necessary support to run the workshop code.

 

Exercises and Labs

The following are the downloadable materials for the workshop hands-on exercises and labs.  The workshop presenters wrote the material with their own individual style.  Some are written as incomplete code examples, other are written in a laboratory format.  See the links below for descriptions of each exercise/lab, code that you will complete as part of the exercise, and other resources.  Workshop participants will be given the the completed exercises at the workshop.

 

CS1
Exercise/Lab
Language Description Resources
Code
Exercises in Python Python Various exercises that demonstrate parallelism in the Python programming language.
exercises.zip 
Image Processing C++ This exercise guides you through creating a program to gray-scale and flip an image in parallel.  This image processing exercise is written in lab form. Description in HTML
Parallel Sum C++ This exercise guides you through creating a program to sum numbers in parallel in C++.  It is written as a CS1 lab. Description in HTML
Parallel Sum Java This exercise guides you through creating a program to sum numbers in parallel in Java.  It is written as a CS1 lab. 
Description in HTML
complete_me.zip
Matrix Multiply Java This exercise guides you through creating a program to multiply two matrices in parallel in Java.  It is written as a CS1 lab. 
Description in HTML complete_me.zip
CS2
Exercise/Lab Language Description Resources
Code
Image Processing C++ This exercise guides you through creating a program to gray-scale and flip an image in parallel.   Unlike the CS1 lab of the same name, this lab uses functional decompostion instead of data decomposition. This image processing exercise is written in lab form. Description in HTML
Parallel Sort C++ This exercise guides you throug creating a program to sort an array of numbers in parallel.  This simple sort divides the array, sorts the pieces in parallel, and then does a final merge to finish. Description in HTML
Minimax Java This exercise guides you through creating a program to use the minimax algorithm to play tic-tac-toe in parallel. This image processing exercise is written in lab form. Description in HTML
complete_me.zip
Radix Sort Java This exercise guides you through creating a program to sort number using the radix sort algorithm in parallel. This image processing exercise is written in lab form. Description in HTML complete_me.zip