Search

Navigation and service

Training course "Advanced C++ with Focus on Software Engineering" @ FAU Erlangen-Nürnberg

begin
15.Feb.2017 09:00
end
17.Feb.2017 17:00
venue
FAU Erlangen-Nürnberg, Computer Science Building

This advanced C++ training is a course on object-oriented (OO) software design with the C++ programming language. The focus of the training are the essential OO and C++ software development principles, concepts, idioms, and best practices, which enable programmers to create professional, high-quality code. The course will not address special areas and applications of C++, such as for instance Template Meta Programming (TMP), or the quirks and curiosities of the C++ language. It rather teaches guidelines to develop mature, robust, and maintainable C++ code. The following topics will be covered:

1st day schedule (9:00 - 17:00)

  • Essential Object-Oriented Design Principles

    • The core of object-oriented programming
    • The SOLID principles
  • Concepts and the STL

    • Overview of the STL
    • Proper use of the STL

2nd day schedule (9:00 - 17:00)

  • Class Design

    • Proper Handling of Member Data
    • Proper Interface Design
    • Compiler Generated Functions
    • Move Semantics
    • Proper Design of Polymorphic Interfaces
    • Const Correctness
    • Visibility vs. Accessibility

3rd day schedule (9:00 - 17:00)

  • Robust Code

    • Error propagation
    • Exception Safety
    • RAII
    • Handling Legacy Code
  • Proper Use of Dynamic Inheritance

    • Non-public inheritance
    • Public inheritance
  • Dependency Breaking Techniques

    • Breaking Include Dependencies
    • Classical Design Patterns Revisited
  • Non-Intrusive Design

Contents are subject to modifications.

Servicemeu