Uploading Backend Programming Questions using Bulk Upload

Uploading backend programming questions using bulk upload

To upload coding questions via bulk upload in your Mercer | Mettl account, follow the steps given below:

1.     Download the Template 

2.    Fill the Questions Sheet in the Excel File 

3.   Fill the Test Cases Sheet in the Excel File   

4.    Upload the Excel File   

1. Log into your Mercer | Mettl account, click on the My Questions tab on the top-left and then click on the Upload Arrow next to the Add Question button on the top-right end.


             

   2. A popup to Upload Questions via Excel will appear. Under the Upload Coding Questions section, click on the Get Template button.


                                                  
3. A window will open asking you to download the template in the format of an excel file. Download the file to continue.    
                 

4. As you open the excel file, you will see that it contains three sheets: Instructions, Questions and Test Cases.  


  1.  Instructions: This sheet contains information and instructions on how to fill in data in the Questions sheet and in the Test Cases sheet.
  2.  Questions: This sheet contains the questions that need to be uploaded, along with the relevant details.
  3. Test Cases: This sheet contains all the test cases associated with the questions mentioned in the Question Sheet, along with the relevant details.

 Fill the Questions Sheet in the Excel File

1. Open the Questions Sheet in the excel file.  

         
 2. Fill in all the questions that need to be uploaded, along with the relevant details, as mentioned below:      
Note: Do not change the headers of this sheet as it will cause an error when uploading the excel file on the platform.
(a) Question ID: Enter a unique numeral ID value for all questions. This will be helpful while assigning test cases to their respective questions.

(b) Topic: Enter the ‘Topic’ under which you want the question to be saved on the platform. 
Note: Multiple questions can have the same topic name, but one question can have only one topic name. However, questions for varying topics can be uploaded simultaneously. 
(c) Difficulty Level: Enter the appropriate difficulty level for the question i.e. (Easy, Medium, Difficult). 
 
(d) Question Text: The description of the question will come here, which should include the problem statement, the input and output specifications and for better clarity you can also include an easy example.  
For instance, “Write a program to check whether the String ‘S’ is Palindrome or not.  
Input Type: String 
Output Type: Boolean.” 

(e) Languages: Specify the programming language(s) for which you wish to add support in this question.  
In the case of multiple languages, enter comma separated values.  
For example: C, C18, CPP, CPP17, CSHARP, JAVA17, JAVASCRIPT8, PHP, PYTHON2 
Mercer | Mettl supports 30+ programming languages. 

(f) Function Name: Specify the name of the function for which the test-taker is expected to write the code. This function name appears in the system-generated template visible in the coding window where test-takers write their code. 
 
(g) Input Types: Specify the expected input data types here. You can add multiple inputs and specify their types, separated by a comma. 
For example: int, int[], string 
 
(h) Output Types: Specify the expected output data types here. You can add multiple outputs and specify their types separated by a comma. 

Note:  
(i)  Click here to get a list of all the input and output datatypes supported on the platform. 
(ii)  You will be allowed to select only those datatypes as input and output that are collectively supported in all your selected programming languages.
(iii) We mostly support primitive datatypes as input & output; however, we do support non-primitive datatypes such as Collections as input & output types for some of the programming languages like – Java, Python, etc. 

(i) Show Default Result: Select True if you want to show the test-takers whether their code passes the default test case defined, else select False.  
 
    We suggest selecting True in this option to help test-takers with easier debugging. 

(j) Num Of Test Cases: Enter the number of test cases to be assigned for the question. 

Note: Please refrain from changing settings from here onwards, until and unless you are very sure as it might affect the working of the question. 

(k) Order Sensitive: This is valid only if the output of code is of type Array, List or ArrayList. 
Select True/False as applicable if you wish to check the order sensitivity of the output returned. 
 
(l) Code Scoring Setting: Select True/False as applicable. 
 
(m) Check Code Complexity (Optional): Specify whether to check the code's complexity which is the percentage of marks that a test-taker is allotted w.r.t their code’s complexity.  
Select True/False as applicable. 

(n) Check Time Complexity (Optional): Specify whether to check time complexity. This option runs test cases of time complexity type (wherein you need to specify test case size) 
 
(o) Run Basic Test Cases (Optional): Specify whether to run basic test cases or not.  
Select True/False as applicable. 

(p) Run Corner Test Cases (Optional): Specify whether to run corner test cases or not.  
Select True/False as applicable. 

(q) Run Necessary Test Cases (Optional): Specify whether to run necessary test cases or not. Select True/False as applicable. 

(r) Custom Scoring Logic (Optional): Specify if Custom Scoring Logic should be used or not.  
   
If yes, then the information in the following fields is compulsory to be filled in. (Select True/False as applicable.)
(i) No of Lines: This field is only considered if 'Custom Scoring Logic' is True.  
 
Specify marks to be awarded if test-taker's code does not exceed the number of lines specified in 'Maximum Lines'. The grade awarded to the test taker is calculated using the following formula:  

