Future Academic Planner (FAP) is a robust academic management software designed to help streamline NUS Computer Engineering (CEG) student’s academic journey at NUS. If you can type fast, FAP can get your module planning done faster than your traditional GUI app.
Ensure you have java 11 or above installed on your computer
Download the latest FAP.jar from here
Copy the file FAP.jar to a new empty folder
Open a command terminal in the directory of the folder, and use java -jar FAP.jar to run the application
add c/COURSE_CODE w/WHEN: Add a module (COURSE_CODE) to your module plan on Semester (WHEN)view: Shows your module plan so farbye: Exits the FAP applicationHead to Features right below for more details on each command
IMPORTANT: All arguments must be provided and must follow the specified order in Format
Words in UPPER_CASE are the parameters to be supplied by the user
remove c/COURSE_CODE, COURSE_CODE is a parameter which can be used as remove c/CS2113setset: Personalises the bot for the user
Anonymous, Current Semester is set to 1Format: set n/NAME curr/CURR_SEM
NAME represents the name of the user
CURR_SEM represents the current semester (From 1-8) the user is currently in
NAME must only have alphabetic characters (either uppercase or lowercase) and optionally spaces in betweenCURR_SEM must be a positive integer from 1-8, to represent the semester the user is currently inExample usage:
set n/James Gosling curr/1
Expected output:
__________________________________________________
Greetings James Gosling! Your details are updated:
You are currently in Semester 1
__________________________________________________
addadd: Adds modules to the user’s course plan
Format: add c/COURSE_CODE w/WHEN
COURSE_CODE must be a valid course code from NUS mods from AY23-24WHEN must be a valid semester from 1-8Example usage:
add c/CS2113 w/4
Expected output:
__________________________________________________
Added the new module: CS2113
Software Engineering & Object-Oriented Programming
__________________________________________________
removeremove: Removes modules from the user’s course plan
Format: remove c/COURSE_CODE
COURSE_CODE must be a valid course code from NUS mods from AY23-24Example usage:
remove c/CS2113 (assuming CS2113 is in the list)
Expected output:
__________________________________________________
Module CS2113 removed!
__________________________________________________
viewview: Allows users to view their academic plan.
Format: view
name (Anonymous if not inputted by the user)current studying semester (1 if not inputted by the user)module course code and grade, along with the semester associated with it (empty if not inputted by the
user)total modular credits taken (modular credits of all modules taken up till and including current semester)total modular credits listed (modular credits of all modules listed in the schedule)Example usage:
view
Example output:
CEG Study Plan for: James Gosling
_____________________________________________________________
| Y1S1 [Sem 1] | Y1S2 [Sem 2] | Y2S1 [Sem 3] | Y2S2 [Sem 4] |
|CS1010 |CG2111A |CS2040C |CS2113 A+|
|CG1111A |PF1101 A-|EE2026 |CG2271 |
| |DTK1234 | | |
_____________________________________________________________
| Y3S1 [Sem 5] | Y3S2 [Sem 6] | Y4S1 [Sem 7] | Y4S2 [Sem 8] |
|CP3880 | |CG4002 | |
_____________________________________________________________
- Current Study: Semester 4
- Total MCs taken: 36 / 160
- Total MCs listed: 56 / 160
_____________________________________________________________
view c/COURSE_CODE: Allows users to view specific course information
Format: view c/COURSE_CODE
Example usage:
view c/GEX1007
Example output:
======================================================================
| Title: Geopolitics: Geographies of War & Peace Credits: 4 |
======================================================================
| Description: This is cross-Faculty course aimed at introducing |
| Geopolitics to a broad range of students. The course is designed |
| to be as engaging and interactive as possible: utilising various |
| multi-media tools, including documentary clips, news media, filmic |
| resources, popular journals and magazines. Not surprisingly, the |
| course has a very lively section on Popular Geopolitics. In |
| addition, we introduce students to the interactions of geopolitics |
| and political space through detailed examination of different |
| geopolitical eras and codes, specifically: Cold War Geopolitics |
| and the Human Landscapes of Southeast Asia: and the so-called |
| "Global War on Terror". |
======================================================================
graduategraduate: Allows users to view the remaining core CEG modules left to take along with their respective MCs
Format: graduate
Example usage:
graduate (assuming add was never called on any valid modules)
Expected output:
+---------------------------+------------+
| Course Code | MCs |
+---------------------------+------------+
| ES2631 | 4 |
| CS1010 | 4 |
| GEA1000 | 4 |
| DTK1234 | 4 |
| EG1311 | 4 |
| IE2141 | 4 |
| EE2211 | 4 |
| CDE2501 | 4 |
| CDE2000 | 4 |
| PF1101 | 4 |
| CG4002 | 8 |
| MA1511 | 2 |
| MA1512 | 2 |
| MA1508E | 4 |
| EG2401A | 2 |
| EG3611A | 10 |
| CP3880 | 12 |
| CG1111A | 4 |
| CG2111A | 4 |
| CS1231 | 4 |
| CG2023 | 4 |
| CG2027 | 2 |
| CG2028 | 2 |
| CG2271 | 4 |
| CS2113 | 4 |
| EE2026 | 4 |
| EE4204 | 4 |
+---------------------------+------------+
Be sure to also complete 40MCs of Unrest
ricted Electives, GESS, GEC, and GEN mod
ules.
gradegrade: Input or adjust the grade obtained for a module
Format: grade c/COURSE_CODE g/GRADE
COURSE_CODE represents the module that you want to input a grade for
GRADE represents the grade you attained for that module
GRADE only accepts alphabetical grade. Following are the allowed inputs for GRADE
A+, A, A-, B+, B, B-, C+, C, D+, D, F, CS, SExample usage:
grade c/cs1231 g/B
Expected output:
__________________________________________________
Grade for CS1231 updated to B
__________________________________________________
gpagpa: Shows user their current GPA
Format: gpa
Example usage:
gpa
Expected output:
__________________________________________________
Your current GPA is: 4.25
__________________________________________________
desiredgpadesiredgpa: Checks if user’s desired final GPA is possible with regard to current GPA, and show a combination of
required grades to obtain to achieve the desired GPA
Format: desiredgpa DESIRED_GPA
DESIRED_GPA must be a number from 0 to 5Example usage:
desiredgpa 4.75 (assuming 2 mods already inputted, 1 A and 1 B)
Expected output:
__________________________________________________
To obtain desired GPA of: 4.75
You will need: 21 A and 17 A-
With the above grades, your end GPA will be: 4.75
__________________________________________________
helphelp: View list of command syntax available for FAP
Format: help
Example usage:
help
Expected output:
_____________________________________________________________
Available Commands:
NOTE: "<WORD>" represents a user-typed argument that is required for the command
1. set n/<NAME> curr/<CURR_SEM> - Set name & current semester
2. add c/<COURSE_CODE> w/<WHEN> - Add a module to your schedule
3. remove c/<COURSE_CODE> - Remove a module from your schedule
4. grade c/<COURSE_CODE> g/<GRADE> - Add or change a module grade
5. gpa - View your GPA
6. desiredgpa <GPA> - Calculates grades needed to achieve a desired GPA
7. view - View modules on your schedule
8. view c/<COURSE_CODE> - View selected module information
9. graduate - View remaining core modules and MCs left to graduate
10. help - View command syntax and list of commands available for FAP
11. bye - Exit the program
Argument format:
<NAME>: Alphabetic characters and optionally spaces between
<CURR_SEM>: Valid semester from 1-8
<COURSE_CODE>: Valid NUS course code from AY23-24
<WHEN>: Valid semester from 1-8
<GRADE>: Alphabetic grade (A+, A, A-, B+, B, B-, C+, C, D+, D, F, CS, S)
<GPA>: Number from 0 to 5
_____________________________________________________________
byebye: Close and exits the program safely
Format: bye
Example usage:
bye
Expected output:
_____________________________________________________________
Bye. Enjoy your studies!
Q: How do I edit a module if I accidentally added it to a wrong semester?
A: Currently you will need to remove the module then add it again to the correct semester.
Q: How do I edit a module if I accidentally added it with a wrong gpa?
A: You can use the command grade c/COURSE_CODE g/GRADE.
Q: What if I S\U the mod, and the mod in the list originally has a grade?
A: You can use the command `grade c/COURSE_CODE g/GRADE, then in the GRADE section put S.
Q: How can I change the current semester I am currently in?
A: You can type the set command again to indicate the current semester you are in.
set n/NAME curr/CURR_SEMadd c/COURSE_CODE w/WHENremove c/COURSE_CODEgrade c/COURSE_CODE g/GRADEgpadesiredgpa DESIRED_GPAviewview c/COURSE_CODEgraduationhelpbyeNAME: Alphabetic characters and optionally spaces betweenCURR_SEM / WHEN: Valid semester from 1-8COURSE_CODE: Valid NUS course code from AY23-24GRADE: Alphabetic grade (A+, A, A-, B+, B, B-, C+, C, D+, D, F, CS, S)GPA/ DESIRED_GPA: Number from 0 to 5