Learning from wrong and creative algorithm design

We all are aware of the relevance of examining a task from diverse angles. We also are aware of the potential relevance of learning from one's mistakes. Yet computer science (CS) textbooks and teaching materials fall short in embedding these two notions. In this paper, we present an approach of elaborating divergent thinking in algorithm design, while capitalizing on erroneous solutions. Using a collected set of non-routine algorithmic tasks, we developed and applied a scheme of class activities, in which initial faulty solutions (due to novice tendencies) are carefully examined, and their falsifying inputs and characteristics are used for creative reasoning that yields fruitful outcomes. We present and illustrate our activities, refer to their cognitive aspects, and describe our experience with applying them in (an Introduction-to-Algorithms) class.

[1]  J. Glover,et al.  Handbook of creativity. , 1989 .

[2]  C. W. Tate Solve it. , 2005, Nursing standard (Royal College of Nursing (Great Britain) : 1987).

[3]  Deborah Anne Trytten,et al.  A design for team peer code review , 2005, SIGCSE '05.

[4]  David Ginat The greedy trap and learning from mistakes , 2003, SIGCSE.

[5]  A. Schoenfeld Learning to Think Mathematically: Problem Solving, Metacognition, and Sense Making in Mathematics (Reprint) , 2009 .

[6]  R. Sternberg,et al.  Creativity and intelligence. , 1998 .

[7]  Yifat Ben-David Kolikant,et al.  Establishing Computer Science Professional Norms Among High-School Students , 2004, Comput. Sci. Educ..

[8]  Susan E. Newman,et al.  Cognitive Apprenticeship: Teaching the Craft of Reading, Writing, and Mathematics. Technical Report No. 403. , 1987 .

[9]  David Ginat,et al.  Hasty design, futile patching and the elaboration of rigor , 2007, ITiCSE.

[10]  Elliot Soloway,et al.  A Goal/Plan Analysis of Buggy Pascal Programs , 1985, Hum. Comput. Interact..

[11]  David Ginat Misleading intuition in algorithmic problem solving , 2001, SIGCSE '01.

[12]  Marcia C. Linn,et al.  Designing Pascal Solutions: Case Studies Using Data Structures , 1995 .

[13]  Margaret M. Recker,et al.  Learning Strategies and Transfer in the Domain of Programming , 1994 .

[14]  Raffaella Borasi,et al.  Reconceiving Mathematics Instruction: A Focus on Errors , 1996 .

[15]  Udi Manber,et al.  Introduction to algorithms - a creative approach , 1989 .

[16]  Edit Yerushalmi,et al.  Guiding students to learn from mistakes , 2006 .

[17]  Erica Melis Erroneous Examples as a Source of Learning in Mathematics , 2004, CELDA.