Course detail

The C++ Programming Language

FIT-ICPAcad. year: 2020/2021

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.

Learning outcomes of the course unit

Students are able to exploit C++ for creating middle-sized applications based on the object-oriented approach and generic programming concepts.

Prerequisites

Not applicable.

Co-requisites

Not applicable.

Planned learning activities and teaching methods

Not applicable.

Assesment methods and criteria linked to learning outcomes

At least 50% of points.

Course curriculum

Not applicable.

Work placements

Not applicable.

Aims

The goal is to introduce students to object-oriented programming in C++ language and to generic programming using templates.

Specification of controlled education, way of implementation and compensation for absences

Not applicable.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Basic literature

Stroustrup, B.: The C++ programming language, 4th edition, Addison-Wesley, 2014

Recommended reading

Stroustrup, B.: The C++ programming language, 4th edition, Addison-Wesley, 2014

Classification of course in study plans

  • Programme IT-BC-3 Bachelor's

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

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

Type of course unit

 

Project

13 hod., compulsory

Teacher / Lecturer

Syllabus

  • project

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.
  12. Exceptions, exception specifications.
  13. Library overview. Effective C++ programming.