Skip to content

Advanced Settings & Features

This section delves into more complex configurations and features within Vite, allowing you to fine-tune the application to your specific needs.

Understanding the Grading Equation

Vite uses a configurable equation to translate Duolingo XP into a grade.

  • Default Equation (Example): XP / (XPGoal / BaseGrade)

    • XP: The Duolingo XP earned by the student in the grading period.
    • XPGoal: The target XP you set when matching a Canvas course to a Duolingo classroom (e.g., 500 XP).
    • BaseGrade: The maximum points a student receives for achieving the XPGoal (e.g., 20 points, set in Settings > Max Base Grade).

    How it works:

    1. (XPGoal / BaseGrade): Calculates how much XP is worth one point of the base grade.
      • Example: If XPGoal is 500 and BaseGrade is 20, then 500 / 20 = 25 XP per point.
    2. XP / (Result from Step 1): Divides the student's earned XP by the "XP per point" value.
      • Example: If a student earned 400 XP, then 400 / 25 = 16 points.
  • Customizing the Equation (Advanced):

    • The settings.js file in the source code defines this. Changing it requires code modification and redeployment of the application. This is generally not recommended unless you have development experience.

Configuring Bonus Points

You can award bonus points to students based on their Duolingo performance. These are configured in the Settings section.

  • Running Bonus:

    • Enabled: Toggle to turn this bonus on or off.
    • Points: The number of bonus points awarded (e.g., 3 points).
    • How it works: Awarded to the student(s) with the highest cumulative Duolingo XP across all grading periods up to and including the current one within a matched course. If there's a tie, all tied students receive the bonus. These points are added to their grade for the current period being calculated.
  • Weekly Bonus (or Period Bonus):

    • Enabled: Toggle to turn this bonus on or off.
    • Points: The number of bonus points awarded (e.g., 3 points).
    • How it works: Awarded to the student(s) with the highest Duolingo XP earned specifically within the current grading period being calculated. If there's a tie, all tied students receive the bonus.

Important Considerations for Bonuses:

  • Bonus points are typically added after the base grade and extra credit are calculated.
  • Ensure the total possible score in your Canvas assignment accommodates these potential bonus points if you want them reflected accurately.

Managing Ignored Anomalies and Skipped XP Entries

The Anomaly Detection feature (see Usage Guide) may flag student activity. You have options to manage these flags in the Settings section or directly where anomalies are displayed.

  • Ignored Anomalies:

    • Purpose: If Vite flags a student's activity as anomalous (e.g., high XP rate), but you investigate and find it legitimate, you can add this specific instance (student + period + classroom) to the "Ignored Anomalies" list.
    • Effect: Vite will no longer flag this specific instance in future grade calculations. It does not ignore all future anomalies for that student, only in the period you specify.
    • How to Add/Remove: Typically managed in the Settings page. You'll need the Student ID, Student Name, the specific Period Name, Classroom ID, and Classroom Name.
  • Invalidated XP Entries:

    • Purpose: If, after investigation, you determine that a certain amount of a student's XP for a specific period was gained illegitimately or due to a significant glitch, you can choose to "invalidate" (subtract) this XP before grades are calculated.
    • Effect: The amount of XP earned in that specific period will be deducted from the student's total XP before the grading equation is applied.
    • How to Remove: Managed in the Settings page. There is a list of invalidated XP entries. You can remove them if you find that the XP was legitimate after all.
    • Caution: Use this feature judiciously and ensure you have clear reasons for invalidating XP, as it directly impacts a student's grade.

Understanding Anomaly Detection Internals (Brief Overview)

The grade.js module contains the logic for detecting unusual Duolingo activity. It considers several factors:

  • High Single Event XP: Flags if a single Duolingo event (like a lesson completion) grants an unusually high amount of XP (e.g., >150 XP), which is typically impossible.
  • Rapid Event Completion: Looks for patterns where multiple Duolingo activities are completed in extremely short succession (e.g., several events each under 20-45 seconds).
  • XP Rate vs. Time (XP/min): Calculates the student's XP earning rate. Extremely high rates are flagged.
  • Statistical Comparison:
    • Z-Score: Compares a student's XP rate for a period against the average and standard deviation of rates from all students in that period. A very high Z-score means their rate is a statistical outlier.
    • Rate Multiple: Compares the student's rate to the median rate of the class.
  • Total XP in Period: Very high total XP, especially when combined with a high rate, can increase the likelihood score.

The system combines these factors to produce a "likelihood score." The thresholds for what's considered "high" or "suspicious" are defined within the grade.js code (e.g., FLAGGING_THRESHOLD, MIN_RATE_XP_MIN_FOR_SERIOUS_CONSIDERATION). Modifying these requires code changes.

This feature is a tool to help you identify potential issues, not a definitive judgment. Always use your professional discretion when interpreting anomaly flags.