By: CS2103T T16-2 Since: September 2018 Licence: MIT

1. Introduction

SuperTA is a desktop app for Teaching Assistants and Professors of NUS School of Computing to manage their tutorials and students. It is optimized for those who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). Jump to Section 2, “Quick Start” section to get started. Enjoy!

2. Quick Start

  1. Ensure you have Java version 9 or later installed in your Computer.

  2. Download the latest superTA.jar here.

  3. Copy the file to the folder you want to use as the home folder for your SuperTA client.

  4. Double-click the file to start the app. The GUI should appear in a few seconds.

    Ui
  5. Type the command in the command box and press Enter to execute it.
    e.g. typing help and pressing Enter will open the help window.

  6. Some example commands you can try:

    • list : lists all students in the directory

    • add n/John Doe p/98765432 e/johnd@example.com id/A0123456Y : adds a student named John Doe to the student directory.

    • create-tutorial-group id/1a n/My First Tutorial Group: Creates a tutorial group named My First Tutorial Group with the ID 1a

    • delete 3 : shows the 3rd student in the current list that was deleted

    • exit : exits the app

  7. Refer to Section 3, “Features” for details of each command.

3. Features

Command Format

  • Words in UPPER_CASE are the parameters to be supplied by the user e.g. in add n/NAME, NAME is a parameter which can be used as add n/John Doe.

  • Items in square brackets are optional e.g n/NAME [t/TAG] can be used as n/John Doe t/friend or as n/John Doe.

  • Items with ​ after them can be used multiple times including zero times e.g. [t/TAG]…​ can be used as   (i.e. 0 times), t/friend, t/friend t/family etc.

  • Parameters can be in any order e.g. if the command specifies n/NAME p/PHONE_NUMBER, p/PHONE_NUMBER n/NAME is also acceptable.

3.2. Adding a student: add

Adds a student to the directory
Format: add n/NAME p/PHONE_NUMBER e/EMAIL id/STUDENT-ID [t/TAG]…​

A student can have any number of tags (including 0)

Examples:

  • add n/John Doe p/98765432 e/johnd@example.com id/A0123456Y

  • add n/Betsy Crowe t/friend e/betsycrowe@example.com p/1234567 id/A1234567T tag/needs-help

3.3. Listing all students : list

Shows a list of all students in the directory.
Format: list

3.4. Listing all tutorial groups: list-tutorial-groups

Shows a list of all the tutorial groups, and reflects it on the UI.

Ui

Format: list-tutorial-groups

3.5. Editing a student : edit

Edits an existing student in the directory.
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [id/STUDENT-ID] [t/TAG]…​

  • Edits the student at the specified INDEX. The index refers to the index number shown in the displayed student list. The index must be a positive integer 1, 2, 3, …​

  • At least one of the optional fields must be provided.

  • Existing values will be updated to the input values.

  • When editing tags, the existing tags of the student will be removed i.e adding of tags is not cumulative.

  • You can remove all the student’s tags by typing t/ without specifying any tags after it.

  • You cannot change a student’s student ID to another existing student’s one.

Examples:

  • edit 1 p/91234567 e/johndoe@example.com
    Edits the phone number and email address of the 1st student to be 91234567 and johndoe@example.com respectively.

  • edit 2 n/Betsy Crower t/
    Edits the name of the 2nd student to be Betsy Crower and clears all existing tags.

3.6. Locating students by keywords: find

Finds and lists all students in the SuperTA client whose information matched with the entered keywords.
Format: find [n/NAME] [p/PHONE] [e/EMAIL] [id/STUDENT-ID]

  • The search is case insensitive. e.g hans will match Hans

  • The order of the keywords does not matter. e.g. Hans Bo will match Bo Hans

  • Only full words or numbers will be matched e.g. Han will not match Hans, 9123 will not match 91234567

  • Students matching at least one keyword will be returned (i.e. OR search). e.g. find n/John p/91234567 will return John and anybody with phone number 91234567

  • If there are more than one exact same parameter in the command, only the latest parameter will be taken. E.g. find n/John n/Alice will only return search result of Alice, not John.

Examples:

  • find n/John
    Returns john and John Doe

  • find p/91234567
    Returns student with phone number 91234567

  • find e/Johndoe@hotmail.com
    Returns student with email Johndoe@hotmail.com

  • find n/John id/A0123456T
    Returns john and John Doe and student with student id A0123456T

  • find n/Alice n/Hans
    Returns Hans only

3.7. Deleting a student : delete

Deletes the specified student from the directory.
Format: delete INDEX

  • Deletes the student at the specified INDEX.

  • The index refers to the index number shown in the displayed student list.

  • The index must be a positive integer 1, 2, 3, …​

