Software Design

Design Patterns

Integrated course, 4.00 ECTS


Course content

Improvements of knowledge in object-oriented design through the usage of design patterns: (i) Object-oriented design principles; (ii) Creational patterns; (iii) Structural patterns; (iv) Behavioral patterns; (v) Design patterns in practice.

Learning outcomes

On completion of the course, students have fundamental knowledge about design patterns, software architectures and the development of dynamic Web applications.

Recommended or required reading and other learning resources / tools

Erich Gamma and Richard Helm and Ralph Johnson and John Vlissides, Design Patterns, 1995

Martin Fowler, Patterns of Enterprise Application Architecture, 2003
Eric Evans, Domain-Driven Design, 2004
Gregor Hope and Bobby Woolf, Enterprise Integration Patterns, 2004
Clemens Szyperski, Component Software, 2002
Robert Daigneau, Service Design Patterns, 2012
Sam Newman, Building Microservices, 2015

Mario Casciaro and Luciano Mammino, Node.js Design Patterns, Edition 2, Publisher Packt Publishing Ltd, 2016
Jos Dirksen,, Three.js Essentials, Packt Publishing Ltd. July,2014
Andreas Anyuru, Professional WebGL Programming, , John Wiley & Sons, 2012
Professional Journals: ACM, IEEE

Mode of delivery

2 ECTS lecture; 2 ECTS tutorial

Prerequisites and co-requisites

Software Engineering 3

Assessment methods and criteria

Lecture: Final Exam; Tutorial: Continuous Assessment