Page 156 - Getting the Picture Modeling and Simulation in Secondary Computer Science Education
P. 156
154
Chapter 7
based models, as is incremental model development (Wilensky & Rand, 2015). Finally, the two cycles constituting the modeling process cause confusion in students when they do not know to which cycle to attribute a particular occurrence. Our framework provides a refinement of existing frameworks to characterize and investigate this confusion in students.
The challenges which we found that were related to formalization are typical for computer science and characteristic for the construction of a computational model, thus they are concerned with programming, testing, and debugging a computer program. Our students were not novice programmers and they reported taking care of the related problems themselves. We discuss this finding in terms of two aspects: first, in terms of the construction of a computer program, and second, in terms of correctness of a computer program. Regarding the construction of computer programs, Qian & Lehman (2017) examined flawed or incomplete understandings of learners of introductory computer programming through the framework consisting of three elements. First element is syntactic knowledge, i.e., knowledge about the language features, basic rules and facts, such as for example use of semicolons. Second element is conceptual knowledge which is concerned with the programming constructs and inner workings of a computer. Third element is strategic knowledge which is concerned with the application “of syntactic and conceptual knowledge of programming to solve novel problems”. Taken together, these three elements describe a student’s ability to construct a working program. Our research adds the perspective of students with more programming experience. Our students were not novice programmers since they already had programmed in Python. Even though both constructing models and programming them in NetLogo were new to them, they reported taking care of their programming problems themselves. In other words, they all managed to develop working programs, i.e., to construct working models. This finding illustrates that they were able to use their programming skills in a new context, where they successfully constructed models. Regarding the correctness of the programs, Kolikant (2005) found that students rarely engage in systematic testing and debugging of their programs and have been found to consider a program to be correct even when it demonstrates incorrect behavior. In our specific situation, the formalization step meant that the students had an open programming assignment where we did not provide input and output values to test their programs against. This allows a possibility that our students accepted incorrect programs — which seemingly worked properly — as being correct. We have accepted these programs