300 likes | 551 Vues
Computing Curriculum 2001 (CC 2001). Adapted from presentations by the ACM / IEEE-CS Curriculum 2001 Task Force. Curricula 2001 Computing Charter.
E N D
Computing Curriculum 2001(CC 2001) Adapted from presentations by the ACM / IEEE-CS Curriculum 2001 Task Force
Curricula 2001 ComputingCharter To review the Joint ACM and IEEE/CS Computing Curricula 1991 and develop a revised and enhanced version for the year 2001 that will match the latest developments of computing technologies in the past decade and endure through the next decade. Target date for final draft: Fall 2001 http://www.computer.org/education/cc2001
Curriculum 2001 Steering Committee ACM IEEE Computer Society Education Board Chair:VP for Education: Peter Denning Carl Chang Task Force Co-Chairs:Task Force Co-Chairs: Eric Roberts (Editor) James Cross Russell Shackelford Gerald Engel (Editor) Steering Committee Members: Steering Committee Members: Richard AustinDoris Carver Fay Cover Dick Eckhouse Andrew McGettrick Willis King Michael Schneider Francis Lau Ursula Wolz Robert Sloan Gordon Davies Pradip Srimani
History ofComputing Curricula • 1967: COSINE Report (Commission on Eng. Education) • 1968: Curriculum 68 (ACM) • 1977: Model Curriculum for Computer Science and Engineering (IEEE-CS) • 1978: Curriculum 78 (ACM) • 1983: Model Program in Computer Science and Engineering (IEEE-CS) • 1991: Computing Curricula 1991 (ACM and IEEE-CS) • 2001: Computing Curricula 2001 (ACM and IEEE-CS)
Curriculum ‘91 Nine Subject Areas: 1. Algorithms and Data Structures 2. Architecture 3. Artificial Intelligence & Robotics 4. Database & Information Retrieval 5. Human-Computer Interaction 6. Numerical & Symbolic Computation 7. Operating Systems 8. Programming Languages 9. Software Methodology & Engineering Three Processes: Theory, Abstraction and Design Sample Curricula: Twelve versions in an Appendix
Curriculum 2001 Outline of Work • 1. Expand and update the set of knowledge units to reflect the greater breadth of modern computer science. • 2. Identify a subset of the knowledge units—smaller than the core in Curriculum ’78 or ’91—as the essential core. • 3. Define detailed descriptions for sets of courses that cover the essential core knowledge units. • 4. Enumerate a larger set of courses beyond the core to form the basis for complete curricula. • 5. Develop creative strategies to support computing education.
Curricula 2001 Accomplishments • Completed a survey and evaluation of the impact of CC’91 • Assessed the major changes in the discipline • Articulated a set of principles to guide our work • Developed an organizational structure and strategy • Established knowledge area focus groups(KFGs) • Created pedagogy focus groups (PFGs) to attack broad issues • Reviewed the reports of those working groups • Drafted a body of knowledge for computer science • Proposed a set of core topics for undergraduates in CS • Conducted a working session for KFG chairs and the PFGs • Compiled a preliminary set of course syllabi • Refined objectives and syllabi (TYC focus)
Curricula 2001 Structure The Problem: • Computing is more than only Computer Science • Computing has grown to be a family of disciplines • How to design curricula adequate for that family? • Computer scientists cannot design for everyone… for several reasons (practical, substantive and political). The Solution: • CC2001 is an umbrella under which the various computer-related disciplines are uniting…
Curricula 2001 Structure • The Computer Science volume to be published in 2001. • Volumes for other major computing-related disciplines are underway, with publication expected throughout 2002: • Computer Engineering • Software Engineering • Information Systems • Other computing-related disciplines may join later.
Curricula 2001 Structure Overview of Computing Curricula 2001 Computer ScienceVolume Computer EngineeringVolume Software EngineeringVolume InformationSystemsVolume …
Changing Conditions Technological Changes A larger body of knowledge: • The World Wide Web and its applications • Networking technologies, particularly those based on TCP/IP • Graphics and multimedia • Embedded systems, Relational databases • Object-oriented programming, Interoperability • The use of sophisticated application programmer interfaces (APIs) • Human-computer interaction • Software safety, Security and cryptography • Application domains
Changing Conditions Cultural Changes Computing is more important to society: • Changes in pedagogy due to computing technology: • Networking allows distance education and resource sharing. • Demonstration software, computer projection, computer labs. • Growth in computing around the world: • Many, many more people have access to computers. • Growing economic influence of computing: • Attracts more students. • Industry demands makes it harder to find and keep faculty. • Acceptance of computing in the family of academic disciplines: • Large enrollments, great demand. • Broadening of the discipline: • Several computing-related disciplines.
Curricula 2001 Principles 1. Computing is a broad field that extends wellbeyond the boundaries of computer science.. 2. Computer science draws its foundations from a wide variety of disciplines. 3. The rapid evolution of computer science requires an ongoing reviewof curriculum. 4. Development of a computer science curriculum must besensitive to changes in technology, new developments in pedagogy, and the importance of lifelong learning. 5. CC2001 must go beyond knowledge units to offer significant guidance in terms of individual course design.
Curricula 2001 Principles 6. CC2001 should identify the fundamental skills and knowledge that all computing students must possess. 7. The required body of knowledge (the core) must be made as small as possible. 8. CC2001 must strive to be international in scope. 9. The development of CC2001 must be broadly based. 10. CC2001 must include professional practice as an integral component of the undergraduate curriculum. 11. CC2001 must include strategies and tactics for implementation along with high-level recommendations.
Curricula 2001 Body of Knowledge Questions: • How to update the Computer Science Body of Knowledge? • How to improve on “knowledge unit” approach of CC’91? • How to accommodate a larger Body of Knowledge while achieving a smaller required core? The Approach: • Cannot require all topics in the core. • Use knowledge units to define Body of Knowledge but not to design courses. • Have some working groups focus on specifying topics and other working groups integrate topics into courses.
Curricula 2001 The Body of Knowledge • One Knowledge Focus Group (KFG) per each of 14 Knowledge Areas • Each KFG specified the topics for undergraduate study in their respective Knowledge Area. • Each KFG made recommendations re: which of those topics (if any) should be included in the required core. • The CC2001 Steering Committee considered these recommendations and defined the core. • Criteria for inclusion in the core: an intersection model (not a union model) requiring consensus that a topic belonged.
The CC2001 CoreTopics required of all students • A specification of topics to berequired of allstudents inall Computer Science programs. • Does not constitute a complete course of study. • Must be supplemented by additional computing study that can/will vary by institutional mission, the areas of concentration an institution offers, and individual student choice. • Must be small enough to permit: a. Flexibility for an institution to decide how to best serve its students and its community; b. Freedom for students and their advisors to have meaningful choices re: areas of concentration.
The CC2001 Core Criteria:A broad consensus that the topic is essential for all students in all undergraduate CS programs.Goal:Keep CS core to 240 contact hours or less. ____________________________________________________________________________________________________________________________________________________________ 0. DS: Discrete Structures (43) 7. GR: Graphics & Visualization (3) 1. PF: Programming Fundamentals (38) 8. IS: Intelligent Systems (10) 2. AL: Algorithms and Complexity (31) 9. IM: Information Management (10) 3. PL: Programming Languages (21) 10. NC: Net-Centric Computing (15) 4. AR: Architecture and Organization (36) 11. SE: Software Engineering (31) 5. OS: Operating Systems (18) 12. CN: Computational Science (0) 6. HC: Human Computer Interaction (8) 13. SP: Social & Professional (16) ____________________________________________________________________________________________________________________________________________________________ TOTAL: 237 contact hours, plus DS. (6 US semester courses = ~240 hours)
Points to Keep in Mind • Hours indicate “lecture” hours, not credit hours - Hour estimates do not include preparation or study time • Hours listed for units indicate the minimum time - You can always include more. • Hours are not as important as learning objectives.
Curricula 2001Implementation Options • Six Pedagogy Focus Groups (PFGs) to design options. • One PFG for each of six pedagogical areas: 1. Introductory Topics and Courses 2. Supporting Topics and Courses 3. The Core 4. Professional Practices 5. Advanced Study 6. Computing Across Curricula
Curricula 2001 Implementation Options • Computer Science degree programs choose from: • Six approaches to Introductory courses; • Four approaches to organizing courses beyond the introductory material. • CC2001 has pre-designed courses for each option. • CC2001 has a range of advanced courses to fill out the remainder of the degree program. • Gives publishers a compact range of options to support. • Individual universities may still design their curriculum.
CC 2001 Curricular Options Algorithms First Imperative First Objects First Functional First Breadth First Hardware First Introductory Specific material needed to match Introductory approaches to Intermediate options. ( Intended: at most one course and minor adjustments to topic coverage.) Transition Systems-based Approach Traditional Artifact-based Approach Graphic/Web/HCI-based Approach Intermediate Additional courses as required to complete the undergraduate program. Advanced
Characteristics of Graduates Graduates of CS programs should possess: • A system-level perspective Not just the implementation details • Appreciation of the ties between theory and practice:how theory influences practice • Familiarity with common themesRecognize them themes beyond the context in which they were introduced • Significant project experience Forcing students to integrate material learned at different stages of the curriculum
Abilities and Skills Cognitive abilities and skills relating to CS: • Knowledge and understanding of facts, concepts, principles, and theories re: CS and applications. • Modeling and design of computer-based systems, demonstrating knowledge of design tradeoffs. • Requirements: Analyze criteria and specifications for specific problems & plan strategies for their solution. • Critical evaluation and testing: Determine extent to which a computer-based system meets use criteria • Methods and tools: use theory, practices, tools for specification, design, implementation, and evaluation
Abilities and Skills Practical abilities and skills relating to CS: • Specify, design, and implement computer-based systems. • Evaluate systems for quality attributes and tradeoffs. • Apply principles of information management. • Apply principles of human-computer interaction. • Identify risk or safety issues present in a given context. • Deploy tools with emphasis on solving practical problems. • Operate computing equipment and software effectively.
Abilities and Skills Transferable abilities and skills (not limited to CS): • Communication. Make succinct presentations about technical problems and their solutions. • Teamwork. Work effectively as a member of a development team. • Numeracy. Understand and explain the quantitative dimensions of a problem. . • Self management. Manage one’s own learning and development; time management & organizational skills • Professional development. Keep up with developments in the field, continue one's professional development.
Coping with Change Computer Science Departments must: • Adopt teaching methods that stress learning, not teaching; continually challenge students to think independently. • Assign challenging exercises, encourage student initiative. • Present a sound framework that is sustainable. • Ensure equipment and teaching materials are up to date. • Make students aware of info resources and strategies for staying current in the field. • Encourage cooperative learning & use of technologies to promote group interaction. • Convince students of need for lifelong development.
BenchmarkingGraduate Quality Computer Science Departments must: • Establish benchmarks for quality of program graduates. • Avoid establishing only minimum standards that may accidentally encourage mediocrity. • Instead, establish benchmarks for various levels of quality, including minimum, average, and superior levels of quality. • Example: Quality Assurance Agency for Higher Education. A report on benchmark levels for computing. Gloucester, England: Southgate House, 2000.
Curriculum 2001 Future Process Continue communication with communities including: - FIE (Frontiers in Education)- SIGCSE (both in US and elsewhere)- various education conferences- IFIP World Computing Conferences Ramp up involvement of industry professionals and textbook publishers (already underway). ‘Steelman’ draft released August 2001. Final version to appear soon and be submitted for approval.