print version switch to Englishwechsle zu Deutsch

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

Stefan Ramson

Last updated in . Get the latest version at here.
Stefan Ramson
  • PhD Student
  • Fachgebiet Softwarearchitekturen Software Architecture Group
  • Hasso-Plattner-Institut Hasso Plattner Institute

Abstract/Introduction/Area of ExpertiseEinführung

Web Big Range of Projects Eat own dogfood-attitude Adapt own tools , including input devices, editors, programming languages, and compiler toolchains Building Web Applications since 2011/12, including interactive visualizations, physics simulations, and IDEs. Web/Development through creating a full/fledged Web/based Dev Environment that coexist with apps written in it, allowing to change both apps and dev tools on the fly while using them. Eat own dogfood mentality. Second area of interest is game design. Insights from design apply nearly everywhere, allowing me to improve progrmming interfaces/systems as well. --- Strong advocate of sharpening the saw/improving and adapting the tools we are working with (input devices, editors, programming systems and languages). I implemented every system I write about first, footing my insights on actual experiences. As a researcher, I implemented and investigated various programming tools and language extensions, with a focus on live and exploratory programming, reactive programming, and dynamic adaptations, their implementation, optimization and comprehension. This work lead to in-depth understanding of the dynamic adaptation of programs and parsing/compiler infra-structures/?user interface design?. formulate nicely -> Eat your own dogfood mentality tool and languages I write about are always grounded in actual implementations and refined by the experience I or oithers have with them.

german version

researcher, programmer, game designer

Working on
Designing programming systems as a holistic intersection of notation, interface design, psychology, and ergonomics
Interested in
Live and exploratory programming, visual languages, alternative input methods, natural programming, AI assistants
Being a
PhD student, research assistant
Currently at
Software Architecture Group at the Hasso Plattner Institute, University of Potsdam, Germany
3-5 Projects with description and image Name What it is Features (short) What I did/my role in the project Extra Links

+ Lively4 ~20 people, 9 years Dev Tools adaptable on-the-fly VivideJS X-Ray Lively Connectors Finally, its community embraces a wiki-like spirit, meaning everybody can and is even encouraged to change and adapt aspects of Lively4 to their specific needs and share their adaptations with others.

+ Active Expressions ~10 people, 8 years Signals Zone-based Layer Activation ContextJS rILA --> img Reactive Debugger ROQs Oversaw 4 teams of master students to work on other implementations in JS, Python, and Squeak/Smalltalk Oversaw X Students to work on supporting technologies, including debugging tools, editor watch integrations, and graphical connectors

Plugin Explorer Debugging Compilers Back-in-Time 5 people, 2 years

Floom/Bloob 1 person, 2 years

Pronto A Rapid Prototyping tool for game mechnics based on the Godot game engine 15 people, 3 years Co-designed core features of Pronto

---

Berufserfahrung Working Experience

german version missing

2017 Freelancer, Softwareentwickler

Auftragsprojekt: Implementierung einer Reaktiven JSX Semantik zur Unterstützung von Webkomponenten
Fachgebiet Softwarearchitekturen
Hasso-Plattner-Institut, Potsdam

2012 Studentischer Mitarbeiter am Fachgebiet Computergrafische Systeme

Verarbeitung und Visualisierung von Software-Repository-Daten
Hasso-Plattner-Institut, Potsdam
Kollaboration mit dem SAP Innovation Center, Potsdam

2012/2013 Studentischer Mitarbeiter am Fachgebiet Business Process Technology

Unterstützung der Lehrveranstaltung “Modellierung I”
Hasso-Plattner-Institut, Potsdam

2010–2014 Studentischer Mitarbeiter am Fachgebiet Systemanalyse und Modellierung

Regelmäßige Unterstützung der Lehrveranstaltungen “Modellierung I” und “Modellierung II”
Hasso-Plattner-Institut, Potsdam

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)

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”

seit 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 Community Service

item[2020] Herausgeber (editor), Proceedings of the 2020 Joint Workshop of the German Research Training Groups in Computer Science par Organisator, Joint Meeting of the German Research Training Groups par Mitglied im Programmkomitee, ACM International Workshop on Context-Oriented Programming and Advanced Modularity ( extsc{cop})

Skills

During my studies, I attained a thorough understanding of object-oriented programming in general and modularity approaches in particular; I have experienced an agile development process, XP, and good knowledge of similar processes. Due to my student assistant job, I have developed interest in virtual machines and have a solid knowledge of their behaviour, structure and challenges.

Technologies

\clearpage

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

Sprachen Languages

\item[Muttersprache] Deutsch \item[Fließend] Englisch %(\textsc{cefr} level C2) \item[Grundlagen] Russisch

Service

