The problem with teaching Computer Science and programming
One of the difficulties I had when I started teaching Computer Science and programming was running around like a headless chicken trying to help people who got stuck. In fact, it turned into an unpleasant game of whack-a-mole where for every person you helped two more hands went up.
The simple solution
Since those days, many people have quoted “See three before me”, “c3b4me” and similar. Whilst this is a great technique, and wonderful catch phrase, I felt that it needed something extra. And there is a neat little twist which I added that made this technique work far more effectively.
So here is what I told my Computer Science classes when I was teaching them, particularly when teaching programming.
- Try and solve the problem by studying it
- Use resources to help solve the problem – Google, The board, A book
- Ask the people to your left and right for help
- Ask a third person in the room
So nothing clever so far. But here is the trick…
Don’t answer their question
If a student asks you for help then do not let them ask you their question. Instead, ask their friend what the question is. After all, if they asked their friend then they must know what it is. Nine times out of ten they won’t know. Now simply walk away and this will force the person with the question to ask other people before you.
In the case that they have asked their friend, ask them who else in the class they asked. Also, ask them where else they looked for an answer (e.g. Google, Stackexchange etc). If they can’t answer then don’t have a go at them, instead ask their friend why they didn’t suggest something! This gives their friend accountability to listen and make some helpful suggestions.
You will cut down the majority of questions by doing the above whilst building more independent learners.
What to do if no one knows the answer and they’ve tried to find out
This is now the perfect situation. You now have four people in the class (at least) who all don’t know the answer to a question and at least one of them wants to know. So you can show all four in one go how to answer the question.
Why it works so well
The beauty of this technique is that when someone else asks you for some help and it is a similar question, you can direct them to one of the four who you have already helped. This then turns them from being helpless, into being the expert.
This leaves you, as the teacher, only answering questions that are both original and where you know at least four people in the class don’t know the answer.
Never answer student questions at all
Look at the following example with the students Alex, Pete, Kirsty & Tim
- Pete: [Puts hand up]
- Teacher: [Goes to Alex] Alex, what is Pete’s problem?
- Alex: He doesn’t understand why he gets a syntax error
- Teacher: What has he tried so far?
- Alex: Well, he’s changed the code and looked on stackexchange, but none of us can work it out
- Teacher: Who else have you asked for help from?
- Pete: I asked Kirsty & Tim
- Teacher: Okay, let’s get them over here and we’ll take a look at how to solve it.
Do you notice that all the questions come from the teacher and you never actually answer a student’s question?
I found this saved incredible amounts of time and frustration. I’d love to know your thoughts.