abbrevations:
  type:
    VB:
      de: Vorlesung/Bachelor
      en: Lecture/Bachelor
    VM:
      de: Vorlesung/Master
      en: Lecture/Master
    SB:
      de: Seminar/Bachelor
      en: Project Seminar/Bachelor
    SM:
      de: Seminar/Master
      en: Project Seminar/Master
    BP:
      de: Bachelorprojekt
      en: Bachelor Project
    MP:
      de: Masterprojekt
      en: Master Project
    MA:
      de: Masterarbeit
      en: Master's Thesis
  task:
    s: 
      de: Studierendenbetreuung
      en: Student supervision
    V:
      de: Halten ausgewählter Vorlesungen
      en: Selected lectures
    VV:
      de: Halten mehrerer Vorlesungen
      en: Multiple lectures
    UU:
      de: Übungsbetrieb
      en: Coordinating and conducting exercises
    T:
      de: Themenstellung
      en: Topic preparation

terms:
- 
  term: 2024/2025
  courses:
  - type: VB
    name:
      de: Softwarearchitektur
      en: Software Architecture
    tasks: [s]
    annual: true

- 
  term: 2024
  courses:
  - type: MA
    name: '“Extreme Pro-gaming: Augmenting Software Engineering Courses with Educational Board Games”'
    tasks: [s, T]
    student: Luc Prestin
    submission: June 30, 2024
  - type: VM
    name: Rapid Prototyping for Educational Games
    tasks: [s, VV, T]
  - type: SM
    name:
      de: Softwaredesign
      en: Software Design
    tasks: [s]
  - type: VB
    name:
      de: Softwaretechnik I
      en: Software Engineering I
    tasks: [s, V]
    annual: true

- 
  term: 2023/2024
  courses:
  - type: MA
    name:
      en: '“Learning About Programming System Design From Board Game Rulebooks”'
      de: '“Was Wir Aus Brettspiel-Regelbüchern Über Das Design Von Programmiersystemen Lernen Können”'
      pref: en
    tasks: [s, T]
    student: Lina Urban
    submission: December 31, 2023
  - type: SM
    name: Future of Programming
    tasks: [s]
  - type: VB
    name:
      de: Rapid Prototyping in der Spieleentwicklung
      en: Rapid Prototyping in Game Development
    tasks: [T, s]
  - type: VB
    name:
      de: Softwarearchitektur
      en: Software Architecture
    tasks: [s]
    annual: true

- 
  term: 2023
  courses:
  - type: SM
    name: Programming Experience
    tasks: [s]
  - type: SM
    name: Tools for Game Development
    tasks: [T, s]

- 
  term: 2022/2023
  courses:
  - type: SM
    name:
      de: Programmieren in Virtual Reality
      en: Programming in Virtual Reality
    tasks: [s]
  - type: VB
    name:
      de: Softwarearchitektur
      en: Software Architecture
    tasks: [s]
    annual: true

- 
  term: 2022
  courses:
  - type: SM
    name: Reverse Engineering
    tasks: [s]
  - type: VB
    name:
      de: Softwaretechnik I
      en: Software Engineering I
    tasks: [s, VV]
    annual: true

- 
  term: 2021/2022
  courses:
  - type: MA
    name:
      en: '“Extensible Tooling for Reactive Programming Based on Active Expressions”'
      de: '“Erweiterbare Werkzeuge für Reaktive Programmierung Basierend auf Active Expressions”'
      pref: en
    tasks: [s, T]
    student: Markus Brand
    submission: February 28, 2022
  - type: SM
    name:
      de: Visual Abstractions for Framework, Tool and Language Design
      en: Visual Abstractions for Framework, Tool, and Language design
    tasks: [s]
  - type: SM
    name:
      de: Programming Experience
      en: Programming Experience
    tasks: [s]
  - type: VB
    name:
      de: Softwarearchitektur
      en: Software Architecture
    tasks: [s]
    annual: true

