Modern C++ Software Design (online)

Europe/Berlin
online (None)

online

None

The link to the Zoom session will be communicated to registered participants a few days before the event
Georg Hager (Erlangen National High Performance Computing Center)
Description

NHR@FAUThis advanced C++ training is a course on software development with the C++ programming language. The focus of the training are the essential C++ software development principles, concepts, idioms, and best practices, which enable programmers to create professional, high-quality code. The course will give insight into the different aspects of C++ (object-oriented programming, functional programming, generic
programming) and will teach guidelines to develop mature, robust, maintainable, and efficient C++ code.

Participation

Participation is free of charge for attendees from German universities, academic computing centers, and research institutions. Please only register for the course if you are really going to attend. No-shows will be blacklisted and excluded from future NHR@FAU events.

Certificates

All actual course attendees will receive a course certificate.

Prerequisites

  • At least one year of experience with the language is needed. This includes a good understanding of the basic mechanics (header files, source files, compilation), good knowledge of the syntax of C++, and some experience with templates and inheritance.
  • It is also beneficial to know the most common classes from the standard library (e.g. std::vector, std::unique_ptr, ... ).
  • For the programming tasks, it is expected that all participants have a working C++ environment at hand. All operating systems (Windows, Linux, MacOS, ...), all IDEs or editors (Visual Studio, CLion, emacs, vi, ...), and all compilers (GCC, Clang, MSVC, ...) capable of at least C++14 can be used.

Instructor

Slobodan Dmitrovic

 

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

    • 9:00 AM 10:30 AM
      Module 1 1h 30m
    • 10:30 AM 10:45 AM
      Break 15m
    • 10:45 AM 12:15 PM
      Module 2 1h 30m
    • 12:15 PM 1:15 PM
      Lunch 1h
    • 1:15 PM 2:45 PM
      Module 3 1h 30m
    • 2:45 PM 3:00 PM
      Break 15m
    • 3:00 PM 4:30 PM
      Module 4 1h 30m
    • 9:00 AM 10:30 AM
      Module 1 1h 30m
    • 10:30 AM 10:45 AM
      Break 15m
    • 10:45 AM 12:15 PM
      Module 2 1h 30m
    • 12:15 PM 1:15 PM
      Lunch 1h
    • 1:15 PM 2:45 PM
      Module 3 1h 30m
    • 2:45 PM 3:00 PM
      Break 15m
    • 3:00 PM 4:30 PM
      Module 4 1h 30m
    • 9:00 AM 10:30 AM
      Module 1 1h 30m
    • 10:30 AM 10:45 AM
      Break 15m
    • 10:45 AM 12:15 PM
      Module 2 1h 30m
    • 12:15 PM 1:15 PM
      Lunch 1h
    • 1:15 PM 2:45 PM
      Module 3 1h 30m
    • 2:45 PM 3:00 PM
      Break 15m
    • 3:00 PM 4:30 PM
      Module 4 1h 30m