skip to main content

Title: Unplugged Activities to Introduce Parallel Computing in Introductory Programming Classes: an Experience Report
Learning programming in early introductory classes is challenging for first year university students, and introducing parallel programming (PDC) in early classes along with traditional sequential programming is even more challenging. Unplugged activities may help alleviate some of the difficulties for students. Unplugged activities have been shown to increase student interest, and to enhance student understanding of CS programming concepts. We have used unplugged activities to teach PDC concepts before introducing parallel programming. Our experiences show that using unplugged activities to introduce the PDC concepts reduce the barrier to learn parallel programming.  more » « less
Award ID(s):
Author(s) / Creator(s):
; ; ;
Date Published:
Journal Name:
ITiCSE '19: Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education
Page Range / eLocation ID:
309 to 309
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. Parallel and distributed computing (PDC) has become pervasive in all aspects of computing, and thus it is essential that students include parallelism and distribution in the computational thinking that they apply to problem solving, from the very beginning. Computer science education is still teaching to a 20th century model of algorithmic problem solving. Sequence, branch, and loop are taught in our early courses as the only organizing principles needed for algorithms, and we invest considerable time in showing how best to sequentially process large volumes of data. All computing devices that students use currently have multiple cores as well as a GPU in many cases. Most of their favorite applications use multiple cores and numbers of distributed processors. Often concurrency offers simpler solutions than sequential approaches. Industry is desperate for software engineers who think naturally in terms of exploiting these capabilities, rather than seeing them as an exotic upper-level topic that gets layered over a sequential solution. However, we are still teaching students to solve problems using sequential thinking. In this workshop we overview key PDC concepts and provide examples of how they may naturally be incorporated in early computing classes. We will introduce plugged and unplugged curriculum modules that have been successfully integrated in existing computing classes at multiple institutions. We will highlight the upcoming summer training workshop, for which we have funding to support attendance, as well as other CDER (Center for Parallel and Distributed Computing Curriculum Development and Educational Resources) activities. 
    more » « less
  2. Instructor-led presentation-based teaching mainly focuses on delivering content. Whereas student active presentations-based teaching approaches require students to take leadership in learning actions. Many teaching and learning strategies were adopted to foster active student participation during in-class learning activities. We developed the student presentation-based effective teaching (SPET) approach in 2014 to make student presentation activity the central element of learning challenging concepts. We have developed several versions to meet the need for teaching small classes (P. Tyagi, "Student Presentation Based Effective Teaching (SPET) Approach for Advanced Courses," in ASME IMECE 2016-66029, V005T06A026), large enrolment classes (P. Tyagi, "Student Presentation Based Teaching (SPET) Approach for Classes With Higher Enrolment," ASME IMECE 2018-88463, V005T07A035), and online teaching during COVID-19. (P. Tyagi, "Second Modified Student Presentation Based Effective Teaching (SPET) Method Tested in COVID-19 Affected Senior Level Mechanical Engineering Course," in ASME IMECE 2020-23615, V009T09A026). The SPET approach has successfully engaged students with varied interests and competence levels in the learning process. SPET approach has also made it possible to cover new topics such as training engineering students about positive intelligence skills to foster lifelong learning aptitude and doing engineering projects in a group setting. However, it was noted that many students who were overwhelmed with parallel academic demands in other courses and different activities were underperforming via SPET-based learning strategies. SPET core functioning depends on the following steps: Step 1: Provide a set of conceptual and topical questions for students to answer individually after self-education from the recommended textbook or course material, Step-2: Group presentations are prepared by the prepared students for in-class discussion, Step-3: Group makes a presentation in class 1-2 weeks after the day of the assignment to seek instructor feedback and to do peer discussion. The instructor noted that students unfamiliar with the new concepts and terminologies in the SPET assignment struggled to respond to questions individually and contribute to the group discussion based on their presentation. Several motivated students who invested time in familiarizing new concepts and terminologies met or exceeded the expectations. However, a significant student population struggled. To alleviate this issue author has implemented a further improvement in SPET approach. This paper reports teaching experiments conducted in MECH 487 Photovoltaic Cells and Solar Thermal Energy System and MECH 462 Design of Energy Systems course. This improvement requires augmenting SPET with instructor-led concept familiarization discussion on the day of issuing the assignment or close to that; for this step instructor utilized exemplary student work from prior SPET-based teaching of the same course. In the survey, many students expressed their views about the improvement and reported introductory discussions were helpful and addressed several reservations and impediments students encountered. This paper will discuss the structure of the new improvement strategy and outcomes-including student feedback and comments. 
    more » « less
  3. Robotics may be an ideal way to teach cybersecurity concepts to young students in the elementary classroom. Research shows robots can be an engaging experience and benefit learning in ways useful in other areas of education. Programming robots provides an ideal context for compelling demonstrations of cybersecurity concepts. Unplugged robotics activities benefit from the engaging aspect of robots but have the added advantage of bypassing hardware and making some concepts more transparent. Señor Robot is a gamified unplugged robotics activity modeled after some activities used before but specifically designed for cybersecurity education in the context of mathematics. The design and implementation of Señor Robot in a third-grade classroom is discussed along with observations and results of student assessments. Strengths and weaknesses of Señor Robot are examined and guide a proposed revision of the game called Frogbotics. An expanded instruction set and applicability to English language arts are considered along with ways to use Frogbotics to teach specific topics in cybersecurity. A website is provided as a dissemination point for materials developed in the study. 
    more » « less
  4. This special session will report on the updated NSF/IEEE-TCPP Curriculum on Parallel and Distributed Computing released in Nov 2020 by the Center for Parallel and Distributed Computing Curricu- lum Development and Educational Resources (CDER). The purpose of the special session is to obtain SIGCSE community feedback on this curriculum in a highly interactive manner employing the hybrid modality and supported by a full-time CDER booth for the duration of SIGCSE. In this era of big data, cloud, and multi- and many-core systems, it is essential that the computer science (CS) and computer engineering (CE) graduates have basic skills in par- allel and distributed computing (PDC). The topics are primarily organized into the areas of architecture, programming, and algo- rithms topics. A set of pervasive concepts that percolate across area boundaries are also identified. Version 1 of this curriculum was released in December 2012. That curriculum guideline has over 140 early adopter institutions worldwide and has been incorpo- rated into the 2013 ACM/IEEE Computer Science curricula. This Version-II represents a major revision. The updates have focused on enhancing coverage related to the topical aspects of Big Data, Energy, and Distributed Computing. The session will also report on related CDER activities including a workshop series on a PDC institute conceptualization, developing a CE-oriented version of the curriculum, and identifying a minimal set of PDC topics aligned with ABET’s exposure-level PDC require- ments. The interested SIGCSE audience includes educators, authors,publishers, curriculum committee members, department chairs and administrators, professional societies, and the computing industry. 
    more » « less
  5. Ghafoor, Sheikh ; Prasad, Sushil K. (Ed.)
    The ACM/IEEE CS 2013 curriculum recommendations state that every undergraduate CS major should learn about parallel and distributed computing (PDC). One way to accomplish this is to teach students about the Message Passing Interface (MPI), a platform that is commonly used on modern supercomputers and Beowulf clusters, but can also be used on a Network of Workstations (NoW), or a multicore laptop or desktop. MPI incorporates many PDC concepts and can serve as a platform for hands-on learning activities in which students must apply those concepts. The MPI standard defines language bindings for Fortran and C/C++, but many university instructors lack expertise in these languages, preventing them from using MPI in their courses. OpenMPI is a free implementation of the MPI standard that also provides Java bindings for MPI. This paper describes how to install OpenMPI with these Java bindings; to illustrate the use of these bindings, the paper also presents several patternlets—minimalist example programs—that show how to implement PDC design patterns using OpenMPI and Java. This provides a new means of introducing students to PDC concepts. 
    more » « less