For the complete documentation index, see llms.txt. This page is also available as Markdown.

💻Coding Question

To assess students' understanding of programming concepts effectively, creating specific questions that require them to produce code snippets can be very beneficial. A Coding Question follows this precise workflow: students read the question and then write a code snippet as their answer in the Online Editor. As a teacher, you can subsequently run automatic tests on the code produced by the students to evaluate their solutions.

Create a Coding Question Test

To create a Coding Question, first add a Quiz Block and then include a Coding Question Block within it.

In a Coding Question Block, you can set:

  • The name of the Block so that the student knows what the question is about;

  • A description of the question, by filling in the Question field. This field supports markdown so that you can format the text or include links to external resources, such as in the following example:

Complete the following code snippet so that it prints the first 20 [prime numbers](https://en.wikipedia.org/wiki/Prime_number).
  • The name of the file that the student will produce;

  • A Starter Code Template that the student will start working with. For instance, you may provide a partially filled code snippet, as in the example below:

def is_prime(num):
    if num < 2:
        return ___
    for i in range(2, ___):
        if num % i == ___:
            return False
    return ___

prime_numbers = []
current_number = ___

while len(prime_numbers) < ___:
    if is_prime(___):
        prime_numbers.append(current_number)
    current_number += 1

print(prime_numbers)
  • a Solution, which can be used to create a Test Submission, and can be revealed to students.

The configuration of a Coding Question.

After the student submits their answer, you can evaluate their code using the full capabilities of AutoTest. Within the Coding Question framework, you have access to all the available Test Blocks that facilitate grading workflows. These are detailed in our guides for different programming languages, like our Python or Java guide for example.

The image below shows an example where, for a Python assignment, an IO Test Block is used to check that the student's code snippet produces the expected output:

An Input Output test is used to test the student's code snipper for a Coding Question.

Hiding information from the student

As explained in the guides for the different programming languages, teachers can select which information about a Test Block should be revealed or hidden from the student. The same holds for Test Blocks that are part of a Coding Question: it will be sufficient to use Hide Blocks just as with regular Test Blocks! This is especially important to hide the solution.

To make Quizzes graded, remember to wrap a Connect Rubric Block around them.

Also, with Quizzes, you can limit the number of submissions that the student can make.

Quizzes can be used in combination with Run-If blocks. You may, for example, run other tests conditionally on the results of a Quiz.

AutoTest Snapshot and Test Student Submission

With your Coding Question Block now set up, click the bottom right Build Snapshot button to build your AutoTest Snapshot. The first time you build a snapshot, you are required to upload a Test Submission; in this case it will be built for you from the solutions filled in the AutoTest setup. Simply click to generate a Test Submission:

Automatic Test Submission generation.

After building and publishing your snapshot, the student can fill in the Coding Question and receive feedback in the Online Editor as shown below:

Last updated