Founding cohort enrolment is now open — see bundles & pricing
Start here

Programming Foundations

For people who have never written a line of code. Twelve weeks that take you from "I do not know what a variable is" to writing real programs, using Git, querying a database, and knowing which direction you want to go next.

12 weeks · 6–8 hrs/week 12 modules Zero experience required

What this programme is really for

Nearly every other course online quietly assumes you already know what a function is, how to open a terminal, or why anyone would use Git. Beginners then blame themselves when they get lost. This programme exists to remove that excuse entirely.

We use Python because it is the clearest language to think in, and because the concepts transfer to every other language you will ever touch. By week twelve, the goal is not just that you can code — it is that you know, with evidence, which track you want next.

Counts towards your next programme

If you enrol in any other bundle within six months of finishing this one, we credit what you paid here against it. Ask us when you are ready and we will apply it.

What you will be able to do

  • Write, run and debug Python programs of real size
  • Break a vague problem into steps a computer can follow
  • Choose the right data structure for a job
  • Read an error message and know what to do about it
  • Use the command line without fear
  • Track your work with Git and publish it to GitHub
  • Store and query data with SQL
  • Automate tedious tasks on your own computer

Curriculum

12 modules · 12 weeks · a live class every week

  • What a program actually is, and what the computer does with it
  • Files, folders and how software is organised
  • Installing Python and setting up your editor
  • Running your first program and understanding every part of it
  • Variables, numbers, strings and booleans
  • Input, output and formatting
  • Conditionals: if, elif, else
  • Loops: for, while, and knowing when each fits
  • Functions, arguments and return values
  • Comments and writing code another human can read
  • Lists, tuples, dictionaries and sets
  • Nesting structures and working with real-world shaped data
  • String methods and text processing
  • Comprehensions and cleaner ways to transform data
  • Choosing the right structure, with worked examples
  • Decomposition: turning a big problem into small ones
  • Pseudocode and planning before typing
  • Searching and sorting, built by hand before using built-ins
  • An intuitive introduction to efficiency and Big O
  • Practising on problems designed to build the habit, not to trick you
  • Reading a traceback from the bottom up
  • The error types you will meet constantly, and what each means
  • Print debugging, then the real debugger
  • Isolating a bug instead of changing things at random
  • Asking a question that gets you a useful answer
  • Classes, objects, attributes and methods
  • Why objects exist, explained with something other than animals
  • Inheritance and composition
  • Modules, packages and organising a multi-file project
  • Reading and writing text, CSV and JSON files
  • Error handling with try and except
  • What an API is and how to call one
  • Working with data you did not create and cannot control
  • Navigating, creating, moving and deleting from the shell
  • Pipes, redirection and chaining commands
  • Virtual environments and installing packages with pip
  • Running scripts and scheduling them
  • Repositories, commits and a sane history
  • Branches, merges and resolving a conflict without panic
  • Pushing to GitHub and writing a README
  • Pull requests and how teams review code
  • Undoing things safely
  • Tables, rows, columns and relationships
  • SELECT, INSERT, UPDATE, DELETE
  • Filtering, sorting, grouping and joining
  • Using SQLite from Python
  • Naming, structure and code that explains itself
  • Writing your first automated tests
  • Refactoring something you wrote in week three
  • A gentle introduction to how AI coding tools help and mislead beginners
  • Building a complete program of your own from a blank file
  • Publishing it to GitHub with documentation
  • A tour of what web, mobile, data and design work actually feel like day to day
  • A one-to-one conversation about which track suits you

Tools you will use

Python 3 VS Code The terminal Git GitHub SQLite pip & venv pytest JSON & CSV

Projects you will build

Project 01

Command-line budget tracker

Your first useful program: record expenses, categorise them, save to a file and print a monthly summary.

Project 02

File organiser script

Automation you will genuinely keep using — sorts a messy downloads folder by type and date.

Project 03

Weather report tool

Calls a live API, handles failures gracefully, and formats the result into something readable.

Capstone

Your own program

Planned, built and published to GitHub by you, from an empty file — the moment most students say it finally clicked.

Questions about this programme

Yes. Programming is much closer to careful writing than to mathematics — it is about expressing steps clearly and noticing when something does not follow. Nothing in this programme needs more than school arithmetic. Fields like machine learning are genuinely maths-heavy, but that is a later choice, not an entry requirement.

Because the goal of these twelve weeks is to teach you to think, not to teach you a syntax. Python has the least noise between you and the idea, which means concepts land faster. Everything you learn here — variables, loops, functions, objects, data structures, debugging — is the same in JavaScript, and students who take this first move through the Web Development programme noticeably more easily.

For this programme, yes — provided the hours are spread across the week rather than crammed into one sitting. Programming rewards frequent short practice far more than occasional long sessions. Four evenings of ninety minutes beats one Saturday of six hours, consistently.

Programming Foundations

Everyone who codes started exactly where you are.