## 2 Materials and Methods
#### 2.2.2 Analysis of the Theoretical Foundations of the Hamming Code by the General Method
Solving tasks through these models must follow a previously compiled algorithm of work. After the execution of each step of the algorithm, a check for correctness must be made and a transition to the next step must be allowed only if the previous one has been correctly executed. In case of an error in the execution of a step, an appropriate message should be displayed. Regarding the graphical components in the interface of the models, it is desirable that these components (text fields, buttons, texts, etc.) are visualized step by step with the execution of the steps so that the user's focus is always directed to the relevant part of the model. Some of the common functional requirements that any interactive model should have are grouped below. 1. Control panel. Through this panel, users should be able to set the code parameters (\(m,l_{0},k\), and \(n\)) and operation modes (encoding or decoding), as well as start and stop the model. 2. Information register. In the interactive model, a separate panel should be allocated for setting the information bits in the encoding mode (encoder). The information might be entered in the following ways: automatic generation, manual bit-by-bit input, and direct input into a text field. 3. Code combination register. This is a panel that should provide the ability to set the code combination in the decoding mode (decoder). The input might be done in the following ways: automatic generation of a correct code combination, automatic generation of a code combination with a random error, manual bit-by-bit input, and direct input into a text field. 4. Algorithm. The software model should contain an interactive block diagram in a separate independent panel that shows the working algorithm for solving the researched task. The idea of this block diagram is to show the sequence of steps in solving the task, and when specifying a given block, a short hint for the required action should be displayed. This panel should only be visible in \"Training\" mode. Individual elements of the flowchart will be visualized in different colors depending on whether the given step has been completed, is currently being completed, or has not yet been completed, i.e.,  
- No coloring--the step has not yet been completed;  
- Yellow color--the step is currently being executed;  
- Green color--step passed successfully. 5. Encoder/decoder. A separate panel should be provided where the main actions of the encoding process, resp. decoding process will be carried out, with the corresponding code. 6. Statistics. During the operation with the model, statistics must be kept, including the following data:  
- Time to solve the task;  
- Number of errors made;  
- Error history. * Requirements for the Hamming code research model--the general method For the encoding and decoding modes: 1. To allow the code combination bits to be marked with appropriate labels (for example, \(S_{i}\) and \(C_{i}\)). 2. To be able to select a control bit, construct an equation with it, and calculate (when encoding) or check (when decoding) its value. For the decoding mode only: 3. To be able to set the error syndrome in binary and decimal format. 4. To set the error status as one of the following possible situations: \"No error\", \"Single error\", or \"Double error\". 5. To be able to determine the decoded binary combination.