(No of Lines)*(Lines in Test-taker's Code)/ (Maximum Lines). 

(ii) Maximum Lines: Specify the maximum number of lines that a test-taker's code can be of for them to attain the grade specified in 'No Of Lines'. 
 
(iii) No of Logical Statements: Specify maximum marks to be awarded if the number of logical statements in the test-takers code does not exceed the maximum statements specified in 'Maximum Statements'.  
 
Statements like if, while, for are counted as logical statements.  
 
The grade awarded to the test taker is calculated using the following formula: 

(No of Logical Statements) * (Logical Statements in Test-taker's Code)/(Maximum Statements) 
 
(iv) Maximum Statements: Specify the maximum number of logical statements that can be in a test-taker’s code for them to attain the grade specified in 'No of Logical Statements'. 
 
(v)  Code Compilation: Enter marks to be awarded in case test-taker's code compiles correctly. 
 
(vi)  Basic Test Cases: Enter marks to be awarded in case Basic Test Case(s) run correctly on test-taker's code. 
 
(vii) Necessary Test Cases: Enter marks to be awarded in case Necessary Test Case(s) run correctly on test-taker's code. 
 
(viii) Corner Test Cases: Enter marks to be awarded in case Corner Test Case(s) run correctly on test-taker's code. 

(ix) Code Complexity: The percentage of marks that a test-taker is allotted w.r.t his/her code’s complexity, i.e., for example, the cyclomatic code complexity of a test-taker’s code is 6; so, the Code complexity will be (100-6=94).  
 
If the marks allotted for this criterion is 100 and the overall mark of the question in the assessment is 1, then the calculated score would be  
(94*(100/100) *1)/100 = 0.94.  
 
Therefore, the marks scored by the test taker are 0.94 out of 1. 
(s) Custom Category (Optional): This is an optional field, and you can choose to leave this empty.

(t) Tags (Optional): Specifies the meta-data about the question. You can choose to leave this field empty.    

Fill the Test Cases Sheet in the Excel File

 1. Open the third sheet which is named Test Cases.



   2.      Fill in all the Test Cases associated with the questions, with the following details
Note: Do not change the headers of this sheet as it will cause an error when uploading the excel file on the platform.
(a)    Question ID : Enter the same Question ID as mentioned in the Questions Sheet, to which this test case is to be assigned.

(b)   Test Case Index : Enter the serial number of the test case.

(c)    Test Case Title : Enter the title of the test case. This will be shown in the test taker's report.

(d)   Test Case Description (Optional) : Enter a small description of the test case.

(e)    Test Case Type : Define the type of test case. The different types of testcases supported on our platform are:                  
1. Default
2. Basic
3. Necessary
4. Corner
5. Time Complexity                                          

(f)    Test Case Marks: Enter marks to be assigned to this test case.

(g)   Test Case Size (Optional): This field is compulsory only in the case of a Time Complexity test case. The types of test case sizes supported for Time Complexity Testcases are Small, Medium, and Large. 

(h)   Test Case Input Value 1: 
Specify the input value to be given as the first argument of the function that the test-taker will write their solution in.

(i)   Test Case Input Value 2 (Optional): Specify the input value to be given as the second argument of the function (if applicable) that the test-taker will write their solution in.

      Leave this field empty if not applicable.

Note: If the function requires more arguments, then add column(s) by the name of 'Test Case Input Value 3', 'Test Case Input Value 4' and so on.

(j)    Test Case Output Value 1: Specify the first expected output value.

(k)     Test Case Output Value 2 (Optional) : Specify the second expected output value (if applicable).

Note: If the function returns more output values, then please add another column by the name of 'Test Case Output Value 3', 'Test Case Output Value 4' and so on.
Note: The number of input and output values in the test case should match the number of input and output values associated with the question.

Upload the Excel File

   1.   After filling in all the question(s) and their test case(s) details in the Excel file, save it.
 2.  Log into your Mercer | Mettl account, click on the My Questions tab on the top-left and then click on the Upload Arrow next to the Add Question button on the top-right end.
 
        

        3. A popup to Upload Questions via Excel will appear. Click on Upload Coding Questions and select the excel file with the Bulk Upload Code Snippet Questions.


Now, either of the two scenarios will take place:
  1. The File gets uploaded successfully: Successfully updated n questions will appear on your screen, n being the number of questions uploaded in bulk. This means that there are no errors in the excel sheet and all the questions have been uploaded successfully. Click on Upload More? To upload another excel sheet having Bulk Upload Questions or else click on the cross to exit.
           

  1. The File does not upload : On the Upload Questions via Excel window, an error message will pop up saying Errors found in uploaded file. Please try again after correcting all errors. Click on Get error file to download the Excel file which points out the exact question filled in incorrectly and shows the reason for the error. Correct the mistakes and try uploading the file again.
       
Once your file gets uploaded successfully, click on the Topic Name under which you have uploaded questions, below the All Questions area on the left side of the page to view the questions you have just uploaded.