skip to main content

Title: Classifying Pedagogical Material to Improve Adoption of Parallel and Distributed Computing Topics
The NSF/IEEE-TCPP Parallel and Distributed Computing curriculum guidelines released in 2012 (PDC12) is an effort to bring more parallel computing education to early computer science courses. It has been moderately successful, with the inclusion of some PDC topics in the ACM/IEEE Computer Science curriculum guidelines in 2013 (CS13) and some coverage of topics in early CS courses in some universities in the U.S. and around the world. A reason often cited for the lack of a broader adoption is the difficulty for instructors who are not already knowledgable in PDC topics to learn how to teach those topics and align their learning objectives with early CS courses. There have been attempts at bringing textbook chapters, lecture slides, assignments, and demos to the hands of the instructors of early CS classes. However, the effort required to plow through all the available materials and figure out what is relevant to a particular class is daunting. This paper argues that classifying pedagogical materials against the CS13 guidelines and the PDC12 guidelines can provide the means necessary to reduce the burden of adoption for instructors. In this paper, we present CAR-CS, a system that can be used to categorize pedagogical materials according to well- known and more » established curricular guidelines and show that CAR-CS can be leveraged 1) by PDC experts to identify topics for which pedagogical material does not exist and that should be developed, 2) by instructors of early CS courses to find materials that are similar to the one that they use but that also cover PDC topics, 3) by instructors to check the topics that a course currently covers and those it does not cover. « less
Authors:
; ; ; ; ;
Award ID(s):
1245841
Publication Date:
NSF-PAR ID:
10091591
Journal Name:
9th NSF/TCPP Workshop on Parallel and Distributed Computing Education (EduPar-19)
Sponsoring Org:
National Science Foundation
More Like this
  1. Teaching parallel and distributed computing (PDC) concepts is an ongoing and pressing concern for many undergraduate educators. The ACM/IEEE CS Joint Task Force on Computing Curricula (CS2013) recommends 15 hours of PDC education in the undergraduate curriculum. Most recently, the 2019 ABET Criteria for Accrediting Computer Science requires coverage of PDC topics. For faculty who are unfamiliar with PDC, the prospect of incorporating parallel computing into their courses can seem very daunting. For example, should PDC concepts be covered in a single required course (perhaps computer systems) or be scattered throughout different courses in the undergraduate curriculum? What languages aremore »the best/easiest for students to learn PDC? How much revision is truly needed? This Birds of a Feather session provides a platform for computing educators to discuss the common challenges they face when attempting to incorporate PDC into their curricula and share potential solutions. Chiefly, the organizers are interested in identifying "gap areas" that hinder a faculty member's ability to integrate PDC into their undergraduate courses. The multiple viewpoints and expertise provided by the BOF leaders should lead to lively discourse and enable experienced faculty to share their strategies with those beginning to add PDC across their curricula. We anticipate that this session will be of interest to all CS faculty looking to integrate PDC into their courses and curricula.« less
  2. Computer Science (CS) is not introduced equitably across K-12 schools, yet it is increasingly a necessary skill regardless of vocational pathway. Co-curricular activities such as summer camps have become a popular way to introduce CS to K-12 students. Researchers at our institution, through partnerships with other educational institutions and practitioners, developed a transdisciplinary approach of teaching CS in K-12 informal learning environments. Building on positive results in the K-12 informal learning environment, researchers are exploring the applicability of the transdisciplinary modules in formal instruction for early college learners in CS0 and CS1 courses. This paper explores self-efficacy data collected frommore »multiple CS0 and CS1 courses. Learners include freshmen in computing majors and in non-computing majors. We compare their self efficacy growth in computing across race and gender, considering their formal or informal CS education experiences prior to entering college. This work is a part of a larger effort to redesign CS0 and CS1 courses to introduce more complex concepts and important design concepts such as parallel and distributed computing earlier in the curriculum. The authors’ longer-term goal is to investigate active learning strategies that will introduce higher level computer science topics early in the curriculum to enable students to recognize content applicability earlier in their college pathway.« less
  3. This special issue is devoted to progress in one of the most important challenges facing computing education.The work published here is of relevance to those who teach computing related topics at all levels, with greatest implications for undergraduate education. Parallel and distributed computing (PDC) has become ubiquitous to the extent that even casual users feel their impact. This necessitates that every programmer understands how parallelism and a distributed environment affect problem solving. Thus,teaching only traditional, sequential programming is no longer adequate. For this reason, it is essential to impart a range of PDC and high performance computing (HPC) knowledge andmore »skills at various levels within the educational fabric woven by Computer Science (CS), Computer Engineering (CE), and related computational science and engineering curricula. This special issue sought high quality contributions in the fields of PDC and HPC education. Submissions were on the topics of EduPar2016, Euro-EduPar2016 and EduHPC2016 workshops,but the submission was open to all. This special issue includes 12 paper spanning pedagogical techniques, tools and experiences.« less
  4. The 2019 ABET computer science criteria requires that all computing students learn parallel and distributed computing (PDC) as undergraduates, and CS2013 recommends at least fifteen hours of PDC in the undergraduate curriculum. Consequently, many educators look for easy ways to integrate PDC into courses at their institutions. This hands-on workshop introduces Message Passing Interface (MPI) basics in C/C++ and Python using clusters of Raspberry Pis. The Message Passing Interface (MPI) is a multi-language, platform independent, industry-standard library for parallel and distributed computing. Raspberry Pis are an inexpensive and engaging hardware platform for studying PDC as early as the first course.more »Participants will experience how to teach distributed computing essentials with MPI by means of reusable, effective "parallel patterns", including single program multiple data (SPMD) execution, send-receive message passing, the master-worker pattern, parallel loop patterns, and other common patterns, plus longer "exemplar" programs that use MPI to solve significant applied problems. The workshop includes: (i) personal experience with the Raspberry Pi (clusters provided for workshop use); (ii) assembly of Beowulf clusters of Raspberry Pis quickly in the classroom; (iii) self-paced hands-on experimentation with the working MPI programs; and (iv) a discussion of how these may be used to achieve the goals of CS2013 and ABET. No prior experience with MPI, PDC, or the Raspberry Pi is expected. All materials from this workshop will be freely available from CSinParallel.org; participants should bring a laptop to access these materials.« less
  5. The rise in CS enrollments in the past few years has also resulted in a more diverse population of learners that have different expectations, motivations and interests, making it important to provide relevant learning materials in early foundational courses. Grounding Computer Science concepts in reality by solving important real-world or fun problems are keys to increasing students’ motivation and engagement in computing, which may help improve student retention and success. This workshop provides instructors with a hands-on introduction to BRIDGES, a software infrastructure for programming assignments in early computer science courses, such as CS1, CS2, data structures, and algorithm analysis.more »BRIDGES provides the tools for creating engaging programming assignments, including: (1) a simplified API for accessing real-world data, such as those from social networks, entertainment (songs, movies), science, engineering (USGIS Earthquakes, elevation maps), geography (OpenStreet maps), and literature (Project Gutenberg), (2) creating visualizations of the data, (3) an easy to use API for game-based assignments, and, (4) algorithm benchmarking. Workshop attendees will engage in hands-on experience using BRIDGES with multiple datasets, have the opportunity to discuss the challenges they face in their own courses, and how BRIDGES can be used in their own courses. Using BRIDGES in data structures, algorithms, and other courses have shown improved retention of CS knowledge and better student performance in follow-on courses, when compared to students from other sections of the same course. BRIDGES has impacted nearly 2000 students across 20 institutions since its inception 5 years ago. A repository of BRIDGES assignments is now maintained for instructors using BRIDGES in their classes.« less