Download on the App Store

Documentation

← Back to Home

Last Updated: October 27, 2025

Learning Outcome Validation

Understanding how GradIn validates learning outcomes is essential for accurate assessment. The validation process follows a clear, transparent methodology based on criterion-level grading.

Grade Levels and Percentages

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
Note: The "Exceeds Expectations" grade (125%) allows students to compensate for lower performance in other criteria. For example, an outcome with two criteria graded at 50% and 125% would average to 87.5%, potentially meeting a 75% validation threshold.
Important: If the best grade on any criterion is 0% (Unacceptable), the outcome is automatically not validated, regardless of the average. All criteria must demonstrate at least minimal competency for outcome validation.

Validation Logic

GradIn uses a two-step process to calculate and validate learning outcomes:

Step 1: Criterion Grade Calculation

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.

Example: If a student has been assessed three times on the same criterion with grades of 50%, 75%, and 100%, the criterion grade will be 100% (the maximum value).

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.

Step 2: Outcome Grade Calculation

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)
Example: An outcome has three criteria with final grades of 75%, 100%, and 50%. The outcome grade is calculated as:

(75 + 100 + 50) / 3 = 75%

Step 3: Outcome Validation

An outcome is considered validated when:

Note: Validation thresholds can be customized for each outcome when creating or editing outcomes in GradIn. Common thresholds include 60%, 70%, 75%, or 80% depending on your assessment standards.

Practical Example

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)

Student Import - CSV Format

Data Format Specifications: This guide describes the file formats required for importing student data and course outcomes into Gradin. All imports are processed locally on your device.

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.

CSV File Structure

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)

Example CSV Files

Option 1: With Header Row (Optional)

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

Option 2: Without Header Row

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
Important: The column order must always be: lastName, firstName, email, schoolID, group. This order is mandatory regardless of whether you include a header row. The header row is optional and ignored by the application - only the column position matters.

How to Import

  1. Prepare your CSV file with the correct format
  2. In Gradin, navigate to the course where you want to import students
  3. Tap the import button and select your CSV file
  4. Review the preview and confirm the import

Course Outcomes - JSON Format

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.

JSON File Structure

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

Criteria Structure

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

Example JSON File

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)."
        }
      ]
    }
  ]
}
Note: The example above shows only 2 outcomes for brevity. In practice, you can define as many outcomes and criteria as needed for your course. Each outcome can have multiple criteria (typically 2-5).

Best Practices

How to Import

  1. Prepare your JSON file with the correct structure
  2. Validate your JSON syntax using a JSON validator
  3. In Gradin, create or open a course
  4. Navigate to the outcomes section and tap the import button
  5. Select your JSON file and confirm the import

Download Sample Files

You can download sample template files to help you get started:

Need Help?

If you encounter issues with importing data or have questions about the file formats, please contact us at:

Email: vincent.choqueuse@icloud.com