TAssist is a desktop app designed for CS2106 Teaching Assistants (TAs) to manage student records, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface(GUI). It provides:
CS2106 TAs can look forward to these attractive features that would assist their day-to-day tasks as a TA:
Ensure you have Java 17 or above installed in your Computer.
Mac users: Ensure you have the precise JDK version prescribed here.
Download the latest .jar file from here.
Copy the file to the folder you want to use as the home folder for TAssist.
Open a command terminal, cd into the folder you put the jar file in, and use the java -jar TAssist.jar command to run the application.
A GUI similar to the one below should appear in a few seconds. Note how the app contains some sample data.

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.
Note: For Windows users, copying text from a code block will result in the appending of an unknown symbol into your text. Do make sure that it is removed!
Some example commands you can try:
list : Lists all contacts.
add -n John Doe -p 98765432 -e johnd@example.com -m A0123456J -t T01 : Adds a contact named John Doe to TAssist.
edit -i 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.
tag -a -i 1 -tag lateStudent : Adds a tag to the 1st student with the label lateStudent
del -i 3 : Deletes the student at index 3.
att -i 3 -w 5 : Marks the student at index 3 as attended tutorial in week 5.
export -f ./data/test.csv Exports the current data as a CSV file into the path ./data/test.csv
clear : Deletes all students.
exit : Exits the app.
Tired of reading the user guide to understand how to use our app? Just type the command name (e.g. edit) into the command box to know more about how to use the command!
Student particulars that you would not require on a regular basis can be hidden! Simply type toggle and they will disappear! Alternatively click on view → Compact View!

To show more details about a particular contact, click on the contact itself!

