Curricula 2013 Steering Committee (CS2013), have released a Draft Final Report (October 2013). The previous versions of the ACM/IEEE-CS curricular have been used by universities around the world in designing their degree programs. There is also a core learning outcomes spreadsheet and some Course and Curriculum Exemplars.
The ACM/IEE-CS Curricula specifies the proportion of course on each topic in terms of lecture hours, for delivery in a traditional face-to-face class. This does not include self-study time, lab sessions or student work on assessments. So confusingly it is less than the usual measure used by universities of "contact hours" (which includes tutorials and labs sessions). The Total Core Hours are: Tier1 165 Hours, Tier1 143 Hours. Programs are required to have all of Tier 1, plus at least 80% of Tier 2, making a total of at least 279.4 Hours.
The ANU Bachelor of Information Technology
requires the completion of 144 units, with 36 compulsory computer science units, another 30 units from later years CS courses, 24 units of additional CS courses, 6 core maths courses, leaving 28 units of general electives. A typical 6 unit ANU Computer Science course has thirty one, one hour lectures and six two hour tutorials. The full time degree program is usually made up of three years of two semesters, with four courses per semester for a total of 24 courses (3 x 2 x 4). This equates to 744 hours of lectures.
While the ACM/IEE-CS have been influential with their curriculum internationally, it should be noted that this is a very US-centric document. The only mention of Australia in the document, is Judy Sheard's Human Computer Interaction (FIT3063), Monash University. The UK is represented by Paul Cairns' Human Aspects of Computer Science, University of York, Alan Blackwell's Human Computer Interaction and Software and Interface Design, University of Cambridge. Most of the other courses are from the USA, with a few from Europe and Asia.
ACM/IEEE-CS Computer Science Curricula 2013
Table of Contents
Chapter 1: Introduction . 10
Overview of the CS2013 Process . 11
Survey Input 12
High-level Themes 13
Knowledge Areas 14
Professional Practice . 15
Exemplars of Curricula and Courses 16
Community Involvement and Website . 16
Acknowledgments 16
References . 19
Chapter 2: Principles . 20
Chapter 3: Characteristics of Graduates . 23
Chapter 4: Introduction to the Body of Knowledge 27
Knowledge Areas are Not Necessarily Courses (and Important Examples Thereof). 28
Core Tier-1, Core Tier-2, Elective: What These Terms Mean, What is Required . 29
Further Considerations in Designing a Curriculum 32
Organization of the Body of Knowledge 32
Curricular Hours . 32
Courses 33
Guidance on Learning Outcomes . 33
Overview of New Knowledge Areas 34
Chapter 5: Introductory Courses . 39
Design Dimensions . 39
Mapping to the Body of Knowledge. 45
Chapter 6: Institutional Challenges . 46
Localizing CS2013 . 46
Actively Promoting Computer Science 46
Broadening Participation 47
Computer Science Across Campus . 48
Computer Science Minors 48
Mathematics Requirements in Computer Science 49
Computing Resources . 51
Maintaining a Flexible and Healthy Faculty. 51
Teaching Faculty. 52
Undergraduate Teaching Assistants 53
Online Education 53
References . 54
Appendix A: The Body of Knowledge . 55
Algorithms and Complexity (AL). 55
Architecture and Organization (AR). 62
Computational Science (CN) 68
Discrete Structures (DS) . 76
Graphics and Visualization (GV) . 82
Human-Computer Interaction (HCI) 89
Information Assurance and Security (IAS) 97
-4-Information Management (IM) . 112
Intelligent Systems (IS) 121
Networking and Communication (NC). 131
Operating Systems (OS) . 136
Platform-Based Development (PBD) . 143
Parallel and Distributed Computing (PD) . 146
Programming Languages (PL) 156
Software Development Fundamentals (SDF) . 168
Software Engineering (SE) . 173
Systems Fundamentals (SF) 187
Social Issues and Professional Practice (SP) 193
Appendix B: Migrating to CS2013 . 205
Outcomes 205
Changes in Knowledge Area Structure . 206
Core Comparison 207
Conclusions . 211
Appendix C: Course Exemplars 228
Course Exemplar Template 232
CSCI 140: Algorithms, Pomona College 234
COS 226: Algorithms and Data Structures, Princeton University 237
CS 256 Algorithm Design and Analysis, Williams College . 240
CSE332: Data Abstractions, University of Washington . 243
CS/ECE 552: Introduction to Computer Architecture, University of Wisconsin . 246
CS150: Digital Components and Design, University of California, Berkeley . 249
-5-CC152: Computer Architecture and Engineering, University of California, Berkeley 251
eScience, University of North Carolina at Charlotte 253
COSC/MATH 201: Modeling and Simulation for the Sciences, Wofford College 258
MAT 267: Discrete Mathematics, Union County College . 262
CS103: Mathematical Foundations of Computer Science, Stanford University 265
CS109: Probability Theory for Computer Scientists, Stanford University 265
CS 250 - Discrete Structures I, Portland Community College . 268
CS 251 - Discrete Structures II, Portland Community College 271
CS 175 Computer Graphics, Harvard University . 274
CS371: Computer Graphics, Williams College 277
Human Aspects of Computer Science, University of York 280
FIT3063 Human Computer Interaction, Monash University 282
CO328: Human Computer Interaction, University of Kent 285
Human Computer Interaction, University of Cambridge . 287
Human-Computer Interaction, Stanford University . 289
Human Information Processing (HIP), Open University Netherlands . 291
Software and Interface Design, University of Cambridge 293
Computer Systems Security (CS-475), Lewis-Clark State College 295
CS430: Database Systems, Colorado State University. 298
Technology, Ethics, and Global Society (CSE 262), Miami University 301
CS 662; Artificial Intelligence Programming, University of San Francisco 304
Intelligenza Artificiale ( Artificial Intelligence), Politecnico di Milano 306
CMSC 471, Introduction to Artificial Intelligence, U. of Maryland, Baltimore, County 308
Introduction to Artificial Intelligence, Case Western Reserve University . 310
-6-CS188: Artificial Intelligence, University of California Berkeley . 313
Introduction to Artificial Intelligence, University of Hartford . 315
Computer Networks I, Case Western Reserve University 318
CS144: Introduction to Computer Networking, Stanford University . 320
Computer Networks, Williams College 323
CSCI 432 Operating Systems, Williams College . 327
CS 420, Operating Systems, Embry-Riddle Aeronautical University 330
CPSC 3380 Operating Systems, U. of Arkansas at Little Rock . 332
582219 Operating Systems, University of Helsinki . 334
RU STY1 Operating Systems, Reykjavik University. 336
Parallel Programming Principle and Practice, Huazhong U. of Science and Technology . 339
Introduction to Parallel Programming, Nizhni Novgorod State University . 342
CS in Parallel (course modules on parallel computing) . 344
CS453: Introduction to Compilers, Colorado State University 348
Csc 453: Translators and Systems Software, The University of Arizona 351
CSCI 434T: Compiler Design, Williams College 353
Compilers, Stanford University 356
Languages and Compilers, Utrecht University . 359
COMP 412: Topics in Compiler Construction, Rice University 361
CSC 131: Principles of Programming Languages, Pomona College 364
CSCI 1730: Introduction to Programming Languages, Brown University 367
CSC 2/454: Programming Language Design and Implementation, University of Rochester 369
CSE341: Programming Languages, University of Washington . 372
CSCI 334: Principles of Programming Languages, Williams College . 375
-7-Programming Languages and Techniques I, University of Pennsylvania 378
15-312 Principles of Programming Languages, Carnegie Mellon University 381
15-150: Functional Programming, Carnegie Mellon University 385
CIS 133J: Java Programming I, Portland Community College 389
Introduction to Computer Science, Harvey Mudd College 392
CpSc 215: Software Development Foundations, Clemson University . 395
CS1101: Introduction to Program Design, WPI . 398
Data Abstraction and Data Structures, Miami University 401
Software Engineering Practices, Embry Riddle Aeronautical University 403
CS169: Software Engineering, University of California, Berkeley 407
SE-2890 Software Engineering Practices, Milwaukee School of Engineering 410
Software Development, Quinnipiac University 412
CS2200: Introduction to Systems and Networking, Georgia Institute of Technology . 415
CS61C: Great Ideas in Computer Architecture, University of California, Berkeley 419
CSE333: Systems Programming, University of Washington . 421
Ethics in Technology (IFSM304), University of Maryland . 424
Technology Consulting in the Community, Carnegie Mellon University 427
Issues in Computing, Saint Xavier University 431
Ethics & the Information Age (CSI 194), Anne Arundel Community College . 433
Professional Development Seminar, Northwest Missouri State University . 436
The Digital Age, Grinnell College 439
COS 126: General Computer Science, Princeton University . 443
CSCI 0190: Accelerated Introduction to Computer Science, Brown University . 447
An Overview of the Two-Course Intro Sequence, Creighton University. 449
-8-CSC 221: Introduction to Programming, Creighton University . 450
CSC 222: Object-Oriented Programming, Creighton University . 452
An Overview of the Mulit-paradigm Three-course CS Introduction at Grinnell College 454
CSC 151: Functional problem solving, Grinnell College . 456
CSC 161: Imperative Problem Solving and Data Structures, Grinnell College . 458
CSC 207: Algorithms and Object-Oriented Design, Grinnell College . 460
Appendix D: Curricular Exemplars 463
Bluegrass Community and Technical College (A.S. Degree) 465
Bluegrass Community and Technical College (A.A.S. Degree) 472
Grinnell College 480
Stanford University . 492
Williams College 503 Brown University . 447
An Overview of the Two-Course Intro Sequence, Creighton University. 449
-8-CSC 221: Introduction to Programming, Creighton University . 450
CSC 222: Object-Oriented Programming, Creighton University . 452
No comments:
Post a Comment