Difference between revisions of "Context, Problem and Consequences First"

From Open Pattern Repository for Online Learning Systems
Jump to navigation Jump to search
(Added contributors)
(Added category)
Line 35: Line 35:
We consider this pattern a true invariant, as independent of the domain a specific pattern should only be applied after all relevant information has been gathered and analysed.
We consider this pattern a true invariant, as independent of the domain a specific pattern should only be applied after all relevant information has been gathered and analysed.


==Context==
<!-- Context of the design pattern -->
==Problem==
<!-- Problem the design pattern solves -->
==Forces==
<!-- List of forces affecting the solution. Each entry is preceded by an * For example:
# Entry 1
# Entry 2 -->
==Solution==
<!-- Solution to the design problem -->
==Consequences==
===Benefits===
<!-- List of benefits from applying the solution to the problem Each entry is preceded by an * For example:
# Entry 1
# Entry 2 -->
===Liabilities===
<!-- List of liabilities from applying the solution to the problem Each entry is preceded by an * For example:
# Entry 1
# Entry 2 -->
==Evidence==
===Literature===
<!-- Evidence from literature that was used in producing the pattern or evaluating the pattern-->
===Discussion===
<!-- Discussion with experts or stakeholders used in producing the pattern -->
===Data===
<!-- Evidence from data that was used in producing the pattern -->
===Applied evaluation===
<!-- Results from randomized controlled trials (RCTs) or similar tests that measures the pattern's effectiveness in an actual application. For example, compare student learning gains in an online learning system with and without applying the pattern. -->
==Related patterns==
<!-- Other design patterns related to the current design pattern and a description of how it is related -->
==Example==
<!-- Example of applying the design pattern -->


==References==
==References==
<references/>
<references/>


[[Category:Design_patterns]] <!-- List of other categories the design pattern belongs to. The syntax for linking to a category is: [[Category:<Name of category]] -->
[[Category:Design_patterns]] [[Category:Patlet]]<!-- List of other categories the design pattern belongs to. The syntax for linking to a category is: [[Category:<Name of category]] -->

Revision as of 10:11, 4 May 2017


Context, Problem and Consequences First
Contributors Christian Köppe
Last modification May 4, 2017
Source Köppe (2011)[1][2]; Köppe (2013)[3]
Pattern formats OPR Alexandrian
Usability
Learning domain
Stakeholders

Also Known As: First Things First, Focus Beyond the Solution


Context Problem and Consequences First-alx.png


After an initial introduction to patterns, the students will be required to apply them as well. The application requires the choice for a pattern and the application of its solution. You now want to show students how to start applying patterns in a correct way.

***

Students who start to learn patterns often go straight to the solution and apply it, hastily skipping the problem, context, forces, and consequences parts of the pattern.


***

Therefore: Focus first on the problem, context, and forces parts of a pattern. Make sure the students understand the need for a good solution. Then introduce the solution and the consequences of applying the pattern.


We consider this pattern a true invariant, as independent of the domain a specific pattern should only be applied after all relevant information has been gathered and analysed.

Context

Problem

Forces

Solution

Consequences

Benefits

Liabilities

Evidence

Literature

Discussion

Data

Applied evaluation

Related patterns

Example

References

  1. Pattern first published in Köppe, C. (2011). A pattern language for teaching design patterns (part 1). In Proceedings of the 16th European Conference on Pattern Languages of Programs (p. 2). ACM:New York.
  2. Patlet published in Köppe, C. (2011). A pattern language for teaching design patterns (part 2). In Proceedings of the 18th Conference on Pattern Languages of Programs. ACM:New York.
  3. Pattern also published in Köppe, C. (2013). A Pattern Language for Teaching Design Patterns. In Transactions on Pattern Languages of Programming III (pp. 24-54). Springer Berlin Heidelberg.