Course detail
Object-Oriented Programming
FSI-VOB Acad. year: 2026/2027 Summer semester
The course focuses on object-oriented programming and its use in the design and implementation of software systems that meet current software requirements. The explanation of OOP techniques is partially kept in general terms in terms of methodology, implementation details and practical examples use the C# language (optionally C++). The development of software solutions is in line with DevOps requirements.
Language of instruction
Czech
Number of ECTS credits
3
Supervisor
Department
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 (according preselected goals), 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 goal is to understand the features of object-oriented programming and the methodology of designing and creating a program using OOP, which is applied to the most commonly used development patters in the industrial environment. To learn about the support of object technology in C# and how it is developed in a DevOps environment.
The graduate will be able to use object-oriented programming technology to design and implement software systems using the C# programming language.
The study programmes with the given course
Programme N-MAI-P: Mathematical Engineering, Master's, elective
Programme B-STR-P: Engineering, Bachelor's
specialization AIŘ: Applied Computer Science and Control, compulsory
Type of course unit
Lecture
13 hours, optionally
Syllabus
1) Modern C# and .NET ecosystem
2) Advanced work with classes
3) Encapsulation and API design
4) Inheritance – when to use it and when not to
5) Polymorphism & interfaces
6) Generics in depth
7) Delegates, lambda expressions, and events
8) Collections and LINQ (in practice)
9) Exception handling at the application level
10) SOLID and Clean Code in action
11) Asynchronous programming (introduction for OOP context)
12) Working with data and serialization
13) Current trends in programming
Computer-assisted exercise
26 hours, compulsory
Syllabus
1. Creating a simple domain application
2. Designing and implementing custom objects
3. Creating API classes within a small library
4. Modeling object hierarchies
5. Designing a modular system using interfaces
6. Constructing generic structures and services
7. Event-driven system
8. Data processing using collections and LINQ
9. Robust applications with exceptions
10. Refactoring a mini-application according to SOLID
11. Asynchronous mini-application
12. Data persistence in a real application
13. Independent project — small fully OOP application