# Methods for Cognitive Diagnosis of Students' Abilities Based on Keystroke Features
## 5 Discussion  
### Clustering Result Analysis  
Based on the clustering results, to further explore and reprocess the data, the various features in Table 2 were matched with the programming behaviors during the exam as follows, aiming to better reflect the characteristics of the programming behavior process. 1. Keystroke Speed  
Table 2 directly presents the average keystroke speed value. By comparing this value among different types of candidates, it more intuitively reveals the difference in operation speed among different types of programming behaviors. 2. Modification Operation  
The \"average proportion of modification actions\" in Table 2 was converted into the \"modification frequency\". A higher proportion of modification actions implied a higher modification frequency. Meanwhile, the content of the table was replaced with the relative speeds of the four types of candidates, making the expression more consistent with the context of programming behavior analysis and highlighting the operation frequency. 3. Keyword Relevance  
The \"Average time to type a keyword\" was transformed into \"keyword proficiency\". A shorter average keyword typing time indicated a higher level of keyword proficiency. The time dimension was thus converted into a measure of the degree of mastery of programming knowledge. At the same time, the table content was replaced with the relative levels of keyword proficiency of the four types of candidates, which could better reflect the candidates' familiarity with key programming elements. 4. Question Relevance  
Analysis indicators for results related to the questions, which comprehensively reflected programmers' behaviors and outcomes during the problem-solving process, included the following two:  
* Score: This incorporated the \"Average score for each question\" in Table 1 into the relative high-low scores of the four types of candidates. * Number of Attempts: This converted the number of submissions for each question into the \"Number of Attempts.\" The more submissions there were, the more attempts had been made on a question. Then, we transformed the table content into the relative high-low numbers of attempts of the four types of candidates. After matching the clustering analysis results with the programming behaviors in the examination, the analysis of the programming behaviors of different types of examinees is presented in Table 3 and Figure 3. Using the time spent typing keywords and the time spent on the questions as the coordinate axes, the data points of each student have been plotted in the figure and color-coded according to the category they belonged to. As shown in the Figure 4, students of different categories exhibited distinct clustered distributions. \begin{table}
\begin{tabular}{c c c c c c c c} \hline \hline \multirow{2}{*}{**Category**} & \multirow{2}{*}{**Proportion**} & **Average** & **Average** & **Average Time** & **Average Time** & **Average Score** & **Average** \\  & & **Typing Speed** & **Percentage of** & **to Type a** & **to Answer** & **for Each** & **Number of** \\  & & **(Keys/Mintue)** & **Modified** & **Keyword** & **Each Question** & **Question** & **Submissions** \\  & & **Actions (\%)** & **(Milliseconds)** & **(Seconds)** & **(Seconds)** & **per Question** \\ \hline Category 1 & 65.35\% & 152.315 & 10.10 & 538.827 & 1791.993 & 82.096 & 3.303 \\ Category 2 & 24.41\% & 143.702 & 12.87 & 699.316 & 4773.891 & 44.968 & 4.947 \\ Category 3 & 7.09\% & 183.538 & 23.32 & 9312.115 & 3333.714 & 51.111 & 4.803 \\ Category 4 & 3.15\% & 296.528 & 15.42 & 22,709.063 & 2734.728 & 76 & 2.288 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Cluster analysis results of keystroke feature data and test data. The data points of students within the same category were relatively concentrated. And, moreover, there was a noticeable distance between the data points of students of different categories. This further validated the effectiveness of the clustering results. Students in Category 1 accounted for the largest proportion among all the categories.