Download CV as PDF

Zuletzt aktualisiert Oktober 2024. Last updated in October 2024. Get the latest version at https://www.onsetsu.github.io/cv.html.

Stefan Ramson

Stefan Ramson
  • PhD Student
  • Fachgebiet Softwarearchitekturen Software Architecture Group
  • Hasso-Plattner-Institut Hasso Plattner Institute

Area of Expertise Überblick

Since 2011, I have been building elaborate Web applications, including interactive software visualizations, physics simulations, and full-fledged integrated development environments. Through this work, I acquire an in-depth understanding of various Web technologies and a diverse arsenal of tools, techniques, and workflows to solve problems. Further, I am a strong advocate for continuously improving and adapting the tools I work with, applying this philosophy to input devices, editors, programming systems and languages. As a researcher, I designed, implemented and evaluated programming tools and language extensions, with a focus on live and exploratory programming, reactive programming, and dynamic program adaptation.

german version

Berufserfahrung Working Experience

since 2015 Wissenschaftlicher Mitarbeiter, Fachgebiet Softwarearchitekturen, Hasso-Plattner-Institut, Potsdam Research Assistant, Software Architecture Group, Hasso Plattner Institute, Potsdam

2017 Softwareentwickler, Freelancer Software Developer, Freelance

2012 Studentischer Mitarbeiter, Fachgebiet Computergrafische Systeme, Hasso-Plattner-Institut, Potsdam Research Assistant, Computer Graphics Systems, Hasso Plattner Institute, Potsdam

Picture of Lively4 Lively4
79 people, 9 years
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.
  • Designed core features of Lively4 and contributed to the inital 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
Picture of Active Expressions Active Expressions
18 people, 8 years
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 existing expressiveness of the host language and builds upon it: Developers use ordinary variables, properties, and expressions to specify dependencies.
  • 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
Picture of Floom Floom
1 person, 2 years
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.
  • Designed and implemented the simulation, editing tools, and debug support
Picture of Plugin Explorer and Debugger Plugin Explorer and Debugger
5 people, 2 years
The Plugin Explorer is a live editor specifically designed towards the task of writing and adapting source code transformations, here babel.js plugins. Developers can explore and correlate input and output examples visually and apply instant changes. Further, a back-in-time debugger allows developers in inspect the entire transpilation of an example input.
  • Designed core features and workflows for the Plugin Explorer
  • Co-implemented and maintained the project
  • Supervised corresponding master students' projects
Picture of Pronto Pronto
13 people, 2 years
Pronto is a rapid prototyping tool for designing game mechnics based on the Godot game engine. Pronto fosters quick assembly of game logic by overlaying the game scene with visual behaviors. These behaviors can be connected using drag-and-drop interactions.
  • Co-designed core features of Pronto
  • Supervised 5 teams of master students to iteratively improve Pronto

Bildung Education

seit 2015since 2015 PromotionsstudiumPh.D. Student

Hasso-Plattner-Institut, Digital Engineering Fakultät, Universität PotsdamHasso Plattner Institute, Digital Engineering Faculty, University of Potsdam
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.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 dealing with the technical necessities of change detection.
Titel der Doktorarbeit: “Active Expressions: Basic Building Blocks for Reactive Programming”Doctoral Thesis: “Active Expressions: Basic Building Blocks for Reactive Programming”
Betreuer: Robert Hirschfeld, Hasso-Plattner-Institut, Universität PotsdamAdvisor: Robert Hirschfeld, Hasso Plattner Institute, University of Potsdam

Master 2015 M. Sc. IT-Systems Engineering

