A New Industry-Centred Module on Structured Parallel Programming

A New Industry-Centred Module on Structured Parallel Programming

DOI: 10.4018/978-1-60960-797-5.ch008
OnDemand PDF Download:
No Current Special Offers


This work presents the case for the introduction of a new module on parallel programming for the core degree programmes in the School of Computing at the Robert Gordon University, and elsewhere. Having been conceived and designed with the industry-leading tools for structured parallel programming in mind, this module introduces students to parallel architectures, structured parallelism, and parallel programming. The main innovation of our approach is its emphasis on the structured parallelism environments recently released by Google, Microsoft, and Intel.
Chapter Preview


As part of a panel of experts at a recent computer science conference, Ivanov et al. (2008) highlighted the key factors in the case for teaching parallel computing in universities:

  • Essential: Parallel computing provides a virtual laboratory for many disciplines such as systems biology, physics, astronomy, meteorology, sociology and anthropology, enabling them to focus on complex problems that would be otherwise unsolvable.

  • Available and Affordable: Parallel computing is here to stay and expand: every single device is expected to feature parallelism, and some supercomputing facilities have machines with hundreds of thousands of cores. This trend is not expected to change but to permeate still more parts of our lives.

  • Difficult: Computing has been traditionally taught primarily within a sequential frame of mind, but parallel solutions require a different way of approaching and dissecting a problem. They require a holistic analysis and understanding of the system architecture, the programming paradigm, and the problem constraints. Parallel computing requires calculations to be synchronised, staged, and/or communicated over a number of different phases. Message-passing, threads, load-balancing and semaphores are matters restricted to the expert software developers.

Thus, while we know that parallel computing is a sine qua non for many disciplines and is here to stay, the status quo tends to render it an experts-only field. But teaching parallel computing ought to be no longer a question of if’, but of how soon. Goth (2009) mentions that computer scientists on university faculties say academia is debating how and when to introduce parallel programming throughout the curriculum, instead of just offering an upper-level course as is now common. It is of interest that the main sources quoted in that article are Intel, Microsoft, and Cilk Arts, an MIT spin-off.

Complete Chapter List

Search this Book: