Warning: include(title.php3): failed to open stream: No such file or directory in /data/www/htdocs/infosun/st/edu/pdp03/index.php3 on line 8 Warning: include(): Failed opening 'title.php3' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /data/www/htdocs/infosun/st/edu/pdp03/index.php3 on line 8 Warning: include(header.php3): failed to open stream: No such file or directory in /data/www/htdocs/infosun/st/edu/pdp03/index.php3 on line 19 Warning: include(): Failed opening 'header.php3' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /data/www/htdocs/infosun/st/edu/pdp03/index.php3 on line 19

Wiederholerzyklus PdP - Terminänderung

Auf Beschluß des Kollegiums werden im Zusammenhang mit der Einführung des Bachelors Wiederholungsprüfungen grundsätzlich nur noch alle 6 Monate durchgeführt. Dies bedeutet für PdP der Wiederholerzyklus (ohne Saalübung) wird während des Sommersemesters 2003 durchgeführt und nicht wie zunächst angekündigt in den Semesterferien 2002/2003. Sommeranfänger sind hierdurch nicht benachteiligt, da sie das SEP ja erst im Wintersemester 2003/2004 machen.

(gez. Prof. Dr. Snelting)

Aktuelles

Bemerkung: auf die Materialien ist nur noch lokal von Adressen der Uni Passau zugreifbar.

Folien - Vorstellung Praktomat
Einführende Vorstellung von Praktomat, Folien [PDF] hier.
Folien - Vorstellung Aufgabe 1
Vorstellung von Aufgabe 1: Kürzeste Wege in Graphen, Folien [PDF] hier.
Folien - Programmierstil
Wie schreibe ich ein verständliches Programm? Folien [PDF] hier.
Webseite: verständlich Programmieren
Hier finden Sie Hinweise, wie man ein verständliches Programm schreibt.
Java Code Conventions
Hier finden Sie die JCC als PDF
Folien - Vorstellung Aufgabe 2
Vorstellung von Aufgabe 2: Bibliotheksverwaltung Folien [PDF] hier.
Folien - Kommentierung von Aufgaben
Kurzer Leitfaden: Kommentieren, Warum und Wie? Folien [PDF] hier.
Webseite: Fehlerbehandlung in Java
Kurzer Abriß zur Fehlerbehandlung in Java hier.
Geheime Testfälle Aufgabe 1
Zugriff auf die geheimen Testfälle zu Aufgabe 1 erhalten Sie über dieses Dokument.
Probleme bei Aufgabe 1
Die Folien zur Übung sind hier als PDF erhältlich.
Löschen im Binärbaum
Beachten Sie den Hinweis zum Löschen im Binärbaum, auch hier erreichbar.
Folien - Vorstellung Aufgabe 3
Vorstellung von Aufgabe 3: maximaler Netzwerkfluss nach Dinic, Folien [PDF] hier.
Shell in Java
Eine einfache Version als Demo für eine Shell können Sie hier einsehen.
CheckStyle Konfiguration
Die Checkstyle-Konfiguration von Praktomat ist hier einzusehen.
Demo Algorithmus Dinic mit nötigen Rückkanten
Den Ablauf des Algorithmus demonstriert diese Seite.
Probleme bei Aufgabe 2
Die Folien zur Übung sind hier als PDF erhältlich.
Testfälle für Performance Aufgabe 3
Auf vielfachen Wunsch hier 3 Testfälle mit Laufzeiten der Referenzlösung - zum Vergleich. Bitte beachten Sie, dass diese Laufzeiten als Richtwerte zu verstehen sind, da auch bei identischer CPU/RAM die Leistung von Systemen nicht 100%ig verglichen werden kann: Download Testfiles hier (3.6 MB, tar.bz2).
Folien zum IEEE Special zum Thema "Arbeiten mit Bits"
Markus Reschka hat seine Folien unter http://ieee.students.uni-passau.de/specials/lzSpecial/ im Web bereitgestellt.
Folien über Container in java.util
Die Folien der Übung am 30.1.2003: Java Container und deren Verwendung: containers.pdf.
Geänderter Übungstermin
Am 5.2. findet die Übung nicht um 10:15 sondern erst um 11:00 statt (also verkürzt).

Programmierberatung

Es gibt jetzt eine eigene PdP-Programmierberatung.

Termine:

jeweils im CIP-Pool. Christian Sommerer steht Ihnen für PdP-spezifische Fragen zur Verfügung.

Bei Fragen zu Java wenden Sie sich bitte auch an das Java Coaching im Rahmen von PI1.

Übungsbetrieb

Die Aufgaben, ausgewählte Java-Themen sowie eine Besprechung der Aufgabe nach Abgabe werden jeweils in einer Saalübung vorgestellt.

Java-Ausbildung: Beachten Sie, daß das es nicht Ziel von PdP ist, Ihnen die Details von Java beizubringen. Sie sollten Java Grundkenntnisse in GI erworben haben. Details über Java können Sie der Vorlesung PI1 entnehmen, die parallel zu diesem Praktikum läft. Wir empfehlen auch die Lektüre eines guten Buches.

Die Saalübung ist jeweils Mi 10-12, im HS 130 GW II, der erste Termin ist der 16.10. 2002. Eine kurze Aufstellung der vorläufigen Termine und Inhalte entnehmen Sie bitte der folgenden Tabelle:

