Abstract :
Blocks programming environments (e.g., Scratch, Blockly, App Inventor, Snap!, Pencil Code, Alice/Looking Glass, AgentSheets/AgentCubes) represent program syntax trees as compositions of visual blocks. Through activities like Code.org´s Hour of Code, these languages have become extremely popular ways to introduce programming and computational thinking to tens of millions of people of all ages and backgrounds, from grade-schoolers to President Obama. Proponents of blocks languages claim that blocks languages lower barriers to programming and enhance learning, while detractors complain that they are not particularly visual and are just toy languages from which it is difficult to transition to “real” text-based programming.