Training programme
Programming Language Foundations
Learn to write, read and debug real code in one language, taught by working engineers around the problems that actually come up — for career changers and for teams whose non-engineers need to read what their developers ship.
Foundation
- Delivery
- Online, live instructor-led
- Modules
- 6
- Price
- On request
Learning outcomes
What you'll be able to do afterwards
- Write, run and debug a working program from a blank file, without copying a template
- Read unfamiliar code and explain what it does before changing it
- Choose the right data structure for a problem and say why the alternatives are worse
- Use version control the way a team does — branches, review, and a history someone else can follow
- Diagnose a failure from an error message and a stack trace rather than by guessing
Prerequisites
- Comfortable using a computer day to day — no previous programming required
Curriculum
6 modules
Every module and the topics it covers.
Module 01
Getting the language running
- A working local environment, set up by you rather than handed over
- The read-eval-print loop as a thinking tool, not a novelty
- Running, editing and re-running a program until the loop is automatic
Module 02
The building blocks
- Values, types and what the language does when they disagree
- Control flow, and why deeply nested conditions become unreadable
- Functions: arguments, return values, and keeping one job per function
Module 03
Data and its shapes
- Lists, maps and records, and the cost of choosing the wrong one
- Iteration and transformation over manual index juggling
- Modelling a real problem's data before writing the logic for it
Module 04
Reading other people's code
- Navigating an unfamiliar codebase to find where something happens
- Following a value through several functions to understand a bug
- Naming and structure as the difference between code that lasts and code that is rewritten
Module 05
When it breaks
- Reading an error message and a stack trace properly
- Debugger, print statements and bisection — when each is the fastest route
- Writing a test that reproduces the bug before fixing it
Module 06
Working like a team
- Version control: commits that explain themselves, branches, merging
- Submitting work for review and responding to it
- Dependencies, and what you take on by adding one
Enquire
Ask about Programming Language Foundations
We'll reply with confirmed dates, delivery format and pricing.
