So My Program Doesn't Run! Definition, Origins, and Practical Expressions of Students' (Mis)Conceptions of Correctness
We studied students' conceptions of correctness and their influence on students' correctness-related practices. Despite the centrality of this concept in the expertise of computer scientists, to date, only a small amount of work has been done on students' perceptions of correctness, perhaps because of the belief expressed by Joni & Soloway (1986) that “everyone will agree that a non-working program is incorrect” (p. 96) is common in the field.
However, the results of a sequence of empirical experiments suggest that students do not share the above belief. In one experiment students were given three programs that 'worked’ since the programs produced the expected output for any given input, yet they were incorrect because for parts of the input space there was additional output, which was not expected. Many students termed the programs as relatively correct because they 'work for many input examples'. Students' perceptions were explained as a ramification of their informal experience as users, in particular, of being satisfied when they make the computer work for a specific local need rather than for the entire input space (Ben-David Kolikant, 2005; Ben-David Kolikant & Ben-Ari, 2008).
In this paper we sought to expand our understanding of students' conceptions of correctness by exploring their decisions regarding non-working programs, that is, programs that provide no output or partial output to all (or to a noticeable part of) the input space. If students' decisions are solely governed by users' perspectives, then we would expect that students would decide that these programs are incorrect because they do not 'work for many input examples'. Any other decision by the students would indicate new faulty connections to their existing knowledge, namely, new misconceptions.
Our research questions were therefore formulated as follows:
- How do students conceptualize (in)correctness?
- How did students' misconceptions originate, that is, what situations involving students' misconceptions were found to be similar and what existing knowledge and associated practices were thus extended into the correctness-related situations?
- What factors nurture the longevity of students' misconceptions, that is, how are these misconceptions linked to the students' body of knowledge?
To this end, 159 high-school students were given a questionnaire with two error-free and four erroneous algorithms and were asked to analyze their correctness. We also interviewed seven students regarding their work.
We found that students conceptualized program correctness as the sum of the correctness of its constituent operations, and therefore although they recognized the errors, they rarely considered programs as entirely incorrect. Instead, as long as they had any operations written correctly, students considered the program ‘partially correct’.
We suggest that this conception is a faulty extension of the concept of a program's grade, which usually is calculated as the sum of points awarded for separate aspects of a program; thus school (unintentionally) nurtures students' misconceptions of correctness. This misconception is aligned with students' tendency to employ a line-by-line verification method—examining whether each operation is translated as a sub-requirement of the algorithm—which is inconsistent with the method of testing each operation that they formally studied.
References
Ben-David Kolikant, Y. (2005). Students' alternative standards for correctness. In Proceedings of the 2005 International Workshop on Computing Education ResearchSeattle, WA, USA). ACM Press, New York, NY, 2005, 37-43.
Ben-David Kolikant, Y, & Ben Ari M. (2008). Fertile zones of cultural encounter in computer science education. Journal of the Learning Science, 18(1), 1-32.
Joni, S., & Soloway, E. (1986). 'But my program runs.’ Discourse rules for novice programmers. Journal of Educational Computing Research, 2(1), 95–125.
Author:Article Link: http://ejournals.ebsco.com/direct.asp?ArticleID=4C03AA4BFDADB9D85BDE