Skip to content

Latest commit

 

History

History
737 lines (485 loc) · 23.4 KB

UserGuide.adoc

File metadata and controls

737 lines (485 loc) · 23.4 KB

ModU - User Guide

1. Introduction

Many universities have a timetable committee to deal with all matters concerning timetabling scheduling. One concern would be timetable clashes while scheduling.

Welcome to ModU, a timetable scheduling software for professors and administrators in tertiary institutions.

With ModU, you are able to easily identify timetable slots that are available for the module you are scheduling. Made a mistake while scheduling the timetable? Fret not, you can easily make any changes to the timetable.

The main input of ModU is through the use of command line interface (CLI). The natural language input field will allow you to quickly search, add, delete and edit your timetable. Just type what you want and ModU will do the rest for you!

This user guide will explain how the various commands in ModU can be carried out by giving valid examples. It also includes a scenario where it lists the different situations that you might encounter and how ModU is able to help you overcome them. The Frequently Asked Questions (FAQ) section that lists answers to commonly asked questions can be found at the end of the user guide, followed by a summary of the commands available in ModU.

2. Quick Start

  1. Ensure you have Java version 1.8.0_60 or later installed in your Computer.

    ℹ️
    Having any Java 8 version is not enough.
    This app will not work with earlier versions of Java 8.
  2. Download the latest addressbook.jar here.

  3. Copy the file to the folder you want to use as the home folder for your ModU.

  4. Double-click the file to start the app. The The graphical user interface (GUI) should appear in a few seconds.

    mainUi
  5. Type the command in the command box and press Enter to execute it.
    e.g. typing help and pressing Enter will open the help window.

    Some example commands you can try:

    • list module : lists all module.

    • add m/MA1101R ct/LEC v/LT27 gp/1 ts/FRI[1400-1600] l/ Ma Siu Lun : adds a lesson with module code MA1101R to the ModU list.

    • sort : sort lesson shown in the current list.

    • exit : exits the app.

Please refer to the Features section below for details of each command.

3. Features

We want your experience with ModU to be as positive as possible. Hence, please read the following information so that you will understand the command format.

Command Format

  • Certain commands require prefixes before the parameters. It will be stated clearly whether prefixes are required. Prefixes are characters followed by a backslash, for example: m/, l/, gp/, ts/ and more.

  • Words in UPPER_CASE are the parameters to be supplied by the user e.g. in add m/MODULE, MODULE is a parameter that represents the module code such as MA1101R. The command will then look like this: add m/MA1101R.

  • Parameters in square brackets are optional. For example, m/MODULE l/LECTURER [l/LECTURER] can be executed by typing m/MA1101R l/Ma Siu Lun l/Victor Tan or m/MA1101R l/Ma Siu Lun.

  • Parameters followed by “…” can be entered multiple times. For example, l/LECTURER… can be entered as l/Ma Siu Lun l/Victor Tan l/Alex Neo and more.

  • Parameters can be in any order. For example, if the command example states this particular order gp/GROUP ts/TIME_SLOT ct/CLASS_TYPE, rearranging the order to ts/TIME_SLOT ct/CLASS_TYPE gp/GROUP is also acceptable.

List modes

These are the 4 list modes currently supported by ModU. They will be further explained in Listing all lessons: list.
* Module list mode
* Location list mode
* Marked list mode
* Lesson list mode

3.1. Viewing help : help

The help command will open the user guide in a new window and provide explanations of every command available in the application.

Command format in command box: help

help

3.2. Listing all lesson : list

The list command will display a list based on the attribute specified by the user. There are three attributes, namely: module, location and marked.

Command format in command box: list ATTRIBUTE

💡
The attribute must be in lower case.

Valid examples:

  • To switch to module list mode, type list module to list all registered modules in ModU.

  • To switch to location list mode, type list location to list all locations of every lesson registered in ModU.

  • To switch to marked list mode, type list marked to list all marked lessons in ModU.

list

3.3. Adding a lesson: add

The add command will add a lesson to ModU. If the module for the lesson has not been created yet, ModU will automatically create the module in the system. It will then insert the specified lesson into the module.

Command format in command box: add m/MODULE_CODE ct/CLASS_TYPE v/VENUE gp/GROUP ts/TIME_SLOT l/LECTURER…

💡
A lesson must have at least one lecturer.
A lesson must not have the same time slot and location as an existing lesson in ModU.

