By: Team W14-4
Since: Feb 2019
Licence: MIT
- 1. Introduction
- 2. Installation Guide
- 3. Quick Guide
- 4. Features
- 4.1. Add module:
add
- 4.2. Check CAP limits:
cklimit
- 4.3. Check workload limits:
cklimit
- 4.4. Clear all data entered:
clear
- 4.5. Set the current semester:
cursem
- 4.6. Delete module:
delete
- 4.7. Display module information:
displaymod
- 4.8. Display course requirements:
displayreq
- 4.9. Edit module:
edit
- 4.10. Exit the program:
exit
- 4.11. Find module:
find
- 4.12. View all other commands :
help
- 4.13. List entered commands:
history
- 4.14. List all modules:
list
- 4.15. Recommend module:
rec
- 4.16. Redo the previously undone command:
redo
- 4.17. Set the current course of study:
study
- 4.18. Set CAP limits:
setlimit
- 4.19. Set workload limits:
setlimit
- 4.20. Undo previous command:
undo
- 4.21. Save data
- 4.22. Encrypt data files
[coming in v2.0]
- 4.23. Update module information
[coming in v2.0]
- 4.1. Add module:
- 5. FAQ
- 6. Command Summary
1. Introduction
GradTrak is an application designed for students of National University of Singapore (NUS) to easily track their graduation progress. The current version of the application offers graduation requirement tracking to Computer Science majors (namely the Algorithms, Artificial Intelligence and Software Engineering Focus Areas). Stay tuned as we will be adding other courses in the near future!
Students can interact with the application by entering commands into the command box. This will benefit Computer Science majors as they can generally type quickly.
2. Installation Guide
Follow the instructions below to install this application.
-
Ensure you have Java version
9
or later installed in your computer. -
Download the latest
GradTrak.jar
here. -
Copy the file to the folder you want to use as the home folder for your GradTrak.
-
Double-click the file to start the application. The application window should appear within a few seconds.
3. Quick Guide
Read the guide below to have a quick understanding of the usage of this application.
-
Refer to
Fig 1
for parts of the User Interface (UI). Here are the brief functionalities of the UI annotated above:-
Task Bar: You can exit the application or access the help menu (this guide) here.
-
Command Box: You can enter a command here to access the features of the application
-
Result Box: You receive feedback for your entered command here. If the command is unsuccessfully executed, the correct input format of the command will be provided.
-
Result Panel: You can view the information associated with the command entered here.
-
Module Panel: You can view the details of the modules that you have taken or are planning to take.
-
-
To access a feature of the application, type a command in the command box and press Enter to execute it. For example, typing
help
and pressing Enter will open the help window. -
You might wish to set the course of study first. There are currently 3 courses available in this app: Computer Science Algorithms, Computer Science Artificial Intelligence, Computer Science Software Engineering. To set the course, enter the following command:
study [COURSE]
-
Here are some commands you can try:
-
add
c/CS1010 s/Y1S1
: adds the module "CS1010", taken in Y1S1, to the module plan -
delete
1
: deletes the first module on the most recently displayed list -
displayreq
: displays information on your course requirements and the percentage completed for each requirement. -
cklimit
: displays information on your current semester and a report with the CAP and workload information of the current module plan -
exit
: exits the application
-
Here we only introduced some of the more basic functions and commands of GradTrak. The following section, Section 4, “Features”, will give you a more detailed guide/walk through for each command.
4. Features
Command Format
-
Words in
UPPER_CASE
are the parameters to be supplied by the student, e.g. inadd c/MODULE_CODE
,MODULE_CODE
is a parameter which can be used asadd c/cs1010
. -
Items in square brackets are optional e.g
c/MODULE_CODE [g/GRADE_OBTAINED]
can be used asc/CS1010 g/A
or asc/CS1010
.
4.1. Add module: add
Adds a module to the module plan based on the given module code, semester taken and expected / obtained grade.
Format: add c/MODULE_CODE s/SEMESTER [ming/NEW_EXPECTED_MIN_GRADE] [maxg/NEW_EXPECTED_MAX_GRADE] [lec/NEW_LECTURE_HOURS] [tut/NEW_TUTORIAL_HOURS] [lab/NEW_LAB_HOURS] [proj/NEW_PROJ_HOURS] [prep/NEW_PREP_HOURS]
Examples:
-
add c/CS2103T s/Y1S1
Adds the module CS2103T, to be taken in the first semester of year 1, to the module plan. -
add c/CS2103T s/Y2S2 max/B_MINUS
Adds the module CS2103T, to be taken in the second semester of year 2 with expected max grade B-, to the module plan.
4.2. Check CAP limits: cklimit
To find out if their current plans are suitable in maintaining their CAP for each semester, students would like to:
-
Know what their current CAP is.
-
Be able to estimate their minimum and maximum projected CAP based on their estimated grade range for each module
-
Find out if any semester has too many difficult modules that would pull down their CAP unexpectedly, or too many easy modules that could be distributed to other semesters to maintain a more steady and predictable CAP for all semesters.
GradTrak is able to consolidate all the information about the modules they plan to take and the limit preferences they have for each semester. This allows the student to run a CAP analysis on their current module plan and generate the results to be printed all in one page on their screen.
The edit command allows students to indicate their expected minimum and maximum grades for each module they plan to take.
|
The setlimit command allows students to indicate their CAP preferences for each semester.
|
The cklimit
command calculates the expected minimum and maximum CAP of each semester and checks them against the limit preferences set by the student.
Format: cklimit
The image below shows the display after using the cklimit
command
cklimit
is displayed4.3. Check workload limits: cklimit
To find out if their current plans are optimized in workload distribution, students would like to:
-
Know what is the total number of workload hours for each semester in their current module plan.
-
Find out if any semester is too heavy or light on any type of workload that could suggest a reallocation of modules to redistribute the workload across all semesters.
GradTrak is able to consolidate all the information about the modules they plan to take and what limit preferences they have for each semester. This allows the student to run a workload analysis on their current module plan and generate the results to be printed all in one page on their screen.
The edit command allows students to indicate their expected workloads for each module they plan to take.
|
The setlimit command allows students to indicate their workload preferences for each semester.
|
The cklimit
command calculates the total expected weekly workload of each semester and checks them against the limit preferences set by the student.
Format: cklimit
The image below shows the display after using the cklimit
command and scrolling down the result page to the section on workload information:
cklimit
is displayed after scrolling down the result page4.4. Clear all data entered: clear
Deletes all the added modules in the module plan.
Format: clear
4.5. Set the current semester: cursem
GradTrak keeps track of the current semester of the student and considers all modules taken before the current semester to be completed.
All completed modules must have a finalized grade and will be included in the calculation of the current CAP during the cklimit
command.
After the student receives the results of the modules they took in the latest semester, they can confirm the grades attained in that semester and update GradTrak with their final grades. They can then inform GradTrak of their current semester to indicate completion of all modules in the previous semesters, so that the calculation of their current CAP will be updated as well.
The cursem
command updates GradTrak with the current semester.
Format: cursem SEMESTER
Examples:
-
cursem Y3S2
Sets the current semester to the second semester of year 3. -
cursem GRAD
Sets the current semester to the graduated semester.
4.6. Delete module: delete
Removes a module from the module plan based on its index in the most recently displayed list.
Format: delete INDEX
Examples:
-
delete 1
Deletes the first module on the most recently displayed list.
4.7. Display module information: displaymod
The displaymod
command shows all the modules that are available in NUS based on the search by the student. This command simply
shows modules straight from NUS’s database of modules and does not check if the student has met the prerequisites to read
a particular module.
This command will allow students to find out more about a module or even compare modules so as to decide which modules to read
in the upcoming semesters. Once decided on which module the student plans to read, they can use Section 4.1, “Add module: add
” command to add the
module to their own list.
Searches are case-insensitive. |
Students must strictly adhere to syntax of the displaymod command in order to get optimum search results.
|
There are 2 ways to search for modules:
-
Search by code: All modules have module code associated with it, this makes it easier to remember modules.To search for modules based on code, a
c/
prefix must be added afterdisplaymod
command, followed by a list of modules which are separated by,
.
Format: `displaymod c/MODULE_CODE,[MODULE_CODE]
The search above should yield a result:
However if students wishes to search for multiple modules at once they can follow the example given below:
The search above should yield a result:
-
Search by name: There are cases where students may not remember or know the module code but vaguely remember the module name. Students who find themselves in such a situation can search for modules by their names by adding a
n/
prefix after thedisplaymod
command, followed by keyword/s that can be found in the module name. Keywords have to be separated by+
symbol.
Format:displaymod n/KEYWORD+[KEYWORD]
The search above should yield a result:
However if students wishes to search for multiple modules at once they can follow the example given below:
The search above should yield a result:
If the student has successfully managed to display a module of their choice, they will be presented with module/s containing several information that the student will find useful. The example below will show the information provided for each module after a successful search:
What each number displays:
1. Shows the module code and module name.
2. Shows which department the module belongs to.
3. Displays the amount of module credits a student can gain by reading this module.
4. Displays a brief description of the modules and potentially the topics that may be covered.
5. Contains the prerequisite tree for each module.
6. Contains workload load information, the values are meant to be read as Hours.
4.8. Display course requirements: displayreq
One of the core functions of GradTrak is to check whether the student has fulfilled his/her degree requirement.
As of v1.4
of the application, GradTrak currently only has course information of 3 Computer Science major Focus Areas, namely:
-
Algorithms
-
Artificial Intelligence
-
Software Engineering
The course of study can be changed by using the study
command which will be outlined in the later sections of this guide.
Based off the modules you have passed and completed, or have planned to take in the future semesters, this command displays to you the degree to which you have completed your course requirements. It also displays other relevant information regarding your course’s requirements. This can be seen in the annotated screenshot below:
displayreq
is invokedThese information are displayed in the result panel when displayreq
is keyed in:
-
Name of the course requirement.
-
Description of the course requirement. Gives an overview of the modules the student should take to fulfill the requirement.
-
Requirement type. Informs the student the importance of the requirement in relation to their course of study.
-
Requirement progress bar and percentage. Informs the student the extent to which he/she have fulfilled the course requirement.
Format: displayreq
4.9. Edit module: edit
Edits the semester, grade or workload of a module in the module plan, based on its index in the most recently displayed list.
Format: edit INDEX [s/NEW_SEMESTER] [ming/NEW_EXPECTED_MIN_GRADE] [maxg/NEW_EXPECTED_MAX_GRADE] [lec/NEW_LECTURE_HOURS] [tut/NEW_TUTORIAL_HOURS] [lab/NEW_LAB_HOURS] [proj/NEW_PROJ_HOURS] [prep/NEW_PREP_HOURS]
Examples:
-
edit 2 min/A_PLUS
Changes the expected min grade of the second module in the most recently displayed list to A+.
4.10. Exit the program: exit
Exits the program.
Format: exit
4.11. Find module: find
Finds modules in the module plan matching all given module code, semester, grade or finished status.
Format: find [c/MODULE_CODE] [s/SEMESTER] [g/GRADE] [f/IS_FINISHED]
Examples:
-
find c/CS
Lists all modules with "CS" in their codes.
-
find s/Y1S2
Lists all modules in Y1S2.
-
find g/A f/y
Lists all finished modules with grade A.
4.12. View all other commands : help
Displays a list of all available commands.
Format: help
4.13. List entered commands: history
Lists all commands entered in reverse chronological order.
Format: history
Pressing the ↑ and ↓ arrows will display the previous and next input respectively in the command box. |
4.14. List all modules: list
Shows a list of all modules in the module plan.
Format: list
4.15. Recommend module: rec
Recommends modules that can be read based on the current module plan and course requirements.
Format: rec
If any change is made to the course or module plan, enter |
The figure below shows a sample recommendation list for a student studying Computer Science Algorithms with an empty module plan.
4.16. Redo the previously undone command: redo
Reverses the most recent undo
command.
Format: redo
Examples:
-
delete 1
undo
(reverses thedelete 1
command)
redo
(reapplies thedelete 1
command) -
delete 1
redo
Theredo
command fails as there are noundo
commands executed previously. -
delete 1
clear
undo
(reverses theclear
command)
undo
(reverses thedelete 1
command)
redo
(reapplies thedelete 1
command)
redo
(reapplies theclear
command)
4.17. Set the current course of study: study
To set the desired course of study, the student can simply key in the following command:
Format: study COURSE
The parameter COURSE is case-sensitive.
|
As of v1.4
, GradTrak has information to keep track of course requirement
from the courses mentioned below:
Example:
-
study Computer Science Algorithms
Sets the course of study to Computer Science with Focus Area Algorithms. Invokingstudy
command again will change your course of study.
More courses will be rolled out in GradTrak in the future.
4.18. Set CAP limits: setlimit
Some students have a desired CAP for graduation. They may like to plan their modules such that it helps them to keep their CAP at a suitable range at all times. This helps to ensure that they can easily apply for programs with minimum CAP requirements such as the Student Exchange Program, or NUS Overseas Colleges, or maintain the CAP requirement of their scholarship for each semester.
GradTrak can keep track of their CAP limit preferences so that it is possible to help them detect whether their current module plan fulfils their preferences.
The cklimit command allows the student to check their limit preferences against their current module plan.
|
The setlimit
command allows you to set the minimum and maximum preferred CAP for a semester.
Format: setlimit SEMESTER [mincap/MIN_CAP] [maxcap/MAX_CAP]
Examples:
-
setlimit Y1S1 mincap/2.52 maxcap/5
This sets the minimum CAP acceptable to 2.52 and maximum CAP acceptable to 5.00 for the first semester in year 1.
4.19. Set workload limits: setlimit
Some students who do not have a strong programming background may be slightly uncomfortable taking multiple programming modules in year 1 as they may feel too stressed from huge weekly lab workloads. Other students who like project work may like to take 1 or 2 team-based modules per semester that focuses on communication skills.
GradTrak can keep track of their workload limit preferences for each semester so that it is possible to help them detect whether their current module plan fulfils their preferences. Various types of workload limits such as total number of weekly lecture hours, tutorial hours, lab hours, project hours, and preparation hours can be set by the student.
The setlimit
command allows you to set the minimum and maximum total weekly workload limits for a semester.
Format: setlimit SEMESTER [minlec/MIN_LECTURE_HOURS] [maxlec/MAX_LECTURE_HOURS] [mintut/MIN_TUTORIAL_HOURS] [maxtut/MAX_TUTORIAL_HOURS] [minlab/MIN_LAB_HOURS] [maxlab/MAX_LAB_HOURS] [minproj/MIN_PROJ_HOURS] [maxproj/MAX_PROJ_HOURS] [minprep/MIN_PREP_HOURS] [maxprep/MAX_PREP_HOURS]
Examples:
-
setlimit Y1S2 minlec/2.5 maxproj/3
This sets the minimum number of weekly lecture hours acceptable to 2.5 and maximum number of weekly project hours acceptable to 3 for the second semester in year 1.
4.20. Undo previous command: undo
Restores GradTrak to the state before the previous undoable command was executed.
Format: undo
Undoable commands: those commands that modify the module plan or course ( |
Examples:
-
delete 1
displayreq
undo
(reverses thedelete 1
command) -
displayreq
cklimit
undo
Theundo
command fails as there are no undoable commands executed previously. -
cursem Y2S2
setlimit Y3S1 minprep/4
undo
(reverses thesetlimit Y3S1 minprep/4
command)
undo
(reverses thecursem Y2S2
command)
4.21. Save data
Data are saved in the hard disk automatically after any command that changes them. There is no need to save manually.
4.22. Encrypt data files [coming in v2.0]
Encrypts your data files.
4.23. Update module information [coming in v2.0]
Retrieves the latest information of all modules from CORS.
5. FAQ
Q: How do I transfer my data to another Computer?
A: Install the application on the other computer and overwrite the empty data file it creates with the file that contains the data of your previous GradTrak folder.
6. Command Summary
-
Add:
add c/MODULE_CODE s/SEMESTER
-
Cklimit:
cklimit
-
Clear:
clear
-
Cursem:
cursem SEMESTER
-
Delete:
delete INDEX
-
Displaymod:
displaym o/OPTIONS [MORE_ARGUMENTS]
-
Displayreq:
displayreq
-
Edit:
edit INDEX [s/NEW_SEMESTER]
-
Exit:
exit
-
Find:
find [c/MODULE_CODE] [s/SEMESTER] [g/GRADE] [f/IS_FINISHED]
-
Help:
help
-
History:
history
-
List:
list
-
Recommend:
rec
-
Redo:
redo
-
Set:
study COURSE
-
Setlimit:
setlimit SEMESTER [mincap/MIN_CAP] [maxcap/MAX_CAP] [minprep/MIN_PREP_HOURS] [maxprep/MAX_PREP_HOURS]
-
Undo:
undo