CSC/ECE 517 Fall 2018/E1860 Improvements to staggered deadline

From Expertiza_Wiki
Jump to navigation Jump to search

Introduction

Staggered Deadline Assignment is an assignment which can have different topics listed under it and each of these topics have their independent submission and review deadline. Topic's deadline can be the same as parent assignment or independent to it . Such assignments are useful when the class material is more sequential and instructor wants students to complete assignment as and when a topic gets covered in the class. For example it wouldn't make sense to write a paper on a topic from Chapter 4, until the class had covered Chapter 4.

Problem Statement

Staggered-deadline topic available for selection past its deadline

This issue occurs when a Topic is created with multiple slots. If the topic is not selected for the first round of topics(assignment) or all the slots did not get filled up, It is still available for selection in the subsequent rounds. If a team selects the topic in a later round, they are not able to submit their work as the submission deadline is already over. If the topic had only one slot which remained unselected, instructor can change the deadline for that topic to match the new deadlines, but for topics with multiple slots, if the deadline is extended, the teams who worked on this topic in the previous round can submit/review the topic again. This should not happen

Manual submission and review deadline entry required for all topics

When creating a topic an instructor is required to enter review and submission deadlines for all the topics. To reduce the manual we want to allow the instructor to apply one deadline entry to a set of topics and also let the system calculate subsequent dates for subsequent project phases like review and re-submission, based on an initial deadline entry. Instructor should also have the ability to edit each of those deadlines independently incase he wants to change a particular deadline of a topic.

New submissions not identifiable among pool of already graded entries

There is no way to identify new submissions or reviews are new since grading was last done. The Submissions and Reviews should appear in different color before and after they are graded. The color scheme should be compatible with the one used for review report. ie Red indicates incomplete Reviews, Blue indicates reviews that have not been graded and Brown for reviews that have grade assigned to them

Proposed Design

Issue 1

Solution :Prevent Students from Signing up for topics past deadline

Students can be prevented from signing up for a topic whose submission deadline has passed. Currently this is happening, but only in case of assignments/topics which do not have staggered deadlines.

sign_up_sheet_controller.rb

unless assignment.due_dates.find_by_deadline_type_id(1).nil?
   if !assignment.staggered_deadline? and assignment.due_dates.find_by_deadline_type_id(1).due_at < Time.now
   @show_actions = false

A Similar logic can be implemented for topic where we fetch the deadline for a topic by implementing a function and then determine whether to display that topic or not. The same function could also be modified to achieve the desired results.


MOCK UI

Issue 2

Add a new setting for Staggered Assignments

This can be achieved by adding a new setting to the staggered deadline assignments so that while creating the assignment an instructor can specify how much gap(days) is needed between the different rounds of submission and review.

Data will be stored in a new table and only staggered assignments will have this setting. Rationale behind not storing this data in the current Assignments is to avoid usage of space and prevent any error to the existing setup. Once we have this data, we can calculate all the deadlines for a topic once the instructor has entered the starting deadline. This will reduce a lot of manual work and this setting can be changed any time by the instructor/TA.

Add Dropdowns for Relative Dates

Changes will have to be made to the due_dates_table in the _due_dates.html.erb file. Changes have to be made to the datetime_picker_roundtype_roundnumber id. We could provide the user with a drop down menu listing a possible set of relative dates to chose from, in addition to the ability to manually enter a custom date. This could be done on the view side by modifying the date fields and adding the necessary JavaScript so that appropriate date responses are filled into the corresponding date fields when an option is chose from the dropdown menu.

Issue 3

Add Colors to the Graded Reviews

Below color coding will be used to indicate the current stage of the reviews :

Red - Incomplete Review

Blue - Grade Unassigned to the Review

Brown - Review Complete/ Grade Assigned

This will be achieved by passing the colors of the reviews to _review_report.html.erb.

Test Plan

Issue 1: # Don’t allow students to sign up for topics that has past due dates.

Pre-steps
1. Login as an instructor.
2. Edit any assignment under the General tab, mark it as staggered deadline assignment.
3. Provide deadlines for few topics in the past.
4. Impersonate a student.
5. In the Assignments section, Click on Sign-up sheet.
6. verify topics available for sign-up.
Data and Database Integrity Testing
None
Functional Testing
Expectations:
1. The modified topics should not be available for signup.
2. The unmodified topics with deadlines in future should be available for signup.
User Interface Testing
Expectation:
1. A green tick mark should be available under ‘Actions’ tab for topics with deadlines in the future.
2. Actions’ tab should be empty for topics with deadlines in the past.
Performance Testing
None

Issue 2: # Provide default deadline options for assignments with staggered deadlines.

Pre-steps
1. Login as an instructor.
2. Go to assignments and either create a new one or edit a pre-existing one.
3. Change assignment type to staggered deadline.
4. Type in a submission deadline for Round 1-Submission.
5. Verify that other due dates are auto populated.


Case 1: Instructor wants to assign default deadlines to a staggered assignment:
Steps
1. Click save.
Data and Database Integrity Testing
Expectations:
1. Verify all deadlines are updated in due_at field in due_dates tables for corresponding deadline types after saving the populated values.
Functional Testing
Expectations:
1. Deadlines auto-populated for other Round N should be in correspondence with default offset days between rounds.
2. The auto populated deadline should reflect in student assignment section.
User Interface Testing
Expectation:
1. The auto-population triggered on to corresponding fields by JavaScript should be correct.
2. The format of date auto populated should be as per current system.
Performance Testing
Expectation:
1. The response time to auto populate the dates to other rounds should be within 5 second latency.


Case 2: Instructor wants to enter a custom deadline only for a particular round:
Steps
1. Choose offset value from initial vale from dropdown option available against each deadline type.
Data and Database Integrity Testing
Expectations:
1. Verify all deadlines are updated in due_at field in due_dates tables for corresponding deadline types after saving the populated values.
Functional Testing
Expectations:
1. The auto populated deadline values are changed as per selected offset days from drop-down.
2. Same should reflect in student assignment section.
User Interface Testing
Expectation:
1. The triggered change on to corresponding fields by JavaScript should be correct..
2. The format of date auto populated should be as per current system.
Performance Testing
Expectation:
1. The response time to change the dates to other rounds should be within 5 second latency.
Case 3: Entering an incorrect date when manually entering a deadline for a particular round for a staggered deadline. When the user decides to enter a deadline manually rather than choosing the relative deadlines from the dropdown, care must be taken to ensure that the date is in the correct form:
Pre-steps
1. Impersonate a student.
2. Go to assignments and click on others work.
3. Request multiple reviews.
4. Submit one review.
5. Do not start another review and have another review incomplete.
6. Impersonate Instructor.
7. Go assignments page and view review report for this assignment for the impersonate student in step1.
8. verify the results.
User Interface Testing
Expectation:
1. Incomplete reviews are marked Red.
2. Ungraded reviews are marked Blue.
3. Graded reviews are marked Brown.