tp

TutorLink

Introduction

TutorLink is a streamlined, offline application developed for professors at NUS who manage single-staffed classes. It is designed to simplify the management of class assignments, and other administrative tasks, allowing professors to focus on teaching and curriculum development. By automating repetitive tasks and providing quick access to essential information, TutorLink saves valuable time and reduces the burden of administrative work.

Table of Contents

 

Quick Start

  1. Ensure you have Java 17 or above installed in your Computer.
  2. Download the latest .jar file of TutorLink from here.
  3. Copy the file to the folder you want to use as the home folder for your TutorLink.
  4. Open a command terminal, cd into the folder you put the jar file in, and use the java -jar TutorLink.jar command to run the application.

Your command terminal should look similar to the one below.

tutorlink_startup.png

Important Notes on Commands:

When inputting commands into TutorLink, kindly take note of the following:

Important Notes for Grade Calculation:

  1. Total Weight (sum) of Components cannot exceed 100%. An error will be displayed should you attempt to add a component that causes the overall weight to exceed 100%. For illustration, consider the following scenario:
-------------------------------------------------------------
list_component
-------------------------   Result   -------------------------
	1: Quiz 2 (maxScore: 20.0, weight: 30%)
	2: Quiz 4 (maxScore: 20.0, weight: 25%)
-------------------------------------------------------------
add_component c/Quiz 1 w/60 m/10
-------------------------   Error   -------------------------
Error! Total weighting must not exceed 100%.
Current weighting (after addition): 115%
-------------------------------------------------------------

In this case, an error was thrown because total component weighting exceeded 100%

  1. Total Weight of Components do not need to sum to 100 for grade computation to be meaningful (see below).
  2. percentage_score computation follows the following equation: sum(grade score [of student]/max component score * component_weight) / total component weight To illustrate:
list_component
-------------------------   Result   -------------------------
1: Quiz 2 (maxScore: 20.0, weight: 30%)
2: Quiz 4 (maxScore: 20.0, weight: 25%)
-------------------------------------------------------------
list_grade
-------------------------   Result   -------------------------
List of All Grades:

1: Ethan Chua (A0276007H):
   1. Quiz 2         : 15.00
   2. Quiz 4         : 10.00
   Final Percentage Score: 63.64%


-------------------------------------------------------------

The computation of the final score is as follows: (15/20*30 [Quiz 2] + 10/20*25 [Quiz 1])/(30 + 25 [Total Weighting]) = 63.64% (2d.p)

Features

Viewing help: help

Shows a message explaining different features of the app.


Adding a Student: add_student

Adds a student to your class.


Deleting a Student: delete_student

Removes a student from the class. Note that a student can only be deleted using his/her matric number to prevent identification errors.


 

Listing All Students: list_student

Displays a list of all students in the class.


Finding a Student: find_student

Searches for a student and returns a list of matching results, complete with information such as matric number and percentage score


Adding a Component: add_component

Adds a new grading component to the class (e.g., “Homework,” “Midterm,” “Final Exam”).


 

Deleting a Component: delete_component

Removes an existing grading component from the class.


Updating Components: update_component

Updates an existing component in the class


Listing Components: list_component

Displays all grading components and their respective weights for a class.


Adding a Grade of a Component for a Student: add_grade

Records a grade for a specific student in a particular assignment or exam component.


 

Deleting a Grade of a Component for a Student: delete_grade

Removes a previously recorded grade for a specific student and component.


Listing Grades: list_grade

Views all recorded grades for a specific student or all students, and final percentage calculation. If the weightage of components does not add up to 100% (i.e., the course is still in progress), “IP” (In Progress) will be shown instead of a final percentage.


 

Exiting the program: bye

Exits the program.


Saving the data

TutorLink data is saved in the hard disk automatically after every command execution. There is no need to save manually. Existing data from previous application runs are loaded on startup.

The data from the student, component and grade lists are stored in studentlist.txt, componentlist.txt and gradelist.txt respectively, located in the [JAR file location]/data/ directory.


FAQ

Q: How do I transfer my data to another computer?

A: To transfer data, simply copy the TutorLink home folder (where the .jar file and data files are located) to your new computer. Then, download Java 17 (if not already installed), place the .jar file in the copied folder, and run java -jar TutorLink.jar from that folder.

Q: Can I update data by directly editing the data files?

A: Do so at your own risk. If changes to the data file alter its format, invalid file lines will discarded during startup, and displayed in the command line for verification. While TutorLink can detect most invalid file entries, certain edits can cause unexpected behaviour. Therefore, it is not recommended to edit the data files unless you are confident you can do so correctly.


 

Command Summary

Command Description Example
help Displays list of commands help
add_student Adds a student to the class roster add_student i/A1234567X n/John Doe
delete_student Deletes a student from the class roster delete_student i/A1234567X
list_student Lists all students in the class list_student
find_student Finds a student in the class roster by name or matric number find_student i/A1234567X n/John Doe
add_component Adds a new grading component to the class add_component c/Quiz 1 w/30 m/50
delete_component Deletes a grading component from the class delete_component c/Quiz 1
update_component Updates a component with a new maxscore or weight update_component c/Quiz 1 w/40 m/60
list_component Lists all grading components list_component
add_grade Adds a grade for a student for a specific component add_grade i/A1234567X c/Quiz 1 s/45
delete_grade Deletes a student’s grade for a specific component delete_grade i/A1234567X c/Quiz 1
list_grade Lists all grades for a student list_grade i/A1234567X
bye Exits the program bye

Coming Soon…