projects:
  - name: Lively4
    key: L4
    subProjects:
    - VivideJS
    - X-Ray
    - Lively Connectors
    contributors: 79 people
    duration: 9 years #since 28. Sep. 2015
    img: lively4.png
    description: Lively4 is a web-based development environment and application platform. It is self-sustaining and live in that applications and tools to create them exist in one environment. Both can be adapted while being used. Lively4's community embraces a wiki-like spirit, meaning everybody is encouraged to change aspects of Lively4 to suit their needs and share their adaptations with others.
  # Dev Tools adaptable on-the-fly
    tasks:
    - Designed core features of Lively4 and contributed to the initial version, supervising a team of 10 people
    - Oversaw numerous teams of master students working on various applications in or core aspects of Lively4 
    - Co-maintained the project for over 9 years

  - name: Active Expressions
    key: AEs
    subProjects:
    - Signals
    - Zone-based Layer Activation
    - ContextJS
    - rILA
    - ROQs
    - Reactive Debugger
    contributors: 18 people
    duration: 8 years
    img: active-expressions-minimal-overview.png
    description: "Active Expressions allow developers to react to changes in any object-oriented expression in state-of-the-art languages. In contrast to most reactive programming concepts, Active Expressions leverage the host language's existing expressiveness and build upon it: Developers use ordinary variables, properties, and expressions to specify dependencies."
    tasks:
    - Designed core aspects of Active Expressions and implemented multiple versions in JavaScript
    - Oversaw 4 teams of master students to work on other implementations in Python, Squeak/Smalltalk, and JavaScript
    - Supervised 12 Students to work on supporting technologies, including debugging tools, editor watch integrations, and graphical connectors

  - name: Floom
    key: Floom
    contributors: 1 person
    duration: 2 years
    img: floom_example_black.png
    description: Floom is an interactive fluid simulation, implementing the hybrid Material Point Method using both particles and a grid. Floom supports different computational models and multiple materials. On the fly, you can dynamically apply forces, add or remove particles, change material parameters, and even switch between models.
    tasks:
    - Designed and implemented the simulation, editing tools, and debug support

  - name: Plugin Explorer and Debugger
    key: PE
    subProjects:
    - Plugin Explorer
    - Debugging Compilers Back-in-Time
    contributors: 5 people
    duration: 2 years
    img: plugin-explorer-trace-viewer.png
    description: The Plugin Explorer is a live editor specifically designed for writing and adapting source code transformations, here <a href='https://babeljs.io/'>babel.js</a> plugins. Developers can visually explore and correlate input and output examples and apply instant changes. Further, a back-in-time debugger allows developers to inspect the entire transpilation process of an example input.
    tasks:
    - Designed core features and workflows for the Plugin Explorer
    - Co-implemented and maintained the project
    - Supervised corresponding master students' projects

  - name: Pronto
    key: Pronto
    contributors: 13 people
    duration: 2 years #first commit 4 Apr 2023
    img: pronto-example-magnet.png
    description: Pronto is a rapid prototyping tool for designing game mechanics based on the Godot game engine. It fosters quick assembly of game logic by overlaying the game scene with visual behaviors, which can be connected using drag-and-drop interactions.
    tasks:
    - Co-designed core features of Pronto
    - Supervised 5 teams of master students to iteratively improve Pronto

  # d3 Bundleview
  # 1 person, 1/2 year

  # Babylonian/JS
  # 4 people, 2 years

reviews:
  - COLA-D-24-00068:
    - paper: 'A Layer Activation Mechanism for Asynchronous Operations in Context-oriented Programming: A JavaScript Implementation'
    - where: Journal of Computer Languages
    - when: 2024

