Fivey Software

Dr Robert Henderson: Private Computer Programming Teacher

I offer online computer programming lessons, to students of all ages in pairs or one-one.

Mandelbrot set fractal Source code screenshot

Contents

Contact details

Phone: +44 7762 414582

E-mail: rjh at fiveysoftware dot com

About me

As an independent computer scientist, I divide my work time mainly between software development and teaching. For more information about me, my professional experience, and qualifications, please see my profile page. I live and work in Cambridge, UK.

What I teach

I specialise in teaching the practical skill of programming, with an emphasis on fun and guiding the student to acquire the skills they need to explore their own ideas and to do projects that they find interesting.

I adapt my lessons according to the age, experience level, and interests of the student but in general you will learn:

  1. to write programs in a subset of the C programming language — see here for the list of C language features that I cover;
  2. to write programs that do interactive graphics and animation from the very first lesson;
  3. to use a powerful code editor called GNU Emacs, widely used by professionals;
  4. to design your own file formats and data structures;
  5. to create your own digital artwork simply and intuitively using the technique of pixel art;
  6. software design and engineering techniques, particularly the crucial technique of abstraction which helps you to keep the complexity of your programs manageable;
  7. most importantly, to apply all of the above to do the things that you want to do with computers!

In the lessons we shall make use of a software system called Biksel, which I have developed in order to aid learning and teaching of the C programming language. Biksel is free / open-source software and is available for use by anyone, regardless of whether you are taking my lessons.

Pricing

Lesson type Lesson length Price per student
pair half hour £7.50
pair full hour £15
1-1 half hour £15
1-1 full hour £30

I normally provide one trial lesson free of charge. After that I charge a flat rate for my time of £30 per hour (GBP). The table above shows the prices for different lesson types and lengths at this rate.

For a child, I would generally recommend weekly half-hour lessons. For an adult student, hour-long lessons may be more suitable.

If you wish to get the best value for money, I highly recommend pair lessons, where the cost is shared between two at a rate of £15 per hour per student. Pair lessons can be very enjoyable because you can learn along with a friend, help each other, share ideas, and collaborate on projects. I use a technique called pair programming where one student directs and the other does the typing, and they swap roles every few minutes.

Please note that if you have particular requirements, such as help with a specific programming language or practice for an exam, I may need to charge for additional preparation / lesson-planning time, at my usual hourly rate.

Please also note that if you arrange a lesson and then don't show up or cancel at very short notice, I may have to charge for it.

Hardware and software needed

To take part in my lessons you need:

You will also need to install the following free / open-source software on your PC:

If you need help installing and setting up this software, I can walk you through this at the beginning of your first lesson.

Finally, to continue programming in your own time outside of lessons (which is very important!) you need access to a computer running the GNU/Linux operating system, for example a Raspberry Pi. A Raspberry Pi is a small, cheap computer that was created specifically to help people learn programming. You can try my lessons for as long as you like before deciding whether to get a Raspberry Pi.

Why learn programming, and what age to start?

There are many reasons for wanting to learn computer programming, including:

For my lessons, the minimum recommended age is 8 years old. However, it is certainly never too late to learn programming and I welcome both children and adult students.

Privacy policy

I take the following measures to protect the privacy of my students:

Server

I host my lessons on a virtual private server running Debian GNU/Linux, that I administer myself. The server is provided by a reputable UK-based cloud hosting company, and is physically located in the UK.

Software

All the software that I ask my students to install, and all the software that I run on my server, is free / open-source and has been vetted by me to provide a high standard of security and privacy.

Voice chat

Voice chat is audio only. No webcam data is transmitted during lessons.

Screen-sharing

I do not see what is on the screen of a student's PC, nor does the student see what is on mine. Instead, we both see the same virtual desktop environment hosted on my server.

Data transmission

All data transmitted to/from my server is done so via a secure, encrypted connection. Specifically, I use Transport Layer Security with a Let's Encrypt server certificate.

Data (non-)retention

No personal data or student work is stored on my server between lessons. After each lesson any files created or uploaded by the student are automatically wiped so as to reset the server in preparation for another lesson. The student will have the opportunity to download their work to their own PC at the end of a lesson, and they will be responsible for looking after their work (including making backups).

Website

I use neither cookies nor Javascript on any of my websites, and I do not track visitors to my websites.

The following are websites of some friends and colleagues, whose services I can warmly recommend.

Home