Valid examples:

  • Type add m/MA1101R ct/LEC v/LT27 gp/1 ts/FRI[1400-1600] l/Ma Siu Lun to add a lesson with only one lecturer.

  • Type add m/CS2100 ct/LEC v/LT19 gp/1 ts/MON[1400-1600] l/Wong Weng Fai l/Suppiah to add a lesson with more than one lecturers.

add

3.4. Marking a lesson: mark

The mark command will mark a lesson and add it into a marked list. The index must be a positive integer: 1, 2, 3 and so on.

Command format in command box: mark INDEX

💡
The specified lesson must not initially be in the marked list.

Valid examples:

  • In module list mode, type view 1 to display all lessons in the module.
    Next, type mark 1 to add lesson into the marked list.

  • In lesson list mode, type mark 1 to add the lesson into the marked list.

mark

3.5. Unmarking a lesson: unmark

The unmark command will remove a marked lesson from the marked list. The index must be a positive integer: 1, 2, 3, and so on.

Command format in command box: unmark INDEX

💡
The specified lesson must not initially be in the marked list.

Valid example:

  • Type list marked to list all marked lessons in ModU.
    Next, type unmark 1 to remove the lesson at index 1 from the marked list.

unmark

3.6. Viewing specific lesson from the list: view

The view command will display all lessons in a module or a location.

Command format in command box: view INDEX

💡
This command allows you to switch to lesson list mode.
Another command that allows you to switch to lesson list mode is list marked.+

Valid examples:

  • In module list mode, type view 2 to view all lessons of the module.

  • In location list mode, type view 2 to view all lessons conducted at this location.

view

3.7. Editing a lesson : edit

The edit command will edit existing lessons, modules or locations. The index must be a positive integer: 1, 2, 3, and so on.

Command format in command box: edit INDEX [m/MODULE_CODE] [ct/CLASS_TYPE] [v/VENUE] [gp/GROUP] [ts/TIME_SLOT] [l/Lecturer…]

💡
At least one of the optional fields must be provided.
Existing values will be updated to the input values.
The prefix is omitted in both module list mode and location list mode.

Valid examples:

  • Type list module to list all registered modules in ModU.
    Next, type edit 2 CS2101 to rename all the lessons associated with the module at index 2 to CS2101.

  • Type list location to list all locations of all lessons registered in ModU.
    Next, type edit 2 LT19 to relocate all the lessons associated with the location at index 2 to LT19.

  • In lesson list mode, type view 2 to view the lesson at index 2.
    Next, type edit 2 v/LT30 to relocate the lesson to LT30. Note that for this example, the prefix is compulsory.

edit

3.8. Locating lessons by module code: find

The find command will find lessons matching the given keyword(s).

Command format in command box: find KEYWORD [MORE_KEYWORDS]

💡
The search is case insensitive.
The order of the keywords does not matter.
💡
Partial keywords will be matched.
Lessons matching at least one keyword will be returned as a result.
💡
The location will be searched if the list is in location list mode.
The module code will be searched if the list is in module list mode.

Valid examples:

  • Type list module to list all registered modules in ModU.
    Next, type find CS2101 ma1101r to display all modules that contain the keywords CS2101 and ma1101r.

  • Type list location to list all locations of all lessons registered in ModU.
    Next, type find LT19 to display all locations that contain the keyword LT19.

  • Type list module to list all registered modules in ModU.
    Next, type view 1 to go into lesson list mode of module at index 1.
    Type find FRI to display all lessons that contain the keyword FRI.

find

3.9. Sorting lesson by module code: sort

The sort command will sort the existing list in alphabetical order.

Command format in command box: sort

💡
It will sort the list according to its current listed attribute.

Valid examples:

  • In module list mode, type sort to arrange the modules in an alphabetical order.

  • In location list mode, type sort to arrange the locations in an alphabetical order.

sort

3.10. Deleting a lesson : delete

The delete command will delete a lesson, module or location. The index must be a positive integer: 1, 2, 3, and so on.

Command format in command box: delete INDEX

Valid examples:

  • In module list mode, type delete 1 to remove the module at index 1.

  • In location list mode, type delete 1 to remove the location at index 1.

  • In lesson list mode, type delete 1 to remove the lesson at index 1.

delete

3.11. Selecting a lesson : select

The select command will select the lesson identified by the index number. The index must be a positive integer: 1, 2, 3, and so on.

Command format in command box: select INDEX

Valid examples:

  • In module list mode, type select 1 to display all remarks of the module at index 1.

  • In location list mode, type select 1 to display NUS campus map of the location at index 1.

select

3.12. Listing entered commands : history

