-
Notifications
You must be signed in to change notification settings - Fork 53
Home
jahnkajavaee edited this page Feb 1, 2016
·
46 revisions
Seminarseite auf der Spinfo-Homepage | Twitter-Account zum Seminar
Sitzung | Fachlich | Technisch | Notizen | Code | Aufgaben | Literatur |
1 | Formalia, Rückblick, Besprechung der Hausarbeit, Ausblick | Zusammenfassung: Grundlagen des Programmierens, Grundlagen der OOP | Sommer-Sitzung-01 | — | — | — |
2 | Elementare Datenstrukturen: Listen | Tupel, Queue, Stack, Iterator, O-Notation | Sommer-Sitzung-02 | Lists | Sommer-Aufgabe-01 | Wikipedia (linked list); Cormen et al. (2001), III/10.1-10.3 (Elementary Data Structures); Gamma et al. (1995), S. 257-271 (Iterator) |
3 | Elementare Algorithmen: Sortieren und Suchen | Insertion sort, binäre Suche, Rekursion, Comparable | Sommer-Sitzung-03 | SortSearch | Sommer-Aufgabe-02 | Wikipedia (insertion sort); Cormen et al. (2001), I/2 (Getting Started); Binäre Suche (Algorithmus der Woche); Nearly all Binary Searches are Broken (Google Research Blog); Object Ordering (The Java Tutorial) |
4 | Bäume, eine vielseitige Datenstruktur | Implementierung von Bäumen, binäre Suchbäume, Operationen auf Bäumen, Visualisierung | Sommer-Sitzung-04 | Trees | Sommer-Aufgabe-03 | Wikipedia (tree structure, etc.); Cormen et al. (2001), III/10.4 (representing rooted trees), III/12 (binary search trees), III/13 (red-black trees); Graphviz (graph visualization) |
5 | Schnelles Sortieren mit Quicksort | Quicksort: Idee, Implementierung, Analyse und Vergleich | Sommer-Sitzung-05 | Quicksort | Sommer-Aufgabe-04 | Wikipedia (Quicksort); Cormen et al. (2001), II/7 (Quicksort); Schnelle Sortieralgorithmen (Algorithmus der Woche); |
6 | Hash-Tables für effiziente Datenverwaltung | Direktzugriff, Kollisionen, Hash-Funktionen, Java-Praxis, Anwendung | Sommer-Sitzung-06 | HashTables | Sommer-Aufgabe-05 | Cormen et al. (2001), III/11 (Hash Tables); Bloch (2008), Item 9 (Always override hashCode when you override equals) |
7 | Generische Datenstrukturen und Algorithmen in Java | Java Generics und Collections; Interfaces und Implementierungen: Collection, List, Set, Map | Sommer-Sitzung-07 | Collections | Sommer-Aufgabe-06 | Naftalin & Wadler (2006), Kap. 1 (Generics), 10-12, z.T. 13-17 (Collections); Bloch (2008), Item 52 (Refer to objects by their interfaces); The Java Tutorials (Collections) |
8 | Lexikographischer Zeichenkettenvergleich | Sortierregeln; Strategy-Pattern; Comparator & Comparable; RuleBasedCollator & Locale | Sommer-Sitzung-08 | Collation | Sommer-Aufgabe-07 | Wikipedia (Collation); Naftalin & Wadler (2006), Kap. 3 (Comparison and Bounds); Gamma et al. (1995), S. 315-323 (Strategy); The Java Tutorials (Comparing Strings) |
9 | Volltextsuche: Index und Vorverarbeitung | Index-Erstellung und -Abfrage; Reguläre Ausdrücke und Tokenisierung; Enum Types | Sommer-Sitzung-09 | Index | Sommer-Aufgabe-08 | Manning et al. (2008), Kap. 1 (Boolean retrieval) und 2 (term vocabulary & postings lists); Friedl (2006), Kap. 1 (Introduction to Regular Expressions) und 8 (Java); The Java Tutorials: Regular Expressions und Enum Types |
10 | Editierdistanz für unscharfe Suche | Rekursion, Memoisierung, Dynamic Programming | Sommer-Sitzung-10 | EditDistance | Sommer-Aufgabe-09 | Manning et al. (2008), Kap. 3 (Dictionaries and Tolerant Retrieval); Gusfield (1997), Kap. 11 (Core String Edits, Alignments, and Dynamic Programming) |
11 | Web-Crawling zur Korpuserstellung | Grundlagen von HTML-Verarbeitung und Concurrency; externe Bibliotheken | Sommer-Sitzung-11 | Crawling | Sommer-Aufgabe-10 | Manning et al. (2008), Kap. 20 (Web crawling and indexes); Bloch (2008), Kap. 10 (Concurrency); Goetz (2006); The Java Tutorials (Concurrency) |
12 | Grundlagen von Build- und Release-Engineering | Versionskontrolle; CRISP builds mit Ant; JUnit; Javadoc; continuous integration | Sommer-Sitzung-12 | Build | — | Clark (2006), Kap. 1 u. 2 (Einleitung; Builds in einem Schritt); Wikipedia: Build Automation und Release Engineering |
13 | Aufgabenstellung Hausarbeit | Keyword-Extraktion, Stoppwörter, TF-IDF, Objektserialisierung, Templating-Konzepte | s. Aufgabe | s. Aufgabe | Sommer-Hausarbeit-Keywd | Manning et al., Kap. 6.2 (Term frequency and weighting); Terminology Extraction, TF-IDF, Template Engine (Wikipedia); Object Persistence Made Easy (Java Coffee Break) |
- Bloch, J. (2008), Effective Java, Second Edition, Addison-Wesley.
- Cormen, T., Leiserson, C., Rivest, R. and C. Stein (2001), Introduction to Algorithms, Second Edition, MIT Press
- Clark, M. (2006), Projekt-Automatisierung, Hanser.
- Friedl, J. (2006), Mastering Regular Expressions, Third Edition, O’Reilly.
- Gamma, E., Helm, R., Johnson, R. and J. Vlissides (1995), Design Patterns, Addison-Wesley.
- Goetz, B. (2006), Java Concurrency in Practice, Addison-Wesley.
- Gusfield, D. (1997), Algorithms on Strings, Trees and Sequences, Cambridge University Press.
- Manning, C. D., Raghavan, P. and H. Schütze (2008), Introduction to Information Retrieval, Cambridge University Press.
- Naftalin, M. and P. Wadler (2006), Java Generics and Collections, O’Reilly.