VLDB 2026 Research / reviewers in the wild / expert
Tobias Kohn
dblp:159/0139
· DBLP profile ↗
15ranked-venue papers
5as first author
7since 2021 · last 2026
0000-0002-9251-8944ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Human-computer interaction and ubiquitous computing · 12 · 4 first-author · 6 since 2021Artificial intelligence and machine learning · 1Software engineering, systems software and programming languages · 1 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | WebTigerPython: A Low-Floor High-Ceiling Python IDE for the BrowserabstractThe shift to BYOD (bring your own device) policies at schools requires browser-based programming tools that balance accessibility and functionality. We introduce WebTigerPython, a Python IDE combining novice-friendly features (Turtle graphics, robotics, error messages) with advanced capabilities (NumPy, Matplotlib). Its client-side execution and web worker architecture ensure non-blocking interactivity. Python code is run in WebAssembly, performing only about three times slower than native CPython but significantly faster than other web-based IDEs to which we compared it. Deployed in classrooms with 800+ daily users, WebTigerPython supports offline use, URL-based sharing of code, and aligns with existing curricula—demonstrating how web tools can rival local IDEs without compromising power or accessibility. Clemens Bachmann, Alexandra Maximova, Tobias Kohn, Dennis Komm |
SIGCSE (1) | 3 |
| 2025 | Models of Mastery Learning for Computing EducationabstractThe application of mastery learning, where students progress through their learning in a self-paced manner until they have mastered specific concepts, is considered appealing for teaching introductory programming courses. Despite its growing popularity in computing and its extensive use in other disciplines, there is no overview of the design of courses that use mastery learning. In this position paper, we present an overview of five mastery learning models and discuss examples of how these can be applied in practice, both in foundational programming as well as more advanced courses. Our analysis focuses on the student progression through the course, the assessment structure, and the support for self-paced learning, including for struggling students. This work provides a greater understanding of mastery learning and its application in a computing education context. Claudia Szabo, Miranda C. Parker, Michelle Friend, Johan Jeuring, Tobias Kohn, Lauri Malmi, Judithe Sheard |
SIGCSE (1) | 5 |
| 2024 | "Something that Happens Each Day" - Students' Explanations of What Algorithms AreabstractAlgorithm is a highly abstract concept that is difficult to define precisely, but has entered the public discourse. In addition to a procedural knowledge about algorithms, we also need to ensure pupils have a viable conceptual knowledge. Martina Landman, Tobias Kohn |
ITiCSE (1) | 2 |
| 2023 | Generating High-Precision Feedback for Programming Syntax Errors using Large Language Models
Tung Phung, José Cambronero, Sumit Gulwani, Tobias Kohn, Rupak Majumdar, Adish Singla, Gustavo Soares |
EDM | 4 |
| 2023 | Generative AI for Programming Education: Benchmarking ChatGPT, GPT-4, and Human TutorsabstractGenerative AI and large language models hold great promise in enhancing computing education by powering next-generation educational technologies. State-of-the-art models like OpenAI’s ChatGPT [8] and GPT-4 [9] could enhance programming education in various roles, e.g., by acting as a personalized digital tutor for a student, a digital assistant for an educator, and a digital peer for collaborative learning [1, 2, 7]. In our work, we seek to comprehensively evaluate and benchmark state-of-the-art large language models for various scenarios in programming education. Tung Phung, Victor-Alexandru Padurean, José Cambronero, Sumit Gulwani, Tobias Kohn, Rupak Majumdar, Adish Singla, Gustavo Soares |
ICER (2) | 5 |
| 2023 | Coping With Scoping: Understanding Scope and ParametersabstractUnderstanding data flow and tracing the values of variables across a program is an essential skill for reading and comprehending program code. Two major hurdles in tracing variable values are variable (re)assignment and scopes with parameter passing and possible shadowing of variables. Tobias Kohn, Dennis Komm |
ITiCSE (1) | 1 |
| 2023 | Transformed by Transformers: Navigating the AI Coding Revolution for Computing Education: An ITiCSE Working Group Conducted by HumansabstractThe recent advent of highly accurate and scalable large language models (LLMs) has taken the world by storm. From art to essays to computer code, LLMs are producing novel content that until recently was thought only humans could produce. Recent work in computing education has sought to understand the capabilities of LLMs for solving tasks such as writing code, explaining code, creating novel coding assignments, interpreting programming error messages, and more. However, these technologies continue to evolve at an astonishing rate leaving educators little time to adapt. This working group seeks to document the state-of-the-art for code generation LLMs, detail current opportunities and challenges related to their use, and present actionable approaches to integrating them into computing curricula. James Prather, Paul Denny 0001, Juho Leinonen 0001, Brett A. Becker, Ibrahim Albluwi, Michael E. Caspersen, Michelle Craig, Hieke Keuning, Natalie Kiesler, Tobias Kohn, Andrew Luxton-Reilly, Stephen MacNeil, Andrew Petersen 0001, Raymond Pettit, Brent N. Reeves, Jaromír Savelka |
ITiCSE (2) | 10 |
| 2020 | Dynamic pattern matching with PythonabstractPattern matching allows programs both to extract specific information from complex data types, as well as to branch on the structure of data and thus apply specialized actions to different forms of data. Originally designed for strongly typed functional languages with algebraic data types, pattern matching has since been adapted for object-oriented and even dynamic languages. This paper discusses how pattern matching can be included in the dynamically typed language Python in line with existing features that support extracting values from sequential data structures. Tobias Kohn, Guido van Rossum, Gary Brandt Bucher II, Talin, Ivan Levkivskyi |
DLS | 1 |
| 2020 | Problem Solving and Creativity: Complementing Programming Education with RoboticsabstractWith its direct feedback and the tangible machine, robotics is a strong motivator for engaging students in STEM fields, as evidenced by the popularity of competitions and events such as FIRST and Robo Games. However, in the context of K-12 computer science education, the potential of robotics seems as yet hardly tapped into. In an attempt to bridge the gap, we designed a Python library for robotics with Lego's EV3 robots to complement programming classes. We employed our library to teach secondary school students as part of an outreach activity. Our approach is built around open-ended tasks instead of narrow exercise statements. Although our activity was based on the EV3 Space Challenge Set, we encouraged the students at any time to pursue their own ideas and even their own challenges. While students had little problems in using Python to program their robots, we still found a series of misconceptions and observed that female students were more interested in following their own creative projects than in solving given challenges. Dennis Komm, Adrian Regez, Urs Hauser, Marco Gassner, Pascal Lütscher, Rico Puchegger, Tobias Kohn |
ITiCSE | 7 |
| 2020 | Tell Me What's Wrong: A Python IDE with Error MessagesabstractDevelopment environments play a crucial role for novice programmers. Not only do they act as interface to type in and execute programs, but a programming environment is also responsible for reporting errors, managing in- and output when the program is running, or offering the programmer access to the underlying notional machine. In recent years several new educational programming environments for Python have been presented. However, the important issue of reporting errors has rarely been addressed and evaluations often hint that students main issue is the poor quality of Python's error messages. We have therefore written an educational Python environment with enhanced error messages. This paper presents the design and rationale of its three primary features: modifications to Python, enhanced error messages, and the visual debugger. Tobias Kohn, Bill Z. Manaris |
SIGCSE | 1 |
| 2019 | LF-PPL: A Low-Level First Order Probabilistic Programming Language for Non-Differentiable ModelsabstractWe develop a new Low-level, First-order Probabilistic Programming Language (LF-PPL) suited for models containing a mix of continuous, discrete, and/or piecewise-continuous variables. The key success of this language and its compilation scheme is in its ability to automatically distinguish parameters the density function is discontinuous with respect to, while further providing runtime checks for boundary crossings. This enables the introduction of new inference engines that are able to exploit gradient information, while remaining efficient for models which are not everywhere differentiable. We demonstrate this ability by incorporating a discontinuous Hamiltonian Monte Carlo (DHMC) inference engine that is able to deliver automated and efficient inference for non-differentiable models. Our system is backed up by a mathematical formalism that ensures that any model expressed in this language has a density with measure zero discontinuities to maintain the validity of the inference engine. Yuan Zhou 0013, Bradley Gram-Hansen, Tobias Kohn, Tom Rainforth, Hongseok Yang, Frank D. Wood |
AISTATS | 3 |
| 2019 | The Error Behind The Message: Finding the Cause of Error Messages in PythonabstractThe interaction between a novice programmer, and the compiler plays a crucial role in the learning process of the novice programmer. Of particular importance is the compiler's feedback on errors in the program code. Accordingly, compiler error messages are an important and active field of research. Yet, a language that has largely been left out of this discussion so far is Python. We have collected Python programs from high school students taking introductory courses. For each collected erroneous program, we sought to classify the effective error, and assess if the student was able to fix the error. Our study is a precursor to providing improved error messages in Python, and assess their effectiveness. As such, we are eventually interested in finding ways to automatically determine the effective error, so as to base the displayed message on. From our data, we found that a considerable part of students' errors can be attributed to minor mistakes, which can easily be identified and corrected. However, beyond such minor mistakes, a proper error diagnosis might have to be based on a goal/plan analysis of the entire program. Likewise, proper assessment of whether an error has been fixed frequently requires more context than is provided by the program alone. Tobias Kohn |
SIGCSE | 1 |
| 2017 | Variable Evaluation: an Exploration of Novice Programmers' Understanding and Common MisconceptionsabstractFor novice programmers one of the most problematic concepts is variable assignment and evaluation. Several questions emerge in the mind of the beginner, such as what does x = 7 + 4 or x = x + 1 really mean? For instance, many students initially think that such statements store the entire calculation in variable x, evaluating the result lazily when actually needed. The common increment pattern x = x + 1 is even believed to be outright impossible. This paper discusses a multi-year project examining how high school students think of assignments and variables. In particular, where does the misconception of storing entire calculations come from? Can we explain the students' thinking and help them develop correct models of how programming works? Tobias Kohn |
SIGCSE | 1 |
| 2016 | Making Music with Computers: Creative Programming in Python (Abstract Only)abstractThis is an introduction to creative software development and music making in Python. This material is intended for CS0/CS1 courses and for courses at the intersection of computing and the arts. The workshop will introduce music making activities for teaching traditional CS1 topics, GUIs, event-driven programming, and connecting to external devices (e.g., smartphones, digital pianos) via MIDI and OSC (Open Sound Control). Participants will be introduced to Jython Music (http://jythonMusic.org), a library of Python modules for creative programming and music making, and will be making their own music artifacts a few minutes later. Intended audience: Computer science educators interested in teaching creative programming and computational thinking for CS0, CS1, introductory courses in the intersection of computing and the arts, and courses intended to attract and retain new CS majors. Some familiarity with Python expected. Each participant will receive a copy of (1) handouts to be used during the workshop, (2) sample student assignments and projects, (3) API documentation, (4) all required software, and (5) numerous sample programs. Laptop required (with Java JDK 7 or higher). All other software will be provided. Headphones are recommended. Bill Z. Manaris, Tobias Kohn |
SIGCSE | 2 |
| 2015 | Making Music with Computers: Creative Programming in Python (Abstract Only)abstractThis is an introduction to creative software development and music making in Python. This material is intended for CS0/CS1 courses and for courses at the intersection of computing and the arts. The workshop will introduce music making activities for teaching traditional CS1 topics, GUIs, event-driven programming, and connecting to external devices (e.g., smartphones, digital pianos) via MIDI and OSC (Open Sound Control). Participants will be introduced to Jython Music (http://jythonMusic.org), a library of Python modules for creative programming and music making, and will be making their own music artifacts a few minutes later. Intended audience: Computer science educators interested in teaching creative programming and computational thinking for CS0, CS1, introductory courses in the intersection of computing and the arts, and courses intended to attract and retain new CS majors. Each participant will receive a copy of (1) handouts to be used during the workshop, (2) sample student assignments and projects, (3) API documentation, (4) all required software, and (5) numerous sample programs. Laptop required (with Java JDK 7 or higher). All other software will be provided. Headphones are recommended. Bill Z. Manaris, Andrew R. Brown, Tobias Kohn |
SIGCSE | 3 |