Practical course authoring
How to use a programme, course, module and lesson hierarchy
A concrete method for deciding whether content belongs at programme, course, module or lesson level without over-structuring it.
Written by Martin Kruger · Updated 19 July 2026
Direct answer
Use a programme for the complete body of learning, a course for one substantial outcome, a module for a meaningful sequence within that outcome, and a lesson for the smallest teachable unit. Skip a level when it adds no useful context.
Give each level one job
A hierarchy works when each level answers a different question. The programme explains why the parts belong together. A course names a substantial capability. A module groups a sequence that should be understood together. A lesson is the focused unit a learner can complete in one sitting or activity.
- Programme: What complete field or pathway does this cover?
- Course: What meaningful capability will this part develop?
- Module: What sequence or concept cluster supports that capability?
- Lesson: What is the smallest useful learning experience here?
Skip levels when they do no explanatory work
A short course with three independent lessons may not need modules. A programme orientation lesson may sit directly beneath the programme because it applies to every course. Adding an empty structural level just to make the tree symmetrical creates navigation without meaning.
The safe direction is downward: a programme may contain any lower level, and a course may contain modules or lessons. A higher level should never be placed inside a lower one because that reverses the meaning of the structure.
Test the structure with three questions
Read the tree without opening the content. Can someone infer the learning journey from the titles? Then open any item. Does its parent provide useful context for why it exists? Finally, move one item mentally: if it fits equally well in three places, its title or purpose is probably too vague.
- Does every parent explain why its children belong together?
- Does each sibling operate at roughly the same level of scope?
- Can a creator move a unit without breaking hidden references?
A compact example
A “Practical Urban Gardening” programme might contain a “Plan the growing space” course. That course could contain a “Light and layout” module with lessons on measuring sunlight and drawing a container plan. A programme-level lesson called “How to use this field guide” can sit above the courses because it applies to the whole collection.