Parallel and Distributed Computing in CS2013 Mehran Sahami Computer Science Department Stanford University.

Slides:



Advertisements
Similar presentations
Parallel Programming Motivation and terminology – from ACM/IEEE 2013 curricula.
Advertisements

Getting Organized for the Transition to the Common Core What You Need to Know.
1 Undergraduate Curriculum Revision Department of Computer Science February 10, 2010.
Session F4G - Computing Curricula: Computer Engineering Panel: Pradip K. Srimani, Clemson University David L. Soldan, Kansas State University John Impagliazzo,
Supporting Quality of Student Learning Online: Using Quality Matters to Strengthen Online Teaching and Learning Valencia College - Orlando, Florida Charles.
Cyber Education Project Accreditation Committee November 2014.
NSF/TCPP Early Adopter Experience at Jackson State University Computer Science Department.
Hong Lin Computer and Mathematical Sciences University of Houston – Downtown Teaching Parallel and Distributed Computing Using a Cluster Computing Portal.
© Copyright CSAB 2013 Future Directions for the Computing Accreditation Criteria Report from CAC and CSAB Joint Criteria Committee Gayle Yaverbaum Barbara.
Computational Science Education Programs CASC Meeting October 4,2012 Steven I. Gordon
Computing Curriculum - Computer Engineering (CCCE) A Model For Computer Engineering Curricula in the Next Decade Victor P. Nelson, David L. Soldan, Andrew.
Concurrency: Mutual Exclusion and Synchronization Why we need Mutual Exclusion? Classical examples: Bank Transactions:Read Account (A); Compute A = A +
1 Distributed Computing Algorithms CSCI Distributed Computing: everything not centralized many processors.
CS 584. A Parallel Programming Model We need abstractions to make it simple. The programming model needs to fit our parallel machine model. Abstractions.
Computer Engineering Computing Curricula John Impagliazzo Pradip Srimani Andrew McGettrick Robert Sloan IEEE Computer Society / ACM Computing Curricula.
CSCI 3 Introduction to Computer Science. CSCI 3 Course Description: –An overview of the fundamentals of computer science. Topics covered include number.
Concurrency CS 510: Programming Languages David Walker.
UGCC Report, 11/29/05 Committee: Bettati, Gutierrez, Keyser, Jiheon Kwan (undergrad rep), Leyk, Loguinov, Petersen, Welch (chair) Meetings: Fridays 2-3.
Revised MS Program in Computer Science INFORMATION AND COMPUTER SCIENCE DEPARTMENT October 2002.
A. Frank - P. Weisberg Operating Systems Introduction to Cooperating Processes.
4/27/2006Education Technology Presentation Visual Grid Tutorial PI: Dr. Bina Ramamurthy Computer Science and Engineering Dept. Graduate Student:
Overview of the MS Program Jan Prins. The Computer Science MS Objective – prepare students for advanced technical careers in computing or a related field.
4 August st Century Computing Curricula 1 Richard J. LeBlanc, Jr. Professor, College of Computing Georgia Institute of Tech nology Atlanta, Georgia,
CSinParallel Modules and the Topics in the Curriculum 2013 Core Libby Shoop Math, Statistics, and Computer Science Macalester College.
Csinparallel.org Patterns and Exemplars: Compelling Strategies for Teaching Parallel and Distributed Computing to CS Undergraduates Libby Shoop Joel Adams.
Software Engineering in Computer Science Curricula 2013 (CS2013) Richard LeBlanc Seattle University
Adding PDC within a Six-Course Subset of the CS Major Apan Qasem Texas State University.
Synchronization (Barriers) Parallel Processing (CS453)
© 2009 Matthew J. Sottile, Timothy G. Mattson, and Craig E Rasmussen 1 Concurrency in Programming Languages Matthew J. Sottile Timothy G. Mattson Craig.
Computer Science Curricula 2013 (CS2013)
Information Security and Computer Systems: An Integrated Approach Mark A. Holliday and Bill Kreahling, Dept of Mathematics and Computer Science Western.
 ACM/IEEE-CS Computer Science Curriculum Approximately every decade since “Curriculum ’68” ACM & IEEE-CS jointly publish curricular guidance.
