Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2538862.2538883acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article

Injecting parallel computing into CS2

Published: 05 March 2014 Publication History

Abstract

In today's multicore world, every CS student should learn about and gain experience with (at least) shared-memory parallelism. CS Curriculum 2013 acknowledges this by shifting parallel computing from elective status into the core. This paper argues that students should be introduced to parallelism early, that the CS2 (Data Structures) course is a natural place to do so, and reports our experience in doing this. The paper also argues that students should be taught to solve problems using parallel patterns, which are industry-standard best-practice strategies for parallel problem solving. To support such teaching, the paper presents patternlets -- minimalist, scalable, executable programs, each illustrating the behavior of a parallel pattern -- as a useful pedagogical tool for teaching parallel concepts. Several patternlets and their executions are given. The paper presents evidence that this injection of parallelism into CS2 has been successful.

References

[1]
D. Ernst, D. Stevenson, and P. Wagner. 2009. Hybrid and Custom Data Structures: Evolution of the Data Structures Course. In ACM SIGCSE Bulletin -- ITiCSE'09 (41)3. 213--217. DOI= http://dx.doi.org/10.1145/1562877.1562945.
[2]
J. Graham. 2007. Integrating parallel programming techniques into traditional computer science curricula. ACM SIGCSE Bulletin (39)4. 75--78 DOI= http://dx.doi.org/10.1145/1345375.1345419.
[3]
J. Hummel. 2012. C++11 in Parallel. Workshop, 43rd ACM Technical Symposium on Computer Science Education (Raleigh, NC) SIGCSE'12.
[4]
Intel Corp. 2013, Intel Xeon E7 Processor Family. Retrieved August 24, 2013 from http://www.intel.com/content/www/us/en/processors/xeon/xeon-processor-e7-family.html.
[5]
Intel Corp. 2013. Intel Xeon Phi Product Family. Retrieved August 24, 2013 from http://www.intel.com/content/www/us/en/processors/xeon/xeon-phi-detail.html.
[6]
K. Keutzer, B. Massingill, T. Mattson, B. Sanders. 2010. A Design Pattern Language for Engineering (Parallel) Software: Merging the PLPP and OPL Projects. Proceedings of the 2010 Workshop on Parallel Programming Patterns (Carefree, AZ), ParaPLoP'10. DOI= http://dx.doi.org/10.1145/1953611.1953620.
[7]
Nvidia. 2013. CUDA Parallel Computing Platform. Retrieved August 24, 2013 from http://www.nvidia.com/object/cuda_home_new.html.
[8]
S. Massung and C. Heeren. 2013. Visualizing Parallelism in CS 2. Proceedings of the 27th IEEE International Parallel and Distributed Processing Symposium (Boston, MA), IPDPS'13. 1252--1256.
[9]
A. Radenski. 2012. Integrating data-intensive cloud computing with multicores and clusters in an HPC course. In Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education (Haifa, Israel), ITiCSE'12. 69--74. DOI= http://dx.doi.org/10.1145/2325296.2325316.
[10]
M. Sahami, S. Roach, E. Cuadro-Vargas, and R. LeBlanc. 2013. ACM/IEEE-CS Computer Science Curriculum 2013: Reviewing the Ironman Report. Proceedings of the 44th ACM Technical Symposium on Computer Science Education (Denver, CO). SIGCSE'13. 13--14. DOI= http://dx.doi.org/10.1145/2445196.2445206.
[11]
E. Shoop, R. Brown, E. Biggers, M. Kane, D. Lin, and M. Warner. 2012. Virtual Clusters for Parallel and Distributed Education. Proceedings of the 43rd ACM Technical Symposium on Computer Science Education (Raleigh, NC) SIGCSE'12, 517--522. DOI= http://dx.doi.org/10.1145/2157136.2157287.

Cited By

View all
  • (2025)An Introductory-level Undergraduate CS Course that Introduces Parallel ComputingJournal of Parallel and Distributed Computing10.1016/j.jpdc.2025.105044(105044)Online publication date: Feb-2025
  • (2024)Interactive Textbooks for Parallel and Distributed Computing Across the Undergraduate CS Curriculum2024 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)10.1109/IPDPSW63119.2024.00085(377-384)Online publication date: 27-May-2024
  • (2023)Faculty Development Workshops for Integrating PDC in Early Undergraduate Curricula: An Experience ReportProceedings of the SC '23 Workshops of The International Conference on High Performance Computing, Network, Storage, and Analysis10.1145/3624062.3624097(314-323)Online publication date: 12-Nov-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGCSE '14: Proceedings of the 45th ACM technical symposium on Computer science education
March 2014
800 pages
ISBN:9781450326056
DOI:10.1145/2538862
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: 05 March 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. CS2
  2. multithreading
  3. openmp
  4. parallel
  5. patterns
  6. shared memory

Qualifiers

  • Research-article

Conference

SIGCSE '14
Sponsor:

Acceptance Rates

SIGCSE '14 Paper Acceptance Rate 108 of 274 submissions, 39%;
Overall Acceptance Rate 1,595 of 4,542 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)7
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2025)An Introductory-level Undergraduate CS Course that Introduces Parallel ComputingJournal of Parallel and Distributed Computing10.1016/j.jpdc.2025.105044(105044)Online publication date: Feb-2025
  • (2024)Interactive Textbooks for Parallel and Distributed Computing Across the Undergraduate CS Curriculum2024 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)10.1109/IPDPSW63119.2024.00085(377-384)Online publication date: 27-May-2024
  • (2023)Faculty Development Workshops for Integrating PDC in Early Undergraduate Curricula: An Experience ReportProceedings of the SC '23 Workshops of The International Conference on High Performance Computing, Network, Storage, and Analysis10.1145/3624062.3624097(314-323)Online publication date: 12-Nov-2023
  • (2022)Hands-On, Instructor-Light, Checked and Tracked Training of Trainers in Java Fork-Join Abstractions2022 IEEE 29th International Conference on High Performance Computing, Data and Analytics Workshop (HiPCW)10.1109/HiPCW57629.2022.00009(28-35)Online publication date: Dec-2022
  • (2021)Experience and Practice Teaching an Undergraduate Course on Diverse Heterogeneous Architectures2021 IEEE/ACM Ninth Workshop on Education for High Performance Computing (EduHPC)10.1109/EduHPC54835.2021.00006(1-8)Online publication date: Nov-2021
  • (2021)Using Real-World Problems to Explore and Improve Students' Understanding of Parallelism Concepts2021 IEEE Global Engineering Education Conference (EDUCON)10.1109/EDUCON46332.2021.9453912(57-62)Online publication date: 21-Apr-2021
  • (2021)A Survey of Teaching PDC Content in Undergraduate Curriculum2021 IEEE 11th Annual Computing and Communication Workshop and Conference (CCWC)10.1109/CCWC51732.2021.9376037(1306-1312)Online publication date: 27-Jan-2021
  • (2020)Teaching Modern Multithreading in CS2 with Actors2020 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)10.1109/IPDPSW50202.2020.00061(292-299)Online publication date: May-2020
  • (2020)Investigating the Incorporation of Machine Learning Concepts in Data Structure Education2020 IEEE Frontiers in Education Conference (FIE)10.1109/FIE44824.2020.9274090(1-4)Online publication date: 21-Oct-2020
  • (2020)Learning Parallel Programming Through Programming Challenges2020 IEEE Frontiers in Education Conference (FIE)10.1109/FIE44824.2020.9274009(1-9)Online publication date: 21-Oct-2020
  • 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