jahnkajavaee edited this page Feb 1, 2016 · 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)
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)

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.
  • 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.

Java Training in Chennai | Online Java Training

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.