Design pattern

The educational technology and digital learning wiki
Jump to navigation Jump to search

Draft

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.

Links

Design patterns in education

(not complete !)

The pedagogical Patterns Project

This seems to be the project in educational design patterns. They explicitly refer to Alexander

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 10:09, 15 April 2008 (UTC).

Design pattern tutorials

Other links

  • 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).

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