I offer online computer programming lessons, to students of all ages in pairs or one-one.
Phone: +44 7762 414582
E-mail: rjh at fiveysoftware dot com
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.
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:
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.
|Lesson type||Lesson length||Price per student|
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.
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.
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.
I take the following measures to protect the privacy of my students:
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 is audio only. No webcam data is transmitted during lessons.
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.
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.
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).
The following are websites of some friends and colleagues, whose services I can warmly recommend.