Video content for lectures is available in Minerva. PDFs of lecture slides & code examples can be accessed in Minerva or Microsoft Teams. Slides & code are provided for personal use only; please do not upload this material anywhere!

  1. Introduction
  2. Object-Oriented Concepts
  3. Modelling Software With UML
  4. Unit Testing to Support Refactoring
  5. Refactoring Case Study
  6. Principles of Refactoring
  7. Fundamentals of Design Patterns
  8. More Design Patterns
  9. SOLID Principles (SRP and DIP)
  10. SOLID Principles (OCP, LSP and ISP)
  11. Designing With Components
  12. Metrics, Tools and Visualization
  13. Hexagonal & Clean Architecture
  14. Quality Characteristics
  15. Common Monolithic Architectural Styles
  16. Other Monolithic Styles
  17. Microservices and Service-Based Architectures
  18. Event-Driven Architectures
  19. Space-Based & 'Serverless' Architectures
  20. Documenting Architecture