The history command will list all the commands that you have entered in reverse chronological order. For example, from the most recent command to the least recent command.

Command format in command box: history

💡
Pressing the and arrows will display the previous and next input respectively in the command box.
history

3.13. Undoing previous command : undo

The undo command will restore the list to the state before the previous undoable command was executed.

Command format in command box: undo

💡
Undoing previous command is not allowed once you have switched the list mode.

Valid examples:

  • In module list mode, type delete 1 to remove the module at index 1.
    Next, type undo to restore the state of the list before delete 1 was executed.

  • In module list mode, type clear to remove all registered modules in ModU.
    Next, type undo to restore the state of the list before clear was executed.

undoValid

Invalid examples:

  • In module list mode, type delete 1 to remove the module at index 1.
    Next, type view 1 to go into lesson list mode of module at index 1.
    Type undo in the command box.
    The undo command fails because the list mode has changed from module list mode to lesson list mode.

  • In module list mode, type select 1 to display all the remarks of the module at index 1.
    Next, type undo in the command box.
    The undo command fails as there are no undoable commands executed previously.

undoInvalid

3.14. Redoing the previously undone command : redo

The redo command will reverse the most recent undo command. The command is not redoable.

Command format in command box: redo

Valid examples:

  • In module list mode, type delete 1 to remove the module at index 1.
    Next, type undo to restore the state of the list before delete 1 was executed.
    Type redo to re-execute delete 1.

  • In module list mode, type delete 1 to remove the module at index 1.
    Next, type clear to remove all the modules.
    Type undo to restore the state of the list before clear was executed.
    Type undo to restore the state of the list before delete 1 was executed.
    Type redo to re-execute delete 1.
    Type redo to re-execute clear.

redoValid

Invalid example:

  • In lesson list mode, type delete 1 to remove the module at index 1.
    Next, type redo in the command box.
    The redo command fails as there are no undo commands executed previously.

redoInvalid

3.15. Clearing all entries : clear

The clear command will clear all data stored in ModU and return to module list mode.

Command format in command box: clear

clear

3.16. Exiting the program : exit

The exit command will exit ModU.

Command format in command box: exit

edit

3.17. Customising the font size : customise

The customise command will adjust the font size of the application. There are five font sizes for you to choose from, namely: xsmall, small, normal, large, xlarge.

Command format in command box: customise fs/FONT-SIZE

Valid example:

  • In module list mode, type customise fx/large to increase the font size from the current size to large.

customise

3.18. Change theme : theme

The theme command will change the theme of the application. There are 2 themes to choose from, namely: light (default) and dark.

Command format in command box

theme

Valid example:

  • Type theme dark to switch the theme from light to dark.

theme

3.19. Highlighting keywords : color

The color command will highlight the command keywords. There are 2 attributes, namely: enable and disable.

Command format in command box: color ATTRIBUTE

Valid example:

  • Type color enable to enable highlighting of valid command keywords. keywords.

  • Type color disable to disable highlighting of valid command keywords.

color

3.20. Remarking a module: remark

remark a module with given content.
Format: remark INDEX CONTENT

  • Remark the module at the specified INDEX. The index refers to the index number shown in the last module listing. The index must be a positive integer 1, 2, 3, …​

  • Only module can be remarked therefore remark command only apply when listing element is module.

Examples:

  • list module
    Remark 1 This is a very interesting Module
    Remark the module of index 1 with comment "This is a very interesting module".

delete a remark with given index.
Format: remark -d INDEX

  • The index here is the index of the remark we want to delete while the index in remark INDEX CONTENT refers to the index of the module we want to add our remark to.

Examples:

  • remark -d 1
    Delete the remark in current remark panel with index 1.

remark

3.21. Saving the data

All data will be saved in the hard disk automatically after any command that changes the data. There is no need to save manually.

4. Tutorial

Assume you are a professor from the National University of Singapore (NUS) and you want to start planning your timetable for the upcoming semester. The university has introduced you to ModU, an effective timetable scheduling software developed by the School of Computing (SoC) students.

This is the screen when you first launch ModU.

NewUi
  • Command Box: receive user command inputs

  • Resust Display Box: display result of the commands

  • Module/Lesson Display Panel: display list of modules or lessons

  • Timetable/Browser: display timetable of a particular module or a browser when a location is selected

Since this is the first time you are using this software, you are unsure of what are the available commands.

Type help in the command box. ModU will open up the user guide that will list all available commands in ModU.

Help

After you have read through the commands, you realised that it is difficult to remember all the different commands. You want to be able to identify key words, prefix and check the validity of command.

