Table of Contents
Student User Guide
This page summarizes the basic operations for learning on Exercode and the AI-powered support features.
Contents of This Page
- Join from the Invitation Email: Steps to join the first time you use it
- How to Read Each Screen: What is displayed on the home, course list, course, and material pages
- Solve Coding Problems: Write code on the problem screen and submit it
- Check Judging 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 show you where errors are and how to fix them
- Use Readability Review and the Leaderboard: Have the AI review your correct code and read other students' code
- Check Your Submissions: Look back at past submissions and judging results
- Change the Material Display: Change how the text and problems are displayed, ruby text, and width
- When to Use Each Feature: Which AI feature to use when you're stuck
Join from the Invitation Email
Steps
-
Open the invitation email 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 email, 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 teacher.
How to Read Each Screen
Home
This screen is displayed when you sign in or press the logo at the top left. Today's and this month's rankings are shown as Everyone's Learning Status.
Course List
Press Course List at the top of the screen to display the courses you can study. Press a course card to open that course's page.
Course Page
The lessons included in the course are listed by session.
- Press a lesson name to expand it and display the list of materials used in that session.
- Press the
Startbutton to the right of a material to open the material page. - The circle on the left of each row indicates 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 Material Display.
Problems Included in the Material
As you read through the text, problems appear along the way. There are several types of problems:
-
Coding problems: Press a button such as
Problem 1in the text to open the problem screen, where you write and submit a program. For details, see Solve Coding Problems. -
Multiple-choice problems: Select an answer from the options and press
Submit Answer. Some problems allow you to select more than one answer. -
Written-answer problems: Enter your answer in the input field and press
Submit Answer.
Solve Coding Problems
For coding problems, you write a program on the problem screen and submit it. It is then graded automatically.
Screen Layout
The problem screen is divided into three areas from left to right. The button at the top right of each area lets you collapse or restore that area.
| Area | Contents |
|---|---|
| Problem statement (①) | Problem text, input and output formats, time and memory limits |
| Editor (②) | Prepare code using the Editor, Template, and Upload tabs |
| Submission and check (③) | Tabs for submitting code, testing it, getting hints, and more (see the next section for details) |
Display Settings for the Problem Screen
From the gear button (Display Settings) at the top of the problem statement area, you can choose Ruby Display ON or Ruby Display OFF, and Compact Line Spacing, Standard Line Spacing, or Spacious Line Spacing. Line spacing applies to the text of the problem statement, hints, and explanations; it does not change the line spacing of code or output differences. The setting is shared with the material screen and is kept after reloading.
What You Can Do in Each Tab of "Submission and Check"
The Submission and Check area on the right (③) has the following tabs. The tabs displayed depend on the problem.
Submit: Submit your code and check the judging results. Outside the submission period or after the deadline, hovering over the button will show a message to that effect.Debug: Test whether your code works as intended before submitting. Enter input inStandard Inputand pressRunto see the results. Runs here are not recorded as submissions, so you can try things freely as many times as you like.Hint: The AI shows where errors are in your unfinished code 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 teacher's settings, some problems may not show it.History: Open past submissions fromServer Submission History.Browser Auto-Saveautomatically saves code you are still working on.
How to Solve
-
Open the problem from the material screen.
-
If you are choosing a programming language, select it by pressing
Load Templatein theEditortab. If a template exists for the language you choose, its contents are loaded; if not, you start with an empty file. Unless your teacher gives you specific instructions, you do not need to do this. -
Write your code in the
Editortab. For problems where you submit files, select the file in theUploadtab. -
As needed, use the
Debugtab to enter input inStandard Inputand pressRunto check the behavior. -
To submit the problem, press the
Submit (with automatic code formatting)(orSubmit) button in theSubmittab. -
When judging is complete, the results for each test case are displayed. For how to read them, see Check Judging Results.
-
If your answer is correct, you can proceed 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 cannot tell where the mistake is, use Hints.
Notes
- Code you are still working on is automatically saved in your browser. If you change PCs or browsers, or clear your browser data, you will no longer be able to see it.
- For some problems, copying and pasting code is prohibited.
- For problems graded manually, if your answer passes automatic grading, the message "Please wait for the manual grading result." is displayed. The result your teacher assigns can be checked under
Manual Grading Resulton the submission screen opened from Check Your Submissions. - You can also check past submissions from Check Your Submissions.
Check Judging Results
When you submit a problem, the judging results for each test case are displayed in the Submit tab of the problem screen. The same content can be reviewed later from Check Your Submissions. When your answer is incorrect, the information that helps you find the cause is listed in order from the top.
How to Read the Judging Results
Your submitted program is run in sequence with multiple inputs prepared in advance. Each of these inputs is called a test case, and your answer is correct only if every test case produces the expected output.
-
Test cases are displayed in a vertical list. The symbol at the left edge of each row, such as
AC(correct),WA(wrong answer), orRE(runtime error), indicates the result for that test case. Hovering over the symbol shows its meaning. -
After judging is complete, if your answer is incorrect, the first test case that was judged incorrect is automatically opened. If all answers are correct, the first test case is opened.
-
The opened test case shows the following table and the
Feedbackfor each problem.Item Meaning Verdict The result for that test case: AC(correct),WA(wrong answer),RE(runtime error), etc.Execution time The time the program took to run. If it exceeds the time limit stated in the problem, it becomes TLE(time limit exceeded).Memory usage The amount of memory used during execution. If it exceeds the memory limit stated in the problem, it becomes MLE(memory limit exceeded).Exit status The number returned when the program ends. 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 was 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 was expected (such as
Comparing Output
For problems where an expected output exists, Diff shows your output and the expected output side by side, with differing parts highlighted in color. If the output is long, it is displayed when you press Show Diff.
Comparing Files
For problems that produce files, File Comparison shows your file and the expected file side by side, with differing parts highlighted in color.
- If a 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 displayed.
- Files that are not subject to comparison are shown under
Output Fileif they are text, orOutput Imageif they are images.
Reading Long Output
If standard input, standard output, or standard error output is long, only the beginning is displayed, along with a Show All button. Pressing it displays the full content, and Collapse returns it to the shortened view.
When You Don't Understand an Error
If Explain Standard Error Output with AI is displayed below Standard Error Output, pressing it makes the AI explain the meaning of the error message.
When Some Information Is Not Shown
- For hidden test cases,
The details of this test case are privateis displayed, and you cannot view the input or output. - Depending on your teacher's settings, some problems may not show the verdict itself.
AI Support Features
Exercode supports your learning with two AI features: AI chat and hints.
| Feature | What you can do | Screens where available |
|---|---|---|
| AI Chat | Ask about course or material content. The AI finds and reads other materials in the same course to answer | Course page, material page, problem page |
| Hints | Check where errors are 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 are unsure about, such as the content of a material or the meaning of a problem statement.
When answering, the AI does not only look at the material you have open; it also searches for and reads other materials in the same course on its own. So even if you ask about something from an earlier lesson, you don't need to search for the material yourself. For general questions that do not depend on the course, such as language syntax or the meaning of an error message, the AI answers from its own knowledge without reading materials.
Screens Where AI Chat Is Available
-
Course page (list of lessons and materials)
-
Material page
-
Problem page
Pressing the AI Chat button at the bottom right of the screen opens AI chat on the right side on wide screens, or across the whole screen on narrow screens such as smartphones. To close it, press the close button at the top right of the AI chat.
If you move to a screen where AI chat is not available while it is open, it will be hidden automatically. When you return to a screen where it is available, it will appear again.
Chat history is kept separately for each screen. A chat started on a problem page does not appear in the history on the material page. Press the history icon at the top right to open the chat history for that screen. History is sorted with the most recent question first.
How to Use
- Open the course page, material page, or problem page.
- Press the
AI Chatbutton displayed at the bottom right of the screen. - Enter 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
Check the material and answer againbutton appears below the answer. If you want an explanation that follows the course materials, press it, and the AI will 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 may contain errors, so checking against the original material is the most reliable approach.
To open a previous chat, press the history icon and select it from the list. The back button on the history screen lets you return 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 is written in the session 3 material?" "Which material explains functions?"
- Problem page: "Tell me the input format of this problem," "Which part of the material is relevant to this problem?"
What the AI Can Refer To
- The text of the open material, and on the problem page, the problem statement
- Materials in the same course
It does not refer to the following:
- Materials from other courses
- Materials for which AI chat has been disabled by your teacher, and the contents of exam materials (you can check 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 a material name is shown for reference, please check that material.
- Answers based on general knowledge are labeled as such. Course-specific notations or rules may differ, so if you are unsure, press the
Check the material and answer againbutton. - Depending on the course or material, the
AI Chatbutton may not appear, and AI chat may be unavailable. - Chat content can be reviewed by your teacher to help improve the class.
View Hints for Coding Problems
For problems where you write and submit code (coding problems), the Hint tab on the problem page lets you check hints generated by the AI by analyzing your unfinished code. There are two types of hints:
| Hint | Contents | Time until the hint becomes available |
|---|---|---|
| Error location | The lines that need fixing, and the approximate ratio of correct lines | About 3 minutes after opening the problem |
| Additional hint | The reason for the error, how to fix it, and fixed code, shown one stage at a time | About 5 minutes after opening the problem |
Viewing Hints
The waiting time before hints become available, and which hints you can use, may change depending on your teacher's settings.
Viewing Error Locations
-
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 locations and displays them in the
Hinttab. -
Displayed hints are labeled either
VerifiedorUnverified. AnUnverifiedhint has not yet been checked for correctness, so it may be wrong.
Pressing Regenerate re-estimates based on the current code. If a new estimate is generated while you are viewing an additional hint, the message "A new error location estimate has been generated." appears; press Show to switch to it.
Viewing Additional Hints
-
Press
Request Hint(orRequest Additional Hintwhile error locations are shown) in theHinttab. -
Generation takes from tens of seconds to a few minutes. Once generated, the first-stage hint is displayed.
-
If you want more detail, press
Request Additional Hintto display the next stage. When all stages have been shown, the message "There are no more hints." is displayed. -
To start over, press
Reset.
If the waiting time has passed, additional hints are also generated automatically when you submit an incorrect answer.
If you check Also show hints before verifying correctness and press Regenerate for error locations, error locations will appear sooner. However, since these hints have not yet been verified, they are labeled Unverified and may be wrong. If an error is found, the message "We verified the hint, found an error, and withdrew it." is shown, and the previous hint is restored.
When Hints Are Not Displayed
The Hint tab is not displayed in the following cases:
- For exam materials, during the exam period
- For problems graded manually
- When hints are disabled by your teacher's settings
If an error appears in the Hint tab, follow the instructions shown. The main messages are as follows:
| Message | Response |
|---|---|
| The AI could not generate a hint. | Fix syntax errors, keep writing code, review the problem statement, and then retry |
| Because the file (…) specified by the problem has not been submitted, … | Check that the file name matches the one specified in the problem |
| Because the AI usage limit has been reached, a hint cannot be generated. | Wait a while and then retry |
| Because you are using a programming language the AI does not support, … | Switch to another programming language allowed by the problem |
Notes
- Hints are generated by the AI and may contain errors.
- The number of hints used can be reviewed by your teacher to help improve the class.
- If you want to ask about the content of a material, use AI Chat.
Use Readability Review and the 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 the leaderboard. Responding to reviews and rankings do not affect your grade.
This feature applies only to problems where your teacher has enabled it. For such problems, when you answer correctly, Readability Review appears below the submit button in the Submit tab. It cannot be used for materials without a deadline or for materials where judging results are not shown.
The following explains how it works when all features are available. Depending on the settings, even problems that are targeted may only allow readability review and locking, not everything. If only readability review and locking are available, View Leaderboard is not shown, and there are no rankings, no viewing of other students' code, and no finalization notifications.
Checking Your Review
- Answer the problem correctly.
- Under the submit button,
Readability Reviewshows the AI's feedback and the number ofRemaining Feedback Items. It may take a little time to appear. - If you want to address the feedback, fix your code and submit again. When you answer correctly, a review that takes your previous feedback into account and
Improvements from Last Timeare displayed.
Responding to feedback is optional. You can also lock your submission even if no review was obtained.
Locking a Submission
- With a correct answer for the submission you want to use for ranking, press
Lock This Submission. - If feedback remains, a confirmation is displayed. Choose either
Lock AnywayorGo Back and Fix.
Once locked, you can read other students' code. Locking cannot be undone, and after that you cannot change which submission counts for ranking. You can still submit after locking.
After the deadline, you can no longer lock. If you do not lock, the system locks automatically as follows:
- If you had a correct answer before the deadline, the last correct submission made before the deadline is locked and used for ranking.
- If you first answered correctly after the deadline, that submission is not used for ranking, but you can still read other students' code.
Viewing the Leaderboard
Press View Leaderboard on the problem page to open the leaderboard for that problem.
- The lower the
Stepsand theRemaining Feedback Items, the higher you rank. - Top submissions and your own submission are shown along with each
Display Name. Your submission is also visible to other students with your display name. You can change your display name in the settings screen. - After locking a submission, you can read the code of listed submissions with
Read Code. - After the deadline, results are finalized and
AI Explanation of the 1st-Place Codeis displayed. When finalized, a notification appears at the top of the screen.
Notes
- Reviews and explanations are generated by the AI and may contain errors.
- Teachers can view the code and evaluations of all submissions listed on the leaderboard, even before the deadline.
- If you do not want to use this feature, open
Settingsfrom your account name at the top right and pressOpt OutunderReadability Review and Leaderboard. You cannot undo opting out yourself. If a service administrator later sets a course that includes you, it may appear again.
Check Your Submissions
The code you have submitted and its judging results can be checked from the submission list.
How to Open
- Press your account name at the top right.
- Open
Your Submissions.
If you want to see only submissions for a specific problem, use Submission History in the History tab of the problem page.
What You Can Check
- In
Submission List, you can check theCreated At,Problem,Verdict(ACfor correct,WAfor incorrect, etc.), andManual Gradingstatus for each submission. - Select a submission from the list to open the Submission Details screen, which shows the content of that submission. You can review the code you submitted, the judging result for each test case, and the manual grading result (if graded). For how to read the judging results, see Check Judging Results.
- From the submission details screen, you can return to the problem's screen.
Notes
- Depending on your teacher's settings, judging results may not be shown for some problems.
- For problems graded manually, no score is shown until your teacher grades it.
Change the Material Display
On the material screen, you can switch the display method from the gear button (Display Settings) at the right end of the menu bar at the top of the text card. This lets you switch between reading through the text and focusing on problems.
How to Use
- Press the gear button (
Display Settings) at the right end of the menu bar at the top of the text card. - Select the display you want from the top item of the menu.
Display Options
Show Text and Problem StatementsDisplays problem statements within the flow of the text.Show Text OnlyDisplays only the text.Split ViewDisplays the text on the left and problems on the right. You can drag the divider to adjust the width. Available for materials that include problems within the text.Show Problem Statements OnlyDisplays only the problems.Single Problem ViewAvailable for mock exam materials. Displays problems one at a time.
Show Ruby Text
Select Ruby Display ON from the same menu to show furigana for kanji. Choose Ruby Display OFF to revert.
Change the Material Width
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 a little margin on the left and right).Maximum WidthDisplays to fill the full available width.
When Split View is selected, the content is displayed to fill the full available width regardless of the width setting.
Change the Line Spacing
From the same menu, you can choose the line spacing for the text: Compact Line Spacing, Standard Line Spacing, or Spacious Line Spacing.
When to Use Each Feature
| 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 was the difference between for and while loops explained in session 2?" |
| You don't understand the meaning of a problem statement | AI Chat | "Tell me the input format for this problem." |
| You don't know which material to review | AI Chat | "Which material explains functions?" |
| Your submission was incorrect | Hints | Check the error location, and if you're still stuck, review additional hints for the reason |