| |
Formal logic as a tool for mathematical proofs. Propositional
calculus—Boolean expressions, logic connectives, axioms, and
theorems. Predicate calculus—universal and existential
quantification, modeling English propositions. Application to program
specification, verification, and derivation.
Prerequisites: MATH 221
or concurrent enrollment and COSC 220.
| 2.0 |
The run-time stack and call tree for procedures |
| 1.0 |
The run-time stack and call tree for functions |
| 3.0 |
Recursive functions—factorial, summation, binomial coefficient |
| 4.0 |
Recursive procedures—towers of hanoi, binary search, quick sort |
|
Dynamic Storage
Allocation (9 hours) |
| 2.0 |
Pointer types—the NEW procedure, pointer assignment |
| 1.0 |
Linked nodes |
| 3.0 |
Linked lists as abstract data types—iterative and recursive implementations |
| 3.0 |
Binary search trees as abstract data types—iterative and recursive implementations |
| 2.0 |
Objects and methods—using lists and trees as objects |
| 2.0 |
Building simple objects and writing methods |
| 4.0 |
Building simple abstract classes, inheritance and polymorphism |
| 4.0 |
The state design pattern implementation of linked lists |
| 4.0 |
The state design pattern implementation of binary search trees |
Total: 35.0 hours, excluding holidays, review sessions, and exams
*Fifty-minute class hours
close this window
|
 |