Hasso-Plattner-Institut, Universität PotsdamHasso Plattner Institute, University of Potsdam
Note: 1,1 (mit Auszeichnung)Grade: 1.1 (distinction)
Studienumfang: Software-Design, Modulsysteme, Dependable Systems, Parallele Programmierung, Eingebettete Systeme, Robotics, Regelungs- und Steuerungstechnik, Data Mining and Cleansing, Probabilistic Reasoning, Softwarevisualisierung, IT-Recht, Kommunikation, LeadershipCoursework: 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
Titel der Masterarbeit: “Dynamische Constraints und Reaktives Verhalten – Werkzeuge zur Praktischen Anwendung von Objektconstraintprogrammierung”Thesis Topic: “Scoped Constraints and Reactive Behavior – Towards a practical Constraints Programming Tool”
Note der Masterarbeit: 1,0Grade of Thesis: 1.0
Masterprojekt: Piggyback Profiling: Metadata for Query ResultsFinal Year Project: Piggyback Profiling: Metadata for Query Results

Bachelor 2012 B. Sc. IT-Systems Engineering

Hasso-Plattner-Institut, Universität PotsdamHasso Plattner Institute, University of Potsdam
Note: 1,3 (sehr gut)Grade: 1.3 (very good)
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 GrundlagenCoursework: 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
Titel der Bachelorarbeit: “Analyse und Vergleich von WebGL-Frameworks zum webbasierten Rendering massiver Graphstrukturen”Bachelor's Thesis Topic: “Analysis and Comparison of WebGL Frameworks for Web-Based Rendering of Massive Graph Data-Structures”
Note der Bachelorarbeit: 1,0Grade of Bachelor's Thesis: 1.0
Bachelor-Projekt: “Graphvisualisierungs-Framework zur Exploration von Softwareanalysedaten”Final Year Project: “Graphvisualization-Framework for the Exploration of Software Analysis Data”

Abitur 2009 Allgemeine Hochschulreife “Abitur”Higher Education Entrance Certificate “Abitur”

Johann-Wolfgang-von-Goethe-Gymnasium Pritzwalk
Leistungskurse: Mathematik, PhysikAdvanced Courses in Mathematics and Physics
Note: 1,0 (sehr gut)Grade: 1.0 (distinction)

Technologies

Programming Languages

JavaScript (Expert), Smalltalk (Advanced), Python (Intermediate), GDScript (Intermediate), Java (Intermediate), SQL (Intermediate), C++ (Intermediate), Ruby (Basic)

Frameworks and Technologies

Babel.js (Expert), CodeMirror (Expert), HTML5 (Expert), CSS3 (Expert), Web Components (Advanced), three.js (Advanced), d3.js (Advanced), jspdf (Advanced), Godot (Intermediate), openai API (Intermediate), Tree-sitter (Basic), Unity (Basic)

Tools

Git (Advanced), Travis CI (Intermediate), GitHub Actions (Intermediate)

Stipendien / AuszeichnungenAwards / Scholarships

2024 Editors' Choice Award 2024 der Fachzeitschrift “The Art, Science, and Engineering of Programming” der AOSA, Inc. AOSA, Inc.

für den Artikel “Broadening the View of Live Programmers: Integrating a Cross-Cutting Perspective on Run-Time Behavior into a Live Programming Environment”for the article “Broadening the View of Live Programmers: Integrating a Cross-Cutting Perspective on Run-Time Behavior into a Live Programming Environment”

since 2019 Stipendium des HPI Fachgebiets SoftwarearchitekturenScholarship of the HPI Software Architecture Group Hasso-Plattner-InstitutHasso Plattner Institute
2015–2019 Stipendium des HPI Forschungskollegs für “Service-Oriented Systems Engineering”Scholarship of the HPI Research School for “Service-Oriented Systems Engineering” Hasso-Plattner-InstitutHasso Plattner Institute

Gremientätigkeit Academic Community Service

2020 Herausgeber (editor)Editor Dagstuhl

Proceedings of the 2020 Joint Workshop of the German Research Training Groups in Computer Science

OrganisatorOrganizer Dagstuhl

2020 Joint Meeting of the German Research Training Groups

Mitglied im ProgrammkomiteeProgram Committee Member COP

ACM International Workshop on Context-Oriented Programming and Advanced Modularity (COP)

