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 .\Downloads
Use 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.com
Adds a student with the ID A3478231B
to the application.edit /id A3478231B /attendance present /participation good /grade 84
Edits the attendance, participation and grade of the student with ID A3478231B
toPRESENT
,GOOD
and84
respectively.delete /id A1234567B
Deletes the student with ID A1234567B
in the student list.list
Lists all students. clear
Deletes all students. exit
Exits 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 NT
A, B, E, H, J, L, M, N, R, U, W, X, Y
Examples:
A0738475N
HT0347856U
Name
-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.edu
example32@gmail.com
Course
-NUS course codeFormat:
<(2/3) x (A-Z)> + 4 digits + <(0-2) x (A-Z)>
Default: AAA0000AA
Valid Examples:
CS2103T
IS1108
MA1101R
Attendance
-Student class participation statusStatus | 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 levelStatus | 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.help
Shows a message explaining how to access the help page.
Format:
help
add
Adds 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 late
add /id A4045018Y /name Betsy Crowe /email betsycrowe@example.com /phone 1234567 /course CS4215
Edit
command.
![]()
Fig 3.2 - Output ofadd /id A4235352H /name John Doe /phone 98765432 /email johnd@example.com /note Consistently late
edit
Edits 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
delete
Deletes 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
.clear
Clears all entries from the application.
Format:
clear
If there are no students in BetterCallTA, an error message will be shown.
find
Finds students whose names, IDs or courses contain any of the given keywords.
Format:
find KEYWORD [MORE_KEYWORDS]
hans
will match Hans
Hans Bo
will match Bo Hans
OR
search),Hans Bo
will return Hans Gruber
, Bo Yang
Han
will match Hans
Examples:
find John
returns john
and John Doe
find alex david
returns Alex Yeoh
, David Li
find A1234
returns students with ID numbers that start with A1234sort
Sorts 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 Grade
Examples:
sort /by name
will arrange your list in alphabetical order.sort /by grade
will arrange your students by their grade scores in descending order.list
Shows a list of all students in the application.
Format:
list
file /save FILENAME
BetterCallTA 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 FILENAME
BetterCallTA 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-3
addressbook
save file will be loaded by default. file /list all
BetterCallTA 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]
resetRecords
Resets the attendance and participation status of all students to UNMARKED
.
Format
resetRecords
UNMARKED
, an error message will be shown. exit
Exits 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. |