Hasso-Plattner-InstitutSDG am HPI
Hasso-Plattner-InstitutDSG am HPI

Programming Experience (Wintersemester 2021/2022)

Lecturer: Prof. Dr. Robert Hirschfeld (Software-Architekturen) , Dr. Jens Lincke (Software-Architekturen) , Marcel Taeumel (Software-Architekturen) , Patrick Rein (Software-Architekturen) , Eva Krebs (Software-Architekturen) , Stefan Ramson (Software-Architekturen) , Tom Beckmann (Software-Architekturen)

General Information

  • Weekly Hours: 4
  • Credits: 6
  • Graded: yes
  • Enrolment Deadline: 01.10.2021 - 31.10.2021
  • Teaching Form: Project seminar
  • Enrolment Type: Compulsory Elective Module
  • Course Language: German
  • Maximum number of participants: 20

Programs & Modules

IT-Systems Engineering MA
Data Engineering MA
  • CODS-Konzepte und Methoden
  • CODS-Techniken und Werkzeuge
  • CODS-Spezialisierung
  • SCAL-Konzepte und Methode
  • SCAL-Techniken und Werkzeuge
  • SCAL-Spezialisierung


Programming Experience (PX) is a subset of User Experience (UX) focusing on software developers, which are users of their programming tools and environments. Contrary to end-users, developers have the capability to build their own tools and systems, and to adapt them for their needs. In self-sustaining systems, such as Lively4 or Squeak/Smalltalk, these tools can be adapted while they are being used.

In this seminar, the participants will create or adapt tools and systems in self-sustaining environments with a focus on the programming experience. Topics of interests are programming tools for exploratory programming, babylonian programming, and polyglot programming.


In-depth knowledge in at least one dynamic programming language.
Knowledge of JavaScript or Smalltalk and associated technologies (e.g. ASTs) helpful, but not required.


Die Themenvorstellung wird hybrid in Präsenz (Di, 26.10. 15:15 HS 3) und in Zoom stattfinden. 

Join Zoom Meeting

Meeting ID: 694 9387 3887
Passcode: 21736997


Grading will take place based on the work on one of the projects. To complete the course, the following requirements are to be fulfilled:

To obtain the six credits, the following requirements are to be fulfilled:

  • Work on a project topic, regular demonstration of progress, quality of code (50%)
  • Final presentation of results (30%)
  • Documentation of topic, its background, results, and software design decisions (20%)

One week before the final presentation, students will submit a draft of their current slides for feedback. One day before the final presentation, students will submit

  • sources (e.g. PPTX) of the presentation slides,
  • a PDF version of the presentation,
  • current state of the project’s source code, and
  • a short screencast (mp4)

All source code created during this seminar will be licenced under the MIT license.