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.
Encyclopedia of Education and Infortmation Technology (2019):
Teaching with Logo philosophy is much more than a mere example of how to use digital technology in education. It is a didactic approach linking the educational concept of constructivism proposed by Jean Piaget with the concept of critical thinking. The approach pursues the goal to educate a new generation that does not believe facts without checking how they were derived. Similarly, products of technology are not just taken for granted, but the underlying construction process is analyzed. In this overview, some of Logo philosophy's key concepts that aim at achieving the abovementioned goals are discussed. Moreover, how to enrich these concepts while still strengthening the philosophy of constructivism and critical thinking is considered.
Logo's history dates back more than half a century; time enough for several hundred environments to be developed which all rely on Papert's famous philosophy of learning. This article presents a selection of Logo environments that shaped the domain of novice programming. Quite contrary to the belief that Logo has gone extinct , this old language is currently experiencing a new upswing with a growing number of students who make their very first steps into the world of programming. At the end of our historic overview, we present a contemporary Logo environment that is used by tens of thousands of students every year and with which the old Logo legacy lives on even today.
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
Programmieren ohne lesen und schreiben zu können
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)