Regional Workshop on Teaching an Undergraduate Parallel Programming Course with Pattern Programming July 25, 2014 University of North Carolina Charlotte Student Union, Room 261 |
|
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.) 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. In-Person: Our initial planning is for around 10-15 participants traveling mainly from North and South Carolina to UNC-Charlotte. Limited funds may be available to defray travel costs. Food will be provided. Web Conferencing: One may also participate in the workshop by web conferencing. We will provide WebEx video conferencing. |
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. |
July 5, 2014
|