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 repeated tests to learning paths #10330

Open
wants to merge 99 commits into
base: develop
Choose a base branch
from

Conversation

JohannesStoehr
Copy link
Contributor

@JohannesStoehr JohannesStoehr commented Feb 15, 2025

Checklist

General

Server

  • Important: I implemented the changes with a very good performance and prevented too many (unnecessary) and too complex database calls.
  • I strictly followed the principle of data economy for all database calls.
  • I strictly followed the server coding and design guidelines.
  • I added multiple integration tests (Spring) related to the features (with a high test coverage).
  • I documented the Java code using JavaDoc style.

Motivation and Context

Feature Proposal: #8758

Description

Adapted scheduling of exercises in the learning path to respect the preferences regarding repeated tests.

This PR does not add any UI!

Steps for Testing

Prerequisites:

  • 1 Instructor
  • 1 Student
  1. Log in to Artemis
  2. Create or find a course with a few competencies and linked exercises and lecture units
  3. Participate as student in the learning path and check that no errors occur

Testserver States

Note

These badges show the state of the test servers.
Green = Currently available, Red = Currently locked
Click on the badges to get to the test servers.







Review Progress

Performance Review

  • I (as a reviewer) confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance even for very large courses with more than 2000 students.
  • I (as a reviewer) confirm that the server changes (in particular related to database calls) are implemented with a very good performance even for very large courses with more than 2000 students.

Code Review

  • Code Review 1
  • Code Review 2

Manual Tests

  • Test 1
  • Test 2

Performance Tests

  • Test 1
  • Test 2

Test Coverage

Class/File Line Coverage Confirmation (assert/expect)
LearningPathNavigationService.java 89%
LearningPathRecommendationService.java 92%

Summary by CodeRabbit

  • New Features
    • Enhanced learning path navigation to indicate when a learning object is a repeated test.
    • Improved recommendations that factor in learner profiles and repeated test scenarios.
  • Documentation
    • Added localized labels for repeated tests for a more intuitive user experience.
  • Refactor
    • Streamlined navigation and recommendation logic for clearer and more cohesive transitions.
  • Tests
    • Expanded test coverage to ensure the new navigation and recommendation features work as expected.
    • Updated assertions in tests to reflect the new repeated test parameter in learning objects.

N0W0RK and others added 30 commits November 5, 2024 10:56
…/adaptive-learning/learner-profile-graded-exercises
…/adaptive-learning/learner-profile-graded-exercises

# Conflicts:
#	src/main/java/de/tum/cit/aet/artemis/atlas/repository/CourseLearnerProfileRepository.java
…/adaptive-learning/learner-profile-graded-exercises
…/adaptive-learning/learner-profile-repeated-tests
…nto feature/adaptive-learning/learner-profile-graded-exercises
…ses' into feature/adaptive-learning/learner-profile-repeated-tests
…ses' into feature/adaptive-learning/learner-profile-repeated-tests
…ses' into feature/adaptive-learning/learner-profile-repeated-tests
Haoyuli2002
Haoyuli2002 previously approved these changes Feb 21, 2025
Copy link

@Haoyuli2002 Haoyuli2002 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested on TS3, works as expected.

@krusche krusche modified the milestones: 7.10.3, 7.10.4, 7.10.5 Feb 22, 2025
@helios-aet helios-aet bot temporarily deployed to artemis-test3.artemis.cit.tum.de March 4, 2025 22:18 Inactive
Copy link
Collaborator

@MaximilianAnzinger MaximilianAnzinger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test adjustments ✅
Also retested on TS3 ✅

Copy link
Contributor

@ufukygmr ufukygmr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@az108 az108 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code 👍

Copy link
Contributor

@N0W0RK N0W0RK left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code

Copy link
Contributor

@N0W0RK N0W0RK left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now actual approval for Code :)

@krusche krusche modified the milestones: 7.10.5, 8.0 Mar 9, 2025
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 client Pull requests that update TypeScript code. (Added Automatically!) lecture Pull requests that affect the corresponding module ready for review server Pull requests that update Java code. (Added Automatically!) tests
Projects
Status: Developer Approved
Status: In review
Development

Successfully merging this pull request may close these issues.