I offer online computer programming lessons, to students aged 8 to adult in pairs or one to one.
Phone: +44 7762 414582
E-mail: rjh at fiveysoftware dot com
9 Hills Road
I am an independent computer scientist based in Cambridge, UK. For more information about me, my professional experience, and qualifications, please see my profile page.
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 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.
My focus is on giving students a strong grounding in the
underlying principles of programming and
thinking that are independent of a particular choice of
programming language. A solid understanding of these principles
will put a student in a position to pick up new programming
languages with relative ease. I believe that such an approach is
vital given the (sometimes daunting) variety of programming
languages out there, with new ones created all the time.
With the above in mind, I generally use the C
programming language in my lessons because I find C to be
particularly suitable for exploring the core principles of
programming (C is a relatively simple language and has a clear
logical structure). I have developed my own approach to teaching
programming using C that is especially aimed at beginners and
younger students. Don't be put off if you have heard that C has a
reputation for being a
hard language — my approach
largely avoids certain features of C that have given it this
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 as a tool to help people learn and teach programming. 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 £32 per hour (GBP). The table above shows the prices for different lesson types and lengths at this rate.
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 £16 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.
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.