Skip to content
Fabian Steeg edited this page Jun 20, 2011 · 46 revisions

Softwaretechnologie: Java

Seminarseite auf der Spinfo-Homepage | Twitter-Account zum Seminar

Softwaretechnologie II: Sommersemester

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)

Literatur

  • 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.
  • Gusfield, D. (1997), Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology, 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.
Clone this wiki locally