Testing pupils using stories (Update)

This is an updated version of an article I wrote in 2020. This version includes some ChatGPT-generated additions.

Idea lightbulb, by Terry Freedman

Idea lightbulb, by Terry Freedman

Everyone loves a good story — or, as I’ve found, even a bad one! One of the approaches I used to test kids was that of a story. Setting the usual kinds of test can be boring and off-putting. Setting a story test can be much more satisfying for the pupils, and lead to a good discussion in the classroom afterwards.

In essence, the stages are as follows:

  1. Decide on what you’re trying to ascertain as far as your pupils’ knowledge, skills and understanding are concerned.

  2. Write a short story containing some inaccuracies.

  3. Ask the pupils to identify the 10 (say) errors, and say why they are errors.

  4. Ask the pupils to rewrite those bits of the story, or at least correct the errors.

  5. Have a class discussion about it.

For example, an error might be a wrong spreadsheet function, incorrect syntax in a snippet of code, or simply a less efficient block of code than ideal.

Now that we have ChatGPT to help out, I tried a very simple experiment. I was quite pleased with the result. It’s very short and very simple, because I didn’t want to waste a load of time on something that proved to be pointless. Here it is.

The prompt I used was:

write a program in BASIC to ask the person's name and then print "Your name is" followed by their name. But put an error in the code

This is how ChatGPT replied:

Certainly! Here's a program in BASIC that asks for the person's name and prints it with an intentional error in the code:

```

10 PRINT "What is your name?"

20 INPUT name

30 PRINT "Your name is" name

40 PRINT "Have a nice day!"

50 END

```

In the above program, the intentional error is the missing concatenation operator (`&`) between the string "Your name is" and the variable `name`. Without the concatenation operator, the program will throw a syntax error.

Please note that BASIC programming languages may vary slightly depending on the specific version or dialect you are using. The provided code assumes a basic version of BASIC.

Let me know if you need any further assistance!

I was pleased with that for the following reasons:

  • It’s a proof of concept. I’m confident that I could ask ChatGPT to write a much more complex program littered with errors, which I could then use in debugging exercises.

  • It set out what the errors actually were, meaning I could copy and paste that information into an answer sheet.

  • Taking those two points together, it would save me a lot of time and hassle, though obviously you would need to check that ChatGPT was completely correct before you set the exercise for students.

It’s a good idea for the pupils to work in pairs, especially at stage 4, because quite often there is not only one unequivocal solution.

When I did this, I found that the stories didn’t take me very long to write, because I wasn’t aiming to win any short story awards.

I also found that the pupils found it engaging.

I read once that there is a danger with this sort of thing that pupils may remember the mistakes rather than the corrections. I suppose that could happen, but all I can say is that I never found that to be the case. I think the process of small group or paired discussion, followed by a whole class discussion, mitigates against that possibility.


If you found this article interesting and useful, why not subscribe to my newsletter, Digital Education? It’s been going since the year 2000, and has news, views and reviews for Computing and ed tech teachers.