Skip to main content
Skip header

Object Oriented Programming

* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code460-2055/01
Number of ECTS Credits Allocated4 ECTS credits
Type of Course Unit *Compulsory
Level of Course Unit *First Cycle
Year of Study *First Year
Semester when the Course Unit is deliveredSummer Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech
Prerequisites and Co-Requisites
PrerequisitiesCourse Unit CodeCourse Unit Title
450-2079Basics of Algorithms and Programming
460-2052Introduction to Programming
Name of Lecturer(s)Personal IDName
KUD007doc. Mgr. Miloš Kudělka, Ph.D.
Summary
Object-oriented approaches are an essential part of the computer science curricula. OOP is not only a key concept of thinking but also the technological support of software solutions.
The course is closely connected to Algorithms 1 and 2. Skills associated with using C ++ will be practically applied in the design of object-oriented programs.
The expected inputs for the course are the successful completion of course Introduction to Programming.
Learning Outcomes of the Course Unit
The course is focused on the introduction of the key concept of object-oriented programming, and basics of C++ language necessary for the design of simple object-oriented programs.
After finishing the course, students will understand the difference between structured and object-oriented programming. To a limited extent, students will be able to handle the practical object-oriented design and implementation of a program using object-oriented techniques.

Course Contents
Lectures
1. Evolution of programming paradigms.
2. Aspects of software quality. Reusing.
3. Class x object. Object as a computer representation of real-world entity. Data and functions of objects.
4. OOP principles. Encapsulation, composition, message sending, inheritance, polymorphism.
5. Constructors and destructors I. How it works and why.
6. Public and private part of objects. Hiding of implementation.
7. Design of object-oriented program I.
8. Simple and multiple inheritance. Polymorphism.
9. Virtual methods. Abstract class.
10. Constructors and destructors II. Special kinds of constructors, copy constructor.
11. Design of object-oriented program II.
12. Templates. How it works and why.
13. Standard object libraries of C++ language.
14. Defensive approach of object oriented programming.

Seminars
Comparison of source codes of procedural and object oriented programs.
Example of implementation – cooperating classes, analysis of object behavior, hiding of details of implementation.
Implementation of object-oriented program I.
Example of implementation – simple inheritance, analysis of object behavior.
Implementation of object-oriented program II.
Example of implementation – templates and standard C++ libraries.
Example and defensive implementation of object-oriented program.
Recommended or Required Reading
Required Reading:
Meyer, B.: Object-Oriented Software Construction, Prentice Hall, 1997, ISBN: 978-0136291558.
Eckel B.: Myslíme v jazyku C++, GradaPublishing, 2000, ISBN 80-247-9009-2.
Meyer, B.: Object-Oriented Software Construction, Prentice Hall, 1997, ISBN: 978-0136291558.
Eckel B.: Myslíme v jazyku C++, GradaPublishing, 2000, ISBN 80-247-9009-2.
Recommended Reading:
Stroustrup, B.: The C++ Programming Language. Addison-Wesley Professional, 1997, ISBN 0201889544.
Stroustrup, B.: The C++ Programming Language. Addison-Wesley Professional, 1997, ISBN 0201889544.
Planned learning activities and teaching methods
Lectures, Tutorials
Assesment methods and criteria
Task TitleTask TypeMaximum Number of Points
(Act. for Subtasks)
Minimum Number of Points for Task Passing
Credit and ExaminationCredit and Examination100 (100)51
        CreditCredit45 23
        ExaminationExamination55 28