Skip to content
Phillip SnaluneSeptember 12, 20164 min read

Top Tips for Coding in Schools

By Amy Box,

Head of Schools Liaison

“First solve the problem. Then, write the code.”

Waseem Latif, Computer Scientist and Entrepreneur

Is there a magic formula for teaching your students to code? I think you’ll probably agree with me, that the answer to that question is a big fat ‘No’. Teaching students to code has no ‘one size fits all’ answer or approach, and we as Computer Science teachers are all along for the bumpy ride, testing out what goes well and what doesn’t along the way!

So, what does work? And what top tips would successful Computer Science teachers give to others? I recently posed this question to a number of imaginative and resourceful CS teachers, and was overwhelmed by the array of engaging ideas people have been using in classrooms up and down the Here are a few of the tips people offered up: (along with a few ideas of my own for good measure!)

Encourage computational thinking!

• “Computational thinking should be mastered first, once you understand how to program, learning the syntax is far simpler.”James Clarke (Head of Computing and E-learning, Frensham Heights School)

• “The techniques need to come first then they can be applied in any language. First you need to train [students] how to think, analyse, deconstruct etc then apply that skill to a task in a language.” Rob Leeman (Computer Science Specialist, OCR)

• “Don't give [students] the code to simply copy onto the screen...rather, give them the skills to code the problems themselves” Sam Wicks (www.computerscienceuk.com)

• “Teach [students] to think. Independence in problem solving is key.” Alice Kupara

• Encourage everyone - CS should be inclusive, regardless of gender or background

• This is one of mine. I think we still have a great deal of ground to cover to ensure that CS is a fully inclusive subject. However, I know there is no easy solution to solve this problem. There are a few things that have worked for me in terms of uptake and enjoyment of the subject. I have tried my best to be a positive, female role model. I have also made my classroom “girl friendly” - this article in The Guardian made an amazing wall display with the pictures enlarged to A3, stapled next to the women’s bios. “10 of the best female role models in tech – in pictures”. Finally, choosing activities or topics that are engaging for all students - this can be hit and miss, as lets face it, we’re not always ‘down with the kids’ but definitely worth considering in your planning.

Encourage creativity

“Encourage creativity early. Encourage mistakes. Reject perfection. Value resilience and devil may care attitude over timidness and fear of failure. Get them past the false notion that they are learning how to code desperately dull standard algorithms like sorts and searches but rather are learning how to use a set of tools (the API) to code anything they want.” Martin Legg

Encourage perseverance, students need to be prepared to fail over and over, without giving up!

“Celebrate failure. Recognise that even professional programmers make mistakes, never get things right first time and have 100 bugs before they end up getting something working. They key is being able to work out WHAT is wrong. The person that gets it right on the 100th go has still got it right.” Gavin Craddock

“My biggest tip is to get them comfortable with making mistakes ... the more a student can cope with getting things wrong, and being enthusiastic about understanding why, the more they want to learn. My favourite in class moment was when a year 9 student shouted "Miss, Miss I've got it wrong and I know why ... finally I'm doing this right!"” Emma Johnson

Allow your students space and time to master the art of debugging. I love this idea from Gavin Craddock!

“Rubber duck debugging. It's a strange idea but it works well, particularly in controlled assessments where a student is not allowed to get help from other people. Buy a rubber duck and put it on your desk (or just imagine there is a rubber duck there). When you come across a problem in your code that you can't solve, explain the problem piece of code line by line to the duck. As you're explaining, quite often something will sound strange or illogical and therein lies your error. I have to admit I've never done this with a real rubber duck, but I have lost count of the times when simply explaining what my code should do to someone else has allowed me to pinpoint the error, even when they say absolutely nothing.” Rubber duck debugging.


Thank you so much to all those who contributed - there were so many comments and ideas that I couldn’t possibly fit them all into this article. It is amazing how many good ideas and approaches to teaching and learning everyone has - the CS teaching community is so friendly and there are always people who are happy to share their excellent practice. A happy place to be :)

avatar

Phillip Snalune

CEO & Co-founder. Phillip is concerned with Codio creating a teaching and learning experience that users will find indispensable such that user advocacy drives exponential growth for the company, and in doing so, sees Codio make a measurable positive impact on teacher and learner outcomes from computer science education globally.