Programmierpraktikum
Java Programmierpraktikum
08 10410: Programmierpraktikum (Java) [HaF]
J. Wolff v. Gudenberg, A.Dallmann
Lernziel
Nach erfolgreichem Absolvieren des Praktikums soll jeder Teilnehmer selbstständig in der Lage sein Java-Programme zu entwerfen und zu implementieren. Hierbei beschränken wir uns auf die wichtigsten Konzepte, mit deren Hilfe eine leichte Einarbeitung in weiterführende Techniken gegeben ist.
Teilnehmer
Grundsätzlich kann jeder ordentliche Student der Universität Würzburg teilnehmen. Teilnehmer des Kurses sollten grundlegende Kenntnisse in Informatik und einer Programmiersprache besitzen, wie sie in den Vorlesungen Algorithmen und Datenstrukturen oder Softwaretechnik vermittelt werden. Der Kurs ist für folgende Studiengänge verpflichtend:
- Informatik,
- Technische Informatik
- Luft- und Raumfahrtinformatik
- Lehramt Informatik
Studenten die das Studium im Wintersemester beginnen, sollten zunächst eine der obigen Vorlesungen besuchen und das Praktikum dann im Sommersemester absolvieren.
Alternative Praktika
Für die Studiengänge
- Wirtschaftsinformatik
- Mensch-Computer-Systeme
ist die Teilnahme am Programmierpraktikum für Wirtschaftsinformatiker verpflichtend.
Für die Studiengänge der Mathematik einschließlich der Wirtschaftsmathematik besteht die Wahl zwischen diesen beiden Praktika.
Studierenden mit Nebenfach Informatik (z.B. Physikern) wird empfohlen das die Vorlesung Einführung in die Informatik ergänzende Praktikum zu besuchen, falls das die jeweilige Studienordnung zulässt.
Anmeldung
!!! Achtung !!!
Um an der Veranstaltung teilnehmen zu können, muss man sich sowohl im Veranstaltungsverzeichnis auf der Übersichtsseite des Java Programmierpraktikums, als auch in der Prüfungsverwaltung anmelden. Die Eintragung in den Wuecampus-Kurs erfolgt dann automatisch, kann aber bis zum darauffolgenden Tag dauern.
Die Anmeldung ist bis zum 20.2.2012 möglich. Dazu schreiben Sie sich über SB@Home in der Prüfungsverwaltung für den Kurs "Programmierpraktikum (Java)" für das Sommersemester 2012 ein. Nach der Übernahme ihrer Daten in die e-Learning-Plattform WueCampus (dies kann ca. einen Tag dauern) können Sie sich dort im Kurs "Programmierpraktikum (Java)" anmelden. Dort finden Sie auch weitere Informationen und Hilfsmittel. Um die e-Learning-Plattform nutzen zu können benötigen Sie einen Novell-Account des Rechenzentrums. Beachten Sie, dass alle e-Mails der e-Learning-Plattform an Ihren zentralen Uni-Email-Account versendet werden. Dies kann nicht geändert werden, Sie können dort allerdings eine Weiterleitung einrichten. Weitere Informationen entnehmen Sie den FAQ.
Ablauf des Praktikums
Das Praktikum gliedert sich in drei Phasen:
Phase 1: Einarbeitung
Zeitraum: bis 20.2.2012
Die erste Phase des Praktikums ist eine selbstständige Einarbeitung in Java (Version 1.6). Als Literatur empfehlen wir das Buch Java ist auch eine Insel, 8. aktualisierte Auflage von Christian Ullenboom erschienen bei Galileo Computing. Dieses Buch steht auch kostenlos als Online-Version zur Verfügung. Die Themen der Einarbeitungsphase sowie die Aufgaben aus Phase 2 verweisen auch auf entsprechende Kapitel dieses Buchs. Weiter wird empfohlen sich mit der Java API vertraut zu machen. Vor allem im Hinblick auf die Abschlussprüfung, in welcher kein Internet zur Verfügung steht.
In dieser Phase sollten Sie die folgenden Java-Grundkenntnisse aus den Vorlesungen Algorithmen und Datenstrukturen und Softwaretechnik noch einmal vertiefen:
- Datentypen (Kapitel 2.3)
- primitive Datentypen
- String (Kapitel 4.1, Kapitel 4.2 und Kapitel 4.3)
- Array (Kapitel 3.10)
- Kontrollstrukturen (Kapitel 2.6 und Kapitel 2.7)
- if
- switch
- do
- while
- for
- ...
- Klassenrumpf (Kapitel 2.2.2)
- Main-Methode (Kapitel 2.2.3)
- Methoden und Funktionen (Kapitel 2.8)
- Ausgabe auf der Konsole mit System.out (Kapitel 2.2.5)
- Standardoperatoren (Kapitel 2.5)
- +, -, *, /, ...
- ==, <, >, ...
- &, &&, |, ||, ...
- java.lang.Math (Kapitel 5.4)
Bei dieser Einarbeitung empfehlen wir sich mit der Entwicklungsumgebung Eclipse vertraut zu machen. Natürlich kann auch jede andere Entwicklungsumgebung oder auch ein normaler Texteditor für Java verwendet werden. Jedoch bietet Eclipse viele Funktionen und PlugIns für verschiedene Bereiche wie etwa
- JUnit
- SVN
- Checkstyle
welche im Praktikum Verwendung finden. Zusätzlich wird bei der Abschlussprüfung ein vorkonfiguriertes Eclipse verwendet.
Phase 2: Konzepte und Übungsaufgaben
Zeitraum: bis 12.3.2012
In der zweiten Phase des Praktikums stehen die folgenden Konzepte und Technologien im Mittelpunkt:
- Objektorientierung (Kapitel 3 und Kapitel 6)
- Klassen
- Interfaces
- Vererbung
- Methoden
- Sichtbarkeit
- Pakete
- Autoboxing
- ...
- Object (Kapitel 10.2)
- equals
- hashCode
- toString
- Generics (Kapitel 9)
- Exceptions (Kapitel 8)
- try
- catch
- finally
- try
- Collections (Kapitel 12.1)
- List (Kapitel 12.3)
- Map (Kapitel 12.8)
- Set (Kapitel 12.5)
- Iterator (Kapitel 12.2)
- Comparator und Comparable (Kapitel 12.4)
- Utility-Klassen
- java.util.Arrays (Kapitel 3.10.15)
- java.util.Collections (Kapitel 12.10)
- Enums (Kapitel 10.3)
- Date (Kapitel 13.5)
- Calendar (Kapitel 13.6)
- DateFormat (Kapitel 13.7)
- StringBuffer (Kapitel 4.4)
- IO (Kapitel 14)
- Swing-Grundlagen (Kapitel 16)
Hierbei ist es das Ziel sich mit den Konzepten und Technologien vertraut zu machen und einen Überblick zu bekommen. Es ist ganz sicher der falsche Weg etwas auswendig zu lernen oder jedes Kapitel bis ins kleinste Detail zu studieren. Vielmehr sind folgende Punkte relevant:
- Man muss wissen, dass Java bestimmte Konzepte und Technologien bereitstellt.
- Man muss die Grundlagen dieser Konzepte und deren Anwendung verstehen.
- Man muss wissen, wo man die Details nachlesen kann (Java API).
- Man muss mit Hilfe dieses Wissens und der Dokumentation (Java API) diese Konzepte und Technologien anwenden können.
Arbeiten Sie sich anhand der angegebenen Literatur in aufgeführten Konzepte ein und lösen Sie die drei Übungsaufgaben (Veröffentlichung am 20.2.2012). Diese Aufgaben müssen bis zum 12.3.2012 12:00 Uhr über das PABS-System abgegeben und getestet werden.
Diese Aufgaben werden nicht korrigiert! Aber auf Korrektheit überprüft! Es ist zwingend notwendig, dass alle drei Aufgaben alle Tests auf dem PABS-System erfolgreich bestehen.
Bei der Bearbeitung dieser Aufgaben stehen Ihnen Betreuer beratend zur Seite. Termine werden über WueCampus bekanntgegeben.
Übungen werden im den CIP-Pool E40 angeboten. Weiter wird in WueCampus ein betreutes Forum für Fragen bereitgestellt.
Phase 3: Bewertete Aufgabe
Zeitraum: 12.3.2012 bis 26.3.2012
Haben Sie alle Übungsaufgaben aus Phase 2 erfolgreich abgegeben, so sind Sie berechtigt eine weitere Aufgabe zu bearbeiten. Diese Aufgabe muss bis zum Abgabetermin* über das PABS-System abgegeben und getestet werden. Zusätzlich zur Voraussetzung der erfolgreichen Tests auf dem PABS-System wird diese Aufgabe nach Abgabeschluss durch einen Betreuer korrigiert und entscheidet über die Zulassung zur Abschlussprüfung.
Wie auch schon in Phase 2 finden betreute Übungen im CIP-Pool E40 statt und für Fragen steht ein Forum in WueCampus bereit.
Abgabefristen
Sie müssen Ihre Lösungen vor der in der Aufgabenstellung gesetzten Abgabefrist eingereicht haben. Später eingereichte Lösungen werden nicht akzeptiert.
Reichen Sie nur Lösungen ein, die Sie vorher selbst ausreichend getestet haben.
PABS führt beim Einreichen der Abgabe verschiedene Tests durch (Formatierung, Funktionalität ...) und zeigt den Status der Abgabe über folgende Farbcodierung an:
- Grün alle Tests wurden fehlerfrei durchgeführt, die Abgabe wird akzeptiert
- Gelb es gibt leichte Mängel bei der Abgabe, die Abgabe wird akzeptiert
- Rot es gibt grobe Mängel bei der Abgabe, die Abgabe wird abgelehnt
In Phase 3 findet eine Bewertung der Aufgaben nur statt, wenn die Abgabe Gelb oder Grün ist. Rote Abgaben werden nicht bewertet. Weiter bedeutet eine grüne Abgabe nicht, dass die Abgabe die volle Punktzahl erhält. Eine Grüne Abgabe bedeutet lediglich, dass die durchgeführten Tests, welche im Prinzip nur "Stichproben" darstellen, fehlerfrei durchgeführt wurden. Die Punktevergabe wird dann bei der Korrektur durchgeführt.
Gruppenarbeit
Die Erstellung von Abgabelösungen (Phase 2 und Phase 3) in Gruppenarbeit ist nicht erlaubt. Die nötige Selbstständigkeit gilt auch für alle Codefragmente! Bei Zuwiderhandlungen kann es passieren, dass allen Beteiligten die jeweilige Aufgabe nicht anerkannt wird. Sie sind selbst dafür verantwortlich, Ihre eigenen Lösungen vor fremdem Zugriff zu schützen. Also sollte jemand, selbst ohne Ihr Wissen, Ihre Lösung kopieren, riskieren Sie, dass Ihnen die Aufgabe nicht anerkannt wird! Wir behalten uns für solche Fälle auch vor, bereits testierte Aufgaben noch abzuerkennen.
Zulassung zur Abschlussprüfung
Für die Zulassung zur Abschlussprüfung am 12.4.2012, 12 Uhr sind mindestens 70% der Punkte in Phase 3 und somit auch eine erfolgreiche Abgabe der drei Aufgaben aus Phase 2 notwendig.
Implementierung und Codierungsstil
Der erstellte Code ist nicht nur funktional korrekt und der Aufgabenstellung entsprechend, sondern auch klar und verständlich zu implementieren. Verwenden Sie sprechende Bezeichner und einfache Strukturen und kommentieren Sie Ihren Code ausreichend. Folgen Sie den in der Aufgabenstellung geforderten Entwurfsmustern und Programmiermethodiken.
Die eingereichten Lösungen werden vom PABS-System auch bezüglich Form und Kommentierung des Quelltextes geprüft. Dabei werden die gängigen Java-Konventionen eingefordert. Das Werkzeug, mit dem dies geprüft wird, ist Checkstyle (checkstyle.sourceforge.net). Die Konfiguration für Checkstyle wird im Downloadbereich zur Verfügung gestellt.
Schlechter Codierungsstil, insbesondere schlechte Bezeichner und mangelhafte Kommentierung, können in Phase 3 zu Punktabzug führen.
Computer-Pool Zugänge
Zum Erstellen der Aufgaben stehen Ihnen während der Praktikumszeit die Computer-Pools zur Verfügung. Sie können die Aufgaben allerdings auch von zuhause lösen.
Sie sollten für dieses Praktikum einen Zugang zu den Computer-Pools der Fakultät für Mathematik und Informatik besitzen. Wenn Sie noch keinen Zugang / Account haben, registrieren Sie sich bitte auf dieser Website an und besuchen Sie danach Fritz Kleemann im Raum A103/Informatikgebäude.
Terminübersicht
20.2.2012 12:00 Uhr Informationsveranstaltung zum Praktikum im Turing-HS
20.2.2012 12:00 Uhr Veröffentlichung der Übungsaufgaben für Phase 2
12.3.2012 12:00 Uhr Abgabe der Übungsaufgaben
Veröffentlichung der bewerteten Aufgabe für Phase 3
26.3.2012 12:00 Uhr Abgabe der bewerteten Aufgabe
12.4.2012 12:00 Uhr Abschlussprüfung
Literatur und Hilfsmittel
Java:
- Java Homepage
- Java 6 Dokumentation
- Java 6 API
- Java Tutorials (Sun)
- Java Tutorial (Wü) im Downloadbereich