TDDB84 |
Design Patterns, 6 ECTS credits.
/Designmönster/
For:
CS
D
DAV
DI
I
Ii
IT
MT
U
|
|
Prel. scheduled
hours: 40
Rec. self-study hours: 120
|
|
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 shall be able to:
- identify and explain design principles and patterns in software
- apply design principles and patterns when working with software
- describe the purpose with and consequences of design patterns
- critically evaluate consequences of design patterns with respect to desired software qualities,
- analyze the relationship between design principles, design patterns, and programming language design, application frameworks, or application domains.
|
|
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, domain-specific languages, 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 report Laboratory Assignments |
3 ECTS 3 ECTS
|
|
|
|
Course language is English.
Department offering the course: IDA.
Director of Studies: Ahmed Rezine
Examiner: Ola Leifler
Link to the course homepage at the department
Course Syllabus in Swedish
|