Pupils don't always benefit from doing it themselves

We all know and love the concept of learning by doing. Because of that, many teachers get pupils to type out a program, create a Scratch program or populate a spreadsheet or database themselves. However, there are a number of problems that can arise from this approach.

What will they learn?

What exactly do kids learn from typing data into a spreadsheet, or typing out a program given to them by the teacher? Unless you’re teaching them data entry or keyboarding skills, I don’t see that they are learning anything. Or, rather, they are probably learning something that you hadn’t intended, like “coding is dead boring” or “I’ an idiot because I can’t keep up with everyone else."

Kids always learn something. The issue is whether that’s what you wanted them to learn.

What’s the point?

Given that it can take a whole lesson for someone to enter the data you want them to work with, or the program that you want to discuss, what precisely is gained by making them do that? All you’re doing is ensuring that nobody in the class is going to learn anything at all: the slow ones will still be typing, and the fast ones will be twiddling their thumbs waiting to hear what to do next.


Because of this, there will almost certainly be chaos and pandemonium in the classroom — unless you are fortunate to be teaching pupils who can read and act on the next set of instructions without needing much help or who can find something useful to do. (They can’t be employed to help the slow typists, except by doing the typing for them, which in a way is even worse.) For most teachers most of the time, it will be a recipe for disaster — especially if it’s windy.

Enter (tarrah!) … Learning Objectives

I know it’s become fashionable in some circles to eschew the use of learning objectives for the kids, but they are still pretty handy for the teacher. What do you want them to learn? Decide that, and then devise the activity, and therefore the amount of typing, accordingly. For example:

  • If you want pupils to learn how to debug a program, don’t make them waste their time by typing in one that doesn’t work; instead, give it to them fully formed so they can start debugging right away.
  • If you want them to learn how to construct a Do-While loop, give them a fully-formed program with the loop missing. They will know when they’ve got it right because the program will do what it was intended to do, which is quite good feedback, which doesn’t even require you to give it.
  • If you want them to do modelling using a spreadsheet, give them a spreadsheet with all the data in it and possibly even all the formulae too, depending on the aims of the lesson (for example, you may want to ask them how they think the spreadsheet works).


Here’s the bottom line: give the pupils as much or as little “keyboarding time” as is needed to use the lesson to teach what you actually want them to learn. Anything more or less is useless.