---
# System prepended metadata

title: Software architecture course (

---

# Software architecture course (full semester)

## Lectures/theory

**visit 1**
The intro lecture: why needed
Architectural drivers
Tactics vs patterns. Architectural patterns
Views and documenting

**visit 2**
Debugability
Performance and scalability
Maintainability

**visit 3**
Security
Reliability
microservices and distributed system classical patterns
data-intensive app system (Darko lecture)

**visit 4**
API
Platform
Architectural skills

## Labs/seminars/practical part

**block 1**
QAW - 1 labs (darko)
Architectural drivers - 1 lab (darko)
trade-off analysis - 1 lab (darko)

**block 2 && 3**
designing debuggability - 1 lab (mahmoud)
measuring Code Quality - 1 lab (khalil)
designing for fail - 1 lab (mahmoud)
thread modeling - 1 lab (khaled)
security audit report - 1 lab (khaled)
performance napkin - 1 lab (mahmoud)

**block 4**
architectural styles - 1 lab (khaled)
REST API with security - 1 lab (khaled)
training on architectural skills - 1 lab (khalil)

**assignments and projects**
most of practical block gives some practice over theoretical genome project. A student must apply this practice to his project and we'd grade it.
The 6 best projects (3 for 3rd grade and 3 for 4th grade) could apply for the architectural review fro the instructors. 

