10 likes | 101 Views
Spreading Curricular Change in PDC: Some Practical Tools. Dick Brown. Joel Adams. Libby Shoop. Saint Olaf College – Northfield, MN. Calvin College – Grand Rapids, MI. Macalester College – St. Paul, MN. Abstract
E N D
Spreading Curricular Change in PDC: Some Practical Tools Dick Brown Joel Adams Libby Shoop Saint Olaf College – Northfield, MN Calvin College – Grand Rapids, MI Macalester College – St. Paul, MN Abstract The NSF-TCPP Curriculum Initiative on Parallel and Distributed Computing (PDC) is not alone in calling for increased PDC education in undergraduate computer science (CS) programs. Informed by the TCPP effort in PDC, the new ACM-IEEE/CS joint curricular recommendations, known as CS2013, include a new Knowledge Area devoted to PDC. Strikingly, an analysis of the CS 2013 recommendations (which spans all CS fields) indicates PDC-related learning objectives in most other Knowledge Areas as well, totaling approximately 10% of all CS2013 learning objectives. Our CSinParallel project, which provides modular teaching materials for incrementally adding PDC to existing CS courses, has conducted three curriculum workshop events in the past year aimed at assisting institutions across the US that seek to add PDC to their existing undergraduate CS major curricula. This poster proceeds from these events, highlighting summary spreadsheet tools that are based on much larger, more comprehensive official spreadsheets from TCPP and CS2013, for facilitating curricular change in PDC at the undergraduate level. NSF-TCPP Curriculum Initiative on Parallel and Distributed Computing (TCPP Recommendations) The NSF-TCPP Curriculum Initiative has led not only in providing curriculum recommendations for PDC topics in undergraduate CS majors, with an emphasis on teaching PDC topics in four “core” courses (CS1, CS2, Algorithms/Data Structures, and Architecture), but also in gathering and supporting professors who put these recommendations into practice, through the Early Adopter program. The left side grid below indicates how CSinParallel materials and St. Olaf College’s curriculum relate to the TCPP recommendations for teaching PDC. ACM-IEEE/CS Joint Curricular Recommendations in Computer Science (CS2013) The two professional societies have jointly issued curricular recommendations for undergraduate CS majors approximately every 10 years since 1991. The current recommendations, known as CS2013, feature a sudden and substantial increase in PDC topics in response to factors such as the emergence of multicore processors and the rise of cloud computing. As the spreadsheet below indicates, PDC appears not only in new PD and SF knowledge areas, but also in many other knowledge areas throughout the curriculum. The right side grid below indicates how CSinParallel materials and St. Olaf College’s curriculum relate to the presence of PDC in CS2013. • CSinParallel • The CSinParallel project calls for teaching PDC concepts should be taught early and often throughout the computer science curriculum, using effective active-learning pedagogy. In order to accomplish this, we produce flexible teaching modules on topics ranging across the spectrum of parallel computing principles and practices, each designed for use in a variety course and institutional contexts. Each module contains: • learning objectives • comments on contexts for its use • expository text • student exercises, and • assessment tools • We seek to make it as convenient as possible for an instructor to insert a day or two on parallel computing in a course, even when that instructor may not have taught parallelism in that course in the past. Students who see PDC topics in many courses perceive the ubiquity of PDC throughout CS, and experience many aspects of this broad and rich subject area. St. Olaf College St. Olaf is a liberal-arts college in Northfield, Minnesota that recently (2002) expanded to a major program. Still small (17 majors this year, only three full-time faculty), we have nevertheless offered short PDC topics in almost every course from CS1 to the Senior Capstone Seminar in recent years. Examples include: Hadoop computing using the simplified WebMapReduce interface in every section of CS1 since 2010; programming with multiple cores (with race conditions) in Hardware Design, (a “computer organization course”) since 2010; and formal methods of distributed computing using the Pi Calculus in Theory of Computation (since 2011). TCPP recommendations CS2013 recommendations Note: In the mapping at center between TCPP and CS2013, we assert that many different aspects of PDC shed light on “Why and what is parallel/distributed computing” St. Olaf College CS Course Key CSinParallel Module Key • Even programs of modest means can address many of the PDC curricular recommendations in TCPP and CS2013 at all curricular levels through an incremental, modular approach, given support from TCPP and strategies such as CSinParallel modules. • Although TCPP recommendations refer only to PDC topics and CS2013 spans all undergraduate CS content areas, numerous affirming and intriguing interconnections relate the two recommendations. Some observations This material is based on work supported by the National Science Foundation under Grant Nos. DUE-1226172/1225739/1225796. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.