Examples:

  • list
    delete 2
    Deletes the 2nd student in the directory.

  • find Betsy
    delete 1
    Deletes the 1st student in the results of the find command.

3.8. Selecting a student : select

Selects the student identified by the index number used in the displayed student list.
Format: select INDEX

  • Selects the student and loads the Google search page the student at the specified INDEX.

  • The index refers to the index number shown in the displayed student list.

  • The index must be a positive integer 1, 2, 3, …​

Examples:

  • list
    select 2
    Selects the 2nd student in the list.

  • find Betsy
    select 1
    Selects the 1st student in the results of the find command.

3.9. Viewing a student’s information: view

Views a student’s information and any feedback that is left for him.
The UI should update to show a screen like this.

View

Format: view id/STUDENT-ID

Examples:

  • view id/A0166733Y
    Views the information of the student with the ID A0166733Y.

3.10. Creating a Tutorial Group: create-tutorial-group

Creates a tutorial group with specified name and ID.
Format: create-tutorial-group n/TUTORIAL-GROUP-NAME id/TUTORIAL-GROUP-ID

  • The ID will be used in future commands to reference to this tutorial group.

  • If there is already a tutorial group with the same identifier, the identifier will have a random suffix appended to it.

Examples:

  • create-tutorial-group n/CS1101S Studio 04A id/04a
    Creates a tutorial group named CS1101S Studio 04A with the identifier 04a.

  • create-tutorial-group n/CS2103T id/04b
    create-tutorial-group n/CS2103T id/04b
    Creates a tutorial group named CS2103T with the identifier 04b and a second tutorial group with the same name and identifier 04b-dusty123.

3.11. Updating a Tutorial Group: update-tutorial-group

Updates a tutorial group’s name.
Format: update-tutorial-group id/TUTORIAL-GROUP-ID n/TUTORIAL-GROUP-NAME

Examples:

  • update-tutorial-group id/04a n/CS2103T Tutorial Group 9
    Updates the tutorial group with the ID 04a to have an updated name of CS2103T Tutorial Group 9.

3.12. Deleting a Tutorial Group: delete-tutorial-group

Deletes an existing tutorial group.
Format: delete-tutorial-group id/TUTORIAL-GROUP-ID

Examples:

  • delete-tutorial-group id/04a
    Deletes a tutorial group with the ID 04a.

3.13. View Tutorial Group: view-tutorial-group

Views a tutorial group’s details.
The UI should show this screen:

ViewTutorialGroup

Format: view-tutorial-group id/TUTORIAL-GROUP-ID

Examples:

  • view-tutorial-group id/04a
    Displays the 04a tutorial group’s information .

3.14. Add to Tutorial Group: add-to-tutorial-group

Adds a student to a tutorial group.
Format: add-to-tutorial-group tg/TUTORIAL-GROUP-ID st/STUDENT-ID

  • This command only takes in 1 student at a time.

Examples:

  • add-to-tutorial-group tg/04a st/A1231231Y
    Adds the student with student ID A1231231Y to the tutorial group with an ID of 04a.

3.15. Remove from Tutorial Group: remove-from-tutorial-group

Removes a student from a tutorial group.
Format: remove-from-tutorial-group tg/TUTORIAL-GROUP-ID st/STUDENT-ID

Examples:

  • remove-from-tutorial-group tg/1 st/A1231231Y
    Removes the student with student ID A1231231Y from the tutorial group with an ID of 1.

3.16. Create Attendance: create-attendance

Creates an attendance listing for a specific tutorial group, identified by its ID.
Format: create-attendance tg/TUTORIAL-GROUP-ID n/SESSION-NAME

Examples:

  • create-attendance tg/1 n/W4 Tutorial
    Creates an attendance named W4 Tutorial for the tutorial group with an ID of 1.

3.17. Mark Attendance: mark-attendance

Marks attendance for students from a specific tutorial group and session name, identified by its ID and name.

Format: mark-attendance tg/TUTORIAL-GROUP-ID n/SESSION-NAME st/STUDENT-ID …​

  • Marking a student’s attendance a second time is invalid.

Examples:

  • mark-attendance tg/1 n/W4 Tutorial st/A1234567T st/A0123456Y
    Marks students with IDs A1234567T and A0123456Y as present in tutorial session named W4 Tutorial for the tutorial group with an ID of 1.

3.18. View Attendance Session: view-session

Views the session details for a particular attendance session in a tutorial group.
The UI should show this screen:

ViewSession

Format: view-session tg/TUTORIAL-GROUP-ID n/SESSION-NAME

