BetterCallTA enables Teaching Assistants to effortlessly manage your students' contacts. Optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI), BetterCallTA handles all the nitty gritty details of your session so that you can focus on delivering the best to your students.
This section covers the overview of BetterCallTA application.
NUS Teaching Assistants (TA) who can type fast, preferring typing over mouse/voice commands.
Better Call TA is a contact management platform for teaching assistants to manage the details of students in their class(es) as well as relevant administrative details, such as their attendance, participation and grades.
< number x '(list of characters) > means choose number from the list of characters, allowing duplicates. For example:
This section covers the table of contents of our user guide for BetterCallTA.
ID-Unique student identifierName-Your student namePhone-Student phone numberEmail-Student email addressCourse-NUS course codeAttendance-Student class participation statusParticipation-Student engagement levelGrade-The predicted grade of your student based on their previous graded assignmentsNotes-Additional details that you may want to keep about individual studentsThis section covers how to get started on using BetterCallTA
Ensure you have Java 17 or above installed in your Computer.
Download the latest .jar file from here.
Copy the file to the folder you want to use as the home folder for BetterCallTA.
Open a command terminal (refer to the Glossary for a recommended terminal) and use the cd command with the folder you put the jar file in.
cd .\DownloadsUse the java -jar BetterCallTA.jar command to run the application.
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.
Here are some example commands you can try:
Command Description add /id A3478231B /name John Doe /phone 98765432 /email johnd@example.comAdds a student with the ID A3478231Bto the application.edit /id A3478231B /attendance present /participation good /grade 84Edits the attendance, participation and grade of the student with ID A3478231BtoPRESENT,GOODand84respectively.delete /id A1234567BDeletes the student with ID A1234567Bin the student list.listLists all students. clearDeletes all students. exitExits the app.
Do refer to the Features below for details of each command!
This section covers the Student field used in BetterCallTA, which encapsulates a student contact details in BetterCallTA.
ID-Unique student identifierName-Your student namePhone-Student phone numberEmail-Student email addressCourse-NUS course codeAttendance-Student class participation statusParticipation-Student engagement levelGrade-The predicted grade of your student based on their previous graded assignmentsNotes-Additional details that you may want to keep about individual studentsID-Unique student identifierFormat:
<1 x (A/U/HT/NT)> + 7 digits + <1 x (A/B/E/H/J/L/M/N/R/U/W/X/Y)>
A, U, HT, or NTA, B, E, H, J, L, M, N, R, U, W, X, YExamples:
A0738475NHT0347856UName-Your student nameMultiple students with the same name are allowed, as long as they have a unique Student ID.
Phone-Student phone number+(0-9) or -Default: 00000000
Example:
Email-Student email addressFormat:
local-part@domain
(a-z, A-Z, 0-9) and these special characters are also allowed: +, _, ., -Default: example@u.nus.edu
Valid Examples:
johndoe@u.nus.eduexample32@gmail.comCourse-NUS course codeFormat:
<(2/3) x (A-Z)> + 4 digits + <(0-2) x (A-Z)>
Default: AAA0000AA
Valid Examples:
CS2103TIS1108MA1101RAttendance-Student class participation status| Status | Description | Case Sensitivity |
|---|---|---|
PRESENT | Present | Case-insensitive |
ABSENT | Absent without valid reason | Case-insensitive |
EXCUSED | Absent with valid reason | Case-insensitive |
Default: UNMARKED
Participation-Student engagement level| Status | Description | Case Sensitivity |
|---|---|---|
EXCELLENT | Outstanding contribution | Case-insensitive |
GOOD | Above average participation | Case-insensitive |
AVERAGE | Meets basic expectations | Case-insensitive |
POOR | Minimal or insufficient engagement | Case-insensitive |
NONE | No observable participation | Case-insensitive |
Default: UNMARKED
Grade-The predicted grade of your student based on their previous graded assignments0 to 100 (inclusive), or NA (case insensitive)Notes-Additional details that you may want to keep about individual studentsNOTE 1 and NOTE 2, it will be displayed as [NOTE 1, NOTE 2] in the command output window.This section covers all the features of BetterCallTA. Navigate to the following sections to know more about BetterCallTA features.
This section covers the Command Syntax Notes you should be aware of when you are using BetterCallTA.
Command Syntax Notation
| Notation | Meaning | Example |
|---|---|---|
UPPER_CASE | Required parameters you must provide | add /id ID β add /id A1234567X |
[square brackets] | Optional parameters | add /name NAME [/phone PHONE_NUMBER] β Can omit the /phone part |
... (ellipsis) | Parameter can be repeated multiple times | /note NOTE... β Can add multiple notes |
Command Syntax Rules
| Rule | Description | Example |
|---|---|---|
| Parameter Spacing | Parameters must have a trailing space | add /idA123 /nameJohn will not work.It should be changed to add /name John /id A123 instead. |
| Parameter Order | Parameters can be in any order | add /id A123 /name John = add /name John /id A123 |
| Extraneous Parameters | Extra parameters are ignored for simple commands | help 123 β Treated as help |
| PDF Copy-Paste Warning | Watch for missing spaces when copying from PDFs | Ensure /idA123 becomes /id A123 when pasting |
β¨ Recommended Best Practices for Command Syntax
β Required Parameters
ID in delete /id IDβ Optional Parameters
β Repeated Parameters
βοΈ Format Preservation
/flag arg1 is valid whereas /flagarg1 (no spaces) and /flag arg1 (with two spaces) are invalid.helpShows a message explaining how to access the help page.
Format:
help
addAdds a student to the application.
Format:
add /id ID /name NAME [/phone PHONE_NUMBER] [/email EMAIL] [/course COURSE] [/note NOTE...]
Examples:
add /id A4235352H /name John Doe /phone 98765432 /email johnd@example.com /note Consistently lateadd /id A4045018Y /name Betsy Crowe /email betsycrowe@example.com /phone 1234567 /course CS4215Edit command.
![]()
Fig 3.2 - Output ofadd /id A4235352H /name John Doe /phone 98765432 /email johnd@example.com /note Consistently late
editEdits an existing student in the application.
Format:
edit /id ID [/newid NEW_ID] [/name NAME] [/phone PHONE_NUMBER] [/email EMAIL]
[/course COURSE] [/attendance ATTENDANCE] [/participation PARTICIPATION] [/grade GRADE] [/note NOTEβ¦]
Notes:
ID.Example:
edit /id A0123456N /phone 91234567 /email johndoe@example.com
This will update the phone number and email of the student with ID A0123456N to 91234567 and johndoe@example.com respectively.
![]()
Fig 3.4 - Output ofedit /id A0123456N /phone 91234567 /email johndoe@example.com
deleteDeletes the specified student from the application.
Format:
delete /id ID
ID.Examples:
delete /id A1234567N deletes the student with ID A1234567N.delete /id A7654321B deletes the student with ID A7654321B.clearClears all entries from the application.
Format:
clear
If there are no students in BetterCallTA, an error message will be shown.
findFinds students whose names, IDs or courses contain any of the given keywords.
Format:
find KEYWORD [MORE_KEYWORDS]
hans will match HansHans Bo will match Bo HansOR search),Hans Bo will return Hans Gruber , Bo YangHan will match HansExamples:
find John returns john and John Doefind alex david returns Alex Yeoh, David Lifind A1234 returns students with ID numbers that start with A1234sortSorts your current list by exactly one of four parameters: name, grade, attendance or participation.
Format:
sort /by <1 x (name/grade/attendance/participation)>
grade will match GradeExamples:
sort /by name will arrange your list in alphabetical order.sort /by grade will arrange your students by their grade scores in descending order.listShows a list of all students in the application.
Format:
list
file /save FILENAMEBetterCallTA data is automatically saved to addressbook.json in [JAR file location]/data/ by default unless the save file is modified with the file /load command.
Change the save file that the application will store data to with file /save.
Format
file /save SAVE_FILE
SAVE_FILE in [JAR file location]/data/ as SAVE_FILE.json.Examples:
file /save CS2103T-T10-3.json file extension as it will automatically be added by our application. If you attempt to include the file extension type SAVE_FILE, such as save.json, an error message will be shown.
-, _, (, ). All other symbols are not allowed.
SAVE_FILE.json already exists in the data directory, it will be overwritten.
SAVE_FILE.json directly as it may introduce unintended behaviour in the application.
file /load FILENAMEBetterCallTA data will load the most recent save file that was used in the application by default. Save files can be loaded with the file /load command.
Change the .json save file that the application will read/save from with file /load.
Format
file /load SAVE_FILE
[JAR file location]/data/SAVE_FILE.json to the current working application. Subsequent operations will be saved to the loaded SAVE_FILE.json file.Examples:
file /load CS2103T-T10-3addressbook save file will be loaded by default. file /list allBetterCallTA stores all save files in [JAR file location]/data/ and the file /list all command will list out all .json save files in that directory (without the file extension type), as well as indicating the current save file that is being in use by the application as indicated by (current save file).
Format
file /list all
Lists out all the .json save file filenames (without the file extension type) stored by the application in the /data/* directory.
Examples:
file /list all
![]()
Fig 3.10 - Output offile /list all
* Actual output may be different depending on what files are in[JAR file location]/data/
![Clear Command Example]
resetRecordsResets the attendance and participation status of all students to UNMARKED.
Format
resetRecords
UNMARKED, an error message will be shown. exitExits the program.
Format:
exit
file /save FILE command will overwrite the FILE.json save file if it already exists.json file can introduce syntax errors, rendering the file unreadable by BetterCallTA. Validate your .json syntax using a JSON linter before attempting to load it.A histogram that shows the grades of all students in the current list.
Automatically updates when a grade is changed.
NA will be ignored by the histogramThis section covers some common questions that BetterCallTA users face.
Q: How do I transfer my data to another Computer π»?
A: Copy the save files stored in [home folder]/data/ over to the new Computer [home folder]/data/ location.
Q: Can I sort students by multiple criteria (e.g., sort by grade, then by name)?
A: The sort command only supports sorting by one criterion at a time. To sort by multiple parameters, you must use separate sort commands for each.
Q: How do I know the correct format for student IDs?
A: Student IDs must follow the NUS student ID format: <1 x (A/U/HT/NT)> + 7 digits + <1 x (A/B/E/H/J/L/M/N/R/U/W/X/Y)>.
Q: Does BetterCallTA support international phone number formats?
A: Yes, BetterCallTA supports phone numbers starting with a + and allows hyphens, as long as the length is between 7 and 15 digits.
Q: If I edit a student, and leave some fields blank, what happens?
A: If you edit a student, and only specify some fields, the other fields will remain as they were before the edit.
Q: What happens if I accidentally delete a student?
A: Deleted students are removed permanently. BetterCallTA does not have an undo function. Regularly backing up your save files is recommended.
Q: Why are command words not case-insensitive?
A: Command words are case-sensitive as we expect you TAs to not want to waste time capitalising the command word. For the same reason, prefixes are also case-sensitive. However, the parameters are case-insensitive as we understand different users have different ways of entering certain fields.
Q: Can I add a student without an email address?
A: Yes, the email field is optional.
Q: Is there a limit to the number of students I can add?
A: There is no hard limit, but performance may degrade with a very large number of students.
This section covers the current known issues with BetterCallTA.
Multi-Screen Issue:
When using multiple screens, if you move the application to a secondary screen, and later switch to using only the primary screen, the GUI will open off-screen. The remedy is to delete the preferences.json file created by the application before running the application again.
Minimized Help Window Issue:
If you minimize the Help Window and then run the 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.
Save File Corruption:
In the event of an unexpected application crash or system failure during a save operation, the save file (.json) may become corrupted. Regularly backup your save files. If a file is corrupted, restore from a backup.
This section covers the summary of commands in BetterCallTA.
| Action | Format | Examples |
|---|---|---|
| Show Usage | help | (None) |
| Add | add /id ID /name NAME [/phone PHONE_NUMBER] [/email EMAIL] [/course COURSE] [/note NOTEβ¦β] | add /id A0123456E /name James Ho /phone 22224444 /email jamesho@example.com |
| Delete | delete /id ID | delete /id A3456712E |
| Edit | edit /id ID [/newid NEW_ID] [/name NAME] [/phone PHONE_NUMBER] [/email EMAIL] [/course COURSE] [/attendance ATTENDANCE] [/participation PARTICIPATION] [/grade GRADE] [/note NOTEβ¦]β | edit /id A0123456N /phone 91234567 /email johndoe@example.com |
| Clear | clear | (None) |
| Find | find KEYWORD [MORE_KEYWORDS] | find James Jake |
| Sort | sort /by KEYWORD [name/grade/attendance/participation] | sort /by name |
| List all users | list | (None) |
| Save Data | file /save SAVE_FILE | file /save CS2103T-T10-3 |
| Load Data | file /load SAVE_FILE | file /load CS2103T-T10-3 |
| List Save Files | file /list all | (None) |
| Reset Attendance and Participation Records | resetRecords | (None) |
This section covers the glossary of key terms as discussed in this User Guide and in other BetterCallTA documentation.
| Term | Definition |
|---|---|
| TA | Teaching Assistant - Supports the instructor in teaching a course by conducting tutorials, grading assignments, and assisting students |
| CLI | Command Line Interface - Text-based interface for interacting with software |
| GUI | Graphical User Interface - Visual interface with graphical elements |
| NUS | National University of Singapore - Institution where this system is primarily used |
| ID | Student Identification Number - Unique identifier following NUS format |
| Home folder | The folder in your file system that serves as your personal storage space |
| Command terminal | Powershell on Windows, Terminal on Mac and Linux |
| Unicode | A text encoding standard maintained by the Unicode Consortium designed to support the use of text in all of the world writing systems that can be digitized. |