Resources
First steps in programming
Programming starts with breaking a problem into steps you can check one at a time. The language comes next, and it is learned quickly. Here is the progression that leads from an idea to a first tool you genuinely use.
What settles first
A program is a sequence of instructions where each line does one checkable thing. Learning therefore starts with writing very small programs that run and that you read aloud: a variable holding a value, a condition choosing a path, a loop repeating. Then comes the skill that accelerates everything else: reading an error message, finding the line number and the nature of the problem, fixing it, running again.
- Break a problem into steps you can check one by one
- Variables, conditions and loops: the three basic structures
- Functions: naming a routine so it can be reused
- Lists and dictionaries: storing data so it can be found again
- Reading error messages: the skill that saves the most time
The progression, week by week
- 01
Write and run
A five-line program printing a correct result. The goal is execution, not elegance.
- 02
Choose and repeat
Conditions and loops on concrete cases: sorting a price list, counting occurrences.
- 03
Read and write files
The program leaves the terminal and handles your own data: a statement, an export, a list.
- 04
Ship a useful tool
A script automating a task you used to redo by hand. That is the end-of-course deliverable.
The short format, block by block
This format condenses the full progression. Each block carries its hours and credits: the total recomputes on the catalogue scale, ten taught hours per credit.
| Teaching block | Year | Hours | Credits |
|---|---|---|---|
| Logic and algorithms | 1 | 15 h | 2 |
| First Python programs | 1 | 15 h | 2 |
| Files and automation | 1 | 15 h | 1 |
| Final project | 1 | 15 h | 1 |
Beginner questions
What level of mathematics is needed?
Everyday arithmetic and logical reasoning are enough to begin. Discrete mathematics appears in longer programmes, where it serves algorithms and complexity estimation, and it is taught there from scratch.
Which language should I learn first?
Python, for a practical reason: its syntax leaves your attention on the reasoning rather than on punctuation. The concepts then transfer to any other language, and longer programmes add JavaScript and TypeScript for the web.
How long before I write something useful?
The catalogue's short format produces a working personal tool in 3 months, at 8 hours of work per week. It is the final block's deliverable, and it answers a need you bring.
Explore next
- Relational databasesRelational model, SQL, normalisation, indexes and execution plans: how to design a database that stays correct and fast as volume grows.
- From prototype to productionContainers, deployment, logging, monitoring, backups and diagnosis: what separates a demo from an operated service.
- Quality and testingUnit and integration tests, version control, code review, continuous integration: the practices that keep software standing over time.
- An SME websiteBuilding a small company website: purpose, structure, copywriting, publication, domain name, certificate, search visibility and audience measurement.
- Mobile applicationsCross-platform mobile development: single codebase, offline operation, synchronisation, store publication and version tracking.
- Designing an interfaceUser research, information architecture, visual hierarchy, component states and usability testing: the interface design method.