Examples:

  • view-session tg/04a n/W1Tutorial
    Views the details of the session W1Tutorial belonging to the tutorial group 04a.

3.19. Creating an Assignment: create-assignment

Creates an assignment for a specific tutorial group.
Format: create-assignment tg/TUTORIAL-GROUP-ID n/ASSIGNMENT-TITLE m/MAXMARKS

  • The MAXMARKS argument takes in any valid floating point number.

  • In future commands, assignments are referenced to by its title.

Examples:

  • create-assignment tg/04a n/lab1 m/40
    Creates an assignment named lab1 for the tutorial group with an ID of 04a, with the maximum marks for this assignment as 40.

3.20. Update an Assignment: update-assignment

Updates an existing assignment’s details such as title and maximum marks.
Format: update-assignment tg/TUTORIAL-GROUP-ID as/OLD-ASSIGNMENT-TITLE [new_as/NEW-ASSIGNMENT-TITLE] [new_m/NEW-ASSIGNMENT-MAX-MARKS]

  • This command does not adjust the student grades in the assignment. Therefore, do note that it is possible for existing student grades to be higher than the updated maximum marks.

  • This command will not work if the updated assignment title has already existed in the assignment list.

Examples:

  • update-assignment tg/04a as/lab1 new_as/lab2
    Updates an assignment named lab1 to lab2 for the tutorial group with an ID of 04a.

  • update-assignment tg/04a as/lab1 new_m/50
    Updates lab1 assignment maximum marks from 40.0 to 50.0 marks for the tutorial group with an ID of 04a.

  • update-assignment tg/04a as/lab1 new_as/lab2 new_m/50
    Updates an assignment named lab1 and maximum marks of 40.0, to assignment named lab2 and maximum marks of 50.0 for the tutorial group with an ID of 04a.

3.21. Deleting an Assignment: delete-assignment

Deletes an existing assignment for a specific tutorial group.
Format: delete-assignment tg/TUTORIAL-GROUP-ID as/ASSIGNMENT-TITLE

Examples:

  • delete-assignment tg/04a as/lab1
    Deletes an assignment named 'lab1' from the tutorial group with an ID of '04a'.

3.22. Grade Assignment for Student: grade

Enters a grade for a student for a specific assignment in a tutorial group.
Format: grade tg/TUTORIAL-GROUP-ID as/ASSIGNMENT-TITLE st/STUDENT-ID m/MARKS

  • The marks given should be between 0 and the maximum marks of the assignment.

Examples:

  • grade tg/04a as/lab1 st/A0166733Y m/40
    Creates a grade with marks 40 for the student with an ID of A0166733Y in the tutorial group 04a for the assignment with title lab1.

3.23. View Assignment Details: view-assignment

Views an assignment details.
The UI should show this screen:

ViewAssignment

Format: view-assignment tg/TUTORIAL-GROUP-ID as/ASSIGNMENT-TITLE

Examples:

  • view-assignment tg/04a as/lab1
    Views the assignment details for the lab1 assignment in the 04a tutorial group.

3.24. Feedback to Student: feedback

Adds feedback to a student with a specified Student ID.
Format: feedback id/STUDENT-ID f/FEEDBACK

Examples:

  • feedback id/A1234566T f/Is generally attentive during class. However, needs to speak up more.
    Adds the given feedback Is generally attentive during class. However, needs to speak up more. to the student with Student ID A1234566T.

3.25. Listing entered commands : history

Lists all the commands that you have entered in reverse chronological order.
Format: history

Pressing the and arrows will display the previous and next input respectively in the command box.

3.26. Undoing previous command : undo

Restores the client to the state before the previous undoable command was executed.
Format: undo

Undoable commands: those commands that modify the client’s content.

Examples:

  • delete 1
    list
    undo (reverses the delete 1 command)

  • select 1
    list
    undo
    The undo command fails as there are no undoable commands executed previously.

  • delete 1
    clear
    undo (reverses the clear command)
    undo (reverses the delete 1 command)

3.27. Redoing the previously undone command : redo

Reverses the most recent undo command.
Format: redo

Examples:

  • delete 1
    undo (reverses the delete 1 command)
    redo (reapplies the delete 1 command)

  • delete 1
    redo
    The redo command fails as there are no undo commands executed previously.

  • delete 1
    clear
    undo (reverses the clear command)
    undo (reverses the delete 1 command)
    redo (reapplies the delete 1 command)
    redo (reapplies the clear command)

3.28. Clearing all entries : clear

Clears all data from the client. This includes all students, tutorial groups, assignments, etc.
Format: clear

3.29. Exiting the program : exit

Exits the program.
Format: exit

3.30. Filter by Tutorial Group: filter

