Design Patterns and OOP
- Department of Software Engineering
Students will get knowledge of most popular design patterns. Design patterns represent the best practice solutions of given software design problems.
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.
- Further information:
- No time-table has been prepared for this course
- The course is a part of the following study plans: