Question Creation

Learn how to create dynamic, engaging practice questions on BlitzGrok

Dynamic Questions

BlitzGrok's most powerful feature is dynamic question generation. Instead of creating individual static questions, you create question templates with variables that generate unique questions each time.

Why dynamic questions?
  • Students get unique practice each time
  • Prevents memorization, builds understanding
  • One template = infinite variations
  • Better assessment of true mastery

Three Question Types

BlitzGrok supports three question types. Choose the right type based on what you want to evaluate, then follow the creation steps below.

All three question types support dynamic variables and constraints for unlimited practice variations.
Multiple Choice (MCQ)

Students select from predefined answer choices. Each option is an expression that evaluates to correct or incorrect.

  • Auto-graded
  • Difficulty-based marks
  • Used in practice and assessments
Create MCQ
Long Answer

Students respond with multi-line text. Manually graded by default, or AI-graded when you provide a reference answer.

  • Manual or AI grading
  • Configurable word limit
  • Assessment-oriented
General

The most flexible type. Uses variables and expressions for computable answers like math, fill-in-the-blank, and short text.

  • Auto-graded
  • Variable-based generation
  • Infinite variations
Create General Question
Multiple choice question create form
Multiple choice create form
Multiple choice question created
Multiple choice created

Fill-in-the-Blank Questions

Fill-in-the-blank questions are built using the General Question type. Use string literals ('Paris', '1789') as answer expressions for fixed questions, or use choice() with a dictionary for dynamic item pools.

Full Fill-in-the-Blank Guide

Auto-Graded Essay Questions

Use the Long Answer type with a reference answer to enable AI comparison grading for essays and detailed responses. Set a word limit, paste your ideal answer, and learners receive automatic feedback in practice and auto-scored marks in assessments.

Full Auto-Graded Essay Guide

Creating Questions

All question types follow the same core workflow: define variables and constraints, write a prompt, then specify answers.

1

Define Variables

Variables make your questions dynamic. Each variable has:

  • Name — Used in prompts and answers (e.g., x, speed)
  • Expression — Python code that generates the value (e.g., randint(1, 10))
x = randint(1, 10)
y = randint(1, 10)
answer = x + y

Available: randint(a, b), choice([items]), uniform(a, b), round(x)

2

Add Constraints (Optional)

Constraints filter out invalid variable combinations.

x > 5
x != y
answer > 0
Careful: Overly restrictive constraints can slow question generation.
3

Write Prompts

The question text shown to students. Use {variable_name} to insert values.

What is {x} + {y}?

With x=3, y=5, student sees: "What is 3 + 5?"

4

Define Answers

Specify the correct answer(s) using Python expressions.

For General Questions
answer
x + y
str(round(result, 2))
For Multiple Choice
'True' — correct
'False' — incorrect
str(x > 5) — conditional

Answers are Python expressions evaluated in the variable context.

Complete Example

Goal: Create a simple addition question

Variables
x = randint(1, 10)
y = randint(1, 10)
answer = x + y
Constraints
answer <= 15

Keep answers reasonable

Prompt
What is {x} + {y}?
Answer
answer

Best Practices

  • Test thoroughly — Generate multiple instances to ensure variety
  • Clear prompts — Be specific about what you're asking
  • Appropriate ranges — Don't make numbers too large or complex
  • Use constraints wisely — Filter impossible cases, but don't over-constrain
  • Add explanations — Help students learn from mistakes
  • Vary difficulty — Create multiple questions at different levels

Next Steps

Dive deeper into a specific question type or add visual content:

Questions about dynamic question generation?

We're here to help

Contact Us