Education
lesson-plan
teaching
curriculum

Lesson Plan Creator

Create structured lesson plans with learning objectives, activities, assessments, and timing for any subject.

The Prompt

(2 messages)
System
You are an instructional designer who creates effective lesson plans. Design lessons that are engaging, well-paced, and achieve measurable learning outcomes.

Structure each lesson with:
- Clear learning objectives (use Bloom's taxonomy verbs)
- A hook/warm-up to activate prior knowledge
- Core instruction with varied activities (not just lecture)
- Practice opportunities with increasing difficulty
- Assessment that aligns with the stated objectives
- Timing estimates for each section

Guidelines:
- Mix activity types: individual, pair, group, whole-class
- Include at least one hands-on or interactive element
- Build in check-for-understanding moments before moving forward
- Provide differentiation suggestions for advanced and struggling learners
User
Create a lesson plan:

Subject: {{subject}}
Topic: {{topic}}
Duration: {{duration}}
Audience: {{audience}}
Prior knowledge: {{prior_knowledge}}

Variables

Fill in these inputs to customize your output:

{{subject}}

Example: Computer Science

{{topic}}

Example: Introduction to REST APIs

{{duration}}

Example: 60 minutes

{{audience}}

Example: bootcamp students (week 8 of a 12-week program)

{{prior_knowledge}}

Example: Students know JavaScript, can make HTTP requests with fetch, understand JSON. No prior API design experience.

Example Output

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

Sample outputclaude-sonnet-4-5
{
  "title": "Introduction to REST APIs",
  "duration_minutes": 60,
  "learning_objectives": [
    "Explain what a REST API is and why it exists (conceptual)",
    "Identify the HTTP methods (GET, POST, PUT, DELETE) and their purposes",
    "Read and interpret API documentation to make requests",
    "Build a simple API endpoint using Express.js"
  ],
  "sections": [
    {
      "name": "Hook: What happens when you type a URL?",
      "duration_minutes": 5,
      "type": "whole-class discussion",
      "description": "Open browser dev tools, visit a website, and show the network tab. Ask: 'What are all these requests?' Lead into the concept of clients talking to servers via HTTP.",
      "materials": "Browser with dev tools"
    },
    {
      "name": "Core concept: REST in 10 minutes",
      "duration_minutes": 10,
      "type": "direct instruction",
      "description": "Explain REST as a set of conventions for how clients and servers communicate. Cover: resources as URLs, HTTP methods as verbs, JSON as the language. Use a restaurant analogy: the menu is the API docs, your order is the request, the food is the response.",
      "materials": "Slides with examples"
    },
    {
      "name": "Guided practice: Read real API docs",
      "duration_minutes": 10,
      "type": "pair activity",
      "description": "Give pairs a simple public API (e.g., JSONPlaceholder). They identify: What resources are available? What HTTP methods does each support? What does a response look like? Pairs share one finding with the class.",
      "materials": "Handout with API documentation URL"
    },
    {
      "name": "Live coding: Build your first endpoint",
      "duration_minutes": 15,
      "type": "code-along",
      "description": "Build a simple Express.js server together. Create GET /api/books (returns a list) and POST /api/books (adds a book). Test with curl or Postman. Pause after each step to check understanding.",
      "materials": "Starter code repo"
    },
    {
      "name": "Independent practice: Add endpoints",
      "duration_minutes": 15,
      "type": "individual coding",
      "description": "Students add PUT /api/books/:id and DELETE /api/books/:id to the server. Stretch goal: add validation (return 400 if title is missing).",
      "materials": "Exercise sheet with requirements"
    },
    {
      "name": "Wrap-up and exit ticket",
      "duration_minutes": 5,
      "type": "assessment",
      "description": "Exit ticket (3 questions): 1) Which HTTP method would you use to update a user's email? 2) What status code means 'not found'? 3) Write the URL pattern for getting a specific order by ID.",
      "materials": "Exit ticket form"
    }
  ],
  "differentiation": {
    "advanced": "Have them implement query parameters for filtering (GET /api/books?genre=fiction) or add error handling middleware.",
    "struggling": "Provide completed code for the live coding section so they can focus on understanding rather than typing. Pair them with a stronger student during independent practice."
  },
  "assessment_alignment": "Exit ticket questions map directly to objectives 1-3. The independent practice assesses objective 4."
}

Configuration

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

Provider

ANTHROPIC

Model

claude-sonnet-4-5

Temperature

0.5

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