Learning by Doing (LBD) based Course Content Development (in Areas of CS and ECE) International Institute of Information Technology Hyderabad, India 1.
Introduction to Operating Systems J. H. Wang Sep. 18, 2015.
Flexible Instructional Space for Teaching Science Courses with emphasis on Inquiry and Collaborative Active Learning Finch-Gray Science Building Lab Renovation.
Spreading Curricular Change in PDC: Some Practical Tools This material is based on work supported by the National Science Foundation under Grant Nos. DUE / /
Early Adopter: Integrating Concepts from Parallel and Distributed Computing into the Undergraduate Curriculum Eileen Kraemer Computer Science Department.
Update on Computer Science Curriculum 2013 (CS2013) Mehran Sahami Computer Science Department Stanford University
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Introduction to Concurrency.
Guiding Principles. Goals First we must agree on the goals. Several (non-exclusive) choices – Want every CS major to be educated in performance including.
March 4, 2004 Cryptography and Computer Security for Undergraduates Suzanne E. Gladfelter Penn State York
Motions for Permanent Undergraduate Course Numbers Brian L. Evans On Behalf of the ECE Curriculum Committee September 21, 2015.
Computer Science Curricula 2013 (CS2013) Mehran Sahami Stanford University ACM Education Council – November 2013.
Effective Communication for Colleges, 10 th ed., by Brantley & Miller, 2005© Chapter 11 Chapter 11 – Slide 1 Reports, Proposals, and Instructions for the.
A.M.TammaroICDK, February 14-16th, 2011 Reinforcing LIS education: international cooperation for educating the new professionals Anna Maria Tammaro University.
Fault-Tolerant Parallel and Distributed Computing for Software Engineering Undergraduates Ali Ebnenasir and Jean Mayo {aebnenas, Department.
Early Adopter: Integration of Parallel Topics into the Undergraduate CS Curriculum at Calvin College Joel C. Adams Chair, Department of Computer Science.
Chapter 7 -1 CHAPTER 7 PROCESS SYNCHRONIZATION CGS Operating System Concepts UCF, Spring 2004.
Ohio Technology Standards August 9, 2005 Why Standards in Technology? No Child Left Behind Technology Literacy requirement Computer and Multimedia Literacy.
Fall-11: Early Adoption of NSF/TCPP PDC Curriculum at Texas Tech University and Beyond Yong Chen Yu Zhuang Noe Lopez-Benitez May 10 th, 2013.
Revised MS Program in Computer Science INFORMATION AND COMPUTER SCIENCE DEPARTMENT December 2002.
Multi-Semester Effort and Experience to Integrate NSF/IEEE-TCPP PDC into Multiple Department- wide Core Courses of Computer Science and Technology Department.
Overview of Operating Systems Introduction to Operating Systems: Module 0.
1 Trends in Computer Science Education ABU, Zaria, July 17, 2006 Trends in Computer Science Education Sahalu Junaidu, PhD Information and Computer Science.
CS533 Concepts of Operating Systems Jonathan Walpole.
Cheating The School of Network Computing, the Faculty of Information Technology and Monash as a whole regard cheating as a serious offence. Where assignments.
C H A P T E R E L E V E N Concurrent Programming Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
Undergraduate Education in Computer Science Crafting a Vision Aditya Mathur October 24,2007.
Csinparallel.org Workshop 307: CSinParallel: Using Map-Reduce to Teach Parallel Programming Concepts, Hands-On Dick Brown, St. Olaf College Libby Shoop,
Description of a Process for Enhancing Pre-service Programs to Better Prepare General Education Teachers to Teach Students with Disabilities 2016 CEEDAR.
Using core competencies in curriculum design
Introduction to Operating Systems
Partnership for Practice
CS5102 High Performance Computer Systems Thread-Level Parallelism
Services Computing Taxonomy
2016 CEEDAR Cross-State Convening
ACM/IEEE-CS Computer Science Curriculum
Cryptography and Computer Security for Undergraduates
Concurrency: Mutual Exclusion and Process Synchronization
Distributed Computing:
Presentation transcript:

Parallel and Distributed Computing in CS2013 Mehran Sahami Computer Science Department Stanford University

Outline Overview of CS2013 –CS2013 charter and contents –Parallel and Distributed Computing in CS2013 Details of Parallel and Distributed Computing in CS2013 –Overview of Knowledge Area –Examples of topical guidelines –Examples of learning outcomes –“CS in Parallel” exemplar modules Dissemination

CS2013 Charter To review the Joint ACM and IEEE/CS Computer Science volume of Computing Curricula 2001 and the accompanying interim review CS 2008, and develop a revised and enhanced version for the year 2013 that will match the latest developments in the discipline and have lasting impact. The CS2013 task force will seek input from a diverse audience with the goal of broadening participation in computer science. The report will seek to be international in scope and offer curricular and pedagogical guidance applicable to a wide range of institutions. The process of producing the final report will include multiple opportunities for public consultation and scrutiny.

CS2013 Contents Chapter 1:Introduction Chapter 2:Principles Chapter 3:Characteristics of Graduates Chapter 4:Introduction to the Body of Knowledge Chapter 5:Introductory Courses Chapter 6:Institutional Challenges Appendix A:The Body of Knowledge Appendix B:Migrating Curricula to CS2013 Appendix C:Course Exemplars Appendix DCurricular Exemplars 514 pages total

Where Parallel/Distributed Computing Exists Chapter 1:Introduction Chapter 2:Principles Chapter 3:Characteristics of Graduates Chapter 4:Introduction to the Body of Knowledge Chapter 5:Introductory Courses Chapter 6:Institutional Challenges Appendix A:The Body of Knowledge Appendix B:Migrating Curricula to CS2013 Appendix C:Course Exemplars Appendix DCurricular Exemplars 514 pages total

PD as a New Knowledge Area Two new Knowledge Areas in CS2013 –Based on over 200 department chair’s survey response Information Assurance and Security –Most important new area to based on survey of dept. chairs Parallel and Distributed Computing –Second most important new area tbased on survey of chairs Includes additional core curricular hours

Curricular Organization Three-tiered classification of Body of Knowledge topics –Core-Tier1: essential topics, all of which are required for an undergraduate CS program –Core-Tier2: important foundational topics, the vast majority (at least 80%) of which should be in a CS program Still considered “Core” topics – ideally all Tier2 topics would be included in an undergraduate program, if possible Tiering allows for flexibility to locally customize curricula –Elective: additional topics that can be included to complete an undergraduate CS program Covering just “core” material is insufficient for a complete curriculum

Details of PD Knowledge Area Parallel and Distributed Computing (PD) The past decade has brought explosive growth in multiprocessor computing, including multi-core processors and distributed data centers. As a result, parallel and distributed computing has moved from a largely elective topic to become more of a core component… Core-Tier1 hoursCore-Tier2 hoursIncludes Electives PD/Parallelism Fundamentals2N PD/Parallel Decomposition13N PD/Communication and Coordination 13Y PD/Parallel Algorithms, Analysis, and Programming 3Y PD/Parallel Architecture11Y PD/Parallel PerformanceY PD/Distributed SystemsY PD/Cloud ComputingY PD/Formal Models and SemanticsY PD. Parallel and Distributed Computing (5 Core-Tier1 hours, 10 Core-Tier2 hours)

Example of Knowledge Unit (Topics) PD/Communication and Coordination [1 Core-Tier1 hour, 3 Core-Tier2 hours] (Cross-reference OS/Concurrency for mechanism implementation issues.) Topics: [Core-Tier1] Shared Memory Consistency, and its role in programming language guarantees for data-race-free programs [Core-Tier2] Message passing o Point-to-point versus multicast (or event-based) messages o Blocking versus non-blocking styles for sending and receiving messages o Message buffering (cross-reference SDF/Fundamental Data Structures/Queues) Atomicity … [Elective] Consensus o (Cyclic) barriers, counters, or related constructs …

Example Learning Outcomes [Core-Tier1] 1.Use mutual exclusion to avoid a given race condition [Usage] 2.Give an example of an ordering of accesses among concurrent activities that is not sequentially consistent [Familiarity] [Core-Tier2] 3.Give an example of a scenario in which blocking message sends can deadlock. [Usage] 4.Explain when and why multicast or event-based messaging can be preferable to alternatives [Familiarity] … [Elective] 12.Use semaphores or condition variables to block threads until a necessary precondition holds [Usage]

“CS in Parallel” Exemplar in CS2013 #Module NameAuthor(s) 1Map-reduce Computing for Introductory Students using WebMapReduce Dick Brown and Libby Shoop 2Multicore Programming (3 versions) Dick Brown and Libby Shoop 3Concurrent Access to Data Structures (2 versions) Libby Shoop, Dick Brown and Patrick Garrity 4Parallel Computing ConceptsDick Brown 5Parallel SortingLibby Shoop 6Concurrency and Map-Reduce Strategies in Various Programming LanguagesDick Brown 7Patternlets in Parallel ProgrammingJoel Adams 8GPU Programming Libby Shoop and Yu Zhao 9Heterogeneous ComputingLibby Shoop 10Distributed Computing FundamentalsLibby Shoop 11Pi Calculus: A Theory of Message PassingDick Brown 12Exemplar: Drug DesignDick Brown 13Exemplar: Computing Pi using Numerical Integration Dick Brown and EAPF 14An Advanced Introduction to Map-reduce using WebMapReduceDick Brown CSinParallel Modules

Dissemination Website: cs2013.org –Dissemination of final report –Also available on ACM and IEEE-CS websites You have CS2013 in your SIGCSE bag! –USB Drive contains CS2013 PDF file