Foo is a game that aims to help learners learn how to build and apply mental models consistently, a skill found to be strongly correlated with success in early learning of programming. Foo provides a series of activities in which learners have to experiment with objects that behave in unusual ways, construct a mental model about how these objects work, and apply the mental model to solve problems.