App Lab logo

COMP 590: Software Architecture


Note: this calendar is subject to change.

date hw exam lecture topics
Wed Jan 8 (FDOC) course overview; honor code; Clojure essentials (notes)
Mon Jan 13 Clojure (notes, video)
Wed Jan 15 Clojure & git (notes, video)
Mon Jan 20 no class: MLK day
Wed Jan 22 Clojure & git (notes, video)
Mon Jan 27 Clojure; abstraction basics (notes, video)
Wed Jan 29 names; modules; cohesion (notes, video)
Mon Feb 3 A1 margin/review for Exam 1 (notes, video)
Wed Feb 5 E1 -
Mon Feb 10 post-review Exam 1; testing basics (notes, video)
Wed Feb 12 testing basics (notes, video)
Mon Feb 17 A2 test isolation (notes, video)
Wed Feb 19 effects (notes)
Mon Feb 24 private functions; refactoring; dependency injection (slides (HTML, PDF), video)
Wed Feb 26 E2 -
Mon Mar 2 post-review Exam 2 (solutions); coupling and indirection (slides (HTML, PDF), video)
Wed Mar 4 live-coding session for A3 concepts (notes, video)
Mon Mar 9 no class: spring break
Wed Mar 11 no class: spring break
Mon Mar 16 no class: spring break bonus
Wed Mar 18 no class: spring break bonus
Mon Mar 23 A3 git refs (for A4); debugging (watchlist before class; slides (HTML, PDF); videos (part 1 part 2 part 3))
Wed Mar 25 debugging part 2 (slides (HTML, PDF); video)
Mon Mar 30 A4 A5 info; polymorphism and interfaces (slides (HTML, PDF); video)
Wed Apr 1 E3 -
Mon Apr 6 post-review Exam 3 (slides (HTML, PDF); video)
Wed Apr 8 single-effect architecture (slides (HTML, PDF); video)
Mon Apr 13 A5 A6 info; client-server architecture; APIs; middleware (backend slides; code from class; video)
Wed Apr 15 single-effect architecture (2); asynchrony and promises; commenting best practices (code; slides (HTML, PDF); video)
Mon Apr 20 Datomic (notes/code; video)
Wed Apr 22 E4 Review (video)
Fri Apr 24 A6 (classes end)
Tue May 5 - final final exam, 12-3pm