Course detail

Object-Oriented Programming

FSI-VOBAcad. year: 2025/2026

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# languages (C++ by choice).

Language of instruction

Czech

Number of ECTS credits

3

Mode of study

Not applicable.

Entry knowledge

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

Rules for evaluation and completion of the course

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.
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.

Aims

The aim is to understand the features of object-oriented programming and methodology of program design and creation using OOP technology. Get acquainted with the support of object technology in C#.
Graduates will be able to use object-oriented programming technology for the design and implementation of software systems using the C# languages.

Study aids

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Stroustrup, B.: The C++ Programming Language. 3rd Edition. Addison-Wesley Professional, 2000.
Weisfeld, M.: The Object-Oriented Thought Process. Addison-Wesley Professional, 2008.

Recommended reading

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

Classification of course in study plans

  • Programme N-MAI-P Master's 1 year of study, summer semester, elective

  • Programme B-STR-P Bachelor's

    specialization AIŘ , 2 year of study, summer semester, compulsory

Type of course unit

 

Lecture

13 hod., optionally

Teacher / Lecturer

Syllabus

1. Classification of programming languages. Development of programming technology. Characteristics of OOP. TDD.
2. C# language, basic concepts, object data types, access to object items.
3. Object, instance initialization, constructor and destructor, methods, arrays, modifiers.
4. Inheritance, object hierarchy and interrelationships, delegate, event.
5. Overloading, abstraction, virtual methods,
6. Casting - explicit and implicit, conversion.
7. Anonymous funkce, serialization, etc.
8. IO, data streams, task and thread.
9. Exceptions, LINQ.
10. Application design in .NET 8 and above.
11.-12. Object oriented design, general OOP methodology, design patterns.
13. Implementation of large scale projects.

Computer-assisted exercise

26 hod., compulsory

Teacher / Lecturer

Syllabus

1. Repeating algorithmization, working with the development environment.
2. Examples without using object properties.
3.-10. Examples to the topics discussed in the C# lectures (Messaging SW s SignalR, Aplikace s Kafka/RabbitMQ).
11., 12. Implementation of a server application in C# (API, Controllers, Minimal API).
13. Final test.