Programmierkurs 2

Im Programmierkurs 1 wurde Java als Programmiersprache eingesetzt. Im Programmierkurs 2 werden wir die Kenntnisse auf weitere Programmiersprachen ausweiten. Es handelt sich dabei um die objektorientierten Sprachen C++ und C#. Wie die Namen bereits andeuten, sind die Sprachen stark von der prozeduralen Sprache C beeinflusst. Die Sprache C++ kann, zur Vereinfachnung, als Obermenge der Sprache C angesehen werden. Daher können wir mit einem geringen Mehraufwand auch den Kern (ANSI89) der Sprache C erlernen. Am Ende der Vorlesung haben Sie die prozedurale Sprache C und die objektorientierten Sprachen Java, C++ und C+ kennengelernt. Diese gehören weltweit zu den am meisten eingesetzten Programmiersprachen.

Während im Programmierkurs 1 die Erstellung von komplexen Anwendungen unter Verwendung einer API im Mittelpunkt stand, werden wir uns im Programmierkurs 2 mit den Sprachdetails beschäftigen. Durch eine vergleichende Betrachtung der einzelnen Sprachen sind wir in der Lage, einen vertieften Einblick in die Programmierung zu erhalten.

Themen

1C
1.1Historie
1.2Eigenschaften von C
1.3Compilierung (make)
1.4Bezeichner
1.5Variablen und Konstanten
1.6Datentypen
1.7Anweisungen und Kontrollstrukturen
1.8Funktionen
1.9Deklaration und Definition
1.10Aus- und Eingabe
1.11Zuweisung
1.12Logische Operatoren
1.13Inkrement
1.14Trennen von Ausdrücken
1.15Abkürzungen bei Zuweisungen
1.16Präprozessor
1.17Zusammengesetzte Datentypen (Strukturen, Varianten, Aufzählungen)
1.18Namen für Datentypen
1.19Speicherverwaltung
1.20Zeiger
1.21Dynamische Speicherverwaltung
1.22Funktion main mit Parametern
2C++
2.1Historie
2.2Eigenschaften von C++
2.3Ein- und Ausgabe
2.4Standardbibliothek
2.5Klassen
2.6Includeguards
2.7Konstruktoren
2.8Destruktoren
2.9Dynamische Objekterzeugung
2.10Überladen
2.11Inline Funktionen
2.12Konstante Elementfunktionen
2.13Vererbung
2.14Virtuelle Funktionen
2.15Abstrakte Klassen
2.16Virtueller Destruktor
2.17Referenzen
2.18Defaultparameter
2.19Konstante Objekte
2.20Statische Elementfunktionen und Attribute
2.21Namensräume
2.22Mehrfachvererbung
2.23Zeiger auf Elementfunktionen und Attribute
2.24friend-Funktionen
2.25Templates
2.26Überladen von Operatoren
2.27Ausnahmebehandlung
2.28Typumwandlung
2.29Typinformationen
3C#
3.1Historie
3.2Eigenschaften von C#
3.3.NET-Framework
3.4Programmerstellung
3.5Grundlagen
3.6Ein- und Ausgabe
3.7Strukturen
3.8Klassen
3.9Vererbung
3.10Abstrakte Klassen
3.11Interface
3.12Namensräume
3.13Partielle Klassendefinition
3.14Methoden
3.15Eigenschaften
3.16Generische Datentypen
3.17Überladen von Operatoren
3.18Indexer
3.19Delegates
3.20Ereignisse
3.21Ausnahmebehandlung
3.22Typumwandlung