academicCommunityService:
  abbreviations:
    PC:
      de: Mitglied im Programmkomitee
      en: Program Committee Member
    WT: Web Technology Chair
    DT: Demos Chair
    RW: Gutachter
    
    EC: European Conference on Object-Oriented Programming (ECOOP)
    MM: International Conference on Modularity (MODULARITY)
    PR: International Conference on the Art, Science, and Engineering of Programming (‹Programming›)
    IC: International Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS)
    WI: 'IEEE International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE),\\Validation of Safety Critical Collaboration Systems (VSC) track'
    WII: 'IEEE International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE),\\Validating Software for Critical Systems (VSC) track'
    COP: ACM International Workshop on Context-Oriented Programming and Advanced Modularity (COP)
    SR: ACM Student Research Competition Grand Finals

  reviews:
    - year: 2024
      what: Journal of Computer Languages
      short: COLA
    - year: 2022
      what: European Conference on Object-Oriented Programming
      short: ECOOP
    - year: 2021
      what: Symposium on Visual Languages and Human Centric Computing
      short: VL/HCC
    - year: 2020
      what: Conference on Object-Oriented Programming, Systems, Languages, and Applications
      short: OOPSLA
    - year: 2020
      what: International Workshop on Context-Oriented Programming and Advanced Modularity
      short: COP
    - year: 2019
      what: Workshop on Reactive and Event-based Languages & Systems
      short: REBLS
    - year: 2018
      what: Next Generation Programming Paradigms and Systems
      short: NGPS
    - year: 2018
      what: Flexible MDE Workshop
      short: FlexMDE
    - year: 2018
      what: Dynamic Languages Symposium
      short: DLS
    - year: 2018
      what: International Workshop on Digital Enterprise Engineering and Architecture
      full: 4th International Workshop on Digital Enterprise Engineering and Architecture
      short: IDEA
      url: http://bis.ue.poznan.pl/bis2018/workshops/idea/
    - year: 2018
      what: International Workshop on Context-Oriented Programming
      short: COP
    - year: 2018
      what: European Conference on Object-Oriented Programming
      short: ECOOP
    - year: 2017
      what: Symposium On Applied Computing
      short: SAC
    - year: 2017
      what: The Art, Science, and Engineering of Programming (Vol. 1)
      short: Programming
    - year: 2017
      what: Workshop on Liquid Multi-Device Software
      short: LiquidSoftware

  tasks:
    - 
      year: 2020
      position:
        de: Herausgeber (editor)
        en: Editor
      what: Proceedings of the 2020 Joint Workshop of the German Research Training Groups in Computer Science
      shorthand: Dagstuhl
    - 
      year: 2020
      position:
        de: Organisator
        en: Organizer
      what: 2020 Joint Meeting of the German Research Training Groups
      shorthand: Dagstuhl
    - 
      year: 2020
      position: PC
      what: COP
      shorthand: COP
    - 
      year: 2018
      position:
        de: Organisator
        en: Organizer
      what: 13. HPI Symposium on Future Trends in Service-oriented Computing
      shorthand: HPI FutureSOC

