Reading Map¶
The course is intentionally multi-source. No single book covers both classical patterns and modern automated design.
| Course segment | Primary reading role |
|---|---|
| Design principles | classic modularity, OO design, SOLID/GRASP, dependency reasoning |
| Architecture | views, styles, tactics, boundaries, enterprise patterns |
| Design patterns | GoF patterns plus pattern-language thinking |
| Anti-patterns & smells | design degradation, technical debt, detection caveats |
| Refactoring | Fowler-style safe transformations, legacy seams, refactoring to patterns |
| Automation | program analysis, search-based SE, pattern/smell detection, transformation |
| Research methods | empirical evaluation, reproducibility, threats to validity |
Reading modes¶
Every reading is assigned one of four modes:
- Foundation — know the concept and vocabulary.
- Pattern — understand context, forces, structure, consequences, and known uses.
- Research — identify research question, method, dataset, baselines, and threats.
- Replication — understand enough implementation detail to reproduce a meaningful subset.
See Books & References and Seminal Papers.