Curricula 1991/2001 and Formal Methods Topics

Assembled by Don Goelman <don.goelman@villanova.edu>


Topics in Formal Methods - P 1

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

Notes:

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.

 


Topics in Formal Methods - P 2

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

 


Topics in Formal Methods - P 3

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