> For the complete documentation index, see [llms.txt](https://docs.nuvolos.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nuvolos.com/how-to-guides/workflows-for-instructors/best-practice-structuring-your-course.md).

# Structure your course

<mark style="color:$primary;">**Outcome**</mark>\
You set up the course's Instance layout in the way that best matches your teaching style and the kind of work students will do.

<mark style="color:$primary;">**Before you start**</mark>

* You are a Space Administrator of the course.
* You have a sense of whether students will work individually, in groups, or both.

A course in Nuvolos is a space containing multiple instances. As a Space Administrator you control how many instances exist and which students can access each one. Your layout decisions determine how material flows between instructors and students and how much isolation each participant has. For the conceptual model, see [Concepts › The hierarchy and resource model](/concepts/nuvolos-basic-concepts.md).

#### Suggested layout

The recommended setup for most courses:

* **Master Instance** - the single place where all instructors (you and your TAs) develop, edit, and maintain teaching material. When material is ready, you distribute it from here. The Space Administrator role gives all instructors full control of this Instance.
* **Distributed Instance** - a special Instance that accumulates everything distributed. New student Instances are spawned from it, so late joiners automatically receive all previously distributed material.
* **One Instance per student** - each student works in their own isolated Instance with the Instance Editor role, so they can modify files and run applications without affecting anyone else. Students also automatically receive Instance Viewer access on the Distributed Instance, which lets them pull material into their own Instance if needed.
* **Group work in a separate space** - see [Set up group projects](/how-to-guides/workflows-for-instructors/setting-up-group-projects.md) below. Keeping group and individual material in separate Spaces prevents the two threads from tangling.

This layout keeps material development centralised, gives each student an isolated working environment, and makes the distribution flow predictable: **Master → Distributed Instance → Student Instances**.

#### Alternate layout - separate instructor Instances

When multiple instructors develop material in parallel and want to avoid editing the same files simultaneously, an alternate setup uses separate Instances per instructor instead of sharing the Master Instance. The Master Instance and the per-instructor Instances all have Space Administrator role.

{% hint style="info" %}
This layout avoids file-editing collisions in the Master Instance, but distributions become more complex - multiple instructors distributing to the same target may overwrite each other's work. Establish clear agreements about who distributes what, and when, before adopting this layout.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nuvolos.com/how-to-guides/workflows-for-instructors/best-practice-structuring-your-course.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
