Course detail

C and C++ Programming Languages

FSI-VCPAcad. year: 2020/2021

The C language is one of the most frequently used programming languages. It is a structured, modular, compiled, general-purpose language.
In the second part the course introduces the methods of object oriented programming (OOP) using the C++ programming language. C++ offers one of the best implementations of OOP from all existing programming languages. C++ is a commonly used programming language applicable to developing large programs solving various types of problems. It is one of the most favourite languages preferred by professional programmers.

Language of instruction


Number of ECTS credits


Mode of study

Not applicable.

Learning outcomes of the course unit

Students will obtain the basic skills and experiences of program writing and debugging of average stage of difficulty. Students gain insight into principles and methods of object-oriented programming using C++ language.


The basic knowledge of algorithmisation principles and experience with a procedural programming language (e.g. Pascal) are expected.


Not applicable.

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 both active participation in seminars and individual elaboration of two software projects (the first project in the C language and the second one in the C++ language). Students select their projects assignments, which are approved by the teacher. The examination is oral and consists of discussion on the created projects with possible complementary questions. The evaluation is fully in competence of a tutor according to the valid directives of BUT.

Course curriculum

Not applicable.

Work placements

Not applicable.


Students will be able to prepare a programms of an average level of difficulty in the C and C++ languages. Students gain insight into principles and methods of object-oriented programming using C++ language.

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.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Kernighan, B. W. - Ritchie, D, M.: The C Programming Language. Second Edition. Prentice-Hall, 2012. (EN)
Stroustrup, B.: The C++ Programming Language, Fourth edition, Pearson Education, 2013. (EN)
Drozdek, A.: Data Structures and Algorithms in C++. CENGAGE Learning, 2013. (EN)

Recommended reading

Capper, D.M.: Introducing C++ for Scientists, Engineers and Mathematicians, Springer, 2001. (EN)
Virius, M.: Jazyky C a C++, kompletní průvodce. Grada, 2011. (CS)


Classification of course in study plans

  • Programme B3S-P Bachelor's

    branch B-AIŘ , 2. year of study, winter semester, compulsory

Type of course unit



26 hours, optionally

Teacher / Lecturer


1. Introduction, C-Language History, Basic Data Types. Expressions and Commands.
2. Declaration and Definition. Control Structures, Functions, Programm Structure.
3. Arrays and Pointers, Pointer Aritmetic, Structures, Unions, Type Definition.
4. Preprocessor. Files and Streams.
5. C++ Language History. Differences between C and C++ languages.
6. OOP, object data types, member functions.
7. Class member access control. Constructors and destructors.
8. Static members. Inheritance, base and derived classes.
9. Polymorphism, virtual functions, abstract classes. Operator overloading.
10. C++ data streams. Containers.
10. Exceptions handling. Templates.
12. Persistent classes. Serialization.
13. Design and development of large projects using C++.

Computer-assisted exercise

26 hours, compulsory

Teacher / Lecturer


1. Introduction to Borland and Microsoft developments tools.
2. Console applications developed in MS Visual C++ environment.
3.-5. Development of C-programs using arrays, pointers and dynamic data structures.
6. Development of simple C++ applications.
7. Using constructors and destructors.
8. Object implementation of genetic algorithm.
9. Events driven programming.
10. Basic principles of Windows applications.
11. Introduction to MFC. Database application using MFC.
12. Writing of dynamic-linked libraries.
13. Discussion on individual projects.