Designing Interactive Systems 2 (2019)

  Class Information

Lecture Wed, 8:30 - 11:00
  2222, i10 Seminar room
Lab Mon, 14:30 - 16:00
  2222, i10 Seminar room
Language English
Credits 6


Midterm Fri, May 17th, 15:00
Final PT1 Thu, Jul 18th, 15:00
Final PT2 Fri, Aug 9th, 15:00

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 development environments, including window systems such as Java Swing 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 contents. 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 Sebastian Hueber, M.Sc..


  • Introduction

    • Lecture 1: Introduction, Card's Design Space

      Wed, Apr 3rd

    • Lab 1

      Mon, Apr 8th

  • Window System Architecture

    • Lecture 2: Graphics Event Library, Base Window System

      Wed, Apr 10th

    • Lab 2

      Mon, Apr 15th

    • Lecture 3: Window Manager, User Interface Toolkit

      Wed, Apr 17th

  • X, Wayland & Smalltalk

    • Lecture 4: From X to Wayland, from Smalltalk to Squeak

      Wed, Apr 24th

    • Lab 3

      Mon, Apr 29th

    • Lab 4: Midterm Preparation

      Mon, May 13th

  • macOS

    • Lecture 5: History of Macintosh Software, macOS Architecture

      Wed, May 15th

    • Midterm Exam

      Fri, May 17th

    • Lab 5: Developing macOS Apps

      Mon, May 20th

    • Lecture 6: Developing macOS Apps

      Wed, May 22nd

    • Midterm Exam Review

      Mon, May 27th

  • Windows

    • Lecture 7: Windows Architecture and UITKs

      Wed, May 29th

    • Lab 6: Developing Windows Apps

      Mon, Jun 3rd

  • Cross-Platform Apps

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

      Wed, Jun 5th

    • Lab 7

      Mon, Jun 17th

  • Post-Desktop Systems

    • Lecture 9: Window Systems for Smartphones, TVs and Beyond

      Wed, Jun 19th

    • Lab 8: Strengthening Learned Contents

      Mon, Jun 24th

  • Multimedia & Multimodal Interfaces

    • Lecture 10

      Wed, Jun 26th

    • Lab 9: Strengthening Learned Contents

      Mon, Jul 1st

  • Prototyping

    • Lecture 11: Software Prototyping

      Wed, Jul 3rd

    • Lab 10: Exam Preparation

      Mon, Jul 8th

    • Lecture 12: Hardware Prototyping

      Wed, Jul 10th

  • Final Exams

    • Final Exam PT1

      Thu, Jul 18th

    • Final Exam PT2

      Fri, Aug 9th


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. The assignments are designed to be completed in the RBI Mac Lab in 4U15. You can work there according to the reservation plan. Of course, you can also use your own computer to work on the assignments. However, it will be your responsibility to ensure your program(s) run on the machines in the lab. Programs that do not run correctly on the lab machines 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. Priorirty to Master students of Computer Science, Media Informatics, Software Systems Engineering, and Technical Communication. Erasmus students can register during the first lab.

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

  • Register for the course in RWTHonline.
  • Sign the Declaration of Compliance and hand it in during the first lab.
  • Make sure that you have access to Moodle.

Registration results announcement on April, 9th.

Previous Offerings

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.