Object-Oriented Programming (FSI-VOB-K)

Academic year 2021/2022
Supervisor: doc. Ing. Jan Roupec, Ph.D.  
Supervising institute: ÚAI all courses guaranted by this institute
Teaching language: Czech
Aims of the course unit:
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 ++ and C #.
Learning outcomes and competences:
Graduates will be able to use object-oriented programming technology for the design and implementation of software systems using the C++ and C# languages.
Prerequisites:
Expected to have basic knowledge of algorithms and programming in a procedural programming language. Knowledge of the C language is an advantage.
Course contents:
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++ and C# languages.
Teaching methods and criteria:
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.
Controlled participation in lessons:
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.
Type of course unit:
    Guided consultation in combined form of studies  1 × 13 hrs. compulsory                  
    Guided consultation  1 × 26 hrs. optionally                  
Course curriculum:
    Guided consultation in combined form of studies 1. Classification of programming languages. History of the programming technology. Fundamentals of object oriented programming.
2. Introduction to C++ asnd C#, basic concepts, object data types, accessing the elements of objects.
3. The instance initialization, constructor and destructor.
4. Inheritance, hierarchy and relationship of objects.
5. Late binding, virtual methods.
6. Overloaded operators.
7. Data containers.
8. Objects serialization, data streams. Persistent objects.
9. Generic programming.
10.-11. Object oriented design of software projects.
12. Using objects as computational processes.
13. Implementatin of large projects.
    Guided consultation 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 in C ++ and alternatively in C #.
11., 12. Iplementation of genetic algorithm in C++.
13. Final test.
Literature - fundamental:
1. Weisfeld, M.: The Object-Oriented Thought Process. Addison-Wesley Professional, 2008.
2. Stroustrup, B.: The C++ Programming Language. 3rd Edition. Addison-Wesley Professional, 2000.
Literature - recommended:
1. Stroustrup, B.: The C++ Programming Language. 3rd Edition. Addison-Wesley Professional, 2000.
2. Prata, S.: Mistrovství v C++, 2. vydání. Copmuter Press, 2004
The study programmes with the given course:
Programme Study form Branch Spec. Final classification   Course-unit credits     Obligation     Level     Year     Semester  
N-AIŘ-K combined study --- no specialisation -- GCr 3 Compulsory 2 1 S