CS In Parallel

Bring Parallel Thinking into CS1 & CS2

Dr. David Valentine

Computer Science Dept
Slippery Rock University
david.valentine@sru.edu

Description:

Our students will spend their entire career in a 'parallel world', so Parallel Thinking must be just a normal way they envision the problem solving enterprise of computer science. The sooner we can expose them to parallel programming, the better. We have had great success with just exposing students to parallelism at the introductory level. We give a cpu-bound, embarrassingly parallel assignment that students solve in a conventional way. Then (after grading & returning the program) we revisit the assignment and just show them how to parallelize it using OpenMP. While we use OpenMP on our campus, any of the multithreaded API's (Cilk Plus, TBB, Java Threads, etc) could be used. The goal is to simply expose students to parallel thinking.

Table of Contents

  1. Introduction & Setup: We describe our model and introduce our basic Monte Carlo approach. A simple coin-flip program is used to demonstrate the basic approach. (18:11)
  2. The Demonstration Projects. We start with standard (student-generated) solutions, and then add OpenMP parallelism.
  3. What next?: Three project ideas for you to solve on your own and/or adapt for your class. Enjoy! (5:21)

page last modified on