Skip lists: a probabilistic alternative to balanced trees
Communications of the ACM
Introduction to algorithms
The case for case studies of programming problems
Communications of the ACM
A N algorithm for mutual exclusion in decentralized systems
ACM Transactions on Computer Systems (TOCS)
Introduction to Algorithms: A Creative Approach
Introduction to Algorithms: A Creative Approach
Graph Algorithms
Aha! an illuminating perspective
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
Peer assessment in the algorithms course
ITiCSE '05 Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
Introducing abstraction and decomposition to novice programmers
ITiCSE '09 Proceedings of the 14th annual ACM SIGCSE conference on Innovation and technology in computer science education
Hi-index | 0.00 |
The most common decomposition perspective in computer science problem-solving is 'top-down', in which the problem at hand is divided into 'smaller' sub-problems. Yet there are more decomposition perspectives. In this paper we illuminate three additional perspectives and demonstrate their didactic value. The presentation is displayed in an apprenticeship manner, through different approaches for solving an intriguing algorithmic challenge - the problem of finding majority. Each of the three perspectives is tied to a variety of algorithmic problems and solutions, and elaborated as a pedagogical tool for teaching algorithms.