Language-based support for computational thinking

This paper explores the potential for simplified programming languages to support the development of computational thinking skills in non-programmers. We suggest that novice programming languages might offer a starting point for non-programmers to engage with a substantial subset of computational thinking concepts, and assess a number of languages from this perspective. We outline four key computational thinking skills and examine the support provided by existing languages. We then describe additional characteristics which would be important for a new language aimed specifically at developing computational thinking skills.

[1]  Kenneth M. Kahn,et al.  ToonTalk - An Animated Programming Environment for Children , 1996, J. Vis. Lang. Comput..

[2]  Larry Tesler,et al.  Novice Programming Comes of Age , 2001, Your Wish is My Command.

[3]  A. Bundy Computational Thinking is Pervasive , 2007 .

[4]  KelleherCaitlin,et al.  Lowering the barriers to programming , 2005 .

[5]  John Maloney,et al.  Back to the Future The Story of Squeak, A Practical Smalltalk Written in Itself , 1997 .

[6]  Caitlin Kelleher,et al.  Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers , 2005, CSUR.

[7]  Mark Guzdial,et al.  EducationPaving the way for computational thinking , 2008, CACM.

[8]  Michael Kölling,et al.  The BlueJ System and its Pedagogy , 2003, Comput. Sci. Educ..

[9]  Steven M. Hadfield,et al.  RAPTOR: a visual programming environment for teaching algorithmic problem solving , 2005, SIGCSE '05.

[10]  Jeannette M. Wing Computational thinking and thinking about computing , 2008, Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences.

[11]  Peter J. Denning,et al.  Computing is a natural science , 2007, CACM.

[12]  George H. L. Fletcher,et al.  EducationHuman computing skills: rethinking the K-12 experience , 2009, CACM.

[13]  Mitchel Resnick,et al.  Programming by choice: urban youth learning programming with scratch , 2008, SIGCSE '08.

[14]  Daniel Wendel,et al.  3D game design with programming blocks in StarLogo TNG , 2006 .

[15]  Alexander Repenning,et al.  AgentSheets: End-User Programmable Simulations , 2000, J. Artif. Soc. Soc. Simul..

[16]  Jeannette M. Wing An introduction to computer science for non-majors using principles of computation , 2007, SIGCSE.

[17]  Randy Pausch,et al.  Alice: a 3-D tool for introductory programming concepts , 2000 .

[18]  Michael Kölling,et al.  Game programming in introductory courses with direct state manipulation , 2005, ITiCSE '05.

[19]  David Canfield Smith,et al.  Programming by example: novice programming comes of age , 2000, CACM.

[20]  Kent L. Beck,et al.  Playground: An Object-Oriented Simulation System With Agent Rules for Children of All Ages , 1989, OOPSLA.