Coming in 2.0

Filters students by a specific tutorial group ID.
Format: filter tg/TUTORIAL_GROUP_ID

Examples:

  • filter tg/1
    Shows a list of all the students in the tutorial group with an ID of 1.

3.31. Sort by assignment grade: sort

Coming in v2.0

Sorts students in order of their grade for a particular assignment. Format: sort tg/TUTORIAL-GROUP-ID as/ASSIGNMENT-TITLE

Examples:

  • sort tg/1 as/1 Displays a list of students in tutorial group 1 by their grade on assignment 1.

3.32. View detailed performance data of student: view-performance

Coming in v2.0

Displays detailed information about a student across all tutorial groups, including his performance over time.

3.33. Saving the data

The SuperTA clients' data are saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.

4. FAQ

Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous Address Book folder.

5. Command Summary

  • Help : help

  • Add add n/NAME p/PHONE_NUMBER e/EMAIL id/STUDENT-ID [t/TAG]…​
    e.g. add n/James Ho p/22224444 e/jamesho@example.com id/A0123456Y t/needs-help t/on-loa

  • List : list

  • List Tutorial Groups : list-tutorial-groups

  • Edit : edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [id/STUDENT-ID] [t/TAG]…​
    e.g. edit 2 n/James Lee e/jameslee@example.com

  • Find : find [n/NAME] [p/PHONE] [e/EMAIL] [id/STUDENT-ID]
    e.g. find n/John, find id/A0166733Y n/John

  • Delete : delete INDEX
    e.g. delete 3

  • Select : select INDEX
    e.g.select 2

  • View Feedback: view id/STUDENT-ID
    e.g. view id/A0166733Y

  • Create Tutorial Group: create-tutorial-group n/TUTORIAL-GROUP-NAME id/TUTORIAL-GROUP-ID
    e.g. create-tutorial-group n/CS1101S Studio 04A id/04a

  • Update Tutorial Group: update-tutorial-group id/TUTORIAL-GROUP-ID n/TUTORIAL-GROUP-NAME
    e.g. update-tutorial-group id/04a n/CS2103T Group 04A

  • Delete Tutorial Group: delete-tutorial-group id/TUTORIAL-GROUP-ID
    e.g. delete-tutorial-group id/04a

  • Add Student to Tutorial Group: add-to-tutorial-group tg/TUTORIAL-GROUP-ID st/STUDENT-ID
    e.g. add-to-tutorial-group tg/04a st/A0166733Y

  • Remove Student from Tutorial Group: remove-from-tutorial-group tg/TUTORIAL-GROUP-ID st/STUDENT-ID
    e.g. remove-from-tutorial-group tg/04a st/A0166733Y

  • Create Attendance: create-attendance tg/TUTORIAL-GROUP-ID n/SESSION-NAME
    e.g. create-attendance tg/1 n/W4 Tutorial

  • Mark Attendance: mark-attendance tg/TUTORIAL-GROUP-ID n/SESSION-NAME st/STUDENT-ID …​
    e.g. mark-attendance tg/1 n/W4 Tutorial st/A1234567T st/A0123456Y

  • View Attendance: view-session tg/TUTORIAL-GROUP-ID n/SESSION-NAME
    e.g. view-session tg/1 n/W4 Tutorial

  • Create Assignment: create-assignment tg/TUTORIAL-GROUP-ID n/ASSIGNMENT-TITLE m/MAXMARKS
    e.g. create-assignment tg/04a n/lab1 m/40

  • Update Assignment: update-assignment tg/TUTORIAL-GROUP-ID as/OLD-ASSIGNMENT-TITLE [new_as/NEW-ASSIGNMENT-TITLE] [new_m/NEW-ASSIGNMENT-MAX-MARKS]
    e.g. update-assignment tg/04a as/lab1 new_as/lab2

  • Delete Assignment: delete-assignment tg/TUTORIAL-GROUP-ID as/ASSIGNMENT-TITLE
    e.g. delete-assignment as/lab1 tg/04a

  • Grade Assignment: grade tg/TUTORIAL-GROUP-ID as/ASSIGNMENT-TITLE st/STUDENT-ID m/MARKS
    e.g. grade tg/04a as/lab1 st/A0166733Y m/30

  • View Assignment Details: view-assignment tg/TUTORIAL-GROUP-ID as/ASSIGNMENT-TITLE
    e.g. view-assignment tg/04a as/lab1

  • Feedback: feedback id/STUDENT-ID f/FEEDBACK
    e.g. feedback id/A0166733Y f/Likes to sleep in class

  • History : history

  • Undo : undo

  • Redo : redo

  • Clear : clear