Designing Interactive Systems 2 (2024)

  Class Information

Lecture Wed, 9:30–12:00
Lab Mon, 14:30–16:00
Language English
(BSc/MSc CS)


Final PT1 Jul 24
Final PT2 Aug 27

This course builds on the foundations of Designing Interactive Systems I and provides an understanding of how interactive systems are built from a computer science point of view. It covers the principles of event-based operating systems, window system architectures, input and output device technology for multiple modalities, including audio and haptics, User Interface Management Systems, and UI toolkits and their relative merits. In our labs, you will develop a simple window system yourself but also learn to develop user interfaces with various real-life platforms, including Windows, macOS, Qt, and embedded platforms like Arduino.

After this class, you will know how the technology behind interactive systems works. You can analyze, design, and implement graphical and other user interfaces for existing and emerging technologies, both for the desktop and beyond and including interfaces for multimedia content. Group-based, project-centered assignments and lab activities convey hands-on experience in building user interfaces and foster project management and teamwork skills.

The class consists of weekly lectures, labs, reading assignments, project-based group assignments, and written examinations.

This course has limited seating. You need to register to obtain a seat in this course.


Prof. Dr. Jan



For any questions about the class, please contact both Kevin Fiedler and Oliver Nowak (in English or German).


  • Introduction and Card's Design Space

    • Lecture 1: Introduction, Card's Design Space

      Wed, Apr 10

      Lecture Slides

  • Window System Architecture

    • Lecture 2: Graphics Event Library, Base Window System

      Wed, Apr 17

    • Project Start

      Mo, Apr 22

    • Lecture 3: Window Manager, User Interface Toolkit

      Wed, Apr 24

  • X, Wayland, and Smalltalk

    • Lecture 4: From X to Wayland, Smaltalk

      Wed, May 8

  • macOS

    • Lecture 5: History of Macintosh Software

      Wed, May 15

    • Project Deadline

      So, May 26

    • Lecture 6: macOS Architecture

      Wed, May 29

  • Windows

    • Lecture 7: Windows Architecture and UITKs

      Wed, Jun 5

  • Cross-Platform Toolkits

    • Lecture 8: Design Cross-Platform Toolkits: Java & Qt

      Wed, Jun 12

  • Post-Desktop Systems

    • Lecture 9: Window Systems for Smartphones and Beyond

      Wed, Jun 19

  • Software Prototyping

    • Lecture 10: Software Prototyping

      Wed, Jun 26

  • Multimedia

    • Lecture 11: Multimedia and Multimodality

      Wed, Jul 3

  • Multimodal Interfaces

    • Lecture 12: Multimodality II

      Wed, Jul 10

  • Hardware Prototyping

    • Lecture 13: Hardware Prototyping

      Wed, Jul 17

  • Final Exams

    • Final Exam PT1

      Mon, Jul 24

    • Final Exam PT2

      Sat, Aug 27


Your grade will be calculated as follows:

Project 30%
Final Exam 70%


Assignments will be posted weekly in the Moodle course room. Late assignments will not be accepted. You can use your own computer to work on the assignments, or book a time slot to work in our Hiwi room. Programs that do not compile as specified in the assignment sheets will be graded as incomplete. Exceptions will be granted only for valid (i.e., medical) reasons.

Fields of Study

  • Informatik (M.Sc.)/Angewandte Informatik
  • Informatik (GYM+GS,SII)/Hauptstudium/B. Praktische Informatik
  • Technik-Kommunikation (M.A.)/2. Hauptfach (Technisches Fach)/Grundlagen der Informatik/isierung Informatik
  • TK 2. Fach-Grundlagen der Informatik (M.Sc.)/Wahlpflicht Informatik/Angewandte Informatik
  • Media Informatics (M.Sc.)/Multimedia Technologie
  • Media Informatics (M.Sc.)/Multimedia Technologie/in Aachen
  • Software Systems Engineering (M.Sc.)/Applied Computer Science
  • Software Systems Engineering (M.Sc.)/Practical Computer Science
  • Software Systems Engineering (M.Sc.)/Areas of Specialization/Media Informatics

Course Allocation and Registration Guide

This course has 42 seats. Priority is given to Master students of Computer Science, Media Informatics, Software Systems Engineering, and Technical Communication/MTIK. Registration in RWTHonline is open.

To get a seat in this course, follow these steps before April 10, 2024:

Exam Registration & Deregistration

As the project is part of the final grade, the exam registration is open until 3 days before the final milestone of the project is submitted. After this, you also cannot deregister from the exams anymore.
If you want to switch to the other exam date, please contact us via email.

Previous Offerings

SS22SS21 - SS20 - SS19 - SS18 - SS17 - SS16 - SS15 - SS14 - SS13 - SS12 - SS11 - SS10 - SS09 - SS08 - SS07 - SS06 - SS05 - SS04

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.