C++ Programming Training – Basics

This course on the basics of C++, together with the advanced C++ course, provides a comprehensive overview of modern C++. It differs from many other C++ courses in that the new language elements of C++11, C++14 and C++17 are used right from the start.

It is aimed at software developers in companies who want to learn C++ for professional use. The course can be conducted with the compiler of your choice (Microsoft C++ with Visual Studio 2017, gcc etc.).

The lecturer Prof. Richard Kaiser has already held well over 100 company seminars on C# and C++. His customers include renowned global corporations and small and medium-sized enterprises. He knows the requirements of the practice and goes into detail both in the basic concepts and in the details on it.

Contents C++ Basics Course with Visual Studio 2017

The contents (here in detail as pdf) can be adapted to the wishes of the participants.

This C++ basic course covers the basics of C++ and object-oriented programming.

1. Elementary Data Types and Instructions

  • Integral data types (int, bool, char, etc.)
  • Floating point data types
  • Standard conversions
  • Type safe initializations and conversions with initializer lists
  • Elementary statements (if, for, while, etc.)
  • Functions
  • Constants with const and constexpr
  • Preprocessor instructions (macros, pragmas)
  • Expressions
  • Arrays
  • typedef
  • Namespaces

2. Functions, Value- and Reference Parameters

  • Value and reference parameters
  • Function pointers
  • Recursion
  • Inline functions
  • Default arguments
  • Overloaded functions and operators
  • Functions of the standard library (e.g. math.h and cmath)
  • The “function type” std::function

3. The string classes string, wstring etc.

  • Member functions for string manipulation
  • Raw string literals
  • Unicode strings
  • Conversions between strings and elementary data types
  • Regular expressions

4. Simple self-defined data types

  • Classes defined with struct
  • Weak and strongly typed enumeration types (enum)

5. Pointers

  • Pointer variables and the address operator
  • Dynamically created variables, new and delete
  • Dynamic Arrays
  • Arrays, pointer arithmetic
  • Function pointers
  • Linked lists and tree structures
  • Zero terminated strings and associated library functions

6. Object-oriented programming

  • Classes, data members and member functions
  • Data encapsulation: private, public and protected
  • The this pointer
  • Constructors and destructors
  • OO Analysis and Design
  • Standard constructor, copy constructor, and assignment operator
  • Static class members
  • Inheritance and multiple inheritance
  • Implicit conversions between classes in a hierarchy
  • is-a and has-a relationships – inheritance vs. composition
  • Virtual functions, override and polymorphism

7. Container classes

  • vector, list, deque etc.
  • Iterators
  • The range-based for loop
  • Algorithms of the Standard Library

Target group: Software developers in companies who want to learn C++ for professional use.

Requirements: Interest in programming. Practical experience with a programming language (e.g. C, C#, Java) is helpful, but not necessary.

Teaching style: Lecture with many examples that bring the essentials to the point. A balanced combination of theory and practice.

  • At the beginning of a new topic, an overview of the use cases, basic ideas and syntax is given. These are illustrated with carefully selected and proven examples.
  • The understanding is often deepened by comparing similar (even older) language elements and their advantages and disadvantages. “Best practices” are often recommended.
  • If the participants want to deepen their knowledge independently: The manuscript contains numerous practical exercises. If desired, tasks from the seminar participants’ work can also be dealt with by prior arrangement.

Flexibility: If during the course of the seminar it becomes apparent that the participants lack the basics or that further topics are desired, the agenda can also be adapted to the participants’ wishes during the seminar.

Manuscript: Detailed and detailed training documents (approx. 200 pages) – Complete text, no PowerPoint slides containing only keywords. Therefore the course material can also be used as a reference at work.

Place and time: This seminar is offered as a company seminar (in-house).

Duration: 5 days