Designing Interactive Systems 2 (2020)
Class Information
Lecture | Wed, 9:30 - 12:00 |
Zoom videoconferencing | |
Lab | Mon, 14:30 - 16:00 |
Zoom videoconferencing | |
Language | English |
Credits | 6 |
Exams
Midterm | Tue, Jun 9th, 8:15 |
Final PT1 | Fri, Jul 31st, 12:00 |
Final PT2 | Thu, Aug 20th, 12: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 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 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.
Contact
For any questions about the class, please contact Sebastian Hueber, M.Sc. (in English or German).
Syllabus
-
Introduction
-
Lecture 1: Introduction, Card's Design Space
Wed, Apr 8th
-
-
Window System Architecture
-
Lecture 2: Graphics Event Library, Base Window System
Wed, Apr 15th
-
Lab 1: Organization, Window System Architecture
Mon, Apr 20th
-
Lecture 3: Window Manager, User Interface Toolkit
Wed, Apr 22nd
-
Lab 2: Window Manager, UITK Event Handling
Mon, Apr 27th
-
-
X, Wayland & Smalltalk
-
Lecture 4: From X to Wayland, from Smalltalk to Squeak
Wed, Apr 29th
-
Lab 3: Working with Smalltalk
Mon, May 4th
-
-
macOS
-
Lecture 5: History of Macintosh Software, macOS Architecture
Wed, May 6th
-
Lab 4
Mon, May 11th
-
Lecture 6: Developing macOS Apps with Cocoa
Wed, May 13th
-
Lab 5: Developing macOS Widgets
Mon, May 18th
-
-
Windows
-
Lecture 7: Windows Architecture and UITKs
Wed, May 20th
-
Lab 6: Developing UWP Apps
Mon, May 25th
-
-
Cross-Platform Apps
-
Lecture 8: Design Cross-Platform Toolkits: Java & Qt
Wed, May 27th
-
Lab 7: Cross-Platform Application Challenges
Mon, Jun 8th
-
Midterm Exam
Tue, Jun 9th
-
-
Post-Desktop Systems
-
Lecture 9: Window Systems for Smartphones, TVs and Beyond
Wed, Jun 10th
-
Lab 8: Understanding Focus Navigation, AutoLayout in iOS Apps
Mon, Jun 15th
-
Lecture 10: Window Systems for Smartphones, TVs and Beyond
Wed, Jun 17th
-
-
Multimedia & Multimodal Interfaces
-
Lab 9: Decomposing User Interfaces
Mon, Jun 22nd
-
Lecture 11: Multimedia and Multimodality
Wed, Jun 24th
-
Lab 10: Exam Preparation
Mon, Jun 29th
-
Lecture 12: Multimedia and Multimodality
Wed, Jul 1st
-
-
Prototyping
-
Lecture 13: Software Prototyping
Wed, Jul 8th
-
Lecture 14: Hardware Prototyping
Wed, Jul 15th
-
-
Final Exams
-
Final Exam PT1
Wed, Jul 31st
-
Final Exam PT2
Sat, Aug 20th
-
Grading
Your grade will be calculated as follows:
Assignments | 40% |
Midterm | 25% |
Final Exam | 35% |
Assignments
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. The registration in RWTHonline opens March, 15th.
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]. - Make sure that you have access to Moodle.
Registration results announcement on the morning after the first Lab (April, 21st).
Previous Offerings
SS19 - SS18 - SS17 - SS16 - SS15 - SS14 - SS13 - SS12 - SS11 - SS10 - SS09 - SS08 - SS07 - SS06 - SS05 - SS04