CS2013-EdCouncil-Mar2013_Mehran

advertisement
ACM/IEEE-CS
Computer Science Curricula 2013
(CS2013)
Mehran Sahami
Stanford University
sahami@cs.stanford.edu
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
IEEE-CS
•
Mehran Sahami, Chair (Stanford)
•
Steve Roach, Chair (U. of Texas, El Paso)
•
Andrea Danyluk (Williams College)
•
•
Sally Fincher (Univ. of Kent)
Ernesto Cuadros-Vargas
(Universidad Católica San Pablo, Peru)
•
Kathleen Fisher (Tufts University)
•
Ronald Dodge (US Military Academy)
•
•
Dan Grossman (Univ. of Washington) •
Beth Hawthorne (Union County Coll.) •
•
Randy Katz (UC Berkeley)
•
Brian Robinson (ABB corporation)
•
Rich LeBlanc (Seattle Univ.)
•
Remzi Seker (Embry-Riddle Aero. Univ.)
•
Dave Reed (Creighton)
•
Alfred Thompson (Microsoft, retired)
Robert France (Colorado State)
Amruth Kumar (Ramapo College of NJ)
CS2013 Ironman Draft Released
March 2013
February
CS2013 Contents: Ironman Report
• 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
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)
Core-Tier1 hours
Core-Tier2 hours
Includes Electives
PD/Parallelism Fundamentals
2
PD/Parallel Decomposition
1
3
N
PD/Communication and
Coordination
1
3
Y
3
Y
1
Y
PD/Parallel Algorithms, Analysis,
and Programming
PD/Parallel Architecture
1
N
PD/Parallel Performance
Y
PD/Distributed Systems
Y
PD/Cloud Computing
Y
PD/Formal Models and Semantics
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
All Tier1 + All Tier2 Total
All Tier1 + 90% of Tier2 Total
All Tier1 + 80% of Tier2 Total
CS2013
Tier1
Tier2
19
9
0
16
1
0
37
4
2
1
4
4
3
6
1
9
0
10
3
7
4
11
0
0
5
10
8
20
43
0
6
21
18
9
11
5
165
142
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
All Tier1 + All Tier2 Total
All Tier1 + 90% of Tier2 Total
All Tier1 + 80% of Tier2 Total
CS2013
Tier1
Tier2
19
9
0
16
1
0
37
4
2
1
4
4
3
6
1
9
0
10
3
7
4
11
0
0
5
10
8
20
43
0
6
21
18
9
11
5
165
142
307
292.8
278.6
CS2008
Core
31
36
0
43
3
8
0
11
10
15
18
0
0
21
47
31
0
16
290
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
FIE-12
SIGCSE-13
•
•
•
•
•
(March 2012)
(July 2012)
(October 2012)
(October 2012)
(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?
Download