Computational thinking (CT) has been introduced in primary schools worldwide. However, rich classroom-based evidence and research on how to assess and support students’ CT through programming are particularly scarce. This empirical study investigates 4th grade students’ (N = 57) CT in a comparatively comprehensive and fine-grained manner by assessing their Scratch projects (N = 325) with a framework that was revised from previous studies to aim towards enhancing CT. The results demonstrate in detail the various coding patterns and code constructs the students programmed in assorted projects throughout a programming course and the extent to which they had conceptual encounters with CT. Notably, the projects indicated CT diversely, and the students altogether encountered dissimilar areas in CT. To target the acquisition of CT broadly, manifold programming activities are necessary to introduce in the classroom. Furthermore, we discuss the possibilities of applying the assessment framework employed herein to support CT education through Scratch in classrooms.
Computer programming skills have been growing as a professional competence also to unqualified end-users who need to develop software in their professional practice. Quality evaluation models of end-user-developed products are still scarce. In this paper, we propose a metric that leverages “When”, a condition typically found in block-based software development frameworks. We evaluated 80 Scratch projects collecting a metric related to the presence of the When condition and investigated common traits and differentiation with other metrics already proposed in the literature. We found that, in an evaluation with respect to the conditionals found in Scratch projects, When delivers a distinct and complementary approach to software complexity in products developed using block-oriented software development tools.
Scientific issues like the behavior of wild and domesticated animals can serve as a motivation to learn programming concepts. Instead of following a systematic introduction, the students directly dive into programming and start immediately with their projects. In this constructionist approach the educational challenge for the teacher is to provide suitable scaffolds like step-by-step instructions, architectural spike solutions, discovery questions, puzzles and role plays, which support individual and self-directed learning.