Skip to content

Commit

Permalink
Merge pull request #223 from JiaXinEu/branch-UGGlossary
Browse files Browse the repository at this point in the history
Update glossary section
  • Loading branch information
willowisp01 authored Apr 14, 2024
2 parents 7955c01 + ad7f68b commit 184497f
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 5 deletions.
7 changes: 3 additions & 4 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -337,7 +337,7 @@ Here is the sequence diagram which shows the overall flow:

#### Implementation

The random feature is an extension of the group feature. It creates a `GroupCommand` object to form groups, by passing a random set of `studentIds` and `group` of size 1 to the constructor.
The random feature is an extension of the group feature. It creates a `GroupCommand` object to form groups, by passing a random set of `studentIds` and `group` of size 1 to the constructor.

When `RandomCommand#execute(model)` is called, it will filter `UniquePersonList` in `Model` to get a `List<Person>` of students where each student matches the predicate `person.isWeak()`. The randomness is achieved using `Collections#shuffle(List<Person>)`, to randomly reorder the `List<Person>`. Note that the result is approximately random where probability of getting each permutation of the list is approximately equal.

Expand All @@ -355,7 +355,7 @@ Step 2. The user executes `random 2 gp/Random Group` to put all students having

![RandomState2](images/RandomState2.png)

<div markdown="span" class="alert alert-info">:information_source: **Note:** The `Group` objects created will always be the same when the same command is given and the `UniquePersonList` is the same Step 1. However, the association between `Person` and `Grade` objects may be different each time due to the randomness.
<div markdown="span" class="alert alert-info">:information_source: **Note:** The `Group` objects created will always be the same when the same command is given and the `UniquePersonList` is the same Step 1. However, the association between `Person` and `Grade` objects may be different each time due to the randomness.
</div>

The following sequence diagram shows how a random command goes through the `Logic` component:
Expand Down Expand Up @@ -390,8 +390,7 @@ The following activity diagram summarizes what happens when a user executes a ra

* **Alternative 2:** Remove `Person` from random groups formed if `Grade` of the `Person` is no longer below or at the threshold.
* Pros: User can use the same groupings for weak students who still require more focus on.
* Cons: More complicated to implement and record of previous random groupings a `Person` belongs to will be gone.

* Cons: More complicated to implement and record of previous random groupings a `Person` belongs to will be gone.

### \[Proposed\] Undo/redo feature

Expand Down
15 changes: 14 additions & 1 deletion docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,8 @@ Format: `edit STUDENT_ID [id/STUDENT_ID] [n/NAME] [e/EMAIL] [g/GRADE] [gp/GROUP_
* `NAME` is case-sensitive, eg. john doe is different from John Doe
* Email must have the correct domain (@u.nus.edu) and string length of 8 for the email username eg. [email protected]
* `GRADE` should be one of the valid grades: **[A+, A, A-, B+, B, B-, C+, C, D+, D, F]**.
* Editing `GROUP` will overwrite existing `GROUP` entries.
* Use of `GROUP` prefix `gp/` in an edit command without specifying `GROUP_NAME` will clear all existing `GROUP` of the student.

Examples:
* `edit A0123459X e/[email protected]` Edits the email address of the person with student_id = A0123459X to be `[email protected]`.
Expand Down Expand Up @@ -475,7 +477,18 @@ Displayed after command: `summary`
--------------------------------------------------------------------------------------------------------------------
## 8. Glossary

**Coming soon!**
* **GUI**: Graphical User Interface. An interface that uses visual representations, such as icons, buttons and windows where users can use to interact with the system.
* **CLI**: Command Line Interface. A text-based interface that allows users to interact with the application by typing commands. Command is parsed to the system when users hit `Enter`.
* **JAR**: Java Archive. Package file format used to aggregate the Java class files and associated metadata and resources required to run `TeachStack` into one file to distribute the application.
* **Student**: Student studying at NUS and instructed by the user.
* **Student ID**: Unique matriculation number of an NUS student. `TeachStack` only accepts a student id that starts with '**A**', followed by 7 consecutive digits and ends with a capital letter '**[A-Z]**'.
* **Email**: An electronic mail address. `TeachSTack` only accepts NUS email addresses in the format '**[email protected]**' where '**X**' can be any digit.
* **Grade**: A letter that shows how good a student's performance is. `TeachStack` only accepts grades that exist in the NUS grading system (**[A+, A, A-, B+, B, B-, C+, C, D+, D, F]**).
* **Name**: Name of a student. `TeachStack` only accepts name consisting of alphabets, numbers and space.
* **Focus group**: Group of students such that the user can pay more attention to assist the students in the group. Indicated by a `Group label` on the GUI
* **Student details**: The student's name, id, email address, grade, and focus group that the student belongs in if any.
* **Grade threshold**: A threshold used by the system to determine if a student is considered as `weak` based on grades. If the student's grade falls below or is at the threshold, the student is considered as weak. It is set to **C+** by default and user can update using the `setweak` command to set expected performance.
* **Summary statistics**: Statistics of all active students (not in archived list), including the total number of students, mean grade, standard deviation of grade and a pie chart showing grade distribution.

--------------------------------------------------------------------------------------------------------------------

Expand Down

0 comments on commit 184497f

Please sign in to comment.