Adding teaching materials is done by importing a teaching material repository on GitHub into Exercode.
main branch.Teaching Material Repositories screen using the GitHub App.Teaching Material Repositories.Add from My GitHub.Teaching Material Repositories screen, the selected repositories will be displayed.If you later add or change the repositories read by the GitHub App, press Sync with My GitHub to reflect the changes.
Press Register with Organization on the teaching material repository card and select the organization to register it with.
Register with Organization. Teaching material repositories added by instructors who are not organization administrators cannot be registered with an organization.For details, see Syncing and Importing Teaching Material Repositories.
main branch.Examples:
java-basic-schoola-2026python-intro-collegeb-2026AI Chat and Hints are enabled by default. You can change them as follows in the course.yaml of the teaching material repository (for the entire course) or in the parameters at the beginning of each material (per material). If written in both, the material's settings take precedence.
| Parameter | Description |
|---|---|
isMaterialChatDisabled | Set to true to disable students' AI chat |
isDebugHintDisabled | Set to true to disable the "error location" hint |
isFixHintDisabled | Set to true to disable "additional hints" |
isDiffHintDisabled | Set to true to not display "explanation of the corrected code" in additional hints |
debugHintWaitingSeconds | Seconds after opening a problem until the "error location" becomes available (default 180) |
fixHintWaitingSeconds | Seconds after opening a problem until "additional hints" become available (default 300) |
For materials in exam mode (isExamination), students cannot use AI chat on the material screen or problem screen regardless of the submission period, and the content cannot be referenced from the AI chat on other screens either. The material name and the reason it cannot be referenced can be confirmed. People with instructor permissions for the course can use AI chat even for restricted materials (Asking Questions with AI Chat). During the exam period, hints are also not displayed. For how to write the parameters, refer to the sample teaching material repository documentation. Other settings, such as displaying model answers after the deadline (isModelAnswerShownAfterDeadline), code readability reviews and the leaderboard (isVotable; results are finalized at the material's soft deadline, or hard deadline if there is no soft deadline; disabled for materials without deadlines or materials that hide grading results), hiding grading results (isProblemGradingResultHidden), and prohibiting copy and paste (isCopyAndPasteDisabled), are also listed in the same documentation.
Course IDs (folder names), lesson IDs (folder names), material IDs (file names), and problem IDs are the keys that link data in Exercode to teaching materials. If you change these IDs and import, items with the old IDs are treated as deleted, and items with the new IDs are treated as newly added.
For this reason, do not change IDs after operations have begun (after students have started submitting). If your only goal is to change the order, use the following methods without changing IDs.
lectures array in course.yaml (no need to change folder names).10_, 20_, you can insert new materials in between without renaming existing files.In the confirmation dialog before importing, in addition to the items to be deleted, the number of submission records to be deleted is always displayed.
If the deletion of submission records is unintended, cancel the import and revert the IDs in the teaching material repository to their previous state.
Teaching Material Repositories.Import for the target repository.Import.Imports may fail with content such as the following:
Check the error message, fix the contents of the teaching material repository, reflect the changes in main, and import again.