Design pattern: Difference between revisions
mNo edit summary |
m (→References) |
||
Line 58: | Line 58: | ||
* Fincher, S. (1999). Analysis of design: An exploration of patterns and pattern languages for pedagogy. Journal of Computers in Mathematics and Science Teaching, 18(3), 331 – 348. | * Fincher, S. (1999). Analysis of design: An exploration of patterns and pattern languages for pedagogy. Journal of Computers in Mathematics and Science Teaching, 18(3), 331 – 348. | ||
* Fincher, S., & Utting, I. (2002). Pedagogical patterns: Their place in the genre. In Proceedings of 7th | * Fincher, S., & Utting, I. (2002). Pedagogical patterns: Their place in the genre. In Proceedings of 7th Annual Conference on Innovation and technology in computer science education (ITiCSE’02), Aarhus, Denmark (pp. 199 – 202). | ||
Annual Conference on Innovation and technology in computer science education (ITiCSE’02), Aarhus, Denmark (pp. 199 – 202). | |||
* Goodyear, P., Avgeriou, P., Baggetun, R., Bartoluzzi, S., Retalis, S., Ronteltap, F., et al. (2004). | * Goodyear, P., Avgeriou, P., Baggetun, R., Bartoluzzi, S., Retalis, S., Ronteltap, F., et al. (2004). Towards a pattern lanugage for networked learning. In Proceedings of 4th International Conference on Networked learning (NLC’04), Lancaster, England (pp. 449 – 455). | ||
Towards a pattern lanugage for networked learning. In Proceedings of 4th International Conference on | |||
Networked learning (NLC’04), Lancaster, England (pp. 449 – 455). | |||
* Harrer, Andreas and Martens, Alke (2006). Towards a Pattern Language for Intelligent Teaching and Training Systems, In: Proc. of Intelligent Tutoring Systems (ITS 2006), edited by Mitsuru Ikeda, Kevin D. Ashley, and Tak-Wai Chan. Springer, Berlin, Germany, pages 298-307. [http://www.collide.info/Members/admin/publications/ITS_HarrerMartensFinal.pdf PDF Preprint] | * Harrer, Andreas and Martens, Alke (2006). Towards a Pattern Language for Intelligent Teaching and Training Systems, In: Proc. of Intelligent Tutoring Systems (ITS 2006), edited by Mitsuru Ikeda, Kevin D. Ashley, and Tak-Wai Chan. Springer, Berlin, Germany, pages 298-307. [http://www.collide.info/Members/admin/publications/ITS_HarrerMartensFinal.pdf PDF Preprint] |
Revision as of 18:29, 28 May 2007
Definition
“The concept of a pattern language has been developed by Christopher Alexander and his colleagues in architecture and urban design. In brief, a pattern language is a network of patterns of varying scales; each pattern is embodied as a concrete prototype, and is related to larger scale patterns which it supports, and to smaller scale patterns which support it. The goal of a pattern language is to capture patterns in their contexts, and to provide a mechanism for understanding the non-local consequences of design decisions.” (Erickson)
“A pattern language is a system of best practices for a given field of endeavor. Each practice is expressed as a pair of statements: one statement describes a conflict and the other a resolution to that conflict.” (Weinstein 2007)
“Design patterns are used to describe typical solutions for recurring design problems. They help to refine and complete system structures.”
Design patterns
Main concepts about Patterns
Derntl and Botturi (2006) define patterns and pattern languages as follows:
- Design pattern. A design pattern conveys the core of the solution to some relevant, recurring design problem (Alexander et al., 1977).
- Pattern language. A pattern language incorporates a set of patterns relevant to a specific design domain, including rules to combine them, i.e., like words and grammar rules (Alexander et al., 1977)
- Pattern system. A pattern system offers more than a pattern language: it offers tools for creative use, i.e., ways for creating new patterns by understanding the very roots of the system itself—its meta-language features. (e.g. how to use a pattern language, background, requirements, etc.)
In software engineering
According to Harrer and Martens (2006), there exist several approaches that use design patterns:
- Reference architectures and architectural patterns are used to specify basic structure and relationships between the main components of a software system. Reference architectures are e.g. the LTSA, system oriented verbal descriptions, or student oriented descriptions. Architectural patterns are on a more abstract level,
- Design patterns are used to describe typical solutions for recurring design problems. They help to refine and complete system structures.
- Process patterns and Learning Design follow the idea to explicitly model process oriented aspects and to make them re-usable. [E.g.] in ITS, implicit principles (e.g. related to pedagogical principles) are transformed to explicit declarations. This supports and facilitates the work of domain experts; resulting concepts and designs can be re-used. Examples are an exchangable catalogue of tutoring rules, and sequencing of learning activities in the Learning Design.
- Ontologies, Component based design, Frameworks and Refactoring are futher software engineering methods [...].
A collection of patterns which explicitly describes relations between different is called a pattern language [38].
Links
Design patterns in education
(not complete !)
- Montessori Design Patterns from Leone Learning Systems.
- The Interaction Design Patterns Page, contains information about resources related to pattern languages for interaction design.
- Pedagogical Patterns Project, retrieved May 2007.
References
- Alexander, C. A (1979) Timeless Way of Building. New York: Oxford University Press.
- Alexander, C., Ishikawa, S., Silverstein, M., Jacobson, M., Fiksdahl-King, I., & Angel, S. A (1977) A Pattern Language. New York: Oxford University Press.
- Botturi, L., Derntl, M., Boot, E., & Figl, K. (2006, in press). A classification framework for educational modeling languages. In Proceedings of IEEE International Conference on Advanced learning technologies (ICALT’06), Kerkrade, The Netherlands.
- Derntl, Michael and Luca Botturi, Essential use cases for pedagogical patterns, Computer Science Education, 16:2, 137 - 156, DOI:10.1080/08993400600768182
- Devedzic, V. (2001). A Pattern Language for Architectures of Intelligent Tutors. In: Moore, J.D., Redfield, C. and Johnson, W.L. (eds): Proc. of AI-Ed, San Antonio, TX, US, (2001) 542-544.
- Erickson, T. "Lingua Francas for Design: Sacred Places and Pattern Languages." In The Proceedings of DIS 2000 (Brooklyn, NY, August 17-19, 2000). New York: ACM Press, 2000, pp 357-368. HTML
- Fincher, S. (1999). Analysis of design: An exploration of patterns and pattern languages for pedagogy. Journal of Computers in Mathematics and Science Teaching, 18(3), 331 – 348.
- Fincher, S., & Utting, I. (2002). Pedagogical patterns: Their place in the genre. In Proceedings of 7th Annual Conference on Innovation and technology in computer science education (ITiCSE’02), Aarhus, Denmark (pp. 199 – 202).
- Goodyear, P., Avgeriou, P., Baggetun, R., Bartoluzzi, S., Retalis, S., Ronteltap, F., et al. (2004). Towards a pattern lanugage for networked learning. In Proceedings of 4th International Conference on Networked learning (NLC’04), Lancaster, England (pp. 449 – 455).
- Harrer, Andreas and Martens, Alke (2006). Towards a Pattern Language for Intelligent Teaching and Training Systems, In: Proc. of Intelligent Tutoring Systems (ITS 2006), edited by Mitsuru Ikeda, Kevin D. Ashley, and Tak-Wai Chan. Springer, Berlin, Germany, pages 298-307. PDF Preprint
- Schmidt, D., Stal, M., Rohnert, H. and Buschmann, F.: Pattern-oriented Software Architecture - Patterns for Concurrent and Networked Objects. JohnWiley & Sons, Chichester, (2000)
- Thomas Erickson, Supporting Interdisciplinary Design: Towards Pattern Languages for Workplaces, HTML
- Richard N Griffiths, Don't Write Guidelines Write Patterns!, HTML
- Weinstein, D. (2007). The Social Architecture of A Successful Collaborative Learning Environment. Article submitted to Computers and Writing Online 2007. accessed through http://acadianamoo.org/cwonline2007/index.html.