- 
  term: 2021
  courses:
  - type: BP
    name: “Tool Support for Collaborative Creation of Interactive Storytelling Media”
    tasks: [s]
  - type: SM
    name:
      de: Live Programming
      en: Live Programming
    tasks: [s]
  - type: SM
    name:
      de: Software-Design
      en: Software Design
    tasks: [s]
  - type: VB
    name:
      de: Softwaretechnik I
      en: Software Engineering I
    tasks: [s, VV]
    annual: true

- 
  term: 2020/2021
  courses:
  - type: MA
    name:
      en: '“Call Graphs for Live Programming: Implementing Call Tracing in Babylonian/S based on a Survey of Property Extraction Techniques for Dynamic Analysis”'
      de: '“Call Graphs für Live Programming: Call Tracing implementiert in Babylonian/S basierend auf einem Überblick von Techniken zur Datenextraktion für Dynamische Analyse”'
      pref: en
    tasks: [s]
    student: Christian Maximilian Flach
    submission: March 1, 2021
  - type: BP
    name: '“Tool Support for Collaborative Creation of Interactive Storytelling Media”'
    tasks: [s]
  - type: SM
    name:
      de: 'Programmiersprachen: Konzepte, Werkzeuge und Umgebungen'
      en: Programming Language Concepts, Tools, and Environments
    tasks: [s]
  - type: VB
    name:
      de: Softwarearchitektur
      en: Software Architecture
    tasks: [s]
    annual: true

- 
  term: 2020
  courses:
  - type: SM
    name:
      de: Endbenutzer Entwicklung
      en: End-user Development
    tasks: [s]
  - type: SM
    name:
      de: Code Repository Mining
      en: Code Repository Mining
    tasks: [s]
  - type: VB
    name:
      de: Softwaretechnik I
      en: Software Engineering I
    tasks: [s, VV]
    annual: true

- 
  term: 2019/2020
  courses:
  - type: SM
    name:
      de: Reactive Programming
      en: Reactive Programming
    tasks: [T, s]
  - type: VB
    name:
      de: Softwarearchitektur
      en: Software Architecture
    tasks: [s]
    annual: true

- 
  term: 2019
  courses:
  - type: MP
    name: '“Design and implementation of a live programming tool set for heterogeneous simulations in Squeak/Smalltalk”'
    tasks: [s, T]
  - type: BP
    name: “Blocks to the Rescue”
    tasks: [s, T]
  - type: SM
    name:
      de: Software-Design
      en: Software Design
    tasks: [T, s]
  - type: VB
    name:
      de: Softwaretechnik I
      en: Software Engineering I
    tasks: [s, VV]
    annual: true

- 
  term: 2018/2019
  courses:
  - type: BP
    name: “Blocks to the Rescue”
    tasks: [s, T]
  - type: SM
    name:
      de: Reverse-Engineering
      en: Reverse Engineering
    tasks: [T, s]
  - type: VB
    name:
      de: Softwarearchitektur
      en: Software Architecture
    tasks: [s]
    annual: true
  - type: VB
    name:
      de: Einführung in die Programmiertechnik I
      en: Introduction to Programming Technology I
    tasks: [s]

- 
  term: 2018
  courses:
  - type: BP
    name: '“GS/Squeak: Smalltalk as a language implementation platform”'
    tasks: [s]
  - type: SM
    name:
      de: Reaktives Programmieren
      en: Reactive Programming
    tasks: [T, s]
  - type: SM
    name:
      de: Programming Experience / Programmierumgebungen
      en: Programming Experience
    tasks: [s]
  - type: SM
    name:
      de: Machine Learning on Code Repositories
      en: Machine Learning on Code Repositories
    tasks: [s]
  - type: VB
    name:
      de: Softwaretechnik I
      en: Software Engineering I
    tasks: [s, VV]
    annual: true

