The report is the result of a course for PhD students on software architecture. An overview of the state of the art is presented. Discussed topics include describing, evaluating and designing architectures, product-line architectures, object-oriented frameworks and component-based software engineering.