hasty design, futile patching and the elaboration of rigor
"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 wrong way no less than the right one.
patching rigor programming errors