Tools for teaching introductory programming: what works?

1. SUMMARY In the past decade educators have developed a myriad of tools to help novices learn to program. Different tools emerge as new features or combinations of features are employed. In this panel we consider the features of recent tools that have garnered significant interest in the computer science education community. These including narrative tools which support programming to tell a story (e.g., Alice [6], Jeroo [8]), visual programming tools which support the construction of programs through a drag-and-drop interface (e.g., JPie [3], Alice [6], Karel Universe), flow-model tools (e.g., Raptor [1], Iconic Programmer [2], VisualLogic) which construct programs through connecting program elements to represent order of computation, specialized output realizations (e.g., Lego Mindstorms [5], JES [7]) that provide execution feedback in nontextual ways, like multimedia or kinesthetic robotics, and tiered language tools (e.g., ProfessorJ [4], RoboLab) in which novices can use more sophisticated versions of a language as their expertise develops.