Design Patterns and OOP
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
MI-DPO | Z,ZK | 4 | 2+1 | Czech |
- Lecturer:
- Libor Buš (gar.)
- Tutor:
- Jan Kurš, Libor Buš (gar.), Jan Dědek, Jiří Hunka
- Supervisor:
- Department of Software Engineering
- Synopsis:
-
Students will get knowledge of most popular design patterns. Design patterns represent the best practice solutions of given software design problems.
- Requirements:
-
Knowledge of object oriented programming in C++, Java, or C\#.
- Syllabus of lectures:
-
1. Agile object oriented software design.
2. Design patterns structure and organization.
3. Creational patterns.
4. Structural patterns.
5. Behavioral patterns.
6. Concurrency patterns.
7. Resource acquisition patterns.
- Syllabus of tutorials:
-
1. Assignment - design pattern Smart Pointer
2. Assignment - design patterns Composite, Builder and Iterator
- Study Objective:
-
The goal of this module is to provide students with a deeper, language-independent notion of object programming by means of catalog of the best software design practices - the design patterns. The lectures are dedicated to explanation of design patterns at first by means of language independent graphical UML models. Then implementation details for the most often used object oriented languages C++ and Java are discussed.
- Study materials:
-
1. Gamma, E., Helm, R., Johnson, R., Vlissides, J. M. ''Design Patterns: Elements of Reusable Object-Oriented Software''. Addison-Wesley Professional, 1994. ISBN 0201633612.
2. Martin, R. C. ''Agile Software Development, Principles, Patterns, and Practices''. Prentice Hall, 2002. ISBN 0135974445.
- Note:
- Time-table for winter semester 2011/2012:
-
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon Tue Fri Thu Fri - Time-table for summer semester 2011/2012:
- Time-table is not available yet
- The course is a part of the following study plans:
-
- Branch Software Engineering, Version for Students who Enrolled in 2010, Presented in Czech (compulsory course of the branch)
- Branch Web and Software Engineering, Version for Students who Enrolled in 2010, Presented in Czech (compulsory course of the branch)
- Branch Web and Software Engineering, Presented in Czech, Version for Students who Enrolled in 2011 (compulsory course of the branch)
- Branch Web and Software Engineering, Presented in Czech, Version for Students who Enrolled in 2011 (compulsory course of the branch)
- Branch Web and Software Engineering, Presented in Czech, Version for Students who Enrolled in 2012 (compulsory course of the branch)
- Branch Web and Software Engineering, Presented in Czech, Version for Students who Enrolled in 2012 (compulsory course of the branch)