Table of Contents
Instructor Usage Guide
This guide is for instructors (group administrators) who use Exercode in their classes. It describes, in the order of the work, how to check students' progress and AI chat usage, and how to use them for in-class support and post-class review.
1. Glossary
1-1. Role Types
Exercode has four role types.
| Name | Permissions | Intended for |
|---|---|---|
| Setup Administrator | Organization administrator | Overall administrators for a school or faculty, office staff. Invites members to the organization and creates groups |
| Instructor | Group administrator | Class or subject instructors, TAs. The readers of this guide |
| Material Creator | Member of the material repository | People who create and maintain materials in the GitHub material repository |
| Student | General member | Students taking classes |
Instructors can view information about students in groups they manage and courses added to those groups.
This guide refers to learners as "students." They may appear as "learners" or "trainees" on screen, but all mean the same thing.
1-2. Organizations and Groups
| Term | Meaning | Example |
|---|---|---|
| Organization | An educational institution such as a university or vocational school | 〇〇 University, 〇〇 Vocational School |
| Group | A class or department within an organization. Instructors check the students in the groups they are responsible for | Department of 〇〇, Year 1, Class A (AY2026) |
| Member | A user belonging to an organization or group (both instructors and students) |
An organization contains multiple groups. Conceptually:
- Organization (〇〇 University)
- Group (〇〇 Dept. Year 1 Class A)
- Member (Instructor)
- Member (Student A)
- Member (Student B)
- Group (〇〇 Dept. Year 1 Class B)
- Member (Instructor)
- Member (Student C)
- Member (Student D)
- Group (〇〇 Dept. Year 1 Class A)
1-3. Material Structure
| Term | Meaning | Example |
|---|---|---|
| Course | The overall unit of materials. Corresponds to one subject taught | Python Language Basics, Java Practice |
| Lecture | A unit that makes up a course. Corresponds to one class session | Lecture 1: Variables and Types |
| Material | The smallest unit of material. Contains explanatory text, problems, and submission settings | Exercise 1-1: Variable Declaration |
For example, a 15-lecture course "Python Language Basics" is registered in Exercode as follows. Each lecture contains the materials to be solved in that session.
- Course: Python Language Basics
- Lecture: Lecture 1 Variables and Types
- Material: Exercise 1-1 Variable Declaration
- Material: Exercise 1-2 Type Conversion
- Lecture: Lecture 2 Conditional Branching
- Material: Exercise 2-1 if Statement
- Material: Exercise 2-2 Comparison Operators
- ...(continues through Lecture 15)
- Lecture: Lecture 1 Variables and Types
To make this course available to students, add it to a group. For example, if you add "Python Language Basics" to the group "Computer Science Year 1 Class A," it appears in the course list of students in Class A. Students open the materials matching each lecture and solve the problems. Submission periods and similar settings are configured per material (see 5-4).
2. What Each Role Can Do
A list of which role can perform the operations described in this guide.
| Operation | Instructor (Group Administrator) | Setup Administrator (Organization Administrator) | Material Creator |
|---|---|---|---|
| Invite members to an organization | ✕ | ○ | ✕ |
| Create or delete groups | ✕ | ○ | ✕ |
| Add or remove students from groups | ○ | ○ | ✕ |
| Make other instructors group administrators / remove their permissions | ○ | ○ | ✕ |
| Register student profiles | ○ (only for own groups) | ○ | ✕ |
| Add courses to groups | △ (※1) | △ (※1) | ✕ |
| Create new courses | ○ | ○ | ✕ |
| Set material release timing, deadlines, and exam mode | ○ | ○ | ○ |
| Edit material text and problems | ○ | ○ | ○ |
| Set lecture schedule | ○ | ○ | ○ |
| Open materials in instructor mode / try AI chat | ○ | ○ | ○ |
| Run real-time surveys | ○ | ○ | ○ |
| View learning analytics (progress, stumble analysis, AI chat) | ○ | ○ | ✕ |
| Download progress as CSV | ○ | ○ | ✕ |
| View submitted code on the leaderboard | ○ | ○ | ○ |
| Manual grading | ○ | ○ | ✕ |
| Register a material repository to an organization | ✕ | △ (※3) | ✕ |
| Re-import materials from a material repository | ✕ | △ (※2) | ○ |
- ※1 You can only add courses created in that organization, and courses imported from material repositories registered to that organization.
- ※2 Only the organization administrator of the organization where the material repository was registered can do this.
- ※3 Only the person who first added the material repository to Exercode can do this (see 5-1). Once registered, the organization it is registered to cannot be changed.
- Material Creators are people who are members of a material repository in Exercode, and can only operate on courses imported from that material repository. Simply creating materials on GitHub does not grant the operations in the Material Creator column. For how to become a member, see "How to become a member" in Role types and what they can do.
3. Overall Workflow
The workflow for instructors to use Exercode in class depends on how the course is prepared. In both cases, complete joining the organization and preparing courses and students before moving on to monitoring during and after class.
| How the course is prepared | Suited for | Flow |
|---|---|---|
| Create the course directly in the Exercode interface | Instructors teaching with their own materials and creating/editing materials directly on screen | 3-1 |
| Import from a GitHub material repository | Material Creators who create and manage materials on GitHub. Uses repository settings such as disabling AI chat or hints per material | 3-2 |
3-1. When Creating the Course Directly in the Exercode Interface
| Step | Task | Performed by | Notes |
|---|---|---|---|
| 1 | Invite the instructor to the organization | Setup Administrator | See 2. Create groups and register instructors in the Setup Administrator guide |
| 2 | Join the organization from the invitation email | Instructor | 4-1. Join the organization from the invitation email |
| 3 | Make the instructor a group administrator | Setup Administrator, or another group administrator | 4-2. Confirm you are a group administrator |
| 4 | Create a course in the group, and create lectures and materials | Instructor (or Setup Administrator) | 5-2. Create a new course |
| 5 | Set material release timing and deadlines | Instructor (or Setup Administrator) | 5-4. Set material release timing and deadlines |
| 6 | Invite students to the organization | Setup Administrator | See 5. Register students in the Setup Administrator guide |
| 7 | Add students to the group | Instructor (or Setup Administrator) | 6-1. Add students to a group |
| 8 | Check student status during class | Instructor | 7. Check student progress during class |
| 9 | Review and grade after class | Instructor | 8. Review after class, 9. Manual grading |
3-2. When Importing from a GitHub Material Repository
| Step | Task | Performed by | Notes |
|---|---|---|---|
| 1 | Invite the instructor to the organization | Setup Administrator | See 2. Create groups and register instructors in the Setup Administrator guide |
| 2 | Join the organization from the invitation email | Instructor | 4-1. Join the organization from the invitation email |
| 3 | Make the instructor a group administrator | Setup Administrator, or another group administrator | 4-2. Confirm you are a group administrator |
| 4 | Create materials in the material repository and merge them into the default branch (usually main) | Material Creator | 5-1. Import a course from a material repository, Sample material repository guide |
| 5 | Add the material repository to Exercode, register it to the organization, and import | Setup Administrator | 5-1. Import a course from a material repository |
| 6 | Add the imported course to groups | Instructor (or Setup Administrator) | 5-3. Add a course to a group |
| 7 | Set material release timing and deadlines | Material Creator, or instructor | Material repository settings (step 4), or 5-4. Set material release timing and deadlines |
| 8 | Invite students to the organization | Setup Administrator | See 5. Register students in the Setup Administrator guide |
| 9 | Add students to the group | Instructor (or Setup Administrator) | 6-1. Add students to a group |
| 10 | Check student status during class | Instructor | 7. Check student progress during class |
| 11 | Review and grade after class | Instructor | 8. Review after class, 9. Manual grading |
- For how to create a material repository (see the sample material repository guide) and cautions when importing (who adds it first, overwriting by re-import, deletion of submission records by ID changes), see 5-1. Import a course from a material repository.
- If a Setup Administrator added the material repository, Material Creators who wrote materials on GitHub do not become members of the material repository in Exercode. If a Material Creator needs to edit materials on the Exercode screen, consult the Setup Administrator.
- Submission periods can be set both in the material repository and in the material
Editscreen (5-4). Settings changed on theEditscreen may be overwritten by re-import, so for settings you want to keep, ask the Material Creator to reflect them in the material repository.
3-3. Common Cautions for Both Cases
- Inviting instructors to the organization, making them group administrators, and inviting students to the organization are done by the Setup Administrator (making group administrators can also be done by another group administrator). Instructors only need to confirm the setup in 4-2. Confirm you are a group administrator. If a student has not joined the organization, ask the Setup Administrator to send an invitation.
- Course preparation and adding students to groups may already have been done by the Setup Administrator. You can check this in 4-3. Check whether class preparation is complete; if done, you can skip ahead. Discuss with the Setup Administrator to decide how much the instructor handles.
4. First Steps
4-1. Join the Organization from the Invitation Email
Who can do this: Instructor
When the Setup Administrator invites you to the organization, an invitation email is sent from no-reply@willbooster.dev.
-
Open the invitation email and visit the URL in it.
-
In the "Create account / sign in with email" field, enter the email address that received the invitation, then press
Send verification code. -
An email containing a verification code arrives. Enter the code and press
Verify and sign in. -
When "Do you want to join the organization 'OOO (organization name)'?" is displayed, press
Join.
If you don't receive the invitation email: Check your spam folder. If you can't find it, tell the Setup Administrator your email address and ask them to resend the invitation.
Signing in from the second time on: Press
Create account / Sign inat the top right of the Exercode top page, enter the email address that received the invitation, and sign in with the verification code. Joining the organization is only required the first time.
Tip: To avoid entering a verification code at every sign-in, register a passkey. Open the account button at the top right of the screen →
Settings, pressAdd passkeyunderPasskeys, and register using your browser or device authentication. From then on, you can sign in usingSign in with passkeyon the sign-in screen.
4-2. Confirm You Are a Group Administrator
Who can do this: Setup Administrator, or another group administrator of that group (no action is required from the instructor)
Features described later in this guide, such as checking progress during class (Chapter 7), reviewing after class (Chapter 8), and manual grading (Chapter 9), are only available if you are a group administrator of your assigned group. You can confirm whether this has been set up using either of the following methods.
If you are an instructor with organization administrator permissions: Instructors who also serve as Setup Administrators, for example, have organization administrator permissions and do not need this setup. The screen shows
Organization administrator menuinstead ofGroup administrator menu; read this guide'sGroup administrator menuas that. The scope you can view is the whole organization, not just your own groups.
Check in the group list (you can check this even if no course has been added to the group yet)
- Press
Affiliationat the top of the screen and open your organization name. If the screen is narrow,Affiliationis in the person icon menu at the top right. - If
Groupsappears and the list contains your assigned group, the setup is complete. IfGroupsdoes not appear, you are not yet a group administrator.
Check on the course page (if the course you are responsible for has been added to the group)
- Open
Course listat the top of the screen. - Open the course you are responsible for.
- If
Group administrator menuis displayed, the setup is complete.
If neither method confirms it: Ask the Setup Administrator to check the following three points:
- Whether you have joined the organization
- Whether you are a group administrator of your assigned group
- Whether the course has been added to that group (courses merely added to the organization will not appear)
4-3. Check Whether Class Preparation Is Complete
Check the following before the first class. For anything not yet done, discuss with the Setup Administrator and proceed.
| What to check | Where to check | If the instructor is doing it |
|---|---|---|
| Your course has been added to your group | The course appears in Course list, and opening it shows Group administrator menu | 5-3. Add a course to a group |
| Students have been added to the group | Affiliation → organization name → Groups → target group → Members | 6-1. Add students to a group |
| Material release timing and deadlines match the class schedule | Course list → target course → Edit for the material | 5-4. Set material release timing and deadlines |
| (Optional) Lecture schedule is set | Course list → target course → Lecture schedule settings | 5-5. Set lecture schedule |
| (Optional) Real-time survey is enabled for materials used for in-class surveys | Course list → target course → Edit for the material → Submission / exam settings tab, Real-time survey | "Preparation (before class)" in 7-5. Run a real-time survey |
5. Prepare Materials
Prepare the materials used in class. Materials are within courses, so first prepare the course and add it to your group (5-1 to 5-3), set material publication timing and deadlines to match the class schedule (5-4 and 5-5), and check the content on the same screen students use (5-6). If the Setup Administrator has already added the course, start from 5-4.
There are two ways to make a course available in Exercode:
| Method | Steps | Adding to a group (5-3) |
|---|---|---|
| Import from a GitHub material repository | 5-1. Import a course from a material repository | Required (importing alone does not add it to any group) |
| Create on the Exercode screen | 5-2. Create a new course | Not required (added to the group selected at creation) |
If you want to use a course that already exists for another group (e.g., a course created for Class A is also used for Class B), add it to the group in 5-3.
5-1. Import a Course from a Material Repository
Who can do this: Setup Administrator (organization administrator). Material Creators create the material repository
Import (import into Exercode) courses, lectures, and materials created in a GitHub material repository. Since the Exercode-side operations are performed by the Setup Administrator, instructors prepare the material repository and request/confirm the import. If the Setup Administrator has already imported, skip this and proceed to 5-3.
Caution: The material repository must first be added to Exercode by a Setup Administrator (organization administrator). If an instructor or other non-organization administrator adds it first from the
Material repositoriesscreen, the material repository cannot be registered to the organization, and the imported course cannot be added to groups.
What the Material Creator does
- Create a material repository on GitHub and write materials. For the folder structure, how to write materials and problems, and settings in
course.yamlor at the top of each material (submission periods, exam mode, disabling AI chat or hints, manual grading, etc.), refer to the sample material repository guide and its examples. - Merge the materials into the default branch (usually
main) of the material repository. - Tell the Setup Administrator the name of the material repository and request the import.
What the Setup Administrator does
- Press
Material repositoriesfrom the email address at the top right of the screen (or the person icon if the screen is narrow), then pressAdd from my GitHub. - On the GitHub screen, select the material repository and install the GitHub App.
- Return to Exercode, press
Register to organizationfor the added material repository, and select the organization. - Press
Importfor the target repository, check the diff and validation results, and confirm the import. - When the import finishes, the imported course appears as a card. Either add the course to the group (5-3) or tell the instructor the course ID.
For details, see 3. Add materials, "3-2. Import from a GitHub material repository," in the Setup Administrator guide.
When you update materials (re-import)
Changes to the material repository are not reflected in Exercode until you import again. After the Material Creator merges changes into the default branch, ask the Setup Administrator to re-import.
- Re-importing may overwrite settings changed on the material
Editscreen (5-4), such as submission periods, with the material repository contents. - After operation starts (once students have begun submitting), if you change the IDs of courses, lectures, materials, or problems in the material repository and re-import, the submission records for those items are completely deleted and cannot be restored. For how to change the order without changing IDs, see "Important: Caution about ID changes" in the sample material repository guide. The import confirmation screen shows the number of submission records that will be deleted.
5-2. Create a New Course
Who can do this: Instructor (group administrator), Setup Administrator (organization administrator)
If you teach with your own materials, you can create a course on the Exercode screen and write materials directly.
-
Open
Affiliation→ organization name →Groups→ target group →Courses. -
Press
Create course. -
Enter
Course nameandDescription. -
For
Group, select a group you manage. -
Press
Create.
Courses you create can only be used by members of the selected group. After creation, you are taken to the course edit screen, where you can add lectures and materials with Add lecture and Add material. To write material text and questions, press Edit Markdown for the material on the course edit screen and create them under the Text and questions tab. For detailed steps on editing materials, see Edit materials.
Caution: After students begin submitting, if you delete lectures or materials on the course edit screen, or delete existing questions on the material edit screen, all student submissions and progress for those lectures, materials, or questions will also be deleted and cannot be restored. After operation starts, do not delete lectures, materials, or questions; instead, for unused materials either set the release time to a later date so students cannot open them (the material name and submission period remain visible on the course page) or rewrite the text.
5-3. Add a Course to a Group
Who can do this: Instructor (group administrator), Setup Administrator (organization administrator)
Add a course imported from a material repository (5-1), or an existing course created for another group or the entire organization, to your group. You don't need this if you created the course for your group in 5-2, or if the Setup Administrator has already added it (if the course appears in Course list).
-
Press
Affiliationat the top of the screen and open your organization name. If the screen is narrow,Affiliationis in the person icon menu at the top right. -
Open
Groupsand open the target group. -
Open
Courses. -
Enter the ID of the course you want to add. Courses not yet added to a group do not appear in the instructor's
Course list, so ask the Setup Administrator for the course ID (it is the part after/courses/in the URL of the course page). -
Press
Add.
Added courses can only be used by members of that group.
If you cannot add it: You can only add courses created in that organization, and courses imported from material repositories registered to that organization. Courses shared from other organizations, for example, will produce an error, so consult the Setup Administrator. If you enter a non-existent ID, no error is shown and it is ignored. After pressing
Add, check that the course appears inCourse list.
5-4. Set Material Release Timing and Deadlines
Who can do this: Instructor (group administrator), Setup Administrator (organization administrator), Material Creator
-
Open
Course list→ target course. -
Press
Editfor the target material. -
On the
Submission / exam settingstab, configure the items in the table below, then pressUpdate.
| Item | Description |
|---|---|
| Submission open | The date and time from which students can begin submitting. Before this time, the material content is not referenced by students' AI chat |
| Submission deadline | Submissions after this time are treated as late submissions, and correct answers after the deadline (before the final submission deadline) are shown in yellow in learning analytics |
| Final submission deadline | After this time, submissions are no longer accepted |
| Exam mode | A setting for quizzes and exams. Students cannot use learning support features such as AI chat, and hints are not shown during the submission period |
| Ending the exam early | Only settable when exam mode is on. Check Allow ending the exam early to let students end the exam before the final submission deadline |
| Mock exam mode | Switches to a screen for exam practice. Correctness and accuracy rate are shown to students after the final submission deadline. AI chat works normally |
- Items left unset have no restriction. If submission open, submission deadline, and final submission deadline are all blank, students can submit at any time.
- To have students work on materials in line with each class, set submission open to match the class schedule.
- These settings are one per material. If the same course is used across multiple groups or organizations, changes apply to all students using that material.
- About ending an exam early:
- Students who end the exam cannot answer or submit until the deadline. Ending cannot be undone.
- If no final submission deadline is set, the end button is not displayed.
- In mock exam mode, questions are solved in a question list and one-by-one display. Coding problems are not shown in the question list.
Real-time surveyturns a material into one for in-class surveys. Do not check it for ordinary materials.
Caution: For materials imported from a GitHub material repository, re-importing may overwrite changes made on the
Editscreen. For settings you want to keep, ask the Material Creator to reflect them in the material repository. Settings that disable AI chat or hints per material, and the time until hints become available, are also configured by the Material Creator in the material repository. The settings available are summarized in "3. Add materials" of the Setup Administrator guide. For how to write them and all parameter options, see "Common course and material parameters" and "Material parameters" in the sample material repository guide. Courses created on the Exercode screen (5-2) have no material repository, so these settings are not available, and the only way to stop students' AI chat is exam mode.
5-5. Set Lecture Schedule
Who can do this: Instructor (group administrator), Setup Administrator (organization administrator), Material Creator
Setting the lecture schedule lets learning analytics distinguish submissions made during class hours from those made outside class hours.
-
Open
Course listand open the target course. -
Press
Lecture schedule settings. -
Enter the day of the week, start time, and end time, then press
Add time. Lectures with different days or time slots can be added in succession. -
Confirm the entry appears under
Current lecture schedule, then pressSave changes.
Caution: The lecture schedule is one per course. If the same course is used across multiple groups, changes apply to the learning analytics of all groups using the course. Instructors can only set schedules for courses already added to their group.
5-6. Check Materials on the Same Screen as Students
Who can do this: Instructor (group administrator), Setup Administrator (organization administrator), Material Creator
On the course page there are two ways to open a material:
| Button | How it opens |
|---|---|
Start (instructor mode) | Opens the material to check its content even outside the submission period |
Start (student mode) | Opens the material under the same conditions as students |
- Materials with more than 10 minutes until submission opens cannot be opened in
Start (student mode). Open them fromStart (instructor mode). - Instructors can use AI chat on material and problem screens even for materials where students cannot use AI chat (exam-mode materials, materials with AI chat disabled, and materials before submission opens). You can try how the AI answers students' questions before class.
6. Manage Students and Instructors
Register the students and instructors belonging to your group. Adding and removing students (6-1 and 6-2), granting and revoking management permissions to other instructors and TAs (6-3 and 6-4), and registering students' names and student IDs (6-5). If the Setup Administrator has already added students, 6-1 and 6-2 are unnecessary. Use this section for students or staff changes during the course as well.
Adding and removing members and changing permissions are all done on the group's Members screen. To open it:
-
Press
Affiliationat the top of the screen and open your organization name. If the screen is narrow,Affiliationis in the person icon menu at the top right. -
Open
Groupsand open the target group. -
Open
Members.
Premise: Only people who have already joined the organization can be added to a group. Only the organization administrator (Setup Administrator) can invite people to the organization. If someone has not joined the organization, ask the Setup Administrator to send an invitation.
6-1. Add Students to a Group
Who can do this: Instructor (group administrator), Setup Administrator (organization administrator)
- Open the group's
Membersscreen. - Enter the email addresses of the students you want to add. You can enter multiple at once, separated by line breaks or spaces.
- Do not check
Management permission. - Press
Add / update permissions.
Caution: The
Management permissioncheckbox applies equally to all entered email addresses. If you enter an instructor's email along with students, that instructor's group administrator permission is removed.
6-2. Remove Students from a Group
Who can do this: Instructor (group administrator), Setup Administrator (organization administrator)
- Open the group's
Membersscreen. - Enter the email addresses of the students you want to remove.
- Check the number of people to be removed shown on the screen (e.g.,
With the current input, 2 people will be removed.), then pressBulk delete. - On the confirmation screen, check the number of people to be removed and press
Yes.
Removing from a group does not remove them from the organization.
6-3. Make Other Instructors or TAs Group Administrators
Who can do this: Instructor (group administrator), Setup Administrator (organization administrator)
If multiple instructors or TAs are in charge of the same group, you can make others group administrators. You do not need to ask the Setup Administrator.
-
Open the group's
Membersscreen. -
Enter the email address of the person you want to make a group administrator.
-
Check
Management permission. -
Press
Add / update permissions. -
Confirm that the checkmark appears in the
Management permissioncolumn of the members list.
If they don't appear in the list: The person may not have joined the organization. Email addresses of people who have not joined the organization are ignored without showing an error. Ask the Setup Administrator to invite them.
6-4. Remove Group Administrator Permissions
Who can do this: Instructor (group administrator), Setup Administrator (organization administrator)
Permissions of instructors or TAs who are no longer in charge can be removed while keeping them in the group.
- Open the group's
Membersscreen. - Enter the email address of the person whose permissions you want to remove.
- Uncheck
Management permission. - Press
Add / update permissions. - Confirm the checkmark in the
Management permissioncolumn of the members list has disappeared.
- You can remove your own permissions, but once removed you cannot restore them yourself. You will no longer be able to manage the group, and to restore your permissions you must ask another group administrator or the Setup Administrator. Take care not to include your own email when adding students.
- If you also hold organization administrator permissions, removing your group administrator permissions still allows you to manage the group as an organization administrator. In this case, a faint checkmark representing organization management permission remains in the
Management permissioncolumn.
6-5. Register Student Profiles
Who can do this: Instructor (only members of your own groups), Setup Administrator (organization administrator)
Registering students' names and student IDs via CSV displays names in the name column of learning analytics, making students easier to identify. For students without registered profiles, the name column shows -.
Caution: Profiles are overwritten by the CSV content saved later. Blank fields erase the existing registered value. If the Setup Administrator and an instructor register using separate CSVs, previously registered content may be lost. Decide with the Setup Administrator who will do this.
- Open
Course list→ target course, and pressUser profilesin theGroup administrator menu(orOrganization administrator menufor Setup Administrators). - Press
Download templateto save the CSV template. - Enter information for each student from row 2 onward of the template.
- Do not change the column names in row 1 (
Email address,Name,Affiliation,Student ID,Admission year,Faculty,Department,Class). - Only
Email addressis required. - Enter only digits for
Admission year.
- Do not change the column names in row 1 (
- Upload your CSV to the
CSV filefield and check the contents loaded into the table on the screen. - Press
Save. IfUpdated.is displayed, it has been saved. - On the group's
Membersscreen, confirm the profiles are reflected.
If not reflected: The following rows are not reflected, and no notice is shown on screen:
- Rows for people who have not joined the organization
- Rows for people not in a group you manage
Also, columns whose names were changed or deleted will erase the registered values.
6-6. Guidance for Students and Handling Inquiries
Students are guided in the Student usage guide as follows. Refer to these when students ask questions.
- Content of AI chats and hint usage counts can be checked by the instructor to improve classes
- Materials where AI chat is disabled by the instructor and exam materials' content are not referenced by AI chat
- Model answers are shown after the submission period ends. Some problems may not show them depending on instructor settings
- If the invitation email doesn't arrive, report it to the instructor
If a student reports that they did not receive the invitation email, check the student's email address and tell the Setup Administrator. Only the organization administrator (Setup Administrator) can resend invitations.
7. Check Student Progress During Class
Who can do this: Instructor (group administrator), Setup Administrator (organization administrator)
During class, keep the learning analytics screen open and check on students. The screen is explained in order: the progress table colors (7-1), how to find students to talk to (7-2 and 7-3), and the status of AI questions (7-4). For running an on-the-spot survey in class, see 7-5.
When class starts
-
Open
Course list→ target course →Learning analytics. TheProgresstab is displayed. -
Under
Display lecture, select today's lecture. To view the previous session's progress alongside, increase the number underAdjacent lectures. If you are responsible for multiple groups, useFilter usersto show only today's group. -
Turn on the
Auto-refresh (about every 1 minute)switch. The display updates roughly every minute. -
If you are projecting to a classroom screen, check
Anonymize students. The name and email columns for students will no longer be displayed.
What to check on the Progress tab
| What to look at | What you learn | Description |
|---|---|---|
Struggling members (center of screen) | Students who may need your attention and the reason | 7-2 |
Progress table for All members (lower part of screen) | For each student, which problems they have answered correctly | 7-1 and 7-3 |
Speech bubbles in the AI chat column | Students currently asking the AI and the trend of their questions | 7-4 |
Talk to individual students who are stuck. If many students are stuck on the same problem or asking the AI the same thing, give a supplementary explanation to the whole class.
- The settings for
Filter users,Anonymize students, andDisplay lectureare shared between theProgressandStumble analysistabs. - The selected tab and lecture are included in the URL, so you can share or bookmark them as-is.
7-1. How to Read Progress Colors
| Color | Meaning |
|---|---|
| Green | Correct |
| Yellow | Correct after the submission deadline (before the final submission deadline) |
| Red | Incorrect |
| Light green | Correct during review |
| Gray | Not submitted |
"Review" is a feature where, after the final submission deadline (or, for materials other than exam mode, after all questions have been submitted, even before the final submission deadline), students re-solve multiple-choice and free-text questions while viewing hints. Correct answers in review do not affect grades, so they are colored differently from correct answers before the final submission deadline.
Pressing a cell opens the list of submissions for that student and that problem. For coding problems you can check submitted code; for multiple-choice and free-text problems you can check the answers.
If lecture schedules are set, the display changes depending on when the submission was made.
| Display | Meaning |
|---|---|
| Filled cell | Submitted during lecture hours (worked on in class) |
| Outline only | Submitted outside lecture hours (worked on during self-study or homework) |
7-2. Struggling Members
Students who may need your attention are listed with the following reasons. Up to 10 unresolved students are shown, and students marked as handled are displayed in full after them. If a student has multiple reasons, they are combined into one row, with the basis shown under Status.
| Reason | Condition displayed |
|---|---|
| Long-term stall | Working on a problem they have not yet answered correctly, and still active (last operation within 5 minutes). Time spent on that problem is shown in Status |
| Repeated same error | Three or more consecutive incorrect answers to the same problem within the last 15 minutes |
| Requesting answers | Three or more AI questions asking for answers or code within the last 15 minutes |
| Not started | Has neither viewed nor submitted any problems in the displayed lecture (since they may be absent, these appear at the end of the list) |
For students you have spoken to, check the box at the start of the row, and they will move to the end of the list in a faded display as handled.
- The check is cleared when the date changes.
- If a new reason appears after checking, the check is cleared and the student returns to the prominent display.
7-3. Per-Student Status
The all-students list shows the following columns for the coding problem each student last opened.
| Column | Content |
|---|---|
| Last opened problem | The problem the student last opened |
| Last activity | Studying (within 5 minutes of last operation), or the elapsed time since last operation |
| Status | Whether the student has ever answered that problem correctly (Correct, Incorrect, Not submitted). Once correct, it stays Correct even if later answers are incorrect |
| Total time on page | The total time spent with that problem open |
| Hint count | The number of times additional hints were generated for that problem. Merely showing error locations does not increase it |
| Submission count | The number of submissions for that problem. Pressing it opens the submission list filtered to that student and problem |
Students with many Hint count or Submission count but still Incorrect status, or with long Total time on page, may be struggling.
7-4. Status of AI Chat Questions
The speech bubbles in the AI chat column indicate that the student has asked the AI in this course.
| Display | Meaning |
|---|---|
| Green filled bubble | Last question within 5 minutes |
| Gray outline bubble | Last question more than 5 minutes ago |
| Number next to the bubble | Number of conversations today |
Answer request with count | Within the last 15 minutes, there are questions asking for answers or code |
Error consultation | Within the last 15 minutes, no questions asking for answers or code, but there are questions about errors |
Pressing the bubble lets you check an overview and the content of today's questions. Pressing View past conversations opens the AI chat tab filtered to that student.
7-5. Run a Real-Time Survey
Who can do this: Instructor (group administrator), Setup Administrator (organization administrator), Material Creator
During class you can run an on-the-spot survey using a material's questions and show the aggregated results to students.
Preparation (before class)
- Open
Course list→ target course →Editfor the material to be used for the survey. - On the
Submission / exam settingstab, checkReal-time surveyand pressUpdate. All questions in the material become available to run as surveys. - For questions without correct answers (e.g., asking for opinions or impressions), check
Treat as a real-time surveyon the question. Every answer is recorded as correct.
Running (during class)
- Ask students to have the target material screen open. Students who have not opened the material screen will not see the survey.
- On the course page, press
Manage surveyfor the target material. - Check the number of people currently connected under
Currently connected students(Participants) — those with the material screen open. - Press
Start surveyfor the question to run. The answer screen appears on students' material screens. - When enough answers have come in, press
End survey. - To show results to students, press
Publish results. A graph of the aggregated results appears on students' screens. You can return it to unpublished withStop publishing results.
Caution: Pressing
Revert to before startdeletes all students' answers for that question immediately, without a confirmation dialog. Do not press it if you want to keep results.
- Pressing
Start surveyends any other questions running in the same material. - Ended questions cannot be restarted until you press
Revert to before start. - Only the aggregated results are shown to students; for free-text questions, only the number of answers is displayed.
- Answers are recorded per student, and the
Manage surveyscreen shows participants' display names (or "Anonymous" if not set) and email addresses. Be careful when projecting this on a classroom screen. - Review is not available for materials used as real-time surveys.
- If an instructor opens the material with
Start (student mode), the answer screen appears just as for students, and they are counted as participants. To check results, open it withStart (instructor mode).
8. Review After Class
Who can do this: Instructor (group administrator), Setup Administrator (organization administrator)
After class, review what students got stuck on using the Stumble analysis and AI chat tabs in learning analytics.
8-1. Check Question Trends with Stumble Analysis
-
Open
Learning analyticsfor the course and select theStumble analysistab. -
Under
Display lecture, select the lecture you want to review. -
Press
Analyze, and AI will group the questions by topic. -
Press a topic under
Frequently asked topicsto check the following:- What students did not understand
- Hints for materials (AI-estimated)
- Students' statements (pressing
Open conversationopens the details of that conversation)
- The top of the screen shows the number of students who asked questions, the number of questions, the percentage of questions asking for answers or code, and the materials with the most questions.
- Analysis results are saved and displayed the next time. Questions added after analysis are shown as
Unanalyzedwith a count; pressRe-analyzeas needed. If students who asked the analyzed questions fall outside the filter range or conversations are deleted, the previous results are not displayed and you will be prompted toRe-analyze. - If fewer than three students asked questions, analysis is not performed and only the per-learner list is shown.
Per learnershows, for each student, the number of questions, questions asking for answers or code, submissions, and correct answers. Pressing a student shows a chronological history of their questions and submissions for that lecture.CSV downloadlets you save theFrequently asked topicstable. It does not include students' statements, names, or email addresses.- Student names and email addresses are not passed to the AI for analysis.
8-2. Check AI Chat Conversations
The AI chat tab in learning analytics lists conversations between students and the AI, and lets you review each conversation in full.
-
Specify the lecture, material, student, group, question date, and keywords in the question text, then press
Filter. -
Select the question of a conversation from the list you want to review. All messages in the conversation are shown in chronological order. Operations where the AI referred to materials can be checked by expanding
AI operations. -
Use
Previous chatandNext chatto move to the surrounding conversations, andBack to chat listto return to the list.
- Keyword search covers the text of students' questions. AI answer text is not searched.
- Conversations started from the course screen are not tied to a material, so they are shown as
No material specified.
8-3. Check Hint Usage
To see what hints students who used many hints were viewing, check the following.
-
In the learning analytics
All memberstable, pressSubmission countfor the student you want to check to open the submission list. -
Open the submission you want to check.
-
Check
Last viewed hint informationin the submission details.
8-4. Download Progress as CSV
You can save each student's submission status as CSV for use in grade calculations and similar tasks.
-
Open
Learning analyticsfor the course. TheProgresstab is displayed. -
Use
Filter usersandDisplay lectureto select the target students and lectures. -
As needed, press the ▼ next to
CSV downloadaboveAll membersand selectColumnsandOptions. -
Press
CSV download.
| Option | Content |
|---|---|
Columns | By default, includes User ID, Email address, Name, and Submission/correctness. You can add profile fields such as Affiliation and Student ID, Submission date/time, Submission/before soft deadline, Submission/score, Submission/outstanding work, and Submission/source code (single file only). The score, outstanding work, and source code columns are output only for coding problems |
Options | Selecting Calculate mean and standard deviation (Kawahara formula) adds a score column computing the percentage of TRUE among the output columns scaled to 100 points, and rows for the mean and standard deviation (excluding absent students, i.e., those with score 0) as formulas. Selecting Only materials whose final submission deadline has passed outputs, among materials past their final submission deadline, only the last one within the displayed lecture range |
- The column names in row 1 of the CSV are output in English names such as
user_idandemail. - Organization administrators and group administrators are not included in the CSV.
Caution: Even if
Anonymize studentsis enabled, names and email addresses are output as-is in the CSV. Handle with care.
8-5. View Submitted Code on the Leaderboard
Who can do this: Instructor (group administrator), Setup Administrator (organization administrator), Material Creator
For problems where the code readability review is enabled in the material repository, the problem screen shows View leaderboard. This button is not available for problems without it. Whether to enable it is set by the Material Creator in the material repository.
Instructors can check the submitted code and evaluations (e.g., Steps, Remaining issues) of all students listed on the leaderboard, even before the deadline. Pressing Read code opens that student's submitted code. The range of information visible to students differs from that visible to instructors.
9. Manual Grading
Who can do this: Instructor (group administrator), Setup Administrator (organization administrator)
For problems that cannot be graded automatically, such as reports (manually graded problems), assign scores and feedback on the submission details screen. When a student passes the automated tests for a manually graded problem, the problem screen shows "Please wait for the manual grading results." This message does not change after grading; students check the grading results under Manual grading results in submission details. For problems imported from a material repository, which problems are manually graded is set by the Material Creator in the material repository and cannot be changed on the instructor's screen. For coding problems created on the Exercode screen, press Edit for the target problem under Coding problems on the material edit screen and configure Manual grading required.
-
Open
Learning analyticsfor the course. If there are submissions needing manual grading, the message "There are submissions requiring manual grading." appears at the top of the screen. -
In the progress table, press a cell showing the pre-grading icon. Manually graded problems appear as wider cells.
-
From the opened submission list, open the submission you want to grade.
-
In the
Manual grading resultssection on the right of the submission details screen, enter aScore. -
As needed, write a comment in
Feedback. For especially good submissions, checkOutstanding work. -
Press
Save. Once saved, the grading result appears in the student's submission details. For problems set not to show grading results, students will not see them. -
Move to the next item to grade using
Next submission,Next submission from the same user, orNext submission for the same problem.Back to learning analyticsreturns to the learning analytics screen.
Keyboard shortcuts are also available.
| Action | Key |
|---|---|
Move to the Score field | Ctrl (Cmd on Mac) + S |
Move to the Feedback field | Ctrl (Cmd on Mac) + E |
| Save | Ctrl (Cmd on Mac) + Enter |
You can also add scores and feedback in these fields for automatically graded problems.
10. Troubleshooting
| Symptom | What to check |
|---|---|
| I didn't receive the invitation email | Check whether it went to spam (sender is no-reply@willbooster.dev). If not found, tell your email address to the Setup Administrator and ask them to resend the invitation |
Group administrator menu or Learning analytics doesn't appear on the course | Check with the Setup Administrator whether you have joined the organization, whether you are a group administrator of the assigned group, and whether the course has been added to that group |
| A student says they didn't receive the invitation email | Check the student's email address and tell the Setup Administrator. Only the organization administrator can resend invitations |
A course doesn't appear in students' Course list | Check whether the students are in the group, and whether the course has been added to that group |
| I can't add a course to a group | Whether it is a course created in that organization or imported from a material repository registered to that organization. Consult the Setup Administrator for any other course |
Students don't see the AI chat button | Check whether the material is in exam mode or submission open time has passed. The material repository may have AI chat disabled, so ask the Material Creator |
| Students are not shown in learning analytics | In Filter users, check whether you have selected the group the students belong to |
A student's name shows as - in learning analytics | Their profile (name) is not registered. See 6-5. Register student profiles, or ask the Setup Administrator whether it has been registered |
| Saved the profile CSV but it isn't reflected | Check whether the students are in a group you manage and whether the email addresses are correct. Out-of-scope rows are not reported and are not reflected |
| I can't make another instructor a group administrator | Check whether they have joined the organization. Email addresses of people who haven't joined are ignored without an error |
The AI chat tab doesn't appear in learning analytics | Check whether you are a member of the organization and a group administrator of the group linked to the course |
| Few AI chat counts or past questions not visible in learning analytics | The counts in the progress tab and the speech bubble list cover only today's conversations. Check past questions in the AI chat tab |
Hint count does not increase | Hint count is the number of times additional hints were generated. Merely showing error locations does not increase it |
Conversations are shown as No material specified | AI chats started from the course screen are not tied to a material, so they show as No material specified |
Changes made on the material Edit screen were reverted | Materials imported from a GitHub material repository are overwritten by re-import. Ask the Material Creator to reflect changes in the material repository |
| Students say the model answers tab is missing or model answers are not shown | If the material repository is set not to show model answers, the tab itself is not displayed. Even when shown, they are not displayed until the final submission deadline. Ask the Material Creator to check the setting |
Grading results are not displayed (Display of grading results is disabled.) | The material repository is set not to show grading results. With this setting, automatic grading results on the problem screen and submission details are not shown even to instructors (manual grading results can be checked and entered by instructors, and the progress table and progress CSV in learning analytics show correctness). Ask the Material Creator to check the setting |
| Students say they cannot copy and paste in the code editor | The material repository is set to prohibit copy and paste. Instructors can copy and paste. Ask the Material Creator to check the setting |
| Students don't see a real-time survey | Check whether the students have the target material screen open, and whether they appear under Currently connected students in Manage survey |
For questions not covered on this page, you can ask ChatBot from the Ask AI option on the help screen. ChatBot answers based on the public help and the sample material repository. Login is required to use it.