Creating Algorithmic Problems

Problem Creation Procedure

Detailed explanations and other information about each item are included with each step.
As you go through each step, the data is temporarily saved (you can save during the process), so you can refer to it again from the draft when you want to resume the process, or save it once and update the data later.

Please click here to learn more about our policies when creating questions.

 

  1. Click "Create Question" from the upper right corner of the "Question List" screen. When the modal appears, select "Database".
    • Question Format: Select "Database".
    • Time Limit: Set the time limit according to the content of the question you are creating. It is recommended that you refer to other problems to create your own problems; you should be able to design a problem that will take around 30 minutes per problem.
    • Difficulty: Select from "Easy," "Normal," and "Hard. It is recommended that you choose this difficulty level based on the relative level of the existing questions. Enter the following information in the Enter Problem Summary step
  2. Fill in the title and details.
    1. Each of these details will be displayed when the candidate solves the assignment.
    2. Pressing "Add Language" will automatically translate the information you have filled in up to that point.
  3. Function Definition
    1. Define the function for the solution to be used in the problem. The template code in the preview area will change dynamically as you set the arguments and return values, so you can use it as a reference for what kind of function will be generated. (The same template is shown as the candidate's first use.)
    2. Please refer to this page for supported programming languages.
    3. ⚠️ If you change a function definition once it has been saved with subsequent input, you will need to delete it once it has been saved, as it will affect the input for subsequent steps. Please be careful when making changes.
    4. The item descriptions are as follows
      1. Argument Types: There are currently seven types available: String, Interger, Float, Boolean, Single Linked List, Binary Tree, and Array.
      2.  Argument names: Arguments can be added separately. In this case, a different argument name must be set.
      3. Return type: Select one of the available types as well as the argument.
  4. Adding a test case
    1. Enter a test case. The test cases entered here are used to automatically grade the candidate's submitted code, so the more detailed the case, the more accurate the automatic scoring.
    2. There are two types of test cases. One is a test case that measures the percentage of correct answers, and the report screen corresponds to the percentage of correct answers section here. By adding a variety of cases, including edge cases, you can see to what extent the candidate's code has been taken into account. The other test case is a performance test case, which measures the execution speed of the code based on the input values. By entering test cases so that the input gradually grows, it is possible to measure how much the code deteriorates (or not) when the number of executions increases.

    3. The item descriptions are as follows
      1. Title: It is very useful to give each case an easy-to-understand title so that you can easily see which cases have passed (or failed) on the report screen.

      2. Details: As with the title, the details of the case can be viewed on the report screen. Details can be entered in Markdown format.

      3. Argument Entry: Add a case based on the function definition entered in the previous step. When entering the arguments, please refer to the following.
        • If multiple arguments are set, multiple inputs are required.
      4. Input of return value: As with the argument, a case is added based on the function definition entered in the previous step.

      5. Language addition (optional)

      6. Add Test Case: Multiple test cases can be added as described above.

      7. Label: This is used as a label for the performance graph displayed on the report screen.

      8. Arguments
      9. Return value: Enter the value according to the function definition as in the correct response rate test case.
      10. Add Test Case: Add a performance test case.
  5. Enter Answers  
    1. This step is for entering answers and answer codes. Only the language of the added answer code will be available to the candidate. The accuracy of the readability score can also be increased by the amount of codes added. For more information on readability, please see below.
    2. Reporting in Coding Format
    3. The item descriptions are as follows
      1. Time complexity

      2. Spatial Amount: Sets the amount of time and space for the answers to be added; see here for more information on Big-O Complexity.
      3. Title

      4. Details

      5. Add Answer: Multiple answers can be added. To do so, select an answer label (optimal, standard, or honest) and add the answer.

      6. Add language (optional)

      7. Add answer code
      8. Add a programming language for the answer
        • Enter the answer code that satisfies the function definitions and test cases entered in the previous steps.
        • Answer codes can be added for each currently supported language, and only the languages added will be available to the candidate when answering.
        • If you wish to reset the answer to the initial template code, you can do so by clicking on the "Reset to Template Code" button.
        • Once the solution code has been entered, the test case entered in the previous step can be executed. You can check the execution results, etc. Confirm that the test case can be executed without any problems and proceed to the next step.
  6. Entering hints (optional)
    1. Enter a hint that the candidate can refer to if he/she gets stuck during the coding test.
    2. The item descriptions are as follows
      1. Details: The body of the hint. Details can be entered in Markdown format.
      2. Add Hint: Multiple hints can be added.
      3. Add language (optional)