Games and learning go hand in hand. Children learn social interaction, communication, and even motor skills through playing. Remember, Piaget and early learning theorists broke learning down into formal and informal actions. Play is very much in the informal category, with school in the formal setting. Lately, the gamification movement has pushed to make formal instruction more like a game; emulating game mechanics in learning can have positive effects on overall understanding, engagement with, and recall of information.
I have to admit, I've been apprehensive of gamification due to poor implementation and a shallow approach focused on rote instruction disguised as games. Chris Hesselbein of IGNITEducation pointed me to an article by Joey Lee and Jessica Hammer (2011) in which they define "gamification" as "the use of game mechanics, dynamics, and frameworks to promote desired behaviors." Thin slices - like badging - have made their way from business (FourSquare, etc) into the classroom (ClassBadges, Class Dojo). Specifically, Lee and Hammer note that gamers "recognize the value in extended practice," develop persistence, and hone problem-solving techniques. However, they argue that "intuition" has brought basic game mechanics into schools, but a deeper look is necessary.
By harnessing the innate power of games, you can certainly begin to introduce the concepts of CT in a safe, supportive environment. In particular, Cognitive games ask players to "explore through active experimentation and discovery," (Lee & Hammer 2011). In essence, experiment until you get it right. This approach - as in LightBot - is very effective for pushing students through the computational steps.
Gaming and Computational Thinking
I'm not going to dive deep into each of the ideas within Computational Thinking, but rather look at the game LightBot and how it relates to each component.
Symbols and Abstraction - All games involve abstraction. in LightBot, you give commands through simple glyphs. Your mind has to consider each command and visualize what the robot will do before making decisions. Barr & Stephensen (2011) note that "students are not tool users, but tool builders," and LightBot gives students the tools necessary to build a working solution from nothing.
Decomposition - When I played the game through, I found that breaking each board down into straight runs helped me find a working solution. Corners were where I made mistakes, so working up to each corner helped me solve chunks in order to find a solution for the whole. Grover & Pea (2013) point out that a core idea of CT is "thinking like a computer scientist" to solve a problem. Thinking through dependencies before you can move in another direction is an invaluable skill in coding and something that computer scientists (or even hobbyists) learn very quickly to solve problems.
Efficiency - Segueing in from decomposition, efficient code is the goal. Physical limitations - like storage space or RAM - are present, but there is a sense of pride when you not only solve a problem, but when you solve it well. I read StackOverflow regularly for coding help, and it never ceases to amaze me at how tenacious some discussions get when users are debating the most elegant way to solve a problem. This also hints back to two main questions: "What can humans do better than computers? What can computers do better than humans?" (Wing 2006). By thinking through efficient and elegant solutions, my program will be that much better at doing its job.
Debugging - Depending on your personality, this is every programmer's favorite or most loathed word. Debugging can be as complex as a restructure of code or as simple as finding a missing semicolon. Iteration and close reading are key in this process. It also requires that we think through what the program should be doing and test it against what it is doing to find clues. In fact, debugging alone combines all other aspects of CT as a capstone to any project. Grover & Pea (2013) note that there has been some research exploration into the idea of debugging as assessment because of the myriad cognitive tasks taking place parallel to one another.
Barr, V., & Stephenson, C. (2011). Bringing Computational Thinking to K-12: What is Involved and What is the Role of the Computer Science Education Community? ACM Inroads, 2(1), 48-54.
Grover, S., & Pea, R. (2013). Computational Thinking in K–12 A Review of the State of the Field. Educational Researcher, 42(1), 38-43.
Lee, J. J. & Hammer, J. (2011). Gamification in Education: What, How, Why Bother? Academic Exchange Quarterly, 15(2).
Wing, J. (2006). Computational thinking. Communications of the ACM, 49(3), 33-35.