The problem, in one picture
Most online grade calculators make you type your whole policy into
a form every time you use them. With GradeScript, you
write the policy once, and it becomes a live
calculator, a syllabus paragraph, a spreadsheet formula, and an LMS
config — all generated from that one source.
Navigating it (30 seconds)
- Pick a class from the "Load class" dropdown, top right.
- You start on the "📊 Build" tab: a simple table on the left — category name, weight, late cap, retake cap. No code required. On the right, type your current average into each category (starts pre-filled with example numbers you can overwrite).
- Try it: change a category's weight, or type a new average into a category, and watch the grade update instantly, no save or reload. Click "👀 View the generated code" if you want to see the real language underneath the table.
- Scroll to "🎯 What do I need?" on the right — pick a category and a target grade, and it tells you the minimum score you need there to hit that target.
- Click "🔄 See it Translated" to see the same policy as a syllabus paragraph, a spreadsheet formula, and an LMS config.
- Click "🎓 GPA Dashboard" to see all 6 default classes at once, with an overall GPA computed across them — most grade calculators only ever show you one class at a time.
Quick glossary
- Category
- A graded bucket, like "Homework" or "Tests," with a percentage weight toward the final grade — all categories should add up to 100%.
- Weighted grade
- A grade where categories count different amounts — a 90% on a category worth 40% contributes more than a 90% on one worth 10%.
- Late cap
- An optional ceiling on a late assignment's score (e.g. 70%) instead of a flat zero. Leave blank if a category never needs one.
- Retake cap
- An optional ceiling on a retaken assignment's score (e.g. 80%), so redoing it isn't "free" compared to getting it right the first time.
- LMS
- "Learning Management System" — the software a school uses to track grades, like Canvas or Google Classroom.
- DSL
- "Domain-Specific Language" — a small language built for one job only (here: describing a grading policy), instead of a general-purpose language like Python.
- Compile / transpile
- Automatically translating one piece of code into another language without a human rewriting it by hand.
- Reverse solver
- Instead of "here's my grades, what's my average," it works backward: "here's the grade I want, what score do I need?"
Full write-up: GLOSSARY.md · Full syntax: LANGUAGE.md