Initial Publication Date: March 4, 2017

SIGCSE 2017 Workshop 402:

Teaching Parallel Computing with OpenMP on the Raspberry Pi

Saturday 3/11/17, 3:00-6:00pm, Room 616-617

Instructors: Suzanne Matthews (USMA West Point), Joel Adams (Calvin College), Dick Brown (St. Olaf College), and Libby Shoop (Macalester College)

Abstract: Parallel computing is one of the new knowledge units in the ACM/IEEE CS 2013 curriculum recommendations. This workshop will present the Raspberry Pi as an inexpensive hardware platform for providing each student with her own parallel processor. The tactile and visceral benefits of each student having her own machine and being able to take full advantage of its multicore capabilities are significant. In this hands-on workshop, we show how parallelism can be used to spread the workload of compute-intensive applications across the multiple cores of a Raspberry Pi, and explore its use as an inexpensive hardware platform for teaching parallel computing. CS educators who are interested in learning about parallel computing, OpenMP, and how to teach these concepts on a Raspberry Pi are encouraged to attend. Attendees will enjoy a hands-on hardware/software experience, exploring how parallel computations operate and work in practice. In Part I of the workshop, attendees will explore a Raspberry Pi multi-core computer individually, and use the parallel capabilities of the Raspberry Pi to explore parallel computation through the use of OpenMP "patternlets" published on CSinParallel.org site. Applications to topics including drug design will be included. Part II explores additional approaches for using Raspberry Pis to teach computer science at undergraduate institutions, from introductory courses to undergraduate research, and reviews assessment of such efforts. All materials from this workshop will be freely available from CSinParallel.org site. Part 1: Sample Workshop

Part 1: Sample Workshop

3:00pm (100 min)

  1. Initial survey; Introduction to Raspberry Pi - 3:00 [Suzanne]
  2. Raspberry Pi Basics, with Patterns - 3:15 [Libby]
  3. Integration Exemplar - 3:55 [Joel]
  4. Drug Design Exemplar - 4:10 [Dick]
  5. Wrap-up survey - 4:35 [Dick]

Break

4:35pm (15 min)

Part 2: Teaching experiences

Assessment results - Prior Workshops

4:50pm (10 min) [Joel]

Connecting to Raspberry Pis from the Laptop

5:00pm (20 min) [Dick]

Using Raspberry Pi throughout a first-year course

5:20pm (10 min) [Libby]

Undergraduate Research

5:30pm (10 min) [Suzanne]

Discussion

5:40pm (15 min) [Joel]

Feedback

5:55pm (5 min) [Joel]


Additional links:

  • Pimoroni Raspberry Pi 3 image, used in Part 1 of this workshop (1.3 GB, 7zip format)
  • Download, uncompress with 7zip, and flash onto an 8GB micro USB card
  • Laptop Raspberry Pi 3 image, used in Part 2 of this workshop (Windows or Mac) (2.5 GB, zip format)
  • Download, uncompress with unzip or 7zip (Mac), and flash onto an 8GB micro USB card
  • CSinParallel.org site
  • Source of additional materials for teaching/learning parallel and distributed computing.