By: Team T11-1 Since: Jan 2019 Licence: MIT
- 1. Introduction
- 2. Features
- 2.1. Viewing help :
help - 2.2. Adding a person:
add - 2.3. Listing all persons :
list - 2.4. Locating persons by name:
find - 2.5. Adding a module:
addActivity - 2.6. Listing all activities for a person :
listactivity - 2.7. Adding an event to the event calendar :
addevent - 2.8. Listing all events :
listevent - 2.9. Filter events on a given date :
filterevent - 2.10. Check availability of a person to attend an event :
checkAvailEvent - 2.11. Generating a learning schedule: 'interleave'
[coming in v2.0] - 2.12. Compare two time table: 'tablecompare'
[coming in v2.0]
- 2.1. Viewing help :
- 3. Command Summary
Efficient Learning Scheduler is targeted to NUS students who are interested in finding ways to improve the efficiency of their learning habits. It generates an efficient and tailored learning schedule for these students to follow daily. The generated learning schedule takes into account the modules that the students are taking this semester to make their learning as efficient as possible. This intelligent scheduler also takes in research data from ALSET (http://nus.edu.sg/alset/) to complement the schedule based on past data from other students who took the modules. == Quick Start
-
Ensure you have Java version
9or later installed in your Computer. -
Download the latest
addressbook.jarhere. -
Copy the file to the folder you want to use as the home folder for your Address Book.
-
Double-click the file to start the app. The GUI should appear in a few seconds.
-
Type the command in the command box and press Enter to execute it.
e.g. typinghelpand pressing Enter will open the help window. -
Some example commands you can try:
-
list: lists all contacts -
addn/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01: adds a contact namedJohn Doeto the Address Book. -
delete3: deletes the 3rd contact shown in the current list -
exit: exits the app
-
-
Refer to Section 2, “Features” for details of each command.
Command Format
-
Words in
UPPER_CASEare the parameters to be supplied by the user e.g. inadd n/NAME,NAMEis a parameter which can be used asadd n/John Doe. -
Items in square brackets are optional e.g
n/NAME [t/TAG]can be used asn/John Doe t/friendor asn/John Doe. -
Items with
… after them can be used multiple times including zero times e.g.[t/TAG]…can be used as(i.e. 0 times),t/friend,t/friend t/familyetc. -
Parameters can be in any order e.g. if the command specifies
n/NAME p/PHONE_NUMBER,p/PHONE_NUMBER n/NAMEis also acceptable.
Adds a person to the address book
Format: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS m/MODULE [t/TAG]…
|
💡
|
A person can have any number of tags (including 0) |
Examples:
-
add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 m/CS2113 -
add n/Betsy Crowe t/friend e/betsycrowe@example.com a/Newgate Prison p/1234567 m/CS2106 t/criminal
Finds persons whose names contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
-
The search is case insensitive. e.g
hanswill matchHans -
The order of the keywords does not matter. e.g.
Hans Bowill matchBo Hans -
Only the name is searched.
-
Only full words will be matched e.g.
Hanwill not matchHans -
Persons matching at least one keyword will be returned (i.e.
ORsearch). e.g.Hans Bowill returnHans Gruber,Bo Yang
Examples:
-
find John
ReturnsjohnandJohn Doe -
find Betsy Tim John
Returns any person having namesBetsy,Tim, orJohn
Adds a new activity into a person’s timetable. The activity can be a module or an event.
Format: addActivity PERSON_INDEX act/ACTIVITY_NAME day/DAY_INT time/TIME_INT
Example: addActivity 1 act/CS2113 day/2 time/12
Shows a list of all activities in the timetable of a specific person in the left panel of the application UI. The command is followed by an index of a person in the current person list to choose which person’s timetable to be shown.
Format: listactivity PERSON_INDEX
Example: listactivity 1
Adds an event to the event calendar.
Format: addevent ett/TITLE ed/DATE etm/TIME ev/VENUE \[eta/AUDIENCE] \[edc/DRESSCODE] \[eds/DESCRIPTION]
|
💡
|
Target audience, dress code and description are not compulsory. Event can still be added to the calendar without these attributes. |
Examples:
-
addevent ett/UBS - Unlock Your Potential with us ed/01/04/2019 etm/15:00-16:00 ev/UBS Office eta/All Year 1 female students edc/Business Formal eds/Unlock Your Potential with us. -
addevent ett/Career Festival ed/05/06/2019 etm/10:00-12:00 ev/MPSH
Shows a list of all events in the event calendar in the left panel of the application UI.
Format: listevent
Shows a list of all events that are happening on a given date in the left panel of the application UI.
|
💡
|
The date in the input has to follow the DD/MM/YYYY format. If not, an error message will be shown. |
Format: filterevent DATE
Example: filterevent 15/04/2019
Checks if a person can attend an event, i.e. checks if there is an activity in the person’s timetable that clashes with the event. The choice of person and choice of event are done using the indexes of the person and event in the last shown list (left panel of the application UI).
The results of this command will be shown in the Results Display part of the application UI (right below the Command Box).
|
💡
|
The indexes must be lower than the size of the person and event list. If not, an error message will be shown. |
Format: checkAvailEvent person/PERSON_INDEX event/EVENT_INDEX
Example: checkAvailEvent person/1 event/1
Generates a learning schedule based on the modules in the storage. A calendar week view will appear in the GUI as seen above in Section 2. User would be able to generate a timetable based on the concept of interleaving. During one of my interactions with Mr Fung from ALSET, he mentioned that students should study in settings that closely resembles exam settings. That was what inspired this project and feature. Thus, the default (and minimum) focus period is 30 mins (average human attention span) with 5 mins rest and maximum is 2 hours with 2 hours rest, as most exams lasts 2 hours and occurring from either 9am-11am, 1pm-3pm and 5pm-7pm. Format: interleave
Interleave each module with 30 mins blocks. Assume each module has 3 hours self study.
Extract academic performance indicators anonymously from school database, then convert all these data into an analysable format for data analysis, trend finding etc.
Clears the learning schedule and deletes all existing modules in the database. Format: clear
Restores the learning schedule to the state before the previous undoable command was executed. Format: undo
Reverses the most recent undo command. Format: redo
compare two time table to find the difference Format:tablecompare
Examples:
-
delete 1
list
undo(reverses thedelete 1command) -
select 1
list
undo
Theundocommand fails as there are no undoable commands executed previously. -
delete 1
clear
undo(reverses theclearcommand)
undo(reverses thedelete 1command)
Reverses the most recent undo command.
Format: redo
Examples:
-
delete 1
undo(reverses thedelete 1command)
redo(reapplies thedelete 1command) -
delete 1
redo
Theredocommand fails as there are noundocommands executed previously. -
delete 1
clear
undo(reverses theclearcommand)
undo(reverses thedelete 1command)
redo(reapplies thedelete 1command)
redo(reapplies theclearcommand)
-
Add
add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS m/MODULE [t/TAG]…
e.g.add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 m/CS2106 t/friend t/colleague -
Find :
find KEYWORD [MORE_KEYWORDS]
e.g.find James Jake -
List :
list -
Add Activity
addActivity PERSON_INDEX act/ACTIVITY_NAME day/DAY_INT time/TIME_INT
e.g.addActivity 1 act/CS2113 day/2 time/12 -
List Activity
listactivity PERSON_INDEX
e.g.listactivity 1 -
Add Event
addevent ett/TITLE ed/DATE etm/TIME ev/VENUE \[eta/AUDIENCE] \[edc/DRESSCODE] \[eds/DESCRIPTION]
e.g.addevent ett/UBS - Unlock Your Potential with us ed/01/04/2019 etm/15:00-16:00 ev/UBS Office eta/All Year 1 female students edc/Business Formal eds/Unlock Your Potential with us. -
List Event
listevent -
Filter Event
filterevent DATE
e.g.filterevent 15/04/2019 -
Check Availability Event
checkAvailEvent person/PERSON_INDEX event/EVENT_INDEXe.g.checkAvailEvent person/1 event/1 -
Help :
help
