The course aims to introduce students to one of the most common contemporary paradigms for the design and implementation of software systems, namely the object-oriented paradigm. Course contents:

  • the history of the OO paradigm, OOP languages ​​and their importance for the development of software engineering;
  • introduction to the OO paradigm, regardless of a particular programming language (object, state, behaviour, message, class, encapsulation, inheritance, polymorphism, error handling);
  • OO analysis and design (charts for OO design, OO methodology for designing software systems);
  • realization of the OO paradigm in a specific OOP language (C ++);
  • comparison with other OOP languages ​​(C #, JAVA, Smalltalk, Prolog ++, Object Pascal);
  • discussions on multiple learning examples.

The exercises illustrate the lecture material. Students deep and expand their knowledge and skills for practical programming in a chosen modern programming environment. Students acquire the skills to freely use and apply (in their own applications) the basic concepts, means and methods of object-oriented designing and programming.