computer science education · programming · teachers · teaching

RIP Python School

We’re all involved in so many projects and love to share our latest new thing, through blogs and social media. New beginnings and amazing solutions. However, this post is about the end of a thing. It is perhaps rather indulgent of me to share the story of Python School at such length but closing it down has enabled me to reflect on programming education and how far we have come in the last 11 years.

Python School was a website set up by Adam McNicol and myself in 2011 at, with around 100 video tutorials (still available for a few months on Vimeo) for teachers wanting to teach Python, with worked-through examples, and with all code examples available for teachers to try at home on the PythonSchool GitHub. It closed for good on 8th May 2022. 

RIP home page

Back when nobody taught Python

Back in the 2000s, when teaching programming to sixth-form beginners, the language du jour was either a Pascal/Delphi combination or Visual Basic 6.  Every year parents used to bemoan the fact that we taught Pascal and encourage us to teach something a bit more useful in the real world. So in 2009, I switched to teaching Python to our 100-strong A-Level cohort (the joys of sixth form colleges!) after having taught myself the basics. It was a bit of a risk given the size of our cohort. I was inspired to switch to Python because somebody quite visionary at AQA had decided that it was one of the available languages for the COMP1 examination when it first started (remember that?) and the code given to the students to work on was much shorter than for all the other languages available! I also volunteered to mark the examination entries using Python (there were not very many!).

For teaching, I settled on Python 3 from the outset, although there were almost no materials available in anything but Python 2, and at that time there was also nothing remotely useful for school available. It was certainly challenging. The staff in my team had to take industry-standard materials and try to work out more age-appropriate ways of teaching not only the basics of programming but also how to do A-Level projects using databases, web servers and GUIs. When I left to move into teacher training at Anglia Ruskin University in 2011, Adam took over my job from me, and hugely improved all the resources I’d started to create.

The first Python Summer School

In my new role at Anglia Ruskin, I applied for a £5000 grant to support teacher training for ICT and was successful. Adam and I used it to run Python courses for teachers and the first Python Summer School ran in July 2011, primarily for student teachers of ICT, but with a few keen qualified teachers too. It was a great success so we ran it again … and again … and it became Python School. The website started as a handy place to share the materials that the teachers had to work on. Adam and I spent many evenings recording video tutorials – I can hear my dog barking on some of them! 

In January 2012, Michael Gove announced that ICT was being disapplied and that there was going to be a more technically-oriented subject in its place. Suddenly lots more teachers wanted to learn programming. So with the website materials available, we were able to support teachers in learning the basic elements of Python programming, and ran sets of 8-week evening classes term after term for local teachers in Essex, Herts, and East London, all of which sold out very quickly. Sophie Baker, another CS teacher, joined the delivery team, and we were able to promote these through also running the CAS Hub in Essex. 

Also in 2012 we were successful in winning a Google CS for High Schools grant to run more Advanced Python school sessions with teachers. For this, we recorded more videos, on server-side scripting, databases, object-oriented programming and also a full course on PyQt. For PyQt, Adam created a great course whereby students developed an entire application (for some reason it was about cows …). More 2-day weekend courses were put on in Cambridge and Chelmsford. Primarily our audience was A-Level teachers in the same position I’d been in a few years before, looking for a more relevant programming language for their CS teaching, but the courses also attracted the “early adopters” of the new computing curriculum, who weren’t teaching A-Level, but were excited about the impending curriculum change. 

We continued to run our evening classes over the next few years, and Adam continued to build the website and make it more self-sustaining so that it was easy and cost-efficient to run. We also continued to offer a summer school (5 intensive days), which has to be the most exhausting, and also fun, week of teaching I’ve ever participated in!

The website takes off

I am never quite sure what the phrase “life happened” really means, but certainly it did. The chronology is a bit hazy but at some point, I left Anglia Ruskin and started work for Computing At School. Python School evening classes continued but I had other priorities. Adam and Sophie ran a few without me. However, we were able to point teachers to the materials on the website and it was at that point the numbers using the materials began to hugely grow. 

Teaching Graphical User Interfaces

We suddenly noticed that our audience was becoming international – literally being accessed from all around the world. Teachers were also telling us that they were getting students to use it directly (not the aim of the website) so we could see spikes of usage for afternoon lessons! We were surprised and pleased to see that we were consistently getting tens of thousands of users and video views. In those days the set of tutorials marked “Basics” were the most popular; when I looked at the recent statistics it was the object-oriented materials that are now the popular ones. Although we are closing the website down, there are still 2-3K users per month.  Sorry to those people. 

We moved on

As often happens, over time our priorities changed. By 2015 I had moved to King’s College London and, together with Queen Mary University of London, ran the  CAS London university hub from 2015 – 2018, which involved more evening classes on a range of different topics, but which were primarily delivered by CAS Master Teachers. Meanwhile, Adam had started to work as a software developer and moved to Northern Ireland, where he still lives. I started focusing on pedagogy rather than content delivery and developed PRIMM to support teachers in structuring programming lessons.

By 2018, I had moved to the Raspberry Pi Foundation, we were successful in winning the NCCE contract with our consortium partners, and the focus moved to developing new and better things through that initiative (for example, the Teach Computing Curriculum and Isaac Computer Science). In that context, has just sat untended, with a steady stream of users for too many years, and it is now time to say goodbye to it!

Where is Python programming now?

I feel very proud that Python School was there from 2011 with resources to support teachers at a time when nothing else was available. I have seen versions of our resources popping up all over the place over the last ten years, so other teachers must like them too. It’s unbelievable that Python is now the de facto language for teaching programming in lower secondary schools, in England at least.  Having championed Python as a language at the beginning, I’ve changed my views a little since. If pushed, I now believe a better language for schools that is a little less concise is needed to surface and exemplify the concepts better.  I think we should be willing to entertain the idea of a Python alternative one day. 

Thousands and thousands of computing teachers will testify to the blood, sweat and tears it has taken to learn programming, but through these teachers’ efforts we have come so far in being now able to teach programming so competently in school from primary school all the way up to A-Level (my context is England, where we have mandatory computing through school, but I see teachers all over the world doing amazing things too). Increasingly the focus is on “how do I teach programming so that all children can access the curriculum” and some of us have shifted to thinking about pedagogy more and more. In the bad old days, we may have learned programming ourselves as adults by copying experts, but that doesn’t cut it for younger children in one lesson a week: so we need to think carefully about teaching approaches that give children the best chance. 

Finally … thanks to everyone involved!

I’d like to thank Adam McNicol for really being the Python brains and also the website brains behind all of our work (in fact, I’m not sure what I actually did!) and being a great colleague to work with through those years. Thanks to Sophie for rocking up and supporting us with the evening classes. Thanks to all the teachers who came along and worked with us: some of you are still valuable colleagues. We had fun!

A young Adam and Sue

PythonSchool GitHub

Read more about PRIMM here

One thought on “RIP Python School

  1. “I think we should be willing to entertain the idea of a Python alternative one day. “. I agree! I’d love to see another blog on this topic. 🙂


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s