Friday 17 August 2018

Developing & Delivering KnowHow

Home > Training > Comprehensive C++

Comprehensive C++

Standard Level - 5 days

view dates and locations

Comprehensive C++ ist ein 5-tägiges Training, das Ingenieuren die Programmiersprache C++ im Kontext des Electronic System Designs, seiner Validierung und Implementierung vermittelt, wobei C++ sowohl für die Modellierung auf Systemebene als auch für die Implementierung von Embedded Software genutzt wird. Comprehensive C++ ist ein direkter Ersatz für einen allgemein gehaltenen C++ Programmierkurs, mit dem zusätzlichen Vorteil, dass der Lehrplan sowie die verwendeten Beispiele und übungen auf die Anforderungen für Embedded System und System-on-Chip Designs abgestimmt sind.

Comprehensive C++ stellt ein exzellentes Rahmenwissen zur Verfügung, das als Basis für alle Doulos SystemC Kurse dient. Der Kurz vermittelt außerdem die Grundlagen für die Verwendung von C++ im Zusammenhang mit Electronic System Level Modelling, Hardware-Software-Integration oder Embedded System Implementation.

Die Workshops basieren auf sorgfältig durchdachten übungen mit dem Ziel, das erlernte Wissen anzuwenden und zu festigen. Dieser Praxisteil nimmt etwa 50% der Unterrichtszeit ein.

Zielgruppe

Comprehensive C++ zielt auf Ingenieure in den Bereichen Electronic Hardware, Software und System-on-Chip ab, die praktische Erfahrungen im Umgang mit der Sprache C++ benötigen. Der Kurs ist auch als allgemeine Einführung zum Programmieren mit C++ geeignet, besonders für Kursteilnehmer, die in der Elektronikbranche arbeiten oder deren Hintergrund in der digitalen Elektronik liegt.

Kursinhalte

  • Syntax und Semantik der Sprache C++
  • Die Prinzipien der objektorientierten Modellierung und Programmierung
  • Notwendige Fähigkeiten zur Anwendung von C++ im Umfeld des Electronic System Level Modellings
  • überblick über die Prinzipien der Embedded Software Programmierung, Echtzeitbetriebssystemen und Entwicklungstools und wie diese Prinzipien unter Anwendung von C++ umgesetzt werden

Voraussetzungen

Die Kursteilnehmer sollten über Grundkenntnisse in der Programmiersprache C verfügen, insbesondere sollten sie vertraut sein mit Funktionen, Variablen, Datentypen, Operatoren und Anweisungen. Alternativ dazu ist ein gutes Verständniss einer anderen Programmiersprache von Vorteil. Vorkenntnisse in C++ sind nicht erforderlich. Dieser Kurs eignet sich nicht als Einstiegskurs in Computer Programmierung.

Wenden Sie sich bitte direkt an Doulos, um Ihre Erfahrungen und Kenntnisse in Hinblick auf diese Voraussetzungen zu erörtern und zu bewerten.

Kursunterlagen

Die Doulos Kursunterlagen sind für ihren umfassenden Informationsgehalt und die sehr benutzerfreundliche Präsentation allgemein bekannt. In ihrem Aufbau, Inhalt und ihrer Themenbehandlung sind sie einzigartig im HDL-Schulungsbereich, was sie zu begehrten Nachschlagewerken hat werden lassen. In den Kursgebühren sind enthalten:
  • Kursskripte mit vollständigem Stichwortverzeichnis, die ein umfassendes Referenzhandbuch darstellen
  • Ein Arbeitsbuch mit vielen praktischen Beispielen und Lösungen als Unterstützung bei der Wissensanwendung

Structure and Content

Day 1- Learn about the differences between C and C++

Summary of C

A refresher on basic C syntax • Functions • Control flow • Fundamental types • Literals • Derived types • Operators • Standard libraries

From C to C-1999 and C++

The features added to C by C++ and the ANSI C-1999 standard • const • inline • Stream I/O • Function prototypes • Pass-by-reference • Default arguments • Function and operator overloading

Linkage and Storage

Learn some tricky features often overlooked in C, but necessary for C++ • Scope • Linkage • Linking C and C++ • Namespaces • Static, automatic and dynamic storage • Memory management • new • delete • Arrays • Pointers • Strings

C++ Development Environments for Desktop and Embedded Systems

Compilers • Linkers • Loaders • Debuggers • Integrated development environments • Cross-compilers • In-circuit emulation

Day 2 - An introduction to object-oriented programming

Classes and Objects

Introduction to modelling and abstraction • Information hiding • Abstract data types • Classes and objects • Public and private class members • Member functions • Scope resolution

Constructors

How to ensure that objects are properly initialised, and how to tidy up afterwards • Constructors • Destructors • Copy constructors • Pointers and objects

Members and Friends

More features of C++ classes • Friends • Operator overloading • Overloading assignment • this • Static members • Constant objects and members

Day 3 - Master the subtleties of object-oriented programming in C++

Object-Oriented Modelling and The UML

Learn the principles of object-oriented design • Class relationships • The Unified Modelling Language • Class and object diagrams • Association • Composition • Dependency • Implementing class relationships in C++ • Initialization of class members

Inheritance

Derived classes • Inheritance • Protected members • Casting pointers • Order of initialization

Virtual Functions

Inheriting common behaviour • Overriding methods • Virtual functions • Polymorphism • Late binding • Virtual destructors • Abstract base classes and pure virtual functions

Multiple Inheritance

Single Inheritance • Multiple inheritance • Virtual multiple inheritance • Interfaces • Composition again

Day 4 - Learn to make use of some standard libraries and to develop your own class templates

Strings and Streams

The string class • I/O streams • I/O of user-defined types • Manipulators • Buffering • Formatted and unformatted streams

Further C++ Features

Run-Time Type Identification • Type casts • User-defined conversions • Nested classes • Pointer-to-member

Templates

Function templates • Class templates • Template arguments • Template specialization • Building simple data structures using templated and untemplated classes

Day 5 - Embedded Programming and Standard Libraries

Exceptions

Error handling • Throwing and catching exceptions • Handlers • Standard exception classes• Preventing memory leakage during exceptions

Principles of Embedded Programming

Concurrency • Threads • Synchronisation • Memory maps • Communicating with peripherals • Meeting external timing constraints • Process scheduling and pre-emption • Using C++ thread classes • Real-time operating systems

Standard Libraries

Summary of the standard C and C++ libraries • Using container classes, algorithms and iterators from the standard libraries

C++ 2011

Brief History of C++ • Maintaining compatibility • Nested templates • Type inference • Range based for-loops • Lambdas • Null pointer • Explicit conversion operators • Overridden and final methods • Defaulted and deleted behavior • Enhanced enumerations • Compile-time assertions • Shared pointers • Better random numbers • Efficient arrays • Unordered sets & maps • Regular expressions • Asynchronous calls & futures • Mutex

Looking for team-based training, or other locations?

Complete an on-line form and a Doulos representative will get back to you »

Price on request


Back to top
Privacy Policy Site Map Contact Us