By: AY1920-CS2103-W15-3
Since: Apr 2020
Licence: MIT
- 1. Introduction
- 2. Quick Start
- 3. Features
- 3.1. Viewing help :
help
- 3.2. Students Feature (Written by Chiang Shun De)
- 3.3. Module Feature (Written by Nigel Neo)
- 3.4. Tutorials Feature (Written by Sarah Lim)
- 3.5. Consults Feature (Written by Han Ching)
- 3.6. Reminder Feature (Written by Cranston Yeo)
- 3.7. Calendar Feature (Written by Han Ching)
- 3.8. Exiting the program :
exit
- 3.9. Saving the data
- 3.1. Viewing help :
- 4. FAQ
- 5. Command Summary
1. Introduction
Have you ever had trouble keeping track of your tutorials and students as a TA in NUS? TAble is your handy desktop app, optimized for TAs who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI)! Mark attendance, arrange consults, add module notes, set reminders and more with TAble!
2. Quick Start
-
Ensure you have Java
11
or above installed in your Computer. -
Download the latest
TAble.jar
here. -
Copy the file to the folder you want to use as the home folder for your TAble.
-
Double-click the file to start the app. The GUI should appear in a few seconds.
-
Type the command in the command box and press Enter to execute it.
e.g. typinghelp
and pressing Enter will open the help window. -
Some example commands you can try:
-
listStudent
: lists all students -
deleteStudent
3
: deletes the 3rd student shown in the current list -
exit
: exits the app
-
-
Refer to Section 3, “Features” for details of each command.
-
Example of the Tutorial and Consult panels.
The consults that are overdue will appear in red to highlight that these consults are ready to be deleted! -
Example of the Module and ModInfo panels.
-
Example of the Calendar window.
3. Features
Command Format
-
Words in
UPPER_CASE
are the parameters to be supplied by the user e.g. inaddStudent name/NAME
,NAME
is a parameter which can be used asaddStudent name/John Doe
. -
Items in square brackets are optional e.g
name/NAME [tag/TAG]
can be used asname/John Doe tag/friend
or asname/John Doe
. -
Items with
…
after them can be used multiple times including zero times e.g.[tag/TAG]…
can be used astag/friend
,tag/friend tag/family
etc. -
Parameters can be in any order e.g. if the command specifies
name/NAME email/EMAIL
,email/EMAIL name/NAME
is also acceptable.
Command History
-
Navigate through the past command history by pressing the up and down arrow keys on the keyboard.
Only successfully executed commands will be added to list of command history.
Autocompletion
-
TAble will suggest the available commands and prefixes based on your current input.
-
Press Tab or Enter to accept the suggestion.
-
Press Esc to cancel and close the suggestion pop-up.
3.1. Viewing help : help
Format: help
-
A window containing the link to our User Guide will appear. Click on the Copy Link button to copy the link to our User Guide.
3.2. Students Feature (Written by Chiang Shun De)
3.2.1. Adding a student: addStudent
Adds a student to TAble
Format: addStudent name/NAME matric/MATRIC_NUMBER email/EMAIL [tag/TAG]…
|
A student can have any number of tags (including 0), but each tag is limited to a length of 40 characters. |
Examples:
-
addStudent name/John Tan matric/A0123456X email/johnt@example.com
Output:
New student added: John Tan Matric Number: A0123456X Email: johnt@example.com Tags:
-
addStudent name/Betsy Daphne Anne Lim matric/A1234567X tag/good student email/betsydaphneannelim@example.com tag/CS2103
Output:
New student added: Betsy Daphne Anne Lim Matric Number: A1234567X Email: betsydaphneannelim@example.com Tags: [CS2103][good student]
3.2.2. Listing all students : listStudent
Shows a list of all students in TAble.
Format: listStudent
3.2.3. Clears the list of students : clearStudent
Clears the list of all students in TAble.
Format: clearStudent
3.2.4. Editing a student : editStudent
Edits an existing student in TAble.
Format: editStudent INDEX [name/NAME] [matric/MATRIC_NUMBER] [email/EMAIL] [tag/TAG]…
|
Examples:
-
editStudent 1 email/johntan@example.com
Edits the email address of the 1st student to bejohndoe@example.com
. -
editStudent 2 name/Betsy Lim tag/
Edits the name of the 2nd student to beBetsy Lim
and clears all existing tags associated with the 2nd student. -
editStudent 3 matric/A0123456Z tag/good student
Edits the matric number of the 3rd student to beA0123456Z
and adds a 'good student' tag
3.2.5. Locating students by name: findStudent
Finds students whose names contain any of the given keywords.
Format: findStudent KEYWORD [MORE_KEYWORDS]
Examples:
-
findStudent John
Returns studentsJohn Ang
andJohn Tan
Example output:
2 students listed!
-
findStudent Betsy Tim John
Returns any student having namesBetsy
,Tim
, orJohn
3.2.6. Locating students by matric number: findStudentMatricNumber
Finds students whose matric number matches the given matric number.
Format: findStudentMatricNumber matric/MATRIC_NUMBER
Examples:
-
findStudentMatricNumber matric/A0111111X
Returns the student with matric number "A0111111X"
3.2.7. Deleting a student : deleteStudent
Deletes the specified student from TAble.
This removes the student from all enrolled tutorials as well.
Format: deleteStudent INDEX
Deleting a student using the deleteStudent command will remove any consultations associated with the deleted student and removes the student from any tutorials they were enrolled in. |
Examples:
-
listStudent
deleteStudent 2
Deletes the 2nd student in TAble. -
findStudent Betsy
deleteStudent 1
Deletes the 1st student in the list resulting from thefindStudent
command.
3.2.8. Sort students alphabetically by name: sortStudentName
Sorts the current list of students according to their name in alphabetical order. If there
are two students with the same name they will be sorted by matric number, meaning the
student with the lower matric number will be higher on the list.
Format: sortStudentName
3.3. Module Feature (Written by Nigel Neo)
3.3.1. Add Module into database: addMod
Adds a module into TAble.
Due to naming restrictions in java, all code references to modules are named Mod instead of Module. |
Format: addMod modCode/MODULE_CODE modName/MODULE_NAME
Example:
-
addMod modCode/CS1010S modName/Programming Methodology
3.3.2. Delete Module from database: deleteMod
Deletes a module from TAble.
Format: deleteMod modCode/MODULE_CODE
Example:
-
addModule modCode/CS1010S modName/Programming Methodology
3.3.3. Edit Module note: noteMod
Edits corresponding note of module.
Format: noteMod modCode/MODULE_CODE modNote/NOTE
Example:
-
noteModule modCode/CS1010S modNote/How cool is that?
When viewing the module info for CS1010S, the note will be updated to show "How cool is that?".
3.3.4. Add link to module with appropriate name: addModLink
Edit module to include links to appropriate websites (e.g. Google Drive Folder, Module Website etc.)
Format: addModLink modCode/MODULE_CODE modLink/LINK modLinkName/NAME
Example:
-
addModLink modCode/CS1231 modLink/https://comp.nus.edu.sg/~cs1231 modLinkName/Module Website
When viewing the module page for CS1231, there will be an additional label with "Module Website" and points to https://comp.nus.edu.sg/~cs1231.
3.3.5. Clear all module links from module in database: clearModLink
Removes all module links from a module in TAble.
Format: clearModLink modCode/MODULE_CODE
Example:
-
clearModLink modCode/CS1231
When viewing the module page for CS1231, there will not be any module links shown.
3.3.6. Copy Module Link into Clipboard: copyModLink
Copies a module link from the links currently associated with a module. Index corresponding to module link can be seen when viewing the module info using viewModInfo
.
Format: copyModLink INDEX modCode/MODULE_CODE
Example:
-
copyModLink 1 modCode/CS1231
The first module link for CS1231 is copied into the user’s clipboard.
3.3.7. View Module: viewModInfo
Opens the view for the selected module to view module description, links and (coming in v2.0) lecture timeslots.
Format: viewModInfo modCode/MODULE_CODE
3.3.8. Add lecture timeslot: addModLecture
[coming in v2.0]
Adds lecture timeslot to module. This is to be integrated with the future calendar display feature.
Format: addModLecture modCode/MODULE_CODE d/DAY from/TIME to/TIME p/LOCATION
Example:
-
addModLecture modCode/CS1010S d/WED from/1400 to/1600 p/LT27
3.3.9. Clear all lecture timeslots: clearModLecture
[coming in v2.0]
Clears all lectures associated with a certain module.
Format: clearModLecture modCode/MODULE_CODE
Example:
-
clearModLecture modCode/CS1010S
3.4. Tutorials Feature (Written by Sarah Lim)
3.4.1. Switch GUI Display to Tutorial List View: listTutorial
Focuses the display in the GUI to the Tutorials list view, without requiring the user to click on the tab.
Format: listTutorial
3.4.2. Add a tutorial slot: addTutorial
Add a tutorial slot for a particular module at the given time, day and place.
Format: addTutorial modCode/MODULE_CODE tutorialName/TUTORIAL_NAME day/WEEKDAY_VALUE beginTime/START_TIME endTime/END_TIME place/PLACE
A tutorial is distinguished by its module and name. Only one session is allowed per tutorial. If you wish to have a tutorial with multiple slots per week, you may use unique tutorial names (eg. T02A and T02B). |
The module for addTutorial MODULE_CODE should already exist in TAble before adding the desired Tutorial
|
Example:
-
addTutorial modCode/CS2103 tutorialName/T02 day/3 beginTime/12:00 endTime/13:00 place/SR3
-
addTutorial modCode/CS1101S tutorialName/T11 day/4 beginTime/12:00 endTime/13:00 place/SR3
3.4.3. Delete a tutorial slot: deleteTutorial
Delete a tutorial slot for a particular module.
Format: deleteTutorial INDEX
Example:
-
listTutorial
deleteTutorial 2
3.4.4. Add student to tutorial: addTutorialStudent
Enroll an existing student to an existing tutorial.
Format: addTutorialStudent tutorialIndex/INDEX student/STUDENT_INDEX
Example:
-
addTutorialStudent tutorialIndex/3 student/12
3.4.5. Marks students as present: markPresent
Takes attendance of students in a tutorial class by marking them as present for a particular week. Present students will be marked by a green background in the respective attendance list.
Format: markPresent tutorialIndex/INDEX week/WEEK student/STUDENT_INDEX
Example:
-
markPresent tutorialIndex/3 week/7 student/2
Marks only student at index 2 (for tutorial at index 3) as present in week 7 for tutorial at index 3 -
markPresent tutorialIndex/2 week/7 student/all
Marks all students as present in week 7 in tutorial at index 2
3.4.6. Marks students as absent: markAbsent
Takes attendance of students in a tutorial class by marking them as absent for a particular week. Absent students will be marked by a red background in the respective attendance list.
Format: markPresent tutorialIndex/INDEX week/WEEK student/STUDENT_INDEX
Example:
-
markAbsent tutorialIndex/3 week/7 student/2
Marks only student at index 2 (for tutorial at index 3) as absent in week 7 for tutorial at index 3 -
markAbsent tutorialIndex/3 week/7 student/all
Marks all students in week 7 as absent in tutorial at index 3 (oh no!)
3.4.7. Remove student from tutorial: deleteTutorialStudent
Remove an existing student from an existing tutorial.
Format: deleteTutorialStudent tutorialIndex/INDEX student/STUDENT_INDEX
Example:
-
deleteTutorialStudent tutorialIndex/3 student/12
3.4.8. Copy tutorial students' emails to user clipboard: copyTutorialEmails
Copies all student emails in the given tutorial to the user clipboard, for easy mass-emailing purposes.
Format: copyTutorialEmails tutorialIndex/INDEX
Example:
-
copyTutorialEmails tutorialIndex/3
3.4.9. Display students and attendance of a tutorial: listAttendance
Displays the list of students in a tutorial and their corresponding attendance for a particular week in the GUI.
Format: listAttendance tutorialIndex/INDEX week/INDEX
Example:
-
listAttendance tutorialIndex/2 week/10
3.4.10. Export tutorial attendance to csv file: exportAttendance
(Written by Nigel Neo)
Exports the attendance data of all enrolled students in a tutorial group to a csv file, where the filepath is specified by the user.
Format: exportAttendance tutorialIndex/INDEX csvFilePath/FILEPATH
Example:
-
exportAttendance tutorialIndex/1 csvFilePath/./data/attendance.csv
3.5. Consults Feature (Written by Han Ching)
The consults that are overdue will appear in red to highlight that these consults are ready to be deleted! |
3.5.1. Adding a consult: addConsult
Add a consultation slot at the given time, date and place.
Format: addConsult student/STUDENT_INDEX beginDateTime/BEGIN_DATE_TIME endDateTime/END_DATE_TIME place/PLACE
Consults will be automatically sorted according to their date and time, with the earliest at the top of the list. |
Example:
-
addConsult student/1 beginDateTime/2020-03-03 10:00 endDateTime/2020-03-03 12:00 place/Deck
3.5.2. Editing a consult: editConsult
Edit the time, date or place of an existing consultation slot.
Format: editConsult INDEX [beginDateTime/BEGINDATETIME] [endDateTime/ENDDATETIME] [place/PLACE]
Example:
-
editConsult 1 beginDateTime/2020-03-03 15:00
Edits the beginning time of the 1st consult to be at 2020-03-03, 15:00 hours i.e 3.00 p.m. -
editConsult 2 place/SR3
Edits the place of the 2nd consult to be at SR3.
3.5.3. Listing all consults : listConsult
Shows a list of all consultations in TAble.
Format: listConsult
3.5.4. Deleting a consult: deleteConsult
Removes an existing consultation slot.
Format: deleteConsult INDEX
Example:
-
listConsult
deleteConsult 2
Deletes the 2nd consultation in TAble.
3.5.5. Clearing all consults : clearConsults
Clears all consultations slots in TAble.
Format: clearConsults
3.5.6. Locating consultations by date or place: findConsult
[coming in v2.0]
Finds consultations whose date or place match any of the given keywords.
Format: findConsult [DATE] [PLACE]
Examples:
-
findConsult 03-03-2020
Returns all consults on 03-03-2020 -
findConsult SR3
Returns any consults that are held at SR3
3.6. Reminder Feature (Written by Cranston Yeo)
3.6.1. Adding a reminder: addReminder
Adds a reminder to the reminder list.
Format: addReminder desc/DESCRIPTION date/DATE time/TIME
Reminders will be automatically sorted according to their date and time, with the earliest at the top of the list. |
Examples:
-
addReminder desc/Mark midterms papers date/2020-10-05 time/14:00
3.6.2. Editing a reminder: editReminder
Edits an existing reminder in the reminder list.
Format: editReminder INDEX [desc/DESCRIPTION] [date/DATE] [time/TIME]
Examples:
-
editReminder 1 desc/Return midterms papers
Edits the description of the 1st reminder to "Return midterms paper". -
editReminder 3 date/2020-05-20 time/18:00
Edits the date of the 3rd reminder to 20th May 2020 18:00 hours i.e. 6.00 p.m.
3.6.3. Finding reminders by their descriptions or date: findReminder
Finds reminders matching with the given descriptions or date.
Format: findReminder [desc/DESCRIPTION] [MORE_DESCRIPTIONS] [date/DATE]
Examples:
-
findReminder desc/mark
Returns reminders containing the keyword 'mark'. -
findReminder date/2020-05-05
Returns all reminders on 05 May 2020.
3.6.4. List all reminders: listReminder
Lists all the reminders that the TA have added on TAble.
Format: listReminder
3.6.5. Marking a reminder as done: doneReminder
Marks the reminder from the reminder list as done.
Format: doneReminder INDEX
Reminders marked as done will automatically be sorted to the bottom of the list and will no longer appears in the calendar. |
Examples:
-
listReminder
doneReminder 3
Mark the 3rd reminder in TAble as done.
3.6.6. Deleting a reminder: deleteReminder
Deletes the specified reminder from the reminder list.
Format: deleteReminder INDEX
Examples:
-
listReminder
deleteReminder 3
Deletes the 3rd reminder in TAble.
3.6.7. Snoozing a reminder: snoozeReminder
Snoozes a reminder in the reminder list.
Format: snoozeReminder INDEX [day/DAY] [hour/HOUR] [minute/MINUTE]
Examples:
-
snoozeReminder 2 day/3 hour/2
Postpone the second reminder to 3 days and 2 hours later. -
snoozeReminder 4 minute/30
Postpone the fourth reminder to 30 minutes later.
3.7. Calendar Feature (Written by Han Ching)
3.7.1. Display the calendar window: viewCalendar
Brings up the calendar window.
Format: viewCalendar
3.7.2. Close the calendar window: closeCalendar
Closes the calendar window.
Format: closeCalendar
3.8. Exiting the program : exit
Exits the program.
Format: exit
3.9. Saving the data
Data are saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.
4. FAQ
Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous TAble folder.
5. Command Summary
5.1. Student
-
Add :
addStudent name/NAME matric/MATRIC_NUMBER email/EMAIL [tag/TAG]…
e.g.addStudent name/James Tan matric/A0123456X email/jamesho@example.com tag/good student tag/hardworking
-
Clear :
clearStudent
e.g.clearStudent
-
Delete :
deleteStudent INDEX
e.g.deleteStudent 3
-
Edit :
editStudent INDEX [name/NAME] [matric/MATRIC_NUMBER] [email/EMAIL] [tag/TAG]…
e.g.editStudent 2 name/James Lee email/jameslee@example.com
-
Find :
findStudent KEYWORD [MORE_KEYWORDS]
e.g.findStudent James Jake
-
Find Student with a certain matric number :
findStudentMatricNumber matric/matric_number
e.g.findStudentMatricNumber matric/A0123456A
-
List :
listStudent
-
Sorts the list of students in alphabetical order :
sortStudent
5.2. Module
-
Add :
addMod modCode/MODULE_CODE modName/MODULE_NAME
e.g.addMod modCode/CS2103 modName/Software Engineering
-
Delete :
deleteMod modCode/MODULE_CODE
e.g.deleteMod modCode/CS2103
-
Edit module Note :
noteMod modCode/MODULE_CODE modNote/MODULE_NOTE
e.g.noteMod modCode/CS2103 modNote/SWE is fun!
-
Add module website link :
addModLink modCode/MODULE_CODE modLink/MODULE_LINK modLinkName/MODULE_LINK_NAME
e.g.addModLink modCode/CS2103 modLink/http://comp.nus.edu.sg/~cs2103 modLinkName/Module Website
-
Clear all module links :
clearModLink modCode/MODULE_CODE
-
View module info :
viewModInfo modCode/MODULE_CODE
-
Copy module link into clipboard :
copyModLink INDEX modCode/MODULE_CODE
e.g.copyModLink 1 modCode/CS2013
-
List Mods :
listMod
5.3. Tutorial
-
Add :
addTutorial modCode/MODULE_CODE tutorialName/TUTORIAL_NAME day/WEEKDAY_VALUE beginTime/START_TIME endTime/END_TIME place/PLACE
e.g.addTutorial modCode/CS2103 tutorialName/T02 day/3 beginTime/12:00 endTime/13:00 place/SR3
-
Delete :
deleteTutorial INDEX
e.g.deleteTutorial 2
-
Add Tutorial Student :
addTutorialStudent tutorialIndex/INDEX student/STUDENT_INDEX
e.g.addTutorialStudent tutorialIndex/1 student/3
-
Mark Present :
markPresent tutorialIndex/INDEX week/WEEK student/STUDENT_INDEX
e.g.markPresent tutorialIndex/3 week/7 student/2
-
Mark Absent :
markPresent tutorialIndex/INDEX week/WEEK student/STUDENT_INDEX
e.g.markAbsent tutorialIndex/3 week/7 student/2
-
Delete Tutorial Student :
deleteTutorialStudent tutorialIndex/INDEX student/STUDENT_INDEX
e.g.deleteTutorialStudent tutorialIndex/3 student/12
-
List Tutorial :
listTutorial
-
List Attendance :
listAttendance tutorialIndex/INDEX week/INDEX
e.g.listAttendance tutorialIndex/2 week/10
-
Copy Tutorial Students' Emails :
copyTutorialEmails tutorialIndex/INDEX
e.g.copyTutorialEmails tutorialIndex/3
-
Export attendance to CSV file :
exportAttendance tutorialIndex/INDEX csvFilePath/CSV_FILEPATH
e.g.exportAttendance tutorialIndex/1 csvFilePath/./data/attendance.csv
5.4. Consult
-
Add :
addConsult student/STUDENT_INDEX beginDateTime/BEGIN_DATE_TIME endDateTime/END_DATE_TIME place/PLACE
e.g.addConsult student/1 beginDateTime/2020-03-03 10:00 endDateTime/2020-03-03 12:00 place/Deck
-
Clear :
clearConsult
-
Delete :
deleteConsult INDEX
e.g.deleteConsult 3
-
Edit :
editConsult INDEX [beginDateTime/BEGINDATETIME] [endDateTime/ENDDATETIME] [place/PLACE]
e.geditConsult 3 place/The Deck
-
List :
listConsult
5.5. Reminder
-
Add :
addReminder desc/DESCRIPTION date/DATE time/TIME
e.g.addReminder desc/Upload week 11 tutorial answers date/2020-10-31 time/15:00
-
Edit :
editReminder INDEX [desc/DESCRIPTION] [date/DATE] [time/TIME]
e.geditReminder 3 date/2020-10-05
-
Find :
findReminder [desc/DESCRIPTION] [MORE_DESCRIPTIONS] [date/DATE]
e.gfindReminder desc/midterms paper date/2020-10-15
-
List :
listReminder
-
Done :
doneReminder INDEX
e.g.doneReminder 2
-
Delete :
deleteReminder INDEX
e.g.deleteReminder 2
-
Snooze :
snoozeReminder INDEX [day/DAY] [hour/HOUR] [minute/MINUTE]
e.gsnoozeReminder 4 hour/2 minute/30
5.6. Calendar
-
View Calendar :
viewCalendar
-
Close Calendar:
closeCalendar
-
Help :
help