CS2013-EdCouncil-Mar2013_Mehran

Download Report

Transcript CS2013-EdCouncil-Mar2013_Mehran

ACM/IEEE-CS Computer Science Curricula 2013 (CS2013)

Mehran Sahami

Stanford University

[email protected]

ACM Education Council – March 10, 2013

Outline

• The CS2013 Effort – Steering Committee • CS2013 Ironman Report – Volume contents – The Body of Knowledge – Curricular Organization – Course Exemplars • Community Engagement – Timeline – Discussion

CS2013 Steering Committee

• • • • • • • • • ACM Mehran Sahami, Chair (Stanford) Andrea Danyluk (Williams College) Sally Fincher (Univ. of Kent) Kathleen Fisher (Tufts University) Dan Grossman (Univ. of Washington) • Beth Hawthorne (Union County Coll.) • Randy Katz (UC Berkeley) • Rich LeBlanc (Seattle Univ.) • • Dave Reed (Creighton) • • • IEEE-CS Steve Roach, Chair (U. of Texas, El Paso) Ernesto Cuadros-Vargas (Universidad Católica San Pablo, Peru) Ronald Dodge (US Military Academy) Robert France (Colorado State) Amruth Kumar (Ramapo College of NJ) Brian Robinson (ABB corporation) Remzi Seker (Embry-Riddle Aero. Univ.) Alfred Thompson (Microsoft,

retired

)

CS2013 Ironman Draft Released

CS2013 Contents: Ironman Report

• Chapter 1: • Chapter 2: • Chapter 3: • Chapter 4: • Chapter 5: • Chapter 6: • Appendix A: • Appendix B: • Appendix C: Introduction Principles Characteristics of Graduates Introduction to the Body of Knowledge Introductory Courses Institutional Challenges The Body of Knowledge Migrating Curricula to CS2013 Course Exemplars 376 pages (and counting…)

Updating the Body of Knowledge

• Process for updating Body of Knowledge – Subcommittee for each Knowledge Area – Chaired by a member of steering committee – Each area reviewed by several (often 4 or more) “external” reviewers prior to release of Strawman draft • Ironman report: complete update of Body of Knowledge – Incorporates all community feedback from Strawman draft • Well over 100 external reviewers involved

Knowledge Areas in CS2013

• AL - Algorithms and Complexity • AR - Architecture and Organization • CN - Computational Science • DS - Discrete Structures • GV - Graphics and Visual Computing • HCI - Human-Computer Interaction •

IAS - Information Assurance and Security

• IM - Information Management • IS - Intelligent Systems • •

NC - Networking and Communications

• OS - Operating Systems

PBD - Platform-based Development

PD - Parallel and Distributed Computing

• PL - Programming Languages •

SDF - Software Development Fundamentals

• SE - Software Engineering •

SF - System Fundamentals

• SP - Social Issues and Professional Practice

Curricular Organization (Part 1)

• Three-tiered classification of Body of Knowledge Units –

Core-Tier1

: absolutely essential topics, all of which are required for any undergraduate CS program –

Core-Tier2

: important foundational topics, the vast majority (no less than 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

Curricular Organization (Part 2)

• Guidance provided on depth of coverage for learning outcomes in each Knowledge Area – 3 levels of depth:

Familiarity

,

Usage

, and

Assessment

– Familiarity: know what it means – Usage: can apply concept (e.g., write the code to use it) – Assessment: can compare/contrast/select appropriate method/strategy for different situations • Changed terms to not overlap with Bloom’s taxonomy – Based on feedback from Strawman draft

Example of 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…

PD. Parallel and Distributed Computing (5 Core-Tier1 hours, 9 Core-Tier2 hours) PD/Parallelism Fundamentals Core-Tier1 hours 2 Core-Tier2 hours Includes Electives N PD/Parallel Decomposition PD/Communication and Coordination PD/Parallel Algorithms, Analysis, and Programming PD/Parallel Architecture PD/Parallel Performance PD/Distributed Systems PD/Cloud Computing PD/Formal Models and Semantics 1 1 1 3 3 3 1 N Y Y Y Y Y Y Y

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 o Consistency, and its role in programming language guarantees for data-race-free programs • • • [Core-Tier2] Consistency in shared memory models 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 PF/Fundamental Data Structures/Queues) Atomicity … • [Elective] Consensus o (Cyclic) barriers, counters, or related constructs …

Example KU Learning Outcomes

[Core-Tier1] 1. Use mutual exclusion to avoid a given race condition [Usage] [Core-Tier2] 2. Give an example of an ordering of accesses among concurrent activities that is not sequentially consistent [Familiarity] 3. Explain when and why multicast or event-based messaging can be preferable to alternatives [Familiarity] 4. Write a program that correctly terminates when all of a set of concurrent tasks have completed [Usage] … [Elective] 12.Use semaphores or condition variables to block threads until a necessary precondition holds [Usage]

Learning Outcomes

• Total number of Learning Outcomes o ~250 Core-Tier1 o ~300 Core-Tier2 o ~530 Elective • Trends • Security • Multi-core, parallel and distributed computing • More empirical assessment of systems • Software architecture, evolution and maintenance • International differences (security, privacy, copyright, social and professional issues) • Mobile computing and game platforms

