How do I assess the development of CT?
There are different strategies for assessing the development of computational thinking. In our work, we have relied primarily on three approaches: (1) artifact-based interviews, (2) design scenarios, and (3) learner documentation. Using these approaches, we have particularly focused on evolving familiarity and fluency with the computational thinking practices. The focus on practices emerged through work with young learners — realizing that most concept-oriented assessments (e.g., checking for the presence of particular blocks in a projects as indicators of concept fluency, quizzes about definitions of concepts) were insufficient in representing a learner's development as a "computational thinker". Knowing the definition of a concept was not useful if unaccompanied by familiarity and fluency with computational practices to put the concepts into action within a particular creation.
Our interview protocol involves several categories of questions (defining Scratch, providing feedback, solving problems, and developing projects) at three different moments in time (after first introduction to Scratch, at the mid-point of the learning experience, and as part of culminating activities).
Our rubric for assessing evolving fluency with computational practices elaborates the four practices (experimenting and iterating, testing and debugging, reusing and remixing, and abstracting and modularizing) and offers possible indicators of low, medium, and high levels of proficiency. These indicators are also illustrated in the "Practices in Practice" videos shared in the section below.
We developed three sets of Scratch projects of increasing complexity, all available in this studio in the Scratch online community. Within each set, there are two projects; the projects engage the same concepts and practices, but have different aesthetics to appeal to different interests.
In a series of three encounters, students are presented with the design scenarios, which are framed as projects that were created by another young Scratcher. The students are then asked to select one of the projects from each set, and (1) explain what the selected project does, (2) describe how it could be extended, (3) fix a bug, and (4) remix the project by adding a feature.
Here, we share three possible examples of reflective work by learners. As a first example, learners could maintain a journal, either paper-based or digital (such as this online Google presentation document). Potential prompts for journal reflections are available in the Creative Computing curriculum guide and in this computational thinking practices journal, which includes sample student responses.
As a second example, learners could annotate their code using Scratch’s built-in commenting feature, explaining design and implementation decisions. As a third example, learners could use screen capture software to provide a visual walk-through of their work, narrating their observations and intentions.