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_student
Adds 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/A0123456A
Explanation: This adds a student with name Dohn Joe
, email johndoe@gmail.com
and ID A0123456A
into the TAHelper system.
delete_student
Delete a student contact based on the parameter specified by the user.
Format:
/delete_student id/STUDENT_ID
/delete_student email/EMAIL
/delete_student index/INDEX
Expected 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/1
search_student
Search for a student's contact based on specified query.
Format: /search_student [id/STUDENT_ID] [email/EMAIL] [name/NAME]
ian
will match Ian
id/
will only search for IDs@gmail
will return ALL emails containing @gmail
Expected 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_student
Edit 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_students
View 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_students
Sorts the list of students by specified parameter
Format: /sort_students by/BY
name
, id
, email
Expected 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/email
add_class
Adds 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: T01
delete_class
Deletes a specified tutorial class from the list of classes.
Format: /delete_class module/MODULE tutorial/TUTORIAL
Note:
delete_module
Examples:
/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 CS2109S
delete_module
Deletes 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_classes
Shows 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_class
Adds 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/TUTORIAL
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 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/T10
delete_student_from_class
Deletes 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/TUTORIAL
Important 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_team
Adds 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/3
delete_team
Deletes 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 T09
allocate_team
Allocates 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_NAME
Pre-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/team1
Explanation: 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/team2
Explanation: 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/team1
Explanation: 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_students
View 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/T01
view_teams
View 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/TUTORIAL
Expected 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/T09
random_teams
Randomly 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/2
Explanation: This randomly allocates all the students in the tutorial class T01
of module CS2101
into 2 teams.
delete_student_from_team
Deletes 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_NAME
Important 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
clear
Clears 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_ID By email: /delete_student email/EMAIL By index: /delete_student index/INDEX e.g: /delete_student id/A0259209B |
Search for students | By ID: /search_student id/STUDENT_ID By email: /search_student email/EMAIL By name: /search_student name/NAME e.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/BY Supported 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/TUTORIAL By Index: /add_student_to_class index/INDEX module/MODULE tutorial/TUTORIAL By 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/TUTORIAL By index: /delete_student_from_class index/INDEX module/MODULE tutorial/TUTORIAL By email: /delete_student_from_class email/EMAIL module/MODULE tutorial/TUTORIAL e.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/TUTORIAL e.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 |