Understanding Course Structure
Course Structure
Understanding Course Structure
In this lesson, we’ll explore the structure of a git.nrw course and its various components. Understanding this structure is crucial for creating well-organized and effective courses.
Course Components
A typical git.nrw course consists of the following components:
- Course Overview Page
- Lessons
- Course Sections
- Media and Resources
Let’s dive into each of these components in detail.
1. Course Overview Page
The course overview page (_index.md) serves as the main entry point for your course. It contains:
- Course metadata (title, description, tags, etc.)
- Course objectives
- Prerequisites
- A brief introduction to the course
2. Lessons
Lessons are individual markdown files that contain the actual course content. Each lesson should:
- Have a clear title and description
- Be part of a course section
- Include relevant content, examples, and exercises
Recommended lesson anatomy
A lesson is built from a few blocks:
- a short opening lead of one or two sentences that frames the lesson
- content headings named after what they contain (“Setup files”, “Why the distinction matters”), not after a schema
- an optional
## Common failuresblock withtroubleshootcards where typical mistakes exist - a compact rule or short list as the last paragraph before the check, without its own heading
## Checkas the final block, withrevealquestions and complete model answers
## Check is always the last block of a lesson. Nothing follows it except the key points card that closes a section.
Learning objectives and key points
Two shortcodes frame a learning unit. objectives renders a “Learning objectives” card, keypoints a “Key points” card:
{{< objectives >}}
- distinguish setup files from generated state files
- initialize a local project as an origin repository
{{< /objectives >}}
The unit is a course section of roughly 15 to 30 minutes, not every lesson. The objectives card opens the first lesson of a section, the key points card closes the last lesson after its ## Check. Only a lesson that is itself 10 minutes or longer, such as a capstone exercise, gets its own pair.
Capstone or exercise lessons
For larger exercise lessons, separate operational verification from reflective self-check: a heading such as “Verify your result” for concrete success criteria, then ## Check for reflection questions. That way one section does not carry two different jobs.
3. Course Sections
Course sections help organize lessons into logical groups. They can represent:
- Chapters in your course
- Skill levels (e.g., beginner, intermediate, advanced)
- Thematic units
4. Media and Resources
To enhance your course, you can include:
- Images
- Videos
- Downloadable resources (e.g., PDFs, code samples)
File Structure
A typical course file structure looks like this:
content/
└── en/
└── courses/
└── your-course-name/
├── _index.md
├── 010-010-introduction.md
├── 010-020-getting-started.md
├── 020-010-advanced-topic.md
└── ...
For multi-section courses, a nested structure is often easier to maintain:
content/
└── en/
└── courses/
└── your-course-name/
├── _index.md
├── 10-getting-started/
│ ├── _index.md
│ ├── 10-first-step.md
│ └── 20-second-step.md
├── 20-core-workflow/
│ ├── _index.md
│ └── 10-main-task.md
└── 30-final-exercise/
├── _index.md
└── 10-capstone.md
This structure is especially useful when you want course sections to appear clearly in the sidebar and when several lessons belong to one coherent phase.
Next Steps
Now that you understand the structure of a git.nrw course, we’ll move on to planning your course content in the next lesson. This will help you organize your ideas and create a roadmap for your course development.