[Online] C++ for Beginners

Europe/Berlin
Online

Online

Description

C++ for Beginners

NHR@FAU

Schedule & Format

  • Date: 2026, September 17 - October 2
  • Times:
    • Sep 17: 9:00 - 16:00 CE(S)T
    • Sep 18: 9:00 - 16:00 CE(S)T
    • Sep 24: 9:00 - 16:00 CE(S)T
    • Sep 25: 9:00 - 16:00 CE(S)T
    • Oct 1: 9:00 - 16:00 CE(S)T
    • Oct 2: 9:00 - 16:00 CE(S)T
  • Format: Six-day
  • Location: Online via Zoom
  • Language: English

Registered participants will receive the video conferencing link via email on the day before the course.

Instructor

  • Slobodan Dmitrovic

This course is organized by Erlangen National High Performance Computing Center (NHR@FAU).

Course Description

C++ is one of the most widely used languages in scientific computing and HPC software development, valued for its combination of high performance and expressive abstractions. This five-day course introduces C++ from the ground up, covering the language's core syntax, object-oriented features, the Standard Template Library (STL), and the modern C++11 through C++17 features that are now standard practice in professional software development. It is designed for programmers who know at least one other language and want to write correct, efficient, and maintainable C++ from the start.

Prerequisites

Knowledge

  • Programming experience in any language (no prior C++ knowledge required)

Technical

  • A local C++ development environment with a compiler supporting C++17 or later (GCC, Clang, or MSVC) under Windows, Linux, or macOS; a compatible editor or IDE such as VS Code, CLion, or similar

Course Structure

  • C++ fundamentals: types, variables, operators, control flow, functions, and the compilation model
  • Object-oriented programming: classes, constructors, destructors, copy and move semantics, operator overloading, inheritance, and polymorphism
  • Templates and enumerations
  • Code organization: header files, header guards, and namespaces
  • Exceptions, I/O streams, and type conversions
  • The Standard Template Library: containers, iterators, and algorithms
  • Smart pointers: std::unique_ptr and std::shared_ptr
  • Modern C++: C++11, C++14, and C++17 features including constexpr, structured bindings, std::string_view, and std::variant
  • Project: applying C++ concepts in a guided coding and code review session

Learning Outcomes

After completing this course, you will be able to:

  • Navigate the C++ type system, including fundamental types, references, pointers, and enumerations
  • Define and use classes with constructors, destructors, copy and move semantics, and operator overloading
  • Apply core STL containers (vector, array, set, map) and algorithms to write concise, expressive code
  • Manage resources safely using smart pointers (unique_ptr, shared_ptr)
  • Write generic code using function and class templates
  • Handle exceptions and perform input and output using C++ streams
  • Organize code using header files, header guards, and namespaces
  • Use key C++11 through C++17 features including constexpr, structured bindings, std::string_view, and std::variant

Registration, Wait List and Withdrawal Policy

Registration

Please register at the bottom of this page. Registration is open until a few days before the course starts, or until the course is fully booked.

Prices and Eligibility

This course is open and free of charge for participants affiliated with academic institutions in European Union (EU) member states and Horizon 2020-associated countries.

Wait List

If the course reaches its maximum capacity, you can request to join the wait list by sending an email to nhr-training@fau.de. Please include your name and university affiliation in the message.

Withdrawal Policy

Please only register if you are committed to attending the course. No-shows will be blacklisted and excluded from future events.

If you need to withdraw your registration, please either cancel it directly through the registration system or send an email to nhr-training@fau.de.

Additional Courses

You can find an up-to-date list of all courses offered by NHR@FAU at https://hpc.fau.de/teaching/tutorials-and-courses/.

Registration
Participants
The agenda of this meeting is empty