Reviewer for ACM CHI, IEEE VIS, TVCG, EuroVis, PacificVis, Computers & Graphics, HILDA, and DSIA. Program committee for HILDA 2018, HILDA 2019, and HILDA 2020, and program chair for HILDA 2022 and HILDA 2023 at SIGMOD. Organizer of DSIA 2018 and DSIA 2019 at VIS. Session chair at CHI 2019, VIS 2019, VIS 2020, VIS 2021, VIS 2023. Program committee at VIS 2020 and 2021. Organizing committee for VIS 2022, VIS 2023, VIS 2024. Maintainer of many open source projects. Apache Arrow committer.

Referrals

Positions

Patents

Student Mentoring

Talks

LehrerfahrungTeaching

german version missing

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 have a research focus and last one semester
Bachelor projects last a year and are conducted with an industry partner

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

Studierendenbetreuung

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

Studierendenbetreuung, Themenstellung

2018/19–2019 Blocks to the Rescue (Bachelorprojekt)

Studierendenbetreuung, Themenstellung

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

Studierendenbetreuung

Lectures and Project Seminars

2024 Rapid Prototyping for Educational Games (Vorlesung/Master)

Studierendenbetreuung, Halten mehrerer Vorlesungen, Themenstellung

Softwaredesign (Seminar/Master)

Studierendenbetreuung

Softwaretechnik I (Vorlesung/Bachelor)

Studierendenbetreuung, Halten ausgewählter Vorlesungen

2023/2024 Future of Programming (Seminar/Master)

Studierendenbetreuung

Rapid Prototyping in der Spieleentwicklung (Vorlesung/Bachelor)

Themenstellung, Studierendenbetreuung

Softwarearchitektur (Vorlesung/Bachelor)

Studierendenbetreuung

2023 Programming Experience (Seminar/Master)

Studierendenbetreuung

Tools for Game Development (Seminar/Master)

Themenstellung, Studierendenbetreuung

2022/2023 Programmieren in Virtual Reality (Seminar/Master)

Studierendenbetreuung

Softwarearchitektur (Vorlesung/Bachelor)

Studierendenbetreuung

2022 Reverse Engineering (Seminar/Master)

Studierendenbetreuung

Softwaretechnik~I (Vorlesung/Bachelor)

Studierendenbetreuung, Halten mehrerer Vorlesungen

2021/2022 Visual Abstractions for Framework, Tool and Language Design (Seminar/Master)

Studierendenbetreuung

Programming Experience (Seminar/Master)

Studierendenbetreuung

Softwarearchitektur (Vorlesung/Bachelor)

Studierendenbetreuung

2021 Live Programming (Seminar/Master)

Studierendenbetreuung

Software-Design (Seminar/Master)

Studierendenbetreuung

Softwaretechnik~I (Vorlesung/Bachelor)

Studierendenbetreuung, Halten mehrerer Vorlesungen

2020/2021 Programmiersprachen: Konzepte, Werkzeuge und Umgebungen (Seminar/Master)

Studierendenbetreuung

Softwarearchitektur (Vorlesung/Bachelor)

Studierendenbetreuung

2020 Endbenutzer Entwicklung (Seminar/Master)

Studierendenbetreuung

Code Repository Mining (Seminar/Master)

Studierendenbetreuung

Softwaretechnik~I (Vorlesung/Bachelor)

Studierendenbetreuung, Halten mehrerer Vorlesungen

2019/2020 Reactive Programming (Seminar/Master)

Themenstellung, Studierendenbetreuung

Softwarearchitektur (Vorlesung/Bachelor)

Studierendenbetreuung

2019 Software-Design (Seminar/Master)

Themenstellung, Studierendenbetreuung

Softwaretechnik~I (Vorlesung/Bachelor)

Studierendenbetreuung, Halten mehrerer Vorlesungen

2018/2019 Reverse-Engineering (Seminar/Master)

Themenstellung, Studierendenbetreuung

Softwarearchitektur (Vorlesung/Bachelor)

Studierendenbetreuung

Einführung in die Programmiertechnik~I (Vorlesung/Bachelor)

Studierendenbetreuung

2018 Reaktives Programmieren (Seminar/Master)

Themenstellung, Studierendenbetreuung

Programming Experience / Programmierumgebungen (Seminar/Master)

Studierendenbetreuung

Machine Learning on Code Repositories (Seminar/Master)

Studierendenbetreuung

Softwaretechnik~I (Vorlesung/Bachelor)

Studierendenbetreuung, Halten mehrerer Vorlesungen

2017/2018 Kontextorientiertes Programmieren (Seminar/Master)

Themenstellung, Studierendenbetreuung

Web-based Development Environments (Seminar/Master)

Themenstellung, Studierendenbetreuung

Code Repository Mining (Seminar/Master)

Studierendenbetreuung

Programming Languages: Design and Implementation (Seminar/Bachelor)

Studierendenbetreuung

Softwarearchitektur (Vorlesung/Bachelor)

Studierendenbetreuung

2017 Programmiersprachen: Konzepte, Werkzeuge und Umgebungen (Seminar/Master)

Themenstellung, Studierendenbetreuung

