Design Patterns and OOP
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
MIE-DPO | Z,ZK | 4 | 2+1 |
- Lecturer:
- Libor Buš (gar.), Jan Vraný
- Tutor:
- Libor Buš (gar.), Jan Vraný
- 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. Subsystem and component architecture patterns.
7. Concurrency patterns.
8. Resource acquisition patterns.
9. Refactoring.
- Syllabus of tutorials:
- 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 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++, Java and C\# 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. Douglass, B. P. ''Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systém''. Addison-Wesley Professional, 2002. ISBN 0201699567.
3. Martin, R. C. ''Agile Software Development, Principles, Patterns, and Practices''. Prentice Hall, 2002. ISBN 0135974445.
- Note:
- Further information:
- No time-table has been prepared for this course
- The course is a part of the following study plans:
-
- Information Systems and Management, in English, Version for Students, Succeeding in 2010 and 2011 (compulsory course of the branch)
- Software Engineering, Presented in English, Version for Students, who Enrolled in 2010 and 2011 (compulsory course of the branch)
- Master Informatics, Presented in English - Version for Students who Enrolled in 2010 (VO)
- Master Informatics, Presented in English - Version for Students who Enrolled in 2011 (VO)
- Master Informatics, Presented in English - Version for Students who Enrolled in 2012 (VO)
- Information Systems and Management, Presented in English - Version for Students who Enrolled in 2012 (compulsory course of the branch)
- Software Engineering, Presented in English - Version for Students who Enrolled in 2012 (compulsory course of the branch)