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 #9738

Open
wants to merge 20 commits into
base: feature/adaptive-learning/learner-profile-graded-exercises
Choose a base branch
from

Conversation

JohannesStoehr
Copy link
Contributor

@JohannesStoehr JohannesStoehr commented Nov 11, 2024

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

Stacked on #9699
#8760

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

Summary by CodeRabbit

  • New Features

    • Introduced CourseLearnerProfile and LearnerProfile entities for managing learner profiles in relation to courses.
    • Added methods for creating and deleting course learner profiles.
    • Enhanced learning path recommendations by incorporating learner profiles into exercise scheduling.
    • Updated user management to include learner profile creation and deletion upon user actions.
  • Bug Fixes

    • Improved data retrieval methods to ensure learner profile information is included in learning path navigation.
  • Documentation

    • Added Javadoc comments for new repository methods related to user and learner profile retrieval.
  • Tests

    • Updated integration tests to include setup for learner profiles in test scenarios.

@github-actions github-actions bot added tests server Pull requests that update Java code. (Added Automatically!) client Pull requests that update TypeScript code. (Added Automatically!) database Pull requests that update the database. (Added Automatically!). Require a CRITICAL deployment. atlas Pull requests that affect the corresponding module core Pull requests that affect the corresponding module programming Pull requests that affect the corresponding module labels Nov 11, 2024
@JohannesStoehr JohannesStoehr changed the base branch from develop to feature/adaptive-learning/learner-profile November 11, 2024 15:15
…/adaptive-learning/learner-profile-repeated-tests
@github-actions github-actions bot removed database Pull requests that update the database. (Added Automatically!). Require a CRITICAL deployment. programming Pull requests that affect the corresponding module labels Nov 11, 2024
…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
…ses' into feature/adaptive-learning/learner-profile-repeated-tests
…ses' into feature/adaptive-learning/learner-profile-repeated-tests

# Conflicts:
#	src/test/java/de/tum/cit/aet/artemis/atlas/service/LearningPathServiceTest.java
@JohannesStoehr JohannesStoehr changed the base branch from feature/adaptive-learning/learner-profile to feature/adaptive-learning/learner-profile-graded-exercises November 19, 2024 11:28
…ses' into feature/adaptive-learning/learner-profile-repeated-tests
@github-actions github-actions bot removed the core Pull requests that affect the corresponding module label Nov 19, 2024
@JohannesStoehr JohannesStoehr marked this pull request as ready for review November 20, 2024 12:32
@JohannesStoehr JohannesStoehr requested a review from a team as a code owner November 20, 2024 12:32
Copy link

@sachmii sachmii 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 TS4, I see the same error as HawKhiem already mentioned.

Bildschirmfoto 2024-11-23 um 16 41 41

@JohannesStoehr
Copy link
Contributor Author

Tested on TS4. Participating in learning path works fine, but when I scroll through the different exercises of the learning path, the exercises description is not shown and only appears shortly when the view change

I checked with an unrelated PR (#9850) and the issue is also present there, so it is not introduced by my current PRs. Could you create an issue for this problem?

Copy link
Contributor

@EneaGore EneaGore left a comment

Choose a reason for hiding this comment

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

Apart from the issues mentioned on #9699 code lgtm and works fine on TS5

…ses' into feature/adaptive-learning/learner-profile-repeated-tests
Copy link

@sachmii sachmii left a comment

Choose a reason for hiding this comment

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

re-approve

Copy link

@HawKhiem HawKhiem left a comment

Choose a reason for hiding this comment

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

Reapprove

…ses' into feature/adaptive-learning/learner-profile-repeated-tests
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!) ready to merge 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.

6 participants