|
Datum |
Themen |
Folien / Handout |
C++ Übersicht |
Übungsserie |
Lösung |
Programme |
Material |
|
Vorlesung 1 (19.09.2017) |
Informatik: Definition und Geschichte, Algorithmen,
Turing-Maschine, Höhere Programmiersprachen, Werkzeuge der
Programmierung, das erste C++ Programm und seine syntaktischen und
semantischen Bestandteile |
Infoblatt zu den Übungen
Organisatorisches
(Handout, English)
Vorlesung 1
(Handout ,English)
Video-Aufzeichnung
|
Befehle 1 |
Serie 1 [html] |
Lösung 1 [html] |
[power8.cpp] |
power8-Animation
und Handout zum
ersten Programm |
|
Vorlesung 2 (26.09.2016) |
Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int |
Vorlesung 2
(Handout, English)
Video-Aufzeichnung |
Befehle 2 |
Serie 2 [html] |
Lösung 2 [html] |
[fahrenheit.cpp]
[limits.cpp]
|
Zaubertrick
[Flashcard
Auswertungsreihenfolgen]
[Flashcard
Ausdruckswert]
Selfassessment 1
Lösung
Bewertungsschema
Notenskala
|
|
Vorlesung 3 (03.10.2017) |
Boolesche Funktionen; der Typ bool; logische und
relationale Operatoren; Assertions; Auswahlanweisungen,
Iterationsanweisungen, Terminierung, Blöcke |
Vorlesung 3
(Handout, English)
Video-Aufzeichnung |
Befehle 3 |
Serie 3 [html] |
Lösung 3 [html] |
[divmod.cpp]
[prime.cpp]
[sum_n.cpp]
|
Addierer-Animation
[Flashcard
XOR]
|
|
Vorlesung 4 (10.10.2017) |
Sichtbarkeit, lokale Variablen, While-, Do- und Sprunganweisung, die
Typen float und double, Gemischte Ausdrücke
und Konversion, Löcher im Wertebereich |
Vorlesung 4
(Handout, English)
Video-Aufzeichnung |
Befehle 4 |
Serie 4 [html] |
Lösung 4 [html] |
[collatz.cpp],
[euler.cpp],
[diff.cpp]
|
[Flashcard
ForLoop] [Halteproblem] |
|
Vorlesung 5 (17.10.2017) |
Fliesskommazahlensysteme; IEEE Standard; Grenzen der Fliesskommaarithmetik;
Fliesskomma-Richtlinien; Harmonische Zahlen; Funktionsdefinitionen- und Aufrufe; der Typ void; Vor- und Nachbedingungen |
Vorlesung 5
(Handout, English)
Video-Aufzeichnung
|
Befehle 5 |
Serie 5 [html] |
Lösung 5 [html] |
[harmonic.cpp],
[callpow.cpp]
|
[Flashcard Overhang] |
|
Vorlesung 6 (24.10.2017) |
Stepwise Refinement, Gültigkeitsbereich,
Bibliotheken, Standardfunktionen, Vorschau Referenztypen |
Vorlesung 6
(Handout, English)
Video-Aufzeichnung
|
Befehle 6 |
Serie 6 [html] |
Lösung 6 [html] |
[callpow2.cpp],
[prime2.cpp]
|
[Flashcard
Intervallschnitt]
Selfassessment 2
Lösung
Bewertungsschema
Notenskala
|
|
Vorlesung 7 (31.10.2017) |
Referenztypen: Definition und Initialisierung, Call By Value ,
Call by Reference, Temporäre Objekte, Konstanten,
Const-Referenzen, Feldtypen, Sieb des
Eratosthenes, Speicherlayout, Iteration, Vektoren, Zeichen,
Texte, ASCII, UTF-8, Caesar-Code |
Vorlesung 7
(Handout, English)
Video-Aufzeichnung
|
Befehle 7 |
Serie 7 [html] |
Lösung 7 [html] |
[eratosthenes.cpp],
[eratosthenes2.cpp],
[caesar_encrypt.cpp],
[caesar_decrypt.cpp]
|
[Flashcard Referenzen] |
|
Vorlesung 8 (7.11.2017) |
Strings, Lindenmayer-Systeme,
Mehrdimensionale Felder, Vektoren von Vektoren,
Kürzeste Wege, Zeiger |
Vorlesung 8
(Handout, English)
Video-Aufzeichnung
|
Befehle 8 |
Serie 8 [html] |
Lösung 8 [html] |
[lindenmayer.cpp],
[bush.cpp]
[snowflake.cpp]
[rainbowflake.cpp]
[dragon.cpp]
[shortest_path.cpp]
|
[Flashcard
Kürzeste Wege]
Lindenmayer-Dateien
für Offline-Gebrauch |
|
Vorlesung 9 (14.11.2017) |
Iteration mit Zeigern, Felder: Indizes vs. Zeiger,
Felder und Funktionen, Zeiger und const, Algorithmen, Container und
Traversierung, Vektor-Iteratoren, Typedef, Mengen, das
Iterator-Konzept, Mathematische Rekursion, Terminierung, der Aufrufstapel,
Beispiele, Rekursion vs. Iteration |
Vorlesung 9
(Handout, English)
Video-Aufzeichnung
|
Befehle 9 |
Serie 9 [html] |
Lösung 8 [html] |
[fibonacci.cpp],
[fibonacci2.cpp]
|
[Flashcard Zeiger] |
|
Vorlesung 10 (21.11.2017) |
Bau eines Taschenrechners, Ströme, BNF, EBNF, Parsen |
Vorlesung 10
(Handout, English)
Video-Aufzeichnung
|
Befehle 10 |
Serie 10 [html] |
Lösung 10 [html] |
[checksum.cpp],
[calculator.cpp],
[simple_calculator_l.cpp],
[simple_calculator_r.cpp],
[calculator_r.cpp],
[calculator_l.cpp]
|
[Flashcard Rekursion] |
|
Vorlesung 11 (28.11.2017) |
Rationale Zahlen, Struct-Definition,
Operator-Überladung, Const-Referenzen, Datenkapselung,
Klassen-Typen |
Vorlesung 11
(Handout, English)
Video-Aufzeichnung
|
Befehle 11 |
Serie 11 [html] |
|
[rational_init.cpp],
[rational_with_operators.cpp]
|
[Flashcard Eisenbahn]
Selfassessment 3
Lösung
mit Bewertungsschema
Notenskala |
|
Vorlesung 12 (5.12.2017) |
Memberfunktionen, Konstruktoren, verkettete Liste, Stapel, dynamischer Speicher, Kopierkonstruktor, Zuweisungsoperator, Destruktor, Konzept Dynamischer Datentyp |
Vorlesung 12
(Handout, English)
Video-Aufzeichnung
|
Befehle 12 |
Serie 12 [html] |
|
[rationals_with_classes.cpp],
[stack_test.cpp],
[stack_example.cpp]
|
[Flashcard
Konstruktoren] |
|
Vorlesung 13 (12.12.2017) |
Ausdrucksbäume, Vererbung, Code-Wiederverwendung, virtuelle Funktionen, Polymorphie, Konzepte des objektorientierten Programmierens |
Vorlesung 13
(Handout, English)
Video-Aufzeichnung
|
Befehle 13 |
Serie 13 [html]
(nicht bonus- und prüfungsrelevant, keine
manuelle Korrektur) |
|
[texpression_test.cpp],
[texpression_calculator.cpp],
[double_calculator.cpp],
[xexpression_test.cpp]
|
[Flashcard
Konstruktoren II] |
|
Vorlesung 14 (19.12.2017) |
Inhaltlicher Rückblick mit Beispielprogrammen |
Vorlesung 14 Video-Aufzeichnung |
|
|
|
[lecture2.cpp]
[lecture3a.cpp]
[lecture3b.cpp]
[lecture4a.cpp]
[lecture4b.cpp]
[lecture5.cpp]
[lecture6.cpp]
[lecture7a.cpp]
[lecture7b.cpp]
[lecture8.cpp]
[lecture9a.cpp]
[lecture9b.cpp]
[lecture10.cpp]
[lecture11.cpp]
[lecture12a.cpp]
[lecture12b.cpp] |
Selfassessment 4
und Lösung
mit Bewertungsschema
Notenskala
Zusatzaufgaben und Lösung |
|