skills:
  paradigms:
    - object-oriented programming
      RP
      Constraint Programming
      Data Bases
      Modularity/Cop/Architecture-oriented Languages??
  technologies:
    - 
      - Programming Languages
      - Expert:
        - JavaScript
        Advanced:
        - Smalltalk
        Intermediate:
        - Python
        - GDScript
        - Java
        - SQL
        - C++
        Basic:
        - Ruby
    - 
      - Frameworks and Technologies
      - Expert:
        - Babel.js
        - CodeMirror
        - HTML5
        - CSS3
        Advanced:
        - Web Components
        - three.js
        - d3.js
        - jspdf
        Intermediate:
        - Godot
        - openai API
        Basic:
        - Tree-sitter
        - Unity
    - 
      - Tools
      - Expert: []
        Advanced: []
        Intermediate:
        - Git
        - Travis CI
        Basic:
        - GitHub Actions
  methodologies: 
    # - Technical Skills <- already above
    - 
      - Software Engineering Methodology
      - 
        - Agile Processes
        # - Agile software development
        - Extreme Programming
        - Scrum
        - Kanban
        - Testing
        - Test-driven Development # (practicing since 2011)
        - Debugging
          # - Back-in-Time Debugging
        - Reverse Engineering
        - Refactoring
        - Requirements Engineering
    - 
      - Research Methodology
      - 
        - Scientific Process
          # - auch für Ursachenanalyse in code, etc.
        - Literature Surveys # Literaturrecherche
        # - Surveying
        - Emperical Evaluation
        - User Studies
        - Statistical Analysis # Statistische Auswertungen
        - Scientific Writing
        - Presenting Complex Ideas
          # - Erklären/zusammenfassen komplexer Sachverhalte
          # - Presentation skill/ in particular visuelle Aufbereitung komplexer Inhalte
    - 
      - Design Methodology
      - 
        # - Design Methodologies
        - Rapid Prototyping
        - Iteration
        - Design Thinking Process (Contextual Inquiry, Ideation, Prototyping, User Testing, Evaluation)
        - Interviewing
        - Questionaires
        - Qualitative and Quantitative Analyses
        - Game Design
        # - Vast knowledge about holostic hci including visual Interface design, prog. Lang design, tutorialization
        # - Experience in building and iterating with human customers involved
    # - Soft Skills
  mindset:
    - Continuous self-improvement by making crafting and adapting my own tools a part of the process
    - Eat your own dogfood mentality to help create meaningful things
    #- also, experience other people's work first-hand
    - Drive to acquire new skills and a deep understanding of various domains
    # - Drive to learn
    # - Tiefgehendes Verständnis von Themen erarbeiten
    # - Aneignen neuer Skills
    #   - Faszination neue Inhalte zu erfassen und einzuordnen
    #   - Eigenständige Einarbeitung in neue Themengebiete

  meta:
    #Stefan Ramson is a doctoral researcher in the Software Architecture Group of the Hasso Plattner Institute at the University of Potsdam.
    # -  He regards the design of programming systems as the intersection of notation, interface design, psychology, and ergonomics.
    # -  His current research interests include live and exploratory programming systems, alternative input methods, visual languages, and natural programming.
    #Meta Skills auf Lebenslauf
    - Teaching
      - Advanced teaching methods
      - Managen von größeren Personengruppen und dabei den Überblick behalten
      - Organizing courses
      - Terminliches Vorausplanen
    
    - Kritisches Hinterfragen
    - Hinterfragen von status quo
    - Problem Solving
    - 'Superpower: I can read books in this day and age'
    
    - Programmier-Schmerzresistenz (am ball bleiben)
    - Perseverance even im Anblick großer Challenges und über einen langer Zeitraum
    
    - Differenzierte Betrachtungsweise von Dingen/Aufgaben (nicht schwarz/weiß richtig/falsch denken, die welt ist komplizierter)
    
    - 'Observational skills: see/analysing/identifying faults in designs and processes'
    
    - Gemeinsamkeiten across different domains/wissensshaftsfelder erkennen und nutzen (z.B. alles ist Design und wir können Insights aus Design in andere Felder übertragen, wie Gestalt-Prinziple zu Code Formatting)
    
    - Aware of how little I/we know

    - I can finish things (derek yu article on finish games)
    
    - Wissen (what is this category?)
      - Statistics, data science, machine learning, large language models, generative AI
      - Databases, SQL, ORMs, and performance (PostgreSQL)
      - Modellierung?
      - Meta Programming, Program analysis, compiler adaptation

  languages:
    Deutsch - Muttersprache
    Englisch - Fließend %(\textsc{cefr} level C2/C1?)
    Russisch - Grundlagen

awardsAndScholarships:
  - 
    time: '2024'
    what: "<i>Editors' Choice Award 2024</i> der Fachzeitschrift “The Art, Science, and Engineering of Programming” der AOSA, Inc."
    more:
      de: "für den Artikel <i>“Broadening the View of Live Programmers: Integrating a Cross-Cutting Perspective on Run-Time Behavior into a Live Programming Environment”</i>"
      en: "for the article <i>“Broadening the View of Live Programmers: Integrating a Cross-Cutting Perspective on Run-Time Behavior into a Live Programming Environment”</i>"
    from: AOSA, Inc.
  - 
    time: 2019–present # 'since 2019'
    what:
      de: Stipendium des HPI Fachgebiets Softwarearchitekturen
      en: Scholarship of the HPI Software Architecture Group
    from:
      de: Hasso-Plattner-Institut
      en: Hasso Plattner Institute
  - 
    time: '2015–2019'
    what:
      de: Stipendium des HPI Forschungskollegs für “Service-Oriented Systems Engineering”
      en: Scholarship of the HPI Research School for “Service-Oriented Systems Engineering”
    from:
      de: Hasso-Plattner-Institut
      en: Hasso Plattner Institute

