Pushing ahead with Python

So this summer I’ve been coding in Python.

I’v decided to push this in my A Level classes more than learning VB.net, Javascript & PHP. Not because I don’t enjoy doing these languages, but that some students would struggle with switching between these. Perhaps code agnotism only comes with a maturity of having to learn different programming languages over the years?

Categorised as News

Bitesize Revision for GCSE Computer Science

I’ve created a podcast for GCSE Computer Science students to revise topics in small “bite size” chunks.

I’m slowly releasing new episodes, but I’ve committed to doing an episode a week, as I realised people were actually listening to them.

You can either listen using the embed above or go direct to the page here, https://anchor.fm/bitesize-computer-science where you can leave an audio message, which I might include in a future podcast.

Categorised as News

Visualise line by line code execution in Python

I stumbled across this website that allows you to visualise line by line execution ina Python program. This may be useful for students who are unclear about how a function (or blocks of code) run within a program:


This was recommended by Al Sweigart in his Automate The Boring Stuff with Python (https://automatetheboringstuff.com/)

Categorised as News

FutureLearn – Object Oriented Programming in Python

I came across this course on the Raspberry Pi Certified Educators Course this October. It piqued my interest as it uses a text based adventure game to introduce OOP concepts to learners.

I had previously done this with an idea of a Space Invaders game using Visual Basic.NET. This was a fun introduction to concepts and it is easy to create classes and objects in VB. However my current cohort of learners are mostly unfamiliar with VB and have a better grasp of Python.

The course is written by Laura Sach, who I finally met at PiCademy after years of following her on Twitter. And I  thouroughly recommend it as an accessible way of understanding Object Oriented Principles in Python


Poundland Pedagogy

We were asked to go to Poundland with £10 to spend on getting items that would help us teach a Computing lesson. My colleague and I chose to teach the fundementals of OOP and objects usin a selection of toys that we bought – eg some rubber balls, plastic cars, dinosaurs etc.

Here is the outline of teh mini lessonw e gave to our peers:


OOP – Classes, Sub Classes, Inheritance, Properties & Methods

STARTER Get toys out on the table

“What are all these items?” Answer – hopefully “Toys”

These items are all part of the Class of “Toys”

They have similar properties – you can play with them – what else??

What groups can you see here? Get toys and group them by type – eg cars, animals, soft toys

These can be called sub classes which inherit characteristics from the parent class

Pick up two cars.

These are both in the class “Car”

Eg Yellow car and blue car

“These are instances of Car – they are objects or the class Car”

We could name them “YellowCar” and “BlueCar” – or Car1 and Car2


Each car has properties – pieces of information about each car – eg

  • Color
  • Size
  • Number of Doors etc

Can you think of any others?

Properties are essentially static – you can’t easily change them – just read the value

Can you think of some properties of any of the other groups of classes?

E.g. Dinosaurs –

  • Size
  • Number of legs
  • Has it got spikes?


Challenge can you think of a property for the Toys superclass? (eg suitable age, material made of, needs batteries?)

Properties of the parent class are automatically “inherited” by the sub classes

So if the Toy parent class has a property of “suitable age” then the Cars classes will inherit it, so it will also have that property.



Methods are the actions that an object can perform

Eg A car can drive or stop

A Dinosaur can attack

A ball can bounce or be thrown