Course detail

The C++ Programming Language

FIT-ICPAcad. year: 2018/2019

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

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.

Recommended optional programme components

Not applicable.

Recommended or required reading

  • Eckel B.: Myslíme v jazyku C++, GRADA, 2000
  • Eckel, B.: Thinking in C++, 2nd edition, Prentice-Hall, 2000 [dostupné elektronicky na WWW]
  • ISO: Working Draft, Standard for Programming Language C++ (N3242). 2011-02-28 [dostupné elektronicky na WWW]
  • Soubor materiálů prezentovaných na přednáškách je dostupný na WWW.

  • Stroustrup, B.: The C++ programming language, third edition, Addison-Wesley, 1997
  • Stroustrup, B.: The C++ programming language, special edition, Addison-Wesley, 2000
  • Eckel, B.: Thinking in C++, 2nd edition, Prentice-Hall, 2000
  • Booch, G.: Object-Oriented Design with applications, 2nd edition, The Benjamin/Cummings Publishing Company 1994
  • ISO: Programming languages - C++, International Standard ISO/IEC 14882, 1988
  • ISO: Programming Language C++, WG21/N1043 Draft Proposed International Standard, 1996
  • ISO: Working Draft, Standard for Programming Language C++ (N3242). 2011-02-28

Planned learning activities and teaching methods

Not applicable.

Assesment methods and criteria linked to learning outcomes

At least 50% of points.

Language of instruction

Czech, English

Work placements

Not applicable.

Course curriculum

    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. Pointers to class members. Effective C++ programming.

    Syllabus - others, projects and individual work of students:
    • project

Aims

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

Classification of course in study plans

  • Programme IT-BC-3 Bachelor's

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

Type of course unit

 

Exercise

26 hours, 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.

Projects

13 hours, compulsory

Teacher / Lecturer

Syllabus


  • project

eLearning