Bachelor/Master Project: Software Engineering (WS 19/20)

The topic of this master project is “Persistent data structures”.

Imperative data structures are typically ephemeral: an update modifies the structure in-place; after the update, the original version of the data structure is no longer available. By contrast, purely functional data structures are persistent: when a structure is updated, both the old and the new version of the data structure are available for further processing. Even though persistent data structures are more flexible than their ephemeral counterparts, they can often be implemented within the same asymptotic time bounds.

The aim of the project will be to implement a selection of persistent data structures and to evaluate their performance.

Module Information

  • Module: “Software Engineering (Project)” (Bachelor: 89-3045, Master: 89-3282), or the respective software engineering seminar in the old study regulations.
  • Presence Hours: project (4P)
  • Credit Points: 8 CP (corresponds to 240 working hours)
  • Level: Master (Advanced Level)
  • Language: English
  • Lecturer: Ralf Hinze, Annette Bieniusa, Peter Zeller


The project will take place during the lecture period of the winter term ’19/’20 (starting at 28.10.2019).

  • Kick-off meeting: Wednesday, November 6 at 11:45 in Room 34-420
  • The overall workload is 240 working hours (= 17 hours per week for 14 weeks during the semester).



Please register before October 21, 2019 via email with

Please include the following information in your registration:

  1. Name
  2. Matriculation number
  3. Field of studies
  4. Which programming language would you prefer for the project, if you could choose it yourself?
  5. Some information on your skills, so that we can better plan the project:
    • List of courses that you attended at TU KL in the field of Software Engineering, Software Technology and/or Algorithms
    • Short description of your programming background (technologies, open-source projects, course work, etc. preferably with links to github repositories)

The number of places for the project is limited and will be assigned on a “first come, first served” basis.


In the case of further questions, please contact:

  • Peter Zeller (