|
|
Dozent |
Prof. Dr. Oliver Vornberger |
Übungsleiter |
Nils Haldenwang, M.Sc., Ann-Katrin Becker, M.Sc. |
Tutoren |
Dennis Altenhoff,
Johan von Behren,
Miriam Beutel,
Timo Bourdon,
Christoph Eichler,
Antonia Hain,
Laura Hembrock,
Katrin Ihler,
Svantje Jung,
Merle Kock,
Lukas Kalbertodt,
Julian Kniephoff,
Maelle Lerebourg,
Andrea Olberding,
Timo Osterkamp,
Kirsten Rittershofer,
Lena Scholz,
Kai Standvoß,
Alexander Tessmer,
Lukas Vogelsang,
Joshua Wiebe
|
|
Vorlesung |
montags und dienstags, 14:15 - 15:45 Uhr, Raum 32/102 und per Videostream in 32/109 und 32/110
|
Übung |
Ann-Katrin Häuser (vertreten durch Lukas Kalbertodt): |
donnerstags, 08:30 - 10:00 Uhr, Raum 31/E06
donnerstags, 10:15 - 11:45 Uhr, Raum 31/E06
|
Nils Haldenwang: |
donnerstags, 12:30 - 14:00 Uhr, Raum 31/E06
donnerstags, 14:15 - 15:45 Uhr, Raum 31/E06
|
Alle Übungen haben den gleichen Inhalt.
|
|
|
Inhalt |
Es werden anhand der Programmiersprache Java Algorithmen zum Suchen und Sortieren vorgestellt und die dazu benötigten Datenstrukturen wie Keller, Schlange, Liste, Baum und Graph eingeführt. Programme werden auf Eigenschaften wie Korrektheit, Terminierung und Effizienz untersucht. |
Literatur |
Vorlesungsskript (HTML), Vorlesungsskript (PDF)
    (Das Skript kann in der ersten Vorlesungsstunde für 5 € erworben werden.)
