Misleading intuition in algorithmic problem solving
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Introduction to Algorithms: A Creative Approach
Introduction to Algorithms: A Creative Approach
The greedy trap and learning from mistakes
SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
A design for team peer code review
Proceedings of the 36th SIGCSE technical symposium on Computer science education
Hasty design, futile patching and the elaboration of rigor
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
Design Disciplines and Non-specific Transfer
ISSEP '08 Proceedings of the 3rd international conference on Informatics in Secondary Schools - Evolution and Perspectives: Informatics Education - Supporting Computational Thinking
ACM SIGCSE Bulletin
Developing authentic problem solving skills in introductory computing classes
Proceedings of the 40th ACM technical symposium on Computer science education
The BRACElet 2009.1 (Wellington) specification
ACE '09 Proceedings of the Eleventh Australasian Conference on Computing Education - Volume 95
Easing the transition: a collaborative learning approach
ACE '09 Proceedings of the Eleventh Australasian Conference on Computing Education - Volume 95
The design and coding of greedy algorithms revisited
Proceedings of the 16th annual joint conference on Innovation and technology in computer science education
Refinement of an experimental approach tocomputer-based, active learning of greedy algorithms
Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education
Constructive use of errors in teaching CS1
Proceeding of the 44th ACM technical symposium on Computer science education
An Experimental Method for the Active Learning of Greedy Algorithms
ACM Transactions on Computing Education (TOCE)
Hi-index | 0.00 |
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.