I believe that anyone can understand anything. This applies to you. It is the core of my teaching and tutoring approach. This means that there is no idea that one mind can grasp that another mind is incapable of grasping. However, sometimes we need a hand in finding the right way. I will be your learning partner to get you back on track.

Learning is integral to life. Everyday we are involved in learning activities, whether we are conscious of them or not. Anytime we discover the route to a friends house or play an unfamiliar game; any time we interact with a new face or follow a new recipe we are learning. In fact, a life without learning would be an almost unlivable one because it would mean that your experiences would be static - no changes to adapt to. Therefore, learning is as fundamental to your life as eating and sleeping.

What you might not be aware of is that each learning experience goes through exactly the same stages. The key to getting good grades is conscientiously applying these stages to your academic experience. The stages are knowing, understanding and mastery. My role in your learning journey is to get you through the first stage right, guide you to the second and ignite you to aspire to achieve the third. Let's look at each stage in turn.


Knowing is about the facts. This is where everyone must begin: you must get the facts right. A fact is simply a statement that something is the case. For example, “all cows eat grass” is a fact. We can question whether facts are true or false but for most technical subjects with a long history we can be quite confident that facts are true. Typically, each subject will consist of numerous facts therefore learning commences by acquiring these facts. However, you don’t want to get all the facts - just those that are essential to get you started otherwise you will get overwhelmed and unable to make progress. This is especially important in a practical discipline and is where good tutoring shines: a good tutor ensures that you make small meaningful steps.

Your best starting point for facts is to refer to class instruction notes or textbooks or key websites. Regardless of sources and types of facts, the key point at this stage of the learning process is to get the order of facts right. Failing to do this can mean much time wasted on ancillary ideas, which are only relevant after the heart of the topic has been assimilated.

I will help you to get the right facts at the right time. With me you will cruise through the learning experience on the path to excellence.


It is possible to know many facts yet have no understanding of them. For example, it is universally known that the sky is blue but only a handful truly understand why this simple fact is the case*.

To understand means to have such a grasp on an idea as to be able to convey it in your own words. Understanding is distinguished from knowledge by you having internalised the idea that it has become your own - it no longer sits loosely in your mind. Unlike knowledge for which you may simply restate the facts, through understanding the idea has become part of your thinking machinery in an intimate sense.

In many ways this is a great thing. Through understanding you can begin to gain insights - appreciate why certain facts are the case and see more relationships between seemingly unrelated facts. It also seems to supersede rote retention: concepts that you understand stay with you indefinitely and can easily be retrieved at will. Understanding also makes you truly creative and explore new frontiers. In fact, by understanding you can discover new ideas.

The ancient Israelite king Solomon in his Proverbs wrote, “Though it cost[s] all you have, get understanding” (4:7; NIV). Understanding is precious and having it can be the difference between mediocrity and being above average.

Understanding is easy once we have the right facts in the right order. In this regard, think of yourself as Neo (Keanu Reeves) in The Matrix: I play the role of Morpheus (Laurence Fishburne) for you: “I’m trying to free your mind, Neo. But I can only show you the door. You’re the one that has to walk through it.”


The saying “a jack of all trades and a master of none” gives us a hint about the role of mastery: it is only applied to a chosen few skills or domains. At the heart of mastery is a deliberate development of skill so as to perform at an elite level.

The true mark of a master is technique: your ability to add a personal touch is an expression of your mastery. Mastery happens at the leading edge of execution where the master is integrated with the task: she and the task are fused into an expression of excellence. While we might agree that several individuals execute as masters, it will be clear by studying their execution that each is unique.

Malcolm Gladwell popularised the 10,000 hour rule, a rule-of-thumb on the amount of dedicated time it takes to achieve true mastery. As you would readily appreciate, mastery cannot be achieved without first acquiring knowledge then understanding. It takes a really long time to achieve mastery and only successful outcomes and a growing passion can sustain you through the many years needed.

If you would like to become a master I can give you specific exercises that will challenge you beyond your course material.


I am a strong student. Do I still need tutoring?

Everyone can benefit from tutoring. Combat sports usually engage a “sparring partner”, one with whom one fights to gain speed and strength. I can be your sparring partner to spur you on by offering you new challenges which reflect the real world.

Can you make me a master?

Only you can take the path towards mastery. However, this is not a lonely road and you can find many a co-master with whom to hone your skills. Use the link on the side panel to get in touch.

How do you teach?

Teaching is analogous to giving directions. First of all I need to find out where you are: directions are meaningless without first knowing your position. Alternatively, I could direct you to a starting point. Both strategies ensure that any future engagement is helpful. Second, I will give you step-by-step instructions consisting of facts, quizzes and exercises that will make sure you incrementally get better. Third, you can optionally include challenges that put together skills across your learning objectives to test your readiness for the real world. All these will be done at a pace in line with your rate of understanding, which will depend on your interest, background experience, amount of study and passion for the subject.

What if I have just a specific problem to work on?

Then that’s what we will work on. Please note, however, that I do not provide answers for homework assignments or projects but am happy to help you clarify the problem and even give you auxiliary exercises to strengthen your weaknesses.

Are you a master?

Do I wish! I’ve been coding in various forms for almost 20 years but only ramped it up about 15 years ago. I learned C (one of my courses) and applied it to image processing. C is a hard-core computer science language because it comes bare bones and leaves room for computing concepts to flourish. Later on I discovered PHP then Perl, which unlike C, were so easy to learn. I’ve dabbled in enough C++ to know my way around though I find it clunky and verbose. I’ve never learned Java but given its similarity in syntax to C, I don’t think I would struggle. My passion is Python, with which I have worked with extensively in such a variety of domains that I feel confident I can help you make great progress… fast!

What are the secrets to understanding?

To understand you must first know and know right.

How do I teach myself anything?

Follow the three steps above. I’ll add one secret ingredient: practice on a real world problem. That will rapidly transform you from ordinary to extraordinary.

Do you give taster lessons?

My first lesson with all new students is absolutely free. Please come with a problem you would like us to work on.

What’s your email address?

You can contact me using the link on the side panel.

Why is the sky blue?

Check out this Wikipedia article for an explanation: https://en.wikipedia.org/wiki/Diffuse_sky_radiation.