Universität des Saarlandes Java II - Wintersemester '15/'16 Deutsches Forschungszentrum für künstliche
                  Intelligenz


In dieser Vorlesung werden Werkzeuge und Bibliotheken vorgestellt, die für die Arbeit mit Java, vor allem im computerlinguistischen Bereich, von Bedeutung sind. Außerdem werden Programmierfähigkeiten in Java anhand von Beispielen aus dem Bereich computerlinguistischer Algorithmen vertieft.

Vorlesung: Mo 16:15 - 17:45
Seminarraum der CoLi
Dozent: Bernd Kiefer bernd.kiefer(at)dfki.de
Übung: Do 14:15 - 15:45
CIP-Raum CoLi
Dozent: Christian Bürckert christian.buerckert(at)dfki.de

Die Abschlussprüfung finden am 18. Februar von 10:00-12:00 Uhr statt (zwei Zeitstunden). Raum wird noch bekannt gegeben.

Für die Zulassung zur Abschlussklausur müssen die wöchentlichen Übungen zu mindestens 75% bearbeitet werden und mindestens 50% der möglichen Punkte erreicht werden. Die Übungen können in Gruppen bis zu 3 Personen gemeinsam bearbeitet werden.

Teilnehmern dieses Kurses wird dringend empfohlen, sich in der Mailingliste java-kurs anzumelden, da aktuelle Informationen auch über diese Liste verteilt werden.

Übungen: Eure Lösungen zu den Übungen werden immer bis Montag 16:00 via E-Mail an Christian Bürckert eingereicht. Diese werden dann Donnerstags in der Übung besprochen. Da für die Übungen Apache Maven verwendet wird, empfiehlt sich die Verwendung von Netbeans 8 an, welches ihr am besten zusammen mit der aktuellsten Java Version herunterladet: Oracle Java Netbeans Bundle. Mehr zu Netbeans erfahrt ihr in der ersten Übung.

Die Folien werden nach der jeweiligen Vorlesung auf dieser Seite verfügbar gemacht. Zur Vorbereitung auf die Sitzungen und zur Vertiefung der behandelten Themen können Sie die Links nutzen.

Falls Sie Auffrischungsbedarf haben, könnte diese Seite für sie nützlich sein: Interaktiver Programmierkurs
Folien Programmieraufgaben Links Sonstiges
1 Strings und Regexps Übung 1
Musterlösung
Regular Expressions Tutorial
Folien aus der Übung
Code-Template Übung
concat.java
Matching.java
Beispieltemplate
2 Graphen und Suche I Übung 2
Musterlösung
Source Template
3 Graphen und Suche II
(korrigierte Version)
Übung 3
Musterlösung
Priority Queue: Fibonacci-Heaps
Folien Übung
Source Template
4 Endliche Automaten Union-Find Datenstrukturen Übung 4
Musterlösung
Folien Übung Source Template
5 CF-Parsing Übung 5
Musterlösung
Folien Übung Source Template
6 CF-Parsing, Teil 2 (s.o.) Übung 6
Folien Übung Source Template
7 Design Principles
8 Kitchen Assistant Blockdiagramm


Literatur:
Kathy Sierra, Bert Bates: Head First Java, 2 Rev Ed, O'Reilly Media, Inc, USA (United States), 2005.
In der Computerlinguistik-Bibliothek zum Ausleihen.

Guido Krüger, Heiko Hansen: Handbuch der Java-Programmierung, 7. Auflage, 2011,   HTML-Ausgabe, freier Download: http://www.javabuch.de
Das bekannteste deutsche Java-Buch -- manche lieben es, manche hassen es; aber guter Hypertext-Index

Christian Ullenboom: Java ist auch eine Insel, 10. Auflage, 2011.
Ebenfalls freier HTML-Download, noch mehr Seiten (1308)... www.galileocomputing.de/openbook/javainsel/

The Java Language Specification
"Written by the inventors of the technology". Freier PDF- und HTML-Download

Java-Doc bei Oracle
Die beste Quelle, wenn man an konkreten Feldern, Methoden und Klassen interessiert ist; sollte man erst benutzen, wenn die Prinzipien von Java verstanden wurden

The Java Tutorials
Tutorials zu Java APIs und speziellen Aspekten der Sprache, auch als Buch und Download verfügbar.

Walt Savitch: Java: An Introduction to Problem Solving and Programming, (4th ed. 2005, Prentice Hall, 1309pp)
Hervorragendes praktisches Buch (tolle Bewertungen bei amazon.com) von einem der Götter der Mathematischen Linguistik, das eine Einführung in die Programmierung darstellt und dabei Java verwendet; teuer!

David Flanagan (1999). Java in a Nutshell. A Desktop Quick Reference. O'Reilly, Beijing, 3th edition.
HTML-Version der 3. Auflage; hier finden sich auch andere Java-Bücher (Foundation Classes, Enterprise)

Scott Ambler Writing Robust Java Code    Version vom 15.Januar 2000 www.ambysoft.com/downloads/javaCodingStandards.pdf
Hier finden sich die Coding-Konventionen, die wir auch benutzen wollen! Das Buch Vermeulen et al. unten ist eine etwas neuere Version des Dokuments von Ambler, das man kaufen kann

Ken Arnold, James Gosling & David Holmes (2000). The Java Programming Language. Addison-Wesley, Boston, 3rd edition.

Friedrich Esser (2001). Java 2. Designmuster und Zertifizierungswissen. Galileo Press, Bonn.

Allan Vermeulen et al. (2000). The Elements of Java Style. Cambridge University Press, Cambridge.

Swing Tutorial

Nützliche Links eher für Programmieranfänger:


Weitere interessante Links: