Project: TA2

TA2 is a desktop application developed for Teaching Assistants (TA) from the School of Computing (SoC) at the National University of Singapore (NUS) to help them manage student information and keep track of students’ assignment submissions. TA2 primarily uses a Command Line Interface (CLI) for user interaction. This allows SoC TAs to fully utilise TA2 as they are able to type fast.

Given below are my contributions to the project.

  • New Feature: Added the ability to add assignment to many students at once
    • What it does: This feature allows users to add a specific assignment to all students under the same module.
    • Justification: This feature provides convenience for users who want to add an assignment to many students at once. Since students under the same module will likely to have the same assignments, this feature allows users to save time by adding the assignment to all students under the same module for them. With this feature, users do not have to add the same assignment to students individually.
    • Highlights: This feature takes into account some scenarios which may result in inconsistencies in the same assignment for different students. It considers any inconsistencies in due dates of the same assignment and the letter cases of the description of the assignment.
    • Credits: This feature is implemented as AddAssignmentToAllCommand and follows the structure of other classes which extends the Command class.
  • New Feature: Added the ability to clear all completed assignments
    • What it does: This feature allows users to remove completed assignments for all students.
    • Justification: This feature provides better management of assignments for users by reducing the clutter of assignments and removing assignments that users no longer need to view.
    • Highlights: This feature was challenging to implement as simply removing completed assignments for all persons may result in the displayed assignment list to change to that of another student’s. It has to be ensured that the current displayed assignment list does not change to reduce confusion for the user.
    • Credits: This feature is implemented as CleanAssignmentCommand and follows the structure of other classes which extends the Command class.
  • Code contributed: RepoSense link

  • Contribution to team-based tasks:
    • Documenting value proposition and target user profile in Developer Guide
    • Updating content of the homepage of project website
    • Fixing format issues of Developer Guide page in project website
  • Enhancements to existing features:
    • Modified the storage component to be able to read, write and save assignments as Jackson format. (Pull request #70)
  • Documentation:
    • User Guide:
      • Added documentation for the features giveall and clean (Pull requests #130, #106)
    • Developer Guide:
      • Added implementation details of the giveall and clean feature. (Pull request #254)
      • Added manual testing details on giveall and clean commands. (Pull request #254)
      • Added manual testing details on saving data to data file. (Pull request #254)