Softwaretechnik~I (Vorlesung/Bachelor)

Studierendenbetreuung, Halten mehrerer Vorlesungen

2016/2017 Live Programming Systems (Seminar/Master)

Themenstellung, Studierendenbetreuung

Software Design (Seminar/Master)

Themenstellung, Studierendenbetreuung

Softwaremodularität (Seminar/Bachelor)

Studierendenbetreuung

Softwarearchitektur (Vorlesung/Bachelor)

Studierendenbetreuung

2016 Web-based Development Environments (Seminar/Master)

Themenstellung, Studierendenbetreuung

Softwaretechnik~I (Vorlesung/Bachelor)

Studierendenbetreuung, Halten mehrerer Vorlesungen

2015/2016 Software Design (Seminar/Master)

Themenstellung, Studierendenbetreuung

Softwarearchitektur (Vorlesung/Bachelor)

Studierendenbetreuung

Einführung in die Programmiertechnik I (Vorlesung/Bachelor)

Studierendenbetreuung

2010/11–2014 Modellierung~I und Modellierung~II (Vorlesung/Bachelor)

Studierendenbetreuung

ZeitschriftenartikelJournal Articles

J6
Extensible Tooling for Reactive Programming Based on Active Expressions
Stefan Ramson, Markus Brand, Jens Lincke, Robert Hirschfeld. JOT, 2024.
J2
Group-Based Behavior Adaptation Mechanisms in Object-Oriented Systems
Patrick Rein, Stefan Ramson, Jens Lincke, Tim Felgentreff, Robert Hirschfeld. IEEE Software, 2017.

Konferenzbeiträge (begutachtet)Conference Papers (reviewed)

C3
Shortening Feedback Loops in a Live Game Development Environment
Tom Beckmann, Eva Krebs, Patrick Rein, Stefan Ramson, Robert Hirschfeld. VL/HCC, 2021.
C1
Tracking Visitor Engagement in the Blogosphere for Leveraging Rankings
Patrick Hennig, Philipp Berger, Christoph Meinel, Maria Graber, Jens Hildebrandt, Stefan Lehmann, Cathleen Ramson. Veröffentlichung der Datenanalyse- und Visualisierungstechniken, die wir im Masterseminar Social Media Analysis entwickelten.Publication of data analysis and visualization techniques we developed for the master seminar Social Media Analysis. SocialCom, 2013.

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

W16
Pronto: Prototyping a Prototyping Tool for Game Mechanic Prototyping
Eva Krebs, Tom Beckmann, Leonard Geier, Stefan Ramson, Robert Hirschfeld. PPIG, 2023.
W15
Explicit Tool Support for Implicit Layer Activation
Markus Brand, Stefan Ramson, Jens Lincke, Robert Hirschfeld. COP, 2022.
W12
An Exploratory Literature Study on Live-Tooling in the Game Industry
Tom Beckmann, Christian Flach, Eva Krebs, Stefan Ramson, Patrick Rein, Robert Hirschfeld. LIVE, 2019.
W10
Piggyback Profiling: Enhancing Query Results with Metadata
Claudia Exeler, Maria Graber, Tino Junge, Stefan Ramson, Cathleen Ramson, Fabian Tschirschnitz, Felix Naumann. LWDA, 2018.
W8
Designing a Live Development Experience for Web-Components
Jens Lincke, Patrick Rein, Stefan Ramson, Robert Hirschfeld, Marcel Taeumel, Tim Felgentreff. PX, 2017.
W6
The Declarative Nature of Implicit Layer Activation
Stefan Ramson, Jens Lincke, Robert Hirschfeld. COP, 2017.
W4
Multi-level Debugging for Interpreter Developers
Bastian Kruck, Stefan Lehmann, Christoph Kessler, Jakob Reschke, Tim Felgentreff, Jens Lincke, Robert Hirschfeld. LaMOD, 2016.
W3
Reactive Object Queries: Consistent Views in Object-oriented Languages
Stefan Lehmann, Tim Felgentreff, Jens Lincke, Patrick Rein, Robert Hirschfeld. CROW, 2016.
W2
Automatically Selecting and Optimizing Constraint Solver Procedures for Object-Constraint Languages
Tim Felgentreff, Stefan Lehmann, Robert Hirschfeld, Sebastian Gerstenberg, Jakob Reschke, Lars Rückert, Patrick Siegler, Jan Graichen, Christian Nicolai, Malte Swart. CROW, 2016.

AbschlussarbeitenTheses

HerausgeberschaftEditorship

Technische BerichteTechnical Reports

TR3
SandBlocks: Integration visueller und textueller Elemente in Live-Programmiersysteme
Leon Bein, Tom Braun, Björn Daase, Elina Emsbach, Leon Matthes, Maximilian Stiede, Marcel Taeumel, Toni Mattis, Stefan Ramson, Patrick Rein, Robert Hirschfeld, Jens Mönig. HPI Technical Reports (vol. 132), 2020.