## 3 Materials and Methods
### Experiments and Evaluation Method  
Nine mathematics teachers, experts in working with blind students, tested and evaluated the elements of the developed method. The teachers had a range of experience, with the least advanced teacher having 2 years of experience and the most advanced teacher having 10 years of experience teaching mathematics to blind students.  
Next, we implemented and tested the system among students who attended a school for blind students. We evaluated the system with two groups of students. The pilot research focused on the course on algebra and mathematical analysis at a secondary school level. A parallel class learned the same material without using the proposed platform. The research group, consisting of 14 blind students aged 17-18, utilized the developed platform for learning. The second group, comprising 12 individuals of the same age, used traditional teaching methods for mathematics using Braille books. It is important to note that students in both groups had no other diagnosed disabilities that could hinder the learning process.  
The stages of the proposed method to be evaluated were as follows:  
1. Selection of the scope of the material--the evaluation covered the correctness of the preparation of the concept graph.
2. Selection or design of new exercises--the evaluation included the preparation of exercises in the extended syntax of the TEX compiler.
3. Division of the exercises into stages--the evaluation included the assignment stages of exercise to concepts in the graph.
4. Creating alternative descriptions--the evaluation included applying the developed rules for generating alternative descriptions.  
```
1:require: student's error_vector instance--E
2:require: list of exercises Z = [Z1, Z2, Z3...] with information about covered concept nodes
3:where: \(\textbf{Z}_{\textbf{i}}\) = [z1, z2,..., zn] is a binary vector of length n equals to the length of error vector. Every exercise Zi is represented as a vector, where each non zero component represents the corresponding covered concept node. E = [e1, e2,..., en] is a vector of length n equals to the length of error vector, where each non zero component represents the number of errors made by the student in a particular concept.
4:
5:input: E
6:
7:n = E.length()
8:E_repetition[] = 0
9:Z_selected[] = None
10:Z_copy = Z
11:for j in n:
12:if E[j] > 0:
13:E_repetition[j] = 1
14:endfor
15:while (E_repetition.contains(1)):
16:for Zi in Z_copy:
17:covered_concepts[] = 0
18:for j in n:
19:if zj * ej == 1: covered_concepts[j]++
20:endfor
21:endfor
22:
23:Z_temp = Z_copy[index of max(covered_concepts[])]
24:Z_seltced.append(Z_temp)
25:Z_copy.remove(Z_temp)
26:
27:E_covered[] = 0
28:for j in n:
29:E_covered[j] = E_covered[j] * Z_temp[j]
30:E_repetition[j] = E_repetition[j] - E_covered[j]
31:endfor
32:endwhile
33:
34:output:Z_selected
```  
**Algorithm 2** Pseudocode of exercise selection during revision mode.  
Evaluating the student's learning progress:
5. Using the system for learning--the evaluation included verifying the feedback mechanisms: the error vector and the knowledge vector in the process of mastering the developed material by students. The evaluation process encompassed the following quantitative measures:
* Additional teacher time needed to prepare the course: 1. Preparation of the concept graph. 2. Selection of the exercise. 3. Division of exercises into stages, assignment of every exercise stage to the node in the concept graph, and preparation of alternative descriptions.  
* Evaluation of the impact of the developed method on students' progress through the average grades of students in mastering the developed material: 1. Comparison of grades between two classes in the final test (one using the developed method and one not using it).
* Evaluation of the possibility of knowledge consolidation by blind students through assisting less advanced peers in learning a new topic--the percentage of students who attempted to support their peers.