## 3 The LLS Intelligent Fair Assessment Module
### The Proposed Fair Assessment Module  
The proposed fair assessment Module is responsible for detecting cheating students while solving the online practice exam remotely. This module is one of the most important services offered by the new LLS. As discussed before, the students access the exam remotely, and all the student's activities are collected and sent to the Fair Assessment Module (Cheating Detection system) for analysis. These students' activities are considered the raw data, which are special-temporal data and contain five fields \"the Timestamp, Button, State of the button, X, and Y coordinates,\" as presented in detail in Table 1. \begin{table}
\begin{tabular}{c c} \hline \hline
**Field** & **Description** \\ \hline Time Stamp & The elapsed time in seconds since the start of the session \\ Button & The current condition of the mouse buttons (e.g., Left) \\ State & Contains additional information about the button (e.g., Pressed) \\ X & X coordinates of the mouse cursor \\ Y & Y coordinates of the mouse cursor \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Raw data fields. Before segmenting the data into actions, a cleaning process for the raw data is done to remove the duplicated lines. Furthermore, the records where the mouse cursor was moved outside the desktop window's maximum X and Y coordinates are replaced by the previous X and Y coordinates values. As shown in Figure 2, the Cheating Detection system performs a segmentation process of the collected mouse events to decide the mouse actions. Three actions are used, which are the MM (Mouse Movement) actions, which express the movement between two points on the screen. Moreover, PC (Point Click) actions denote a point click action. Furthermore, the DD (Drag and Drop) is used to express the drag and drop of a component from the screen. The segmentation phase distinguishes between MM, PC, and DD actions, as presented in [7], where the segmentation is done by cutting the raw collected data into several segments, and the segment ends with the mouse release event. Therefore, if a previous event is a mouse-pressed event and several mouse movements exist, so this segment type is PC action. However, if there are a number of mouse Drag and Drop that end with the mouse release event, so it is considered a segment of type DD action. Finally, the MM actions are isolated using a given threshold of time from the PC that contains mouse movement. An explanation of how cleaning for data is performed after segmentation is presented as follows, where the action of the mouse is determined by a sequence of consecutive mouse instances. This sequence of mouse events starts with the mouse cursor at the desktop window position named 'a' and ends with the mouse cursor at position 'b'. Each mouse action is segmented by a set of rules; for example, a DD action is a sequence of mouse events that starts with a left button pressed and ends with a left button released, and any sequence of events that does not comply with any action is neglected. A sequence of mouse events is represented as [ \(E_{0}(x_{0},\,y_{0}),\,E_{1}(x_{1},\,y_{1}),\,\ldots,\,E_{n}\,\,(x_{n},\,y_{n})\)], where \(E_{0}\) is mouse event with coordinates \((x_{0},\,y_{0})\). To interpolate this sequence of data, at least four events must be present, so any sequence with less than four instances is removed. Moreover, sequences that exceed a threshold of 10 s are split into two actions. After cleaning, preprocessing the raw mouse data and performing the segmentation step to form mouse actions as a consecutive sequence mouse. These segments (sequences) are used to extract features for each individual mouse action, which is used to classify the input mouse actions and detect cheating or not. Only three fields are needed to calculate the features, x and y coordinates, and a time stamp with each point in the sequences, which are represented as a three-valued tuple (\(x_{i},\,y_{i},\,t_{i}\)). \(\theta\) sequence is also calculated, which represents the angle of each point on the path tangent with the horizontal axis.