Progress report template for a student's term

Updated 2026-10-30

Writing a student progress report from scratch means rereading notes and hunting for the right words. I would rather answer the same few prompts at the end of each period and keep the answers in one list.

Before the period ends

Decide the period, such as a month or a term, and who reads the report. Tell yourself what to leave out: surnames, health details and school records. The form asks only for a first name and the subject.

While you write

You answer prompts about topics covered, strengths, areas to work on and next steps. Two ratings cover progress and effort, and two short pick-lists cover confidence and homework. Your AI can draft from your session notes. It asks "What topics did you cover this period?" Then "What are the student's strengths?" Then "What should happen next?" It shows the answers and sends only after a yes. See agent-fillable forms.

After you send it

Download the CSV, which holds one row per student per period. Copy the strengths and next steps into your message to parents. Compare ratings from one period to the next to see real movement. Ask students what they think with a student feedback form, and ask parents through a parent feedback form. More ideas are in forms for tutors and childcare and forms for schools and teachers.

Questions

Who fills in the form?

The tutor or teacher. Each response is one report for one student and one period. The form does not email parents, so share the rows in your own message.

How do I track progress over time?

Download the CSV and sort by student and date. Compare the progress and effort ratings from one period to the next.

What should I leave out?

Leave out surnames, home details, health information and school record numbers. A first name and the subject are enough to match a report to a student.

Try the form

Live demo ยท nothing is saved

Student progress report

Fill in one report for each student at the end of a period. Keep student details to a first name and the subject.

Overall progress (required)
Effort in sessions
Confidence with the subject now
How often is homework done?
I would like to talk with the parent or guardian

Or paste the JSON

Give this to your AI. It needs the AI Form API MCP server or an API key. It makes the form and sends you the link.

text
Create this form with the AI Form API create_form tool (or POST https://aiformapi.com/v1/forms with my API key). Then reply with the public_url.

{
  "title": "Student progress report",
  "description": "Fill in one report for each student at the end of a period. Keep student details to a first name and the subject.",
  "fields": [
    {
      "id": "student_first_name",
      "label": "Student's first name",
      "type": "short_text",
      "required": true,
      "max_length": 100
    },
    {
      "id": "subject_taught",
      "label": "Subject or course",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "report_period_end",
      "label": "Report period ends on",
      "type": "date",
      "required": true
    },
    {
      "id": "sessions_this_period",
      "label": "Sessions or lessons this period",
      "type": "number",
      "min": 0,
      "max": 100
    },
    {
      "id": "topics_covered",
      "label": "Topics covered",
      "type": "long_text",
      "required": true,
      "max_length": 1500
    },
    {
      "id": "strengths_seen",
      "label": "Strengths",
      "type": "long_text",
      "required": true,
      "max_length": 1000
    },
    {
      "id": "areas_to_grow",
      "label": "Areas to work on",
      "type": "long_text",
      "max_length": 1000
    },
    {
      "id": "progress_score",
      "label": "Overall progress",
      "type": "rating",
      "required": true,
      "min": 1,
      "max": 5
    },
    {
      "id": "effort_score",
      "label": "Effort in sessions",
      "type": "rating",
      "min": 1,
      "max": 5
    },
    {
      "id": "confidence_now",
      "label": "Confidence with the subject now",
      "type": "single_choice",
      "options": [
        "Very confident",
        "Growing",
        "Steady",
        "Needs support"
      ]
    },
    {
      "id": "homework_rhythm",
      "label": "How often is homework done?",
      "type": "single_choice",
      "options": [
        "Always",
        "Usually",
        "Sometimes",
        "Rarely"
      ]
    },
    {
      "id": "next_steps",
      "label": "Next steps for the coming weeks",
      "type": "long_text",
      "required": true,
      "max_length": 1500
    },
    {
      "id": "note_for_parents",
      "label": "A note for parents or guardians",
      "type": "long_text",
      "max_length": 1000
    },
    {
      "id": "written_by",
      "label": "Written by",
      "type": "short_text",
      "max_length": 150
    },
    {
      "id": "wants_to_talk",
      "label": "I would like to talk with the parent or guardian",
      "type": "checkbox"
    }
  ]
}

Or call the API

bash
curl -X POST https://aiformapi.com/v1/forms \
  -H "Authorization: Bearer $AIFORMAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Student progress report","description":"Fill in one report for each student at the end of a period. Keep student details to a first name and the subject.","fields":[{"id":"student_first_name","label":"Student'\''s first name","type":"short_text","required":true,"max_length":100},{"id":"subject_taught","label":"Subject or course","type":"short_text","required":true,"max_length":150},{"id":"report_period_end","label":"Report period ends on","type":"date","required":true},{"id":"sessions_this_period","label":"Sessions or lessons this period","type":"number","min":0,"max":100},{"id":"topics_covered","label":"Topics covered","type":"long_text","required":true,"max_length":1500},{"id":"strengths_seen","label":"Strengths","type":"long_text","required":true,"max_length":1000},{"id":"areas_to_grow","label":"Areas to work on","type":"long_text","max_length":1000},{"id":"progress_score","label":"Overall progress","type":"rating","required":true,"min":1,"max":5},{"id":"effort_score","label":"Effort in sessions","type":"rating","min":1,"max":5},{"id":"confidence_now","label":"Confidence with the subject now","type":"single_choice","options":["Very confident","Growing","Steady","Needs support"]},{"id":"homework_rhythm","label":"How often is homework done?","type":"single_choice","options":["Always","Usually","Sometimes","Rarely"]},{"id":"next_steps","label":"Next steps for the coming weeks","type":"long_text","required":true,"max_length":1500},{"id":"note_for_parents","label":"A note for parents or guardians","type":"long_text","max_length":1000},{"id":"written_by","label":"Written by","type":"short_text","max_length":150},{"id":"wants_to_talk","label":"I would like to talk with the parent or guardian","type":"checkbox"}]}'

