Gesucht wird eine Hilfskraft zur Weiterentwicklung der WWW-gestützten Praktikumsverwaltung "Praktomat".
Praktomat ist ein WWW-gestütztes Tool zur Verwaltung von Programmierkursen und -praktika, das an der Uni Karlsruhe in der neuen `Programmieren'-Vorlesung zum Einsatz kommen wird. Es bietet unter anderem
- Automatisches Testen eingereichter Aufgaben
Alle über Praktomat eingereichte Aufgaben werden automatisch übersetzt und getestet. Auf diese Weise können nur Programme eingereicht werden, die eine gewisse Grundfunktionalität erfüllen. - Automatisches Überprüfung von Programmierrichtlinien
Praktomat ermöglicht weitgehend automatische Tests der eingereichten Programme auf Konformität mit Code Conventions wie z.B. den Java Code Conventions. - Rechnergestütztes Programmlesen
Nachdem sie eine Aufgabe gelöst haben, können Studenten die Lösungen anderer Kommilitonen kommentieren und damit ihre Abgabefrist verlängern. So lernen die Studenten nicht nur das Lesen und Verstehen fremder Programme; durch das Hineinversetzen in eine Gutachterposition werden auch die eigenen Programme verständlicher.
Praktomat ist ein in Python geschriebenes System, das auf einer relationalen Datenbank arbeitet über einen WWW-Server erreichbar ist. Da das System bereits über 10 Jahre alt ist und wie alle größeren Software-Systeme unter zunehmender Entropie zu leiden hat, sind umfassende Refaktorisierungsarbeiten geplant. Zusätzlich soll der Funktionsumfang des Systems erweitert werden. Zu den geplanten Aufgaben gehören:
- Neustrukturierung der Datenbank, insb. Einsatz von objekt-relationalem Mapping
- Auslagerung des Codes für die graphische Oberfläche, insb. Umstellung von momentan HTML auf ein generelles XML-Schema. Dadurch soll es ermöglicht werden, Praktomat in andere Tools, wie zB. Eclipse, zu integrieren.
- Bedingt durch die Umstrukturierungen in Datenbank und GUI müssen auch Teile der Programmlogik neu strukturiert werden.
- Erweiterung des Praktomaten durch
- Neue Testverfahren für eingereichte Programme
- Algorithmen zur statistischen Aufbereitung der Prüfergebnisse
- Einbindung in andere Tools, zB. ins Eclipse-Framework
Zu diesem Zweck suchen wir ab sofort eine Hilfskraft, die dieses Projekt in Angriff nehmen möchte.
Aufgabe:
- Einarbeitung in Praktomat / Analyse des bestehenden Systems
- Neustrukturierung der Datenbank, der GUI und der Programmlogik
- Erweiterung des Systems durch neue Testverfahren und Anbindungen an andere Tools
- allg. Wartung des Systems
Voraussetzungen
- Kenntnisse in Python
- Grundkenntnisse über Datenbanken
- Kenntnisse über Webanwendungen von Vorteil, aber nicht notwendig
Betreuer
Ehemalige Mitarbeiter |
---|
Dr.-Ing. Dennis Giffhorn |