Designing Interactive Systems 2 (2022)

  Class Information

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


Midterm Wed, May 16th
Final PT1 Mon, Jul 25th, 12:00
  Rogowski Building, Schinkelstr. 2, Room Eph
Final PT2 Sat, Aug 27th, 12:00
  C.A.R.L., Claßenstraße 11, H09

Announcement: Online Class

Due to the current pandemic situation, lectures and labs in this class take place via Zoom videoconferencing until further notice. Students registered via RWTHonline received an email with details on how to connect. Depending on how regulations change and the situation develops, we may switch to presence events later this semester. When attending the online classes from home is not feasible for you, you can use the room given for the corresponding class in RWTHonline.

This course builds on the foundations of Designing Interactive Systems I and provides an understanding of how interactive multimedia 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, as well as User Interface Management Systems and UI development toolkits and their relative merits. In the labs, you will develop a minimalistic window system yourself, but also learn to work with various real-life platforms, including Windows, macOS, Qt, and multimedia development environments, to develop user interfaces.

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 building user interfaces and foster project management and teamwork skills.

The class consists of weekly lectures, labs, reading assignments, project-based group assignments, and graded written midterm and final 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 Sören Schröder (in English or German).

Tentative Syllabus

  • Introduction

    • Lecture 1: Introduction, Card's Design Space

      Wed, Apr 6th

    • Lab 1: Organization, Design Space

      Mon, Apr 11th

  • Window System Architecture

    • Lecture 2: Graphics Event Library, Base Window System

      Wed, Apr 13th

    • Lecture 3: Window Manager, User Interface Toolkit

      Wed, Apr 20th

    • Lab 2: Graphics Event Library, Base Window System, Window Manager

      Mon, Apr 25th

  • X, Wayland, and Smalltalk

    • Lecture 4: From X to Wayland, Smaltalk

      Wed, Apr 27th

    • Lab 3: Smalltalk Introduction

      Mon, May 2nd

  • CHI week

    • No Lecture

      Wed, May 4th

    • Lab 4: Midterm Preparation

      Mon, May 9th

  • macOS

    • Lecture 5: History of Macintosh Software

      Wed, May 11th

    • Lab 5: Midterm

      Mon, May 16th

    • Lecture 6: macOS Architecture

      Wed, May 18th

    • Lab 6: Interface Builder and Auto Layout

      Mon, May 23rd

  • Windows

    • Lecture 7: Windows Architecture and UITKs

      Wed, May 25th

    • Lab 7

      Mon, May 30th

  • Cross-Platform Toolkits

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

      Wed, Jun 1th

    • Lab 8: Cross-Platform Application Challenges

      Mon, Jun 13th

  • Post-Desktop Systems

    • Lecture 9: Window Systems for Smartphones and Beyond

      Wed, Jun 15th

    • Lab 9

      Mon, Jun 20th

  • Software Prototyping

    • Lecture 10: Software Prototyping

      Wed, Jun 22nd

    • Lab 10: Software Prototyping

      Mon, Jun 27th

  • Multimedia

    • Lecture 11: Multimedia and Multimodality

      Wed, Jun 29th

    • Lab 11

      Mon, Jul 4th

  • Multimodal Interfaces

  • Hardware Prototyping

  • Final Exams

    • Final Exam PT1

      Mon, Jul 25th

    • Final Exam PT2

      Sat, Aug 27th


Your grade will be calculated as follows:

Assignments 40%
Midterm 25%
Final Exam 35%


Assignments will be assigned weekly. You can find the assignments 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

Only 40 seats are available for this course. Priority to Master students of Computer Science, Media Informatics, Software Systems Engineering, and Technical Communication. The registration in RWTHonline opens on March, 18th.

To get a seat in this course, follow these steps before April, 8th:

  • Register for the course in RWTHonline.
  • Sign the Declaration of Compliance, scan it, and send it to This email address is being protected from spambots. You need JavaScript enabled to view it.. Please add the mail subject prefix [DIS 2].

Registration results announcement on April, 11th.

Previous Offerings

SS21 - 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.