Naturwissenschaften und Mathematik
für Schule, Auszubildende und Studenten, Bildungsträger und Schulen

C++ Programmierung

Programmieren in C++ – vom Einstieg zur objektorientierten Programmierung
C++ gehört zu den leistungsfähigen und vielseitigen Programmiersprachen und wird in sehr unterschiedlichen Bereichen eingesetzt – von technischen Anwendungen über Spiele und Simulationen bis hin zu umfangreicher Systemsoftware.
Die Sprache baut historisch auf C auf, geht aber deutlich darüber hinaus. Neben klassischer strukturierter Programmierung ermöglicht C++ insbesondere die objektorientierte Programmierung und bietet zahlreiche moderne Sprachmittel.
Mein Unterricht richtet sich an Anfängerinnen und Anfänger sowie Studierende in einführenden Programmierkursen, die C++ systematisch kennenlernen möchten.
Von den Grundlagen zur objektorientierten Programmierung
Zu Beginn stehen die grundlegenden Elemente der Programmierung:

  • Variablen und Datentypen
  • Ein- und Ausgabe
  • Rechenoperatoren
  • Bedingungen
  • Schleifen
  • Funktionen
  • Arrays
  • Zeichenketten
  • Referenzen und Zeiger
  • einfache Datenstrukturen

Anschließend kann schrittweise der Übergang zur objektorientierten Programmierung erfolgen.
Klassen und Objekte verstehen
Ein wesentlicher Bestandteil von C++ ist die Möglichkeit, Programme mit Klassen und Objekten zu strukturieren.
Dabei werden beispielsweise behandelt:

  • Klassen
  • Objekte
  • Attribute
  • Methoden
  • Konstruktoren und Destruktoren
  • Datenkapselung
  • Vererbung
  • Polymorphie

Diese Begriffe wirken am Anfang häufig abstrakt. Deshalb werden sie anhand kleiner, überschaubarer Beispiele eingeführt.
Beispielsweise kann eine Klasse Konto, Fahrzeug, Messwert oder Student entwickelt werden. Dadurch wird sichtbar, wie Daten und die zugehörigen Funktionen gemeinsam in einem Programm organisiert werden können.
Warum C++ lernen?
C++ bietet einen interessanten Mittelweg zwischen hardwarenaher und moderner höherer Programmierung.
Man kann sich einerseits sehr genau mit Speicher, Datentypen und der internen Verarbeitung von Daten beschäftigen. Andererseits lassen sich große Programme mit Klassen, Bibliotheken und modernen Datenstrukturen übersichtlich aufbauen.
Dadurch vermittelt C++ ein tiefes Verständnis vieler grundlegender Konzepte der Informatik.
Speicher, Zeiger und Referenzen
Wie schon in C spielen Speicheradressen und Zeiger auch in C++ eine wichtige Rolle.
Im Unterricht können deshalb schrittweise folgende Fragen geklärt werden:
Wo werden Daten gespeichert?
Was ist eine Speicheradresse?
Was ist ein Zeiger?
Was ist eine Referenz?
Was passiert bei der Übergabe von Daten an eine Funktion?
Gerade diese Themen helfen dabei, besser zu verstehen, was beim Ausführen eines Programms tatsächlich geschieht.
Moderne Datenstrukturen nutzen
C++ bietet gleichzeitig komfortable Möglichkeiten, mit Daten zu arbeiten.
Je nach Kenntnisstand können beispielsweise behandelt werden:

  • string
  • vector
  • Listen
  • Maps
  • Iteratoren
  • Standard Template Library (STL)

Damit lassen sich viele typische Programmieraufgaben deutlich übersichtlicher lösen.
Kleine Programme selbst entwickeln
Geeignete Übungsprojekte können beispielsweise sein:

  • Taschenrechner
  • Umrechnung von Einheiten
  • Zahlen- und Primzahlprogramme
  • statistische Auswertungen
  • kleine Verwaltungsprogramme
  • Sortier- und Suchverfahren
  • mathematische Simulationen
  • einfache Spiele
  • Klassen für Konten, Fahrzeuge oder Messdaten

Dabei steht immer die Frage im Mittelpunkt:
Wie entwickle ich aus einer Aufgabenstellung einen sinnvollen Algorithmus und daraus ein funktionierendes Programm?
C++ für Mathematik, Naturwissenschaft und Technik
C++ eignet sich besonders gut für Anwendungen, bei denen Leistung und Kontrolle über die Datenverarbeitung wichtig sind.
Die Sprache wird deshalb unter anderem in Bereichen wie

  • Ingenieurwissenschaften
  • Simulation
  • Robotik
  • Mess- und Steuerungstechnik
  • wissenschaftlichem Rechnen
  • Grafik
  • Spieleentwicklung
  • Systemsoftware

eingesetzt.
Damit ist C++ insbesondere für technisch und naturwissenschaftlich interessierte Lernende eine spannende Programmiersprache.
Plattformübergreifendes Programmieren
C++ ist auf vielen unterschiedlichen Betriebssystemen verfügbar.
Programme können beispielsweise für

  • Windows
  • Linux
  • macOS
  • verschiedene Unix-Systeme
  • Einplatinencomputer und
  • eingebettete Systeme

entwickelt werden.
Wer möglichst standardkonform programmiert, kann einen großen Teil des Quellcodes auf unterschiedlichen Plattformen verwenden.
Auch hier lässt sich gut lernen, welche Bestandteile zur eigentlichen Programmiersprache gehören und welche Funktionen von einem bestimmten Betriebssystem oder einer speziellen Bibliothek abhängen.
Von C zu C++
Wer bereits C kennt, findet in C++ viele vertraute Elemente wieder.
C++ sollte dennoch nicht nur als „C mit einigen zusätzlichen Befehlen“ betrachtet werden. Die Sprache bietet eigene Konzepte und ermöglicht insbesondere einen stärker strukturierten und objektorientierten Aufbau größerer Programme.
Umgekehrt kann C++ auch direkt als erste Programmiersprache erlernt werden, wenn die Grundlagen Schritt für Schritt aufgebaut werden.
C++-Unterricht für Anfänger
Vorkenntnisse sind nicht zwingend erforderlich.

Eigene Aufgaben aus Schule, Ausbildung oder Studium können gerne in den Unterricht einbezogen werden. Auch vorhandener Programmcode kann gemeinsam untersucht und verbessert werden.
Mein Ziel ist nicht, möglichst viele C++-Befehle auswendig zu lernen. Sie sollen verstehen, wie Programme aufgebaut werden, wie Daten verarbeitet werden und wie aus kleinen Programmteilen Schritt für Schritt eine größere Software entsteht.

E-Mail
Anruf