Software-Praktikum


Termine
16.04. Vorbesprechung und Einteilung der Gruppen, 14-16.00, im Hörsaal
Plenum: Mi 14:00 - 16:00 Hörsaal
Tutorium 1: Mo 14:00 - 16:00 SR - 053
Tutorium 2: Mo 16:00 - 18:00 SR - 053
Tutorium 3: Di 14:00 - 16:00 SR - 053
Tutorium 4: Di 12:00 - 14:00 SR - 211
Tutorium 5: Do 14:00 - 16:00 SR - 053
Tutorium 6: Do 16:00 - 18:00 SR - 053
Tutorium 7: Fr 14:00 - 16:00 SR - 053
Tutorium 8: Fr 16:00 - 18:00 SR - 053
Der Zeitplan
 
Betreuung
Annika Hinze
Sprechstunde: Mi 14-16
Prof. Schweppe
Sprechstunde: Mi 14-16
 
Links
Anmeldung
Mailingliste swp
Aktuelle Infos
Der UrServer
Klienten-Anforderungen
Die Turnierseite

Inhalt

Inhalt des Projektes/Praktikums ist die arbeitsteilige Entwicklung eines größeren Programmsystems. Die Veranstaltung dient der Vertiefung der in ALP I-III, bzw. Informatik A-B erworbenen Programmierkenntnisse. Sie führt in die Entwicklung größerer Programmsysteme ein und wird in Projektform durchgeführt. Das Praktikum findet in mehreren parallelen Gruppen statt, die in der ersten VL-Woche eingeteilt werden. Das Projektthema ist die schon bewährte Umsetzung eines Gesellschaftspieles in ein netzbasiertes Computerspiel. Scheinkriterien: regelmäßige Anwesenheit und aktive Mitarbeit in den Tutorien bei Entwurf, Implementierung, Organisation und Dokumentation des Projekts.

Teilnahmevoraussetzungen:

Studierende mit erfolgreichem Abschluss von ALP III, bzw. Informatik B und guten Kenntnisse in der Programmiersprache Java.

Organisation und Durchführung

Im Verlauf des Semesters werden wöchentlich zweistündige Tutorien stattfinden, bei denen Anwesenheitspflicht besteht. Jede Tutoriumsgruppe wird ein eigenes Softwareprogramm entwickeln. Pro Tutorimsgruppe können 10-15 Leute mitmachen. Diese Tutorien werden ungefähr alle zwei Wochen durch eine Plenumsveranstaltung ergänzt. In diesen Plenen wird zum einen Organisatorisches geklärt, das alle Gruppen betrifft und zum anderen werden die Zwischenstände der einzelnen Softwareprojekte präsentiert.

Scheinkriterien:

Teilnahme an den Plenumsveranstaltungen, Anwesenheit in den Tutorien und aktive Mitarbeit bei Entwurf, Implementierung, Organisation und Dokumentation des Projekts.

Das Spiel

Das Gesellschaftsspiel Ursuppe soll als netzwerkfähige Applikation umgesetzt werden. Das Spiel ist von zwei alternativen Spieledesignern herausgegen, Doris und Frank. Es wird hier noch eine vereinfachte Regelbeschreibung geben, ansonsten kann man einen ersten Eindruck bekommen auf der Homepage von Frank und Doris (http://www.doris-frank.de/PlayPage.html). Es gibt auch schon eine Umsetzung des Spieles auf Windows, von der man sich inspirieren lassen kann :-).
Die Spielregeln (pdf 1900KB)
Die Spielregeln (pdf 4100KB)

Die Implementierung

Die Umsetzung schließt eine grafische Benutzeroberfläche sowie die Implementierung künstlicher Spieler ein. Der zur Verwaltung des Spiels notwendige Server (sozusagen der Spielleiter) wird zur Verfügung gestellt und muß nicht selbst implementiert werden. Ziel ist es, die Spieler in einem Turnier gegeneinander antreten zu lassen. und um das Zusammenspiel zu üben, treten die Programme der einzelnen Gruppen ab der dritten Woche regelmässig gegeneinander an. Am Ende des Semsters wird das beste Programm von den Veranstaltern prämiert.
Die TutorInnen implementieren einen eigenen Clienten, sodass von Anfang an ein funktionierender Gegegner da sein sollte :-)

