Course details

The C++ Programming Language

ICP Acad. year 2018/2019 Summer semester 4 credits

Current academic year

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

Guarantor

Peringer Petr, Dr. Ing. (DITS FIT BUT)

Deputy Guarantor

Language of instruction

Czech

Completion

Credit (written)

Time span

26 hrs exercises, 13 hrs projects

Assessment points

100 projects

Department

Lecturer

Peringer Petr, Dr. Ing. (DITS FIT BUT)

Instructor

Subject specific learning outcomes and competences

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

Learning objectives

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

Why is the course taught

At least basic knowledge of C++ language is important not only for programming practice, but also for improving your understanding of the area of programming languages and paradigms.

Prerequisites

Study literature

  • ISO: Working Draft, Standard for Programming Language C++ (N4659). 2017-03-21 [available online on WWW]
  • Teaching materials available on WWW.

Fundamental literature

  • Stroustrup, B.: The C++ programming language, 4th edition, Addison-Wesley, 2014
  • Booch, G.: Object-Oriented Design with applications, 2nd edition, The Benjamin/Cummings Publishing Company 1994
  • ISO: Programming languages - C++, International Standard ISO/IEC 14882, 1998 
  • ISO: Working Draft, Standard for Programming Language C++ (N4659). 2017-03-21

Syllabus of lectures

  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.

Syllabus - others, projects and individual work of students

  • project

Exam prerequisites

At least 50% of points.

Course inclusion in study plans

  • Programme BIT, 2nd year of study, Compulsory-Elective group T
  • Programme IT-BC-3, field BIT, 2nd year of study, Compulsory-Elective group T
Back to top