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

Learning path: Schedule graded exercises #8758

Open
JohannesStoehr opened this issue Jun 7, 2024 · 0 comments
Open

Learning path: Schedule graded exercises #8758

JohannesStoehr opened this issue Jun 7, 2024 · 0 comments
Assignees
Labels

Comments

@JohannesStoehr
Copy link
Contributor

JohannesStoehr commented Jun 7, 2024

Feature Proposal

Spec Version 0.2.0

Context

Problem

Courses can build grades or bonuses based on some exercises of the course. At the moment Artemis does not take this into account when selecting exercises for the learning path. Students might leave out an exercise that is necessary for their grading at the end of the course, which requires work to prevent by manually checking all exercises.

Motivation

Learning paths already offer students the option to let Artemis decide which exercises they should do and in which order. So Artemis should help students with improved suggestions. Students should be able to rely on the suggestions of Artemis to successfully complete a course. With the current problems students have to manually search for and select exercises that are part of the course grading.

Requirements Engineering

Existing (Problematic) Solution / System

Currently Artemis does not take into account whether an exercises is graded or not when selecting exercises for the learning path. Students have to select them manually instead.

Proposed System

Instructors should have the option to ensure that all graded exercises of the course are part of the learning path.
If that is enabled, Artemis should prioritise graded exercises in the exercise selection. If more exercises are needed to achieve the mastery threshold, Artemis should also schedule unrated exercises.
The ungraded exercises should be before the rated exercises in the learning path since they are often easier and the graded exercises can build on them.

Requirements

Describe the Functional and Non-Functional Requirements of the feature. Stick to the INVEST methodology!

  1. FR: Toggle for graded exercises: Instructors should be able to select if all graded exercises have to be part of the learning path
  2. FR: Ungraded before graded: If both graded and ungraded exercises are part of the learning path, all ungraded exercises should be before any graded exercises

Analysis

Analysis Object Model

What are the involved Analysis Objects?
Unbenanntes Diagramm drawio-2

Dynamic Behavior

Include dynamic models (Activity Diagram, State Chart Diagram, Communication Diagram) here to outline the dynamic nature of the PROBLEM

System Architecture

Subsystem Decomposition

Show the involved subsystems and their interfaces. Make sure to describe the APIs that you add/change in detail. Model the DTOs you intend to (re)use or change!
The REST endpoint for course Update (PUT: courses/{courseId}) has to also update the setting if all graded exercises have to be scheduled.

Persistent Data Management

Describe the Database changes you intend to make.
Outline new configuration options you plan to introduce
Describe all other data persistence mechanisms you may use.
Course needs a new boolean flag that indicates if all graded exercises have to be scheduled in the learning path.

Access Control / Security Aspects

Describe the access control considerations for your feature
Only instructors should be able to schedule if learning paths have to include all graded exercises.

Other Design Decisions

Potential topics to discuss here include: WebSockets, testing strategies.

UI/UX Design

Screenshots of the final UI mockups (mandatory): Please include screenshots to provide a clear and persistent visual reference of the design.
Link to the design mockup (optional): Additionally, you may include a link to the live design mockup (e.g., Figma, Sketch) for a more interactive view. Note that this link is supplementary and should not replace the required screenshots.

@JohannesWt
Should we add an indicator that certain exercises in the learning path are graded and part of the course grading?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Ready
Development

No branches or pull requests

1 participant