Understanding 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

Not every lesson needs the exact same template. A better rule is to use a small set of building blocks intentionally:

  • a short opening lead that tells learners what this lesson is about
  • ## Goal only when the lesson has a concrete operational task
  • ## Do for the main explanation or task sequence
  • ## Takeaway for one compact rule or mental model
  • ## Check as the final self-check section of the lesson

This keeps lessons consistent without making them feel mechanical.

When to use Goal

Use ## Goal when learners are about to do something concrete, for example:

  • install a tool
  • configure access
  • create or edit files
  • validate or run a workflow

You do not need ## Goal in every lesson. For short conceptual lessons, a concise opening paragraph is often enough.

Where Check belongs

If you use ## Check, place it at the end of the lesson as the final content block.
## Takeaway should come before ## Check, not after it.

That order works well:

  1. explain or demonstrate the topic
  2. condense it into a takeaway
  3. let learners check whether they can explain or apply it

Capstone or exercise lessons

For larger exercise lessons, it helps to separate operational verification from reflective self-check:

  • use a block such as ## Verify your result for concrete completion criteria
  • use ## Check for reflection questions or short self-test prompts

That avoids overloading one section with two different purposes.

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.