skip to main content
keynote

Parallel thinking

Published: 14 February 2009 Publication History

Abstract

Assuming that the multicore revolution plays out the way the microprocessor industry expects, it seems that within a decade most programming will involve parallelism at some level. One needs to ask how this affects the the way we teach computer science, or even how we have people think about computation. With regards to teaching there seem to be three basic choices: (1) we only train a small number of experts in parallel computation who develop a collection of libraries, and everyone else just uses them; (2) we leave our core curriculum pretty much as is, but add some advanced courses on parallelism or perhaps tack on a few lectures at the end of existing courses; or (3) we start teaching parallelism from the start and embed it throughout the curriculum with the idea of getting students to think about parallelism as the most natural form of computation and sequential computation as a special case.
This talk will examine some of the implications of the third option. It will argue that thinking about parallelism, when treated in an appropriate way, might be as easy or easier that thinking sequentially. A key prerequisite, however, is to identify what the core ideas in parallelism are and how they might be layered and integrated with existing concepts. Another more difficult issue is how to cleanly integrate these ideas among courses. After all much of the success of sequential computation follows from the concept of a random access machine and its ability to serve as a simple, albeit imperfect, interface between programming languages, algorithm analysis, and hardware design. The talk will go through an initial list of some core ideas in parallelism, and an approach to integrating these ideas between parallel algorithms, programming languages, and, to some extent, hardware. This requires, however, moving away from the concept of a machine model as a interface for thinking about computation.

Cited By

View all
  • (2019)The World Teaching of Parallel and Distributed ProgrammingInternational Journal of Computer Architecture Education10.5753/ijcae.2019.48458:1(1-9)Online publication date: 1-Dec-2019
  • (2013)Teaching Parallel and Distributed Computing to Undergraduate Computer Science StudentsProceedings of the 2013 IEEE 27th International Symposium on Parallel and Distributed Processing Workshops and PhD Forum10.1109/IPDPSW.2013.276(1297-1303)Online publication date: 20-May-2013
  • (2010)Adapting computing curricula to a multicore world2010 IEEE Frontiers in Education Conference (FIE)10.1109/FIE.2010.5673386(T3J-1-T3J-5)Online publication date: Oct-2010
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 44, Issue 4
PPoPP '09
April 2009
294 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/1594835
Issue’s Table of Contents
  • cover image ACM Conferences
    PPoPP '09: Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming
    February 2009
    322 pages
    ISBN:9781605583976
    DOI:10.1145/1504176
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 February 2009
Published in SIGPLAN Volume 44, Issue 4

Check for updates

Author Tags

  1. algorithms
  2. education
  3. parallelism

Qualifiers

  • Keynote

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)0
Reflects downloads up to 08 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2019)The World Teaching of Parallel and Distributed ProgrammingInternational Journal of Computer Architecture Education10.5753/ijcae.2019.48458:1(1-9)Online publication date: 1-Dec-2019
  • (2013)Teaching Parallel and Distributed Computing to Undergraduate Computer Science StudentsProceedings of the 2013 IEEE 27th International Symposium on Parallel and Distributed Processing Workshops and PhD Forum10.1109/IPDPSW.2013.276(1297-1303)Online publication date: 20-May-2013
  • (2010)Adapting computing curricula to a multicore world2010 IEEE Frontiers in Education Conference (FIE)10.1109/FIE.2010.5673386(T3J-1-T3J-5)Online publication date: Oct-2010
  • (2012)Parallel computingACM Inroads10.1145/2339055.23390573:3(4-8)Online publication date: 1-Sep-2012
  • (2011)Designing an undergraduate curriculum based on parallelism and concurrencyProceedings of the 49th annual ACM Southeast Conference10.1145/2016039.2016051(1-6)Online publication date: 24-Mar-2011
  • (2011)Encouraging parallel thinking through explicit coordination modelingProceedings of the 42nd ACM technical symposium on Computer science education10.1145/1953163.1953292(441-446)Online publication date: 9-Mar-2011
  • (2009)Some resources for teaching concurrencyProceedings of the 7th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging10.1145/1639622.1639624(1-6)Online publication date: 19-Jul-2009

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media