education:
  - 
    when:
      de: 2015–heute # seit 2015 # -- März 2024
      en: 2015–present # since 2015
    what:
      de: Promotionsstudium
      en: Ph.D. Student
    where: 
      de: Hasso-Plattner-Institut, Digital Engineering Fakultät, Universität Potsdam
      en: Hasso Plattner Institute, Digital Engineering Faculty, University of Potsdam
    more:
      -
       de: '**Thema:** Meine Doktorarbeit schlägt Active Expressions vor, eine Spracherweiterung, die Reaktivität zu modernen Programmiersprachen hinzufügt. Mit Active Expressions als neue Abstraktion zur Erkennung von Änderungen können Entwickler:innen von reaktiven Programmierkonzepten deren Integration in die Host-Sprache vereinfachen und sich darauf konzentrieren, wie auf Änderungen reagiert werden soll.'
       en: "**Topic:** In my thesis, I present Active Expressions, a language extension that adds reactive capabilities to state-of-the-art programming languages. Active Expressions provide a shared foundation for reactivity in object-oriented languages, allowing system developers to create novel reactive programming concepts without having to deal with the technical necessities of change detection."
      # Active Expressions leverage object-oriented expressions as a familiar concept to define reactive relationships. With Active Expressions, system developers can easily create novel reactive programming concepts without dealing with the technical necessities of change detection.
      #  By using ordinary expressions, developers can define dependencies in a familiar way and react to any state change affecting that expression's result. Active Expressions add reactivity.
      - 
        de: '**Titel der Doktorarbeit:** “Active Expressions: Basic Building Blocks for Reactive Programming”'
        en: '**Doctoral Thesis:** “Active Expressions: Basic Building Blocks for Reactive Programming”'
      - 
        de: '**Betreuer:** Robert Hirschfeld, Hasso-Plattner-Institut, Universität Potsdam'
        en: '**Advisor:** Robert Hirschfeld, Hasso Plattner Institute, University of Potsdam'
  - 
    when: Master 2015
    what: M.&VeryThinSpace;Sc. IT-Systems Engineering
    where: 
      de: Hasso-Plattner-Institut, Universität Potsdam
      en: Hasso Plattner Institute, University of Potsdam
    more:
      - 
        de: '**Note:** 1,1 (mit Auszeichnung)'
        en: '**Grade:** 1.1 (distinction)'
      - 
        de: '**Studienumfang:** Software-Design, Modulsysteme, Dependable Systems, Parallele Programmierung, Eingebettete Systeme, Robotics, Regelungs- und Steuerungstechnik, Data Mining and Cleansing, Probabilistic Reasoning, Softwarevisualisierung, IT-Recht, Kommunikation, Leadership'
        en: '**Coursework:** Software Design, Module Systems, Dependable Systems, Parallel Programming, Embedded Operating Systems, Robotics, Control Engineering, Data Mining and Cleansing, Probabilistic Reasoning, Software Visualization, IT Law, Communication, Leadership'
      - 
        de: '**Titel der Masterarbeit:** “Dynamische Constraints und Reaktives Verhalten – Werkzeuge zur Praktischen Anwendung von Objektconstraintprogrammierung”'
        en: '**Thesis Topic:** “Scoped Constraints and Reactive Behavior – Towards a practical Constraints Programming Tool”'
      - 
        de: '**Note der Masterarbeit:** 1,0'
        en: '**Grade of Thesis:** 1.0' #A+
      - 
        de: '**Masterprojekt:** Piggyback Profiling: Metadata for Query Results'
        en: '**Final Year Project:** Piggyback Profiling: Metadata for Query Results'

  - 
    when: Bachelor 2012
    metaTag: bachelor
    what: B.&VeryThinSpace;Sc. IT-Systems Engineering
    where: 
      de: Hasso-Plattner-Institut, Universität Potsdam
      en: Hasso Plattner Institute, University of Potsdam
    more:
      - 
        de: '**Note:** 1,3 (sehr gut)'
        en: '**Grade:** 1.3 (very good)'
      - 
        de: '**Studienumfang:** Softwarearchitektur, Softwaretechnik, Modellierung, Mathematik, Betriebssysteme, Datenbanksysteme, Designing Interactive Systems, Internet-Technologien, Grundlagen digitaler Systeme, Theoretische Informatik, 3D-Computergrafik, Künstliche Intelligenz, Modellgetriebene Softwareentwicklung, Prozessorientierte Informationssysteme, Ökonomische und rechtliche Grundlagen'
        en: '**Coursework:** Software Architecture, Software Technology, Modeling, Mathematics, Operating Systems, Database Systems, Designing Interactive Systems, Internet-Technologies, Foundations of Digital Systems, Theoretical Foundations, 3D-Computer Graphic, Artificial Intelligence, Modeldriven Software Development, Process oriented Information Systems, Economic and Legal Bases'
        hideInPrint: true
      - 
        de: '**Titel der Bachelorarbeit:** “Analyse und Vergleich von WebGL-Frameworks zum webbasierten Rendering massiver Graphstrukturen”'
        en: "**Bachelor's Thesis Topic:** “Analysis and Comparison of WebGL Frameworks for Web-Based Rendering of Massive Graph Data-Structures”"
        hideInPrint: true
      - 
        de: '**Note der Bachelorarbeit:** 1,0'
        en: "**Grade of Bachelor's Thesis:** 1.0"
        hideInPrint: true
      -
        de: '**Bachelor-Projekt:** “Graphvisualisierungs-Framework zur Exploration von Softwareanalysedaten”'
        en: '**Final Year Project:** “Graphvisualization-Framework for the Exploration of Software Analysis Data”'
  - 
    when: Abitur 2009
    metaTag: abi
    what: 
      de: Allgemeine Hochschulreife “Abitur”
      en: Higher Education Entrance Certificate “Abitur” #German Abitur (equivalent to A-levels)
    where: Johann-Wolfgang-von-Goethe-Gymnasium Pritzwalk
    more:
      -
        de: "**Leistungskurse:** Mathematik, Physik"
        en: Advanced Courses in Mathematics and Physics
        hideInPrint: true
      - 
        de: '**Note:** 1,0 (sehr gut)'
        en: '**Grade:** 1.0 (distinction)'

