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
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.
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.
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.
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
.
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]
-
Possible grade options are the standard letter grades (A_PLUS, A, A_MINUS, B_PLUS, B, B_MINUS etc.) and IC, EXE, CS, CU, W, S, U.
-
You cannot add an existing module with the same semester.
-
You can only add a module if you have previously added its prerequisites.
[coming in v2.0]
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.
-
This command is undoable and redoable
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
-
This command also analyzes and prints workload information.
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:
-
This command also analyzes and prints CAP information
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
-
The given semester must be a valid semester from year 1 to 5, in either the first or second semester, or GRAD if the student has completed all semesters.
-
All modules taken in the previous semesters must have a finalized grade. The minimum expected grade and maximum expected grade must be the same.
Examples:
-
cursem Y3S2
Sets the current semester to the second semester of year 3. -
cursem GRAD
Sets the current semester to the graduated semester.
-
This command is undoable and redoable
Removes a module from the module plan based on its index in the most recently displayed list.
Format: delete INDEX
-
Shows a message if the given index is invalid
-
This command is undoable and redoable
Examples:
-
delete 1
Deletes the first module on the most recently displayed list.
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. |
Warning
|
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.
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:
These 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
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]
-
Parameters can be in any order, but the index must be entered first.
-
At least one field to be edited must be given.
Examples:
-
edit 2 min/A_PLUS
Changes the expected min grade of the second module in the most recently displayed list to A+.
-
This command is undoable and redoable
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]
-
Parameters can be in any order and are case-insensitive.
-
Module code can be entered partially, but semester and grade must be in the exact format.
-
For unfinished modules, searching by grade will display those whose grade range covers that grade.
-
Finished status is indicated by
y
for finished module (i.e. semester read is before current semester) or any other value for unfinished.
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.
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. |
Recommends modules that can be read based on the current module plan and course requirements.
Format: rec
-
Modules with unmet prerequisites or those already added (except for failed modules) will not be recommended.
-
Recommended modules are displayed in order of requirement type satisfied: Core, Breadth & Depth, Industry Experience, Faculty, General Education. Modules with the same requirement type satisfied are sorted by level.
ℹ️
|
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.
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)
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:
-
Computer Science Algorithms
-
Computer Science Artificial Intelligence
-
Computer Science Software Engineering
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.
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]
-
Parameters can be in any order, but the semester must be entered first.
-
The given semester must be a valid semester from year 1 to 5, in either the first or second semester.
-
At least one field to be edited must be given.
-
Newly edited limits must be not be out of order. Minimum CAP must not be more than the maximum 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.
-
This command also able to set workload limits for each semester.
-
This command is undoable and redoable
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]
-
Parameters can be in any order, but the semester must be entered first.
-
The given semester must be a valid semester from year 1 to 5, in either the first or second semester.
-
At least one field to be edited must be given.
-
Newly edited limits must be not be out of order such that the following requirements are met:
-
Minimum lecture hours must not be more than the maximum lecture hours
-
Minimum tutorial hours must not be more than the maximum tutorial hours
-
Minimum lab hours must not be more than the maximum lab hours
-
Minimum project hours must not be more than the maximum project hours
-
Minimum preparation hours must not be more than the maximum preparation 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.
-
This command also able to set CAP limits for each semester.
-
This command is undoable and redoable
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)
Data are saved in the hard disk automatically after any command that changes them. There is no need to save manually.
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.
-
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