Research

I’m leading LuCE, the Lugano Computing Education research lab at the Software Institute at USI.

Our research focuses on how to learn to program. Here are some highlights:

  • ExpressionTutor.org is a web application for teaching and lightweight assessment of the structure, typing, and evaluation of expressions usable for teaching many different programming languages.
  • PyTamaro is a Python graphics library and a notional machine based on a sound approach to problem decomposition.
  • Progmiscon.org is a curated, structured inventory of over 200 programming language misconceptions.
  • NotionalMachines.github.io is a collection of over 50 notional machines used in computing education practice.

I previously lead SAPE, the Software and Programmer Efficiency research group, here at USI.

Teaching

I love teaching, from introductory courses like “Programming Fundamentals” for Bachelor students, over Masters courses like “Programming Styles”, to courses for high school informatics teachers like “Programmiersprachenkonzepte” or “Metodi di Insegnamento dell’Informatica” and special courses like “How Learning Works” for PhD students.

Service

ICER’21 and ICER’22

I served as a site co-chair of the ACM Conference on International Computing Education Research in 2021 (we held ICER 21 virtually in Clowdr) and in 2022 (we held ICER 22 in a hybrid fashion, both in Lugano and online–check out our report on Hybrid > Physical + Virtual), together with program chairs Amy Ko, Jan Vahrenhold, and Kathi Fisler, and site co-chairs Renee McCauley and Diana Franklin.

National and State Informatics High School Teacher Training Programs

I am passionate about helping to grow a strong computer science learning experience in Swiss high schools. I was involved in organizing the EFI-CH program to prepare high school teachers to teach the optional informatics course when it was introduced, and I am currently involved in multi-year programs to prepare teachers for the new mandatory informatics course. Together with Antonio Carzaniga I direct the corresponding program in Cantone Ticino, and with my colleagues of the GymInf Programmkomittee I help to organize the Swiss national program. I also enjoy teaching courses in both programs.

High School Informatics Textbooks

I contributed to the high school informatics textbook Informatik - Programmieren und Robotik lead by Juraj Hromkovič for Klett Verlag (focusing on teaching programming in Python), and I contributed to Shuchi Grover’s Computer Science in K-12: An A-To-Z Handbook on Teaching Programming.

Introducing Artifact Evaluation

Together with Steve Blackburn, I chaired OOPSLA’s first Artifact Evaluation Committee. The committee’s task was to evaluate the artifacts submitted by authors of OOPSLA research papers. For more information, read our Artifact Evaluation Artifact.

Evaluate Collaboratory

Together with Peter Sweeney, Steve Blackburn, and Amer Diwan I built the Evaluate Collaboratory, a resource and a hub for everybody interested in understanding and improving the state of practice in experimental evaluation of computer systems and software. We also co-organized the series of Evaluate workshops co-located with programming languages conferences.

Faculty of Informatics - Ten Year Anniversary

I joined our faculty in 2005, one year after its birth. In October 2014, we celebrated our Ten Year Anniversary. Together with Rosario Maccarrone and other great staff at USI, I was responsible for the celebration. We developed a large exhibit in the form of an interactive science center, including workshops and seminars, to introduce the topic of informatics to local high school students and the general public.

We had over 1000 visitors, a billboard campaign, TV appearances, and radio shows. The public response was outstandingly positive, and our students, who ran the exhibits and workshops, were truly amazing in teaching informatics to children and adults alike.

SPLASH-E: Programming Languages & Education

SPLASH-E Logo

Concepts that should inform how we teach programming from kindergarten to college. Together with Steve Blackburn (ANU) I organized SPLASH-E’16 as a one-day working meeting that brings together content experts from the programming languages research community and experts in computer science pedagogy, with the following goals: (1) Building on prior work, identify and enumerate the foundational concepts of computation. (2) More ambitiously, for each concept, create a detailed plan for a lesson (or short sequence of lessons) for 8 year olds, to teach the concept.