- 
  term: 2017/2018
  courses:
  - type: MA
    name:
      en: '“Composition of Modular Language Extensions for JavaScript”'
      de: '“Komposition von modularen Spracherweiterungen für JavaScript”'
      pref: en
    tasks: [s, T]
    student: Philipp Otto
    submission: December 1, 2017
  - type: BP
    name: '“GS/Squeak: Smalltalk as a language implementation platform”'
    tasks: [s]
  - type: SM
    name:
      de: Kontextorientiertes Programmieren
      en: Context-oriented Programming
    tasks: [T, s]
  - type: SM
    name: Web-based Development Environments
    tasks: [T, s]
  - type: SM
    name: Code Repository Mining
    tasks: [s]
  - type: SB
    name: 'Programming Languages: Design and Implementation'
    tasks: [s]
  - type: VB
    name:
      de: Softwarearchitektur
      en: Software Architecture
    tasks: [s]
    annual: true

- 
  term: 2017
  courses:
  - type: SM
    name:
      de: 'Programmiersprachen: Konzepte, Werkzeuge und Umgebungen'
      en: Programming Language Concepts, Tools, and Environments
    tasks: [T, s]
  - type: VB
    name:
      de: Softwaretechnik I
      en: Software Engineering I
    tasks: [s, VV]
    annual: true

- 
  term: 2016/2017
  courses:
  - type: SM
    name: Live Programming Systems
    tasks: [T, s]
  - type: SM
    name: Software Design
    tasks: [T, s]
  - type: SB
    name:
      de: Softwaremodularität
      en: Software Modularity
    tasks: [s]
  - type: VB
    name:
      de: Softwarearchitektur
      en: Software Architecture
    tasks: [s]
    annual: true

- 
  term: 2016
  courses:
  - type: SM
    name: Web-based Development Environments
    tasks: [T, s]
  - type: VB
    name:
      de: Softwaretechnik I
      en: Software Engineering I
    tasks: [s, VV]
    annual: true

- 
  term: 2015/2016
  courses:
  - type: SM
    name: Software Design
    tasks: [T, s]
  - type: VB
    name:
      de: Softwarearchitektur
      en: Software Architecture
    tasks: [s]
    annual: true
  - type: VB
    name: Einführung in die Programmiertechnik I
    tasks: [s]

#- 
#    term: 2015
#    courses:
#- 
#    term: 2014/2015
#    courses:

- 
  term: 2010/11–2014
  courses:
  - type: VB
    name: Modellierung I und Modellierung II
    tasks: [s]
    annual: true

annualLectures:
- terms: 2016–22, 2024
  type: VB
  name:
    de: Softwaretechnik I
    en: Software Engineering I
  tasks: [s]
- terms: 2015/16–2025 # actually, its 2015/16 -- 2024/25
  type: VB
  name:
    de: Softwarearchitektur
    en: Software Architecture
  tasks: [s]
- terms: 2010/11–2014
  type: VB
  name: 
    de: Modellierung I und Modellierung II
    en: Modeling I and Modeling II
  tasks: [s]

#%- 
#    term: 2014
#    courses:
#%\VB{Modellierung II}
#tasks: [s]
#%- 
#    term: 2013/2014
#    courses:
#%\VB{Modellierung I}
#tasks: [s]
#%- 
#    term: 2013
#    courses:
#%\VB{Modellierung II}
#tasks: [s]
#%- 
#    term: 2012/2013
#    courses:
#%\VB{Modellierung I}
#tasks: [s]
#%- 
#    term: 2012
#    courses:
#%\VB{Modellierung II}
#tasks: [s]
#%- 
#    term: 2011/2012
#    courses:
#%\VB{Modellierung I}
#tasks: [s]
#%- 
#    term: 2011
#    courses:
#%\VB{Modellierung II}
#tasks: [s]
#%- 
#    term: 2010/2011
#    courses:
#%\VB{Modellierung I}
#tasks: [s]
