
C/C++ Programmierkurs
Meistern Sie C und C++ von Grund auf, von rohem Speicher und Zeigern bis hin zu modernen C++20-Funktionen, Entwurfsmustern und nebenläufigen Systemen. Dieser Kurs vermittelt Ihnen die technische Tiefe, die professionelle Entwickler und Systemingenieure tatsächlich im Job nutzen. Egal, ob Sie eingebettete Firmware, Hochleistungsanwendungen oder technische Interviews anstreben, Sie werden mit echten, produktionsreifen Fähigkeiten abschließen.
Was Sie lernen werden:
Sie werden eine vollständige Grundlage in C- und C++-Syntax, Speicherverwaltung und objektorientierter Programmierung aufbauen, bevor Sie sich mit Templates, der Standard Template Library und modernen C++17/20-Funktionen befassen. Der Kurs behandelt Datenstrukturen und Algorithmen, die von Grund auf implementiert werden, und vermittelt Ihnen die Problemlösungsfähigkeiten, die für technische Interviews und Systemarbeiten erforderlich sind. Sie lernen auch den Einsatz branchenüblicher Tools wie CMake, GDB, Google Test und statische Analysatoren. Themen der Embedded- und Systemprogrammierung bereiten Sie auf Firmware- und Low-Level-Entwicklung vor. Am Ende werden Sie in der Lage sein, robuste C++-Software in professionellen Umgebungen zu entwerfen, zu erstellen und zu veröffentlichen.
Wie Sie praxisnah lernen C/C++ Programmierkurs
Wie Sie üben C/C++ Programmierkurs
Für Unternehmen, die ihr Team schulen möchten
Bei Dedika für Unternehmen enthält der Kurs Übungen und Beispiele, die auf Ihr eigenes Geschäft und die Bedürfnisse Ihres Unternehmens zugeschnitten sind.
Kursinhalt
8 Kapitel • 40 LektionenDauer zwischen 4 und 360 Stunden (Sie entscheiden)
Kapitel 1AusblendenDetails ausblendenDetails anzeigenC/C++ Umgebung und Syntax Grundlagen
C/C++ Umgebung und Syntax Grundlagen
Lektion 1 • Variablen, Typen und Literale
Führt primitive Datentypen, Variablendeklaration und Literale ein. Die Beherrschung dieser Konzepte ermöglicht eine korrekte Datendarstellung im gesamten Kurs.
Lektion 2 • Grundlagen der Eingabe und Ausgabe
Lehrt Konsolen-I/O mit printf/scanf in C und cin/cout in C++. Ermöglicht interaktive Programme, die in jeder praktischen Übung benötigt werden.
Lektion 3 • Operatoren und Ausdrücke
Behandelt arithmetische, relationale, logische und bitweise Operatoren mit Vorrangregeln. Bildet die Fähigkeit zur Ausdrucksbildung, die für alle Kontrollflüsse und Algorithmen benötigt wird.
Lektion 4 • Kern-Syntax und Programmstruktur
Behandelt Token, Anweisungen, Blöcke und die Anatomie einer C/C++-Quelldatei. Knüpft direkt an das Schreiben jedes gültigen Programms in späteren Kapiteln an.
Lektion 5 • Einrichten der Entwicklungsumgebung
Installieren und Konfigurieren von Compilern, Editoren und Build-Tools für C/C++. Bietet die technische Grundlage, von der jedes nachfolgende Kapitel abhängt.
Kapitel 2AusblendenDetails ausblendenDetails anzeigenKontrollfluss und Funktionen
Kontrollfluss und Funktionen
Lektion 1 • Funktionsdeklaration und -definition
Führt Funktionsprototypen, Definitionen und Aufrufmechanismen in C/C++ ein. Etabliert modulare Entwurfsprinzipien, die im gesamten Kurs verwendet werden.
Lektion 2 • Gültigkeitsbereich, Lebensdauer und Speicherklassen
Erklärt lokale, globale und statische Variablen und deren Lebensdauer. Verhindert häufige Fehler im Zusammenhang mit nicht initialisierten oder falsch skalierten Variablen.
Lektion 3 • Grundlagen der Rekursion
Behandelt rekursives Funktionsdesign, Basisfälle und Stack-Verhalten. Bereitet die Teilnehmer auf rekursive Algorithmen und Datenstrukturen in späteren Kapiteln vor.
Lektion 4 • Bedingte Anweisungen
Behandelt if-, else-if- und switch-Konstrukte für Entscheidungsfindung. Ermöglicht direkt logikgesteuerte Programme, auf denen jedes nachfolgende Kapitel aufbaut.
Lektion 5 • Schleifen und Iteration
Lehrt for-, while- und do-while-Schleifen zusammen mit Schleifensteuerungsanweisungen. Iteration ist das Rückgrat von Algorithmen und der Datenverarbeitung, die später behandelt werden.
Kapitel 3AusblendenDetails ausblendenDetails anzeigenArrays, Zeichenketten und Zeiger
Arrays, Zeichenketten und Zeiger
Lektion 1 • C-Style Zeichenketten und Zeichenkettenfunktionen
Lehrt nullterminierte Zeichen-Arrays und Standard-Bibliotheksfunktionen für Zeichenketten. Bietet die C-Zeichenketten-Grundlage, die benötigt wird, bevor C++ std::string eingeführt wird.
Lektion 2 • Dynamische Speicherzuweisung
Lehrt malloc/free in C und new/delete in C++ für die Heap-Verwaltung. Legt die Grundlage für dynamische Datenstrukturen, die im nächsten Kapitel behandelt werden.
Lektion 3 • Eindimensionale und mehrdimensionale Arrays
Behandelt Array-Deklaration, -Initialisierung und Elementzugriffsmuster. Arrays sind die Grundlage für nahezu jede später im Kurs eingeführte Datenstruktur.
Lektion 4 • Zeiger und Funktionen
Behandelt das Übergeben von Zeigern an Funktionen und das sichere Zurückgeben von Zeigern. Ermöglicht effiziente Datenmanipulation ohne unnötiges Kopieren.
Lektion 5 • Zeiger-Grundlagen und Adressarithmetik
Führt Zeigerdeklaration, Dereferenzierung und Zeigerarithmetik ein. Zeiger sind zentral für die dynamische Speicherverwaltung und die hardwarenahe Programmierung in späteren Kapiteln.
Kapitel 4AusblendenDetails ausblendenDetails anzeigenStrukturen, Unions und Aufzählungen
Strukturen, Unions und Aufzählungen
Lektion 1 • Aufzählungen und Typ-Aliasnamen
Behandelt C-enums, C++ enum class und typedef/using-Deklarationen. Verbessert die Code-Klarheit und Typsicherheit in allen nachfolgenden Projekten.
Lektion 2 • Bitfelder und gepackte Daten
Führt Bitfeld-Struct-Member für kompakte Datendarstellung ein. Relevant für die Protokollanalyse und Hardware-Register-Abbildung in fortgeschrittenen Themen.
Lektion 3 • Zeiger auf Strukturen
Lehrt zeigerbasierten Struct-Zugriff und dynamische Struct-Allokation. Ermöglicht verkettete Datenstrukturen, die im Algorithmen-Kapitel erstellt werden.
Lektion 4 • Unions und Speicherfreigabe
Erklärt die Semantik von Unions, überlappende Speicherbereiche und gültige Anwendungsfälle. Bietet einen Einblick in die Low-Level-Speicherverwaltung, relevant für Embedded- und Systemprogrammierung.
Lektion 5 • Definieren und Verwenden von Strukturen
Behandelt Struct-Deklaration, Member-Zugriff und geschachtelte Structs. Strukturen sind der direkte Vorläufer der C++-Klassen, die im nächsten Kapitel eingeführt werden.
Kapitel 5AusblendenDetails ausblendenDetails anzeigenObjektorientierte Programmierung in C++
Objektorientierte Programmierung in C++
Lektion 1 • Polymorphie und virtuelle Funktionen
Führt virtuelle Funktionen, rein virtuelle Funktionen und abstrakte Klassen ein. Ermöglicht Laufzeit-Dispatch-Muster, die für erweiterbares Softwaredesign zentral sind.
Lektion 2 • Vererbung und Klassenhierarchien
Behandelt Einfach- und Mehrfachvererbung, Basisklassenzugriff und Konstruktor-Verkettung. Bildet die für die Polymorphie erforderlichen Fähigkeiten im Hierarchieentwurf.
Lektion 3 • Kapselung und Entwurfsprinzipien
Wendet SOLID-Prinzipien und Kapselungsstrategien auf das Klassendesign an. Bereitet die Teilnehmer darauf vor, wartbaren, testbaren C++-Code in fortgeschrittenen Kapiteln zu schreiben.
Lektion 4 • Operatorüberladung
Lehrt das Überladen von arithmetischen, Vergleichs- und Stream-Operatoren für benutzerdefinierte Typen. Ermöglicht intuitive Syntax für benutzerdefinierte Klassen, die in späteren Projekten verwendet werden.
Lektion 5 • Klassen und Objekte
Behandelt Klassendeklaration, Zugriffsspezifizierer und Objektinstanziierung. Etabliert das Klassenmodell, das alle OOP-Features dieses Kapitels erweitern.
Kapitel 6AusblendenDetails ausblendenDetails anzeigenTemplates, STL und generische Programmierung
Templates, STL und generische Programmierung
Lektion 1 • STL-Algorithmen
Behandelt sort, find, transform, accumulate und andere Standardalgorithmen. Die Anwendung von STL-Algorithmen ersetzt fehleranfällige manuelle Schleifen im Produktionscode.
Lektion 2 • Funktions- und Klassen-Templates
Behandelt Template-Syntax, Typparameter und Template-Instanziierung. Generische Funktionen und Klassen reduzieren Code-Duplikation in allen zukünftigen Projekten.
Lektion 3 • STL-Container
Stellt vector, list, deque, map, set und deren ungeordnete Varianten vor. Die Wahl des richtigen Containers ist entscheidend für die Leistung beim Algorithmenentwurf.
Lektion 4 • Lambda-Ausdrücke und Funktoren
Führt Lambda-Syntax, Captures und Funktor-Objekte für die Verwendung mit der STL ein. Ermöglicht präzise, ausdrucksstarke Algorithmenanpassung in modernem C++.
Lektion 5 • Iteratoren und Bereiche
Lehrt Iterator-Kategorien, Iterator-Arithmetik und bereichsbasierte for-Schleifen. Iteratoren sind die universelle Schnittstelle zwischen Containern und Algorithmen.
Kapitel 7AusblendenDetails ausblendenDetails anzeigenSpeicherverwaltung und Ressourcensicherheit
Speicherverwaltung und Ressourcensicherheit
Lektion 1 • Ausnahmebehandlung und Sicherheit
Behandelt try/catch/throw, Ausnahmehierarchien und Ausnahmesicherheitsgarantien. Robuste Fehlerbehandlung verhindert Ressourcenlecks unter Ausnahmebedingungen.
Lektion 2 • RAII und Ressourcenbesitz
Erklärt das RAII-Idiom und wie Konstruktoren/Destruktoren Ressourcensicherheit erzwingen. RAII ist die Grundlage aller sicheren Ressourcenverwaltung in modernem C++.
Lektion 3 • Smart Pointer im Detail
Behandelt die Semantik und Verwendungsmuster von unique_ptr, shared_ptr und weak_ptr. Smart Pointer eliminieren manuelle delete-Aufrufe und verhindern Besitzfehler.
Lektion 4 • Kopier- und Verschiebesemantik
Lehrt Kopierkonstruktoren, Kopierzuweisung, Verschiebekonstruktoren und Verschiebezuweisung. Die Rule of Five regelt das Design von ressourcenbesitzenden Klassen.
Lektion 5 • Speicher-Debugging und Profiling
Führt Werkzeuge zur Erkennung von Lecks, ungültigen Zugriffen und Heap-Korruption ein. Profiling-Fähigkeiten sind für die Aufrechterhaltung von produktionsreifem C++-Code unerlässlich.
Kapitel 8AusblendenDetails ausblendenDetails anzeigenDatei-I/O, Nebenläufigkeit und Systemprogrammierung
Datei-I/O, Nebenläufigkeit und Systemprogrammierung
Lektion 1 • Multithreading mit std::thread
Lehrt Thread-Erstellung, -Join und -Detach unter Verwendung der C++11-Thread-Bibliothek. Grundlagen der Nebenläufigkeit ermöglichen das Design paralleler Programme in diesem Kapitel.
Lektion 2 • Prozess- und Systemschnittstellen
Führt Prozesserstellung, Umgebungsvariablen und Systemaufrufe ein. Bietet den OS-Kontext, der zum Schreiben von Systemprogrammen auf C-Ebene erforderlich ist.
Lektion 3 • Netzwerk- und Socket-Grundlagen
Führt die BSD-Socket-API für TCP/UDP-Kommunikation in C/C++ ein. Netzwerkfähigkeiten erweitern C/C++-Anwendungen auf verteilte und Client-Server-Kontexte.
Lektion 4 • Synchronisierung und Daten-Races
Behandelt Mutexe, Bedingungsvariablen und atomare Operationen zur Verhinderung von Daten-Races. Sichere Synchronisierung ist für korrekte nebenläufige Programme zwingend erforderlich.
Lektion 5 • Datei-I/O in C und C++
Behandelt fopen/fclose in C und fstream in C++ zum Lesen und Schreiben von Dateien. Datei-I/O ist für die Datenpersistenz in allen Abschlussprojekten erforderlich.
Ihr gültiges Abschlusszertifikat
Dieser Kurs ist für Sie geeignet:
Informatikstudierende: die praktische Tiefe suchen, die über das hinausgeht, was Vorlesungen normalerweise bieten.
Python- oder JavaScript-Entwickler: bereit zu verstehen, was unter der Abstraktionsebene passiert.
Elektroingenieure: die C-Kenntnisse benötigen, um Firmware für Hardwareprojekte zu schreiben und zu warten.
Karrierewechsler: die systemnahe oder eingebettete Rollen anstreben, die fließende Low-Level-Programmierkenntnisse erfordern.
Spieleentwickler: die leistungskritischen Code in C oder C++ optimieren möchten.
Autodidakten: die ein solides Fundament aufbauen möchten, wie es strukturierte Sprachen wie C erfordern.
Was unsere Lernenden sagen
Ihre Kurse sind perfekt. Ich habe das Jahrespaket erworben und habe endlich die Möglichkeit, verschiedene Themen zu verfolgen, die mich interessieren, ohne die Plattform wechseln zu müssen... ich danke Ihnen für alles, was Sie tun, ich habe Sie bereits anderen Leuten empfohlen...

Mir gefällt, wie die Lektionen direkt auf den Punkt kommen und wie ich Kapitel wechseln und Inhalte überspringen kann, die ich nicht brauche.

Mir gefallen die Inhalte und die Art der Präsentation und Transkription der Videos, was den Prozess beschleunigt!

Die Plattform ist schnell und einfach zu bedienen. Die Vielfalt der Inhalte und die ergänzenden Videos helfen sehr beim Lernen.

Wichtige Qualifikationen
FAQ
Wer ist Dedika?
Ist das Zertifikat in Deutschland gültig?
Sind die Kurse kostenlos?
Wie hoch ist der Arbeitsaufwand der Kurse?
Wie sind die Kurse aufgebaut?
Wie funktionieren die Kurse?
Wie lange dauern die Kurse?
Was kostet ein Kurs?
Was ist ein E-Learning- oder Online-Kurs und wie funktioniert er?
PDF-Kurs




















