skip to main content
10.1145/1734263.1734363acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article

Is teaching parallel algorithmic thinking to high school students possible?: one teacher's experience

Published: 10 March 2010 Publication History

Abstract

All students at our high school are required to take at least one course in Computer Science prior to their junior year. They are also required to complete a year-long senior project associated with a specific in-house laboratory, one of which is the Computer Systems Lab. To prepare students for this experience the lab offers elective courses at the post-AP Computer Science level. Since the early 1990s one of these electives has focused on parallel computing. The course enrolls approximately 40 students each year for two semesters of instruction. The lead programming language is C and topics include a wide array of industry-standard and experimental tools. Since the 2007-2008 school year we have included a unit on parallel algorithmic thinking (PAT) using the Explicit Multi-Threading (XMT) system. We describe our experiences using this system after self-studying the approach from a publicly available tutorial. Overall, this article provides significant evidence regarding the unique teachability of the XMT PAT approach, and advocates using it broadly in Computer Science education.

References

[1]
Emulator for xmt-c. sourceforge.net/projects/xmtc.
[2]
Toolkit for cuda. nvidia.com/cuda.
[3]
D. Ernst, B. Wittman, B. Harvey, T. Murphy, and M. Wrinn. Preparing students for ubiquitous parallelism. SIGCSE '09: Proceedings of the Fortieth SIGCSE Technical Symposium on Computer Science Education, pages 136--137, 2009.
[4]
J. L. Hennessy and D. A. Patterson. Computer Architecture: A quantitative approach, 4th edition. Morgan Kauffman, 2007.
[5]
C. Jacobsen and M. Jadud. Towards concrete concurrency: occam-pi on the lego mindstorms. SIGCSE '05: Proceedings of the Thirty-Sixth SIGCSE Technical Symposium on Computer Science Education, pages 431--435, 2005.
[6]
J. JaJa. Introduction to Parallel Algorithms. Addison-Wesley Professional, 1992.
[7]
J. Keller, C. Keller, and J. Traff. Practical PRAM Programming. Wiley-Interscience, 2000.
[8]
A. Kimball, S. Michels-Slettvet, and C. Bisciglia. Cluster computing for web-scale data processing. SIGCSE '08: Proceedings of the Thirty-Ninth SIGCSE Technical Symposium on Computer Science Education, pages 116--120, 2008.
[9]
J. Paul, M. Kouril, and K. Berman. A template library to facilitate teaching message passing parallel computing. SIGCSE '06: Proceedings of the Thirty-Seventh SIGCSE Technical Symposium on Computer Science Education, pages 464--468, 2006.
[10]
C. Pheatt. An easy to use distributed computing framework. SIGCSE '07: Proceedings of the Thirty-Eighth SIGCSE Technical Symposium on Computer Science Education, pages 571--575, 2007.
[11]
U. Vishkin. umiacs.umd.edu/users/vishkin/xmt.html.
[12]
U. Vishkin. Using simple abstraction to guide the reinvention of computing for parallelism. Comm. ACM, to appear.

Cited By

View all

Index Terms

  1. Is teaching parallel algorithmic thinking to high school students possible?: one teacher's experience

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SIGCSE '10: Proceedings of the 41st ACM technical symposium on Computer science education
    March 2010
    618 pages
    ISBN:9781450300063
    DOI:10.1145/1734263
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 10 March 2010

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. high school
    2. parallel algorithmic thinking
    3. pram algorithms
    4. xmt

    Qualifiers

    • Research-article

    Conference

    SIGCSE10
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 1,787 of 5,146 submissions, 35%

    Upcoming Conference

    SIGCSE TS 2025
    The 56th ACM Technical Symposium on Computer Science Education
    February 26 - March 1, 2025
    Pittsburgh , PA , USA

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)19
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 17 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)On the model of computationCommunications of the ACM10.1145/354878465:9(32-34)Online publication date: 19-Aug-2022
    • (2022)Has the time come to teach parallel programming to secondary school students?Heliyon10.1016/j.heliyon.2021.e086628:1(e08662)Online publication date: Jan-2022
    • (2020)Teaching Parallel Programming for Beginners in Computer Science2020 IEEE Frontiers in Education Conference (FIE)10.1109/FIE44824.2020.9274155(1-9)Online publication date: 21-Oct-2020
    • (2020)Research on Parallel Computing Teaching: state of the art and future directions2020 IEEE Frontiers in Education Conference (FIE)10.1109/FIE44824.2020.9273914(1-9)Online publication date: 21-Oct-2020
    • (2018)TSGL: A tool for visualizing multithreaded behaviorJournal of Parallel and Distributed Computing10.1016/j.jpdc.2018.02.025118(233-246)Online publication date: Aug-2018
    • (2018)SCoPE@Scuola: (In)-formative Paths on Topics Related with High Performance, Parallel and Distributed ComputingEuro-Par 2017: Parallel Processing Workshops10.1007/978-3-319-75178-8_16(191-202)Online publication date: 8-Feb-2018
    • (2017)One step at a timeJournal of Parallel and Distributed Computing10.1016/j.jpdc.2016.12.024105:C(4-17)Online publication date: 1-Jul-2017
    • (2015)FerbJmon Tools - Visualizing Thread Access on Java Objects using Lightweight Runtime MonitoringEuro-Par 2015: Parallel Processing Workshops10.1007/978-3-319-27308-2_13(147-159)Online publication date: 18-Dec-2015
    • (2014)Limited Time and ExperienceProceedings of the 2014 IEEE International Parallel & Distributed Processing Symposium Workshops10.1109/IPDPSW.2014.184(1071-1078)Online publication date: 19-May-2014
    • (2012)EcoSimProceedings of the 43rd ACM technical symposium on Computer Science Education10.1145/2157136.2157155(51-56)Online publication date: 29-Feb-2012
    • Show More Cited By

    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