EdRecord

Overview

EdRecord is a desktop app for managing student contacts, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you are a TA that can type fast, EdRecord can get your student contact management tasks done faster than traditional GUI apps.


Contributions

New features implemented

  • Add ability to grade student’s assignments #119
    • What it does: allows the TA to grade a student’s assignment. The TA can mark a student’s assignment as not submitted, submitted or graded, and can optionally provide a score to be saved.
    • Justification: This feature improves the product because a key part of a TA’s job is grading student’s assignments and keeping track of their progress. Saving a student’s grades in EdRecord lets TAs keep track of student’s progress and performance at a glance.
    • Highlights: This enhancement affects many existing components in the model, as the assignment to be graded had to be retrieved from the module and saved to the individual students. A HashMap was used to implement the association between an Assignment and a Grade.

Enhancements implemented

  • Implement parser for MakeAssignmentCommand #83
    • This allows the user’s command for adding an assignment to be parsed into a valid assignment name, assignment weightage and maxmium attainable score, which would then be passed on to the model to add the assignment into the model.
  • Implemented assignment ID #210
    • This allows assignments in a module to be referenced by a unique numerical ID, which reduces the hassle of typing the entire assignment name into commands such as edasg and dlasg.
    • Update edasg, dlasg, grade and dlgrade to accept assignment ID as input.
  • Test cases for grades #219
    • Implmented testing for grade and deleting grade commands, and for saving grades to the JSON file.

Code contributed

Documentation

  • User Guide
    • Updated user guide to include instructions for grade and dlgrade commands.
    • Provided additional detail for assignment commands (mkasg, edasg and dlasg commands).
  • Developer Guide
    • Documented implementation for grading feature.
    • Updated UML diagrams to accurately reflect classes used to implement grades.

Community

  • Reported bugs and suggestions for other teams in the class (examples: #171, #137, #149)
  • Review and give comments for teammates’ PRs (examples: #78, #94, #136)