3 Easy Techniques To Teach Programming To Low Ability Students
Computer science can be seen as a game of two halves. There is the theory element such as systems architecture, network protocols and cyber security. But there is also another important element.
Programming and computational thinking.
Most students are able to learn the theory side of computer science. It's a familiar learning method that they would have perfected in other subjects.
But, working out how to solve programming problems is a new skill in which some will not yet have gained confidence. And because of this some students will switch off early and not even attempt to solve the problems assuming they'll never understand it.
How do you overcome this?
You need to help your students build their confidence. Don’t rush through skills that you find easy as they will need to develop them further and make sure they are embedded before you move onto the next skill.
Let’s look at two scenarios. You can either…
Show a screenshot of the completed code on your whiteboard for the students to look at; or
Have your screen projected in front of the class so they can see your screen as you’re typing in the code
The obvious advantage of the first option is that you don’t have to type any code in front of your students.
This saves on the embarrassment of making a typo or, even worse, your students may realise you don’t feel as confident as you pretend when it comes to programming. But, what you see as a boost is actually a massive drawback for many students.
When you display a screenshot of your pre-written code it can appear overwhelming. And some students will switch off if faced with a large chunk of seemingly indecipherable text.
Even though you may talk through each line, it is still a visual overload. And some students may well be trying to read and understand what is on the screen rather than listen to you. They can’t do both at the same time so they inevitably miss out on what you’re saying.
Also, they never get to see you make a mistake, so they don’t realise that making mistakes is a HUGE part of programming. Finding those annoying typos, realising you used the wrong variable name and watching you work out where it went wrong is a valuable learning opportunity.
If your code has already been written, tested and then put into your presentation, they never see the actual work that goes into solving all those niggly bugs. So they won’t know how to solve them when they crop up in their own programs.
Many pupils, no matter their ability, actually benefit from you typing in the code in front of them, commonly referred to as “live coding”.
Advantages of live coding:
It reduces the amount of text displayed at once
It gives you an excellent opportunity to talk about what you're doing, as you do it
They get to see how you make and solve coding mistakes. It also makes a good excuse for some pupil questioning so you can solve it together
It slows down the time it takes to explain the program giving pupils more time to digest the technique
Students can see that creating a program is not always a linear task. We create a bit of code then go up and add a line above it. Then drop down to the end to call that subprogram, before going back to another section and changing something we had written before. If they only see the finished article, they miss out on seeing how you built it
The next time you are planning a lesson and tempted to put in a screenshot of the code, think about if it this is really the best thing to do. See if you can live code instead.
If you're worried that you may forget the code, you can always pop that screenshot you were about to put into your PowerPoint presentation into a document and have it printed and placed strategically on your desk so you can refer to it if you need to.
Can you remember when you first learnt how to walk? No, it’s not surprising. And quite frankly it would be odd if you did.
However, you’ve most likely seen a baby learning to walk whether that be within your own family, friend’s children or even on film.
Nobody props a baby up on their chubby little legs and expects them to get it right first time. They don’t even expect them to get it right the second, third or even fourth time. Babies, like all humans, learn in stages.
First they may grab onto a chair leg, table or more painfully your hair and heave themselves up before taking a few wobbly steps. They grip onto whatever they can before bumping back do