Learning Data

Sessions

An exercise session captures a student's work on a single exercise. Each session includes the exercise definition, the student's actions (e.g. submitted inputs and hint requests) and the outcomes of these actions

Each session is uniquely identified by a session ID. You can use this session ID to:

  • Display the exercise in a web page using the Algebrakit web component
  • Retrieve scoring information via the Algebrakit web service
  • Display the student's work in your dashboards using the web component in review mode.
  • Show the worked solution for the exercise.

Privacy

Algebrakit is designed with privacy in mind. It never requires personally identifiable information (PII). This ensures that exercise sessions cannot be linked to individual students. It is the responsibility of your platform to manage session-to-student mappings.

Session retention

By default, Algebrakit automatically deletes session data one year after its last use. If you need a longer retention period, please contact us.

Scoring

Algebrakit supports automatic scoring for most question types. You can control how scoring works using a scoring model. For example, you can choose to deduct marks for incorrect answers or hint usage. You can also limit the number of attempts or tolerated errors before a question is considered failed

You define the scoring model when creating a session. If no model is specified, the default scoring model applies:

  • Each correct interaction earns 1 mark
  • No penalties are applied for hints or errors
  • Unlimited attempts and mistakes (except for multiple-choice, which is locked after submission)
  • Total score = sum of all individual interaction scores

Each interaction provides detailed scoring information:

Property Description
finished Whether the interaction was answered correctly
marksEarned Marks earned, accounting for any penalties
marksTotal Maximum possible marks for the interaction
marksPenalty Marks deducted due to penalties
hintsRequested Number of hint requests
mathErrors Number of incorrect inputs

Skill Detection

Many math problems require multiple steps, each tied to specific mathematical skills (e.g. factoring, using the chain rule). Understanding which skills a student has mastered can help teachers identify misconceptions and enable adaptive systems to provide better support.

Algebrakit automatically detects both positive and negative evidence of skill mastery. For instance, successfully completing a problem provides positive proof of relevant skills. Struggling or making errors provides negative proof, highlighting skills not yet mastered.

When you retrieve scoring, the response includes skill mastery data:

  • Each skill is identified by a unique ID from the skill taxonomy
  • A weight value indicates the strength and direction of the evidence. +100 = strong evidence the skill is mastered, while -100 = strong evidence the skill is not yet mastered.

Skills Taxonomy

Algebrakit uses a skills taxonomy to organize the mathematical abilities it can detect during student work. This taxonomy is structured as a hierarchy of skill groups and individual skills.

Each skill and group has a unique ID and a description, which can be shown in multiple languages.

You can download this taxonomy as a JSON file here: skill-taxonomy.json

Structure overview

The taxonomy is built using the following elements:

  • Skill group (TagCollection)
    A group of related skills or subgroups. It includes:

    • id: A unique identifier for the group
    • descr: A localized description (text in multiple languages)
    • tags (optional): A list of skills in this group
    • collections (optional): A list of subgroups (nested skill groups)
  • Skill (Tag)
    A specific skill that Algebrakit tracks. It includes:

    • id: A unique skill identifier
    • descr: A localized description of the skill
    • errors: A list of common error types related to this skill
  • Error (ErrorTag)
    A type of error that can occur when applying the skill. It includes:

    • id: A unique identifier for the error
    • type: One or more categories of the error (e.g. conceptual, procedural)
    • descr: A localized description of the error
  • Localized Description (I18NDescription)
    A mapping of language codes (e.g. "en", "nl") to descriptions in those languages.

Example

Here's a simplified example of what a skill group might look like in the taxonomy:

{
  "id": "Factor",
  "descr": { 
    "en": "Factoring expressions", 
    "nl": "Ontbinden in factoren" },
  "tags": [
    {
      "id": "FactorSingleBrackets",
      "descr": { 
        "en": "Factoring a common factor",
        "nl": "..."
      },
      "errors": [
        {
          "id": "SignError",
          "type": ["MISTAKE", "MISCONCEPTION"],
          "descr": { 
            "en": "Making a sign error when factoring.", 
            "nl": "..."
          }
        }
      ]
    }
  ]
}