Introduction to algorithms
Algorithms in C++
Do algorithm animations assist learning?: an empirical study and analysis
CHI '93 Proceedings of the INTERACT '93 and CHI '93 Conference on Human Factors in Computing Systems
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
A strategy for managing content complexity in algorithm animation
ITiCSE '99 Proceedings of the 4th annual SIGCSE/SIGCUE ITiCSE conference on Innovation and technology in computer science education
Increasing visualization and interaction in the automata theory course
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Communications of the ACM
Software Visualization
Algorithmen lernen mit interaktiven Visualisierungen
INFOS '01 Informatikunterricht und Medienbildung, INFOS 2001, 9. GI-Fachtagung Informatik und Schule
Teaching Binary Tree Algorithms through Visual Programming
VL '96 Proceedings of the 1996 IEEE Symposium on Visual Languages
Toward effective algorithm visualization artifacts: designing for participation and communication in an undergraduate algorithms course
Mindstorms: children, computers, and powerful ideas
Mindstorms: children, computers, and powerful ideas
Exploring the role of visualization and engagement in computer science education
Working group reports from ITiCSE on Innovation and technology in computer science education
Hi-index | 0.00 |
Traditionally an algorithm is taught by presenting and explaining the problem, the algorithm pseudocode and an algorithm animation or a sequence of static snapshots. My aim is to foster creativity, motivation and high level programming concepts by providing the student an alternative route to algorithm understanding: exploratory learning. The algorithm is structured into several functions and this structure is presented to the student. The student is encouraged to device a pseudocode description himself. An instance of the problem is presented on the level of each algorithm function. A graphical simulation of the data structures and some of the algorithm functions are provided. It is the student's task to find out a correct sequence of function calls that will solve the problem instance. The instructor can control the difficulty of the task by providing algorithm constraints. Each new constraint will shrink the solution space and thus ease the task.