Type color enable in the command box. ModU will highlight the various commands and prefix. It will display a tick when the command is valid or a cross when the command is invalid.

colorEnable

After you have received the course information from CS2101 and MA1101R, you would want to enter these information into ModU.

Type add m/MA1101R ct/LEC v/LT27 gp/1 ts/FRI[1400-1600] l/ Ma Siu Lun in the command box. ModU will create a module MA1101R for you and automatically insert the lesson particulars into this module

addModule

Now you want to add a new lesson for CS2101. However, you did not notice that the lesson has the same time slot and location as the MA1101R lesson that you have just added.

When you type add CS2101 ct/LEC v/LT27 gp/1 ts/FRI[1400-1600] l/ Ma Siu Lun in the command box, ModU will inform you that the time slot is already booked.

addDup

After you have added all the lessons for MA1101R , you might want to know how the current time table for MA1101R looks like.

Type view 1 in the command box. ModU will show you all available lesson information about MA1101R. ModU will also also display the timetable for this module. In addition, you can continue adding MA1101R lessons in the command box and it will reflect on the timetable instantaneously.

viewMod
viewAdd

Now, you received a notice that MA1101R has been renamed to MA1010 and you wish to edit the timetable.

Type edit 1 MA1010 in the command box. In the module view, ModU allows you to change the name of the module. All the lessons with the code MA1101R will be changed to MA1010.

editMod

One of the lecturers from CS2101 lost her timetable and she wants you to send her a new one. You need to firstly find CS2101 from a list of modules.

Type find CS2101 followed by view 1 in the command box. ModU will show you the timetable for CS2101.

findMod
findTimetable

Maybe you have to take more classes during this semester. After you have added these lessons into ModU, you would want to have an organized view by arranging them in an alphabetical order

Type sort in the command box. ModU sorts the current list based on alphabetical order. Take note that you can do the same for lesson list.

sort

You were informed that LT19 needs reconstruction and is not open for the upcoming semester. Now, you need to delete LT19 from ModU.

Type list location followed by delete 2 in the command box. ModU will delete all lessons that are scheduled in LT19.

delete

Almost immediately after you have deleted LT19, you received a call saying that the reconstruction will only happen during the following semester. Don’t worry, all you need to do is simply undo the previous command.

Type undo in the command box. ModU will undo the deletion and restore LT19.

undo

A moment later, you were informed to ignore the previous call and that LT19 will indeed go through reconstruction this upcoming semester (oh, don’t we all hate workplace miscommunications). ModU got you covered this time round as well.

Type redo in the command box. ModU will undo the previous undo command.

redo

After the semester ends, you would want to clear the timetable and prepare for the next semester.

Type clear in the command box. ModU will clear all modules in the timetable.

clear

5. FAQ

Q: How do I transfer my data to another Computer?
A: Install the app in the computer that you want to transfer the data to and overwrite the empty data file it creates with the file that contains the data in your ModU folder stored in the previous computer.

Q: How do I get support?
A: if you have any questions, you can contact us by email.

6. Command Summary

  • Add add m/MODULE_CODE ct/ CLASS_TYPE v/VENUE gp/GROUP ts/TIME_SLOT l/Lecturer [lLECTURER]…​
    e.g. add m/MA1101R ct/LEC v/LT27 gp/1 ts/FRI[1400-1600] l/ Ma Siu Lun

    01add
  • Clear : clear

    10clear
  • Delete : delete INDEX
    e.g. delete 3

    02delete
  • Edit : edit INDEX [m/MODULE_CODE] [ct/CLASS_TYPE] [v/VENUE] [gp/GROUP] [ts/TIME_SLOT] [l/Lecturer…​] `
    e.g. edit 2 gp/2 m/CS2101

    03editD
  • Find : find KEYWORD [MORE_KEYWORDS]
    e.g. find MA1101R CS2101

    05find
  • Sort : sort

    09sort
  • List : list
    e.g. list module e.g. list location

    07listC
  • View : view INDEX e.g. view 1

    15view
  • Help : help

    06help
  • Exit : exit

    04exit
  • Select : select INDEX
    e.g.select 2

    08select
  • History : history

    14history
  • Undo : undo

    11undo
  • Redo : redo

    12redo
  • Customise customise fs/FONT-SIZE
    e.g. customise fs/xsmall

    13customiseF
  • Switch Theme swt
    e.g. swt

  • Color color
    e.g. customise enable
    e.g. customise disable

    16colorC