Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Thinking about binary trees in an object-oriented world
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
Knowing your roots: object-oriented binary search trees revisited
ACM SIGCSE Bulletin
Design patterns: an essential component of CS curricula
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
Patterns for decoupling data structures and algorithms
SIGCSE '99 The proceedings of the thirtieth SIGCSE technical symposium on Computer science education
Teaching software tools via design patterns
ACSE '00 Proceedings of the Australasian conference on Computing education
Using patterns in the CS curriculum
CCSC '00 Proceedings of the fifth annual CCSC northeastern conference on The journal of computing in small colleges
Kaleidoscope: using design patterns in CS1
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
OO overkill: when simple is better than not
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Teaching data structures with multiple collection class libraries
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
Frames and boxes: a pattern-based method for manipulating binary trees
ACM SIGCSE Bulletin
Using counter-examples in the data structures course
ACE '03 Proceedings of the fifth Australasian conference on Computing education - Volume 20
High-School Students' Attitudes Regarding Procedural Abstraction
Education and Information Technologies
Teaching roles of variables in elementary programming courses
Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education
Roles of variables and programming skills improvement
Proceedings of the 37th SIGCSE technical symposium on Computer science education
Proceedings of the 47th Annual Southeast Regional Conference
Pattern-based framework for modularized software development and evolution robustness
Information and Software Technology
Hi-index | 0.00 |
Design patterns provide ways to structure software components into systems that are flexible, extensible, and have a high degree of reusability. The state pattern, the null object pattern, and the singleton pattern are used to implement common data structures such as lists and trees. These patterns help narrow the gap between the abstract views of the data structures and their concrete implementations. The smaller the gap, the higher the level of abstraction. The more abstract, the less complex the coding structure. As a result, algorithms are easier to understand and more manageable. This paper advocates teaching the above design patterns in data structures courses.