Overview
Aims
application of standard design patterns
using the design patterns in the process of building the software
understanding the importance of using design patterns in software design (pros/cons)
Course contents
Object oriented programming fundamentals
Template functions, Template Classes
Generic Programming. Iterators and Algorithms
Object oriented design. UML Language. UML: Class Diagram, Sequence Diagram, Collaboration Diagram, State Diagram, Activity Diagram
Introduction too Design Patterns: Creational Design Patterns, Structural Design Patterns, Behavioural Design Patterns
Creational Design Patterns> Singleton, Factory, Factory Method, Abstract Factory, Builder, Prototype, Object Pool
Behavioural Design Patterns> Iterator, Memento, Observer, Strategy, Template Method, ,Visitor.
Structural Design Pattern. Adapter, Bridge, Composite, Decorator, Flyweight, Proxy.
Advanced Design Pattern. Examples.
Learning outcomes
- studying the advanced chapters of the object-oriented paradigm- design patterns
- consolidating the skills of analysis and design of software systems through object-oriented analysis and design
- the ability to operate with the generic programming paradigm
- studying some basic elements of the UML modeling language
- the ability of using design patterns
Assessment
Implementation of software units in high-level programming languages by using of design patterns - 50% final exam + 50% project