About

This is a website used to host learning materials for students learning about Computer Science. I initially created it to share work with my students as I work across multiple education establishments and with students ranging from high school to undergraduate level. The majority of the content is for A Level (16+) students.

I run training and events for high school teachers, so the site is also a means of sharing resources with teachers.

Finally, I am a parent of two children currently in the education system so I also aim to share information and advice for parents regarding UK education generally and Computer Science specifically.

About me

1980s

I have been making a living from computers for around 40 years. In common with many people in the UK growing up in the 70s and 80s I became swept up in microcomputer mania as a child, and at the age of 12 started to learn how to program in Microsoft Basic. I had an early bit of success aged 13 by having a very simple game published as a source code listing in a magazine. In those days if you wanted to play a game you had to type it in before you could run it. Invariably you would make a few typing mistakes, and finding the errors was actually a great way of learning the important skill of debugging. Also by studying other peoples’ code, you could understand how to write your own.

For having my little game published I was paid the princely sum of £45! I was sensible enough to invest it in more software and by the age of 15 I had started to learn machine code so that I could write a much more ambitious game. I was savvy enough to know what might make an appealing game despite my beginner level machine code skills, but after having a great idea for the game and starting to make good progress in writing it, I worried someone else could have the same idea and get it out quicker. My worst fears were realised when I read in a magazine that a huge company called Epyx was about to launch a game with the same idea as mine. I got a friend to help out with the graphics for the game to save me time, and eventually I showed him how to write bits of machine code for the game as well. So through this process I not only learned how to program but also how to project manage, and how to teach!

The game was released by a company called Interceptor Micros and was a minor hit. I had managed to negotiate royalties for the game (the first time the company had done this as they preferred at the time to buy the rights to games outright) and over the next few years enjoyed the spoils which I split 50-50 with my friend.

As part of the release process, music was written by a professional musician to feature in the game. The music was probably the best thing about the game, but I remember being disappointed hearing that the musician said he thought it was “a waste” when told his completed composition was to be used in a game.

I decided I would produce another release and write the music myself, so there was noone to pay, and noone to moan! I wouldn’t call myself a composer but I pulled it off and released two more games on Interceptor’s budget label Players. By now the industry had become very competitive and games were developed by teams of people with large budgets deployed for the biggest games. One of Interceptor’s top programmers mentioned as an aside that he was getting out of writing games to get “a proper job”. He’d written a couple of great games and I was in awe of his skills so I assumed he was right and started to look for other things to do.

My second game was released on the MSX platform, written on a fantastic little machine called a Yamaha CX5 which had a built in synthesiser and a MIDI interface

1990s

I started to really get into sound and music, and when I began to think about what I wanted to do in the future, decided I would do an engineering degree. As I progressed through the course I developed a sense of what my ideal job would be, and realised I wanted to do a technical job within the music/sound field. I was lucky to attend a university (then called a polytechnic) that encouraged a year in industry prior to the final year and worked for two different companies for 6 months each. It gave me invaluable experience of a formal work environment and allowed me to learn about digital electronics and embedded software development. I entered the last year of my degree with renewed enthusiasm and was able to use my recent experience in my final year project which involved me developing hardware and software for a music application.

During this final year, I found an MSc course in Music Technology which seemed to be exactly what I needed to realise my ultimate career ambition. Unfortunately it was an extremely competitive course and required students to provide evidence that they had the money to pay the fees and living expenses before being accepted onto the course. So after I graduated from my degree I worked for a year to raise funds to do the MSc. The company I worked for was called Psion, a developer of pocket computers. They employed me to help them get a production line up and running and to program the robots that placed components on the circuit boards that were assembled into finished computers. I didn’t know at the time but the experience I gained here would aid me in getting my first job in my target industry.

Psion’s superb pocket computers featured software that was eventually incorporated into mobile phones via the SymbianOS operating system.

Image: User Puffball on en.wikipedia, Public domain, via Wikimedia Commons

On my MSc course I learned more about digital audio, music, acoustics and software development and before I graduated companies were coming to visit the university to recruit students directly from our course. Two of my friends were hired by one of these companies, and later in the year they contacted me to offer me a job as well so three students from a course of around twenty students were all employed by this one company. This tiny start up called Studio Audio produced a system called SADiE that sold around the world to studios, radio stations and video production companies. I was part of the hardware development team, and my experience at Psion was the reason I was hired which was a novelty for me as software had been my “thing” up until this point. We worked on the successor to SADiE called Octavia. In those days computers struggled to process sound so dedicated hardware was required to do it, often featuring a device called a Digital Signal Processor (DSP) which could be programmed to process the sound in the desired manner. Within quite a short space of time, personal computers became so powerful that this could all be done in software. Software like Logic or Protools don’t require any external hardware to process the sound but instead use the main CPU.

