Skip to content

Tutor exam dashboard for the assessment of exams #1727

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

Merged
merged 79 commits into from
Jul 4, 2020

Conversation

JonasPetry
Copy link
Contributor

@JonasPetry JonasPetry commented Jun 27, 2020

Checklist

  • I tested all changes and all related features with different users (student, tutor, instructor, admin) on the test server https://artemistest.ase.in.tum.de.
  • Server: I added one integration test (Spring) related to the features
  • Server: I added @PreAuthorize and check the course groups for all new REST Calls (security)
  • Server: I implemented the changes with a good performance and prevented too many database calls
  • Server: I documented the Java code using JavaDoc style.
  • Client: I added authorities to all new routes and check the course groups for displaying navigation elements (links, buttons)
  • Client: I documented the TypeScript code using JSDoc style.
  • Client: I added multiple screenshots/screencasts of my UI changes
  • Client: I translated all the newly inserted strings into German and English

Motivation and Context

This PR creates a Tutor-Assessment-Dashboard for Exams. It offers the basic functionality for assessing exercises. The Tutor-Stats are still on course level and not adjusted to the exam yet!

Description

  • Created new server call to load a course with all exam exercises
  • Reused Course-Tutor-Dashboard to work for exam
  • Adjust client checks to get the course of an exercise through the exam

Steps for Testing

General

  1. Log in to Artemis
  2. Navigate to Course Administration
  3. Go to the exam management page
  4. Create an exam with an end date
  5. Create exercise groups & exercises
  6. Go to the exam-tutor-dashboard (on the exam management page)
    6.1 If the exam is not due, there should not be an exercise
    6.2 If the exam is due, there should be all exercises of all exercise groups, that are not assessed automatically

Assessing an exercise

Please create an exam with an exercise of each exercise type, submit a result and see that assessing works!

Screenshots

Exam Overview

image

Dashboard

image

@github-actions github-actions bot added client Pull requests that update TypeScript code. (Added Automatically!) server Pull requests that update Java code. (Added Automatically!) labels Jun 27, 2020
@JonasPetry JonasPetry marked this pull request as ready for review June 29, 2020 11:15
@JonasPetry JonasPetry requested review from jpbernius, krusche and a team as code owners June 29, 2020 11:15
@JonasPetry JonasPetry requested a review from madwau June 29, 2020 11:15
@tiffca
Copy link
Contributor

tiffca commented Jul 3, 2020

Tested this again (test server 1), with setting exercise due date = exam due date.

Text exercise - worked successfully. I was able to assess.
Programming/quiz exercise - does not seem to work, I was not able to view results or assess. I'm not sure what the expected behavior is here, because I understand some of the results are automatically graded.

Text exercise (worked successfully):
image

Programming and quiz - not sure what expected functionality is
image

Exam due date: 16:05
image

Quiz due date: 16:05
image

Programming exercise due date: 16:05
image

2 students participated in the exam (test user 1, 2)

  • They don’t show in the tutor course dashboard at all
    image

There is not a way to view or assess
image

Didn’t test file upload b/c I read it’s not applicable for the upcoming exam.

Assessment button doesn’t work
image

Evaluate quizzes – only 1 quiz exercise was successfully evaluated. However I can’t view the results.
image

Likely unrelated to this pr, but there are errors faced when changing exercise due date after the exam is completed by students.

  • Trying to set programming exercise due date to previous throws an error around build plans, even if build plans aren’t selected.

  • Trying to set quiz due date to earlier after student has submitted an exam also throws an error.
    Failed to load resource: the server responded with a status of 400 ()
    main.beb998afbfa43d01b860.bundle.js:2 Saving Quiz Failed! Please try again later.
    anonymous) @ main.beb998a….bundle.js:2

@krusche
Copy link
Member

krusche commented Jul 3, 2020

Quizzes and programming exercises are graded automatically.
You should only see text, modeling, file upload and programming exercises where manual assessment is specified.
The view in Student Exam is not supposed to work yet

@kloessst
Copy link
Contributor

kloessst commented Jul 3, 2020

We couldn't find a solution for the failing test yet. It seems like Jackson is not able to deserialize the JSON returned by the GET request. The problem has something to do with bi-directional setup of the entities. Others have also reported this problem FasterXML/jackson-databind#1755. Using only one-sided @JsonIgnoreProperties didn't work as well.

@kloessst kloessst self-assigned this Jul 3, 2020
@krusche krusche changed the title [EXAM] Tutor exam dashboard for the assessment of exams Tutor exam dashboard for the assessment of exams Jul 4, 2020
@krusche
Copy link
Member

krusche commented Jul 4, 2020

I think I was able to fix the problem with the test.
I also added another test where a similar DB call is used.
If the tests pass, we can merge this PR

@krusche krusche merged commit cc44944 into develop Jul 4, 2020
@krusche krusche deleted the exam-mode/variants/tutor-dashboard branch July 4, 2020 23:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client Pull requests that update TypeScript code. (Added Automatically!) server Pull requests that update Java code. (Added Automatically!)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants