Upload
julie-parker
View
216
Download
2
Tags:
Embed Size (px)
Citation preview
Spreading Curricular Change in PDC: Some Practical Tools
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.
•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.
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 CollegeSt. 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).
CS2013 recommendationsTCPP recommendations
CSinParallel Module Key
CDS Concurrent Access to Data Structures (2 versions)
DC Distributed Computing Fundamentals
DD Exemplar: Drug Design
GPU GPU Programming
Hetero Heterogeneous Computing
Intro Parallel Computing Concepts
MRMap-reduce Computing for Introductory Students using WebMapReduce
MR2 An Advanced Introduction to Map-reduce using WebMapReduce
Pat Patternlets in Parallel Programming
PiA Exemplar: Computing Pi using Numerical Integration
PiC Pi Calculus: A Theory of Message Passing
PLConcurrency and Map-Reduce Strategies in Various Programming Languages
PMC Programming with Multiple Cores (3 versions)
PS Parallel Sorting
Elementary coursesPL CS 276, Programming Languages
CS1 CS 121, Principles of Computer Science MCA CS 284, Mobile Computing Applications
HD CS 241, Hardware Design TOP CS 300, Topics in Computer Science
SD CS 251, Software Design and Implementation PDC CS 300, Topics: Parallel and Distributed Computing
Intermediate and Advanced courses TC CS 333, Theory of Computation
ADS CS 253, Algorithms and Data Structures ATP CS 350, Advanced Team Project
ESD CS 263, Ethical Issues in Software Design HPCC IS 201, Power Computing in All Disciplines
OS CS 273, Operating Systems
Macalester College – St. Paul, MN
Libby ShoopSaint Olaf College – Northfield, MN
Dick BrownCalvin College – Grand Rapids, MI
Joel Adams
St. Olaf College CS Course Key
Some observations
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”