Why a great teacher can make all the difference

When we think back to our school days, we can all recall that one teacher who inspired us, believed in us, and made all the difference to how we approached a particular subject. It was someone we maybe took for granted at the time and so we only realised (much) later how amazing they were. 

I hope this post makes you think of a teacher or mentor who has made a key difference in your life!

Here computer science student Jonathan Alderson and our team’s Ben Garside talk to me about how Ben supported and inspired Jonathan in his computer science classroom.

Ben Garside and Jonathan Alderson holding physical and virtual chess games
The teacher: Ben Garside. The student: Jonathan Alderson.

Hi Jonathan! How did you get into computing?

Jonathan: My first memories of using a computer were playing 3D Pinball, Club Penguin, and old Disney games, so nothing productive there…or so I thought! I was always good at IT and Maths at school, and Computing seemed to be a cross between the two, so I thought it would be good.

Jonathan and Ben, can you remember your time working together? It’s been a while now! 

Jonathan: I met Mr Garside at the start of sixth form. Our school didn’t have a computer science course, so a few of us would walk between schools twice a week. Mr Garside really made me feel welcome in a place where I didn’t know anyone.

When learning computer science, it’s difficult to understand the importance of new concepts like recursion, classes, or linked lists when the examples are so small. Mr Garside’s teaching made me see the relevance of them and how they could fit into other projects; it’s easy to go a long time without using concepts because you don’t necessarily need them, even when it would make your life a lot easier.

Mr Garside really made me feel welcome in a place where I didn’t know anyone. […] Mr Garside’s teaching made me see the relevance of [new computer science concepts] and how they could fit into other projects.

Jonathan Alderson

Ben: It was a real pleasure to teach Jonathan. He stands out as being one of the most inquisitive students that I have taught. If something wasn’t clear to him, he’d certainly let me know and ask relevant questions so that he could fully understand. Jonathan was also constantly working on his own programming projects outside of lessons. During his A level, I remember him taking it upon himself to write a program that played chess. Each week he would demonstrate the progress he had made to the class. It was a perfect example of decomposition as he tackled the project in small sections and had a clear plan as to what he wanted to achieve. By the end of his project, not only did he have a program that played chess, but it was capable of playing against real online users including making the mouse clicks on the screen!

Moving from procedural to object-oriented programming (OOP) can be a sticking point for a lot of learners, and I remember Jonathan finding this difficult at first. I think what helped Jonathan in particular was getting him to understand that this wasn’t as new a concept as he first thought. OOP was just a different paradigm where he could still apply all of the coding structures that he was already confident in using.

That sounds like a very cool project. What other projects did you make, Jonathan? And how did Ben help you?

Jonathan: My final-year project, [a video game] called Vector Venture, ended up becoming quite a mammoth task! I didn’t really have a clue about organising large projects, what an IDE was, or you could split files apart. Mr Garside helped me spend enough time on the final report and get things finished. He was very supportive of me releasing the game and got me a chance to speak at the Python North East group, which was a great opportunity.

Ben: Vector Venture was a very ambitious project that Jonathan undertook, but I think by then he had learned a lot about how to tackle a project of that size from previous projects such as the chess program. The key to his success was that whilst he was learning, he was picking projects to undertake that he had a genuine interest in and enjoyed developing. I would also tell my A level students to pick as a project something that they will enjoy developing. Jonathan clearly enjoyed developing games, but I also had students who picked projects to develop programs that would solve problems. For example, one of my students developed a system that would take online bookings for food orders and manage table allocation for a local restaurant.

I would tell my A level students to pick as a project something that they will enjoy developing.

Ben Garside

I think that point about having fun while learning something challenging like programming is really important to highlight. So what are you doing now, Jonathan?

Jonathan: I have just completed my undergraduate degree at the University of Leeds (UoL) with a place on the Dean’s List and am staying to complete a Masters in High Performance Graphics. 

During my time at UoL, I’ve had three summer placements creating medical applications and new systems for the university. This helped me understand the social benefits of computer science; it was great to work on something that is now benefitting so many people. My dissertation was on music visualisation, mapping instrument attributes of a currently playing song to control parameters inside sharers on the GPU to produce reactive visualisations. I’ve just completed an OpenGL project to create procedural underwater scenes, with realistic lighting, reflections, and fish simulations. I’m now really looking forward to completing my Game Engine project for my masters and graduating.

Teachers are often brilliant at taking something complicated and presenting it in a clearer way. Are those moments of clarity part of what motivates you to teach, Ben? 

Ben: There are lots of things that excite me about teaching computer science. Before I worked for the Raspberry Pi Foundation, there was a phrase I heard Carrie Anne Philbin say when I attended a Picademy: we are teaching young people to be digital makers, logical thinkers, and problem solvers, not just to be consumers of technology. I felt this really summed up how great it is to teach our subject. Teaching computer science means that we’re educating young people about the world around them and how technology plays its part in their lives. By doing this, we are empowering them to solve problems and to make educated choices about how they use technology.

Teaching computer science means that we’re educating young people about the world around them and how technology plays its part in their lives.

Ben Garside

As for my previous in-school experiences, I loved those lightbulb moments when something suddenly made sense to a student and a loud “Yesssss!” would break the silence of a quietly focused classroom. I loved teaching something that regularly sparked their imaginations; give them a single lesson on programming, and they would start to ask questions like: “Now I’ve made it do that…does this mean I could make it do this next?“. It wasn’t uncommon for students to want to do more outside of the classroom that wasn’t a homework activity. That, for me, was the ultimate win! 

How about you?

Who was the teacher who helped shape your future when you were at school? Tell us about them in the comments below.

Jump to the comment form


Thanks for having me : )

Reply to Jonathan Alderson


In my education experience, there was only one, obviously passionate teacher about computer programming. We need more teachers like Ben Garside.

Reply to Harry Hardjono

Leave a Comment