Teaching parallel computing with higher-level languages and activity-based laboratories
This project sought to promote effective techniques for teaching
parallel programing based on (i) higher-level parallel programming
languages so students can focus on concepts and (ii) compelling
examples with appeal beyond the scientific computing community that
has traditionally practiced parallel computing.
This project was a collaboration between PIs
David Bunde at
Knox College and
Jens Mache at
Lewis & Clark College.
Materials created
So far in this project, we have looked at and created materials for
the following languages and libraries:
Publications and presentations
- Modules for introducing threads.
Included as Chapter 4 in Prasad, Gupta, Sussman, and Weems ed.
Topics in parallel and distributed computing: Introducing
concurrency in undergraduate courses, Morgan Kaufmann, 2015.
- Flipping a parallel programming class.
Poster presented at the
5th NSF/TCPP
Workshop on Parallel and Distributed Computing Education
(EduPar), 2015.
- Using wrappers to simplify task parallel programming.
Written with Michael Graf (Knox `15).
Proceedings of the
Consortium for Computing
Sciences in Colleges Midwestern conference (CCSC-MW),
pages 73-79, 2014.
- Adding parallel Haskell to the undergraduate programming language course.
Written with Jens Mache and Peter Drake.
Proceedings of the
Consortium for Computing
Sciences in Colleges Northwestern conference (CCSC-NW),
pages 181-189, 2014.
- Poster Accessible parallel programming in
Java.
Written with Michael Graf (Knox `15).
Presented at the 4th NSF/TCPP
Workshop on Parallel and Distributed Computing Education
(EduPar), 2014.
- Using Chapel to teach parallel concepts.
Tutorial presented at
CCSC-CP 2014
- Chapel: A Versatile Tool for Teaching Undergraduates Parallel Programming.
Presented with Kyle Burke.
Tutorial presented at
SIGCSE 2014
- Parallel programming paradigms illustrated.
Poster written with Michael Graf (Knox `15), Deyu Han (Knox `16), and
Jens Mache.
Presented at SIGCSE 2014.
- High-level parallel programming using Chapel.
Presented with Kyle Burke.
Educator program session at
SC 2013.
- An educator's toolbox for CUDA.
Presented with Karen Karavanic and Jens Mache.
Educator program session at
SC 2013.
- Short modules for introducing parallel concepts.
Tutorial presented at the
Consortium for Computing
Sciences in Colleges Midwestern conference (CCSC-MW), 2013.
- Adding GPU computing to computer organization courses.
Written with Karen L. Karavanic, Jens Mache, and Chris T. Michell.
Proceedings of the
3rd NSF/TCPP workshop on parallel and distributed computing education (EduPar), 2013.
-
Selecting and using a parallel programming language.
Poster written with M. Graf (Knox `15), D. Ely, D. Lucas (Knox `13), J. Mache, C. Mitchell,
A. Papancea (Knox `13), M. Robinson, and B. White.
Presented at the
44th ACM Technical Symposium on Computer Science
Education (SIGCSE), 2013.
- Collaborative Research: Responding
to Manycore: Teaching parallel computing with higher-level languages
and activity-based laboratories.
Poster presented at the TUES/CCLI PI Conference, 2013.
- High-level parallel programming using Chapel.
Presented with Kyle Burke.
Educator program session at
SC 2012.
- An educator's toolbox for CUDA.
Presented with Karen Karavanic, Jens Mache, and Barry Wilkinson.
Educator program session at
SC 2012.
- Introduction to Habanero Java (HJ)
Presented with Jaime Spacco and Casey Samoore.
Pre-conference workshop at the
Consortium for Computing
Sciences in Colleges Midwestern conference (CCSC-MW), 2012.
- Adding parallelism to AP CS Principles.
Invited talk at
CS4EDU Workshop 2012.
- A stratified view of programming
language parallelism for undergraduate CS education.
Panel presentation with Dick Brown, Joel C. Adams, Jens Mache, and Libby Shoop.
Presented at
43rd ACM
Technical Symposium on Computer Science Education (SIGCSE), 2012
-
Teaching Parallel Computing with Higher-Level Languages and Compelling
Examples.
Poster written with
Jens Mache, Casey Samoore (Knox `12), Sung Joo Lee (Knox `13), Johnathan Ebbers
(Knox `13), Christopher T. Mitchell, Julian H. Dale.
Presented at
43rd ACM
Technical Symposium on Computer Science Education (SIGCSE), 2012
This material is based upon work supported by the National Science
Foundation under Grants
DUE-1044299
and
DUE-1044932.
Any opinions, findings, and conclusions or recommendations expressed
in this material are those of the author(s) and do not necessarily
reflect the views of the National Science Foundation.
Last modified December 2015 by
dbunde@knox.edu