Deutsch Intern
Chair of Computer Science II - Software Engineering

Programmierpraktikum

Java Programmierpraktikum

08 06410: Programmierpraktikum (Java) [HaF]

J. Wolff v. Gudenberg, E. Böhler, M. Nehmeier

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

Die Anmeldung ist  bis zum 14.03.2011 möglich. Dazu schreiben Sie sich über SB@Home für den Kurs "Programmierpraktikum (Java)" für das Sommersemester 2011 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 8.3.2011

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: 9.3.2011 bis 26.3.2011

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 die aufgeführten Konzepte ein und lösen Sie die Übungsaufgaben (Veröffentlichung am 8.3.2011). Alle Aufgaben dieser Phase müssen bis zum 25.3.2011 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 Aufgaben dieser Phase alle Tests auf dem PABS-System erfolgreich bestehen.

Bei der Bearbeitung dieser Aufgaben stehen Ihnen Betreuer beratend zur Seite. Hierzu werden im Zeitraum vom 9.3.2011 bis 24.3.2011 jeweils Mo. - Fr. 13:00 - 15:00 Uhr Übungen im Cip-Pool A001 angeboten. Weiter wird in WueCampus ein betreutes Forum für Fragen bereitgestellt.

Phase 3: Bewertete Aufgabe

Zeitraum: 4.4.2011 bis 18.4.2011
Aufgrund von Wartungsarbeiten in allen CIP-Pools in der Woche 28.3.2011 bis 1.4.2010 findet eine Pause zwischen der Abgabe von Phase 2 und der Veröffentlichung von Phase 3 statt!

Wurden alle Übungsaufgaben aus Phase 2 erfolgreich bis zum 25.3.2011 12:00 Uhr abgegeben, so sind Sie berechtigt eine weitere Aufgabe (Veröffentlichung am 4.4.2011) zu bearbeiten. Diese Aufgabe muss bis zum 18.4.2011 12:00 Uhr ü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 im Zeitraum vom 5.4.2011 bis 15.4.2011 jeweils Mo. - Fr. 13:00 - 15:00 Uhr betreute Übungen im Cip-Pool A001 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 28.4.2011 15:00 Uhr sind mindestens 70% der Punkte in Phase 3 und somit auch eine erfolgreiche Abgabe aller 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.

CIP-Pool Zugänge

Zum Erstellen der Aufgaben stehen Ihnen während der Praktikumszeit die CIP-Pools ganztägig zur Verfügung (sieh Info). Sie können die Aufgaben allerdings auch von zuhause lösen.

Sie sollten für dieses Praktikum einen Zugang zu den CIP-Pools der Informatik besitzen. Wenn Sie noch keinen Zugang / Account haben, melden Sie sich bitte auf dieser Website an und besuchen Sie danach Herrn Kleemann im Raum  A103.

Terminübersicht

9.3.2011 Veröffentlichung der Übungsaufgaben für Phase 2

9.3.2011 bis 24.3.2011 jeweils Mo. - Fr. 13:00 Uhr - 15:00 Uhr Übung, A001

26.3.2011 12:00 Uhr Abgabe der Übungsaufgaben

4.4.2011 Veröffentlichung der bewerteten Aufgabe für Phase 3

5.4.2011 bis 15.4.2011 jeweils Mo. - Fr. 13:00 Uhr - 15:00 Uhr Übung, A001

18.4.2011 12:00 Uhr Abgabe der bewerteten Aufgabe

28.4.2011 15:00 Uhr Abschlussprüfung

Literatur und Hilfsmittel

Java:

Eclipse:

Literatur: