May 30, 2018: This copy of the materials does not include class videos because of storage limitations. The links to the videos do not work.

NSF logo

National Science Foundation grant #1141005/6 "Collaborative Research: Teaching Multicore and Many-Core Programming at a Higher Level of Abstraction"

PIs Barry Wilkinson (UNC-Charlotte) and Clayton Ferner (UNC-Wilmington)

The underlying goal of the work of this group is to explore the use of pattern programming in parallel and distributed computing education. Pattern programming is a higher level of abstraction than using low-level parallel programming tools such as MPI. It offers the prospects of ease of programmability, scalability, and improved performance.

Parallel programming courses developed with pattern programming

Pattern Programming Software Developed

Publications
  • Wilkinson, B., and C. Ferner, “The Suzaku Pattern Programming Framework,” 6th NSF/TCPP Workshop on Parallel and Distributed Computing Education (EduPar-16), 30th IEEE International Parallel and Distributed Processing Symposium, Chicago, IL, May 23, 2016. Paper   Slides
  • Ferner, C., B. Wilkinson, and B. Heath, “Experiences and Reflections of using Parallel Design Patterns Tools in an Undergraduate Program.” AAAS & NSF Envisioning the Future of Undergraduate STEM Education: Research and Practice Symposium, Washington, DC, April 27-29, 2016. Paper
  • Ferner, C., B. Wilkinson, and B. Heath, “Using Patterns to Teach Parallel Computing,” 4th NSF/TCPP Workshop on Parallel and Distributed Computing Education (EduPar-14), 28th IEEE International Parallel & Distributed Procession Symposium (IPDPS 2014, Phoenix, AR, May 19, 2014. Paper
  • Ferner, C., B. Wilkinson, and B. Heath, “Toward using Higher-level Abstractions to Teach Parallel Computing,” 3rd NSF/TCPP Workshop on Parallel and Distributed Computing Education (EduPar-13), 27th IEEE International Parallel & Distributed Procession Symposium (IPDPS 2013), Boston, MA, May 20, 2013. Paper
  • Wilkinson, B., J. Villalobos and C. Ferner, “Pattern Programming Approach for Teaching Parallel and Distributed Computing,” SIGCSE 2013 Technical Symposium on Computer Science Education, Denver, USA, March 6-9, 2013. Paper    Slides
    Conference panel:
  • Brown, R. A., J. C. Adams, C. Ferner, E. Shoop, and B. Wilkinson, “Teaching Parallel Design Patterns to Undergraduates in Computer Science,” panel session, SIGCSE 2014 Technical Symposium on Computer Science Education, Atlanta, USA, March 8, 2014. Paper
    Earlier Research Papers:
  • Villalobos, J. F., and B. Wilkinson, “Using Hierarchical Dependency Data Flows to Enable Dynamic Scalability on Parallel Patterns,” High-Performance Grid and Cloud Computing Workshop, 25th IEEE International Parallel & Distributed Processing Symposium, Anchorage (Alaska) USA, May 16-20, 2011.  Paper
  • Villalobos J. F., and B. Wilkinson, “Skeleton/Pattern Programming with an Adder Operator for Grid and Cloud Platforms,” The 2010 International Conference on Grid Computing and Applications (GCA’10), Las Vegas, Nevada, USA, July 12-15 2010. Paper

Workshops Presented (Pattern Programming)

Seminar Presentations

Acknowledgments: This work continues previous pattern programming work by Jeremy Villalobos, a PhD student at UNC-Charlotte 2007-2011, who developed a Java-based pattern programming framework called Seeds (aka Parallel Grid Application Framework).
NSF logo This material is based upon work supported by the National Science Foundation under the collaborative grant #1141005/1141006. 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 18, 2016