Testudinata

Learning to program is difficult for most children. Most of the interfaces designed to help children experience and understand programming are based on imperative programming. However, early exposure to functional programming have been found to have many benefits over imperative programming. We describe a tangible interface, Testudinata, that helps to make a fundamental concept of functional programming - function composition - more approachable to younger learners in elementary and middle school. Using Testudinata, learners can design, implement, and test various compositions of pre-made functions on a tangible user interface (TUI), while observing and comparing results on a graphical user interface (GUI). Through the combination of a TUI and GUI, the learners will be able to gain basic understanding of of function composition in a fun and engaging way.

https://doi.org/10.1145/3202185.3210762
Emulator

Pictures

Function plate
Function plate
Reader layer
Reader layer
Reader layer with a function plate
Reader layer with a function plate
The pipe
The pipe
Function plates with symbols
Function plates with symbols
Example screen output
Example screen output