Recall What This Course is About
How computer scientists think
when solving problems on a computer.
What do computer scientists think about?
- Computational processes (Chapters 1-5): Procedural Abstraction
- Specifying procedures
- Procedures of varying length: Recursion and Iteration
- Proving facts about procedures
- Analyzing procedures' order of growth
- Procedures as data: higher-order procedures
- Models of information (Chapters 6-10): Data Abstraction
- Compound data and abstract data types (ADTs)
- Lists and trees
- Multiple representations of information and generic operations
- States of computational processes (Chapters 11-15): Machine Abstraction
- Models of memory
- Object-based abstractions
- Object-oriented programming