CSC/ECE 517 Spring 2024 - E2438 Improve assessment360 controller

From Expertiza_Wiki
Revision as of 19:00, 8 April 2024 by Sspatil6 (talk | contribs)
Jump to navigation Jump to search

Problem Statement

The objective of this project is to enhance the user interface and functionality of the assessment360_controller.rb in the application. This controller is responsible for displaying course-level data, including review averages, project details for each student, and their corresponding grades. The current implementation suffers from several issues such as repetitive elements, cryptic variable names, inaccurate grade calculations, and lack of flexibility in displaying different types of review scores.

Team

Mentor

Ameya Vaichalkar, (unityID:agvaicha, GitHub:ameyagv)

Team Members

Daksh Mehta (unityID:dmehta4, GitHub:dakshmehta23)
Soham Patil (unityID:sspatil6, GitHub:ThErOCk07)
Unnati Bukhariya (unityID:ubukhar2, GitHub:unnzzz)

Issues

The main goals of this project are as follows:

  • Issue #1: Refactor the all_students_all_reviews method to accept parameters specifying the type(s) of review scores to be displayed, and suppress columns for scores not selected.
  • Issue #2: Rename the @teamed_count variable to a more descriptive name or remove it if not used.
  • Issue #3: Ensure accuracy in grade calculations by including only the assignments that were attempted by the student in average grade calculation.
  • Issue #4: Enhance the course_student_grade_summary method to include average peer-review scores and instructor-assigned scores.
  • Issue #5: Columns for various types of review scores should be displayed based on user selection.
  • Issue #6: Utilize the Bullet gem to minimize database accesses and optimize performance.
  • Issue #7: Identify and address edge cases from the UI perspective to ensure consistent and clean behavior across different scenarios.
  • Issue #8: Implement separate columns for student name and student ID to improve readability in the UI.


The assessment360 controller is responsible for the following two views -

1) all_students_all_reviews.html.erb - This view displays a table of students, their teammate count, and their performance on various assignments. For each assignment, it shows the metareview and teammate review scores. At the end of each row, it displays the aggregate score for metareviews and teammate reviews for each student. The last row of the table provides the class average for each assignment and the overall class average for metareviews and teammate reviews.

Problems -
1) The column is displayed even though all the rows are blank.
2) The empty blanks can also lead to confusion and thus must be replaced.
3) Allow user to choose the columns they wish to be displayed.
4) Separate columns for student name and student ID


2) course_student_grade_summary.html.erb - This view displays a sortable table of students, their assignments, and their grades. For each assignment, it shows the topic, the peer review score, and the instructor's grade. At the end of each row, it displays the total instructor grade for each student. The table can be sorted by student name or total instructor grade.

Problems -
1) A new column for average peer review score needs to be added.
2) Allow user to choose the columns they wish to be displayed.
2) Separate columns for student name and student ID

Test Plan

The following test plan has been identified to ensure that the our changes don't break the existing system and the new code being introduced is thoroughly tested.

Manual Testing

The following tests have been identified to ensure that the changes made work as anticipated:

1. Open any course

2. Go to the all_students_all_reviews page

3. Verify that only those columns are visible with at least one data point.

4. Verify empty data is shown as '--'

5. Use checkboxes at the top of the screen and ensure columns are hidden or visible based on the selected checkboxes

6. Go to course_student_grade_summary

7. Verify that unattempted scores show up as '--'

8. Verify that average peer score column is visible and has correct values.

7. Verify that unattempted scores aren't counted toward average.

8. Use checkboxes at the top of the screen and ensure columns are hidden or visible based on the selected checkboxes