A lightweight, dependency-minimal tool to generate and analyze synthetic student performance data — perfect for demos, teaching, or prototyping academic dashboards.
No databases. No web frameworks. Just clean Python, realistic names, and insightful stats — all in one file.
| ✅ Realistic Data | 📊 Smart Analysis | 📤 Easy Export |
|---|---|---|
Full names (e.g., Emma Smith) |
Grade classification (A+, A, B...) | Saves to sample_output.csv |
| Real subjects (Math, Biology, etc.) | Top/Bottom 10 students | Human-readable console output |
| Configurable class size | Subject-wise stats & failure rates | Correlation matrix included |
| No duplicate names | Overall class performance metrics | — |
git clone https://github.com/ramoware/grader.git
cd grader
python analyze_grades.py- Console: Instant stats & rankings
- File:
sample_output.csv(open in Excel, Google Sheets, or pandas)
⚡ Zero dependencies beyond pandas & numpy — likely already installed!
=== TOP 10 STUDENTS ===
Name Average Grade
Olivia Lee 94.13 A+
Evelyn Clark 93.88 A+
...
| Name | Mathematics | English Literature | ... | Average | Grade |
|---|---|---|---|---|---|
| Emma Smith | 88 | 92 | ... | 89.25 | A |
| Liam Johnson | 76 | 81 | ... | 78.63 | B |
🔍 Tip: The full CSV contains 1,000 students × 8 subjects + analytics columns.
Edit the top section of analyze_grades.py to:
- Add more student names
- Change subjects (e.g., add
"Economics") - Adjust class size or grade ranges
# ============================================================
# 🎯 CUSTOMIZABLE DATA SECTION — EDIT NAMES HERE!
# ============================================================
FIRST_NAMES = ["James", "Emma", "Liam", ...]
LAST_NAMES = ["Smith", "Johnson", ...]
SUBJECT_NAMES = ["Mathematics", "Biology", "Computer Science", ...]
NUM_STUDENTS = 1000
# ============================================================| Package | Purpose | Install Command |
|---|---|---|
pandas |
Data manipulation & export | pip install pandas |
numpy |
Random grade generation | pip install numpy |
👉 Or install via:
pip install -r requirements.txt- 🧑🏫 Teaching: Demonstrate data analysis concepts
- 🧪 Prototyping: Mock data for school dashboards
- 📈 Portfolio: Show clean, readable Python code
- 🤖 Testing: Generate test datasets for grading algorithms
MIT License — feel free to use, modify, and share!
See LICENSE for details.
- Real-world academic reporting needs
- The beauty of minimal, self-contained scripts
- Students who deserve better than
Student_123😅
✨ Made with ❤️ and Python
Star this repo if it helped you!
