Introducing concurrency in CS 1

  • Authors:
  • Kim B. Bruce;Andrea Danyluk;Thomas Murtagh

  • Affiliations:
  • Pomona College, Claremont, CA, USA;Wlliams College, Williamstownn, MA, USA;Williams College, Williamstown, MA, USA

  • Venue:
  • Proceedings of the 41st ACM technical symposium on Computer science education
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Because of the growing importance of concurrent programming, many people are trying to figure out where in the curriculum to introduce students to concurrency. In this paper we discuss the use of concurrency in an introductory computer science course. This course, which has been taught for ten years, introduces concurrency in the context of event-driven programming. It also makes use of graphics and animations with the support of a library that reduces the syntactic overhead of using these constructs. Students learn to use separate threads in a way that enables them to write programs that match their intuitions of the world. While the separate threads do interact, programs are selected so that race conditions are generally not an issue.