Hasso-Plattner-Institut25 Jahre HPI
Hasso-Plattner-Institut25 Jahre HPI
Login
 

Test-Driven Learning Assignments (Wintersemester 2017/2018)

Dozent: Prof. Dr. Christoph Meinel (Internet-Technologien und -Systeme) , Thomas Staubitz (Internet-Technologien und -Systeme) , Christiane Hagedorn (Internet-Technologien und -Systeme) , Dr. Ralf Teusner (Enterprise Platform and Integration Concepts)

Allgemeine Information

  • Semesterwochenstunden: 4
  • ECTS: 6
  • Benotet: Ja
  • Einschreibefrist: 27.10.2017
  • Lehrform: Seminar
  • Belegungsart: Wahlpflichtmodul
  • Maximale Teilnehmerzahl: 15

Studiengänge, Modulgruppen & Module

IT-Systems Engineering BA

Beschreibung

Seminarbeschreibung:

Die Teilnehmer des Seminars entwerfen und erstellen Übungsmaterialien für einen MOOC zum Thema objektorientierte Programmierung mit Java.


Im Vordergrund steht die Konzeptionierung und Umsetzung praktischer Programmieraufgaben auf CodeOcean. Um eine Bewertung der Programmieraufgaben zu ermöglichen, müssen die Abgaben der MOOC Teilnehmer mit JUnit Tests auf Richtigkeit überprüft werden. Weiterhin sollen auch andere Möglichkeiten der Leistungserfassung wie z.B. geeignete Multiple Choice Aufgaben entworfen werden. Im MOOC wird ein spielerischer Ansatz verfolgt. Die Lerninhalte des MOOCs entwickeln sich entlang einer Rahmenhandlung, an die sich auch die Programmieraufgaben und MC Tests anlehnen können.


Im Rahmen des Seminars werden Technologien und Tools zum Testen solcher Aufgaben vorgestellt. Themen im Einzelnen umfassen:


  • Eingabe/Ausgabe Tests 
  • Mutanten Tests
  • Testen der Programmstruktur/Vorhandensein bestimmter Elemente (Regex, ANTLR)
  • JUnit
  • Mocking Frameworks


Fokusthemen:

  • Erstellung eines Frameworks zur Vereinfachung der Erstellung solcher Aufgaben 
  • Testverfahren die über das dynamische Testen der Korrektheit des Ergebnisses der Abgaben hinausgehen (z.B. statische Codeanalysen, Stylechecks, etc.)
  • Parametrisierung von Aufgaben
  • Automatisierte Fehleranalyse


Das Seminar wird lehrstuhlübergreifend von Christiane Hagedorn (ITS), Thomas Staubitz (ITS) und Ralf Teusner (EPIC) betreut.


Voraussetzungen

Grundkenntnisse in Java oder im automatisierten Testen von Software (in einer beliebigen Sprache)

Leistungserfassung

Generelle Mitarbeit: 20%

Praktischer Anteil (Erstellung von Programmieraufgaben und Erarbeitung eines der Fokusthemen): 50%

Schriftliche Ausarbeitung des Fokusthemas: 30%


Zurück