Bounding Size of Curriculum

Knowledge Area

AL-Algorithms and Complexity AR-Architecture and Organization CN-Computational Science DS-Discrete Structures GV-Graphics and Visual Computing HC-Human-Computer Interaction IAS-Security and Information Assurance IM-Information Management IS-Intelligent Systems NC-Networking and Communication OS-Operating Systems PBD-Platform-based Development PD-Parallel and Distributed Computing PL-Programming Languages SDF-Software Development Fundamentals SE-Software Engineering SF-Systems Fundamentals SP-Social and Professional Issues

Total Core Hours

4 0 5 8 43 6 18 11

165

2 4 3 1 0 3

CS2013 Tier1 Tier2

19 9 0 1 37 16 0 4 1 4 6 9 10 7 11 0 10 20 0 21 9 5

142 All Tier1 + All Tier2 Total All Tier1 + 90% of Tier2 Total All Tier1 + 80% of Tier2 Total 307 292.8

278.6

Bounding Size of Curriculum

Knowledge Area

AL-Algorithms and Complexity AR-Architecture and Organization CN-Computational Science DS-Discrete Structures GV-Graphics and Visual Computing HC-Human-Computer Interaction IAS-Security and Information Assurance IM-Information Management IS-Intelligent Systems NC-Networking and Communication OS-Operating Systems PBD-Platform-based Development PD-Parallel and Distributed Computing PL-Programming Languages SDF-Software Development Fundamentals SE-Software Engineering SF-Systems Fundamentals SP-Social and Professional Issues

Total Core Hours

4 0 5 8 43 6 18 11

165

2 4 3 1 0 3

CS2013 Tier1 Tier2

19 9 0 1 37 16 0 4 1 4 6 9 10 7 11 0 10 20 0 21 9 5

142 CS2008 Core

31 36 0 43 3 8 0 11 10 15 18 0 0 21 47 31 0 16

290 All Tier1 + All Tier2 Total All Tier1 + 90% of Tier2 Total All Tier1 + 80% of Tier2 Total 307 292.8

278.6

CC2001 Core

31 36 0 43 3 8 0 10 10 15 18 0 0 21 38 31 0 16

280 2007 LACS

69 40 0 49 0 5 0 0 4 10 9 0 0 47 39 20 0 11

303

Course Exemplars

• Process – Courses recommended or sought out – Some volunteered submissions • Diversity and context – Variety of institutions represented – A given exemplar may not be best for you • These are examples to spur thinking in curriculum design – They are not meant to be the “best” way • Also looking for full curriculum exemplars

Course Exemplar Template

Name of Course, Location of Institution, Instructor, Course URL Knowledge Areas that contain topics and learning outcomes covered in the course Knowledge Area Total Hours of Coverage

Name (e.g., Systems Fundamentals (SF)) Number

Where does the course fit in your curriculum?

What is covered in the course? (Short description, and/or a concise list of topics) What is the format of the course? (Contact hours? Lecture, lab, discussion?) How are students assessed? (Assignments: number and type, expected workload) Course textbooks and materials Why do you teach the course this way? (Course rationale and goals) Body of Knowledge coverage KA Knowledge Unit

XY Full name of KU

Additional topics/comments Topics Covered Hours

Num

Engaging the Community

• Website:

cs2013.org

– Dissemination of report drafts (Ironman report available) • Announced on SIGCSE mailing list • Use Ensemble for commenting/feedback. (Thanks Boots!) • Multiple opportunities for involvement in this effort – Comments on Ironman draft – Mapping exemplar courses/curricula to Body of Knowledge – Pedagogic approaches and instructional designs • Address professional practice within undergraduate curricula – Share institutional challenges (and solutions to them)

Getting the Word Out

• CS2013 panels/discussions since last Ed Council meeting: – CCSC, Southwest – CRA Snowbird – COMTEL Peru (March 2012) (July 2012) (October 2012) – FIE-12 (October 2012) – SIGCSE-13 (March 2013) • Ironman draft overview • Exemplar-fest (highlight and solicit exemplars) • Societal Issues and Professional Practice (inform and engage) • Parallel/Distributed computing (organized by others) • BOF: recommendations for HCI – Continued coordination with CCF curriculum task force – Discussion/coordination with ABET/CSAB • Upcoming CS2013 panels/discussions: – ITiCSE-13 – EAAI-13 ?

(July 2013) (July 2013)

Timeline

• Feb. 2012:Strawman draft (alpha) public release – Includes: Body of Knowledge, Characteristics of Graduates • July 15, 2012: Comment period for Strawman closed • March 2013: Ironman draft (beta) public release – Incorporates feedback on Strawman draft – Includes: Complete draft of report • Additional course/curricular exemplars to be added • June 2013: Comment period for Ironman draft closes • August 2013: Final steering committee meeting (Las Vegas) – What happens in Vegas, stays in Vegas... except for CS2013!

• Fall 2013: Final report released (general availability)

Thank you for your attention Questions/Comments?