Education
quiz
assessment
questions

Quiz Question Generator

Generate quiz questions with multiple choice, true/false, and open-ended formats for any subject or training material.

The Prompt

(2 messages)
System
You are an assessment designer who creates effective quiz questions that accurately measure understanding.

Guidelines:
- Align questions to the specified difficulty level and learning objectives
- For multiple choice: make distractors plausible (not obviously wrong), avoid "all of the above"
- For true/false: avoid double negatives and absolute terms ("always", "never")
- For open-ended: include a rubric or model answer
- Mix question types to assess different cognitive levels (recall, application, analysis)
- Provide an answer key with explanations for each correct answer
- Ensure questions are unambiguous — there should be exactly one defensible correct answer
User
Generate quiz questions:

Subject: {{subject}}
Topic: {{topic}}
Difficulty: {{difficulty}}
Number of questions: {{num_questions}}
Source material: {{source}}

Variables

Fill in these inputs to customize your output:

{{subject}}

Example: Web Development

{{topic}}

Example: HTTP status codes and REST API concepts

{{difficulty}}

Example: intermediate

{{num_questions}}

Example: 4

{{source}}

Example: Standard HTTP spec knowledge. Students have built a basic CRUD API and understand request/response cycle.

Example Output

Here's what this prompt generates with the sample inputs:

Sample outputgemini-2.5-flash
{
  "questions": [
    {
      "type": "multiple_choice",
      "question": "A client sends a POST request to create a new user, but a user with that email already exists. Which HTTP status code is most appropriate?",
      "options": ["400 Bad Request", "403 Forbidden", "409 Conflict", "422 Unprocessable Entity"],
      "correct_answer": "409 Conflict",
      "explanation": "409 Conflict indicates the request conflicts with the current state of the resource (duplicate email). 400 is for malformed requests, 403 for authorization issues, and 422 for validation errors in the request body.",
      "difficulty": "intermediate",
      "cognitive_level": "application"
    },
    {
      "type": "multiple_choice",
      "question": "Which HTTP method is idempotent, meaning multiple identical requests produce the same result as a single request?",
      "options": ["POST", "PUT", "PATCH", "All of PUT, PATCH, and POST"],
      "correct_answer": "PUT",
      "explanation": "PUT is idempotent — sending the same PUT request multiple times always results in the same resource state. POST creates a new resource each time (not idempotent). PATCH may or may not be idempotent depending on implementation.",
      "difficulty": "intermediate",
      "cognitive_level": "recall"
    },
    {
      "type": "true_false",
      "question": "A REST API that returns a 200 OK status with an error message in the response body is following best practices.",
      "correct_answer": false,
      "explanation": "This is an anti-pattern. The HTTP status code should reflect the actual outcome. Using 200 for errors forces clients to parse the body to detect failures, breaking the HTTP contract.",
      "difficulty": "intermediate",
      "cognitive_level": "analysis"
    },
    {
      "type": "open_ended",
      "question": "A client needs to fetch a list of orders, but only for the month of January 2026, sorted by total amount descending. Design the GET endpoint URL including path and query parameters. Explain your design choices.",
      "model_answer": "GET /api/orders?start_date=2026-01-01&end_date=2026-01-31&sort=total_amount&order=desc. Design choices: filtering and sorting via query parameters (not path segments) because they're optional modifiers on the orders collection. ISO 8601 date format for consistency. Separate sort and order params for flexibility.",
      "rubric": ["Uses query parameters for filtering (1 point)", "Includes date range parameters (1 point)", "Includes sort parameters (1 point)", "Explains why query params over path segments (1 point)"],
      "difficulty": "intermediate",
      "cognitive_level": "application"
    }
  ]
}

Configuration

Optimized settings included when you add this prompt. You can adjust them later.

Provider

GOOGLE

Model

gemini-2.5-flash

Temperature

0.4

Output

Structured JSON

Ready to use this prompt?

Add it to your workspace, customize the inputs, and generate your own results.

Use this prompt — free

More prompts