Table of Contents
Student User Guide
This guide summarizes basic operations for studying in Exercode and the AI support features.
Contents of this page
- Join from the invitation email: Steps to join when using the app for the first time
- How to read each screen: What appears on the home, course list, course, and material pages
- Solve coding problems: Write code on the problem page and submit it
- Check the grading results: Find out why an answer was incorrect
- AI support features: What you can do with the AI chat and hints
- Ask questions in AI chat: Ask the AI about materials and problems
- View hints for coding problems: Have the AI point out error locations and how to fix them
- Use the code readability review and leaderboard: Have the AI review your correct code and read code from other students
- Check your own submissions: Review past submissions and grading results
- Change the display of material pages: Change how the text and problems are displayed, ruby, and width
- Situations where you would use these features: Which AI feature to use when you're stuck
Join from the invitation email
Steps
-
Open the invitation email you received from
no-reply@willbooster.dev. -
Access the URL written in the email.
-
In the area labeled "Create an account / sign in with email address," enter the email address that received the invitation and press the "Send verification code" button. If you create an account or sign in with a different email address, you will not be able to join the organization.
-
An email containing a verification code will arrive. Enter the 8-digit code on the original sign-in screen and press the "Verify and sign in" button.
-
A message asking "Do you want to join the organization 'XXX (organization name)'?" will appear. If everything is correct, press the "Join" button.
-
After pressing the "Join" button, the screen of the organization you joined will be displayed.
If you do not receive the invitation email, please report it to your instructor.
How to read each screen
Home
This screen appears when you sign in or when you press the logo mark in the upper left corner. Under Everyone's learning status, today's and this month's rankings are displayed.
Course list
Press Course list at the top of the screen to see the courses you can study. Pressing a course card opens that course's page.
Course page
The lessons included in the course are listed by session.
- Press a lesson's name to expand it and see the list of materials used in that session.
- Press the
Startbutton to the right of a material to open the material page. - The round mark on the left of each row shows your progress.
Material page
The text and the problems attached to it are displayed.
- The text is on the left and the table of contents for the material is on the right. Pressing an item in the table of contents moves you to the corresponding part of the text.
- You can change how the text is displayed. For details, see Change the display of material pages.
Problems included in the material
As you read through the text, problems appear along the way. There are several types:
-
Coding problems: Press a button such as
Problem 1in the text to open the problem page, where you write and submit a program. For details, see Solve coding problems. -
Multiple-choice problems: Choose an answer from the options and press
Submit answer. Some problems require selecting more than one answer. -
Written-answer problems: Type your answer in the input field and press
Submit answer.
Solve coding problems
For coding problems, you write a program on the problem page and submit it, and it is graded automatically.
Screen layout
The problem page is divided into three areas from left to right. The button at the upper right of each area lets you collapse or restore that area.
| Area | Contents |
|---|---|
| Problem statement (①) | The problem text, input and output format, and execution time and memory limits |
| Editor (②) | Prepare your code with the Editor, Template, and Upload tabs |
| Submit / check (③) | Tabs for submitting code, testing it, hints, and more (see the next section for details) |
Display settings for the problem page
From the gear button (Display settings) at the top of the problem statement area, you can choose Show ruby ON or Show ruby OFF, and Compact line spacing, Standard line spacing, or Relaxed line spacing. Line spacing applies to the text of the problem statement, hints, and explanations; it does not change line spacing for code or output differences. These settings are shared with the material page and are kept after reloading.
What you can do in the "Submit / check" tabs
The Submit / check area on the right (③) has the following tabs. Which tabs appear depends on the problem.
Submit: Submit your code and check the grading results. During the submission period or after the deadline, hovering over the button shows a message to that effect.Debug: Test whether your code works as intended before submitting. Enter input inStandard inputand pressRunto see the result. Runs here are not recorded as submissions, so you can try things freely as many times as you like.Hint: The AI shows where your unfinished code may have errors and how to fix them. For details, see View hints for coding problems.Model answer: After the submission period ends, the model answer is displayed. Depending on your instructor's settings, some problems may not show it.History: You can open past submissions fromServer submission history.Browser auto-saveautomatically stores your unfinished code.
How to solve
-
Open the problem from the material page.
-
If you want to choose a programming language, press
Load templateon theEditortab and select one. If a template exists for the language you select, its contents are loaded; if not, you start with an empty file. Unless your instructor gives specific instructions, you don't need to do this. -
Write your code on the
Editortab. For problems that require submitting a file, choose the file on theUploadtab. -
If needed, go to the
Debugtab, enter input inStandard input, and pressRunto check how it behaves. -
To submit the problem, press the
Submit (with automatic code formatting)(orSubmit) button on theSubmittab. -
When grading finishes, the results for each test case are displayed. For how to read them, see Check the grading results.
-
When you answer correctly, you can move on to the next problem in the same material with
Next problem.
If your answer is incorrect, you can fix it and resubmit as many times as you like. If you can't tell where the error is, use the hints.
Notes
- Unfinished code is automatically saved in the browser. If you change PCs or browsers, or clear your browser data, you may no longer be able to see it.
- For some problems, copying and pasting code is prohibited.
- For problems graded manually, if the automatic grading is correct, the message "Please wait for the manual grading result." will appear. The result your instructor grades can be checked under
Manual grading resulton the submission screen opened from Check your own submissions. - Past submissions can also be checked from Check your own submissions.
Check the grading results
When you submit a problem, the grading results for each test case are displayed on the Submit tab of the problem page. The same content can be reviewed later from Check your own submissions. If your answer is incorrect, the information needed to find the cause is arranged from top to bottom.
How to read the grading results
The submitted program is run in order with several inputs prepared in advance. Each of these inputs is called a test case, and your answer is correct only when every test case produces the expected output.
-
Test cases are displayed one below another. The symbols at the left end of each row, such as
AC(correct),WA(wrong answer), andRE(runtime error), show the result for that test case. Hovering over a symbol shows its meaning. -
When grading finishes, if your answer is incorrect, the first test case that was incorrect opens automatically. If everything is correct, the first test case opens.
-
The opened test case shows the following table and the
Feedbackfor each problem.Item Meaning Verdict The result of the test case: AC(correct),WA(wrong answer),RE(runtime error), etc.Execution time The time it took to run the program. If the execution time limit in the problem statement is exceeded, it becomes TLE(time limit exceeded).Memory usage The amount of memory used during execution. If the memory limit in the problem statement is exceeded, it becomes MLE(memory limit exceeded).Exit status The number returned when the program exits. 0means it finished normally; any other value means it terminated abnormally partway through. -
Below the feedback, information to help you find the cause of an incorrect answer is displayed. The order depends on the verdict.
- If the output differs from what is expected (such as
WA), the outputDiffis shown first. - If the program terminated abnormally (such as
REorTLE),Standard error outputis shown first.
- If the output differs from what is expected (such as
Comparing output
For problems that have expected output, Diff shows your output and the expected output side by side, with differing parts highlighted in color. If the output is long, it appears when you press Show diff.
Comparing files
For problems that output files, File comparison shows your file and the expected file side by side, with differing parts highlighted in color.
- If the file is long, press
Show diffto display it. If it is too long, only the beginning is shown. - If you did not create a file, a message to that effect is shown.
- Files that are not part of the comparison appear under
Output fileif they are text, or underOutput imageif they are images.
Reading long output
If standard input, standard output, or standard error output is long, only the beginning is shown and a Show all button appears. Pressing it displays the whole thing, and Collapse returns it to the shortened view.
When you don't understand an error
If the Explain standard error output with AI option appears below Standard error output, pressing it makes the AI explain the meaning of the error message.
When information is not shown
- For private test cases,
The details of this test case are privateis displayed, and you cannot see the input or output. - Depending on your instructor's settings, the verdict itself may not be shown for some problems.
AI support features
In Exercode, two AI features, AI chat and hints, support your learning.
| Feature | What you can do | Where you can use it |
|---|---|---|
| AI chat | Ask about the content of courses or materials. The AI finds and reads other materials in the same course to answer. | Course page, material page, problem page |
| Hints | Check the error locations in your unfinished code, and the reasons and fixes step by step. | Problem page for coding problems |
Ask questions in AI chat
In AI chat, you can ask the AI about anything you don't understand while studying. Enter whatever you're unsure about, such as the content of a material or the meaning of a problem statement.
When answering, the AI looks for and reads other materials in the same course as well as the material you have open. So even if you ask about content from an earlier lesson, you don't need to search for materials yourself. For general questions that are not specific to a course, such as the syntax of a programming language or the meaning of an error message, the AI answers using its own knowledge without reading materials.
Screens where you can use AI chat
-
Course page (list of lessons and materials)
-
Material page
-
Problem page
Press the AI chat button shown at the lower right of the screen, and the AI chat opens on the right side on wide screens, or full-screen on narrow screens such as smartphones. To close it, press the close button at the upper right of the AI chat.
If you move to a screen where AI chat is not available while it is open, it is automatically hidden. When you return to a screen where it is available, it appears again.
Chat history is separated by screen: a chat started on the problem page does not appear in the material page's history. Press the history icon at the upper right to open the chat history for that screen. History is sorted by the date and time of your most recent question, newest first.
How to use it
- Open the course page, material page, or problem page.
- Press the
AI chatbutton shown at the lower right of the screen. - Type your question and press
Send(or Ctrl + Enter). - The answer is displayed. If the AI referred to other materials, a notice such as "Read material 'XXX'" appears above the answer, and the names of the materials referenced are shown at the end of the answer.
- If the AI answered without reading a material, a
Re-answer after checking the materialbutton appears below the answer. Pressing it when you want an explanation aligned with the course material makes the AI read the material and answer the same question again, replacing the answer.
When the names of referenced materials are shown, please also review those materials. AI answers can contain errors, so checking against the original material is the most reliable.
To open a previous chat, press the history icon and select it from the list. The back button on the history screen returns you to the chat you were viewing.
Example questions:
- Material page: "Summarize the content of this material," "How is this different from the for loop explained in the material for session 2?"
- Course page: "What does the session 3 material cover?" "Which material explains functions?"
- Problem page: "What is the input format of this problem?" "Where is the relevant part of the material for this problem?"
What the AI can reference
- The text of the material you have open, and on the problem page, the problem statement
- Other materials in the same course
It does not reference the following:
- Materials from other courses
- Materials for which your instructor has disabled AI chat, or the contents of exam materials (you can see the material names and the reason they cannot be referenced)
- Code you submitted or execution results (for advice on code, use the hint feature)
Notes
- Answers may contain errors. When material names are shown for reference, please check those materials.
- Answers based on general knowledge are labeled as such. They may differ from the notation or rules decided for the course, so if you are unsure, press the
Re-answer after checking the materialbutton. - Depending on the course or material, the
AI chatbutton may not appear, and AI chat may be unavailable. - Chat contents can be reviewed by your instructor to improve the class.
View hints for coding problems
For problems where you write and submit code (coding problems), you can check AI-generated hints on the Hint tab of the problem page. There are two types of hints:
| Hint | Contents | Time until the hint becomes available |
|---|---|---|
| Error location | The lines that need to be fixed and the approximate proportion of correct lines | About 3 minutes after opening the problem |
| Additional hints | The reason for the error, how to fix it, and fixed code, displayed one step at a time | About 5 minutes after opening the problem |
View hints
The time until a hint becomes available, and which hints you can use, may vary depending on your instructor's settings.
View the error location
-
Write code on the problem page and open the
Hinttab. -
After a set amount of time has passed, about 10 seconds after you edit the code, the AI estimates the error location and displays it on the
Hinttab. -
Each hint is labeled
VerifiedorUnverified. AnUnverifiedhint has not yet been checked for correctness, so it may be wrong.
Pressing Regenerate estimates again using your current code. If a new estimate is generated while additional hints are being displayed, the message "A new error location estimate has been generated." appears, and you can press Show to switch to it.
View additional hints
-
Press
Request hinton theHinttab (while an error location is displayed, it saysRequest additional hint). -
Generation takes from several dozen seconds to a few minutes. Once generated, the first-stage hint is displayed.
-
To see more detail, press
Request additional hintto display the next stage. When you have shown everything, the message "That's all the hints." is displayed. -
To start over, press
Reset.
If the waiting time has passed, additional hints are generated automatically when you submit an incorrect answer.
If you check Show hints before verifying correctness and press Regenerate for the error location, the error location appears sooner. However, since it is shown before it has been checked for correctness, it is labeled Unverified and may be wrong. If an error is found, the message "We verified the hint, found an error, and withdrew it." appears and the previous hint returns.
When hints are not displayed
The Hint tab does not appear in the following cases:
- For exam materials, during the exam period
- For problems graded manually
- When your instructor has disabled hints
If an error appears on the Hint tab, follow the message shown. The main ones are:
| Message | Action |
|---|---|
| The AI could not generate a hint. | Fix syntax errors, keep writing code, or review the problem statement, then try again |
| Because the file (…) specified by the problem was not submitted, … | Check that the file name matches the one specified by the problem |
| The AI usage limit has been reached, so a hint cannot be generated. | Wait a while and try again |
| Because you are using a programming language the AI does not support, … | Switch to another programming language allowed for the problem |
Notes
- Hints are generated by the AI, so they may contain errors.
- The number of hint uses can be reviewed by your instructor to improve the class.
- If you want to ask about the content of a material, use AI chat.
Use the code readability review and leaderboard
For some coding problems, the AI reviews the readability of your correct code, and you can read the readable code of other students on a leaderboard. Responding to reviews and rankings do not affect your grade.
This feature is available only for problems where your instructor has enabled it. For eligible problems, after you answer correctly, Readability review appears below the submit button on the Submit tab. It is not available for materials without a deadline or for materials whose grading results are not displayed.
The following describes what happens when every feature is available. Depending on the settings, even eligible problems may not offer all of these features; some may offer only the readability review and locking. When only the readability review and locking are available, View leaderboard does not appear, and there are no rankings, no viewing of other students' code, and no finalization notifications.
Check the review
- Answer the problem correctly.
- Under the submit button,
Readability reviewshows the AI's comments and the count underRemaining comments. It may take a little time to appear. - If you want to act on the comments, fix your code and submit again. When you answer correctly, a review that takes the previous comments into account and
Improvements from last timeare displayed.
Responding to the comments is optional. If a review could not be obtained, you can still lock your submission.
Lock a submission
- With the submission you want to enter the ranking in a correct state, press
Lock this submission. - If comments remain, a confirmation appears. Choose
Lock anywayorGo back and fix.
Once locked, you can read other students' code. Locking cannot be undone, and the submission eligible for ranking can no longer be changed. You can still submit after locking.
Locking is not possible after the deadline. If you do not lock, the following happens automatically:
- If you answered correctly before the deadline, your last correct submission before the deadline is locked and becomes eligible for ranking.
- If you first answered correctly after the deadline, you are not eligible for ranking, but you can still read other students' code.
View the leaderboard
Press View leaderboard on the problem page to open that problem's leaderboard.
- The lower
StepsandRemaining comment countare, the higher you rank. - Top-ranked submissions and your own submission are shown along with each
Display name. Your own submission is also shown to other students with your display name. You can change your display name on the settings screen. - After locking a submission, you can read the code of listed submissions with
Read code. - After the deadline, the results are finalized and
AI explanation of the top-ranked codeis shown. When results are finalized, you are notified by a banner at the top of the screen.
Notes
- Reviews and explanations are generated by the AI, so they may contain errors.
- Before the deadline, your instructor can review the code and evaluations of all submissions listed on the leaderboard.
- If you do not want to use this feature, open
Settingsfrom your account name at the upper right and pressOpt out of this featureunderReadability review and leaderboard. You cannot undo an opt-out yourself. If a service administrator later sets a course for you after you opted out, it may appear again.
Check your own submissions
You can check the code you have submitted and its grading results from the submission list.
How to open it
- Press your account name at the upper right.
- Open
Your submissions.
If you only want to see submissions for a specific problem, use Submission history list in the History tab of the problem page.
What you can check
- In
Submission list, you can check theCreated at,Problem,Verdict(ACmeans correct,WAmeans incorrect, etc.), and theManual gradingstatus for each submission. - Select one submission from the list to open the Submission details screen showing its contents. You can see the submitted code, the grading result for each test case, and, if already graded, the manual grading result. For how to read the grading results, see Check the grading results.
- From the submission details screen, you can return to that problem's page.
Notes
- Depending on your instructor's settings, grading results may not be displayed for some problems.
- For problems graded manually, scores are not shown until your instructor grades them.
Change the display of material pages
On the material page, you can change how the material is displayed from the gear button (Display settings) at the right end of the menu bar at the top of the text card. This lets you choose between reading through the text and focusing on problems.
How to use it
- Press the gear button (
Display settings) at the right end of the menu bar at the top of the text card. - Choose the display you want from the top items in the menu.
Display options
Show text and problem statementsShows problem statements within the flow of the text.Show text onlyShows only the text.Split viewShows the text on the left and the problems on the right. You can adjust the width by dragging the boundary. Available for materials that have problems within the text.Show problem statements onlyShows only the problems.Single problem viewAvailable for mock exam materials. Shows the problems one at a time.
Show ruby
Choosing Show ruby ON from the same menu displays furigana for kanji. Choose Show ruby OFF to go back.
Change the width of the material
From the same menu, you can choose the width of the material.
Standard widthDisplays at a standard width that maintains readability.Wider widthDisplays wider than standard (leaving some margin on the left and right).Maximum widthDisplays across the full available width.
When Split view is selected, the text is displayed across the full available width regardless of the width setting.
Change the line spacing
From the same menu, you can choose Compact line spacing, Standard line spacing, or Relaxed line spacing for the text.
Situations where you would use these features
| Situation | Feature to use | Example |
|---|---|---|
| You don't understand an explanation in a material | AI chat | "Explain the second example in this material more simply." |
| You want to recall content from an earlier lesson | AI chat | "What's the difference between for and while loops explained in session 2?" |
| You don't understand a problem statement | AI chat | "What is the input format of this problem?" |
| You don't know which material to review | AI chat | "Which material explains functions?" |
| You submitted and got it wrong | Hint | Check the error location, and if you're still unsure, use additional hints to see the reason |