Importing Teaching Materials
Teaching materials are added by importing a teaching materials repository on GitHub into Exercode.
Overall Flow
- Contact us via Contact with the GitHub account of the teaching material creator. WillBooster Inc. will create a repository for the teaching materials and invite the account.
- The teaching material creator reflects the materials in the
main branch of the teaching materials repository.
- Import the teaching materials on Exercode.
- Add the imported courses to your organization or groups.
Prerequisites
- The teaching material creator must have a GitHub account.
- Contact us via Contact with the teaching material creator's GitHub account and full name.
- WillBooster Inc. will create a repository for the teaching materials and invite the account.
Tips for Creating Teaching Materials
- The import target is the
main branch.
- The course folder name becomes the course ID as-is.
- Course IDs must be unique across all of Exercode. To avoid conflicts with courses from other organizations, we recommend including the school name (or an abbreviation identifying your organization) and the academic year in the course ID. This makes it easier to avoid duplicates and simplifies year-based management and identification.
Examples:
java-basic-schoola-2026
python-intro-collegeb-2026
Cautions When Changing IDs (Deletion of Submission Records)
Course IDs (folder names), lecture IDs (folder names), material IDs (file names), and problem IDs are the keys that link data on Exercode to teaching materials.
If you import after changing these IDs, the items with the old IDs are deleted, and the items with the new IDs are treated as newly added.
- If student submission records are linked to the deleted items, the submission records will also be completely deleted.
- Deleted submission records cannot be restored, even if you revert the IDs and re-import.
For this reason, do not change IDs after operations have started (after students have begun submitting).
If your only goal is to change the ordering, do not change the IDs; instead, use the following methods.
- Ordering of lectures (class periods): Reorder the
lectures array in course.yaml (no folder renaming needed).
- Ordering of materials: Since ordering is determined by the dictionary order of material file names, if you number files with gaps from the start, such as
10_, 20_, you can insert new materials in between without renaming existing files.
The confirmation dialog before import always shows the number of submission records to be deleted, in addition to the items to be deleted.
- If 0 submission records will be deleted: A green display confirms that no submission records will be deleted (safe).
- If 1 or more submission records will be deleted: A red warning shows the number of records and the number of students. Clicking "Show list of affected accounts" in the warning lets you view and copy the list of accounts (email addresses) whose submission records will be deleted. In this case, the import cannot be executed unless you check "I understand that submission records will be permanently deleted and cannot be restored."
- If there are items to be deleted but submission records are not affected: A yellow (caution) display prompts you to review the items to be deleted.
If the deletion of submission records is unintended, cancel the import and revert the IDs in the teaching materials repository to their previous state.
Import Steps
- Click the account name in the top right.
- Open
Teaching Material Repositories.
- Click
Import for the target repository.
- Review the diffs and validation results.
- If there are no problems, run
Import.
If an Error Occurs
Failures can occur for reasons such as the following:
- Duplicate problem IDs
- References to non-existent lectures or problems
- Malformed YAML
Check the error message, fix the contents of the teaching materials repository, reflect the changes in main, and import again.
Related Links