Course MI 102 · Year II · Summer 2023-2024

Advanced Object-Oriented Programming

Compulsory course in Advanced programming and databases, taught by Corina Rotar.

This course page is from 2023-2024 and is archived.
See this course for the current academic year

Overview

Lecturer
Corina Rotar
Seminar tutor
Corina Rotar
Type of course
Compulsory
Language of instruction
Romanian
Erasmus language
English
Domain
Computer Science - Masters
Field of study
Advanced programming and databases
Form of education
Full-time
Form of instruction
Lecture
Credit awarded by
Grade
Teaching methods
lecture, disscutions, lab projects
Entry requirements
Object Oriented Programming

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

Recommended reading

Design Patterns - Elements of Reusable Object-Oriented Software
Gamma, E., Helm, R., Johnson, R., Vlissides, J.,
Teora, Bucuresti, 2000 · 500
Thinking in C++
Bruce Eckel
Teora, Bucuresti, 2010 · 300
C++ - manual complet
H. Schildt
Teora, Bucuresti, 2000 · 400