BSc Practical course - Visualization of Virtual Machines (IN0012)

Advisors Dr. Michael Petter
Location MI 01.13.010
Date daily, Nov 7th - Nov 25th 9:00-17:00
Module IN0012
Pre-meeting There will be no pre-meeting in the end of summer semester. All information will be given on this website.


This course is about designing webapplications to support the learning process for the lecture Virtual Machines (IN2040) by animation of the ongoing technical processes that drive virtual machines.

General Concept

This course is held as a blocked course in presence for three weeks. During this time, You are expected to be present to join the programming efforts for the equivalent of at least 10x7h. Since you might be required to attend other courses, you can strech this over the aforementioned period.

We will work with Typescript in this course, developing a browser application to replace the aging VAM tool. We will develop our own code, benefitting from some openly available libraries as eg.:

  • JointJS for animating the ongoings of each virtual machine internally
  • parser-generator for bridging the gap between sourcecode and machinecode/interpreter
  • Prism.js for displaying nicely highlighted code snippets

During the course, we will split up in teams. Each team will focus one virtual machine from the lecture. Each will start by preparing an introductory talk in form of a presentation to introduce their virtual machine. Then, the team will focus on implementation of a headless (no graphics attached) interpreter for their virtual machine, extend that to a graphical representation consisting of a single-step debugger like interface, and a graphical representation of the internal VM memory, and possibly a compiler from a high-level language to the VM code. If there is still potential, we can even make that in to a WebIDE with online Debugger.