|Course title||Software Design Patterns|
|Institution||Delft University of Technology|
|Course address||Van Mourik Broekmanweg 6, 2628 XE Delft|
|Minimum year of study||3rd year|
|Minimum level of English||Fluent|
|Minimum level of French||None|
software engineering, design patterns, advanced programming
|Professor responsible||Dr. Alberto Bacchelli|
Dr. Alberto Bacchelli
|Number of places||Minimum: 35, Maximum: 40, Reserved for local students:|
This course provides understanding in the most popular design patterns for software engineering. This course focuses on design patterns starting from an existing common problem and guiding the students through the most elegant solution that can be implemented with design patterns. The course will be also focused on developing the right critical thinking when using design patterns. Students will have the chance to implement design patterns in a small game they will develop during the course, to acquire hands-on knowledge on the theory. At the end of this course students will have both gained the theoretical knowledge about design patterns and constructed a software project, using the pull-based development model, that implements these patterns.
|Programme to be followed||
Lecture 1: Pull-based development model, Introduction to Design Patterns
Lecture 2: Strategy, Observer, Decorator - Design Patterns
Lecture 3: Abstract Factory, Singleton, Adapter – Design Patterns
Lecture 4: Iterator, Composite, Command – Design Patterns
Lecture 5: State, Model-View-Controller – Design Patterns
Background on object-oriented programming (possibly Java) is essential: The students will be required to build a fully working version of a game (Tetris style) within the first day of the course using object-oriented programming. For this course an intermediate to good knowledge of English is indispensable.
The exam will consist in a 30-minute multiple choice test, and in the presentation of the software project built during the week and how and why design patterns are implemented in it.