Course detail

The C++ Programming Language

FIT-ICPAcad. year: 2023/2024

ISO C++ language overview. Objects, classes, inheritance, polymorphism. Operator and function overloading. Templates. Exceptions. Standard library, STL.

Language of instruction

Czech

Number of ECTS credits

4

Mode of study

Not applicable.

Entry knowledge

Not applicable.

Rules for evaluation and completion of the course

At least 50% of points.

Aims

The goal is to introduce students to object-oriented programming in C++ language and to generic programming using templates.
Students are able to exploit C++ for creating middle-sized applications based on the object-oriented approach and generic programming concepts.

Study aids

Not applicable.

Prerequisites and corequisites

Basic literature

ISO: Working Draft, Standard for Programming Language C++ (N4928). 2022-12-18
Stroustrup, B.: Programming Principles and Practice Using C++, 2nd edition, Addison-Wesley, 2014
Stroustrup, B.: The C++ programming language, 4th edition, Addison-Wesley, 2014

Recommended reading

ISO: Working Draft, Standard for Programming Language C++ (N4659). 2017-03-21 [dostupné elektronicky na WWW]
ISO: Working Draft, Standard for Programming Language C++ (N4860). 2020-03-31
Stroustrup, B.: The C++ programming language, 4th edition, Addison-Wesley, 2014
Teaching materials available on WWW.

Elearning

Classification of course in study plans

  • Programme BIT Bachelor's 2 year of study, summer semester, compulsory-optional
  • Programme BIT Bachelor's 2 year of study, summer semester, compulsory-optional

  • Programme IT-BC-3 Bachelor's

    branch BIT , 2 year of study, summer semester, compulsory-optional

Type of course unit

 

Seminar

26 hod., optionally

Teacher / Lecturer

Syllabus

  1. Introduction. Basic overview of ISO C++. Examples of C++ use.
  2. Basic differences of C and C++. Declarations, definitions, namespaces. Types.
  3. Statements and operators of C++. The terminology and principles of object-oriented programming in C++.
  4. Objects, classes, class members. Member access control. Member functions, "this" keyword, static members.
  5. Object creation and destruction: constructors, destructors, operators new and delete.
  6. Function and operator overloading. Type conversion operators.
  7. Input/output (iostream, fstream). Output formatting, file streams and string streams.
  8. Inheritance, base and derived classes. Multiple inheritance, virtual base classes.
  9. Polymorphism, virtual methods, abstract classes. Runtime type information.
  10. Templates, (partial) specialization.
  11. Standard library, algorithms, iterators, containers, function objects.Modules.
  12. Exceptions, exception specifications.
  13. Library overview. Effective C++ programming.

Project

13 hod., compulsory

Teacher / Lecturer

Syllabus

   - project

Elearning