2007
DOI: 10.1145/1269900.1268832
|View full text |Cite
|
Sign up to set email alerts
|

Hasty design, futile patching and the elaboration of rigor

Abstract: Two wrongs don't make a right." In the last two years, we observed repeated hasty designs, followed by futile patching of programming solutions, which yielded (and re-yielded) erroneous outcomes. In this paper, we illuminate and illustrate diverse characteristics of these undesired design and patching phenomena, and offer a didactic approach of using them for elaborating students' awareness of rigor. We advocate such an elaboration in textbooks and teaching materials, as one may learn and benefit from the wron… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
4
0

Year Published

2013
2013
2023
2023

Publication Types

Select...
3
2
2

Relationship

2
5

Authors

Journals

citations
Cited by 7 publications
(4 citation statements)
references
References 8 publications
0
4
0
Order By: Relevance
“…Some noticed the latter, and offered erroneous patches. In a sense, they turned to "pseudo that" observations, that were unsound (Ginat, 2007). One of these students (P16) justified her rationale with unfounded arguments.…”
Section: Permutation Collectionmentioning
confidence: 99%
“…Some noticed the latter, and offered erroneous patches. In a sense, they turned to "pseudo that" observations, that were unsound (Ginat, 2007). One of these students (P16) justified her rationale with unfounded arguments.…”
Section: Permutation Collectionmentioning
confidence: 99%
“…Traveling back in time allows for patching the past. Patching may be considered insufficient due to its potential renunciation of a global understanding [63]. This is an issue of bounded rationality separating "the beliefs that people have and the choices they make from the optimal beliefs and choices" (see [64], p. 449).…”
Section: Technicalities Of Time Travel Gamificationmentioning
confidence: 99%
“…That is, stage 2 novices trace their buggy code with specific values, and then make what is often a myopic patch. That patch may "fix" the code for the specific initial values just used in the trace, but the patch may not address the general bug [9]. The strategy of "repeat-trace-patch-untilsuccess" is like "shotgun debugging", which Wikipedia defines as, "A process of making relatively un-directed changes to software in the hope that a bug will be perturbed out of existence".…”
Section: Stage 2: Tracingmentioning
confidence: 99%