Design Patterns (5 cr)
Code: TX00EY29-3001
General information
- Enrollment
-
27.11.2023 - 14.01.2024
Registration for the implementation has ended.
- Timing
-
15.01.2024 - 12.05.2024
Implementation has ended.
- Number of ECTS credits allocated
- 5 cr
- Mode of delivery
- On-campus
- Unit
- (2019-2024) School of ICT
- Campus
- Myllypurontie 1
- Teaching languages
- English
- Seats
- 0 - 35
- Degree programmes
- Degree Programme in Information Technology
Implementation has 16 reservations. Total duration of reservations is 44 h 30 min.
Time | Topic | Location |
---|---|---|
Fri 19.01.2024 time 09:00 - 12:00 (3 h 0 min) |
Design Patterns TX00EY29-3001 |
MPA5023
Oppimistila
|
Fri 26.01.2024 time 09:30 - 12:00 (2 h 30 min) |
Design Patterns TX00EY29-3001 |
MPA5023
Oppimistila
|
Fri 02.02.2024 time 09:30 - 12:00 (2 h 30 min) |
Design Patterns TX00EY29-3001 |
|
Fri 09.02.2024 time 09:30 - 12:00 (2 h 30 min) |
Design Patterns TX00EY29-3001 |
MPA5023
Oppimistila
|
Fri 16.02.2024 time 09:30 - 12:00 (2 h 30 min) |
Design Patterns TX00EY29-3001 |
MPA5023
Oppimistila
|
Fri 01.03.2024 time 09:30 - 12:00 (2 h 30 min) |
Design Patterns TX00EY29-3001 |
MPA5023
Oppimistila
|
Fri 08.03.2024 time 09:30 - 12:00 (2 h 30 min) |
Design Patterns TX00EY29-3001 |
MPA5023
Oppimistila
|
Fri 15.03.2024 time 09:30 - 12:00 (2 h 30 min) |
Design Patterns TX00EY29-3001 |
MPA5023
Oppimistila
|
Tue 19.03.2024 time 13:00 - 16:00 (3 h 0 min) |
Design Patterns TX00EY29-3001 |
MPA5019
Oppimistila
|
Tue 26.03.2024 time 13:00 - 16:00 (3 h 0 min) |
Design Patterns TX00EY29-3001 |
MPA5019
Oppimistila
|
Tue 02.04.2024 time 13:00 - 16:00 (3 h 0 min) |
Design Patterns TX00EY29-3001 |
MPA5019
Oppimistila
|
Tue 09.04.2024 time 13:00 - 16:00 (3 h 0 min) |
Design Patterns TX00EY29-3001 |
MPA5019
Oppimistila
|
Tue 16.04.2024 time 13:00 - 16:00 (3 h 0 min) |
Design Patterns TX00EY29-3001 |
MPA5019
Oppimistila
|
Tue 23.04.2024 time 13:00 - 16:00 (3 h 0 min) |
Design Patterns TX00EY29-3001 |
MPA5019
Oppimistila
|
Tue 30.04.2024 time 13:00 - 16:00 (3 h 0 min) |
Design Patterns TX00EY29-3001 |
MPA5019
Oppimistila
|
Tue 07.05.2024 time 13:00 - 16:00 (3 h 0 min) |
Design Patterns TX00EY29-3001 |
MPA5019
Oppimistila
|
Objective
The student
• is familiar with the most common object-oriented design models (Gamma's models) and their significance in the design of reusable software
• understands the importance of interface thinking in the design of object-oriented software and acquires tools for implementing both structurally and functionally sustainable solutions.
Content
Gamma's creational, structural and behavioral patterns, paying particular attention to the following aspects:
• the relationship between application frameworks and design patterns
• programming against interfaces (or abstractions)
• inheritance and aggregation as reuse options
• delegation as an implementation mechanism for service provision
• the importance of creational patterns as an enhancer of code reusability
• abstract classes as enablers of shared code
• the difference between the traditional control flow and the inversion of control
• shared objects as a resource-saving mechanism
• centralised vs. decentralised decision making
• tight vs. loose coupling of objects
• push and pull models as communication technologies in object communication
• deep copying vs. shallow copying of objects.
Evaluation scale
0-5
Assessment criteria, satisfactory (1)
The student knows the best practices of programming and can explain why design patterns are needed and knows the different patterns.
Assessment criteria, good (3)
The student is able to apply programming best practices and use design models in programming.
Assessment criteria, excellent (5)
The student can apply best practices in programming and use design models extensively in programming.
Assessment criteria, approved/failed
The student knows the best practices of programming and can explain why design patterns are needed and knows the different patterns.
Qualifications
Object-oriented Programming
Objective
The student
• is familiar with the most common object-oriented design models (Gamma's models) and their significance in the design of reusable software
• understands the importance of interface thinking in the design of object-oriented software and acquires tools for implementing both structurally and functionally sustainable solutions.
Content
Gamma's creational, structural and behavioral patterns, paying particular attention to the following aspects:
• the relationship between application frameworks and design patterns
• programming against interfaces (or abstractions)
• inheritance and aggregation as reuse options
• delegation as an implementation mechanism for service provision
• the importance of creational patterns as an enhancer of code reusability
• abstract classes as enablers of shared code
• the difference between the traditional control flow and the inversion of control
• shared objects as a resource-saving mechanism
• centralised vs. decentralised decision making
• tight vs. loose coupling of objects
• push and pull models as communication technologies in object communication
• deep copying vs. shallow copying of objects.
Qualifications
Object-oriented Programming