education_courses:
  bachelor:
    - 
      de: Lehrveranstaltungen nach Themenkomplexen
      en: Courses by Topics
    - 
      de: Freie Themen
      en: Open Subjects
    - 
      de: Fachspezifisches Englisch (Level 1)
      en: Subject-specific English (Level 1)
    - 
      de: Soft Skills Kolloquium I
      en: Soft Skills Colloquium I
    - 
      de: Soft Skills Kolloquium II
      en: Soft Skills Colloquium II
    - 
      de: Studienbegleitendes Seminar
      en: Seminar of Study Course
    - 
      de: Grundlagen in IT-Systems Engineering
      en: Basics of IT-Systems Engineering
    - 
      de: Einführung in die Programmiertechnik I
      en: Programming Concepts I
    - 
      de: Einführung in die Programmiertechnik II
      en: Programming Concepts II
    - 
      de: Modellierung I
      en: Modeling I
    - 
      de: Modellierung II
      en: Modeling II
    - 
      de: Mathematik
      en: Mathematics
    - 
      de: Mathematik I - Diskrete Strukturen und Logik
      en: Discrete Structures and Logic
    - 
      de: Mathematik II
      en: Mathematics II
    - 
      de: Ökonomische und rechtliche Grundlagen
      en: Economic and Legal Bases
    - 
      de: Betriebswirtschaftslehre für Ingenieure I
      en: Introduction to General Management I
    - 
      de: Betriebswirtschaftslehre für Ingenieure II
      en: Introduction to General Management II
    - 
      de: Recht für Ingenieure I
      en: Law for Engineers I
    - 
      de: Recht für Ingenieure II
      en: Law for Engineers II
    - 
      de: Softwarebasissysteme
      en: Basic Software Systems
    - 
      de: Betriebssysteme
      en: Operating Systems
    - 
      de: Datenbanksysteme
      en: Database Systems
    - 
      de: Designing Interactive Systems
      en: Designing Interactive Systems
    - 
      de: Internet- und WWW-Technologien
      en: Internet- and WWW-Technologies
    - 
      de: Softwaretechnologie
      en: Software Technology
    - 
      de: Softwarearchitektur
      en: Software Architecture
    - 
      de: Softwaretechnik I
      en: Software Technology I
    - 
      de: Softwaretechnik II
      en: Software Technology II
    - 
      de: Technische Grundlagen der Informatik
      en: Technical Bases of Computer Science
    - 
      de: Grundlagen digitaler Systeme
      en: Foundations of Digital Systems
    - 
      de: Theoretische Grundlagen der Informatik
      en: Theoretical Bases of Computer Science
    - 
      de: Theoretische Informatik I
      en: Theoretical Foundations of Computer Science I
    - 
      de: Theoretische Informatik II
      en: Theoretical Foundations of Computer Science II
    - 
      de: Vertiefungsgebiet Mensch-Maschine-Schnittstellen
      en: Specializations Human Computer Interaction
    - 
      de: 3D-Computergrafik
      en: 3D-Computer Graphic
    - 
      de: Einführung in die künstliche Intelligenz
      en: Artificial Intelligence
    - 
      de: Weiterführende Themen zur Internet- und WWW-Technologie
      en: Advanced Topics im Internet and WWW Technology
    - 
      de: Vertiefungsgebiet Systemarchitektur
      en: Specializations System Architecture
    - 
      de: Grundlagen der modellgetriebenen Softwareentwicklung
      en: Modeldriven Software Development
    - 
      de: Prozessorientierte Informationssysteme I
      en: Process oriented Information Systems I
  master:
    - 
      de: Lehrveranstaltungen nach Modulgruppen
      en: Courses by Modules
    - 
      de: IT-Systems Engineering
      en: IT-Systems Engineering
    - 
      de: Dependable Systems
      en: Dependable Systems
    - 
      de: Software Engineering for Embedded Systems
      en: Software Engineering for Embedded Systems
    - 
      de: Social Media Analyses
      en: Social Media Analyses
    - 
      de: Modulsysteme
      en: Modul Systems
    - 
      de: Vertiefungsgebiet 1
      en: Specialization 1
    - 
      de: Operating Systems & Information Systems Technology
      en: Operating Systems & Information Systems Technology
    - 
      de: Large Scale Duplicate Detection
      en: Large Scale Duplicate Detection
    - 
      de: Softwarevisualisierungsverfahren
      en: Software Visualization Techniques
    - 
      de: Data Mining and Probabilistic Reasoning
      en: Data Mining and Probabilistic Reasoning
    - 
      de: Konzepte paralleler Programmierung
      en: Parallel Programming Concepts
    - 
      de: Vertiefungsgebiet 2
      en: Specialization 2
    - 
      de: Software Architecture & Modeling Technology
      en: Software Architecture & Modeling Technology
    - 
      de: Software-Design
      en: Software Design
    - 
      de: Systemtechnische Grundlagen der Regelungs- und Steuerungstechnik
      en: Foundations of Control Engineering
    - 
      de: IT-Unternehmensarchitektur
      en: IT Enterprise Architecture
    - 
      de: Cognitive Robotics Project
      en: Cognitive Robotics Project
    - 
      de: Soft Skills Management
      en: Soft Skills Management
    - 
      de: Persönlichkeit und Selbstmanagement
      en: Personality and Self-Management
    - 
      de: Personal Management Skills
      en: Personal Management Skills
    - 
      de: Soft Skills Recht
      en: Soft Skills Law
    - 
      de: IT-Fallstudien
      en: IT Case Studies
    - 
      de: Soft Skills Kommunikation
      en: Soft Skills Communication
    - 
      de: Business Etikette - HPI Charm School
      en: Business Etiquette - HPI Charm School
    - 
      de: Überzeugend Präsentieren - noch besser auftreten
      en: Presenting Succesfully - How to Make an Even Better Impression
