A debate on teaching computing science
Communications of the ACM
Introduction to algorithms
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Design patterns: an essential component of CS curricula
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
The Science of Programming
A Discipline of Programming
Embedding instructive assertions in program design
Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education
Elaborating heuristic reasoning and rigor with mathematical games
ACM SIGCSE Bulletin
On the non-modular design of on-the-fly computations
ACM SIGCSE Bulletin
Hi-index | 0.00 |
The solution of an algorithmic task requires rigorous insight, based on the task's characteristics. Problem solvers seek insight in diverse ways, from different points of view. Experts usually seek a global, assertional perspective. Such a perspective is not natural to many novices, who often turn to local viewpoints. However, such points of view may yield erroneous outcomes. This study displays three different facets of novices' improper local points of view. The three facets involve local substructures, greedy traps, and unsuitable design patterns. Novices' erroneous solutions to three colorful tasks are described and analyzed, in comparison with the desired solutions, and suggestions are made for elaborating student awareness of the need for a global, rigorous point of view in algorithmic problem solving.