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.
help
Shows a message explaining how to access the help page.
Format: help
list
Shows 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!
toggle
Toggles 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
.
add
Adds 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 sing
add -n Doe -tg @doe_a_deer -e e7654321@u.nus.edu -b B01 -m A7654321J
Notable 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.search
Search 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"redo
Format: 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 25
undo
(undo the command lab -ln 1 -msc 25
)list
or att -i 1 -w 3
lab -ln 1 -msc 25
commandundo
Format: undo
Undo the last command that was executed.
Supported commands:
add
edit
delete
clear
att
lab
tag
The following commands will ignore any changes:
list
exit
help
toggle
search
export
load
edit
There 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.del
Deletes 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:
clear
Clears all entries from TAssist.
Format: clear
tag
There 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 lateStudent
tag -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 earlyStudent
tag -m -i 1 -tag NeedHelp -tag CanSurvive
Replaces the value of the NeedHelp
tag, of the 1st student, with CanSurvive
Removes 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 1att
Marks 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.lab
Updates 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.load
Imports 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).
i
th 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.export
Exports 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>.json
Examples:
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.jsonexit
Exits 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 lateStudent Edit: tag -m -i INDEX -tag OLD_TAG_NAME -tag NEW_TAG_NAME e.g., tag -m -i 1 -tag lastStudent -tag earlyStudent Delete: 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_EXTENSION e.g., load -f userdata -ext csv |
Export Data | export -f FILE_PATH e.g., export -f ./data/test.csv |