Study Guide@lith   Link to LiU Homepage
 

Linköping Institute of Technology

Link to LiU Homepage
 
Valid for year : 2014
 
TDDB84 Design Patterns, 6 ECTS credits.
/Designmönster/

For:   C   CS   D   DAV   DI   I   Ii   IT   MT  

 

Prel. scheduled hours: 48
Rec. self-study hours: 112

  Area of Education: Technology

Main field of studies: Computer Science, Computer Engineering, Information Technology

  Advancement level (G1, G2, A): A

Aim:
After the course, students will be able to identify, use and explain design principles and patterns relevant to solving given problems. Students will be able to analyze programs with respect to design principles and patterns. Students will be able to apply design patterns in restructuring software. Students will be able to reflect on the the appropriateness of design patterns in different situations. Students will be able to choose appropriate refactoring steps when modifying software according to a design pattern. Students will be able to identify and describe idiomatic design pattern implementations in different programming languages

Prerequisites: (valid for students admitted to programmes within which the course is offered)
The student must be well acquainted with programming in at least one object-oriented programming language and must have used advanced algorithms and data structures. The student must be acquainted with a modelling language (UML) for object-oriented systems. The student should understand the overall structure and organization of large programs. The student should know how to read research papers on software engineering and search information independently on new topics.

Note: Admission requirements for non-programme students usually also include admission requirements for the programme and threshhold requirements for progression within the programme, or corresponding.

Supplementary courses:
Component-based software, enterprise systems

Organisation:
Students will review online lecture material and study the course literature in groups, and attend group seminars where course topics will be discussed. Students will perform a series of lab assignments in groups to analyze software components with respect to design principles and patterns, and study how design principles affect the ability to modify and extend software components.

Course contents:
Software design. Design Patterns. History of design patterns. Refactoring. Testability, fluent interfaces, domain-specific languages, higher-order methods, dependency injection, SOLID

Course literature:
[Gamma, Helm, et.al. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley 1995]. [Freeman & Freeman, Head First Design Patterns]. Selected articles on software design and design patterns.

Examination:
Written examination
Laboratory Assignments
3 ECTS
3 ECTS
 
Bonus points on the first regular exam after the course may be given based on performance in the lab course, LAB1.



Course language is English.
Department offering the course: IDA.
Director of Studies: Tommy Färnqvist
Examiner: Ola Leifler
Link to the course homepage at the department


Course Syllabus in Swedish

Linköping Institute of Technology

Link to top of pagep


Contact: TFK , val@tfk.liu.se
Last updated: 02/05/2016