The subject of children's programming has long been a vexed and controversial one in the field of educational technology. Debates in this area have typically focused on issues such as how to create a child-friendly programming language; or whether children can learn particular topics (e.g., recursion) in programming; or indeed, whether it is worthwhile for children to encounter programming at all. For the most part, these debates have taken place against an implicit background of assumptions about what children's programming looks like