Intern
Chair of Computer Science II - Software Engineering

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:

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:

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:

Eclipse:

Literatur: