Foundations of computer science
Foundations of computer science
The case for case studies of programming problems
Communications of the ACM
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Abstract data types: specifications, implementations, and applications
Abstract data types: specifications, implementations, and applications
Design patterns: an essential component of CS curricula
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
Teaching data structure design patterns
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
Design patterns for data structures
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
High-School Students' Attitudes Regarding Procedural Abstraction
Education and Information Technologies
Hi-index | 0.00 |
The abstract data type (ADT) is one of the central concepts in computer science; it plays a major role in problem solving and in data storage and retrieval. Here we describe a pattern-based method for problem solving and for developing algorithms that utilizes abstract data types. Our method is based on the classification of problems that deal with the manipulation of abstract data types. A corresponding solution pattern was adapted to each class of problems. The method was designed to serve as a scaffolding tool for problem solving: to assist in analyzing problems, to recognize the main characteristics of a given problem, to determine a suitable solution pattern, and to use it to construct an appropriate algorithm that solves the problem. We demonstrate how the method is applied to teach binary trees.