Das vollständige Script ist als PDF erhältlich.
Hier ist eine Übersicht über alle geplanten Vorlesungstermine zu Programmieren II. Bitte beachten Sie, dass wir ab Ende Mai zu einem 2-wöchigen Rythmus übergehen --- dadurch haben Sie auch mehr Zeit, die vorgestellten Konzepte, auch im Tutorium, besser zu üben.
| Termine | Vorlesungsinhalt |
|---|---|
| 28.4. | Vorstellung Programmieren II, Praktomat, A1 |
| 5.5. | Programmierstil, Grundlagen der OOP |
| 12.5. | Vorstellung A2, Grundlagen OOP II, Teil |
| 19.5. | Entfält wegen Dies Academicus |
| 26.5. | Vorstellung A3, Die Methoden von Object |
| 2.6. | extended Tutorium zu OOP, keine Vorlesung |
| 9.6. | Fehlerbehandlung und Threads in Java |
| 16.6 | extended Tutorium, keine Vorlesung |
| 23.6. | Vorstellung A4, Testen, Graphische Benutzeroberflächen: Java Swing (1/2) |
| 30.6 | extended Tutorium, keine Vorlesung |
| 7.7. | Graphische Benutzeroberflächen: Java Swing (2/2) |
| 14.7. | weitere Vorlesungstermine nicht mehr geplant -- ab 30.6. nur noch Tutorium |
Der Inhalt der Vorlesung richtet sich an fortgeschrittene Java Programmierer. Insbesondere sollten sie den Inhalt von Programmieren I sicher beherrschen.
Zugrundeliegende Konzepte werden in der Vorlesung kurz vorgestellt, im Detail werden diese Konzepte meist noch in weiterführenden Vorlesungen behandelt -- Programmieren II konzentriert sich auf die Umsetzung in Java. Für Interessierte wird aber grundsätzlich weiterführende Literatur angegeben.
Um den Schein in Programmieren II zu erwerben, müssen Sie 4 Aufgaben individuell bearbeiten und über Praktomat einreichen.
Jede Aufgabe wird von und hinsichtlich Funktionalität und Stil getrennt bewertet -- Sie bekommen also zwei Noten pro Aufgabe. Die Noten-Skala geht dabei von 'A' -- sehr gut -- bis 'D' -- ungenügend.
Um den Schein zu erwerben, müssen alle 4 Aufgaben eingereicht werden. Zudem muß sowohl die Durchschnittsnote von Stil als auch die der Funktionalität besser als 'C' sein. Die Scheinnote errechnet sich als gewichtete Durschschnittsnote über alle 8 Einzelnoten.
Diese Veranstaltung wird auch für das
Schülerstudium angeboten. Allgemeine Informationen
erhalten sie bei Frau Heuer
Die Vorlesung ist nur für Schüler geeignet, die bereits über gute Java Kenntnisse verfügen. Wenn möglich sollte zuvor Programmieren 1 gehört werden.
In dieser Vorlesung werden sie einige weiterführende Konzepte der Programmierung kennen lernen, die in weiterführenden Vorlesungen vertieft vermittelt werden. Java bietet hier oft einen High-Level Ansatz der die Verwendung dieser Konzepte sehr erleichtert. Diese Ansäl werden in der Vorlesung behandelt.
Die Vorlesung findet jeweils Freitags, 15:00 - 17:00 Uhr s.t. in Raum HS 013 IM statt. Bis auf Weiteres sind 7 Doppelstunden, konzentriert am Semesterbeginn, geplant. Genauere Details werden noch bekannt gegeben.
Das zur Vorlesung gehörige Tutorium wird jeweils Freitags, 14:00 bis 15:00 Uhr s.t. in Raum HS 013 IM abgehalten.
Es gibt wieder 7 Newsgroups ( news://praktomat.fmi.uni-passau.de/praktomat.p-ii06ss.allgemeines), in der Sie Probleme austauschen können. Bitte nehmen Sie zur Kenntnis, dass wir in der Regel nur aufgabenspezifische Fragen beantworten werden.
Bitte beachten Sie dass das Lesen der Newsgroup verpflichtend ist. Wir geben hier Klarstellungen und auch Korrekturen der Aufgabenstellung bekannt, die bindend sind.
Nach wie vor ist der Austausch von Code
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.
Bitte beachten Sie, dass der Zugang zu den Newsgroups nur noch über SSL möglich ist. Sie müssen Ihren Newsreader entsprechend konfigurieren: SSL aktivieren, Port 563. Sowohl Outlook Express als auch Mozilla können mit SSL News umgehen. Beim Zugang aus den Wohnheimen kann es wegen installierter Firewalls ggf. zu Problemen kommen. Wenden Sie sich in diesem Fall an Ihren Wohnheim-Netzwerkadministrator oder lesen Sie News im CIP-Pool.
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. Bedenken Sie bei der Planung, daß gegen Semesterende auch meistens Klausuren anstehen, sie sollten Ihre Zeit also nutzen.
| Aufgabe | Freigabetermin | Abgabetermin | Notfalls bis ... |
|---|---|---|---|
| Geometrische Objekte und generische Binärbäume | Freitag, 28. April 2006, 10:00 Uhr | Freitag, 12. Mai 2006, 10:00 Uhr | Freitag, 19. Mai 2006, 10:00 Uhr |
| Matrixmultiplikation | Freitag, 12. Mai 2006, 10:00 Uhr | Freitag, 26. Mai 2006, 10:00 Uhr | Freitag, 09. Juni 2006, 10:00 Uhr |
| SUDOKU (Konsole) | Freitag, 02. Juni 2006, 10:00 Uhr | Freitag, 23. Juni 2006, 10:00 Uhr | Freitag, 30. Juni 2006, 10:00 Uhr |
| GUI für SUDOKU | Freitag, 30. Juni 2006, 10:00 Uhr | Freitag, 21. Juli 2006, 10:00 Uhr | Freitag, 28. Juli 2006, 10:00 Uhr |
Sie können Ihre Aufgaben Zuhause an Ihrem Rechner bearbeiten und die Lösungen online einreichen.
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 einer Newsgruppe angeboten werden. 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).
Bruce Eckels »Thinking in Java, 4nd Edition« ist ein sehr gutes Buch. Die 3. Auflage ist auch in elektronischer Fassung erhältlich, beinhaltet allerdings noch kein Java 1.5. Download als PDF hier.
Joshua Bloch gibt in seinem Buch »Effective Java Programming Language Guide« einige sehr nützliche Empfehlungen, wie man guten Java-Code schreibt. Leider sind nicht alle Kapitel online; die wichtigsten sind aber vorhanden.
Eine API-Beschreibung der Java-Standard-Bibliothek finden Sie hier.
Weitere Literaturhinweise zu speziellen Themen werden in der Vorlesung gegeben.
Hier finden Sie Hinweise, wie man ein verständliches Programm schreibt.
Notice: Undefined variable: home in /data/www/htdocs/infosun/st/edu/prog2-06/include/config.php3 on line 3 Notice: Undefined variable: phone in /data/www/htdocs/infosun/st/edu/prog2-06/include/config.php3 on line 7 Notice: Undefined variable: email in /data/www/htdocs/infosun/st/edu/prog2-06/include/config.php3 on line 11 Notice: Undefined variable: icon in /data/www/htdocs/infosun/st/edu/prog2-06/include/config.php3 on line 15 Notice: Undefined variable: fax in /data/www/htdocs/infosun/st/edu/prog2-06/include/config.php3 on line 19 Notice: Undefined variable: lang in /data/www/htdocs/infosun/st/edu/prog2-06/include/config.php3 on line 23 Notice: Use of undefined constant HTTP_ACCEPT_LANGUAGE - assumed 'HTTP_ACCEPT_LANGUAGE' in /data/www/htdocs/infosun/st/edu/prog2-06/include/config.php3 on line 24 Notice: Use of undefined constant HTTP_ACCEPT_LANGUAGE - assumed 'HTTP_ACCEPT_LANGUAGE' in /data/www/htdocs/infosun/st/edu/prog2-06/include/config.php3 on line 25 Notice: Undefined variable: realname in /data/www/htdocs/infosun/st/edu/prog2-06/include/config.php3 on line 29 Notice: Undefined variable: userhome in /data/www/htdocs/infosun/st/edu/prog2-06/include/config.php3 on line 46 Notice: Undefined variable: useremail in /data/www/htdocs/infosun/st/edu/prog2-06/include/config.php3 on line 85