- Page created by Daniel K. Schneider, 28 August 2006
- Contributors: Daniel K. Schneider x28, Kalli x2
- Last modified by Daniel K. Schneider, 11 June 2013
“ 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.”
2 Design patterns
McAndrew (2004) describe the Alexandrian pattern format (adapted from Goodyear et al. 2004) like this:
There exist many variants of this structure, but the fundamental principles should remain the same (Avgeriou, 2003).
2.1 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.)
2.2 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.
2.3 In education
Design patterns can be used to describe learning designs (e.g. Goodyear, 2000; McAndrew et al. 2006 and 2007; Derntl et al., 2006). See the "design patterns in education" links below.
A typical design pattern in the e-Len project looks like this:
Patterns also can cover a small design space. E.g. in Joe Bergin's Wiki collection of Active Student Patterns (retrieved 17:32, 26 February 2009 (UTC)), we find a list of 18 patterns that are described as follows: “A Pattern Language for keeping students Active. What kinds of assignments and tasks do we give them to help them learn?”. He also has a list of Good Student Patterns of which we show the "Try To Improve It pattern:
Since the wiki from which we quoted seems to quite dead, See Pedagogical Patterns.org for more work from this group. It includes a series of downloadable PDF files that cover each a different range of design patters:
- Teaching from Different Perspectives
- Active Learning
- Experiential Learning
- Patterns for Gaining Different Perspectives
The Patterns for Active Learning include about different patterns that are grouped into 7 "problem classes".
One also may consider formal learning designs as design patterns (e.g. a LAMS module). It is almost self-describing since an other teacher can play it on a LAMS system, before adapting it to his own need. However there are two major differences with respect to Alexander's original concept:
- There is no problem description (except for an eventual description of learning goals etc. in the repository
- It's a prototype (not a generic description).
Finally, you can have a look at the TECFA SEED Catalog, an attempt by Daniel K. Schneider to create a catalog of simple scenarios and that rely on a catalog of elementary activities which in turn make use what we called C3MS bricks.
3.1 Design patterns in education
(not complete !)
- Montessori Design Patterns from Leone Learning Systems.
- The pedagogical Patterns Project
This seems to be the project in educational design patterns. They explicitly refer to Alexander
- Pedagogical Patterns Project, retrieved May 2007. Browse through this site ...
- SEMINARS - A Pedagogical Pattern Language on how to teach seminar...]
- Fourteen Pedagogical Patterns by Joseph Bergin
- Bergin, Josepth, A Pattern Language for Course Development in Computer Science
- The e-Len project
- e-Len was a EU project. It's repository is still alive (2008): “In the E-learning Design Patterns Repository you will find a collection of design pattern for e-learning. These patterns have been jointly developed within the E-LEN projects. This repository is an active entity which is constantly enlarged with the addition of new design patterns”, retrieved 12:26, 15 April 2008 (UTC).
3.2 Design pattern tutorials
- Brad Appleton, Patterns and Software: Essential Concepts and Terminology
- Joshua Kerievsky, Industrial Logic, Inc., A Learning Guide To Design Patterns
- The Interaction Design Patterns Page by Tom Erickson. Contains information about resources related to pattern languages for interaction design. Good resource !
- Hills.net, a nonprofit corporation dedicated to improving human communication about computers by encouraging people to codify common programming and design practice (organizes conferences and host the patterns home page, browse the this site).
- 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.
- Alexander, C. (1999) The Origins of Pattern Theory, the Future of the Theory and the Generation of a Living World. IEEE Software 16 (5) 71-82.
- Avgeriou, P., Papasalouros, A., Retalis, S., Skordalakis, E. (2003) Towards a Pattern Language for Learning Management Systems, Educational Technology & Society, 6, 2, 11-24, http://ifets.ieee.org/periodical/6-2/2.html
- 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 (2006), 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).
- Goodyear, P. (2005) Educational Design and Networked Learning: Patterns, pattern languages and design practice. Australasian Journal of Educational Technology, 21(1), 82-101.
- 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
- McAndrew, P. and Goodyear, P. (2007) Representing practitioner experiences through learning design and patterns. In Beetham, H., Sharpe, R. (Eds), Rethinking Pedagogy for a Digital Age (pp. 92-102). New York: Routledge.
- McAndrew, P., Goodyear, P., Dalziel, J. (2006) Patterns, designs and activities: Unifying descriptions of learning structures. International Journal of Learning Technology, Volume 2, Numbers 2-3 , pp. 216-242(27).
- McAndrew, P., Goodyear, P. & Dalziel, J. (2005). Patterns, designs and activities: unifying descriptions of learning structures. Preprint of McAndrew et al. 2006. Abstract/Word
- McAndrew, P. (2004). Representing practitioner experiences through learning design and patterns. (The Effectiveness of Resources, Tools and Support Services used by Practitioners in Designing and Delivering E-Learning Activities). JISC, Aug. 2004. Word.
- 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.