Module |
Description |
(PM) Prerequisite technologies Module |
Emacs, Unix operating system, Shell programming, Concurrent Versioning System CVS |
(M0) Computing Environment |
Compilers, editors, debuggers, and other components of programming environments |
(M1) Algorithmic thinking |
Algorithms as models of computational processes; examples of important algorithms |
(M2) Data Models |
Standard structures for representing data; abstract (described by a model) and concrete (described by an implementation) descriptions |
(M3) Operation Models |
Effects of applying operations to program objects; what an operation does (described by a model); how an operation does it (described by an implementation) |
(M4) Standard control models |
Sequence, selection, iteration; function calls and parameter passing |
(M5) Encapsulation |
Indivisible bundling of related entities; client view based on abstraction and information-hiding; implementer view based on internal detail |
(M6) Components |
The role of interfaces in mediating information exchange; responsibilities of encapsulated components to their clients; the value of inheritance |
(M7) Testing and Debugging |
The importance of testing; debugging strategies |
