{
  "id": "middle-school-gpa",
  "version": "277703b90301",
  "status": "published",
  "name": "Middle School GPA Calculator",
  "question": "What is my middle school GPA?",
  "summary": "Computes a middle school grade point average on the unweighted 4.0 scale from letter grades, with every class counted the same and no credit hours.",
  "category": "education",
  "subcategory": "gpa",
  "url": "https://www.acalculator.org/education/middle-school-gpa-calculator",
  "markdown": "https://www.acalculator.org/education/middle-school-gpa-calculator.md",
  "kind": "function",
  "method": "GPA = the sum of the grade points of the classes ÷ the number of classes.",
  "assumptions": [
    "Every class counts the same: there are no credit hours. Some schools weight classes differently.",
    "This is an unweighted GPA: honors and high school credit classes get no extra points.",
    "Grade points are on the 4.0 scale: A+ and A 4.0, A- 3.7, B+ 3.3, B 3.0, B- 2.7, C+ 2.3, C 2.0, C- 1.7, D+ 1.3, D 1.0, D- 0.7, F 0.0.",
    "The GPA is shown to two decimal places, rounded half up."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "class1": {
        "title": "Class 1 grade",
        "description": "The letter grade in class 1, or Not counted for a class with no letter grade.",
        "type": "string",
        "enum": [
          "a-plus",
          "a",
          "a-minus",
          "b-plus",
          "b",
          "b-minus",
          "c-plus",
          "c",
          "c-minus",
          "d-plus",
          "d",
          "d-minus",
          "f",
          "none"
        ]
      },
      "class2": {
        "title": "Class 2 grade",
        "description": "The letter grade in class 2, or Not counted for a class with no letter grade.",
        "type": "string",
        "enum": [
          "a-plus",
          "a",
          "a-minus",
          "b-plus",
          "b",
          "b-minus",
          "c-plus",
          "c",
          "c-minus",
          "d-plus",
          "d",
          "d-minus",
          "f",
          "none"
        ]
      },
      "class3": {
        "title": "Class 3 grade",
        "description": "The letter grade in class 3, or Not counted for a class with no letter grade.",
        "type": "string",
        "enum": [
          "a-plus",
          "a",
          "a-minus",
          "b-plus",
          "b",
          "b-minus",
          "c-plus",
          "c",
          "c-minus",
          "d-plus",
          "d",
          "d-minus",
          "f",
          "none"
        ]
      },
      "class4": {
        "title": "Class 4 grade",
        "description": "The letter grade in class 4, or Not counted for a class with no letter grade.",
        "type": "string",
        "enum": [
          "a-plus",
          "a",
          "a-minus",
          "b-plus",
          "b",
          "b-minus",
          "c-plus",
          "c",
          "c-minus",
          "d-plus",
          "d",
          "d-minus",
          "f",
          "none"
        ]
      },
      "class5": {
        "title": "Class 5 grade",
        "description": "The letter grade in class 5, or Not counted for a class with no letter grade.",
        "type": "string",
        "enum": [
          "a-plus",
          "a",
          "a-minus",
          "b-plus",
          "b",
          "b-minus",
          "c-plus",
          "c",
          "c-minus",
          "d-plus",
          "d",
          "d-minus",
          "f",
          "none"
        ]
      },
      "class6": {
        "title": "Class 6 grade",
        "description": "The letter grade in class 6, or Not counted for a class with no letter grade.",
        "type": "string",
        "enum": [
          "a-plus",
          "a",
          "a-minus",
          "b-plus",
          "b",
          "b-minus",
          "c-plus",
          "c",
          "c-minus",
          "d-plus",
          "d",
          "d-minus",
          "f",
          "none"
        ]
      },
      "class7": {
        "title": "Class 7 grade",
        "description": "The letter grade in class 7, or Not counted for a class with no letter grade.",
        "type": "string",
        "enum": [
          "a-plus",
          "a",
          "a-minus",
          "b-plus",
          "b",
          "b-minus",
          "c-plus",
          "c",
          "c-minus",
          "d-plus",
          "d",
          "d-minus",
          "f",
          "none"
        ]
      },
      "class8": {
        "title": "Class 8 grade",
        "description": "The letter grade in class 8, or Not counted for a class with no letter grade.",
        "type": "string",
        "enum": [
          "a-plus",
          "a",
          "a-minus",
          "b-plus",
          "b",
          "b-minus",
          "c-plus",
          "c",
          "c-minus",
          "d-plus",
          "d",
          "d-minus",
          "f",
          "none"
        ]
      }
    }
  },
  "outputs": {
    "gpa": {
      "label": "Your GPA",
      "description": "The grade points of the classes divided by the number of classes, on the 4.0 scale.",
      "format": "number"
    },
    "classes": {
      "label": "Classes counted",
      "description": "The classes with a letter grade.",
      "format": "integer"
    },
    "points": {
      "label": "Grade points",
      "description": "The sum of the grade points of the classes.",
      "format": "number"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "class1": "a",
      "class2": "b-plus",
      "class3": "a-minus",
      "class4": "b",
      "class5": "a",
      "class6": "c-plus",
      "class7": "none",
      "class8": "none"
    },
    "outputs": {
      "gpa": 3.3833333333333333,
      "classes": 6,
      "points": 20.3
    },
    "text": "Your GPA is 3.38 over 6 classes."
  },
  "examples": [
    {
      "given": {
        "class1": "a",
        "class2": "b",
        "class3": "c",
        "class4": "d",
        "class5": "none",
        "class6": "none"
      },
      "expect": {
        "gpa": 2.5,
        "classes": 4,
        "points": 10
      },
      "source": "Abraham Lincoln Middle School (Selma Unified), Academic Awards (A=4; B=3; C=2; D=1; grade point equivalents are added, then divided by the number of classes), https://alms.selmausd.org/fs/pages/3338 (retrieved 2026-11-01); hand calculation in content.mdx: 10 ÷ 4 = 2.5"
    },
    {
      "given": {
        "class1": "a",
        "class2": "b-plus",
        "class3": "a-minus",
        "class4": "b",
        "class5": "a",
        "class6": "c-plus"
      },
      "expect": {
        "gpa": 3.3833333333333333,
        "classes": 6,
        "points": 20.3
      },
      "source": "University of Michigan-Dearborn, Grading System (A, A+ 4.0; A- 3.7; B+ 3.3; B 3.0; B- 2.7; C+ 2.3; C 2.0; C- 1.7; D+ 1.3; D 1.0; D- 0.7; E 0.0), https://catalog.umd.umich.edu/academic-policies-campus/grading-system/ (retrieved 2026-11-01); hand calculation in content.mdx: 20.3 ÷ 6 = 3.3833"
    },
    {
      "given": {
        "class1": "a",
        "class2": "f",
        "class3": "b-minus",
        "class4": "none",
        "class5": "none",
        "class6": "none"
      },
      "expect": {
        "gpa": 2.2333333333333334,
        "classes": 3,
        "points": 6.7
      },
      "source": "University of Michigan-Dearborn, Grading System (A, A+ 4.0; A- 3.7; B+ 3.3; B 3.0; B- 2.7; C+ 2.3; C 2.0; C- 1.7; D+ 1.3; D 1.0; D- 0.7; E 0.0), https://catalog.umd.umich.edu/academic-policies-campus/grading-system/ (retrieved 2026-11-01); hand calculation in content.mdx: 6.7 ÷ 3 = 2.2333"
    },
    {
      "given": {
        "class1": "a-plus",
        "class2": "a",
        "class3": "none",
        "class4": "none",
        "class5": "none",
        "class6": "none"
      },
      "expect": {
        "gpa": 4,
        "classes": 2,
        "points": 8
      },
      "source": "University of Michigan-Dearborn, Grading System (A, A+ 4.0; A- 3.7; B+ 3.3; B 3.0; B- 2.7; C+ 2.3; C 2.0; C- 1.7; D+ 1.3; D 1.0; D- 0.7; E 0.0), https://catalog.umd.umich.edu/academic-policies-campus/grading-system/ (retrieved 2026-11-01): A+ and A are both 4.0, so the scale tops out at 4.0"
    }
  ],
  "sources": [
    "Abraham Lincoln Middle School (Selma Unified School District), Academic Awards (A=4; B=3; C=2; D=1; grade point equivalents are added, then divided by the number of classes). Retrieved 2026-11-01. https://alms.selmausd.org/fs/pages/3338",
    "University of Michigan-Dearborn, Grading System (the plus and minus points of the 4.0 scale: A, A+ 4.0 through E 0.0). Retrieved 2026-11-01. https://catalog.umd.umich.edu/academic-policies-campus/grading-system/",
    "Hawthorn School District 73, Report Cards (middle school GPA covers all classes on the schedule each trimester; Honor Roll 3.0 to 3.49; High Honor Roll 3.5 to 4.0). Retrieved 2026-11-01. https://msn.hawthorn73.org/academics/report-cards"
  ],
  "related": [
    "gpa",
    "grade",
    "weighted-grade",
    "science-gpa"
  ],
  "changelog": []
}