A Motorola DSP was used on Steve Jobs’ NeXT Cube to process graphics. It was very commonly used for audio processing. These days GPUs do a similar job. The DSP used by SADiE and Octavia was from AT&T.

Image: ZyMOS, CC BY-SA 4.0, via Wikimedia Commons

My next job was at a record company, Decca, which was then owned by PolyGram and ultimately by the Dutch electronics giant Philips. These days it is part of the Universal Music Group. Decca had roots going back to the early part of the 20th century and made record players, radar, TVs and all sorts of other equipment. In the 1960s it was famous as the record label that turned down The Beatles (but did sign the Rolling Stones). The music technology industry didn’t really exist in the 1960s and the big UK record companies routinely developed their own recording equipment. Decca and EMI for example developed their own mixing desks, and in the case of Decca even their own recording devices. Decca was the first company to develop digital recording and editing facilities for making commercial record releases (before CD had even been invented). I worked with two colleagues on the next generation of recording device which recorded onto magneto-optical disks. One colleague wrote software for a laptop PC to control the recorder, and myself and another colleague wrote all the embedded software within the recorder itself. The recorders had been designed by another team but the device was not reliable enough to use. The hardware was a quite strange design that featured two Motorola DSPs, and they were working at full capacity to process all the necessary data in the time available (20 microseconds between audio samples). I spent a lot of time optimising the code to keep it working as we added features, so learned lots about parallel processing, issues with pipelining, and how to minimise the use of “expensive” machine code instructions that took several clock cycles to execute.

Our rewritten software resulted in a much more stable and reliable device and it was successfully deployed on recording sessions, one of which I had the pleasure of participating in, resulting in a credit on the released CD.

Sadly the Decca post production facility where we worked was closed down as a cost saving measure and our little Research and Development team was disbanded. I carried on working on embedded systems software for the next two years as a freelance developer until an opportunity arose abroad.

Cover of Pro Sound News, August 1997

2000s

Two of my former colleagues at SADiE and my MSc course ended up working in the USA at the turn of the millenium. One asked if I’d be interested in coming out and working with him on a start up he was getting off the ground. I had a nice potential job lined up that would take me back into the music industry but I thought it might be fun to live in California so in early 2000 I headed out to join him. The idea he had was to develop a system for delivering media content to mobile devices. In the year 2000, mobile phones had tiny text only screens and could send and receive tiny amounts of data. But pocket computers – now called Personal Digital Assistants (PDAs) – could use wireless data connections to exchange data, and their large screens could be used to display images and video. So my friend developed the code for the PDA, and myself and another colleague developed the code for a suite of web server applications.

A PDA running Windows CE, a quite clunky mobile operating system

Image: Yuri Litvinenko, via Wikimedia Commons

I learned very quickly how to develop server apps using a server side scripting language called ASP, and also how to develop compiled application code to run on the server using a Microsoft technology called COM. I also learned about databases for the first time. This was a great period of learning for me, and I really enjoyed working on a project with so few people involved and with such short periods between thinking up ideas and having working prototypes. We launched a technology demonstration of what we had built at the Sundance Film Festival in early 2002 (and really enjoyed the parties!). A huge Japanese electronics company licensed our technology to trial with commuters on the Tokyo subway.

We struggled to find financial backing to grow the company so the founders decided to wind the company down and we all went our separate ways in late 2002. Five years later the iPhone was released and the sort of things we were doing took off in a big way. Learning point: sometimes the right idea can be developed at the wrong time.

Teaching

My wife and I decided to return to the UK, and shortly after we received the wonderful news that she was pregnant. I had to decide what I wanted to do for my next job and had always had a thought in the back of my head that I might one day be a teacher. With a baby on the way, I really wanted a job that meant I didn’t have to travel, and that would allow me to spend time in the holidays with my family. So in early 2003 I applied to a PGCE course to train as a secondary school teacher and was accepted. After completing the course I entered the teaching profession as a Newly Qualified Teacher at a large Secondary school in West London.

I’ve since worked in many education settings as a teacher, lecturer, head of department and senior leader. One of my schools was keen to introduce an A Level in Computer Science, which was only taught in a small number of schools back in 2006. In 2011 I also started teaching on the pilot of the new OCR GCSE in Computer Science. This course is now on its 3rd revision and is the most popular Computer Science qualification in the UK.

I became involved in an organisation called Computing at School in late 2013, and performed a voluntary role for them as a Master Teacher, which involved me running free training events for other teachers and giving general support. Since then I have been involved in establishing a college where every student studies Computer Science. It was a huge risk for everyone involved but is now thriving and I am proud to have been part of its initial success. I’ve also taught undergraduate and postgraduate students including trainee teachers at UCL’s Institute of Education.

These days I work freelance, which gives me the freedom to pick and choose projects that I think I will learn from and enjoy, and also allows me the time and space to travel, learn new skills, play music and watch football.