TerminThema
16.10. Vorstellung PDP, Praktomat, Aufgabe 1
23.10. Programmierstil: die Java Code Conventions
30.10. Vorstellung Aufgabe 2: Bibliotheksverwaltung
06.11. bei Bedarf
13.11. bei Bedarf
20.11. typische Probleme bei Aufgabe 1
27.11. Vorstellung Aufgabe 3: Berechnung Netzwerkfluß
04.12. Fehlerbehandlung in Java
11.12. bei Bedarf
18.12. typische Probleme bei Aufgabe 2
25.12. 1. Weihnachtsfeiertag
01.01. Silvester
08.01. Vorstellung Aufgabe 4: Komprimierung
15.01. bei Bedarf
22.01. Besprechung Aufgabe 3
29.01.q typische Probleme Aufgabe 3
05.02. Besprechung Aufgabe 4, Abschlussveranstaltung

Betreuung erfolgt über moderierte Newsgroups ( news://praktomat.fmi.uni-passau.de/praktomat.pdp0203ws.allgemeines)

Wintersemester 2002/2003 - Aufgaben und Lösungen

Es wird vier zu bearbeitende Aufgaben geben, deren Niveau von Aufgabe eins bis drei zunimmt. Aufgabe vier ist wieder etwas einfacher. Alle Aufgaben müssen bearbeitet werden und mindestens die öffentlichen Testfälle bestehen.

Um Ihnen eine größtmögliche Flexibilität zu geben, werden die Aufgaben teilweise überlappend freigegeben. Das Praktikum deckt sich in etwa mit der Vorlesungszeit. Bedenken Sie bei der Planung, daß gegen Semesterende auch meistens Klausuren anstehen, sie sollten Ihre Zeit also nutzen.

Aufgabe Freigabetermin Abgabetermin Notfalls bis ...
0 bereits freigegeben Montag, 21. Oktober 2002, 12:00 Uhr Montag, 04. November 2002, 12:00 Uhr
1 Montag, 21. Oktober 2002, 12:00 Uhr Montag, 04. November 2002, 12:00 Uhr Montag, 11. November 2002, 11:11 Uhr
2 Montag, 04. November 2002, 12:00 Uhr Montag, 25. November 2002, 12:00 Uhr Montag, 02. Dezember 2002, 12:00 Uhr
3 Montag, 02. Dezember 2002, 12:00 Uhr Montag, 13. Januar 2003, 12:00 Uhr Montag, 20. Januar 2003, 12:00 Uhr
4 Montag, 06. Januar 2003, 12:00 Uhr Montag, 27. Januar 2003, 12:00 Uhr Montag, 03. Februar 2003, 12:00 Uhr

Für Aufgaben 2 und 4 wird es eine Kommentierphase geben. Durch Kommentieren lernen Sie zum einen fremden Code zu Lessen, zum anderen erhalten Sie wertvolle Anmerkungen Ihrer Kommilitonen zu Ihrem Programmierstil.

Als Bonus erhalten Studenten, die mindestens eine Lösung kommentiert haben, bei Aufgabe 2 die Möglichkeit, noch eine verbesserte Fassung Ihrer Lösung nach der Kommentierphase nachzureichen.

Alles weitere erfahren Sie unter:

https://praktomat.fmi.uni-passau.de/.

Sie können Ihre Aufgaben Zuhause an Ihrem Rechner bearbeiten und die Lösungen online einreichen.

Im CIP-Pool stehen Ihnen zu bestimmten Zeiten Rechner zur Verfügung, bitte achten Sie auf die Aushänge im CIP-Pool.

Abgabetermine

Es gibt zwei Arten von Abgabeterminen: empfohlene und feste. Der Abgabezyklus ist auf die empfohlenen Abgabetermine abgestimmt und der feste Abgabetermin ist als Notfalltermin zu sehen, wenn Sie es wirklich nicht schaffen, den empfohlenen Abgabetermin einzuhalten.

Eine Programmierberatung rund um die Uhr wird in der Newsgruppe news://praktomat.fmi.uni-passau.de/praktomat.pdp0203ws.allgemeines angeboten. Zugang erhalten Sie dazu, sobald Sie Sich beim Praktomat angemeldet haben. Sie müssen Sich dann mit Ihrem Praktomat-Zugang auch beim News-Server authentifizieren.

Außerdem haben wir eine Liste häufig gestellter Fragen (FAQ).

Tips zum Programmieren

Programmieren in Java

…kann man am besten mit einem guten Buch lernen. Ein (gutes?) Buch in elektronischer Fassung ist Java 2 in 21 Tagen. Dabei ist für PDP nur das Wissen aus den ersten 6 Kapiteln relevant. Da wir eine andere Herangehensweise haben, ist in den Kapiteln vieles über Objektorientierung auch schon zu fortgeschritten. Das Ziel des Buches ist, die Konzepte von Java vorzustellen, nicht den steinigen Weg des Programmierens zu begleiten.

Bruce Eckels »Thinking in Java, 2nd Edition« ist ein sehr gutes Buch und ist auch in elektronischer Fassung erhältlich. Download als PDF hier. Relevant sind primär die Kapitel 1-10 sowie die Anhänge A und C. Eine gute (und ausführliche) Abhandlung über die Arbeitsweise des JAVA IO-Konzeptes wird in Kapitel 11 gegeben. Insbesondere das Unter-Kapitel 'Tokenizing Input' (Beschreibung der Klasse StreamTokenizer) ist hier zu empfehlen.

Eine API-Beschreibung der Java-Standard-Bibliothek finden Sie hier. Sie werden aber nur wenig Routinen aus der Standard-Bibliothek brauchen, abgesehen von der Strings-Bibliothek, deren Beschreibung Sie hier finden.

Programmierstil

Hier finden Sie Hinweise, wie man ein verständliches Programm schreibt.

Warning: include(footer.php3): failed to open stream: No such file or directory in /data/www/htdocs/infosun/st/edu/pdp03/index.php3 on line 332 Warning: include(): Failed opening 'footer.php3' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /data/www/htdocs/infosun/st/edu/pdp03/index.php3 on line 332