Importing Course Materials
Course materials are added by importing a GitHub repository containing the materials into Exercode.
Overall Workflow
- Please contact us via Contact Us with the GitHub account of the course creator. WillBooster, Inc. will create a repository for the course materials and invite the specified account.
- The course creator pushes the materials to the
main branch of the course repository.
- Import the materials on Exercode.
- Add the imported courses to organizations or groups.
Prerequisites
- The course creator must have a GitHub account.
- Please contact us via Contact Us with the course creator's GitHub account and name.
- WillBooster, Inc. will create a repository for the course materials and invite the specified account.
Tips for Creating Course Materials
- The import target is the
main branch.
- The folder name of the course becomes the course ID.
- The course ID must be unique across all of Exercode. To avoid duplication with courses from other organizations, we recommend including the school name (or an abbreviation that identifies the organization) and the academic year in the course ID. This makes it easier to avoid duplicates and facilitates management and identification by academic year.
Examples:
java-basic-schoola-2026
python-intro-collegeb-2026
Caution When Changing IDs (Deletion of Submission Records)
The course ID (folder name), lecture ID (folder name), material ID (file name), and problem ID are the keys that link the data on Exercode with the course materials.
If you change these IDs and perform an import, the items with the old IDs will be deleted, and the items with the new IDs will be 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.
Therefore, do not change IDs after operations have begun (after students have started submitting).
If your only goal is to change the display order, use the following methods without changing the IDs:
- Order of lectures (sessions): Change the order of the
lectures array in course.yaml (no need to change folder names).
- Order of materials: Since the order is determined by the alphabetical order of the material file names, we recommend adding numbers with intervals from the beginning, such as
10_, 20_, so that you can insert new materials between existing ones without renaming them.
The confirmation dialog before import always displays the number of submission records that will be deleted, in addition to the items being deleted.
- If 0 submission records will be deleted: It is displayed in green, confirming that no submission records will be deleted (it is safe).
- If 1 or more submission records will be deleted: A red warning displays the number of records and the number of students affected. Clicking "View list of affected accounts" in the warning allows you to 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 the submission records will be completely deleted and cannot be restored."
- If there are items being deleted but they do not affect submission records: A yellow (caution) display prompts you to confirm the items being deleted.
If the deletion of submission records is unintended, cancel the import and revert the IDs in the course repository to their previous state.
Import Procedure
- Click your account name in the top right.
- Open
Course Repositories.
- Click
Import for the target repository.
- Review the differences and validation results.
- If there are no issues, execute the
Import.
If an Error Occurs
Imports may fail due to issues such as:
- Duplicate problem IDs
- References to non-existent lectures or problems
- Incorrect YAML formatting
Check the error message, correct the contents of the course repository, push the changes to main, and try importing again.
Related Links