Welcome to the TrackMate User Guide - your essential supplementary tools in your teaching journey as a School of Computing (SoC) Teaching Assistant at National University of Singapore (NUS).
In this comprehensive user guide, we will take you to experience a full journey with TrackMate step by step.
TrackMate is a desktop application specifically designed for teaching assistants (TAs) who work at the School of Computing (SoC) of National University of Singapore (NUS). By providing an efficient solution to manage student data, TrackMate simplifies the process of tracking assignments, tutorials, and attendance. With its powerful Command Line Interface (CLI), TrackMate allows TAs to efficiently manage student information while enhancing productivity in their administrative tasks.
Overview of Main Features:
Level of Relatedness: Users of TrackMate are TAs within SoC who are actively involved in managing students’ academic progress, particularly in tutorials, assignments, and attendance tracking.
Comprehension: Users are expected to have a working knowledge of academic processes such as student grading, tutorial scheduling, and attendance monitoring within the context of NUS.
Prior Knowledge: TrackMate assumes users have basic computer proficiency, particularly in navigating CLI environments, and are comfortable managing data related to student performance.
Desire for Efficiency: Users of TrackMate prioritize streamlined workflows, allowing them to manage student data effectively while reducing the time spent on repetitive tasks.
This guide is crafted to ensure that you make the most of TrackMate's functionality. Whether you are just starting out or are an experienced TA, the guide will walk you through using the tool efficiently, offering shortcuts and tips to enhance your experience. By following the steps outlined here, you'll be able to simplify your workflow, allowing you to focus more on teaching and less on administrative tasks.
We’re here to help you make the most out of your TA experience with TrackMate. Let’s dive in and explore how TrackMate can transform the way you manage student data at SoC!
This section is designed to help users effectively navigate the User Guide for TrackMate. Below, you'll find information on how to interpret icons, formatting, and instructions provided throughout the document.
Table of Contents: Located at the beginning of the document, the Table of Contents provides an overview of the topics covered. Users can click on any section title to jump directly to that part of the guide.
Section Organization: Each section is organized with headings and subheadings, breaking down information into manageable chunks. Users can easily locate specific topics or commands by scanning through the contents.
Written below is a detailed overview of the main sections in this User Guide and what you can expect from each section.
Installation: New to TrackMate? Visit this section for a straightforward, step-by-step guide on installing the application.
Commands: Dive into the details of TrackMate's commands, with thorough explanations and practical examples to help you master command usage.
Command Summary: Designed for experienced users, this section provides a quick-reference list of all supported commands.
FAQ: If you have questions or encounter issues, this section covers frequently asked questions to help you resolve common concerns.
Ensure that you have Java 17 installed on your computer. TrackMate works the best with Java 17
while there may be other versions that it can function on as well.
Download the latest TrackMate.jar file from the link here.
Move the file to the directory that you have as the home folder
that you want to keep your TrackMate.jar file in.
Go to your command terminal by following the instructions below, depending on the OS that you use.
Navigate to the directory that holds the TrackMate.jar application by using the cd command.
After navigating to the directory, enter the java -jar TrackMate.jar command to run the application.
Wait for a few seconds and a GUI should pop up, similar to the one shown below.
help and pressing Enter will open the help window.addTut tn/CS2103T W01 c/T1001 : Adds a tutorial of name CS2103T W01 and tutorial id T1001.addStu n/Samson s/A1234567X c/T1001 : Adds a student to the application and assigns him to tutorial with tutorial id T1001.markAtt s/A1234567X c/T1001 d/2024-01-24: Marks the attendance of the student with id A1234567X for the tutorial class with id T1001 on the
date 2024-01-24.list : Lists all student details.clear : Clears all data from TrackMate.exit : Exits the app.The designated names for each component of the User Interface will be used consistently throughout the User Guide to ensure clarity and minimize confusion. Below is a detailed description of each component.
Menu Box: The menu bar, located at the top of the interface, provides access to various functions and features within TrackMate.
Logo: This represents the logo of our application, TrackMate.
Command Box: This section allows users to enter commands for TrackMate to execute.
Result Box: The box shows the results of executed commands at the interface.
Student List Panel: This panel visually represents the roster of students stored within TrackMate.
Student Panel Card: Within the Student List Panel, each student is depicted with their details displayed in card format.
Student Card: Users can view detailed information about a student by referring to the Student Card, which displays comprehensive information stored in the system.
Index: This component displays the position of each student in the Student List Panel.
Student Name: The Student Name is displayed in both the Student Card and the Student Panel Card, representing the student’s name.
Student ID: Every student will be assigned to a student ID before being added to a system. Take note that the student ID is unique and is an easy way to identify a student.
Tutorial Class allocated to student: This component appears just below the student ID. The component displays the tutorial class that the student is allocated to.
Attendance Tag: The attendance tag displays all of the dates in which the student has attended the tutorial class.
yyyy/mm/dd.Selected Student: Highlighted in blue, this component indicates the selected Student Panel Card for viewing in the Student Card.
TrackMate operates primarily through text-based commands. Before we explore the specific commands in detail in the Commands section, let’s familiarize ourselves with the basic components and format of a command.
Tip: All the command words are case-sensitive!
addStuis different fromaddstu
In TrackMate, a parameter prefix acts as a delimiter for specifying different types of parameters in commands. Here's a reference table for common parameter prefixes and their corresponding parameters:
| Parameter Prefix | Corresponding Parameter |
|---|---|
n/ | STUDENT_NAME or ASSIGNMENT_TITLE |
s/ | STUDENT_ID |
tn/ | TUTORIAL_NAME |
c/ | TUTORIAL_ID |
d/ | ASSIGNMENT_DUE_DATE or ATTENDANCE_DATE |
In TrackMate, a parameter represents a placeholder where users input data. Parameters typically follow immediately after their corresponding Parameter Prefixes. Essentially they are to be supplied by the user.
Note: All user inputs including parameters will be trimmed (all leading and trailing whitespaces will be ignored).
| Parameter | Parameter Prefix | Description |
|---|---|---|
STUDENT_NAME | n/ | Specifies the name of a student. Requirements:
|
STUDENT_ID | s/ | Specifies the Student ID of a student. Requirements:
|
TUTORIAL_NAME | tn/ | Specifies the name of a tutorial. Requirements:
|
TUTORIAL_ID | c/ | Specifies the Tutorial ID of a tutorial. Requirements:
|
ASSIGNMENT_TITLE | n/ | Specifies the name of an assignment. Requirements:
|
ASSIGNMENT_DUE_DATE | d/ | Specifies the due date of an assignment. Requirements:
|
ATTENDANCE_DATE | d/ | Specifies the attendance date of a student. Requirements:
|
KEYWORD | Not Applicable | Specifies the keywords to search for when finding students. Requirements:
|
INDEX | Not Applicable | Refers to the index number shown in the Student List Panel. Requirements:
|
To understand how a full command is interpreted, we will utilise the following example.
Example: addStu n/STUDENT_NAME s/STUDENT_ID [c/TUTORIAL_ID]
Tip: You can add a student without specifying a tutorial ID!
Structure of Command:
| Component | Description | |
|---|---|---|
addStu | Command | Executes Add Command to add a student. |
n/ | Parameter Prefix | Unique prefix to distinguish STUDENT_NAME from other prefix. |
STUDENT_NAME | Parameter | Represents placeholder for name of the student. |
General Notes about TrackMate:
A command can be categorized into three formats:
COMMAND+PARAMETER_PREFIX+PARAMETERCOMMAND+PARAMETERCOMMAND
Hint:
Adding a tutorial before enrolling a student would make the process more efficient!
This section provides comprehensive guidance on how to use each command, detailing their functionalities and usage scenarios. For specific constraints related to each parameter, please refer to the Parameters section for detailed information.
addStuAdds a student to the TrackMate application.
Format: addStu n/NAME s/STUDENT_ID [c/TUTORIAL_ID]
Tip: You can add a student without specifying a tutorial ID!
Command Detail & Constraints:
[c/TUTORIAL_ID]is optional to add. If not provided, the student will not be assigned to any tutorial upon addition.Notes:
- Execute
addStucommand afterfindcommand will return the full list of students in TrackMate application.- Since this application is catered to only one module, each student can only be assigned to one tutorial.
Examples:
addStu n/Samson s/A1234567X c/T1001 : Adds a student named "Samson" with the student ID "A1234567X" and assigns him/her to tutorial ID "T1001".
Expected output: New student added: Samson; Student ID: A1234567X; Tutorial Class: T1001
addStu n/Alice s/A1234567C : Adds a student named "Alice" with the student ID "A1234567C" without assigning a tutorial class.
Expected output: New student added: Alice; Student ID: A1234567C; Tutorial Class: No tutorial assigned
editEdits the existing student details in the TrackMate application.
Format: edit INDEX [n/NAME] [s/STUDENT_ID] [c/TUTORIAL_ID]
Command Detail & Constraints:
INDEX. The index refers to the index number shown in the displayed student list. The index must be a positive integer 1, 2, 3, …Note:
edit command after find command will edit the student data based on the filtered list after find commandExamples:
edit 1 n/Samson Chew s/A1234567M : Edits the name and student ID of the 1st student to be "Samson Chew" and "A1234567M" respectively.edit 2 c/T1002 : Edits the tutorial ID of the 2nd student to be "T1002".deleteStuDelete a specified student from the TrackMate application.
Format: deleteStu INDEX
Command Details & Constraints:
INDEX.INDEX must not exceed the number of student in the displayed list.deleteStu command.deleteStu and a valid INDEX.Note:
deleteStu command after find command will delete the student data based on the filtered list after find commandExample:
deleteStu 1 deletes the first person in the list displayed.findFinds persons whose names contain any of the given keywords.
Format: find KEYWORD [KEYWORD]...
Command Details & Constraints:
Example:
find John returns john and John Doefind alex david returns Alex Yeoh, David LilistShows a list of all students in the TrackMate application.
Format: list
Command Details & Constraints:
addTutAdds a tutorial with a specified tutorial name and tutorial id to the TrackMate application.
Format: addTut tn/[TUTORIAL NAME] c/[TUTORIAL ID]
Tip: For tutorials that you have trouble in naming, use the module name as the tutorial name. (ie. CS2103T)
Command Details & Constraints:
TUTORIAL_NAME and TUTORIAL_IDTUTORIAL_ID should be alphanumeric with the following format TXXXX where T signifies that it is a tutorial code
and X must be an integer between 0 and 9.TUTORIAL_ID in the list even when their TUTORIAL_NAME is different.Example:
addTut tn/CS2103T c/T1001 adds a tutorial with Tutorial Name CS2103T and Tutorial ID T1001, provided that there is
no other tutorial with the Tutorial ID T1001.Note: We can have tutorials with different tutorial names and the same tutorial id to support better flexibility over classes. For example, there can be 2 tutorial classes with
TUTORIAL_NAMECS2103T-W08, but can have 2 different tutorial ids to account for the 2 different groups.
deleteTutDelete a specified tutorial from the TrackMate application.
Format: deleteTut c/TUTORIAL_ID
Command Details & Constraints:
TUTORIAL_ID TUTORIAL_ID must exist in the tutorial list.deleteTut command.Example:
deleteTut c/T1001 deletes the tutorial with Tutorial ID T1001, provided the tutorial exists.listTutList all the tutorials that are currently stored in the application
Format: listTut
Command Details & Constraints:
addAsgAdd a new assignment with the given title and due date to the TrackMate application.
Format: addAsg n/ASSIGNMENT_TITLE d/yyyy-MM-dd HHmm
Command Details & Constraints:
Assignment 1 is different from assignment 1.addAsg n/Assignment 1 d/2024-05-05 1200 and addAsg n/assignment 1 d/2024-05-05 1200 are allowed one after another.yyyy-MM-dd HHmm and represent a valid date and time.
2024-02-30 1200 is invalid as 30th February does not exist.2024-02-29 1200 is valid as 29th February 2024 exists.2024-02-02 2401 and 2024-02-02 2400 are both invalid timings.Example:
addAsg n/CS2103T Assignment 2 d/2024-10-25 2359addAsg n/CS2101 CA1 d/2024-09-23 1200deleteAsgDelete a specified assignment from the TrackMate application.
Format: deleteAsg n/ASSIGNMENT_TITLE
Command Details & Constraints:
ASSIGNMENT_TITLE ASSIGNMENT_TITLE must exist in the assignment list.ASSIGNMENT_TITLE must not be empty.deleteAsg command.Example:
deleteAsg n/CS2101 CA3 deletes the assignment with assignment name CS2101 CA3, provided the assignment exists.listAsgList all assignments tracked in the TrackMate application.
Format: listAsg
Command Details & Constraints:
Tip: For sections 4.3.4 and 4.3.5, before using the
markandunmarkcommands, users should first run thelistAsgcommand to view assignment names.
markAsgMark the status of the given assignment for the student at specified index as completed.
Format: markAsg INDEX n/ASSIGNMENT_TITLE
Command Details & Constraints:
Example:
markAsg 1 n/CS2103T Assignment 2markAsg 12 n/CS2101 CA1unmarkAsgMark the status of the given assignment for the student at specified index as not completed.
Format: unmarkAsg INDEX n/ASSIGNMENT_TITLE
Command Details & Constraints:
Example:
unmarkAsg 1 n/CS2103T Assignment 2unmarkAsg 10 n/CS2101 CA1checkAsgCheck the completion statistics of the specified assignment.
Format: checkAsg n/ASSIGNMENT_TITLE
Command Details & Constraints:
Example:
checkAsg n/CS2103T Assignment 2checkAsg n/CS2101 CA1markAttMark student attendance within the tutorial class.
Format: markAtt s/STUDENT_ID c/TUTORIAL ID [d/ATTENDANCE_DATE]
Command Details & Constraints:
Example:
markAtt s/A1234567X c/T1001 d/2024-02-21 marks the attendance of student with student ID A1234567X in tutorial class T1001 on 2024/02/21.markAtt s/A1234567X c/T1001 marks the attendance of student with student ID A1234567X in tutorial class T1001 on today's date.deleteAttDelete student attendance within the tutorial class.
Format: deleteAtt s/STUDENT_ID c/TUTORIAL ID [d/ATTENDANCE_DATE]
Command Details & Constraints:
Example:
deleteAtt s/A01234567X c/T1001 d/2024-02-21 deletes the attendance of student with student ID A01234567X in tutorial class T1001 on 2024/02/21.deleteAtt s/A01234567X c/T1001 deletes the attendance of student with student ID A01234567X in tutorial class T1001 on today's date.View a single student's details in a formatted and organized manner.
Method - Using GUI: Double-click on a specific Student Panel Card within the Student List Panel of the TrackMate User Interface.
Note: After editing student details, user needs to re-click the Student Panel Card on the right to refresh the student card on the left to show the updated student details.
clearClears all data from TrackMate.
Format: clear
Command Details & Constraints:
exitExits the TrackMate application.
Format: exit
Command Details & Constraints:
helpShows a message explaining how to access the help page.
Format: help
Command Details & Constraints:
The data in the TrackMate application are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
The TrackMate data are automatically saved as JSON files at the following locations:
[JAR file location]/data/addressbook.json[JAR file location]/data/tutorials.json[JAR file location]/data/assignments.jsonQ: 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 TrackMate home folder.
Q: Can this app be used to handle multiple modules?
A: While this app allows for flexibility in naming your tutorials, it should not be used to handle multiple modules.
preferences.json file created by the application before running the application again.| Term | Definition and or Explanation |
|---|---|
| NUS | National University of Singapore |
| TA | Teaching Assistant, a tutor who will conduct tutorials in National University of Singapore |
| SoC | School of Computing in National University of Singapore |
| Student ID | A particular format of ID followed in NUS, Starting with a letter A followed by 7 digits and ending with a capital letter e.g A0252195L |
| GUI | Graphical User Interface , all the part of the application which you can interact with your mouse |
| CLI | Command Line Interface , part of application which can only be used with commands from the Keyboard |
| JSON | JavaScript Object Notation, a standard file format for data interchange |
| Action | Format, Examples |
|---|---|
| Add Student | addStu n/NAME s/STUDENT_ID [c/TUTORIAL_ID]e.g. addStu n/Samson s/A1234567X c/T1001 |
| Edit Student | edit INDEX [n/NAME] [s/STUDENT_ID] [c/TUTORIAL_ID]e.g. edit 1 n/Samson Chew s/A1234567M |
| Delete Student | deleteStu INDEXe.g. deleteStu 3 |
| Find Student | find KEYWORD [KEYWORD]...e.g. find Samson San Chian |
| List Students | list |
| Add Tutorial | addTut tn/TUTORIAL NAME c/TUTORIAL IDe.g. addTut tn/CS1010 c/T1011 |
| Delete Tutorial | deleteTut c/TUTORIAL IDe.g. deleteTut c/T1011 |
| List Tutorials | listTut |
| Add Assignment | addAsg n/ASSIGNMENT TITLE d/DUE DATEe.g. addAsg n/Assignment 1 d/2024-10-23 1230 |
| Delete Assignment | deleteAsg n/ASSIGNMENT TITLEe.g. deleteAsg n/Assignment 1 |
| List Assignments | listAsg |
| Mark Assignment | markAsg INDEX n/ASSIGNMENT TITLEe.g. markAsg 1 n/Assignment 1 |
| Unmark Assignment | unmarkAsg INDEX n/ASSIGNMENT TITLEe.g. unmarkAsg 1 n/Assignment 1 |
| Check Assignment | checkAsg n/ASSIGNMENT TITLEe.g. checkAsg n/Assignment 1 |
| Mark Attendance | markAtt s/STUDENT_ID c/TUTORIAL ID [d/ATTENDANCE_DATE]e.g. markAtt s/A1234567X c/T1001 d/2024-02-21 |
| Unmark Attendance | deleteAtt s/STUDENT_ID c/TUTORIAL ID [d/ATTENDANCE_DATE]e.g. deleteAtt s/A1234567X c/T1001 d/2024-02-21 |
| Clear | clear |
| Help | help |
| Exit | exit |