.
.
Part 1. The computing perspective
1. Technology, science and change
2. Overview of algorithms
Part 2. The algorithm toolkit
3. Basic data, operations and decisions
4. Tools for procedural abstraction
5. Tools for data abstraction
6. Algorithmic methods
7. Tools for estimating cost & complexity
8. Tools for verifying correctness
9. Tools for behavioural abstraction
Part 3. The limits of computing
10. Concurrency & parallelism
11. Hierarchies of complexity
Part 4 (Appendix). Pseudocode examples