# Case Study: Students' Code-Tracing Skills and Calibration of Questions for Computer Adaptive Tests
## 5 Discussion  
Three hypotheses were formulated in this research. The first was to prove that students were perfecting their knowledge and skills during their studies. The assumption was that if a given material was taught in the first year and subsequently used in the later years of education, that knowledge or skill would be improved. As a result, the students in the later years of study would solve the basic programming tasks more easily than their peers in the first year. The hypothesis was also supported by the assumption that during computer science education, students were also using the process of debugging to identify and remove errors from application in many other courses. Code tracing is one of the main techniques in debugging. To summarize these assumptions, the authors find that in the later years of study, students have more experience in understanding how the whole program, or just a segment of the code, works. * The test results of this hypothesis show a reverse tendency. Possible reasons for hypothesis H1 not being confirmed may be as follows. First, programming requires many skills. Some of those programming skills are taught, while others are not. Those skills that are developed during the years of study tend to be independent from each other. For instance, improving algorithmic thinking or making different abstraction layers, which are the basis for developing a quality solution, does not depend on, e.g., code-writing, debugging, or code-tracing skills. This supports the view that the profession of a software developer is a complex one, and it is possible to define important skills for specific areas. Some research works confirm this [10; 22]. * Students generally do not, or only to a very slight extent, associate knowledge from one course (subject) with the knowledge from another course with similar topics. This is possibly caused by the structure of the curriculum, which fails to sufficiently emphasize the connection between topics of different courses. There is another possible explanation: many students believe that a successfully passed exams means they are somehow \"finished with it\" and there will be no continuation. They erroneously assume that each new course, even with similar topics, is something completely new, for which they would not need to use previously learned topics. The fact that first-year students obtained better results can be explained by them not yet having completed the course 'Algorithms and data structures' and thus had not yet taken the final exam. For them, the first date to take the exam was three weeks away, counting from the date of doing the test for this research. Cognitive flexibility theory focuses on this behavior. The theory is largely concerned with the transfer of knowledge and skills beyond their initial learning situation. The theory asserts that effective learning is context-dependent, as argued by [PERSON] and [PERSON]. [4]. \begin{table}
\begin{tabular}{c c c c c c} \hline \hline  & \begin{tabular}{c} **Average of** \\ **Marks by** \\ **Students** \\ \end{tabular} & \multirow{2}{*}{\(SD\)} & \
\begin{tabular}{c} **Average of** \\ **Marks by** \\ **Teachers** \\ \end{tabular} & \multicolumn{2}{c}{
\begin{tabular}{c} **One-Sample \(t\)-test** \\ **t** \\ \end{tabular} } \\ \cline{1-1} \cline{3-5} First year & 1.85 & 0.3 & & & \(-3.74\) & 0.001 \\ \cline{1-1} \cline{3-5} Second year & 1.91 & 0.2 & & \(-2.31\) & 0.02 \\ \cline{1-1} \cline{3-5} Third year & 1.91 & 0.5 & & \(-1.27\) & 0.2 \\ \hline \hline \end{tabular}
\end{table} 
Table 11: Comparing teacher and student estimation of test difficulty. * The reason for poorer performance in later years of study may also lie in the fact that students with a greater amount of experience more often use libraries and advanced objects when solving problems. Functions from those libraries or objects' methods with one instruction solve a (complex) task, such as inserting a new element at the beginning of an array, doing binary search in array, sorting an array, etc.