Learning to program = learning to construct mechanisms and explanations
Communications of the ACM
A cookbook for using the model-view controller user interface paradigm in Smalltalk-80
Journal of Object-Oriented Programming
ET++—an object oriented application framework in C++
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
SIGCSE '91 Proceedings of the twenty-second SIGCSE technical symposium on Computer science education
Advanced C++ programming styles and idioms
Advanced C++ programming styles and idioms
Supporting Pascal programming with an on-line template library and case studies
International Journal of Man-Machine Studies
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Self-reference is an illustrative essential
SIGCSE '94 Proceedings of the twenty-fifth SIGCSE symposium on Computer science education
Engaging students and teaching modern concepts: literate, situated, object-oriented programming
SIGCSE '94 Proceedings of the twenty-fifth SIGCSE symposium on Computer science education
Cognition and computer programming
Cognition and computer programming
AAA and CS 1: the applied apprenticeship approach to CS 1
SIGCSE '95 Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education
The mythical man-month (anniversary ed.)
The mythical man-month (anniversary ed.)
Pattern languages of program design
Pattern languages of program design
Pattern languages of program design
Patterns for software architectures
Pattern languages of program design
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
Pattern languages of program design 2
Pattern languages of program design 2
The interaction of social issues and software architecture
Communications of the ACM
The pros and cons of adopting and applying design patterns in the real world
Communications of the ACM
A training experience with patterns
Communications of the ACM
Toward a first course based on object-oriented patterns
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
Strategic directions in computer science education
ACM Computing Surveys (CSUR) - Special ACM 50th-anniversary issue: strategic directions in computing research
Pattern-oriented software architecture: a system of patterns
Pattern-oriented software architecture: a system of patterns
Teaching OOP in C++ using an artificial life framework
SIGCSE '97 Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education
Application-based modules using apprentice learning for CS 2
SIGCSE '97 Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education
Animation, visualization, and interaction in CS 1 assignments
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
Scaling: a design pattern in introductory computer science courses
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
Object-Oriented Programming in Pascal; A Graphical Approach
Object-Oriented Programming in Pascal; A Graphical Approach
An object-oriented, apprenticeship approach to data structures using simulation
FIE '96 Proceedings of the 26th Annual Frontiers in Education - Volume 01
SIGCSE '99 The proceedings of the thirtieth SIGCSE technical symposium on Computer science education
Toolkits in first year computer science: a pedagogical imperative
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Colorful examples for elaborating exploration of regularities in high-school CS1
Proceedings of the 5th annual SIGCSE/SIGCUE ITiCSEconference on Innovation and technology in 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
OO overkill: when simple is better than not
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Object orientation in CS1-CS2 by design
Proceedings of the 7th annual conference on Innovation and technology in computer science education
Frames and boxes: a pattern-based method for manipulating binary trees
ACM SIGCSE Bulletin
Teaching objects early and design patterns in Java using case studies
Proceedings of the 8th annual conference on Innovation and technology in computer science education
The novice programmers' syndrome of design-by-keyword
Proceedings of the 8th annual conference on Innovation and technology in computer science education
Using a maze case study to teach: object-oriented programming and design patterns
ACE '04 Proceedings of the Sixth Australasian Conference on Computing Education - Volume 30
Embedding instructive assertions in program design
Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education
(An almost) pedagogical pattern for pattern-based problem-solving instruction
Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education
Frameworks: putting design patterns into perspective
Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education
Experiences with teaching design patterns
Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education
An approach to teaching design patterns using musical composition
Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education
Algorithmic patterns and the case of the sliding delta
ACM SIGCSE Bulletin
Controversy on how to teach CS 1: a discussion on the SIGCSE-members mailing list
Working group reports from ITiCSE on Innovation and technology in computer science education
Efficient use of robots in the undergraduate curriculum
Proceedings of the 36th SIGCSE technical symposium on Computer science education
Teaching design patterns by stealth
Proceedings of the 36th SIGCSE technical symposium on Computer science education
Pattern oriented instruction and the enhancement of analogical reasoning
Proceedings of the first international workshop on Computing education research
Reversing: an essential heuristic in program and proof design
Proceedings of the 37th SIGCSE technical symposium on Computer science education
An instructional scaffolding approach to teaching software design
Journal of Computing Sciences in Colleges
Let's modify the objects-first approach into design-patterns-first
Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education
The Factory Pattern in API Design: A Usability Evaluation
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Pattern-oriented instruction and its influence on problem decomposition and solution construction
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
Hasty design, futile patching and the elaboration of rigor
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
Evolving an integrated curriculum for object-oriented analysis and design
Proceedings of the 39th SIGCSE technical symposium on Computer science education
An empirical study on students' ability to comprehend design patterns
Computers & Education
Design Disciplines and Non-specific Transfer
ISSEP '08 Proceedings of the 3rd international conference on Informatics in Secondary Schools - Evolution and Perspectives: Informatics Education - Supporting Computational Thinking
Integrating antipatterns into the computer science curriculum
Journal of Computing Sciences in Colleges
On the non-modular design of on-the-fly computations
ACM SIGCSE Bulletin
An introduction to program comprehension for computer science educators
Proceedings of the 2010 ITiCSE working group reports
On novices' local views of algorithmic characteristics
ISSEP'06 Proceedings of the 2006 international conference on Informatics in Secondary Schools - Evolution and Perspectives: the Bridge between Using and Understanding Computers
Transfer, cognitive load, and program design difficulties
ISSEP'11 Proceedings of the 5th international conference on Informatics in Schools: situation, Evolution and Perspectives
Pseudo abstract composition: the case of language concatenation
Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education
Integrating the teaching of algorithmic patterns into computer science teacher preparation programs
Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education
A pattern language for teaching design patterns (part 1)
Proceedings of the 16th European Conference on Pattern Languages of Programs
Pattern programming approach for teaching parallel and distributed computing
Proceeding of the 44th ACM technical symposium on Computer science education
Novice difficulties with interleaved pattern composition
ISSEP'13 Proceedings of the 6th international conference on Informatics in Schools: Situation, Evolution, and Perspectives
Observations on the observer pattern
Proceedings of the 17th Conference on Pattern Languages of Programs
Hi-index | 0.00 |
The field of software patterns has seen an explosion in interest in the last three years. Work to date has been on the recognition, cataloging, and finding of patterns with little attention to the use of patterns, especially by students and practitioners not well-versed in object-oriented technologies. This project addresses pattern use through the development of several programming and pedagogical frameworks that supply support for using patterns throughout a computer science curriculum. Although we do not claim that patterns are Brooks' silver bullet [10], their use can help cope with the accidental complexity of software development and, we argue, their use is essential for a successful adoption of object-oriented techniques in academic computer science programs. This project addresses practical concerns of the computer science and software engineering communities in using, teaching, and learning patterns. In this paper we argue that patterns are an essential programming and pedagogical tool and report on our work in making them accessible to the educational community.