This course aims to present the most industry-relevant techniques in the area of architectural design and provide the means to document software architectures with standards like UML. It also provides the participants with the necessary knowledge to reduce the technical debt in the software development projects they work on. Moreover, the course has a hands-on approach, which translates into actionable know-how that is relevant to the professional practice of software design.