Intern
Chair of Computer Science II - Software Engineering

Programmierpraktikum (Herbst)

Java Programmierpraktikum (SS13) (Herbst)

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 und 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 die obigen Vorlesungen besuchen und das Praktikum anschließend 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 erfolgt über SB@Home im Kurs für das Sommersemester 2013 und ist bis zum 21.08.2013 möglich. Sie werden innerhalb von 24-Stunden nach der Anmeldung automatisch in den Wuecampus2-Kursraum eingetragen. 

Bitte beachten Sie, dass der Kurs im Herbst jetzt dem Sommersemester 2013 zugeordnet wird.

In den vorangegangenen Semestern wurde er bereits dem Wintersemester zugeordnet.


Links zum Kurs:

Ablauf des Praktikums

Das Praktikum gliedert sich in drei Phasen:

Phase 1: Einarbeitung

Zeitraum: bis 21.08.2013

Die erste Phase des Praktikums ist eine selbstständige Einarbeitung in Java (Version 1.7). Als Literatur empfehlen wir das Buch Java ist auch eine Insel, 10. 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 11.09.2013

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 18.02.2013). Diese Aufgaben müssen bis zum 11.09.2013 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 in den CIP-Pools A001/A002 angeboten. Weiter wird in WueCampus ein betreutes Forum für Fragen bereitgestellt.

Phase 3: Bewertete Aufgabe

Zeitraum: 11.09.2013 bis 25.09.2013

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 in den CIP-Pools A001/A002 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 09.10.2013, ab 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.

Terminübersicht

N/A                                Informationsveranstaltung zum Praktikum im Turing-HS

21.08.2013 12:00 Uhr Veröffentlichung der Übungsaufgaben für Phase 2

11.09.2013 12:00 Uhr Abgabe der Übungsaufgaben

                                     Veröffentlichung der bewerteten Aufgabe für Phase 3

25.09.2013  12:00 Uhr Abgabe der bewerteten Aufgabe

02.10.2013  12:00 Uhr Veröffentlichung der Zulassung zur Abschlussaufgabe

09.10.2013  ab 12:00 Uhr Abschlussaufgabe

Literatur und Hilfsmittel

Java:

Eclipse:

Literatur: