BBC Bitesize - Debugging resources and materials

Teachers' skills levels and requirements are key to the delivery of CS, identified here are the stages of teaching and the requirements of teaching

Somerset ELIM have developed a Subject Teacher knowledge requirements document which can be used as the base for your staff development programme

Teaching programming

For some pupils, the fact that there are often several possible answers to a problem can be daunting. Others aren’t used to the ‘rapid fail – correct – fail better’ model of computer programming. Aim to create a classroom environment of mutual respect, and acceptance that people learn through their mistakes. It is not unusual for professional programmers to spend over 50% of their time locating and fixing mistakes in their programs. This can be very challenging for the novice, and it is important to teach pupils techniques for locating and correcting the mistakes they have made. This is not the same as testing, which can tell us that the program does not do what we intended, but cannot tell us why.

When pupils begin programming, they often need assistance in debugging. This can quickly become chaotic if their default is to immediately ask the teacher for help. One way to alleviate this problem is to implement a 'brain, buddy, book (or Internet), then teacher' model, where pupils can only seek help from the teacher once they have exhausted the other routes of support.Link icon

There are lots of websites to teach programming, but you might find that making a custom support site or video will help your pupils progress at their own pace. Encourage pupils to show their understanding by explaining their code line by line to one another. This is sometimes called rubber ducking or rubber duck debugging.


children using computers
You will not know (and do not need to know) the answers to all the questions raised by pupils in a computing classroom. It is important that pupils see you using strategies to debug program code, to find answers and to model different possible solutions. As a teacher, you know how to structure and enable learning, and in the computing classroom it is important for you to research ways to support your pupils’ learning. One method is to purposely insert mistakes in your code and ask pupils to use the techniques you have taught them to find those mistakes.Link icon

Let your pupils explore. Much learning happens through guided exploration. Giving pupils the basic instructions to change the colour of text or create simple graphics will allow them to customise tasks and put their stamp on their work, even when you are only asking for simple functionality such as working out the average of some numbers.

About

Author

Author: Peter Kemp

Acknowledgements

Copyright

Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License