TAHelper is a desktop app for managing contacts, optimized for use via a Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, TAHelper can get your students' contact management tasks done faster than traditional GUI apps.
TAHelper offers a whole array of convenience and help:
Welcome to the TAHelper User Guide! Our goal is to assist and provide you the luxury of information, knowledge and utmost confidence to make full use of TAHelper's features.
Ensuring the correct version of Java installed:
11 or above installed in your Computer.11.Download TAHelper from here
tahelper.jar.Set up your application environment
tahelper.jar to the folder you want to use as the home folder for your TAHelper.TAHelper to facilitate organisation and easy access.Using the Terminal to run the application
Launching TAHelper
Here are some commands to try out to get a feel of a TAHelper! type them in the Command box
/add_student name/Dohn Joe email/johndoe@gmail.com id/A0123456A: Adds a new student contact with the name, email and ID specified.
/delete_student id/A0123456A or /delete_student email/johndoe@gmail.com: Deletes the student that you have add with the previous command.
A0123456A or email johndoe@gmail.com will be deleted.For more Commands that will improve your experience, click here
Command Line. The output of their commands will be shown in the Output boxModules columnTutorials columnStudents column. For example, clicking on a module card will display all students in that module. Similarly, clicking on a tutorial class and selecting a team from the dropdown will display all students in that team.Help button at the top left hand corner of the GUI, which will navigate to the user guide.Commands on students:
/add_student name/Dohn Joe email/johndoe@gmail.com id/A0123456A: Adds a new student contact with all the details.
/delete_student id/A0259209B or /delete_student email/johndoe@gmail.com : Deletes a student contact with email johndoe@gmail.com or id A0259209B.
/search_student id/A0123456A or /search_student email/johndoe@gmail.com : Searches for a student with id A0123456A or email johndoe@gmail.com.
/edit_student index/1 name/John : Edits the first student's name to John
/list_students : View the list of all students available.
/sort_students by/id or by/name : Sorts the list of students in lexicographical order by id or name.
/allocate_team id/A1234567Z module/CS2101 tutorial/T01 team/team1 : Allocate a student to the specified team team1 in the tutorial class T01 of module CS2101.
/add_student_to_class id/A1234567Z module/CS2101 tutorial/T01 : Add the student with the student id A1234567Z to the tutorial class T01 of module CS2101.
/delete_student_from_class id/A1234567Z module/CS2101 tutorial/T01 : Deletes the student with the student id A1234567Z from the tutorial class T01 of module CS2101.
/delete_student_from_team id/A1234567Z module/CS2101 tutorial/T01 team/Team 1 : Deletes the student with the student id A1234567Z from the team Team 1 in tutorial class T01 of module CS2101.
Commands on modules:
/add_class module/CS2103T tutorial/T09 : Adds a new tutorial class T09 under the module CS2103T.
/delete_class module/CS2103T tutorial/T09 : Deletes the tutorial class T09 under the module CS2103T.
/delete_module module/CS2103T : Deletes the module CS2103T from the system.
/list_classes : List of all tutorial classes available.
/class_list_students module/CS2103T tutorial/T09 : List all the students in the tutorial class T09 under the module CS2103T.
/add_team module/CS2103T tutorial/T09 team/Team 1 : Adds a new team with team name Team 1 to tutorial class T09 under the module CS2103T.
/delete_team module/CS2103T tutorial/T09 team/Team 1 : Removes the team with team name Team 1 from tutorial class T09 under the module CS2103T.
/random_teams module/CS2103T tutorial/T09 teams/2 : Randomly allocates all students in the tutorial class T09 under the module CS2103T into 2 different teams in the tutorial class.
/view_teams name/Team 1 module/CS2103T tutorial/T09 or /view_teams index/1 module/CS2103T tutorial/T09 : View the information of the team with team name Team 1 or index 1 in tutorial class T09 under module CS2103T
Notes about the command format:
Here are the main components of the commands:
| Component | Example | Description |
|---|---|---|
| Command Word | /add, /search, /delete | The type of command to be executed by the system. |
| Prefix | name/, email/, id/ | The attributes of the quantity observed. |
| Parameters | NAME, EMAIL, STUDENT_ID | The value of the attribute that the user have to provide after the prefix. |
| Index | 1, 3 | The position of the student in the list it is referencing. Eg. Index 1 of tutorial class T01 refers to the 1st student in the T01 class list. |
Here are symbols used in the commands:
| Symbol | Example | Description |
|---|---|---|
[ ] | [email/EMAIL] | The parameter email is optional and specifying it may not yield additional results |
| NONE | id/STUDENTID | The parameter id needs to be specified. It is compulsory. |
Parameters:
| Field | Prefix | Description/Constraints |
|---|---|---|
| NAME | name/ | Alphanumeric characters |
| email/ | best to follow the format example@mail.com | |
| STUDENT_ID | id/ | Follows the format of NUS Student ID that starts with A. Format must be A, followed 7 numeric digits, and end off with a alphabetical letter. |
| MODULE | module/ | Follows the format of NUS CS modules, which starts with either 2 or 3 alphabetical letters, followed by 4 numeric integer between 0-9, and an optional alphabetical letters. Note: Module codes are case sensitive (must be in all capitals), so CS2103T is valid but cs2103t is not |
| TUTORIAL | tutorial/ | Follows the format of most NUS tutorial class naming, which starts with 1 alphabetical letter and 2 numeric integers from 0-9. Note: Tutorial class names are case sensitive (must be a capital letter), so T09 is valid but t09 is not.As of now, tutorial class names with other formats are not accepted. (such as TO43) |
| TEAM_NAME | team/ | Alphanumeric characters. As of now, the team related error messages may sometimes add Team before the team name, which might lead to confusion. To clarify this, for all purposes, the team name is stored as the exact name you give, and the word Team is not appended to it. (e.g. team/1 is stored as team name 1 and not team name Team 1). The actual name of the team is shown in the UI within the tutorial class it was added under. |
| TAG | tag/ | Tag associated with the student. Alphanumeric characters |
| SIZE | size/ | The size of the team or class. A numeric integer value that is more than 0. |
| DESCRIPTION | description/ | The description of the module. |
| BY | by/ | The parameter you want to search by. Alphanumeric characters |
| INDEX | index/ | The index of the associated student. A numeric integer value that is more than 0. |
Here are symbols used in the commands:
Words in UPPER_CASE are the parameters to be supplied by the user.
e.g. in add name/NAME, NAME is a parameter which can be used as add name/John Doe.
Items in square brackets are optional.
e.g /add_class module/MODULE tutorial/TUTORIAL [description/DESC] [size/SIZE] can be used as /add_class module/CS2103T tutorial/T09.
Parameters must follow the order specified in the user guide.
e.g. if the command specifies `name/NAME id/ID', it has to be in this format.
Extraneous parameters for commands that do not take in parameters (such as list_student) will be ignored.
e.g. if the command specifies list_student 123, it will be interpreted as list_student.
If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines as space characters surrounding line-breaks may be omitted when copied over to the application.
add_studentAdds a new student contact with all the details that have been specified by the user.
Format: /add_student name/NAME email/EMAIL id/STUDENT_ID [tag/TAG]
The following parameters to add a student contact are supported:
All fields must be specified
Leading/trailing spaces are removed
The parameter is case-insensitive
If none of the parameters or an invalid parameter is specified, the command will return an error message indicating that a valid parameter must be provided.
Expected output: Upon a successful add, the command will return a confirmation messaging stating that the specified student contact has been added.
Example:
/add_student name/Dohn Joe email/johndoe@gmail.com id/A0123456AExplanation: This adds a student with name Dohn Joe, email johndoe@gmail.com and ID A0123456A into the TAHelper system.
delete_studentDelete a student contact based on the parameter specified by the user.
Format:
/delete_student id/STUDENT_ID/delete_student email/EMAIL/delete_student index/INDEXExpected output: Upon successful deletion, the command will return a confirmation messaging stating that the specified student contact has been removed.
Examples:
/delete_student id/A01234567X/delete_student email/e0123456@u.nus.edu/delete_student index/1search_studentSearch for a student's contact based on specified query.
Format: /search_student [id/STUDENT_ID] [email/EMAIL] [name/NAME]
ian will match Ianid/ will only search for IDs@gmail will return ALL emails containing @gmailExpected output: The command will display the list of all students that match the corresponding prefix. If there are no existing students, the command will return a message indicating that there are no students listed.
Examples:
/search_student id/A012345A Returns student with corresponding id/search_student email/@GMAIL Returns all students who have @gmail in their emailedit_studentEdit a student contact by index number in the displayed student list.
Format: /edit_student index/INDEX [id/STUDENT_ID] [email/EMAIL] [name/NAME]
/edit_student command has to be executed again on the different student
lists in modules, tutorial classes or teams.Expected output: Upon successful editing, the command will return a confirmation message stating that the student contact has been edited along with the edited student contact.
Examples:
/edit_student index/1 name/Aaron will edit the student's name at index 1/edit_student index/5 id/A1234567B email/new_email@gmail.com will edit the student's id and email at index 5list_studentsView the list of all students available
Format: /list_students
Expected output: The command will display the list of all students along with their student information. If there are no matching students, a message will display indicating no students listed.
sort_studentsSorts the list of students by specified parameter
Format: /sort_students by/BY
name, id, emailExpected output: The command will display the list of all students, sorted by the specified parameter, in lexicographical order.
Examples:
/sort_students by/name/sort_students by/emailadd_classAdds a tutorial class with the specified module code and name.
Format: /add_class module/MODULE tutorial/TUTORIAL [description/DESC] [size/SIZE]
Note:
MODULE_CODE and add the specified tutorial class under it.
As such, there is no add_module command, as this command doubles up to do that too.Examples:
/add_class module/CS2103T tutorial/T10 CS2103T already exists in the system, adds a tutorial class T10 to the existing module.
Else, creates a new module CS2103T with 1 tutorial class under it: T10/add_class module/CS2109S tutorial/T01 description/Introduction to AI size/10 CS2109S already exists in the system, adds a tutorial class T01 to the existing module.
Else, creates a new module CS2109S with 1 tutorial class with description Introduction to AI and class size of 10 under it: T01delete_classDeletes a specified tutorial class from the list of classes.
Format: /delete_class module/MODULE tutorial/TUTORIAL
Note:
delete_moduleExamples:
/delete_class module/CS2103T tutorial/T10
Explanation: Deletes tutorial class T10 from the module CS2103T/delete_class module/CS2109S tutorial/T01
Explanation: Deletes tutorial class T01 from the module CS2109Sdelete_moduleDeletes a specified module from the system.
Format: /delete_module module/MODULE
Examples:
/delete_module module/CS2103T CS2103T from the system/delete_module module/CS2109S CS2109S from the systemlist_classesShows a list of all tutorial classes in the address book.
Format: list_classes
Expected output: The command will display the list of all tutorial classes. If there are no existing classes, the command will return a message indicating that there are no classes currently.
add_student_to_classAdds a specified student based on the provided parameter to a specified tutorial class. Format:
/add_student_to_class id/STUDENT_ID module/MODULE tutorial/TUTORIAL/add_student_to_class email/EMAIL module/MODULE tutorial/TUTORIAL/add_student_to_class index/INDEX module/MODULE tutorial/TUTORIALExpected output: Upon successful allocation of student to the tutorial class, the command will return a confirmation messaging stating that the specified student has been added to the class.
Examples:
/add_student_to_class id/A01234567X module/CS2103T tutorial/T10/add_student_to_class email/test@gmail.com module/CS2103T tutorial/T10/add_student_to_class index/1 module/CS2103T tutorial/T10delete_student_from_classDeletes the specified student from a specified team.
Format:
/delete_student_from_class id/STUDENT_ID module/MODULE tutorial/TUTORIAL/delete_student_from_class email/EMAIL module/MODULE tutorial/TUTORIAL/delete_student_from_class index/INDEX module/MODULE tutorial/TUTORIALImportant Note:
Expected output: Upon successful allocation of student to the tutorial class, the command will return a confirmation messaging stating that the specified student has been deleted from the class.
Example: /delete_student_from_class id/A0123456A module/CS2103T tutorial/T09
Explanation: This deletes the student with student id A0123456A from tutorial class T09 of module CS2103T
add_teamAdds a new team with the specified team name to the specified tutorial class.
Format: /add_team module/MODULE tutorial/TUTORIAL team/TEAM_NAME [size/TEAM_SIZE]
Expected output: Upon successful addition, the command will return a confirmation messaging stating that the new team has been created and allocated to the specified tutorial class.
Examples:
/add_team module/CS2103T tutorial/T10 team/Team 1/add_team module/CS2103T tutorial/T10 team/Team 1 size/3delete_teamDeletes a specified team from the specified module and tutorial.
Format: /delete_team module/MODULE tutorial/TUTORIAL team/TEAM_NAME
Expected output: Upon successful addition, the command will return a confirmation messaging stating that the specified team has been deleted.
Examples:
/delete_team module/CS2103T tutorial/T09 team/Team 1 Team 1 from the module CS2103T and tutorial T09allocate_teamAllocates a student to an existing tutorial team within a tutorial class.
Formats:
/allocate_team id/ID module/MODULE tutorial/TUTORIAL team/TEAM_NAME/allocate_team email/EMAIL module/MODULE tutorial/TUTORIAL team/TEAM_NAME/allocate_team index/INDEX module/MODULE tutorial/TUTORIAL team/TEAM_NAMEPre-conditions:
Important note:
/allocate_team id/ID email/EMAIL module/MODULE tutorial/TUTORIAL team/TEAM_NAME is not advised.Expected output: Upon a successful allocation, the command will return a confirmation message stating that the specified student contact has been allocated to the tutorial team.
Examples:
/allocate_team id/A1234567Z module/CS2101 tutorial/T01 team/team1Explanation: This allocates a student with ID matching A1234567Z in the tutorial class T01 to a tutorial team team1 of the tutorial class T01 under the module CS2101.
/allocate_team email/johndoe@gmail.com module/CS2101 tutorial/T01 team/team2Explanation: This allocates a student with email matching johndoe@gmail.com in the tutorial class T01 to a tutorial team team1 of the tutorial class T01 under the module CS2101.
/allocate_team index/1 module/CS2101 tutorial/T01 team/team1Explanation: This allocates a student with index position 1 in the tutorial class T01 to a tutorial team team1 of the tutorial class T01 under the module CS2101.
class_list_studentsView the list of all students available
Format: /class_list_students module/MODULE tutorial/TUTORIAL
Expected output: The command will display the list of all students along with their student information. If there are no existing students, the command will return a message indicating that there are no students in that tutorial class.
Example:
/class_list_students module/CS2103T tutorial/T09/class_list_students module/CS2101 tutorial/T01view_teamsView the information about a team in a tutorial class.
Format:
/view_teams name/TEAM_NAME module/MODULE tutorial/TUTORIAL/view_teams index/INDEX module/MODULE tutorial/TUTORIALExpected output: The command will display the team with its information. If there is no such existing team, the command will return a error.
Example:
/view_teams name/Team 1 module/CS2103T tutorial/T09/view_teams index/1 module/CS2103T tutorial/T09random_teamsRandomly allocates all students in a tutorial class into different teams in the tutorial class.
Format: /random_teams module/MODULE tutorial/TUTORIAL teams/NUMBER_OF_TEAMS
Important Note:
Expected output: Upon a successful randomisation, the command will return a confirmation message stating that the students in the specified tutorial class has been randomly distributed into different teams in the tutorial class.
Example:
/random_teams module/CS2101 tutorial/T01 teams/2Explanation: This randomly allocates all the students in the tutorial class T01 of module CS2101 into 2 teams.
delete_student_from_teamDeletes the specified student from a specified team.
Format:
/delete_student_from_team id/STUDENT_ID module/MODULE tutorial/TUTORIAL team/TEAM_NAME/delete_student_from_team email/EMAIL module/MODULE tutorial/TUTORIAL team/TEAM_NAME/delete_student_from_team index/INDEX module/MODULE tutorial/TUTORIAL team/TEAM_NAMEImportant Note:
Team before the team name, which might lead to confusion. To clarify this, for all purposes, the team name is stored as the exact name you give, and the word Team is not appended to it. As such, if you created the team with team name 1, you need to use delete_student_from_team with team name 1 and not Team 1.Expected output: Upon a successful randomisation, the command will return a confirmation message stating that the students in the specified student has been deleted from the team.
Example: /delete_student_from_team id/A0123456A module/CS2103T tutorial/T09 team/4
must be in the team before command execution.
Explanation: This deletes the student with student id A0123456A from team 4 of tutorial class T09 of module CS2103T
clearClears all entries from the TAHelper application.
Format: clear
Exit the program.
Format: /exit
Q: How can I check the Java version on my computer?
A: Open your command terminal (refer to quick start point 4) if you forgot, and type the following command:
java -version
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 TAHelper home folder. This file will be found in the data folder which you store the tahelper.jar at.
Q: Will my data be saved when using your app?
A: Your data will always be saved in the data folder where you store the tahelper.jar. However, be sure to only make changes to the data through tahelper itself and do not directly alter the data from the data file.
preferences.json file created by the application before running the application again.| Term | Definition and/or Explanation |
|---|---|
| OS | Refers to Operating System. Modern Operating System include Windows, Macs and Linux. |
| TA (Teaching Assistant) | An individual who is responsible for teaching a tutorial class of University students. |
| TAHelper | A contact management application to help TAs keep track of students in classes they teach. |
| Graphical User Interface (GUI) | is a type of interface that allows users to interact with electronic devices through graphical icons and visual indicators, as opposed to text-based interfaces, typed command labels, or text navigation. |
| Command Line Interface (CLI) | is a text-based user interface used to interact with software, through the use of key words command such as 'cd'. |
| Lexicographical Order | is the ordering of strings based on the unicode value of each character in the string. |
| CS | Refers to Computer Science. |
| NUS | Refers to National University Of Singapore, which is located at Central Singapore. |
| Command | Refers to an action or input that the user types in tahelper to run a task for the user. |
| Parameter | Refers to a placeholder text that the user has to provide in order for tahelper to recognise the information they want when executing a command. |
| Action | Format, Examples |
|---|---|
| Add New Students | /add_student name/NAME email/EMAIL id/STUDENT_ID e.g: /add_student name/Dohn Joe email/johndoe@gmail.com id/A0123456A |
| Delete students | By ID: /delete_student id/STUDENT_IDBy email: /delete_student email/EMAILBy index: /delete_student index/INDEXe.g: /delete_student id/A0259209B |
| Search for students | By ID: /search_student id/STUDENT_IDBy email: /search_student email/EMAILBy name: /search_student name/NAMEe.g: /search_student id/A0123456A |
| Edit student contact | /edit_student index/INDEX [id/STUDENT_ID] [email/EMAIL] [name/NAME]e.g: /edit_student index/1 name/John |
| Sort students | /sort_students by/BYSupported parameters: id, name, email e.g: /sort_students by/id |
| View all students | /list_students |
| Add new tutorial class | /add_class module/MODULE tutorial/TUTORIAL [description/DESC] [size/SIZE] e.g: /add_class module/CS2109S tutorial/T01 description/Introduction to AI size/10 |
| Delete tutorial class | /delete_class module/MODULE tutorial/TUTORIAL e.g: /delete_class module/CS2103T tutorial/T09 |
| View all classes | /list_classes |
| Add New Student to tutorial class | By ID: /add_student_to_class id/STUDENT_ID module/MODULE tutorial/TUTORIALBy Index: /add_student_to_class index/INDEX module/MODULE tutorial/TUTORIALBy email: /add_student_to_class email/EMAIL module/MODULE tutorial/TUTORIAL e.g: /add_student_to_class index/1 module/CS2103T tutorial/T09 |
| Delete students from tutorial class | By ID: /delete_student_from_class id/STUDENT_ID module/MODULE tutorial/TUTORIALBy index: /delete_student_from_class index/INDEX module/MODULE tutorial/TUTORIALBy email: /delete_student_from_class email/EMAIL module/MODULE tutorial/TUTORIALe.g: /delete_student_from_class id/A1234561Z module/CS2103T tutorial/T09 |
| List students of a tutorial class | /class_list_students module/MODULE tutorial/TUTORIAL e.g: /class_list_students module/CS2103T tutorial/T09 |
| Delete module | /delete_module module/MODULE e.g: /delete_module module/CS2103T |
| Add new team | /add_team module/MODULE tutorial/TUTORIAL team/TEAM_NAME [size/TEAM_SIZE] e.g: /add_team module/CS2103T tutorial/T09 team/Team 1 size/5 |
| Delete team | /delete_team module/MODULE tutorial/TUTORIAL team/TEAM_NAME e.g: /delete_team module/CS2103 tutorial/T09 team/Team 4 |
| View team | By name: /view_teams name/TEAM_NAME module/MODULE tutorial/TUTORIAL By index: /view_teams index/INDEX module/MODULE tutorial/TUTORIALe.g: /view_teams name/Team 1 module/CS2103T tutorial/T09 |
| Randomly allocate team | /random_teams module/MODULE tutorial/TUTORIAL teams/NUMBER_OF_TEAMS e.g: /random_teams module/CS2103 tutorial/T09 teams/4 |
| Allocate students to team | /allocate_team id/ID module/MODULE tutorial/TUTORIAL team/TEAM_NAME e.g: /allocate_team id/A1234567K module/CS2103 tutorial/T09 team/Team 4 |
| Delete students from team | By ID: /delete_student_from_team id/STUDENT_ID module/MODULE tutorial/TUTORIAL team/TEAM_NAME By email: /delete_student_from_team email/EMAIL module/MODULE tutorial/TUTORIAL team/TEAM_NAME By index: /delete_student_from_team index/INDEX module/MODULE tutorial/TUTORIAL team/TEAM_NAME e.g: /delete_student_from_team id/A1234567K module/CS2103 tutorial/T09 team/Team 4 |
| Clear entries | clear |
| Exit program | /exit |