About Expression Tutor

The backstory

Who?

Expression Tutor was developed at the Lugano Computing Education research lab (LuCE) at the Software Institute of the Università della Svizzera italiana (USI) in Lugano, Switzerland.

Contributors (in alphabetical order):

  • Alen Sugimoto
    Alen Sugimoto

    Feedback generation and misconception detection

    Bachelor student in the Faculty of Informatics at the Università della Svizzera italiana (USI) - Internship

  • Andrea Gallidabino
    Andrea Gallidabino

    Management and contributions throughout

    Postdoctoral fellow at the Software Institute, Università della Svizzera italiana (USI)

  • Armend Azizi
    Armend Azizi

    Classroom extension

    Master student at the Software Institute, Università della Svizzera italiana (USI) - Master thesis

  • Cristian Buratti
    Cristian Buratti

    Custom activity designer and runtime

    Master student at the Software Institute, Università della Svizzera italiana (USI) - Master UROP internship

  • Igor Moreno Santos
    Igor Moreno Santos

    Programming language theory

    PhD student at the Software Institute, Università della Svizzera italiana (USI)

  • Joey Bevilacqua
    Joey Bevilacqua

    Automatic activity generation and analysis backend

    Master student at the Software Institute, Università della Svizzera italiana (USI) - Bachelor thesis and internship

  • Luca Chiodini
    Luca Chiodini

    Management and contributions throughout

    PhD student at the Software Institute, Università della Svizzera italiana (USI)

  • Matthias Hauswirth
    Matthias Hauswirth

    Management and contributions throughout

    Professor at the Software Institute, Università della Svizzera italiana (USI)

  • Mejrima Smajilbasic
    Mejrima Smajilbasic

    Automated worked examples

    Bachelor student in the Faculty of Informatics at the Università della Svizzera italiana (USI) - Bachelor thesis

  • Nicola Brunner
    Nicola Brunner

    Text-UI for visually impaired students

    Bachelor student in the Faculty of Informatics at the Università della Svizzera italiana (USI) - Bachelor thesis

  • Renato Iannace
    Renato Iannace

    Java bytecode editor

    Bachelor student in the Faculty of Informatics at the Università della Svizzera italiana (USI) - Bachelor thesis

  • Tiziano Marsetti
    Tiziano Marsetti

    Expression tree component

    Bachelor student in the Faculty of Informatics at the Università della Svizzera italiana (USI) - Bachelor thesis

Why?

A large fraction—often the majority—of source code consists of expressions. When teaching programming in various languages, we noticed that students often did not fully understand the expressions they created. To help us teach expressions, and to make the relevant concepts more visible, we developed the “expression as tree” notional machine and its web-based realization in the form of Expression Tutor.

How?

Expression Tutor is a React web application built on top of Next.js. Its backend consists of different services implemented using a multitude of technologies.