Lehrstuhl für Angewandte Softwaretechnik
Chair for Applied Software Engineering


Interactive Learning

Lectures and exercises are combine into interactive learning classes with multiple iterations of the following five phases:

  1. Theory: The instructor introduces a new concept and describes the theory behind it. Students listen, try to understand it and ask questions.
  2. Example: The instructor provides an example so that students can refer to a concrete situation.
  3. Exercise: The instructor asks the students to apply the concept in a small exercise. The students submit their solution to the exercise.
  4. Solution: The instructor provides a sample solution, explains it to the students and discusses exemplary student submissions to provide immediate feedback and guidance.
  5. Reflection: The instructor facilitates a discussion about the theory and the exercise so that students reflect about the concept.




ArTEMiS is our learning management system that enables interactive in-class exercises in large classes with more 1000 students. With the use of version control and continuous integration, the assessment of students' solutions to exercises is (semi-)automatic and immediate. Students receive feedback and can iteratively and incrementally improve their solutions until they are correct.

ArTEMiS is open source and available on https://github.com/ls1intum/ArTEMiS 

The instance for TUM students is available on https://exercisebruegge.in.tum.de 



Stephan Krusche, Nadine von Frankenberg, Sami Afifi
Experiences of a Software Engineering Course based on Interactive Learning
15. Workshop Software Engineering im Unterricht der Hochschulen (SEUH'17), pages 32-40. Hanover - Germany, February 2017 [bibtex]

Stephan Krusche, Andreas Seitz, Jürgen Börstler and Bernd Bruegge
Interactive Learning – Increasing Student Participation through Shorter Exercise Cycles
19th Australasian Computing Education Conference (ACE'17), pages 17-26. ACM. Geelong - Australia, January 2017 [bibtex]



SIGCSE 2017 Workshop 408: How to Integrate Interactive Learning into Large Classes

Stephan Krusche Andreas Seitz Nadine von Frankenberg  Bernd Brügge
Dr. Stephan Krusche Andreas Seitz Nadine von Frankenberg Prof. Bernd Brügge, Ph.D.



Learning to apply computer science requires practical experience and cannot only be taught in theory. Interactive learning is a new approach: educators teach small chunks of content in short cycles of theory, example, exercise, solution and feedback. It is based on active, computer-based and experiential learning and focuses on immediate feedback to improve the learning experience. It allows students to reflect about the content incrementally. It includes hands-on activities, guidance by the instructor and increases students' motivation and engagement. This workshop describes experiences of multiple interactive learning courses for large classes, including exercises for (1) multiple choice quizzes, (2) interactive tutorials, (3) interactive programming exercises, (4) interactive modeling, and (5) team activities. Based on our experience, we present multiple case studies and concrete examples of interactive exercises. While the assessment of many exercises can be (semi-)automated, teaching assistants in the classroom manually assess other exercises. We show how educators can integrate these exercises into large classes without significantly increasing their effort. Participants should bring a laptop to this workshop.


  1. Introduction to Interactive Learning
  2. Challenges in Large Classes
  3. Interactive Learning Exercises
    1. Multiple Choice Drag and Drop Quiz
    2. Interactive Tutorial
    3. Interactive Coding Challenge
    4. Interactive Modeling Exercise
    5. Team Exercise
  4. Discussion and Q&A
  5. Conclusion and Wrap Up