Computer science concepts have an important part in other subjects and thinking computationally is being recognized as an important skill for everyone, which leads to the increasing interest in developing computational thinking (CT) as early as at the comprehensive school level. Therefore, research is needed to have a common understanding of CT skills and develop a model to describe the dimensions of CT. Through a systematic literature review, using the EBSCO Discovery Service and the ACM Digital Library search, this paper presents an overview of the dimensions of CT defined in scientific papers. A model for developing CT skills in three stages is proposed: i) defining the problem, ii) solving the problem, and iii) analyzing the solution. Those three stages consist of ten CT skills: problem formulation, abstraction, problem reformulation, decomposition, data collection and analysis, algorithmic design, parallelization and iteration, automation, generalization, and evaluation.
During the last decade, coding has come to the foreground of educational trends as a strong mean for developing students' Computational Thinking (or CT). However, there is still limited research that looks at coding and Computational Thinking activities through the lens of constructionism. In this paper, we discuss how the knowledge we already have from other thinking paradigms and pedagogical theories, such as constructionism and mathematical thinking, can inform new integrated designs for the cultivation of Computational Thinking. In this context, we explore students' engagement with MaLT (Machine Lab Turtle-sphere), an online environment of our design that integrates Logo textual programming with the affordances of dynamic manipulation, 3D graphics and camera navigation. We also present a study on how the integration of the above affordances can promote constructionist learning and lead to the development of CT skills along with the generation of meanings about programming concepts.
Coding and computational thinking have recently become compulsory skills in many school systems globally. Teaching these new skills presents a challenge for many teachers. A notable example of professional development designed using Constructionist principles to address this challenge is ScratchEd. Upon reflecting on her experiences designing and running ScratchEd, Karen Brennan identified five tensions faced by professional development providers, and proposed that these tensions could be used for scrutinising and critiquing professional development. In this paper we analyse, through the lens of Brennan's tensions, the process we have followed to design, evaluate and improve professional development. We argue that while we have experienced the same tensions, the extent to which we assess learning is a new tension that extends those identified by Brennan. There are strong reasons to assess teachers' knowledge, however, quantitative measures of learning could be at odds with Constructionism: as Papert argued in Mindstorms, constructionist educators should study their learning environments as anthropologists. Consequently, we have called this new tension the tension between anthropology and assessment.
The development of computational thinking is a major topic in K-12 education. Many of these experiences focus on teaching programming using block-based languages. As part of these activities, it is important for students to receive feedback on their assignments. Yet, in practice it may be difficult to provide personalized, objective and consistent feedback. In this context, automatic assessment and grading has become important. While there exist diverse graders for text-based languages, support for block-based programming languages is still scarce. This article presents CodeMaster, a free web application that in a problem-based learning context allows to automatically assess and grade projects programmed with App Inventor and Snap!. It uses a rubric measuring computational thinking based on a static code analysis. Students can use the tool to get feedback to encourage them to improve their programming competencies. It can also be used by teachers for assessing whole classes easing their workload.
The Computer Science Unplugged activities and project has been an influential STEM (Science, Technology, Engineering & Mathematics) initiative, providing enrichment and teaching activities supporting computational thinking. Many of its activities are suitable for children. One of the most popular Unplugged activities is "Kid Krypto", invented by Mike Fellows and Neal Koblitz. Kid Krypto demonstrates the mathematics underlying public-key cryptography without using advanced mathematics. The paper gives an example of a Kid Krypto-style encryption system that is based on disjoint cycles in a graph or network and which is accessible to a very young audience. Also described is the original Kid Krypto system which is based on a version of dominating set called perfect code. The paper urges research scientists to participate in mathematical sciences communication and outreach.