Programming Modules

Create Programming Modules #

To create programming questions you can follow these steps:

  • On the “Library” menu, click “+ Create Module” button.
  • There will be a pop-up for you to insert the module name and choose the “Programming Test” module type. Click Save to proceed.

1. Module General Info #

You’ll be redirected to the “Manage module” page > Tab “Module General Info”.

  1. Module name(mandatory): you can edit the module name here.
  2. Module format (mandatory): this never will be editable.
  3. Total time (mandatory): maximum time spent on this specific module. This would be the default value every time you assign this module.
  4. Complexity (mandatory): choose easy, medium, or complex.
  5. Tags: input tagging to help other recruiters filter this specific module.
  6. Description: put your internal notes for other recruiters here.
  7. Translations (mandatory to choose one): Algobash now supports 2 languages (Bahasa Indonesia and English). This will affect the questions and answers settings. You can activate 1 or both languages.
  8. Module introduction (mandatory): you can put a module introduction for this specific module. When the language is activated for both languages, you can use the dropdown to adjust the content for each language.
  9. Click “Next” to go to the next tab or click “Cancel” to drop the changes.

2. Languages #

Next, you’ll be redirected to the “Manage module” page > Tab “Languages”. You will need to activate all programming languages that will be available inside this module.

  1. Select languages: In this case, we will choose javascriptpython, and golang
  2. Click “Next” to go to the next tab.

3. Add Questions #

You’ll be redirected to the “Manage module” page > Tab “Add Questions”.

You’ll see an empty question list. To add your first question, do click “+Add Question”

  1. Question name (mandatory): define your programming question here. Example: Palindrome, etc.
  2. Max memory (mandatory): in MB. By default, we put 64 MB.
  3. Max Runtime (mandatory): in milli seconds. By default, we put 2000 ms.
  4. Question text language (mandatory): when you enable more than 1 language, you will need to add the content for question text description and answers in each language.
  5. Question text description (mandatory): add your description for questions here.

After inserting all the information above, you will need to create two types of codes:

  • Initial File: this file will be shown to the candidate, and they will put their solution here.
  • Grading File: this file won’t be shown to the candidate, Algobash engine will execute the grading file to test the solution and compare the output to the test cases’ output.
  1. For this example output type will be set into an array of integer
  2. And one input/parameter only, an integer that will be called “a”

Next, we will add a test case to our question, for a more comprehensive guide regarding how our test case will be parsed, you may want to check here.

For this particular example, there will be two forms that we need to fill out.

  • Input for test case, we will put a single number on the 1st line, since we only have a single parameter. For two parameters, 1st line will be the first parameter and the second one will be the second parameter. For this example, we will put 0
  • Output for the test case. For this example, we will put [0]

Next, we will need to populate all the test cases, for this example, we will put 10 test cases, and click Add test case to start adding new test cases.

For example:

InputOutput
0[0]
1[0,1]
2[0,1,1]
3[0,1,1,2]
4[0,1,1,2,3]
5[0,1,1,2,3,5]
6[0,1,1,2,3,5,8]
7[0,1,1,2,3,5,8,13]
8[0,1,1,2,3,5,8,13,21]
9[0,1,1,2,3,5,8,13,21,34]
10[0,1,1,2,3,5,8,13,21,34,55]

This is what it will look like when we insert the “3” Input case:

  1. Input and output for test case
  2. Score/weight per test case
  3. A sample test case means candidates can see the input and output when they run the test. Grading test case means candidates cannot see the input and output. They can only see if the test case is correct/wrong. We highly suggest a minimum of 1 sample test case and at least 9 grading test cases.

Once all of your mandatory fields are filled, you can add more questions or you can click “Finish” to save the module.

Edit Programming Modules #

To edit you can always follow the steps for adding modules above.