Programming fundamentals, logic and problem solving, using languages that are actually in demand.

What this course covers

Programming fundamentals, logic and problem solving from the ground up. This is the starting point, and it assumes nothing at all.

The aim is not to make you memorise a language. It is to give you the way of thinking that every language rests on, so that the second language you meet takes weeks rather than months.

What you will learn

  • How a program actually runs, one instruction at a time
  • Variables, and what it means for a value to have a type
  • Conditions, so a program can behave differently in different situations
  • Loops, and how to reason about them without losing track
  • Functions, and why breaking work into named pieces matters
  • Arrays and collections, for handling more than one thing at a time
  • Reading error messages, which is most of the job and is rarely taught
  • Breaking a problem into steps small enough to actually solve

Who this is for

  • Complete beginners who have never written a line of code
  • Students whose first programming module has moved faster than they have
  • People considering a career change who want to find out whether this suits them
  • Anyone who has started an online course several times without finishing

You do not need to have been good at maths. This is a persistent myth and it puts off people who would be perfectly capable. Programming needs patience and a willingness to be wrong repeatedly, which is a different quality altogether.

How it is taught

You write code in the session. Not afterwards, not as homework you may or may not do, but while someone is there to look at what happened when it did not work.

This matters more than it sounds. Understanding arrives at the moment you are stuck and work out why, and that moment is exactly when most self-taught beginners give up. Being able to ask immediately is the whole difference.

Sessions are kept small enough that questions get asked. Nobody learns anything in a room where they are embarrassed to admit confusion.

On getting stuck

Being stuck is the normal state of programming, not a sign you have chosen wrongly. Experienced developers are stuck most of the day; they are simply comfortable with it and have better methods for getting unstuck.

So we teach those methods explicitly: reading the error rather than fearing it, checking what you assumed rather than what you wrote, reducing a problem until it is small enough to see. These are learnable and they are what separates someone who can continue alone from someone who cannot.

Where it leads

Far enough to write useful programs and to move on to web development, app development or databases without starting over. Far enough, most importantly, to keep learning without a teacher, which is the point of a first course.

Questions we are often asked

Do I need my own computer? It helps a great deal, since practice between sessions is where much of the progress happens.

Which language will we use? One suited to learning the fundamentals clearly. The concepts transfer, which is why the choice matters less than people expect.

How long until I can build something? You will build small things almost immediately. Building something you would show someone takes longer, and depends mostly on how much you practise.

Is this enough to get a job? Not on its own, and anyone telling you otherwise is selling something. It is the foundation that makes the next steps possible.

Interested in this course?

Tell us where you are starting from and we will suggest a route.

Get in touch