The Media Computing Project (Winter '22/'23): 

  Class Information

Lab Wed, 14:30 - 16:00
  Seminar Room (2350|222)
Language English
(BSc/MSc CS)

  Important Dates

Kickoff Wed, Oct 12th 14:30
Midterm Checkup Wed, Dec 14th 14:30
Presentations Wed, Feb 1st 14:30

The Media Computing Project is our hands-on lab ("Praktikum") for Master students in Computer Science. Build an interactive system with an unusual user interface in hard- and software that creates an awesome user experience! It's a great gateway into our lab's research and teaching focus on User Interface Design, Human–Computer Interaction, and Personal Fabrication.

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


This year, you will work in groups on the hardware, menu system, or games of our lab's FabArcade, an open-source retro gaming arcade. The FabArcade was created by students like you ten(!) years ago in 2012, and, amazingly, is still running at our lab. We're going to catapult it into the 20's! You will be creating software within the constraints of such a fixed arcade device, which poses interesting challenges for things like performance, controls, and multiplayer support. Your goal will be to make sure that basic Human–Computer Interaction (HCI) principles are still incorporated. During the semester, you will learn:

  • the role of HCI in software and especially game design;
  • how to use beginner-friendly ATmega-based Arduino microcontroller boards and the Arduino IDE to program interactive behavior in embedded software (the FabArcade uses an Arduino to read and process joystick and button inputs);
  • how to write fast-moving retro-style games on the Raspberry Pi.

After some quick introductions to these tools, you'll then have most of the semester to iteratively design, prototype, and test your ideas, whether it's a super-low-latency USB controller, an elegant menu system for players to select their favorite game, or a retro video game.

All Final Projects

Here are links to all the final group projects, complete with entertaining video trailers, documentation, and source code to download and try out the games on your computer. The games all chose PyGame for their implementation.


  • Kick-Off

    • Lab: Introduction and Schedule

      Wed, Oct 12th

  • Basic Knowledge

    • Lab: Prototypes and Pitch

      Wed, Oct 19th

  • Game Design

    • Lab: Game Design Principles and Resources

      Wed, Oct 26th

  • Project Management

    • Lab: Project Management and Softwares

      Wed, Nov 2nd

  • Hardware

    • Lab: Hardware and Design

      Wed, Nov 9th

  • Labtime

    • Lab: Project

      Wed, Nov 23th

  • Labtime

    • Lab: Project

      Wed, Nov 30th

  • Labtime

    • Lab: Project

      Wed, Dec 7th

  • Midterm Checkup

    • Lab: Midterm Checkup

      Wed, Dec 14th

  • Labtime

    • Lab: Project

      Wed, Dec 21st

  • Labtime

    • Lab: Project

      Wed, Jan 11th

  • Labtime

    • Lab: Project

      Wed, Jan 18th

  • Labtime

    • Lab: Project

      Wed, Jan 25th

  • Final Presentations

    • Lab: Final Presentations

      Wed, Feb 1st


Lab exercises and assignments will be graded on the following scale:

1.0 Exceptional work that clearly went above and beyond what was given on the exercise
2.0 Exercise was completed satisfactorily as per the assignment specification
3.0 Exercise was completed, but has some problems
4.0 Incomplete exercise
5.0 Little or no effort was put into the exercise


To take this course for credit, you must complete all assignments, lab exercises, and the final project. The grade of this course will be a combination of the assignments and final project. Note that you must achieve a cumulative score above 4.0 and complete all exercises to pass the course. You are also expected to be aware of, and abide by, the ethics policy for courses taught at our chair. Assignments/lab exercises will be assigned weekly. They are to be completed in groups as announced in the lab. If you do not complete the lab exercise during the scheduled lab section, you must complete it on your own time and submit it by the due date. Late assignments will be graded as a 5.0. Exceptions will be granted only for valid (i.e., documented medical) reasons.

Fields of Study

  • Informatik (M.Sc.)/Angewandte Informatik
  • Media Informatics (M.Sc.)
  • Software Systems Engineering (M.Sc.)

Course Allocation and Registration Guide

Number of SWS: P3 (Aachen)
ECTS Credits: 7 (CS) / 7 (MI)
Course language: English for all lectures, assignments, and exams

Only 32 seats are available for this course. To get a seat in this course, you have to register for it in SUPRA in the appropriate timeframe during the lecture period one semester before the course is scheduled to start.

Read the pdfEthical Guidelines for the Authoring of Academic Work (pdfEthische Richtlinien für das Verfassen wissenschaftlicher Arbeiten).

Previous Offerings

WS21/22 – WS20/21 – WS19/20 – SS19 – WS18/19 – SS18 – WS17/18SS17WS16/17SS16WS15/16SS15WS14/15SS14WS13/14SS13WS12/13SS12WS11/12SS11WS10/11SS09SS08SS07SS06

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.