Lectures and practical sessions
Lectures take place on Fridays 12:15-14:00 in Narva mnt 18 - 1021.
Practical sessions take place on Fridays 14:15-16:00 in Narva mnt 18 - 2045.
Lecture slides, practical tasks, and supporting material will be added during the semester.
| Week | Date | Lecture | Practical session |
|---|---|---|---|
| 1 | 04.09 | Course introduction, software architecture, architectural drivers (slides) | Team formation, GitHub fork setup, initial discovery (slides) |
| 2 | 11.09 | Architecture in the process, risk-based development, Conway's law, microservices (slides) | Initial risk register and iteration plan (slides) |
| 3 | 18.09 | Architectural requirements, quality attributes, security goals | Business goals, non-functional requirements, quality attribute scenarios |
| 4 | 25.09 | Describing architecture, viewpoints, C4, documentation quality | C4 context and container diagrams, documentation skeleton |
| 5 | 02.10 | Distributed systems I: scaling, consistency, transactions | Data ownership, consistency model, failure modes |
| 6 | 09.10 | Identity and naming in distributed systems | Identity model, identifiers, entity lifecycle |
| 7 | 16.10 | Authentication, authorization, access control, delegation | AuthN/AuthZ architecture, access-control matrix, threat sketches |
| 8 | 23.10 | Distributed systems II: distributed security and feature interaction | Threat modeling distributed features and invariants |
| 9 | 30.10 | Interface design I: API principles, leaky abstractions, HTTP contracts | Key API specs and event contracts |
| 10 | 06.11 | Interface design II: evolvability and API security | Interface change request with compatibility constraints |
| 11 | 13.11 | Security process, touchpoints, architectural risk analysis | Architectural risk analysis practice, mitigations, roadmap |
| 12 | 20.11 | Systems architecture I: deployment, environments, cloud | Deployment model, trust boundaries, SLO drafts |
| 13 | 27.11 | Systems architecture II: observability, backups, recovery | Metrics, logs, traces, backup and restore, incident playbook |
| 14 | 04.12 | Systems evolution: technical debt, migrations, deprecation | Debt register, evolution plan, risk reassessment |
| 15 | 11.12 | Guest lecture: supply chain security / SBOM / attestations | Apply guest topic to the project |
| 16 | 18.12 | Final presentations and oral exam preparation | Final package submission and cross-team review |
Practical session workflow
Each practical session produces a small architecture artifact for the team project. Teams should keep improving one coherent architecture package rather than producing disconnected weekly files.
Expected working style:
- bring the current version of your project artifacts;
- record important decisions as architecture decision records;
- keep diagrams, risks, APIs, and text consistent with each other;
- use instructor and peer feedback to revise earlier work.
Materials
Course materials will be published through this course page and/or the course repository. Moodle, if used, will be announced on the main page.