2018 OrganisatorOrganizer HPI FutureSOC

13. HPI Symposium on Future Trends in Service-oriented Computing

Reviewer (including sub-reviews)

COLA (2024), ECOOP (2022, 2018), VL/HCC (2021), OOPSLA (2020), COP (2020, 2018), REBLS (2019), NGPS (2018), FlexMDE (2018), DLS (2018), IDEA (2018), SAC (2017), Programming (2017), LiquidSoftware (2017)

Ehrenamtliche Tätigkeiten Community Service

2009–2011 Mitbegründer und Sprecher des HPI Studentenklubs “Kunst” Co-Founder and Speaker of the HPI Student Club “Visual Arts”

Hasso-Plattner-Institut, Potsdam

2007–2009 Administration und Digitalisierung Schulbibliothek Administration and Digitisation of the School Library

Johann-Wolfgang-von-Goethe-Gymnasium, Pritzwalk

LehrerfahrungTeaching [Detaillierte VersionDetailed Version]

Co-supervised Master's Theses

2024 Extreme Pro-gaming: Augmenting Software Engineering Courses with Educational Board Games

Luc Prestin

2023 Learning About Programming System Design From Board Game Rulebooks

Lina Urban

2022 Extensible Tooling for Reactive Programming Based on Active Expressions

Markus Brand

2021 Call Graphs for Live Programming: Implementing Call Tracing in Babylonian/S based on a Survey of Property Extraction Techniques for Dynamic Analysis

Christian Maximilian Flach

2017 Composition of Modular Language Extensions for JavaScript

Philipp Otto

Master and Bachelor Projects

Master projects are research-focused and span one semester.
Bachelor projects are year-long and conducted in collaboration with an industry partner.

2020/21–2021 Tool Support for Collaborative Creation of Interactive Storytelling Media (BachelorprojektBachelor Project)

StudierendenbetreuungStudent supervision

2019 Design and implementation of a live programming tool set for heterogeneous simulations in Squeak/Smalltalk (MasterprojektMaster Project)

StudierendenbetreuungStudent supervision, ThemenstellungTopic preparation

2018/19–2019 Blocks to the Rescue (BachelorprojektBachelor Project)

StudierendenbetreuungStudent supervision, ThemenstellungTopic preparation

2017/18–2018 GS/Squeak: Smalltalk as a language implementation platform (BachelorprojektBachelor Project)

StudierendenbetreuungStudent supervision

Lectures and Project Seminars

Tasks include course conceptualization, topic preparation, lecturing, and student supervision