Die Turniere

Sowie die ersten rudimentären Clienten implementiert sind (also ca ab der 3.Woche) finden wöchentlich Turniere statt, in denen gegeneinander gespielt wird. Die Software ist vorher von den Gruppen einzuschicken, dann werden die Turnierspiele durchfegührt und im Plenum und auf der Webseite die ergebnisse veröffentlicht. So können die Gruppen rechtzeitig lernen, gegeneinander zu spielen, und auch das miteinander spielen testen (z.B. sich nicht von ungeplanten aktionen des gegners verwirren lassen).
Ziel ist es, schnell lauffähige Clienten zu haben, die dann weiter ausgebaut werden.
Die Turnierseite

Die Präsentationen

Neben den Turnierergebnissen stellen die Gruppen auf den Plenumsveranstaltungen jeweils ihren Clienten vor. Es wird drei Präsentationen geben, eine ganz am Anfang zum Vorstellen der Grundideen und projektaufteilung, eine in der Mitte für die Vorstellung der GUI und am Ende eine Abschlusspräsentation.

Die Tutorien

In den Tutorien ist Anwesenheitspflicht. In der Entwurfsphase werden wechselnde Protokollführer die Ergebnisse der Diskussionen und Entwürfe mitschreiben. Die Protokolle werden zum nächsten Termin im Netz veröffentlicht.

Der Zeitplan - immer halbwegs aktuell

Woche Datum Plenum geplanter Tutoriums-Inhalt Ergebnis
0 16.4. - 22.4. 16.4.: Allgemeines, Aufgabe Erarbeiten Grobentwurf (Anforderungsdefinition) (1/2) Protokoll 1
1 23.4. - 29.4. 23.4.: Server API
Turnierregeln
Erarbeiten Grobentwurf (2/2) Protokoll 2
fertige Anforderungsdefinition
2 30.4. - 6.5. - Erarbeiten verfeinerter Entwurf (Entwurfsspezifikation) (1/2)
Implementierung Durchstichprototyp (1/2)
Protokoll 3
3 7.5. - 13.5. - verfeinerter Entwurf (2/2)
Testcases entwickeln
Implementierung Durchstichprototyp (2/2)
Protokoll 4
fertige Entwurfsspezifikation
Schnittstellendefinition
4 14.5. - 20.5. 14.5.: 1. Turnier
1. Meilenstein: Vorträge der Gruppen
(Grundprinzip des Ansatzes, Grobkonzept)
Implementierung Dokumentation der Gruppenarbeit
5 21.5. - 27.5. 21.5.: 2. Turnier Implementierung Dokumentation der Gruppenarbeit
6 28.5. - 3.6. 28.5.: 3. Turnier Implementierung Dokumentation der Gruppenarbeit
7 4.6. - 10.6. 4.6.: 4. Turnier
2. Meilenstein: Vorträge der Gruppen
(GUI vorstellen)
Implementierung Dokumentation der Gruppenarbeit
8 11.6. - 17.6. 11.6.: 5. Turnier Implementierung Dokumentation der Gruppenarbeit
9 18.6. - 24.6. 18.6.: 6. Turnier Implementierung Dokumentation der Gruppenarbeit
10 25.6. - 1.7. 25.6.: 7. Turnier Implementierung Dokumentation der Gruppenarbeit
11 2.7. - 8.7. 2.7.: 8. Turnier Implementierung Dokumentation der Gruppenarbeit
12 9.7. - 16.7. 9.7.: 9. Turnier Implementierung Dokumentation der Gruppenarbeit
13 23.7.2003 Abschlussturnier
Abschlusspräsentation
Grillen












send me a letter...