|
|
Dozent |
Prof. Dr. Oliver Vornberger |
Übungsleiter |
Nicolas Neubauer, M.Sc., Mathias Menninghaus |
Tutoren |
Sebastian Brockmeyer,
Christian Flothmann,
Nils Haldenwang,
Julian Kniephoff,
Daniel Künne, B.Sc.,
Jana Lehnfeld,
Jirka Lewandowski,
Nico Marniok,
Niels Meyering,
Philipp Middendorf,
Ilja Muhl,
Philip Münch,
Manuel Schwarz
|
|
|
Vorlesung |
montags und dienstags, 14:15 - 15:45 Uhr, Raum 32/102
|
Übung |
Mathias Menninghaus: |
donnerstags, 08:30 - 10:00 Uhr, Raum 31/449a
donnerstags, 10:15 - 11:45 Uhr, Raum 31/449a |
Nicolas Neubauer: |
donnerstags, 12:30 - 14:00 Uhr, Raum 66/E34
donnerstags, 14:15 - 15:45 Uhr, Raum 66/E34 |
erste Übung: 28.10.2010, alle vier Übungen haben den gleichen Inhalt
|
1. Klausur |
Dienstag, 15.02.2011, 13:30 - 15:30 Uhr
Raum 01/E01+02 und 01/B01+02 (HVZ, Kolpingstraße)
|
2. Klausur |
Donnerstag, 31.03.2011, 10:30 - 12:30 Uhr
Raum 01/E01+02 und 01/B01+02 (HVZ, Kolpingstraße)
|
Evaluation |
der Veranstaltung durch interne Hörer,    
der Veranstaltung durch externe Hörer,    
der Tutoren durch die Studenten
|
|
|
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. |
Material |
Vorlesungsskript (HTML), Vorlesungsskript (PDF)     (Das Skript kann in der ersten Vorlesungsstunde für 6 Euro erworben werden) |
Foto |
Die Teilnehmer der Veranstaltung (mit Markierungen) Foto in Vollauflösung |
Vorlesungsmitschnitte und Podcast |
Es werden Vorlesungsmitschnitte als Flash-Video, mp3-Audio und mp4-Podcast angeboten. Zum Betrachten des Flash-Video wird der FlashPlayer benötigt.
Zum Hören der mp3-Dateien benötigen Sie einen mp3-Player. Die Links auf die jeweiligen Folgen finden Sie in der Ablauf-Tabelle. Sie werden
eingefügt, sobald die jeweiligen Aufzeichnungen verfügbar sind.
Wenn Sie Apple iTunes installiert haben, können Sie den Podcast im Apple Store finden und abonnieren.
|
Ablauf |
Mo, 18.10. |
1 |
Einführung: Organisation, Informatik, Algorithmus, Anweisungen, Collatz-Funktion |
FLV |
MP4 |
MP3 |
Di, 19.10. |
- |
Vorkurs: Organisation, Übungsbetrieb, Systemadministration, Installation, Algotools |
FLV |
MP4 |
MP3 |
Mo, 25.10. |
2 |
Java - Sprachmerkmale, Variablen, Bedingungen, Fallunterscheidungen |
FLV |
MP4 |
MP3 |
Di, 26.10. |
2 |
Schleifen: while, do-while, for, Berechnung der Fakultät, Berechnung des GGT |
FLV |
MP44td>
| MP3 |
Mo, 01.11. |
2 |
Java-Datentypen: Ganze Zahlen, Gleitkommazahlen |
FLV |
MP44td>
| MP3 |
Di, 02.11. |
2 |
Java-Datentypen: Gleitkommazahlen (Fortsetzung), Boolean, Character, Typumwandlung, Konstanten |
FLV |
MP44td>
| MP3 |
Mo, 08.11. |
3 |
Felder: Feld von Ziffern, Feld von Daten, Feld von Zeichen, Feld von Wahrheitswerten |
FLV |
MP4 |
MP3 |
Di, 09.11. |
3 |
Felder: Feld von Indizes (Abzählreim), Feld von Zuständen (Endlicher Automat), Lineare Suche |
FLV |
MP4 |
MP3 |
Mo, 15.11. |
3, 4 |
Binäre Suche, Methoden: aktuelle + formale Parameter, Übergabe von arrays, Sichtbarkeit |
FLV |
MP4 |
MP3 |
Di, 16.11. |
4, 5 |
Fehlerbehandlung, Rekursion, Fakultät, Potenzieren, Fibonacci, ggT, Türme von Hanoi |
FLV |
MP4 |
MP3 |
Mo, 22.11. |
6 |
Komplexität, O-Notation, Analyse von Schleifen, Analyse eines rekursiven Programms |
FLV |
MP4 |
MP3 |
Di, 23.11. |
6 |
Verifikation, partielle Korrektheit, Terminierung, Halteproblem (Algorithmen-Fee) |
FLV |
MP4 |
MP3 |
Mo, 29.11. |
7 |
Greedy, Divide-&-Conquer, SelectionSort, BubbleSort, MergeSort rekursiv, MergeSort iterativ |
FLV |
MP4 |
MP3 |
Di, 30.11. |
7 |
Quicksort, Median |
FLV |
MP4 |
MP3 |
Mo, 06.12. |
7 |
Baum, Heap, HeapSort |
FLV |
MP4 |
MP3 |
Di, 07.12. |
7 |
Sortieren: Laufzeit und Platzbedarf, Untere Schranke für Sortieren durch Vergleichen, Bucket Sort |
FLV |
MP4 |
MP3 |
Mo, 13.12. |
8 |
Objektorientierte Programmierung, Class Person, Vererbung, Class Student, Binden, Kinderabzählreim |
FLV |
MP4 |
MP3 |
Di, 14.12. |
8 |
ADT, Interface, ADT Liste |
FLV |
MP4 |
MP3 |
Mo, 03.01. |
9 |
ADT Keller, Reverse, Klammerung, CharKeller, Infix-Postfix |
FLV |
MP4 |
MP3 |
Di, 04.01. |
9 |
Schlange, Baum, VerweisBaum |
FLV |
MP4 |
MP3 |
Mo, 10.01. |
9 |
Traverse, TiefenSuche, BreitenSuche, PostfixBaumBau, Interface Enumeration, PreorderTraverse |
FLV |
MP4 |
MP3 |
Di, 11.01. |
9 |
SuchBaum, Comparable, Interface Menge, Insert, Delete, Lookup |
FLV |
MP4 |
MP3 |
Mo, 17.01. |
9 |
SuchBaumTest, Klassendiagramm, ausgeglichen, Balance, AVLBaum |
FLV |
MP4 |
MP3 |
Di, 18.01. |
10 |
Hashfunktion, Kollision, Sondieren, offenes + geschlossenes Hashing, HashSet, HashMap |
FLV |
MP4 |
MP3 |
Mo, 24.01. |
11 |
Graphen: Modellierung, Probleme, Implementation, All-Pairs-Shortest Path |
FLV |
MP4 |
MP3 |
Di, 25.01. |
11 |
Graphen: Vertex, Edge, Single-Source-Shortest-Path, Topologisches Sortieren, Hamiltonkreis |
FLV |
MP4 |
MP3 |
Mo, 31.01. |
11 |
Graphen: Maximaler Fluss, Implementation von ungerichteten Graphen |
FLV |
MP4 |
MP3 |
Di, 01.02. |
11 |
Graphen: Spannbaum, Matching, Chinese Postman |
FLV |
MP4 |
MP3 |
Mo, 07.02. |
- |
Wanderung |
Di, 15.02. |
- |
Klausur |
|
Literatur |
- O. Vornberger:
"Algorithmen",
Vorlesungsskript Heft 152, WS 2010/11
- K. Arnold, J. Gosling:
"Die Programmiersprache Java",
Addison-Wesley, 1. Auflage, Juni 2001
- D. Flanagan:
"Java In A Nutshell (engl. Edition für Java 1.5)",
O'Reilly, 5. Auflage, März 2005, ca. 42 €
- R. Sedgewick:
"Algorithms in Java, Teil 1-4",
Pearson Studium, 3. Auflage, Juli 2003, ca. 50 €
- G. Krüger, T. Stark:
"Handbuch der Java-Programmierung (online lesbar)",
Addison Wesley, München, 5. Auflage, Dezember 2008, ca. 40 €
- C. Ullenboom:
"Java ist auch eine Insel (online lesbar)",
Gallileo Press, 8. aktualisierte Auflage, Januar 2009, ca. 50 €
|