$19 one-time, plus applicable tax
Buy now: $19Test dataset · digital download (5.9 MB ZIP)
Please note. This is a digital download: after you pay on Stripe you are taken to a private download page, with no account needed. Links last 72 hours and the page can be re-opened for 30 days.

About this test dataset
Five terms of a fictional college: nine related tables with consistent keys. Eight departments offer 48 courses split into sections with instructors, capacities, meeting days and rooms. Students enroll in three to five sections a term, with a realistic mix of completed, dropped and withdrawn enrollments. Each section has a fixed assessment plan (homework, quizzes, a midterm, a project and a final exam that add up to 100%), every enrolled student has a graded, late, missing or excused submission for each assignment due so far, and completed enrollments carry a final percentage and letter grade that are recomputed from the submissions. The data is frozen mid-way through the latest term, so there are in-progress enrollments, upcoming assignments and active versus former students to query.
- 9 tables in CSV, NDJSON and SQL (schema with keys and data)
- Small set (150 students) and full set (1,200 students, 110,000+ submissions)
- 21 consistency checks (foreign keys plus 20 rules) run automatically on both sets (capacity, weights, grades, dates, statuses)
- Fictional people and courses; emails at example.com; no phone numbers or real institutions
Free table samples
Download the first rows of a few tables to check the format: students.csv — first 25 rows · enrollments.csv — first 25 rows · submissions.csv — first 25 rows
A look at the data
First rows of a few tables from the small set.
students (150 rows in the small set, 1,200 in the full set)
| student_id | name | major_department_id | first_enrolled_on | status | |
|---|---|---|---|---|---|
| 1 | Hana Gill | hana.gill76@example.com | 7 | 2026-08-17 | active |
| 2 | Tariq Greer | tariq.greer52@example.com | 7 | 2025-12-22 | active |
| 3 | Mateo Ibarra | mateo.ibarra131@example.com | 3 | 2025-01-05 | active |
| 4 | Leo Patel | leo.patel725@example.com | 2 | 2025-07-30 | active |
| 5 | Lena Farrow | lena.farrow643@example.com | 5 | 2025-08-23 | active |
| 6 | Arlo Nash | arlo.nash678@example.com | 4 | 2026-08-17 | active |
| 7 | Arlo Ford | arlo.ford865@example.com | 2 | 2024-08-25 | active |
| 8 | Zoe Kane | zoe.kane750@example.com | 1 | 2026-07-30 | active |
enrollments (1,482 rows in the small set, 11,981 in the full set)
| enrollment_id | section_id | student_id | enrolled_at | status | left_on | final_percent | final_grade |
|---|---|---|---|---|---|---|---|
| 1 | 14 | 7 | 2024-08-10 10:07:47 | completed | 99.5 | A | |
| 2 | 26 | 7 | 2024-08-15 10:27:09 | completed | 98.2 | A | |
| 3 | 6 | 7 | 2024-08-16 13:00:05 | completed | 80.2 | B- | |
| 4 | 8 | 7 | 2024-08-05 13:42:22 | completed | 92.9 | A- | |
| 5 | 37 | 11 | 2024-08-03 21:18:50 | completed | 91.9 | A- | |
| 6 | 1 | 11 | 2024-08-27 18:47:17 | completed | 93.1 | A | |
| 7 | 26 | 11 | 2024-08-02 16:12:33 | completed | 79.0 | C+ | |
| 8 | 28 | 14 | 2024-07-18 08:13:31 | completed | 86.6 | B |
submissions (14,418 rows in the small set, 115,893 in the full set)
| submission_id | assignment_id | student_id | status | submitted_at | points_earned |
|---|---|---|---|---|---|
| 1 | 157 | 7 | late | 2024-09-08 13:48:48 | 9.0 |
| 2 | 158 | 7 | graded | 2024-09-20 23:40:01 | 10.0 |
| 3 | 159 | 7 | graded | 2024-10-04 19:38:03 | 10.0 |
| 4 | 160 | 7 | graded | 2024-10-16 18:02:19 | 10.0 |
| 5 | 161 | 7 | graded | 2024-11-01 01:48:23 | 10.0 |
| 6 | 162 | 7 | graded | 2024-11-14 11:25:11 | 10.0 |
| 7 | 163 | 7 | graded | 2024-09-16 13:44:15 | 20.0 |
| 8 | 164 | 7 | graded | 2024-10-15 09:46:54 | 20.0 |
In the download
- small/ and full/ sets
- csv/ (one file per table)
- json/ (NDJSON)
- schema.sql + data.sql
- SCHEMA.md
- License.txt
$19 one-time, plus applicable tax
Buy now: $19Free guide: Test Data for Learning-Platform and Grade-Book Software: What to Include
Questions
Is any of this real student data?
No. Names are random first/last combinations, emails use the reserved example.com domain, and the college, its departments, instructors and courses are invented. There are no student ID numbers, addresses, phone numbers or real institutions.
What does "adds up" mean?
Section enrollments never exceed capacity; assignment weights in each section total 100; every enrolled student has exactly one submission per assignment due so far; points never exceed what the assignment is worth; final percentage is the weighted score of the student's own submissions (excused work excluded) and the letter grade follows the scale in SCHEMA.md; statuses and dates agree with each other.
Why is it frozen part-way through a term?
So your queries have to deal with realistic in-flight states: the latest term is in progress, some assignments are not yet due, current enrollments have no final grade yet, and some students are active while others have left.
Which databases does the SQL work with?
The schema and inserts use portable SQL types (INTEGER, TEXT, NUMERIC, DATE, TIMESTAMP). They load as-is into SQLite and PostgreSQL. For anything else, use the CSV files with your database's import tool.
Can I use it in a course or a product demo?
Yes, including commercial courses, demos and seed data inside your app. You just can't resell the dataset itself as a dataset.
Is this a subscription?
No. One payment of $19 and the files are yours to keep.
What if it does not work for me?
Ask within 14 days of purchase for a full refund. See the refund policy.
Sold by Quietcog. Support: gb1@mail.grokbot.com. See also the terms, refund policy and privacy policy.