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. With computing impacting most every professional field, it has become essential to provide pathways for students other than those majoring in computer science to acquire computing knowledge and skills. Virtually all employers and graduate and professional schools seek these skills in their employees or students, regardless of discipline. Academia currently leans towards approaches such as double majors or combined majors between computer science and other non-CS disciplines, commonly referred to as “CS+X” programs. These programs tend to require rigorous courses gleaned from the institutions’ courses for computer science majors. Thus, they may not meet the needs of majors in disciplinesmore »such as the social and biological sciences, humanities, and others. The University of Maryland, Baltimore County (UMBC) is taking an approach more suitably termed “X+CS” to fulfill the computing needs of non-CS majors. As part of a National Science Foundation (NSF) grant, we are developing a “computing” minor specifically to meet their needs. To date, we have piloted the first two of the minor’s approximately six courses. The first is a variation on the existing Computer Science I course required for majors but restricted to nonmajors. Both versions of the course use the Python language and cover the same programming content, but with the non-majors assigned projects with relevance to non-CS disciplines. We use the same student assessment measures of homework, projects, and examinations for both courses. After four semesters, results show that non-CS majors perform comparably to majors. Students also express increased interest in computing and satisfaction with being part of a non- CS major cohort. The second course was piloted in fall 2019. It is a new course intended to enhance and hone programming skills and introduce topics such as web scraping, HTML and CSS, web application development, data formats, and database use. Students again express increased interest in computing and were already beginning to apply the computing skills that they were learning to their non-CS courses. As a welcome side effect, we experienced a significant increase in the number of women and under-represented minorities (URMs) in these two courses when compared with CS-major specific courses. Overall, women comprised 52% of the population, with URMs following a similar upward trend. We are currently developing the third course in the computing minor and exploring options for the remaining three. Possibilities include electives from our Information Systems major. We will also be working with our science, social science, and humanities departments to utilize existing courses in those disciplines that apply computing. The student response that we have received thus far provides us with evidence that our computing minor will be popular among UMBC’s non-CS population, providing them with a more suitable and positive computing education than existing CS+X efforts.« less