When a highly skilled person confronts an issue within his or her domain, he or she is able to quickly assess the situation: what is happening, what skills are needed, how is this similar to other situations, what differentiates it from other situations, what needs to be done. The job of documenting and transferring expertise or skills is not just to describe step-by-step procedures, although that is part of the job, it is also to place the procedures in the same context that the expert uses.
There is a growing body of literature about the construction of patterns or design patterns. Patterns are used to build a system around competence in a certain skill or discipline. A pattern is more than rules, or an algorithm, or heuristics. A pattern puts the rules in context, so that knowledge or skills can be more effectively transferred.
A pattern must solve a problem, not just any problem but one that recurs. It describes where the solution can be used. It is sufficiently descriptive to provide enough understanding so that the reader can apply it to different situations.
The pattern was originally conceived in the field of architecture, in Christopher Alexander's book A Timeless Way of Building. Alexander promoted the concept that humans have an innate ability to see patterns, just as they have the ability to speak. The concept of patterns has been adapted to other fields as well, notably software development. The bible for the use of patterns in software development is the book Design Patterns: Elements of ReUsable Object Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (who are known as the Gang of Four, or, if you are really, really nerdy, the GoF).
Today, patterns have been expanded into many different fields. Among other uses, they have been used to teach teachers how to teach, to show developers how to create courses on the Internet, to show social workers how to deal with addiction and dependency in their clients. The field is just starting to get traction and seems about to start growing rapidly into the mainstream of education, training, and skill transfer.
There are potentially nine aspects to building a pattern around a certain skill. Not every pattern needs to include all nine. They are as follows:
Patterns are designed to explicitly mimic how an expert would approach a situation. You might think of it along these lines:
If I find myself in some Context like Examples, and I face this Problem, with these Forces or constraints, but my situation is different from these Related Patterns.
Then I should think like this Rationale. If I want this Resulting Context then I should follow this Solution.
And here is a Name to help me remember this scenario.
The following is a pattern adapted from the UI Patterns and Techniques web site of Jennifer Tidwell. The test of a pattern is "does it help a person solve a recurring problem?" If you were designing a web interface and were thinking about how people would navigate around your site, would this pattern help you define your problem and expand the way you thought about the solutions?
You have a large Web site that has several divisions or groupings. Users will want to navigate from one division to another. You want to remind users, while they are in one section of your site, that there are others.
A set of links on the top of a screen can make the structure of a web site visible to users. Having commands or navigation on the top of the screen is something that users expect: it is a well-established convention. Top level navigation helps users find what they need and facilitates exploration.
Users will have a desire to navigate to different areas of your web site.
The amount of screen real estate is limited.
Users expect to see navigation or commands on the top of the screen.
Your site will be more accessible and usable if major elements, like navigation, are in a common area on every page.
Create a navigational panel on the top of the screen, listing the different divisions going across.
Keep the number of divisions down to something that can be shown on the screen and name them so that they are easily understood by users who may not come often to your site.
Make sure that the Panel looks the same and appears at the same spot on each page.
Alter the panel to indicate the current location of the user.
One example is a panel on the top of the screen that lists the different divisions going across. An effective implementation would be to arrange the divisions to appear as tabs, like the tabs that are used in file folders. As a tab is clicked, a subordinate page of information is displayed into the space below the navigational image and the tab appears to come forward, as a visual cue.
Look at the navigation options on the Amazon.com web site. Note that there are over 18 different options in a relatively small space, the options are hierarchical in that each leads to other options, and that they are well organized on the top and left of the screen, which is where you would expect to find them.
Users will not always follow the path that you envision. They may not even notice a navigational device like this, but will click on what, to them, is the most obvious signpost to get them what they need. Especially on the initial page, it may be necessary to have additional navigational aids.
There are many different choices for top level navigation, including tabs, cards, icons, and progress indicators. Each of these is described as a pattern the UI Patterns and Techniques web site.
Select fonts, placement, colors, and shapes that fit into the visual framework for the entire site.
If the elements of the toplevel navigation can be kept in a central area like a library or style sheet, then they can be edited centrally, saving a lot of time when they have to be modified or updated.
Keep in mind that these divisional navigation links have to be presented in a way that meshes with other links that you are displaying. Other common areas for links are the left hand side, the right hand side, and the bottom.
Division navigation is a type of signpost. If a person needs to use a restroom in a museum, they most likely won't bother getting out their map if there are easy to find signs or architectural clues. If the division navigation is obvious and simple for the user, it will make the site easier to get around.
The book How People Learn points out that an expert may not be the best person to construct a pattern. First of all, the procedures may be second nature to an expert, he or she may be able to perform them without even thinking about them. Second, expertise is not synonymous with the ability to teach. Expertise in formulating patterns is it's own expertise, though, and it can be taught.
Training and education often break down because we did not fully understand how top performers actually perform or because the learners could not transfer their knowledge or skills beyond the problems posed in a class. Patterns represent an approach to document how experts approach problems or opportunities in their fields in a way that allows others to emulate their thought processes, approaches, and solutions.
Here is a simplified example developed by Sherri S. Frizzel as she discussed different aspects of web-based instruction:
Some students have a need to feel connected with other students enrolled in the course. How to facilitate a sense of community for on-line students?
Web-based courses where students are feeling isolated.
Students are not all on-line at the same time.
Some students prefer anonymity.
The medium has various constraints.
Provide an environment that encourages students to get to know other students in the course and to communicate with each other. This can be facilitated by having students post information about themselves. You can make the first assignment called Introduce Yourself. It can be in the form of a web page and contain information such as the student’s name, email address, interests, and a picture.
This information can encourage interaction and dialogue among the students.
Web discussion tools such as bulletin boards can also be added to the course to encourage students to discuss topics. Students can go to the bulletin board to post problems and share ideas. You can also post questions on the bulletin board and require students to respond. This type of student interaction creates a sense of community for students.
Including Group Projects as a part of the instructional activities provides another mechanism to encourage a connection among students.
Creates a learning environment that encourages participation and interaction among the students. A course design that provides for a high level of interaction may alleviate some of the issues of learners who feel isolated and non-connected during on-line courses. In distance education courses, an attrition rate of 50% is common. By making students feel like they are part of a community, they may be more likely to participate and complete the course.
Do you want to find out more about expertise and patterns?
There are many sources you can use on the Internet. Here are the sources I used to help flesh out these ideas:
Patterns/discussion FAQ by Doug Lee: http://g.oswego.edu/dl/pd-FAQ/pd-FAQ.html
Patterns and Software: Essential Concepts and Terminology, Brad Appleton: http://www.cmcrossroads.com/bradapp/docs/patterns-intro.html
UI Patterns and Techniques, Jennifer Tidwell: http://time-tripper.com/uipatterns/index.php
IT Curriculum Design for Vocational Courses, Chai Wan: http://itcurrdpl.cwcm.ws/
Supporting the Application of Design Patterns in Web-based Instruction, Sherri S. Frizzel: http://web6.duc.auburn.edu/~frizess/frizell-edmedia.pdf
While other questions will develop, hopefully, as we get into the discussion, here are some initial questions I would like to pose to the group.
Would you use design patterns? How?
Are design patterns useful as part of a curriculum?
Are there subjects that do not seem like good candidates for design patterns?
Do you know of collections of design patterns in your field?
Have you seen effective use of design patterns?