PhD student @ETH and research assistant @PHGR
Hi! I am a PhD student at ETH Zurich and a research assistant at PHGR. I conduct research in how to instill algorithmic thinking in primary school pupils by teaching them how to program. For this reason I developed a programming environment which eases the learning of algorithmic concepts.
I pursued my Bachelor's and Master's degree in Computer Science at ETH Zurich and, in addidtion, I received a teaching diploma for CS at highschool-level at the same university. For more than 8 years now, I've been part of project PrimaLogo that introduces primary school pupils to programming in Logo.
It is crucial that young pupils leave school not only as passive users of computers but also with the ability to think algorithmically and solve problems by programming. This form of learning is constructive, enriches creativity and teaches precision but is strenuous and demanding by its very nature. Committing errors is natural and we do not want to prevent them; instead we understand errors as learning opportunities the children grow from when given the right tools to analyse and debug their code. Through my proramming environment XLogoOnline, I want to provide novice programmers with an essential tool to learn and recover from errors autonomously.
Bachelor Thesis (2014):
In my Bachelor's Thesis I wrote an Android application which supports young musicians which try to practice their instrument. In a game-like environment which illustrates notes and gives immediate feedback on notes played by the musician I developed a digital helper, which you can keep in your pocket and which is available whenever you need it. It relies on a just-in-time audio analysis using FFT with a windowing mechanism over time.
Master Thesis (2016):
Logo is a programming language for novices which allows to introduce basic concepts known from algorithmic thinking early on. In my Master's thesis I implemented a programming environment for XLogo. It is based on state-of-the-art web technologies, provides diagnostics like syntax checking and syntax highlighting and is designed in a way such that the working memory is freed from unnecessary cognitive load. Try it now!
For several years we developed and refined teaching materials that allow for introducing primary school children to algorithmic thinking by teaching them to program in Logo. XLogoOnline is our new browser-based, single-page programming environment which is perfectly attuned to our curriculum. We argue that the platform reduces the extraneous cognitive load on pupils thanks to a heavily-simplified workflow, appropriate for young children. Studies confirm high usability and acceptance across ages.
Programming classes offer unique opportunities to learn both semantic and syntactic precision, even for primary school children without prior knowledge in computer science. In order to make students progress autonomously, programming languages and environments need to be chosen with care to their didactic quality. This paper introduces four classes covering the majority of what we call structural programming errors. These mistakes are either syntactical errors or the result of invocations that do not match the signature of any user-defined command, and therefore prevent the execution of a program. Furthermore, we present a methodology that allows for detecting as many structural programming errors as possible, and show how we integrated this methodology in our Logo programming environment for primary schools. Finally, we reflect on an evaluation we carried out at school that confirms the didactic benefits of the chosen approach.
Informatik Spektrum (2019):
In diesem Artikel stellen wir drei Programmierumgebungen vor, welche an der ETH Zürich entwickelt wurden und in einem einheitlichen Spiralcurriculum für den Programmierunterricht vom Kindergarten bis zur Maturität verwendet werden können. Der Fokus liegt auf der selbstständigen Entwicklung funktionsfähiger Programme. Ausgehend von einer Aufgabenstellung beginnt der Prozess der Erkenntnisgewinnung mittels Ausprobierens, Entwickeln einer Lösungsstrategie und deren Umsetzung in einem vollständigen Programm. Dieses wird schliesslich getestet, indem es am Computer ausgeführt und nach Bedarf verbessert oder erweitert wird. Unsere Programmierumgebungen unterstützen hohe Selbstständigkeit der Kinder und Jugendlichen in allen Phasen der Herstellung eines Produktes im Sinne eines funktionierenden Programmes.
Programming is a creative activity that teaches precision. In Logo, novices write simple programs that draw geometric shapes onto a screen. Logical flaws, however, cause unintended results and pose a major challenge for young programmers who need to learn how to search for errors in their code. We discuss the problems novices face when learning to program in Logo. In this work, we present our reverse debugger that supports programmers who are searching for semantic errors. Step by step, they navigate through their code until they identify a problem. Our solution balances both performance and memory consumption and hence can be used to debug even long and complex programs.
Modular design in programming classes at schools
Link to website
The Essence of Programming at School -- Learning for Life
Link to website
JKTQKT COK KOT NGIQKX -- Per Zeitreise zurück zu den Wurzeln der Kryptologie
Link to website
The Essence of Programming at School
Link to website
Women Techmakers Finalist 2016
Niklaus Wirth Award Jury Member 2017/2018
Member of Forum for women in Computer Science, CSNOW (2011-2017)