Designing Interactive Systems 2 (2023)

  Class Information

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


Final PT1 July 20
Final PT2 August 25

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 Ricarda Rahm and Oliver Nowak (in English or German).

Tentative Syllabus

  • Introduction and Card's Design Space

  • Window System Architecture

  • X, Wayland, and Smalltalk

  • macOS

    • Lecture 5: History of Macintosh Software

      Wed, May 10 (canceled)

    • Lecture 6: macOS Architecture

      Wed, May 17

  • Windows

    • Lecture 7: Windows Architecture and UITKs

      Wed, May 24

  • Cross-Platform Toolkits

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

      Wed, Jun 7

  • Post-Desktop Systems

    • Lecture 9: Window Systems for Smartphones and Beyond

      Wed, Jun 14

  • Software Prototyping

    • Lecture 10: Software Prototyping

      Wed, Jun 21

  • Multimedia

    • Lecture 11: Multimedia and Multimodality

      Wed, Jun 28

  • Multimodal Interfaces

    • Lecture 12: Multimodality II

      Wed, Jul 5

  • Hardware Prototyping

    • Lecture 13: Hardware Prototyping

      Wed, Jul 12

  • Final Exams

    • Final Exam PT1

      Mon, Jul 20

    • Final Exam PT2

      Sat, Aug 25


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 opens on March, 18th, 2023.

To get a seat in this course, follow these steps before April,5, 2023:

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.