HOME | ENGLISH | IMPRESSUM | KIT

HiWi-Job (vergeben): Entwicklung Praktomat

Praktomat ist ein webbasiertes System zur Einreichung, Verwaltung und Qualitätskontrolle von Programmieraufgaben. Am KIT wird Praktomat in den Übungen und Abschlussaufgaben zur Vorlesung Programmieren eingesetzt. Auch an anderen Universitäten wird Praktomat zur Zeit evaluiert und eingesetzt.

Die aktuelle Version des Praktomats basiert auf dem Django Webframework für Python. Sie ermöglicht u.A.

  • Verwaltung von Aufgabenstellungen, Lösungen und Testaten
  • Automatische Tests der Lösungen (Kompilierbarkeit, Stil-Vorgaben, Funktionalitätstest)
  • Online-Testierung durch Tutoren, statistische Auswertung der Bewertungen

Für die Pflege und Weiterentwicklung von Praktomat suchen wir eine wissenschaftliche Hilfskraft (HiWi). Geboten wird die Chance, ein live eingesetztes System zu betreuen und zu verbessern sowie Feedback von Studierenden und Tutoren umzusetzen. Im Umgang mit Praktomat-Anwendern anderer Universitäten können Sie in den Projekt-Alltag von OpenSource-Software hineinschnuppern.

Aufgabe:

Bugfixing und Pflege der Praktomat Codebase, z.B.
  • verbesserte Integration eines Forums
  • verbesserte Kompatibilität mit MySQL Datenbanken
Einfache Erweiterungen der Praktomat-Features, z.B.
  • Funktionalitäts-Tests mit TestNG (Java)
  • Einreichen und Testen von Haskell Aufgaben (HUnit/QuickCheck)
  • Einreichen und Testen von Prolog Aufgaben (PLUnit)
  • verbesserte Internationalisierung (i18n)
  • erweiterte Möglichkeiten zur Offline-Testierung
Längerfristig Aufgaben könnten beispielsweise sein:
  • Verbesserung der Skalierbarkeit des Praktomats durch Verteilung der automatischen Tests auf mehrere Server
  • Integration der Praktomat-Funktionalität in Systeme, z.B. externe Benutzer-Authentifizierung

Voraussetzungen

  • Kenntnisse in serverseitiger so wie clientseitiger (HTML,JavaScript) Web-Programmierung
  • Kenntnisse in objektorientierter Programmierung
  • Wille zur Einarbeitung in Python und Django
  • Grundkenntnisse in relationalen Datenbanksystemen (SQL)
  • Grundkenntnisse im Umgang mit Unix/Linux, Shell-Scripting


Betreuer

Wissenschaftliche Mitarbeiter
Martin Hecker