Coursenotes index | CSC 305 Individual Software Design and Development | Ayaan M. Kazerouni

CSC 305 Notes index

  1. Intro, clean code
  2. Coupling and encapsulation
  3. Encapsulation, immutability, cohesion
  4. (Some of the) SOLID principles, polymorphism, Composite design pattern
  5. Visitor design pattern
  6. Unit testing and test adequacy
  7. Designing for testability (dependency injection, test doubles)
  8. Strategy and Command design patterns, Lambdas
  9. Observer pattern, generics
  10. OpenDSA content on Heaps and Heapsort (Project 3 prep)
  11. Serializatoin
  12. OpenDSA content on Buffer Pools (Project 3 prep)
  13. Proxy and Adapter patterns
  14. Builder design pattern
  15. Streams
  16. Processes and threads
  17. Thread synchronisation
  18. Mutex and Semaphore