Abstract

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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call