Assessing Coding / Computational Thinking

About

In this session, we will give examples of some different approaches for assessing Coding and Computational Thinking. Many of these examples are discussed in more detail in two different sources that we have drawn on for this presentation. The first source is Issue 3 of the Hello World magazine, which is a free online magazine for educators about computing and digital making. The second source is the Supporting teachers to assess F–10 Digital Technologies report created by researchers from the Computer Science Education Research (CSER) Group at the University of Adelaide and Education Services Australia.

Bebras

Bebras is a challenge that is run bi-annually in Australia in which students answer problems that test their Computational Thinking ability. The challenges are open to students from Year 3 to Year 12 and they contain questions that vary in difficulty (Easy, Medium and Hard).

You can also access and work through previous years’ challenges’ questions by following the Challenge Questions links on the Bebras 365 page of the Bebras website. When you work through these questions, you will receive instant feedback on whether you answered them correctly or incorrectly. There are also Solution Guides available for download from this page, which explain the answers to each of the questions and also describes how each of questions relates to different Coding and Computational Thinking concepts.

Project Quantum

Project Quantum is a project that involves developing a large bank of questions for assessing Coding, Computational Thinking and general Digital Literacy. To access and use questions from the Project Quantum question bank, you will have to register an account on the Diagnostic Questions website. Using this website, you can view the questions that have been created for Project Quantum and you you can also create your own questions. Then, you could use the Diagnostic Questions website to create quizzes for formative assessment of your students’ Coding and Computational Thinking abilities.

One of the main organisations that has been involved in the development of Project Quantum is Computing At School. Computing At School is an organisation that provides support and guidance to many UK primary and high school teachers implementing the Computing curriculum (the UK’s equivalent of the Australian Digital Technologies curriculum).

Dr Scratch

Dr Scratch is an online tool for performing automatic assessment of Scratch programs. Dr Scratch analyses a Scratch project and gives a mark out of 3 for each of the following Coding concepts: Flow control, Data representation, Abstraction, User interactivity, Synchronization, Parallelism and Logic.

You could try Dr Scratch on the Dancing Cat program that we created in Scratch yesterday. To do this, copy and paste this url: https://scratch.mit.edu/projects/173543499/ into the textbox above the Analyze By URL button and then click the button. You will be able to see how the program scored for each concept and you can also click on each of the different concepts to be taken to a webpage that will explain why you received the number of points. You may notice that the Dancing Cat program that we made does not score very well in Dr Scratch - it only scores 8 out of 21 possible points. The score given by Dr Scratch is not necessarily a reflection of a students’ understanding of Coding and Computational Thinking, the score is really a measure of how complex a Scratch program is.

The developers of Dr Scratch do note that the tool is in beta and is not intended to be used for diagnostic assessment without other assessment approaches. They recommend that students use Dr Scratch as a tool to self-evaluate and reflect on the Scratch programs they create and that teachers use it as a tool to support formative assessment. There are also some suggestions for using Dr Scratch for supporting students learning Coding and Computational Thinking on the Digital Technologies Hub website

Debug Its

Debug Its are Scratch programs that were created as part of the Creative Computing Curriculum Guide that we looked at in an earlier workshop session.

Debug Its are Scratch programs that have some problem that is preventing them from working as expected. For example, in this Debug It one of the sprites dance but the other does not. To complete a Debug It activity, students need to figure out what is causing the problem and how to fix it. This process of finding the problem and fixing it is called Debugging, which is often a large part of professional Software Engineers’ and Computer Scientists’ work.

There are Studios of Debug It projects for most of the Units in the Creative Computing Curriculum Guide (except for Unit 0). For example, there is a Studio of Debug Its for Unit 2 (Animations) and Unit 3 (Stories). You may want to use these Debug It programs (or programs with problems that you create yourself) to help your students learn how to debug and check their understanding of certain Coding concepts.

Parsons’ Problems

Parsons’ Problems are small Coding problems where snippets of Code are given in random order and must be arranged in the right order to create a working program. Sometimes students may get caught up in syntax errors in their code written in a Text language and lose focus on the Computational Thinking aspects of Coding. Parsons’ problems are intended to lower the cognitve load of Coding puzzles so that students can focus on the Computational Thinking. Parsons’ problems are used in the CSLearning4U eBooks that have been designed for teaching Computer Science to High School students and teachers in the US. For example, on this page of the Students’ Comptuer Science Principles eBook there is a Parsons’ Problem where students arrange Code to create a MadLib program.

Most examples of Parsons’ Problems involve snippets of Code written in a Text language but they could also be used as an approach for assessing students’ understanding of Coding concepts in Blocks languages like Scratch. We have created an example of a Parsons’ Problem created in Scratch to demonstrate how a Parsons’ Problem could work for a Blocks language.