top of page

C++ Level 1 – An Odyssey of C++: Core Language

Price

Inquiry

Duration

3 Days

C++ Level 1 – An Odyssey of C++: Core Language




Overview:

This three days beginner-friendly C++ course surveys the language's origins in C, including the fundamental type system, pointers, references, and memory management. Master unit testing to ensure code quality, design robust user-defined types for clean and modular code. Get a brief overview of templates, unlocking the basics of generic programming. Build a strong foundation in C++!


Goal/Benefits:

The major objective of this class is that you shall be able to use C++ in a “correct way”.

♦ Introduce “Modern C++” – what we also know as C++11, C++14, C++17, C++20, and C++23 - as an object-oriented language

♦ Comprehend the concepts and basic terms in object orientation, and to use UML – Unified Modeling Language – to describe an OO-model

♦ Design and implement robust C++ classes

♦ Understand the importance of sound memory management

♦ Transform an OO-model into C++

♦ Understand the concept parametrized types - aka templates

♦ A set of exercises practicing the concepts

♦ Applying a unit testing as a natural way of testing/evaluating/running most of the exercises


Audience/Participants:

This training is aimed for beginners.


Previous Knowledge:

Some programming experience


Practical Exercises:

During the training you will practice the presented concepts in a few exercises. We will use the open and free integrated development environment from Eclipse. Alternatively, a build system based on CMake is available


Course outline:

1. The Basics

♦ Programs

♦ Hello, World!

♦ Functions

♦ Types, Variables, and Arithmetic

• Fundamental Types

♦ Initialization

♦ Scope

♦ Constants

♦ Arrays, Pointers, and References

♦ Basic Input/Output

♦ Unit Testing


2. User-Defined Types – An Introduction

♦ Enumerations

♦ Structures

♦ Classes

♦ Unions


3. Modularity

♦ Separate Compilation

• C++20 Modules

♦ Namespaces

♦ Error Handling

• Exceptions

• assert


4. Object-Orientation

♦ The Goals with Object-oriented Programming

♦ OO Programming Concepts

♦ C++ Language Mapping

• UML – Unified Modeling Language


5. Classes

♦ Concrete Types

♦ Abstract Types

♦ Virtual Functions

♦ Class Hierarchies

♦ Copy Control

♦ Move Control


6. Templates

♦ Function Templates

• Specializations

♦ Class Templates

• Partial Specializations

♦ Inheritance vs. Templates

Harald Lüning

Course leader for "Test-Driven Development and Unit Testing" and C/C++ courses:
Harald Lüning is one of our top course leaders, and has extensive practical and theoretical experience in C/C++ programming, object-oriented system development, and test-driven development

Harald Lüning
bottom of page