Intern
    Lehrstuhl für Künstliche Intelligenz und Wissenssysteme

    Programmierpraktikum für Wirtschaftsinformatiker

    Java Programmierpraktikum für Wirtschaftsinformatiker

    0819110: Java-Programmierpraktikum [HaF]

    Prof. Dr. A. Hotho, A. Dallmann, M. Witek

    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. Es wird dringend empfohlen, zunächst diese Vorlesungen zu besuchen, und das Praktikum im Anschluss zu absolvieren.

    Dieser Kurs ist für folgende Studiengänge verpflichtend:

    • Wirtschaftsinformatik
    • Mensch-Computer-Systeme

     

    Dagegen ist für die Studiengänge

    • Informatik,
    • Technische Informatik
    • Luft- und Raumfahrtinformatik
    • Lehramt Informatik

    die Teilnahme am Java Programmierpraktikum 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.

     

    Anforderungen

    Damit Sie sich, z.B. mit der unten aufgeführten Literatur, schon vor Beginn des Praktikums auf die Aufgaben vorbereiten können, geben wir Ihnen hier eine kleine, nicht notwendigerweise vollständige Liste über die wichtigsten Elemente von Java, die Sie in jedem Fall beherrschen müssen:

    • einfache Ablaufkontrollen, wie for- oder while-Schleifen, Verzweigungen mit if und else, Methodenaufrufe und Rückgabewerte
    • grundlegende Datentypen wie int, double, Integer, String oder Date
    • Benutzung von Arrays
    • Grundlagen der Objektorientierung, insbesondere
      • Attribute und der Zugriff auf sie über Getter und Setter
      • Kommunikation der Objekte über Methoden
      • Vererbung
    • Ein- und Ausgabe über die bzw. auf die Konsole
    • Einlesen und Ausgeben von Textdateien

    Außerdem sollten Sie sich in HTML/Javascript und UML so weit auskennen, wie Sie es in Softwaretechnik gelernt haben.

    Anmeldung

    Die Anmeldung zum Praktikum erfolgt ab demnächst über die Einschreibung in den WueCampus-Kurs  zur Veranstaltung.
    Die Anmeldung ist bis zum 22. Februar 2012 möglich.
    Die Anmeldung in den Kurs ist ab der Ausgabe der Aufgaben verbindlich!
    Angemeldete Teilnehmer, die keine Aufgaben abgeben werden als nicht bestanden gewertet und als solche in sb@Home eingetragen.

    Im WueCampus-Kurs finden Sie auch weitere Informationen und Hilfsmittel, vor allem aber die zu bearbeitenden Aufgaben und Abgabemöglichkeiten für die Aufgaben.

    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.

    Beachten Sie weiterhin, dass Sie, um die CIP Pools am Hubland nutzen, und so an den Übungen teilnehmen zu können, einen gesonderten Zugang(!) benötigen.

    Hierfür müssen Sie sich bitte zunächst registrieren, und anschließend die Zugangsdaten bei Fritz Kleemann abholen.

    Einführungsveranstaltung und Tutorien

    Zum Erstellen der Aufgaben steht Ihnen während der Praktikumszeit der CIP-Pool (A002) ganztägig zur Verfügung. Sie können die Aufgaben, mit Ausnahme der Abschlußaufgabe, allerdings auch von zuhause lösen. Die Abschlussaufgabe wird im CIP-Pool unter Aufsicht gelöst, wobei eine ausreichende Anzahl Punkten in den vorangegangenen Aufgaben als  Zulassung notwendig sind.

    Vor dem Beginn des eigentlichen Praktikums wird eine Einführungsveranstaltung angeboten, welche Ihnen den Einstieg in den Programmierteil erleichtern soll. Die Einführungsveranstaltung findet am Mittwoch, den 22.Februar um 14.00 Uhr im Turing-Hörsaal statt.

    Sollten Sie Fragen zu den Aufgaben haben und/oder Unterstützung bei der Lösung der Aufgaben benötigen, so gibt es betreute Übungstermine im CIP-Pool des Instituts für Informatik. Diese finden voraussichtlich Dienstag und Freitag von 10 Uhr bis 11.30 Uhr statt.

    Termine (Vorläufig)

    Das Praktikum wird vorraussichtlich nach folgendem Schema ablaufen:

    22.02.12    

    Anmeldeschluss, Ausgabe der Aufgaben

    06.03.12Abgabe 1. Aufgabenblock
    13.03.12Abgabe 2. Aufgabenblock
    20.03.12Abgabe 3. Aufgabenblock
    27.03.12Abgabe 4. Aufgabenblock
    11.04.12Abschlussaufgabe

    Abschlussprüfung

     In der Abschlussprüfung werden Sie in einer vorkonfigurierten Programmierumgebung im CIP-Pool des Insituts für Informatik eine kleine, eher einfache Aufgabe in Java implementieren. Ziel der Abschlussprüfung ist es, diejenigen herauszufiltern, welche die Aufgaben des Programmierpraktikums sicher nicht selbst implementiert haben, sondern sich (z.B. von Dritten) unerlaubt haben helfen lassen. Weil bei der Abschlussprüfung kein Internetzugang besteht, sondern nur eine lokale Kopie der Java-API zur Verfügung steht, sollten Sie sich schnell angewöhnen, diese in ihre Arbeit zu integrieren.

    Wichtige Hinweise

    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 bei Einreichen der Abgabe verschiedene Tests durch. Fehlerfreie Durchläufe führen in den meisten Fällen zur vollen Punktzahl für die abgegebene Aufgabe. Stellt PABS jedoch Mängel in Ihrer Bearbeitung fest, werden Ihnen bei der anschließenden Korrektur je nach Schwere Punkte abgezogen. In jedem Fall wird Ihre Abgabe nach der maschinellen Überprüfung noch durch Korrektoren bewertet. Falls notwendig werden wir dann auch Abzüge für schlechten Codestil machen (siehe unten)!

    Wir weisen nochmal ausdrücklich darauf hin, dass Sie selbst für das Testen Ihrer Arbeit zuständig sind. Reichen Sie nur Arbeiten ein, von deren Richtigkeit Sie sich ausgiebig im Vorfeld durch eigene Tests überzeugt haben! Sie werden zwar von PABS möglicherweise Hilfestellungen erhalten, falls Ihre Bearbeitung fehlerhaft ist. Es ist aber zum einen prinzipiell nicht möglich maschinell festzustellen, ob ein Programm richtig arbeitet. Zum anderen besteht von Ihrer Seite kein Recht auf umfangreiche Fehlermeldungen von PABS. Falls Sie Hilfe bei der Bearbeitung benötigen, besuchen Sie bitte die Tutorien; dort helfen wir Ihnen gerne!

    Gruppenarbeit

    Die Erstellung von Abgabelösungen in Gruppenarbeit ist nicht erlaubt. Die nötige Selbstständigkeit gilt auch für alle Codefragmente! Bei Zuwiderhandlungen bekommen alle Beteiligten die jeweilige Aufgabe nicht anerkannt. Sie sind selbst dafür verantwortlich, Ihre eigenen Lösungen vor fremdem Zugriff zu schützen. Noch einmal: 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. Wiederholungstäter werden vom weiteren Verlauf des Praktikums ausgeschlossen.

     

    Implementierung und Codierungsstil

    Der erstellte Code ist nicht nur funktional korrekt, sondern insbesondere auch klar und verständlich zu implementieren. Verwenden Sie sprechende Bezeichner und einfache Strukturen. Denken Sie immer daran, dass Code nicht nur für den Rechner bestimmt ist, sondern auch von Menschen verstanden werden soll. Versetzen Sie sich in die Lage eines Korrektors oder Komilitonen und fragen Sie sich, ob Sie Ihren eigenen Code verstehen würden, wenn Sie ihn nicht selbst geschrieben hätten. Trennen Sie funktionale Einheiten in kleinen, übersichtlichen Methoden! Trennen Sie die Methoden deutlich durch Leerzeilen. Rücken Sie den Code sinnvoll ein. Kommentieren Sie alle Stellen, deren Funktionsweise nicht absolut offensichtlich ist! Wir weisen noch einmal deutlich darauf hin, dass schlecht formatierter Code zu Punktabzug führt!

    Mit dem Werkzeug Checkstyle (checkstyle.sourceforge.net), das Sie in Eclipse als Plugin integrieren können, haben Sie die Möglichkeit maschinell prüfen zu lassen, ob Ihr Code den gängigen Java-Konventionen für gut formatierten Code gerecht wird.

     

    Literatur und Hilfsmittel

    Java

     

    Eclipse

     

    Bücher

    • Java ist auch eine Insel - Programmieren mit der Java Standard Edition Version 6. Christian Ullenboom, Galileo Computing, 7. Auflage (2007)
      Online-Version: JavaInsel
    • Handbuch der Java-Programmierung. Guido Krüger & Thomas Stark, Addison-Wesley, 5. Auflage (2007)
      Online-Version: Javabuch
    • ...

    Abschlußaufgabe des letzten Semesters