Some resources for teaching concurrency

  • Authors:
  • Ganesh Gopalakrishnan;Yu Yang;Sarvani Vakkalanka;Anh Vo;Sriram Aananthakrishnan;Grzegorz Szubzda;Geof Sawaya;Jason Williams;Subodh Sharma;Michael DeLisi;Simone Atzeni

  • Affiliations:
  • Univ. of Utah, Salt Lake City, UT;Univ. of Utah, Salt Lake City, UT;Univ. of Utah, Salt Lake City, UT;Univ. of Utah, Salt Lake City, UT;Univ. of Utah, Salt Lake City, UT;Univ. of Utah, Salt Lake City, UT;Univ. of Utah, Salt Lake City, UT;Univ. of Utah, Salt Lake City, UT;Univ. of Utah, Salt Lake City, UT;Univ. of Utah, Salt Lake City, UT;Univ. of Utah, Salt Lake City, UT

  • Venue:
  • Proceedings of the 7th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

With the increasing emphasis on exploiting concurrency efficiently and correctly, the lack of suitable pedagogical material for teaching concurrency is a growing problem. In this paper, we summarize a recently concluded class as well as some independent projects in the area of concurrency and multi-core computing that offer some insights to address this problem. We examine background papers, the teaching of low level concurrency, and the teaching of threading and message passing. The use of dynamic formal verification tools in a class setting is discussed in some detail. We conclude with a summary of pedagogical material being assembled, including exercises from a popular textbook on MPI solved using our dynamic verifier ISP. Our observation is that the teaching of concurrency is greatly facilitated by the use of dynamic push-button formal verification tools that can handle non-trivial concurrent programs. Given the growing number of publications on how to teach concurrency as well as employ new programming approaches, our work addresses the somewhat neglected topic of using modern dynamic formal verification methods within the context of widely used concurrency approaches and libraries.