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:

  1. Course Overview Page
  2. Lessons
  3. Course Sections
  4. 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

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 failures block with troubleshoot cards where typical mistakes exist
  • a compact rule or short list as the last paragraph before the check, without its own heading
  • ## Check as the final block, with reveal questions 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.

Optional feedback