Last Updated: October 27, 2025
Understanding how GradIn validates learning outcomes is essential for accurate assessment. The validation process follows a clear, transparent methodology based on criterion-level grading.
GradIn uses six grade levels to assess student performance. Each grade level corresponds to a specific percentage used in outcome calculations:
| Grade Level | Percentage | Description |
|---|---|---|
| Unacceptable | 0% | Performance does not meet minimum standards |
| Very Poor | 25% | Significant improvement needed |
| Poor | 50% | Below expectations, requires work |
| Satisfactory | 75% | Meets expectations and learning objectives |
| Good | 100% | Exceeds basic expectations |
| Exceeds Expectations | 125% | Exceptional performance, mastery demonstrated |
GradIn uses a two-step process to calculate and validate learning outcomes:
For each criterion within an outcome, the grade is determined by taking the maximum value of all grades obtained by the student for that specific criterion.
This approach supports a growth mindset by recognizing students' improvement over time. Students can demonstrate mastery through multiple assessment opportunities, and only their best performance counts.
For each learning outcome, the grade percent is calculated as the simple mean (average) of all criterion grades associated with that outcome.
Outcome Grade (%) = (Sum of all criterion grades) / (Number of criteria)
(75 + 100 + 50) / 3 = 75%
An outcome is considered validated when:
Consider a learning outcome "Master Signal Processing Fundamentals" with a 75% validation threshold and three criteria:
| Criterion | Assessment 1 | Assessment 2 | Assessment 3 | Final Grade (Max) |
|---|---|---|---|---|
| Fourier Transform | 50% | 75% | 100% | 100% |
| Sampling Theory | 75% | 75% | - | 75% |
| Filter Design | 50% | 75% | - | 75% |
Outcome Grade: (100 + 75 + 75) / 3 = 83.3%
Result: ✓ Validated (83.3% ≥ 75% threshold)
Gradin allows you to import student rosters in bulk using CSV (Comma-Separated Values) files. This is useful for quickly populating a course with students at the start of a semester.
The CSV file can optionally include a header row, but it is not used by the application. The columns must be in the exact order shown below, regardless of whether a header row is present:
| Order | Column Name | Required | Description |
|---|---|---|---|
| 1 | lastName |
Yes | Student's last name |
| 2 | firstName |
Yes | Student's first name |
| 3 | email |
Yes | Student's email address |
| 4 | schoolID |
Yes | Student's unique identifier or registration number |
| 5 | group |
No | Optional group assignment (e.g., section, cohort) |
You can include a header row for readability, but it will be ignored by the application:
lastName,firstName,email,schoolID,group
Fourier,Marie,marie@example.com,SP001,A
Laplace,Alan,alan@school.edu,SP002,A
Hilbert,Isaac,isaac@school.edu,SP003,B
Euler,Ada,ada@school.edu,SP004,B
Gauss,Niels,niels@school.edu,SP005,B
Nyquist,Grace,grace@school.edu,SP006,C
Hamming,Claude,claude@school.edu,SP007,C
Dirichlet,Lise,lise@school.edu,SP008,C
Shannon,Benoit,benoit@school.edu,SP009,D
Hartley,Sophie,sophie@school.edu,SP010,D
You can omit the header row entirely. The column order must still be exact:
Fourier,Marie,marie@example.com,SP001,A
Laplace,Alan,alan@school.edu,SP002,A
Hilbert,Isaac,isaac@school.edu,SP003,B
Euler,Ada,ada@school.edu,SP004,B
Gauss,Niels,niels@school.edu,SP005,B
Nyquist,Grace,grace@school.edu,SP006,C
Hamming,Claude,claude@school.edu,SP007,C
Dirichlet,Lise,lise@school.edu,SP008,C
Shannon,Benoit,benoit@school.edu,SP009,D
Hartley,Sophie,sophie@school.edu,SP010,D
Gradin supports importing pre-defined learning outcomes using JSON (JavaScript Object Notation) format. This allows you to quickly set up assessment frameworks for your courses.
The JSON file must contain a root object with an outcomes array. Each outcome includes:
| Field | Type | Description |
|---|---|---|
name |
String | Short title of the learning outcome |
description |
String | Detailed explanation of what students will achieve |
threshold |
Number | Minimum percentage (0-100) required to validate mastery |
criteria |
Array | List of assessment criteria for this outcome |
Each criterion in the criteria array contains:
| Field | Type | Description |
|---|---|---|
name |
String | Short title of the criterion |
description |
String | What students should demonstrate when meeting this criterion |
Here's an example of a Signal Processing course with 5 learning outcomes:
{
"outcomes": [
{
"name": "Understand the fundamentals of signals and systems",
"description": "Students will be able to describe and analyze basic properties of continuous and discrete-time signals and systems.",
"threshold": 50,
"criteria": [
{
"name": "Signal classification",
"description": "Can distinguish between continuous-time and discrete-time signals, and identify deterministic vs. random signals."
},
{
"name": "System properties",
"description": "Understands linearity, time-invariance, causality, and stability in systems."
},
{
"name": "Basic transformations",
"description": "Applies basic operations such as time-shifting, scaling, and reversal to signals."
}
]
},
{
"name": "Analyze signals in the frequency domain",
"description": "Students will be able to represent signals using Fourier series and Fourier transforms and interpret their spectra.",
"threshold": 50,
"criteria": [
{
"name": "Fourier series understanding",
"description": "Can compute and interpret the Fourier series coefficients for periodic signals."
},
{
"name": "Fourier transform application",
"description": "Can compute the Fourier transform for standard signals and understand magnitude and phase spectra."
},
{
"name": "Spectral interpretation",
"description": "Can relate signal characteristics to their spectral representation (e.g., bandwidth, harmonics)."
}
]
}
]
}
You can download sample template files to help you get started:
If you encounter issues with importing data or have questions about the file formats, please contact us at:
Email: vincent.choqueuse@icloud.com