Lectures
Programmieren in C/C++
Was ist Programmieren?
Teil1
Grundlagen
- Prinzip
- Grundlegende Konzepte
- Variablen
- Positionssysteme
- Dualsystem
- Berechnungen
- Registermaschine
- Maschinensprache
- Speicher
- Speicherbelegung
- Algorithmen
- Implementierung
- Plattformunabhängigkeit
- Datenstrukturen
- Datenstrukturtypen
- Weiterführende Literatur
C-Sprachbestandteile
- Hello, World
- Erste Schritte
- Erster Algorithmus
- Elementare Datentypen
- Variablendeklaration
- Variablennamen
- Operatoren
- Auswertung
- Verschachtelte Operatoren
- Operatorenvorrang
- Klammer Operator
- Operatoren Liste
- Arithmetische Operatoren
- Vergleichs Operatoren
- Logische Operatoren
- Kurzschluss
- DeMorgan
- Operatoren Beispiel
- Bitweise Operatoren
- Bitmanipulationen
- Shift Operatoren
- Zuweisungs Operatoren
- Zusammengesetzte Zuweisungsoperatoren
- Inkrement Operatoren
- Zusammengesetzte Ausdrücke
- Anweisungen
- Anweisungsblöcke
- Kontrollstrukturen
- Verzweigungen
- Schleifen
- Kontrollstruktur While
- Kontrollstruktur While Flussdiagramm
- Kontrollstruktur While Beispiele
- Kontrollstruktur While ggT
- Kontrollstruktur Do-While
- Kontrollstruktur Do-While Flussdiagramm
- Kontrollstruktur Do-While Beispiele
- Kontrollstruktur For
- Kontrollstruktur For Flussdiagramm
- Kontrollstruktur For Beispiele
- Kontrollstruktur For Besonderheiten
- Kontrollstruktur For-For
- Kontrollanweisung Break
- Kontrollanweisung Continue
- Kontrollanweisung Goto
- Übersicht der Kontrollstrukturen
- Beispiele zu Kontrollstrukturen
- Einrückung von Kontrollstrukturen
- Präprozessor Direktiven
- Präprozessor Macros
- Bedingte Kompilation
- Ein- und Ausgabe von Werten
- Ein- und Ausgabe von Zeichen
C-Funktionen
- Prozeduren
- Funktionen
- Lokale Variablen
- Globale Variablen
- Konstanten
- Main-Funktion
- Main-Argumente
- Fehlercode
- Stapelmaschine
- Rekursion
- Zeiger und Adressen
- Funktionszeiger
- Funktionsprototypen
- Header und Module
- Kompilation mit Unix
- Kompilation mit CMake
Übungen Teil1
Die Aufgaben werden in Einzelarbeit gelöst. Zusammenarbeit in Zweiergruppen ist erwünscht.
Letzte Abgabemöglichkeit einzelner Aufgaben: spätestens 1 Woche vor Prüfungszeitraum.
WS2011/2012: 20.1.2012
Letzte Abgabemöglichkeit einzelner Aufgaben: spätestens 1 Woche vor Prüfungszeitraum.
WS2011/2012: 20.1.2012
Zusatzaufgaben
Addendum
Teil2
C++ Datenstrukturen und Algorithmen
- Literatur
- Datenstruktur
- Arrays
- Indizierung
- Tabellen
- Statische Arrays
- Array Initialisierung
- Array Beispiel
- Arrays und Zeiger
- Zeigerarithmetik
- Arrays als Parameter
- Array Parameter Beispiel
- Einsatz von Zeigerarithmetik
- Zeichenketten (C-Strings)
- Dynamische Arrays
- Sieb des Eratosthenes
- Variable Zeichenketten
- Mehrdimensionale Arrays
- Matrix Beispiel
- Mehrdimensionale Arrays als Parameter
- Zeiger auf Strings
- Strukturen
- Call-By-Name
- Eigene Datentypen
- Verkettete Listen
- Objektorientierung
- OO-Literatur
- Objekte
- ObjektBauplan
- C++ Klassen und Methoden
- Container
- Datenkapselung
- Konsistenz
- Objektzyklus
- Konstruktoren
- Instanzen
- Destruktoren
- Dynamische Objekterzeugung
- Beispiel zum Unterschied von C und C++
- Statische Komponenten
- This-Zeiger
- Namensraum
- Vererbung
- Basisklassen
- Überschreiben von Methoden
- Virtuelle Methoden
- Pure Virtual
- Overloading (Überladen)
- Standardwerte
- Überladen von Operatoren
- Operatorliste
- Ausgabe-Operator (<<)
- Ausgabe-Operator für komplexe Zahlen
- Interfaces
- Binäre Bäume
- Binary Space Partitioning
- Templates
- Standard Template Library
- Software Engineering
- Ausblick
Übungen Teil2
Die Aufgaben werden in Einzelarbeit gelöst. Zusammenarbeit in Zweiergruppen ist empfohlen (Pairprogramming).
Letzte Abgabemöglichkeit einzelner Aufgaben: spätestens 1 Woche vor Prüfungszeitraum.
SS2012: 6.7.2012
Letzte Abgabemöglichkeit einzelner Aufgaben: spätestens 1 Woche vor Prüfungszeitraum.
SS2012: 6.7.2012