Activity Sequences

While any Expression Tutor activity can be used in isolation, here we show a few example learning units that consist of short sequences of activities.

The following activity sequences cover a variety of programming languages. Expression Tutor, and the underlying "expression as tree" notional machine, can be used to teach aspects of any programming language that includes the concept of expressions. Note that the following sequences are by no means complete. They just serve as inspiration for how you could use Expression Tutor in your own teaching.

  • Java

    Use expression trees when teaching method invocation in Java

  • Python

    Use expression trees to teach about the connection between lambdas and list comprehensions in Python

  • JavaScript

    Use expression trees to teach spread syntax in JavaScript

  • Scala

    Use expression trees when teaching expression desugaring in Scala

  • Racket BSL

    Use expression trees to teach how to implement Boolean operators with if in Racket BSL

  • Haskell

    Use expression trees to explain how everything is curried in Haskell

  • Untyped Lambda Calculus

    Use expression trees when teaching logic with Church Booleans

  • Elementary Algebra

    Use expression trees when introducing variables in elementary algebra

To build your own activity sequences, create your own web page (or a page in your learning management system), design some Expression Tutor activities, and embed them in your page as iframes.