CSC/ECE 517 Spring 2020 - E2003. Refactor and improve assessment360 controller

From Expertiza_Wiki
Revision as of 18:54, 22 March 2020 by Rananth2 (talk | contribs) (Created page with "==About Expertiza== [http://expertiza.ncsu.edu/ Expertiza] is an open-source project based on [http://rubyonrails.org/ Ruby on Rails] framework. The software allows the instru...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

About Expertiza

Expertiza is an open-source project based on Ruby on Rails framework. The software allows the instructor and students with the following privileges,

Instructors

  • Create new assignments
  • Customize new or existing assignments
  • Create a list of topics that students can sign up for
  • Give grades/reviews for the students' submissions

Students

  • Form teams with other students to work on various projects and assignments
  • Peer review other students' submissions

Note: Expertiza supports submissions across various document types, including URL and wiki pages

Project Description

About assessment_360 Controller

The assessment_360 controller is designed to gather data from all stakeholders about the performance of a student in a course. Thus, its purpose is to provide course-level statistics. At present, the controller provides only two top-level functions where each of them gives a list of students in the class.

  • all_students_all_reviews contains teammate and meta-review scores received by students for all assignments in the course
  • course_student_grade_summary gives a listing of students and what topic they worked on and what grade they received on each assignment during the semester

Problem Statement

The assessment360 controller had three major issues. This project is aimed to address some of them, including:

Issue 1: Methods all_students_all_reviews and course_student_grade_summary were too long. Common initialization and looping had to factored out by moving them into smaller methods with mnemonic names

Issue 2: Method populate_hash_for_all_students_all_reviews is not easy to understand. It uses a special data structure to do a very simple task. That had to be refactored

Issue 3: Method course_student_grade_summary () stopped working and has to be fixed

Motivation

This project aims at encouraging students to collaborate and contribute to open-source project in turn helping them understand what goes on in a full-fledged software deployment process. It also paves a way to understand how one can use Rails, RSpec to develop a system that does justice to the DRY code practicing principles.

Current Implementation

Team Information

Ramya Ananth

Sri Harsha Varma Uppalapati

Mentor: Dr. Edward Gehringer

References

1.Expertiza on GitHub

2.GitHub Project Repository Fork

3.Live Expertiza website