Concurrent CS: preparing students for a multicore world

  • Authors:
  • Daniel J. Ernst;Daniel E. Stevenson

  • Affiliations:
  • The University of Wisconsin - Eau Claire, Eau Claire, WI, USA;The University of Wisconsin - Eau Claire, Eau Claire, WI, USA

  • Venue:
  • Proceedings of the 13th annual conference on Innovation and technology in computer science education
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Current trends in microprocessor design are fundamentally changing the way that performance is extracted from computer systems. The previous programming model of sequential uniprocessor execution is being replaced quickly with a need to write software for tightly-coupled shared memory multiprocessor systems. Academicians and business leaders have both challenged programmers to update their skill sets to effectively tackle software development for these newer platforms [2]. At the University of Wisconsin - Eau Claire, we have taken steps early in our curriculum to introduce our students to concurrent programming. Our approach is not to add parallel programming as a separate class, but to integrate concurrency concepts into traditional material throughout a student's coursework, beginning in CS1. Our goal is for students to gain both familiarity and confidence in using parallelism to their advantage. This paper describes the programming process we seek to introduce to our students and provides example assignments that illustrate the ease of integrating this process into a typical curriculum.