CSC/ECE 517 Fall 2025 - E2563. Review tableau

From Expertiza_Wiki
Jump to navigation Jump to search

This page contains information about E2563.Review calibration, which was a project in CSC517 Fall 2025.

Please see below for a description of the design of the project.

Background

Expertiza is an open-source application based on the Ruby on Rails framework. Instructors can create and manage assignments, and students can form teams for each one, as well as peer review other teams’ work. The frontend is written in TypeScript, and the backend is written in Ruby. The current codebase can be found here (FRONTEND, BACKEND), as well as in the external info section below. This work is part of an ongoing reimplementation effort of the following old Expertiza repository.

Problem Statement

Instructors need to be able to view the responses made by a student during rounds of peer review in order to accurately assign a grade for that review. To streamline this process, our goal is to design and implement a dedicated page that allows instructors to view all grading reviews submitted by a given student. This page, named the review tableau page, should organize and present the reviews in a clear, structured, and accessible manner. Specifically, the page must display all student grading reviews, grouped by assignment, round, and topic, with each group being rendered as a separate table.

Requirements

Core Requirements

  • A user with the Instructor role can view the review tableau(s) for a given student from a dedicated page (the ‘tableau page’) of the Expertiza site.
  • The tableau page can be accessed by clicking a “Summary” link under the “Reviews Done” column when viewing students in the instructor’s dashboard.
  • The tableau page has the following contents:
    • A header, displaying the text “Review by Student, “ followed by the student’s ID.
    • Individual tables (‘tableaus’), each corresponding to a round of reviewing from a specific assignment, as well as the rubric used during the review.
      • Tableaus are displayed in a single column on the tableau page.
      • Tableaus are sorted first by assignment, then round in which the review was made, then finally by topic reviewed for. This ensures that topics made chronologically close together are displayed sequentially.
  • An individual tableau has the following contents:
    • A label for the course number, semester, and year in which the review was made.
    • A label for the assignment for which the review was made.
    • A label for the round number for which the review was made.
    • The primary table, which contains:
      • A highlighted column, populated with questions asked on the rubric.
      • An arbitrary number of additional columns, each corresponding to a review for that assignment and round that uses the rubric. Each of these is labelled after the team being reviewed and annotated with the date/time the review was submitted.
        • Each row of these columns is populated with the student’s responses for the corresponding review and question.
    • Note that a single tableau records the results of all reviews made using the same rubric for a particular round. If a student provided reviews for topics (frontend, backend, full stack) with varying rubrics, then a tableau will be created for each type of rubric filled out.
  • Creating a backend API that can retrieve the student’s grading reviews and sort them per each assignment, round, and topic. (Functional and local development)

Design Requirements

Implementation

To be determined!

Results

To be determined!

Test Plan

Manual Testing

  1. Login to Expertiza with an admin or instructor account
  2. There should be a “Reviews Done” button on the dashboard. Click on “Reviews Done” button
  3. A table contains all students who should show up. Click on the “summary” link for one mock student to get to the Review Tableau page
  4. Confirm table displays correctly with the assignment name, student name, review rounds -> review tables following each rubric

Automated Testing

  • Unit test cases for correct headers, nested tables, and correct layout.

Team Members

Adam Imbert (apimbert) ‎
Bestin Lalu (blalu) ‎
Yumo Shen (jshen23)