Die Veranstaltung behandelt (naturgemäß) nur einen Teil
der Programmiersprache Java und auch nur exemplarisch
einige wichtige Datenstrukturen. Der prüfungsrelevante
Stoff ist vollständig
in diesem Skript dokumentiert. Wer sich darüberhinaus
noch umfassender informieren möchte, sei auf folgende Bücher verwiesen:
- Christian Ullenboom:
"Java ist auch eine Insel", 10. Auflage, Galileo Computing, 2011
Onlinefassung: http://openbook.galileocomputing.de/javainsel/
- Robert Sedgewick, Kevin Wayne:
"Einführung in die Programmierung mit Java", Pearson, 2011
|
Evaluation |
über Fragebogen der Servicestelle Lehrevaluation (PDF)     über stud.ip-Fragebogen (PDF)
|
Foto |
Die Teilnehmer der Veranstaltung
Die Teilnehmer der Veranstaltung (mit Markierungen)
|
Vorlesungsmitschnitte und Podcast |
Von der Vorlesung werden Film- und Tonaufzeichnungen erstellt und als HTML5-Video, mp4-Video und mp3-Audio angeboten.
Zusätzlich zu stud.ip finden Sie die Links auf die jeweiligen Folgen in der untenstehenden Ablauf-Tabelle. Sie werden
eingefügt, sobald die jeweiligen Aufzeichnungen verfügbar sind.
|
Ablauf |
Mo, 12.10. |
1 |
Einführung: Organisation, Informatik, Algorithmus, Anweisungen, Collatz-Funktion |
FLV |
mp4 |
mp3 |
Di, 13.10. |
- |
Vorkurs: Organisation, Übungsbetrieb, Systemadministration, Installation, Algotools |
FLV |
mp4 |
mp3 |
Mo, 19.10. |
2 |
Java: Sprachmerkmale, Variablen, Bedingungen, Fallunterscheidungen |
FLV |
mp4 |
mp3 |
Di, 20.10. |
2 |
Schleifen: while, do-while, for, Berechnung der Fakultät, Berechnung des GGT |
FLV |
mp4 |
mp3 |
Mo, 26.10. |
2 |
Datentypen: Ganze Zahlen (byte, short, int, long), Gleitkommazahlen (float) |
FLV |
mp4 |
mp3 |
Di, 27.10. |
2 |
Datentypen: Gleitkommazahlen (double), Boolean, Character, Typumwandlung, Konstanten |
FLV |
mp4 |
mp3 |
Mo, 02.11. |
3 |
Felder: Feld von Ziffern, Feld von Daten, Feld von Zeichen, Feld von Wahrheitswerten |
FLV |
mp4 |
mp3 |
Di, 03.11. |
3 |
Felder: Feld von Indizes (Abzählreim), Feld von Zuständen (Endlicher Automat), Lineare Suche |
FLV |
mp4 |
mp3 |
Mo, 09.11. |
3, 4 |
Binäre Suche, Methoden: aktuelle + formale Parameter, Übergabe von arrays, Sichtbarkeit |
FLV |
mp4 |
mp3 |
Di, 10.11. |
4, 5 |
Rekursion: Fakultät, Potenzieren, Fibonacci, ggT, Türme von Hanoi |
FLV |
mp4 |
mp3 |
Mo, 16.11. |
6 |
Komplexität: O-Notation, Analyse von Schleifen, Analyse eines rekursiven Programms |
FLV |
mp4 |
mp3 |
Di, 17.11. |
6 |
Verifikation: partielle Korrektheit, Terminierung, Halteproblem (Algorithmen-Fee) |
FLV |
mp4 |
mp3 |
Mo, 23.11. |
7 |
Sortieren: Greedy, SelectionSort, BubbleSort, MergeSort rekursiv, MergeSort iterativ |
FLV |
mp4 |
mp3 |
Di, 24.11. |
7 |
Sortieren: Quicksort, Median |
FLV |
mp4 |
mp3 |
Mo, 30.11. |
7 |
Sortieren: Baum, Heap, HeapSort |
FLV |
mp4 |
mp3 |
Di, 01.12. |
7 |
Sortieren: Laufzeit und Platzbedarf, Untere Schranke, Bucket Sort, Objektorientierung |
FLV |
mp4 |
mp3 |
Mo, 07.12. |
8 |
Objektorientierte Programmierung: Class Person, Vererbung, Class Student, Binden, Abzählreim |
FLV |
mp4 |
mp3 |
Di, 08.12. |
8 |
ADT: Interface, ADT Liste |
FLV |
mp4 |
mp3 |
Mo, 14.12. |
9 |
ADT: Keller, Reverse, Klammerung, CharKeller, Infix-Postfix |
FLV |
mp4 |
mp3 |
Di, 15.12. |
9 |
ADT: Schlange, Baum, VerweisBaum |
FLV |
mp4 |
mp3 |
Mo, 04.01. |
9 |
ADT: Traverse, TiefenSuche, BreitenSuche, PostfixBaumBau, Enumeration, PreorderTraverse |
FLV |
mp4 |
mp3 |
Di, 05.01. |
9 |
SuchBaum: Comparable, Interface Menge, Insert, Delete, Lookup |
FLV |
mp4 |
mp3 |
Mo, 11.01. |
9 |
Suchbaum: Implementation von Lookup, Insert, SuchBaumTest, ausgeglichen, AVLBaum |
FLV |
mp4 |
mp3 |
Di, 12.01. |
10,11 |
Hashing: Kollision, Sondieren, offenes + geschlossenes Hashing, HashSet, HashMap |
FLV |
mp4 |
mp3 |
Mo, 18.01. |
12 |
Graphen: Modellierung, Fragestellungen, Implementation, All-Pairs-Shortest Path |
FLV |
mp4 |
mp3 |
Di, 19.01. |
12 |
Graphen: Vertex, Edge, Single-Source-Shortest-Path, Topologisches Sortieren, Hamiltonkreis |
FLV |
mp4 |
mp3 |
Mo, 25.01. |
12 |
Graphen: Maximaler Fluss, Minimaler Cut, erweiternder Weg, Ford Fulkerson |
FLV |
mp4 |
mp3 |
Di, 26.01. |
12 |
Graphen: Spannbaum, Matching, Chinese Postman |
FLV |
mp4 |
mp3 |
Di, 02.02. |
- |
Wanderung |
Di, 09.02. |
- |
Klausur |
|