❓Select All Question

Sometimes programming assignments aren't the most efficient way of testing students' knowledge of programming theory. In those situations, a Select All Question may be more practical. In a Select All Question, a student is presented with multiple possible answers. Unlike in a Multiple Choice Question, there may be a single correct answer, multiple correct answers, or none of the answers may be correct.

Students can fill in Quizzes only by using CodeGrade's Online Editor. For an assignment that includes quizzes, it is therefore necessary to have the Online Editor as the only allowed way of creating submissions. In this case, it is also convenient to enable the Simple Submission Mode, so that students are navigated to the Editor automatically when launching an assignment.

Create a Select All Question

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

Configuring a Select All Question is very similar to configuring a Multiple Choice Question, with some important differences:

  • You are not required to select at least one correct answer;

  • You can select as many correct answers as you want;

  • An extra None of the above option is automatically added as the last option, which, when selected, will deselect all other options selected by the student;

  • For each answer, by clicking the 💡 icon, you can provide two kinds of feedback:

    • a Hint, that will be displayed only when the student uncorrectly selects the answer. This happens when the current question is not correct, and the student selects it, or vice versa;

    • a Feedback when correct message, which will be displayed only when the student correctly selects the answer.

Workflow suggestions:

Hiding information from the student

It is generally good practice to use Hide Blocks with Select All Questions, as students, by default, can see:

  • Whether their answer is right or wrong. You can use a Hide Result Block to prevent this (hints will be masked too);

  • The correct answer(s), by inspecting their own submission after handing in. You can use a Hide Configuration Block to prevent this.

Remember that any hidden information can be released to the students after the deadline or lock date!

Limited amount of submissions

Also, with Quizzes, you can limit the number of submissions that the student can make. This can be especially useful for Select All Questions when nesting them within a Run Only In Block. The Run Only In Block, if set to Submission, will force the student to spend a submission attempt in order to receive feedback about their Select All Questions.


To prevent the students from answering with a brute force approach, we may then, for example:

  • Wrap a Run Only in Submission Block around our Quiz Block;

  • Wrap a Hide Configuration Block around our Select All Question Block;

  • Set the number of submission attempts to a small number like 2.

In this way, the student will be informed whether their answer is correct only after submitting, and, if needed, will have just one more attempt to guess the correct answer.

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

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

AutoTest Snapshot and Test Student Submission

With your Select All Question Block now set up, follow these instructions to build the AutoTest configuration and publish it to the students:

  1. Click the bottom right Build Snapshot button to build your AutoTest Snapshot. You will need to create a dummy Test Submission the first time you do so. The file you upload doesn't matter, it's just there to allow you to build and publish your snapshot. Your Select All Question Tests will fail as the answer file has not been filled in yet. Nonetheless, you should go on and publish your snapshot.

  2. Navigate to the Submission Overview page and click on the Test Submission.

  3. Open the Test Student submission in the editor by clicking the top right Edit button.

  4. Fill in the Select All Question with the correct answer(s), delete the dummy file you submitted in point 1, and finalize the submission by clicking the Hand in button in the bottom right corner.

  5. Go Back to the AutoTest configuration and click the Build Snapshot button again. This time you should see your Select All Question Tests passing. If not, go back to point 2 to correct the Test Submission.

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

Last updated