JSON definition

json
{
  "title": "Student progress report",
  "description": "Fill in one report for each student at the end of a period. Keep student details to a first name and the subject.",
  "fields": [
    {
      "id": "student_first_name",
      "label": "Student's first name",
      "type": "short_text",
      "required": true,
      "max_length": 100
    },
    {
      "id": "subject_taught",
      "label": "Subject or course",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "report_period_end",
      "label": "Report period ends on",
      "type": "date",
      "required": true
    },
    {
      "id": "sessions_this_period",
      "label": "Sessions or lessons this period",
      "type": "number",
      "min": 0,
      "max": 100
    },
    {
      "id": "topics_covered",
      "label": "Topics covered",
      "type": "long_text",
      "required": true,
      "max_length": 1500
    },
    {
      "id": "strengths_seen",
      "label": "Strengths",
      "type": "long_text",
      "required": true,
      "max_length": 1000
    },
    {
      "id": "areas_to_grow",
      "label": "Areas to work on",
      "type": "long_text",
      "max_length": 1000
    },
    {
      "id": "progress_score",
      "label": "Overall progress",
      "type": "rating",
      "required": true,
      "min": 1,
      "max": 5
    },
    {
      "id": "effort_score",
      "label": "Effort in sessions",
      "type": "rating",
      "min": 1,
      "max": 5
    },
    {
      "id": "confidence_now",
      "label": "Confidence with the subject now",
      "type": "single_choice",
      "options": [
        "Very confident",
        "Growing",
        "Steady",
        "Needs support"
      ]
    },
    {
      "id": "homework_rhythm",
      "label": "How often is homework done?",
      "type": "single_choice",
      "options": [
        "Always",
        "Usually",
        "Sometimes",
        "Rarely"
      ]
    },
    {
      "id": "next_steps",
      "label": "Next steps for the coming weeks",
      "type": "long_text",
      "required": true,
      "max_length": 1500
    },
    {
      "id": "note_for_parents",
      "label": "A note for parents or guardians",
      "type": "long_text",
      "max_length": 1000
    },
    {
      "id": "written_by",
      "label": "Written by",
      "type": "short_text",
      "max_length": 150
    },
    {
      "id": "wants_to_talk",
      "label": "I would like to talk with the parent or guardian",
      "type": "checkbox"
    }
  ]
}