# Supporting course operations

ESaaS was developed and is actively taught at [UC Berkeley](https://teach.saasbook.info/courseware/www.cs.berkeley.edu), where we routinely deal with very large course enrollments.

So we developed a handful of scripts to support operating an ESaaS course at large scale (many hundreds of students), which you'll find in the GitHub repo [esaas/courseware](https://github.com/esaas/courseware). The following pages describe how to use them.

In general, these scripts understand that ESaaS includes both individual student work and team projects. Therefore, for example, the Heroku script can create or delete Heroku app containers both for each student and one per team, plus access for course staff; the GItHub script can manage repos by organizing access according to teams, plus access for course staff; and so on.

**Contributions of additional scripts are welcome,** in the form of pull requests creating a new subdirectory under `scripts/` in the above repo!


---

# Agent Instructions: 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://teach.saasbook.info/courseware/supporting-course-operations.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.