2024/2025 SoftwarearchitekturSoftware Architecture Vorlesung/BachelorLecture/Bachelor
2024 Rapid Prototyping for Educational Games Vorlesung/MasterLecture/Master
SoftwaredesignSoftware Design Seminar/MasterProject Seminar/Master
Softwaretechnik ISoftware Engineering I Vorlesung/BachelorLecture/Bachelor
2023/2024 Future of Programming Seminar/MasterProject Seminar/Master
Rapid Prototyping in der SpieleentwicklungRapid Prototyping in Game Development Vorlesung/BachelorLecture/Bachelor
SoftwarearchitekturSoftware Architecture Vorlesung/BachelorLecture/Bachelor
2023 Programming Experience Seminar/MasterProject Seminar/Master
Tools for Game Development Seminar/MasterProject Seminar/Master
2022/2023 Programmieren in Virtual RealityProgramming in Virtual Reality Seminar/MasterProject Seminar/Master
SoftwarearchitekturSoftware Architecture Vorlesung/BachelorLecture/Bachelor
2022 Reverse Engineering Seminar/MasterProject Seminar/Master
Softwaretechnik ISoftware Engineering I Vorlesung/BachelorLecture/Bachelor
2021/2022 Visual Abstractions for Framework, Tool and Language DesignVisual Abstractions for Framework, Tool, and Language design Seminar/MasterProject Seminar/Master
Programming ExperienceProgramming Experience Seminar/MasterProject Seminar/Master
SoftwarearchitekturSoftware Architecture Vorlesung/BachelorLecture/Bachelor
2021 Live ProgrammingLive Programming Seminar/MasterProject Seminar/Master
Software-DesignSoftware Design Seminar/MasterProject Seminar/Master
Softwaretechnik ISoftware Engineering I Vorlesung/BachelorLecture/Bachelor
2020/2021 Programmiersprachen: Konzepte, Werkzeuge und UmgebungenProgramming Language Concepts, Tools, and Environments Seminar/MasterProject Seminar/Master
SoftwarearchitekturSoftware Architecture Vorlesung/BachelorLecture/Bachelor
2020 Endbenutzer EntwicklungEnd-user Development Seminar/MasterProject Seminar/Master
Code Repository MiningCode Repository Mining Seminar/MasterProject Seminar/Master
Softwaretechnik ISoftware Engineering I Vorlesung/BachelorLecture/Bachelor
2019/2020 Reactive ProgrammingReactive Programming Seminar/MasterProject Seminar/Master
SoftwarearchitekturSoftware Architecture Vorlesung/BachelorLecture/Bachelor
2019 Software-DesignSoftware Design Seminar/MasterProject Seminar/Master
Softwaretechnik ISoftware Engineering I Vorlesung/BachelorLecture/Bachelor
2018/2019 Reverse-EngineeringReverse Engineering Seminar/MasterProject Seminar/Master
SoftwarearchitekturSoftware Architecture Vorlesung/BachelorLecture/Bachelor
Einführung in die Programmiertechnik IIntroduction to Programming Technology I Vorlesung/BachelorLecture/Bachelor
2018 Reaktives ProgrammierenReactive Programming Seminar/MasterProject Seminar/Master
Programming Experience / ProgrammierumgebungenProgramming Experience Seminar/MasterProject Seminar/Master
Machine Learning on Code RepositoriesMachine Learning on Code Repositories Seminar/MasterProject Seminar/Master
Softwaretechnik ISoftware Engineering I Vorlesung/BachelorLecture/Bachelor
2017/2018 Kontextorientiertes ProgrammierenContext-oriented Programming Seminar/MasterProject Seminar/Master
Web-based Development Environments Seminar/MasterProject Seminar/Master
Code Repository Mining Seminar/MasterProject Seminar/Master
Programming Languages: Design and Implementation Seminar/BachelorProject Seminar/Bachelor
SoftwarearchitekturSoftware Architecture Vorlesung/BachelorLecture/Bachelor
2017 Programmiersprachen: Konzepte, Werkzeuge und UmgebungenProgramming Language Concepts, Tools, and Environments Seminar/MasterProject Seminar/Master
Softwaretechnik ISoftware Engineering I Vorlesung/BachelorLecture/Bachelor
2016/2017 Live Programming Systems Seminar/MasterProject Seminar/Master
Software Design Seminar/MasterProject Seminar/Master
SoftwaremodularitätSoftware Modularity Seminar/BachelorProject Seminar/Bachelor
SoftwarearchitekturSoftware Architecture Vorlesung/BachelorLecture/Bachelor
2016 Web-based Development Environments Seminar/MasterProject Seminar/Master
Softwaretechnik ISoftware Engineering I Vorlesung/BachelorLecture/Bachelor
2015/2016 Software Design Seminar/MasterProject Seminar/Master
SoftwarearchitekturSoftware Architecture Vorlesung/BachelorLecture/Bachelor
Einführung in die Programmiertechnik I Vorlesung/BachelorLecture/Bachelor
2010/11–2014 Modellierung I und Modellierung II Vorlesung/BachelorLecture/Bachelor

ZeitschriftenartikelJournal Articles

Konferenzbeiträge (begutachtet)Conference Papers (reviewed)

Workshop-Beiträge (begutachtet)Workshop Papers (reviewed)

AbschlussarbeitenTheses

HerausgeberschaftEditorship

Technische BerichteTechnical Reports