Topic | CC2001 | CC '91 |
DS1: Functions, relations, and sets | (06) Discrete Structures | |
DS2: Basic logic | (10) | |
DS3: Proof techniques | (12) | |
DS4: Basics of counting | (05) | |
DS5: Graphs and trees | (04) | |
PF01: Algorithms & problem-solving | (08) Programming Fundamentals | AL08: Problem-Solving Strategies |
PF02: Fundamental programming constructs | (10) | |
PF03: Basic data structures | (12) | AL01: Basic data structures |
PF04: Recursion | (06) | AL03: Recursive algorithms |
PF05: Abstract data types | (09) | AL02: Abstract Data Types |
AL05: Basic computability theory | (06) Algorithms & Complexity | AL07: Computability and Undecidability |
AL06: The complexity classes P and NP | AL05: Complexity Classes | |
AL07: Automata theory | PL07-PL08: Automata, RE's, et al |
1) The two curricula discussed here are:
2) For the topics in column 1, I used the terminology of CC2001, as being most current. However, I chose which topics to include based on CC '91. That document had a userful classification called "recurring concepts" for each topic. Those topics which had "conceptual and formal models" as one of their recurring concepts are the ones I chose, plus one or two more.
3) Column 2 gives the "knowledge area" to which the topic belongs in CC2001, with the number of hours to be covered. If no hours are given, the topic is deemed not to be in the "core."
4) Four knowledge areas were added in CC2001 to CC '91, and some were reorganized. Most significant: Discrete Structures was added as an area in its own right. That's why we don't see it in column 3.
Topic | CC2001 | CC '91 |
PL01: History and overview of prog langs | (1) Programming Languages | PL01: History and Overview of Prog Langs |
PL02: Virtual machines | (1) | PL02: Virtual Machines |
PL03: Intro language translation | (2) |
PL09: Language Trans- lation Systems |
PL04: Language transl systems |
PL09: Language Trans- lation Systems |
|
PL05: Type systems | PL03: Representation of Data Types | |
PL06: Models of execution control | (PL04: Sequence Control) | |
PL07: Declaration, mod-ularity, & storage mgmt | (PL06: Run-time Storage Management) | |
PL08: Prog langs semantics | PL10: Programming Language Semantics | |
PL09: Functional prog paradigms | PL11: Programming Paradigms | |
PL10: O-o programming paradigms | PL11: Programming Paradigms | |
PL11: Language-based constructs for parallelism | AL09: Parallel and Distributed Algorithms | |
AR01: Digital logic and digital systems | (03) Architecture | AR01: Digital Logic |
AR06: CPU implementation | (10) | |
OS02: Concurrency | (06) Operating Systems |
OS03: Process Coordi- nation and Synchroniz. |
OS03: Scheduling and dispatch | (03) | OS02: Tasking and Processes |
OS06: Security and protection | (03) | OS08: Security and Protection |
OS08: Real-time systems | OS10: Distributed and Real-time Systems | |
HC02: Modeling the user | Human-Computer Interaction | HU01: User Interfaces |
GR: Graphics | Graphics | HU02: Computer Graphics |
Topic | CC2001 | CC '91 |
IS02: Search and optimization methods | (4) Intelligent Systems | AI02: Problems, State Spaces, & Search Strats |
IS03: Knowledge rep & reasoning | (4) | AI02: Problems, State Spaces, & Search Strats |
IS07: Natural language processing | AI02: Problems, State Spaces, & Search Strats | |
IS09: Advanced machine learning | AI02: Problems, State Spaces, & Search Strats | |
IS11: Knowledge-Based systems | AI02: Problems, State Spaces, & Search Strats | |
IM02: Data modeling and the relational model | (8) Information Management | DB02: The Relational Data Model |
IM03: DB query langs | DB02: The Relational Data Model | |
IM4: Relational DB design | DB02: The Relational Data Model | |
IM05: Transaction processing | DB01: Overview, Models & Apps of DB Sys | |
IM06: Distributed databases | DB01: Overview, Models & Apps of DB Sys | |
NC04: Communication and networking | Net-Centric Computing | OS09: Communications and Networking |
NC08: Distributed systems | OS10: Distributed and Real-time Systems | |
SE02: SW requirements and specs | (6) Software Engineering | SE03: SW Require-ments and Specs |
SE03: SW design and implementation | (6) | SE04: SW Design and Implementation |
SE04: Verification and validation | (6) | (SE05: Verification and Validation) |
SE05: SW tools and environments | (3) | |
CN01: Numerical methods | Computational Science | NU02: Iterative Approximation Methods |