NSF logo

National Workshop on Teaching an Undergraduate Parallel Programming Course with Pattern Programming

Monday July 13th, 2015

Southeastern Universities Research Association
1201 New York Avenue NW, Suite 430
Washington, DC 20005

Barry Wilkinson
University of North Carolina Charlotte

Clayton Ferner
University of North Carolina Wilmington


This 1-day workshop for CS educators will introduce a new way to teach parallel and distributed programming starting with parallel computational design patterns. Beginning with computational patterns has a number of important teaching advantages including ease of programming, good programming style, and scalable designs. This approach can also be used earlier in undergraduate curriculum to introduce parallel programming techniques as promoted by the NSF/IEEE-TCPP Curriculum Initiative on Parallel and Distributed Computing. Three pattern programming tools at different levels of abstraction will be introduced to create parallel and distributed programs, which create executable parallel patterns and have very low learning curve and avoid low-level message passing or low-level thread based APIs. Prerequisites are basic C and Java.

This workshop is a combination of formal presentations, hands-on experiences, and discussions. Participants should bring their own laptop. A VirtualBox Ubuntu virtual machine will be provided on flash drives with all the software and programs needed for the workshop, and for use afterwards in your classes. All you will need is VirtualBox installed (readily available without cost).

Participants will be provided with educational materials, formal instruction, and pattern programming software to enable them to introduce parallel programming using a pattern programming approach. This may be a stand alone senior level parallel programming course as done at UNC-Charlotte and UNC-Wilmington, or as modules within existing lower level courses such as CS 2 or algorithms courses. Our approach particularly fits in with growing desire in the CS educational community to introduce parallel computing into lower levels.

Continuing support will be provided to assist educators in their endeavors after the workshop.

Registration: There is no registration fee.

To Register: Registration      Summary

Travel/Accommodation: Funds were available to cover the travel and accommodation costs of about 15 participants traveling from within the US on a first-come first-served basis (up to $800). Unfortunately these funds are now exhausted and we are unable to cover any more travel/accommodations costs.

Directions to SURA Headquarters

Hotels near SURA

Tentative Agenda

More information: Contact Barry Wilkinson at abw@uncc.edu or Clayton Ferner at cferner@uncw.edu

Our Pattern Programming Publications



Acknowledgements: This material is based upon work supported by the National Science Foundation under the collaborative grant #1141005/1141006, "Collaborative Research: Teaching Multicore and Many-Core Programming at a Higher Level of Abstraction." Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.