Our research involves investigating the viability of teaching computational thinking (CT) to middle school students through application (app) development. Computational thinking is a way of devising, decomposing, and designing ways to solve problems. Many computer scientists and educational researchers consider CT foundational skills for everyone, believing they complement core elements of computer science, and attend to human-computer interactions involving creativity, innovation, collaboration, aiding in structuring and solving problems efficiently (Papert, 1996; Wing, 2006). New guidelines for computer science now include measures to consider CT. Computational thinking has no firm definition, but it is broadly defined as a set of thinking practices characterized by conceptualizing ideas, engineering solutions, and thinking at multiple levels of abstraction (Wing, 2006). It is supported through teamwork, creativity, human interaction with computers, increased visualization, and it aims for global impact – to make a difference in the lives of others (The College Board, 2011). For this research, we draw on Barr and Stephenson’s (2011) definition of computational thinking as a set of techniques that include: problem decomposition, pattern recognition, pattern generalization to define abstractions or models, and algorithm design. These skills are markedly different than traditional computer science skills of decades past that were narrowly focused on knowledge and skills related to technical programming (CSTA, 2005).
- 1 view