Test-Driven Learning Assignments (Wintersemester 2017/2018)
Lecturer:
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)
General Information
- Weekly Hours: 4
- Credits: 6
- Graded:
yes
- Enrolment Deadline: 27.10.2017
- Teaching Form: Seminar
- Enrolment Type: Compulsory Elective Module
- Maximum number of participants: 15
Programs, Module Groups & Modules
- OSIS: Operating Systems & Information Systems Technology
- OSIS: Operating Systems & Information Systems Technology
- ISAE: Internet, Security & Algorithm Engineering
- ISAE: Internet, Security & Algorithm Engineering
- SAMT: Software Architecture & Modeling Technology
- SAMT: Software Architecture & Modeling Technology
Description
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.
Requirements
Grundkenntnisse in Java oder im automatisierten Testen von Software (in einer beliebigen Sprache)
Examination
Generelle Mitarbeit: 20%
Praktischer Anteil (Erstellung von Programmieraufgaben und Erarbeitung eines der Fokusthemen): 50%
Schriftliche Ausarbeitung des Fokusthemas: 30%
Zurück