Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adaptive learning: Add weight to links between learning objects and competencies #9446

Closed
JohannesStoehr opened this issue Oct 9, 2024 · 1 comment
Assignees
Labels
atlas Pull requests that affect the corresponding module feature-proposal This issue is a feature proposal

Comments

@JohannesStoehr
Copy link
Contributor

JohannesStoehr commented Oct 9, 2024

Feature Proposal

Spec Version 0.2.0

Context

Problem

The current system links learning objects directly to competencies without any way of quantifying how much a learning object contributes to or is related to a specific competency. This lacks the ability to fine-tune so Artemis cannot determine the importance of a learning object for a competency. Some might only cover parts of a competency while others cover the core principles and should therefore be more important for the competency.

Motivation

The introduction a weight for these links is necessary to enhance the adaptive learning experience. By assigning these weights, instructors can quantify the relevance of each learning object for specific competencies. This will allow for more precise learning paths and guidance for students in areas where they need improvement. Affected users include instructors, who will be able to configure these links, and students, who will benefit from more accurate learning recommendations.

Requirements Engineering

Existing (Problematic) Solution / System

Currently the learning objects and competencies directly store their linked counterparts.
Bildschirmfoto 2024-10-09 um 15 16 11

Proposed System

To also store the weight, we need an additional class between the two to store the weight.

Requirements

  1. FR: Manage Competency Links: Artemis must allow the input of a weight when learning objects and competencies are linked.
  2. FR: Use weight for learning path: Artemis should use the new weight to determine important exercises and priorities them when selecting exercises for the learning path.
  3. FR: Use weight for mastery calculation: Artemis should use the weight to determine the mastery of a student by lowering the confidence if the student is worse in more important learning objects and vice versa.

Analysis

Analysis Object Model

Bildschirmfoto 2024-10-09 um 15 17 07

System Architecture

Subsystem Decomposition

The endpoints to link competencies to learning objects must now also take the weight as a parameter.

Persistent Data Management

Adapt the existing competency_exercise and competency_lecture_unit table to also include a weight with a default value of 1 for existing links.

UI/UX Design

Add a dropdown with 3-5 choices (weak-strong) after each selected competency so the instructor can choose a weight for each connection.
Bildschirmfoto 2024-10-09 um 15 24 55

@JohannesStoehr JohannesStoehr added the feature-proposal This issue is a feature proposal label Oct 9, 2024
@JohannesStoehr JohannesStoehr self-assigned this Oct 9, 2024
@JohannesStoehr JohannesStoehr added the atlas Pull requests that affect the corresponding module label Oct 9, 2024
@JohannesStoehr JohannesStoehr moved this to In progress in Atlas Oct 9, 2024
@JohannesStoehr JohannesStoehr changed the title Adaptive Learning: Add weight to links between learning objects and competencies Adaptive learning: Add weight to links between learning objects and competencies Oct 9, 2024
@MaximilianAnzinger
Copy link
Collaborator

Rather than an input field I'd like to use some simplification, e.g., weak, medium, strong. With default value medium. In the backend we can still map it to a double for future ML plans. 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
atlas Pull requests that affect the corresponding module feature-proposal This issue is a feature proposal
Projects
Status: Done
Development

No branches or pull requests

2 participants