Übersicht

Aktuelles

Termine

Dokumente

Software

Kolloquium

BotContest

Links/Hinweise

Kontakt

Mailarchiv

Praktikum Programmiermethodik SS 2001



Lernziele

Das Praktikum Programmiermethodik soll einen Einblick in den Softwareentwicklungsprozeß vermitteln. Am Beispiel einer komplexen Problemstellung üben Programmierteams die Umsetzung der einzelnen Phasen Problemanalyse, Softwaredesign, Implementierung und Test. Ziel ist die Erstellung einer lauffähigen, gut dokumentierten Software.

Wir wollen Techniken und Werkzeuge vermitteln, die für diese Aufgabe notwendig sind. Dazu gehören beispielsweise Tools zur Verwaltung von Quelltexten und Dokumentationen im Team (z.B. Concurrent Versions System (CVS)), Techniken zur Problemanalyse und zu Softwaredesign (z.B. Unified Modeling Language UML, Design-Patterns wie Model-View-Controller) und Dokumentationswerkzeuge (z.B. javadoc).

Das Praktikum soll aber auch einen Einblick in die in Java enthaltenen Bibliotheken zur Oberflächenentwicklung (AWT bzw. Swing), Thread-Programmierung und Kommunikation über Netzwerke (TCP) geben.



Aufgabenstellung im Überblick

Für das Praktikum im Sommersemester 2001 haben wir uns die Entwicklung eines verteilten Spiels als Aufgabe herausgesucht. Grundlage ist das bekannte Gesellschaftsspiel "Cluedo". Ziel des Praktikums ist es, eine netzwerkfähige Computerversion dieses Spiels in Java zu implementieren.

Dafür werden die folgenden Module benötigt:

CluedoServer: Ein CluedoServer ist der zentrale Anlaufpunkt für Cluedo-Spieler. Der Server kann mehrere Spiele (auch als Sessions bezeichnet) parallel verwalten. Innerhalb eines Spiels übernimmt der Server die Spielvorbereitung und koordiniert die Spielzüge.

CluedoClient: Ein CluedoClient ermöglicht einem einzelnen Spieler die Teilnahme an einem Cluedo-Spiel. Er stellt an Funktionalität zur Verfügung, was der Spieler vom Brettspiel gewohnt ist. Zusätzlich bietet der Client Funktionen für die Anmeldung eines Spielers bei einem Server sowie für die Auswahl oder Erzeugung einer Session.

CluedoRobot: Ein CluedoRobot ist ein computergesteuerter Cluedo-Spieler. Er agiert nach einer cleveren Strategie und führt seine Züge autonom aus. Zusätzlich bietet er Funktionalität für die Anmeldung an einem Server sowie für die Auswahl oder Erzeugung einer Session.

Jede Gruppe des Praktikums hat die Aufgabe, eines der drei Module zu planen und zu implementieren.


Wir stellen das Kommunikationsprotokoll zwischen Client und Server zur Verfügung. Es ist zwingend notwendig, daß alle Implementierungen dieses Protokoll unterstützen.



Organisation im Überblick

Gruppen. Eine Praktikumsgruppe besteht aus 6-8 Studierenden. Sie wird von einem Tutor/einer Tutorin betreut. Die Gruppen treffen sich wöchentlich mit ihrem Tutor. Die Treffen dienen dazu, Fragen zu klären und die Zusammenarbeit der Gruppenmitglieder zu koordinieren. Bei diesen Treffen müssen 3-4 Gruppenmitglieder anwesend sein.

Metagruppen. Zusätzlich sind Gruppen zu Metagruppen zusammengefaßt. In jeder Metagruppe gibt es Gruppen, die Server, Clients und Robots entwickeln. Die Metagruppen haben den Zweck, Tests zwischen Client-, Server- und Robotentwicklern zu ermöglichen. Zusätzlich kann Funktionalität identifiziert werden, die in verschiedenen Modulen benötigt wird. So benötigen sowohl Client als auch Robot die gleiche Kommunikationsfunktionalität. Eine Metagruppe wird jeweils von genau einem Tutor/einer Tutorin betreut. Die Koordination innerhalb der Metagruppe wird durch den Tutor organisiert.

Abgaben. In regelmäßigen Abständen finden Abgaben statt. Zu diesen Terminen muß jede Gruppe bestimmte Dokumente und Implementierungen angefertigt haben. Die Ergebnisse werden jeweils den Tutoren vorgestellt, dabei besteht Anwesenheitspflicht für alle Gruppenmitglieder.

Kolloquium. Am Ende des Semester findet für jede Gruppe ein Kolloquium statt. Hier präsentiert die Gruppe die Ergebnisse des Praktikums vor dem jeweiligen Tutor und Lehrstuhlmitarbeitern. Es besteht Anwesenheitspflicht für die gesamte Gruppe. Jedes Gruppenmitglied muß bei der Präsentation mitwirken und Fragen beantworten können.

Mailingliste. Alle Praktikumsteilnehmer sollten sich auf unserer Mailingliste pi4studforum-l@pi4.informatik.uni-mannheim.de eintragen. Darüber versenden wir die neuesten Informationen, z.B. wenn sich ein Spezifikationsdokument geändert hat. Die Mailingliste soll als zentrale Anlaufstelle für die Praktikumsteilnehmer dienen. Hier werden alle Arten von Planungs- und Programmierproblemen besprochen. Die Tutoren und die Lehrstuhlmitarbeiter sind auch in dieser Liste eingetragen. Das Eintragen in die Mailingliste erfolgt durch eine e-mail an pi4studforum-l-request@pi4.informatik.uni-mannheim.de mit subscribe pi4studforum-l myname@my.email.address im Mailtext (nicht im Subject!). Statt myname@my.email.address ist natürlich die eigene e-mail-Adresse anzugeben.

kuehne@informatik.uni-mannheim.de
Last modified: Thu Apr 19 14:55:48 CEST 2001