Course detail

Object-Oriented Programming

FSI-VOBAcad. year: 2019/2020

The course focuses on object-oriented programming and its use in the design and implementation of software systems. Interpretation of OOP is in terms of the methodology discussed in general terms, implementation details and practical examples use the C++ language.

Learning outcomes of the course unit

Graduates will be able to use object-oriented programming technology for the design and implementation of software systems using the C++ language.


Expected to have basic knowledge of algorithms and programming in a procedural programming language. Knowledge of the C language is an advantage.


Not applicable.

Recommended optional programme components

Not applicable.

Recommended or required reading

Weisfeld, M.: The Object-Oriented Thought Process. Addison-Wesley Professional, 2008.
Stroustrup, B.: The C++ Programming Language. 3rd Edition. Addison-Wesley Professional, 2000.
Stroustrup, B.: The C++ Programming Language. 3rd Edition. Addison-Wesley Professional, 2000.
Prata, S.: Mistrovství v C++, 2. vydání. Computer Press, 2004

Planned learning activities and teaching methods

The course is taught through lectures explaining the basic principles and theory of the discipline. Exercises are focused on practical topics presented in lectures.

Assesment methods and criteria linked to learning outcomes

The course-unit credit award requirements are active participation in seminars, final test (at most 50 points) and the semestral project (at most 50 points). Students select their project assignments, which are approved by the teacher. To pass the course, at least 50 points in total must be reached.

Language of instruction


Work placements

Not applicable.


Understand the features of object-oriented programming and methodology for designing and building program using object oriented programming. Learn to use C++ programming language for the implementation of projects that use OOP technology.

Specification of controlled education, way of implementation and compensation for absences

The attendance at lectures is recommended; the attendance at seminars is obligatory. Education runs according to week schedules. The form of compensation for missed seminars is fully in the competence of the tutor.

Classification of course in study plans

  • Programme M2I-P Master's

    branch M-AIŘ , 1. year of study, winter semester, 3 credits, compulsory
    branch M-AIŘ , 1. year of study, winter semester, 3 credits, compulsory

Type of course unit



26 hours, optionally

Teacher / Lecturer


1. Classification of programming languages. History of the programming technology. Fundamentals of object oriented programming.
2. Introduction to C++.
3. Basic concepts, object data types, accessing the elements of objects.
4. The instance initialization, constructor and destructor.
5. Inheritance, hierarchy and relationship of objects.
6. Late binding, virtual methods.
7. Overloaded operators.
8. Data containers.
9. Objects serialization, data streams. Persistent objects.
10. Generic programming.
11. Object oriented design of software projects.
12. Using objects as computational processes.
13. Implementatin of large projects.

Computer-assisted exercise

26 hours, compulsory

Teacher / Lecturer


1. Repetition of algorithms, using of compiler.
2. Examples in C++ (without using OOP techniques).
3.-10. Examples of the topics discussed in the lectures.
11., 12. Iplementation of genetic algorithm in C++.
13. Final test.