Refer to the Features below for details of each command.
Notes about the command format:
Commands are case sensitive.
e.g. add is valid but not ADD, Add, etc.
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.
For items in parentheses, at least one of them must be supplied.
e.g (-p PHONE_NUMBER -tg TELEGRAM_HANDLE) means either -p PHONE_NUMBER or -tg TELEGRAM_HANDLE or both -p PHONE_NUMBER -tg TELEGRAM HANDLE are accepted.
(-i INDEX -t TUTORIAL_GROUP) will ONLY allow EITHER -i INDEX
OR -t TUTORIAL_GROUP as inputs, but NOT BOTH. Do take note of this particular exception.Items in square brackets are optional.
e.g -n NAME [-tag TAG] can be used as -n John Doe -tag friend or as -n John Doe.
Items with … after them can be used multiple times including zero times.
e.g. [-tag TAG]… can be used as (i.e. 0 times), -tag friend, -tag friend -tag 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.
Extraneous parameters for commands that do not take in parameters (such as help, list, exit and clear) will be ignored.
e.g. if the command specifies help 123, it will be interpreted as help.
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.
helpShows a message explaining how to access the help page.
Format: help
listShows a list of all students in TAssist.
Format: list
Tip: PHONE_NUMBER AND TELEGRAM_HANDLE can be copied to your clipboard! Just click on it!
toggleToggles the student record view to be more compact.
The following particulars of a student will be hidden if compact view is enabled where applicable: PHONE_NUMBER, TELEGRAM_HANDLE, EMAIL, YEAR and FACULTY.
addAdds a student to TAssist.
Format: add -n NAME (-p PHONE_NUMBER -tg TELEGRAM_HANDLE) -e EMAIL -m MATRICULATION_NUMBER (-t TUTORIAL_GROUP -b LAB_GROUP) [-f FACULTY] [-y YEAR_OF_STUDY] [-r REMARKS] [-tag TAG]…
Tip: You do not need to fill in the entire matriculation number, only 'A' followed by 7 digits!. The last character follows a checksum rule! See here for a matriculation number calculator.
Want to manually calculate the checksum?
YXWURNMLJHEADB.A0000000Y has a sum of 0 and thus ends with Y.A4000049Y has a sum of 13 and thus also ends with Y.A0000001X has a sum of 1 and thus ends with X.Tip: Only the matriculation number of a record makes them unique! This is to allow students who have to share contacts temporarily do so where appropriate.
Tip: A student can have any number of tags (including 0). Tags must be a single word consisting of alphanumeric characters only. Tags also have a limit of 60 characters.
Note:
TUTORIAL_GROUP is provided as an input when adding a student, then the student is assigned
the Default Attendance List (with No Tutorial for Weeks 1 and 2, and Not Attended for Weeks 3 to 13).TUTORIAL_GROUP is provided as input when adding a student, then the student is assigned
a Blank Attendance List.Examples:
add -n John -p 81234567 -tg @jornn -e e1234567@u.nus.edu -m A1234567X -t T02 -b B03 -f Computing -y 5 -r Likes to singadd -n Doe -tg @doe_a_deer -e e7654321@u.nus.edu -b B01 -m A7654321JNotable Constraints:
NAME, FACULTY, REMARK allows for most Unicode characters. Note that it is possible for some characters to be unable to be rendered, and the use of alphanumerics is highly recommended instead. This is to allow you (the user) to have freedom of customizing or using short forms as you please, though the onus would also be on you to remember them too!PHONE_NUMBER ranges from 4~15 digits following international guidelines.TUTORIAL_GROUP and LAB_GROUP each follow the same format: TXX and BXX respectively, where X refers to a single digit. You may input a single digit and the formatting will be handled by the application. e.g. T1 will be converted to T01 for you.searchSearch for students based on specific parameters. At least one parameter must be provided.
Format: search (-n NAME) [-p PHONE_NUMBER] [-e EMAIL] [-m MATRICULATION_NUMBER] [-t TUTORIAL_GROUP] [-b LAB_GROUP] [-f FACULTY] [-y YEAR_OF_STUDY] [-tag TAG]
john will match John).-f SoC -f FoS), only the last one is used for searching.jo will match John).Parameters:
-n: Search by student name-p: Search by phone number-e: Search by email address-m: Search by matriculation number-t: Search by tutorial group-b: Search by lab group-f: Search by faculty-y: Search by year of study-tag: Search by tagExamples:
search -n john returns students with names containing "john" (e.g., "John Doe", "Johnny")search -f Computing returns students from the Computing facultysearch -t T01 returns all students in tutorial group T01search -tag lateStudent returns students tagged with "lateStudent"redoFormat: redo
Redo the last command that was executed. Refer to Undo Command for the list of commands supported.
Tip: if you undo a command and run any other valid commands
(including ignored command such as list), you will not be able to redo
any of the old commands that you had just undone.
Example:
lab -ln 1 -msc 25undo (undo the command lab -ln 1 -msc 25)list or att -i 1 -w 3lab -ln 1 -msc 25 commandundoFormat: undo
Undo the last command that was executed.
Supported commands:
addeditdeleteclearattlabtagThe following commands will ignore any changes:
listexithelptogglesearchexportloadeditThere are 2 possible ways to edit the students in the list.
Edits an existing student in TAssist.
Format: edit -i INDEX [-n NAME] [-p PHONE_NUMBER] [-tg TELEGRAM_HANDLE] [-e EMAIL] [-m MATRICULATION_NUMBER] [-t TUTORIAL_GROUP] [-b LAB_GROUP] [-f FACULTY] [-y YEAR_OF_STUDY] [-r REMARKS]
INDEX. The index refers to the index number shown in the displayed student list. The index must be a positive integer 1, 2, 3, …-n NAME, -e EMAIL, -m MATRICULATION_NUMBER,
a valid input value must be provided to replace the current value.
edit -i 1 -n Alex is valid, editing the name of student of index 1 to Alex.edit -i 1 -n 123!#$ is invalid, because 123!#$ is not a valid name.edit -i 1 -n is invalid, because a student must have a name, which is a mandatory field.-p PHONE_NUMBER -tg TELEGRAM_HANDLE and-t TUTORIAL_GROUP -b LAB_GROUP.
These are conditional fields, whereby AT LEAST ONE or BOTH of the fields in EVERY SET must have a valid input.
PHONE_NUMBER OR a valid TELEGRAM_HANDLE.TUTORIAL_GROUP OR a valid LAB_GROUP.PHONE_NUMBER but no valid TELEGRAM_HANDLE:
edit -i 1 -p 90001234 is valid, because he will still have a valid phone number after the edit.edit -i 1 -tg @telehandle123 is valid, because he will have BOTH a valid phone number
AND a valid teleHandle after the edit.edit -i 1 -p is INVALID, because the proposed edit would make the student have NEITHER a valid phone number,
NOR a valid teleHandle after the edit.FACULTY, YEAR and REMARKS can be edited to any valid input (except YEAR), or empty input.YEAR is from 1 to 6Examples:
edit -i 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 -i 2 -n Betsy Crower Edits the name of the 2nd student to be Betsy Crower.Edits several existing students in TAssist in one go.
Format: edit -i INDEX_RANGE [-t TUTORIAL_GROUP] [-b LAB_GROUP] [-f FACULTY] [-y YEAR_OF_STUDY]
INDEX_RANGE. The index must be a positive integer 1, 2, 3, …YEAR is from 1 to 6Examples:
edit -i 1-3 -y 2 Edits the year of study for the 1st to 3rd students to be 2edit -i 1, 4, 5 -y 2 -f SOC Edits the year of study for the 1st, 4th and 5th students to be 2 and faculty to be SOCNote:
TUTORIAL_GROUP on the student's Attendance List depends on his original and updated
status (whether he had a tutorial group before the edit, and will have one after the edit).
TUTORIAL_GROUP (and hence a valid Attendance List),
TUTORIAL_GROUP to another valid TUTORIAL_GROUP.
Then the student's Attendance List is carried over (No change to the Attendance List). This allows the tutor
to retain the previous tutorial attendance history of a student who has transferred to another tutorial group.TUTORIAL_GROUP to an empty input.
Provided the aforementioned restrictions on the conditional parameters are fulfilled (i.e. the student has a valid LAB_GROUP),
then the student's Attendance List is cleared and replaced with the Blank Attendance List.TUTORIAL_GROUP (and hence an empty Attendance List),
TUTORIAL_GROUP to a valid TUTORIAL_GROUP.
Then the student's Attendance List is set to the Default Attendance List
(with No Tutorial for Weeks 1 and 2, and Not Attended for Weeks 3 to 13).TUTORIAL_GROUP to an empty input.
Then the student's Attendance List remains as a Blank Attendance List.delDeletes the specified student(s) from the currently displayed list.
Deletes one student from the currently displayed list.
Format: del -i INDEX
Details:
Note: The INDEX refers to the position in the currently displayed list, not the overall index in the address book.
For example, if you used the search command before, index 1 refers to the first student in the filtered list.
Example:
Deletes multiple students in a single command using comma-separated indices or index ranges.
Format: del -i INDEX[,INDEX or RANGE]...
Details:
Example:
clearClears all entries from TAssist.
Format: clear
tagThere are 3 ways to tag a student.
Adds tag(s) to a student.
Format: tag -a -i INDEX [-tag TAG_NAME]...
INDEX. The index refers to the index number shown in the displayed student list. The index must be a positive integer 1, 2, 3, …TAG_NAME must be alphanumeric and have a maximum of 60 characters.Examples:
tag -a -i 1 -tag lateStudent Adds a tag to the 1st student with the label lateStudenttag -a -i 1 -tag NeedHelp -tag AbleToCompete Adds a tag to the 1st student with the labels NeedHelp and AbleToCompete Edits a current tag.
Format: tag -m -i INDEX -tag OLD_TAG_NAME -tag NEW_TAG_NAME
OLD_TAG_NAME and replaces the tag's value with NEW_TAG_NAME of 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, …OLD_TAG_NAME must exist for you to edit and replace its value.OLD_TAG_NAME and NEW_TAG_NAME must be alphanumeric and have a maximum of 60 characters.Examples:
tag -m -i 1 -tag lastStudent -tag earlyStudent Replaces the value of the lateStudent tag, of the 1st student, with earlyStudenttag -m -i 1 -tag NeedHelp -tag CanSurvive Replaces the value of the NeedHelp tag, of the 1st student, with CanSurviveRemoves tag(s) from a student.
Format tag -d -i INDEX [-tag TAG_NAME]...
INDEX. The index refers to the index number shown in the displayed student list. The index must be a positive integer 1, 2, 3, …TAG_NAME is case sensitive and will only delete exact matches.TAG_NAME must be alphanumeric and have a maximum of 60 characters.Examples:
tag -d -i 1 -tag earlyStudent Deletes the tag earlyStudent from student 1tag -d -i 1 -tag tag1 -tag tag2 Deletes the tags tag1 and tag2 from student 1attMarks the attendance of an individual student, or a tutorial group.
Tip: With the new release, you can now mark the attendance of multiple students or tutorial groups.
Note: This will be a long documentation, because of the multiple restrictions imposed on the marking of attendance. However, the brief summary is here:
Format: att (-i INDEX -t TUTORIAL_GROUP) -w WEEK [-mc] [-u] [-nt]
-i INDEX OR -t TUTORIAL_GROUP, ONLY,
where INDEX is a positive integer from 1 to n inclusive, n being the number of students on the list
(if n=0, you'll have to add one first) and TUTORIAL_GROUP is a string of two or three characters, whereby the first
character is T or t, and the second (and optional third) character(s) is/are digits from 0 to 9 inclusive, e.g. T01.-w WEEK, where WEEK is a positive integer from 1 to 13 inclusive.-mc (mark on MC), -u (mark as not attended), OR -nt (mark as no tutorial) ONLY.-nt also applies to commands with -t ONLY, not -i.
(It does not make sense to mark one student as having no tutorial - this function is for tutorials being cancelled, so
the whole tutorial group should be affected).This note is offered here as a Brief Summary ONLY. There are additional restrictions as outlined below in the full documentation. If you encounter issues, do check whether that corresponding command is valid first, using the documentation below.
Format: att (-i INDEX -t TUTORIAL_GROUP) -w WEEK [-mc] [-u] [-nt]
-i INDEX OR -t TUTORIAL_GROUP, ONLY.
-w WEEK.
-mc, -u, OR -nt Note the following restrictions on the provided inputs.
INDEX must be a positive integer, from 1 to n inclusive, where n is the number of students in the list.
TUTORIAL_GROUP must be a String of two OR three characters.
TUTORIAL_GROUP inputs include T1 (which is equivalent to T01), T02, t10.TUTORIAL_GROUP provided must be a tutorial group attribute
of at least ONE student in the list. For example, if T99 is provided, but no students in the list are of
tutorial group T99, then this is not a valid tutorial group that matches to any student, given the current list of students.
Passing in an invalid index will result in an error message.
Additional restrictions apply to the marking attendance command.
-i flag have additional restrictions.
-nt flag cannot be used on a command with the -i flag. This means you cannot mark an individual
as having No Tutorial.
att -i -w 5 -u.att -t T01 -w 5 -nt.INDEX has No Tutorial in the given week, the command is invalid.
This means you cannot mark an individual to any attendance status, if he currently has No Tutorial.
att -t T01 -w 5 -u.att -i 1 -w 5.TUTORIAL_GROUP (e.g. he is not in your tutorial group).
Then it doesn't make sense to mark his attendance for any week.edit command to edit
his TUTORIAL_GROUP to T01 first. Then you can use the mark attendance command on him.
Marking attendance for one student for a week he has no tutorial in, will result in an error message.
Assuming the restrictions are satisfied,
-i INDEX is provided)
OR all students in a tutorial group (if -t TUTORIAL_GROUP is provided).-mc is provided, the new attendance status is ON MC.-u is provided, the new attendance status is NOT ATTENDED.-nt is provided, the new attendance status is NO TUTORIAL.Note: You can now mark the attendance of multiple students and tutorial groups as valid.
INDEX now accepts a comma (,) or hyphen (-) separated range of indexes.
Every index listed, or implied in a provided range, must be a valid index. That is, every index provided must be a positive integer , from 1 to n inclusive, where n is the number of students in the full list of students.
Besides, if a hyphen-separated range is provided, it must be of the format a-b, such that a <= b.
This means that the hyphen-separated range must be non-decreasing.
NO SPACES are allowed in the provided index range.
Valid inputs: 1,2,3 (indexes 1, 2 and 3); 1-3 (indexes 1 to 3 inclusive); 1,2-3 (indexes 1, and indexes 2 to 3 inclusive)
Invalid inputs: -1-3 (indexes -1 and 0 implied by the range are invalid); 1, 2 (space not allowed)
TUTORIAL_GROUP now accepts a comma or hyphen-separated list of tutorial groups.
Every tutorial group listed, or implied in a provided range, must be a valid tutorial group. That is, every tutorial group provided must be a String of two or three characters.
TUTORIAL_GROUP provided must be a tutorial group attribute
of at least ONE student in the list. For example, if T99 is provided, but no students in the list are of
tutorial group T99, then this is not a valid tutorial group that can be matched to any student, given the current list of students.Besides, if a hyphen-separated range is provided, it must be of the format Tab-Tcd (T can be replaced with t)
such that a, b, c and d are numerical digits from 0 to 9 inclusive, and ab <= cd in decimal format.
(more accurately, a * 10 + b is smaller than or equal to c * 10 + d)
This means that the hyphen-separated range must be non-decreasing.
NO SPACES are allowed in the provided index range.
Valid inputs: T01,T02,T03 (tutorial groups T01, T02 and T03); 1-3 (tutorial groups T01 to T03 inclusive);
T01,t02-t03 (tutorial groups T01, and tutorial groups T02 to T03 inclusive)
Invalid inputs: 1-3 (invalid format of tutorial groups); T05-T01 (descending range of tutorial groups)
-i flag, to mark attendance of students by index,
the restrictions aforementioned apply to EVERY student listed.
att -i 1-10 -w 3 gives you an error because students 3, 4, 5 do not fulfill the restrictions. The error message
will show the first student that does not fulfill the restrictions within the range of indexes provided.att -i 1-2,6-10 -w 3.
An example of a valid command to mark the attendance of individuals of indexes 5 and 6, as attended week 7's tutorial.
Examples:
att -i 1 -w 3 marks the first student as attended Tutorial Week 3.att -i 2 -w 10 -mc marks the second student as on MC for Tutorial Week 10.att -t T01 -w 1 -nt marks the whole tutorial group T01 as No Tutorial for Tutorial Week 1.
att -i 1-5 -w 3 marks the students of indexes 1 to 5 (inclusive) of week 3 as Attended.labUpdates the lab score for the specified student, or update the maximum score for the specified lab.
3 ways of using this command
INDEX lab LAB_NUMBER score to be NEW_SCORE.
lab -i INDEX -ln LAB_NUMBER -sc NEW_SCORE.LAB_NUMBER maximum score to be NEW_SCORE.
lab [-i INDEX] -ln LAB_NUMBER -msc NEW_SCORE.-i flag is optional here as it will be ignored if it is provided.INDEX lab LAB_NUMBER score to be NEW_SCORE_1
and at the same time update lab LAB_NUMBER maximum score to be NEW_SCORE_2.
lab -i INDEX -ln LAB_NUMBER -sc NEW_SCORE_1 -msc NEW_SCORE_2.Examples:
lab -i 1 -ln 1 -sc 20 updates the first student lab score to be 20/25
(assuming default maximum score is not changed).lab -ln 2 -msc 35 updates the maximum score for lab 2 to be 35.lab -i 1 -ln 1 -sc 29 -msc 30 updates lab 1 maximum score to be 30 and
also updates the first student lab score to be 29/30.loadImports student data from an existing .csv or .json file.
Format: load -f FILE_NAME -ext FILE_EXTENSION
FILE_NAME should not include a file extension or path. It must refer to a file in the /data folder, e.g. userdata.FILE_NAME must contain only alphanumeric characters, dashes, or underscores (e.g., my-data_123).export command, the load command can only access files directly in the /data folder of the application. Full or relative paths with special characters (like ~ or /) are not supported.FILE_EXTENSION must be either csv or json.Examples:
load -f userdata -ext csv loads a CSV file named userdata.csv located in the /data folder.load -f students -ext json loads a JSON file named students.json in the /data folder.What is the attendances attribute in the CSV or JSON file?
We use either a length-0 Empty String "" or a length-13 String of 13 digits from 0 to 3 inclusive to denote a student's attendance records.
TUTORIAL_GROUP, he MUST have an Empty String, as his attendances or attendanceList attribute.TUTORIAL_GROUP, he MUST have a length-13 String of 13 digits from 0 to 3 inclusive, as his attendances attribute.tutGroup and attendances are:
tutGroup = "" AND attendances = ""tutGroup = some valid tutorial group e.g. T01
AND attendances = some valid length-13 string of 13 digits from 0 to 3 inclusive, e.g. 3300000000000.A length-0 Empty String "" represents a Blank Attendance List.
A length-13 String of 13 digits from 0 to 3 inclusive represents an Attendance List that tracks attendances for weeks 1 to 13 (inclusive).
ith digit in this string (1-indexed, counting from the left) represents the attendance status of the student in week i.0 represents attendance status of NOT ATTENDED, digit 1 represents attendance status of ATTENDED,
digit 2 represents attendance status of ON MC, digit 3 represents attendance status of NO TUTORIAL.
attendances is a string "3300011111222", the student has had NO TUTORIAL for weeks 1 and 2,
NOT ATTENDED tutorials for weeks 3, 4 and 5, ATTENDED tutorials for weeks 6, 7, 8, 9, 10, and ON MC for weeks 11, 12 and 13.attendances being a String of an invalid length (not 0 and not 13) like "00000",
or a String of valid length but having invalid characters (e.g. digits 4 to 9 inclusive, alphabet, symbols)
like "0000011111334", the file will be CORRUPTED and the app will start from an Empty AddressBook.exportExports all the student data as CSV or JSON file. There are 2 ways to export data
Format: export -f FILE_PATH
FILE_PATH specified in this command.FILE_PATH can either be relative to the current application OR be a full file path.<filename>.csv or <filename>.jsonExamples:
export -f ./data/test.csv Exports the current data as a CSV file into the path ./data/test.csvexport -f /Users/user_name/Desktop/data.json Exports the current data as a JSON file into the Desktop under data.jsonexitExits the program.
Format: exit
TAssist data is saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
TAssist data is saved automatically as a JSON file [JAR file location]/data/addressbook.json. Advanced users are welcome to update data directly by editing that data file.
Caution:
If your changes to the data file make its format invalid, TAssist will discard all data and start with an empty data file at the next run. Hence, it is recommended to take a backup of the file before editing it.
Furthermore, certain edits can cause the TAssist to behave in unexpected ways (e.g., if a value entered is outside the acceptable range). Therefore, edit the data file only if you are confident that you can update it correctly.
Q: How do I transfer my data to another Computer?
A: Install the app on the other computer and overwrite the empty data file it creates with the file that contains the data of your previous AddressBook home folder.
preferences.json file created by the application before running the application again.help command (or use the Help menu, or the keyboard shortcut F1) again, the original Help Window will remain minimized, and no new Help Window will appear. The remedy is to manually restore the minimized Help Window.| Action | Format, Examples |
|---|---|
| Help | help |
| Toggle | toggle |
| List | list |
| Search | search (-n NAME) [-p PHONE_NUMBER] [-e EMAIL] [-m MATRICULATION_NUMBER] [-t TUTORIAL_GROUP] [-b LAB_GROUP] [-f FACULTY] [-y YEAR_OF_STUDY] [-tag TAG] |
| Redo | redo |
| Undo | undo |
| Add | add -n NAME (-p PHONE_NUMBER -tg TELEGRAM_HANDLE) -e EMAIL -m MATRICULATION_NUMBER (-t TUTORIAL_GROUP -b LAB_GROUP) [-f FACULTY] [-y YEAR_OF_STUDY] [-r REMARKS] [-tag TAG]… e.g., add -n John -p 81234567 -tg @jornn -e e1234567@u.nus.edu -m A1234567X -t T02 -b B03 -f Computing -y 5 -r Likes to sing |
| Edit | edit -i INDEX [-n NAME] [-p PHONE_NUMBER] [-tg TELEGRAM_HANDLE] [-e EMAIL] [-m MATRICULATION_NUMBER] [-t TUTORIAL_GROUP] [-b LAB_GROUP] [-f FACULTY] [-y YEAR_OF_STUDY] [-r REMARKS]e.g., edit -i 2 -n James Lee -e jameslee@example.com |
| Delete | Single: del -i INDEX e.g., del -i 3 Batch: del -i INDEX[,INDEX or RANGE]… e.g., del -i 1,3-5,7 |
| Clear | clear |
| Tag | Add: tag -a -i INDEX [-tag TAG_NAME]...e.g., tag -a -i 1 -tag lateStudentEdit: tag -m -i INDEX -tag OLD_TAG_NAME -tag NEW_TAG_NAMEe.g., tag -m -i 1 -tag lastStudent -tag earlyStudentDelete: tag -d -i INDEX [-tag TAG_NAME]...e.g., tag -d -i 1 -tag earlyStudent |
| Mark Attendance | att (-i INDEX -t TUTORIAL GROUP) -w WEEK [-mc] [-u] [-nt] |
| Lab Score | Update lab score: lab -i INDEX -ln LAB_NUMBER -sc NEW_SCORE e.g. lab -i 1 -ln 1 -sc 20 Update max lab score: lab [-i INDEX] -ln LAB_NUMBER -msc NEW_SCORE e.g. lab -ln 1 -msc 30 Update both scores: lab -i INDEX -ln LAB_NUMBER -sc NEW_SCORE_1 -msc NEW_SCORE_2 e.g. lab -i 1 -ln 1 -sc 20 -msc 25 |
| Load Data | load -f FILE_NAME -ext FILE_EXTENSIONe.g., load -f userdata -ext csv |
| Export Data | export -f FILE_PATHe.g., export -f ./data/test.csv |