Here are six additional pedagogical patterns that have been submitted to the Pedagogical Patterns Project.
One Pace Plaza
New York, NY 10038 USA
Pedagogical Pattern #
(Version 1.0, October 1998)
Students should get praise for what they do well.
All students at all levels where they have done something especially well.
Students look up to professors as role models.
Students work best when they feel good about themselves.
Students, like their professors, like to feel appreciated.
When a student or group of students does something well they should be praised for it. This can occur either publicly or privately. It can be a simple few words spoken in private or it can be an insertion into the student's permanent academic record.
The forces at play here also suggest that you should never belittle a student even for poor work.
This works for young children as every elementary school teacher knows. It is often unexpected by young adults, and this alone can account for some of its effectiveness.
My compiler course is seen as very difficult. As an added incentive, I publish the "Gold, Silver, and Bronze Medal" winners each year on the internet.
When bumping into a student in the halls or elevator, you can mention how much you liked the solution they provided in the previous assignment (if indeed you did).
Dartmouth College had (has?) a policy that a professor can insert a special note into any student's permanent file when they do something out of the ordinary. This might be an especially good job on a project or a special contribution to a class or to campus life in general. These notes are highly valued by students.
An extravagant example of this is when a professor publishes a student's best work on a course web page.
The name, of course, comes from a fairly common practice in elementary school in which a teacher will put a gold star on well done papers. Some teachers have special ink stamps made with special sayings for their students.
If you are going to do this, then don't forget to be consistent.
Pedagogical Pattern #
(Version 1.0, October 1998)
When teaching a complex topic outside student's normal experience, find a complex and consistent metaphor for the topic being taught. The basis of the metaphor needs to be known to the students.
You are teaching a complex topic, such as object-oriented thinking. The topic has many parts, some of which are quite detailed. The students need a way to think of the topic "as a whole," but the topic is highly technical and outside their experience.
You want to give your students a powerful and consistent shorthand for thinking about some complex topic. The shorthand should relate the topic being taught to things within their experience.
Students may get lost in the detail easily and fail to see the big picture and how the parts relate to each other.
It may take you a long time to teach all of the elements of the topic under review. (But, see Spiral.)
You want students to have an idea about what is happening within a system that permits them to make valid inferences about what should happen.
Design a metaphor that is consistent with the topic being taught and which has the same basic elements and in which the elements interact in the same way. Give this to the students as a way to think about the system being taught. The metaphor must be close enough in basic structure that students can make valid inferences about the topic being consideration by thinking about the metaphor.
The instructor must also know the limits of the metaphor and communicate these to the students as well, so that they don't make improper inferences about the system based on the metaphor.
A metaphor can be used for a small element of a topic or to give a view of the overall landscape. It is most useful when valid inferences can be drawn from it.
The basis or the metaphor itself must be well known to the students.
Discussion groups are useful in exploring metaphors among educators and for finding the limits of particular metaphors.
Audio Object Analogies (#31) is a specialization of this pattern.
Role Playing (#5) makes use of an instance of this pattern.
(Human Powered Vehicle) One of the most powerful ways to teach about objects and their properties is to imagine that each object in a system is a person. The metaphor shares the following with an object system:
On the other hand, the metaphor breaks down in a non-concurrent system as objects interact sequentially, while people always interact concurrently.
(White Box) In systems building, it is sometimes possible to build in such a way that information system components directly model components of the business process being handled. In this case, the real world system becomes a metaphor for the information system being built. While this may not be the dominant mechanism of object-oriented system building today, it is still useful for beginners who need help initially in finding the objects in a system being modeled.
(CPU) Modern computer systems are seldom exactly like the memory model that many instructors give their students to think about the nature of computation in imperative languages. The simple model, however is usually good enough for most purposes. Notice that this is an abstract metaphor.
Pedagogical Pattern #
(Version 1.0, November 1998)
Student Online Portfolios
Students publish examples of their best work on the web. Professors link to the best of the best pages from their own sites.
In arts and craft disciplines, students typically build portfolios over their professional lifetimes, beginning in the earliest courses. For example, students studying fine arts will build a portfolio with examples of their best work in different media--design, water color, etc. Computer science shares some of the features of the craft disciplines, so student portfolios may be valuable here as well.
This is intended for students at all levels in all courses.
Universities need a consistent way to assess students. This is becoming a requirement of most accrediting agencies.
Students need a way to present their best work -- to potential employers, to each other, and to their professors. This permits feedback to the students from a variety of sources.
(Aside: Parents love the idea of their child's work being published.)
In some environments, student plagiarism is a problem. The more public the work, the less likely is copying.
In each course, students publish one or two examples of their best work on the web, using separate pages. They also build an index of their pages, detailing the courses. This index page can take the form of a resumé. Ideally, these pages should be freely available across the web.
The work to be presented can be selected either by the professor, or by the student (or a combination). One option is to have one assignment in each course that is created specifically for web presentation.
Students can be asked to comment on one another's work.
Examples of work from prior years can be used by current students as examples to emulate.
It will be difficult or impossible for assignments to become stale. Professors will need to update their assignments regularly. At a minimum, each professor will need one new assignment in each course each term, as students have access to prior years published work.
There are definite advantages if the University can commit to keeping the pages active far beyond the student's graduation. The student advantage should be obvious, but the advantage to the University involves continuing contact with the student as they advance in the profession. Both the Alumni and Admissions offices may find use for the material.
Note: The recommendation is that each piece of student work be a separate page. This is to facilitate faculty links to those pages that the faculty member considers of special merit. The student is free, of course, to link back to the faculty page that "confers" the merit.
If there is a worry that students will change pages after faculty links are in place, then student pages need to be placed in a special directory to which the students do not have write/update access. The pages can still be created by the students, however.
Web space is required, of course. The faculty must also be willing to build links from their own pages to the pages with their student's best work. All of this is time consuming.
The link from the professor's page to the student's can be a Gold Star.
Portfolios are widely used in other disciplines.
See http://csis.pace.edu/~bergin/Java/groups.html. The course in question is described at http://csis.pace.edu/~bergin/StudentTasks.html In this course, the project was designed for web presentation an this was required of all students.
Most of the faculty must be willing to adopt this as a major part of each course.
Pedagogical Pattern #
(Version 1.0 -draft November 1998)
Student Design Sprint
Students need to practice design at all levels. This pattern gives them quick feedback and peer review on early attempts.
This pattern applies to courses for novices in programming and in design. It can also be used with experienced developers who are new to a topic.
Students need to practice design at all levels.
They need feedback on early attempts.
They need to see good designs and to critique poor designs.
They need to see the consequences of poor designs.
This activity can take place in the classroom or in a lab. The students are divided up into groups of two (or three). They are given a design problem and asked to produce a design outline in 15 minutes. There should be a written sketch of the design in that time. The instructor can look over shoulders and comment or not, but few hints should be given. Questions should be answered freely.
At the end of 15 minutes, the instructor poses a set of questions about the designs without asking for answers. The questions should be such that they cannot be favorably answered by some set of poor designs.
The students are then regrouped by combining pairs of nearby groups, so that you now have groups of 4 or five students and each group has two of the original designs. The task is now modified slightly and the groups are asked to produce a new design.
After another 15 minutes the instructor again poses a set of questions for thought, regroups the students again into still larger groups, modifies the task slightly and again puts the students to work.
This can continue for as many cycles as the instructor wishes. At the end, the instructor should evaluate the resulting designs and make comments. It may be enough to show one or two of the best designs and explain why these are better than the others. If poor designs are also to be shown, it might be best if the names of the designers are not attached.
Alternatively, the groups can be required to present and justify their designs and the rest of the class can critique them.
For some situations one cycle may be all that is needed, followed by a discussion of the issues. In this case the instructor can ask the groups which designs had certain characteristics.
If the exercise is to design a system using CRC cards, then a good follow up is to apply the Role Playing or Incremental Role Play pattern. Have the students with a good, but not perfect, design explore the communication paths implied by their design in a search for bottlenecks.
This pattern is not restricted to analysis and design. I can be used for program design and data structure design as well.
This can be used to lead in to a Role Play pattern.
Alaistair Cockburn has a wonderful exercise for students designing a coffee machine in about three or four cycles in which the requirements become more sophisticated each cycle.
This can be used in program design in the first and second courses. The task can be to write a function with a given set of pre and post conditions. The tasks in the later cycles can be to tighten the pre conditions and/or strengthen the post conditions.
Alternatively, the task could be to develop some code with a given invariant and the questions can involve ways that the invariant might be invalidated by a user if the design is not sound.
This pattern can be used in data structure design in the data structure's course. For example, the students can be asked to design a linked list, without telling them how it will be used. They must design a protocol and pick an implementation strategy. The instructor can then suggest some uses to which a linked list might be put and ask if the design supports that use.
Alaistair Cockburn's Coffee Machine Design exercise.
Pedagogical Pattern #54
(Version 1.0, October 1998)
Icky Poo (aka Physical Analogy)
Students can benefit from very vivid physical analogies. They can make the presentation of a complex topic unforgettable.
Novices learning some new but complex topic.
Students often forget details of abstract concepts and confuse similar concepts. Analogies are a good way to prevent this if the analogy is close to the concept being taught and the student can quickly make appropriate associations when the details are required.
Dramatic, visible, and unexpected demonstrations are remembered. If they are also good analogies, then the students will carry important and unforgettable lessons.
Use a physical device, such as a toy, that has some of the characteristics of the concept being taught. Give a very vivid classroom demonstration of its use.
The instructor must be willing to give some thought both to how the analogy holds and how it breaks down. Students can possibly gain incorrect insight by taking the analogy beyond its intent. SPECIAL RESOURCESLots of physical props. See the example instances.
None known, but we are open to suggestions.
Astrachan uses a toy called Icky Poo to illustrate many of the important concepts of C++ pointers. The toy is a sticky plastic that will stretch 20 times its length. It comes in the form of a snake. When you hold one end and "whap" the other against a surface it sticks. If the surface is a lightweight piece of paper, the object can be retrieved. Pieces of paper form the heap (free store). Calling new (whapping the Icky Poo against a piece of paper) retrieves it. Calling dispose detaches all Icky Poo snakes from it. Slinky springs can be used similarly, but require a person to play heap, holding one end of one or more Slinkys.
Michael Clancy originated a very vivid parameter passing exercise that demonstrates the concept of a parameter and the difference between value and reference parameters. Astrachan has adapted this as well. Frisbees are passed between caller and called function. The Frisbee represents a variable and has a name and a value written on it with a grease pen (Post-It™ notes can be used as well). In a reference variable, any change in the variable is written directly on the Frisbee. In a value parameter, the original value is written on the Frisbee, but the Frisbee is bagged in a transparent bag before being passed. Any change by the called function is written on the bag. Therefore the original value is not affected.
Tinker toys can be used to build trees and graphs of various kinds.
Astrachan uses various children's books (Cat in the Hat, Seuss) to illustrate some computer science concepts.
Some artifacts are created specifically with this in mind.
There was a simple cardboard computer (Cardiac) that illustrated assembly language.
"The Official Icky Poo Book", by The Editors of Klutz Press, ISBN 0-932592-90-2. It is available for less than $10 US with the toy from http://amazon.com
Mike Clancy is the first person we know to make use of this, though others may have come before him.
The authors would like to collect additional instances of this pattern. Please send descriptions and references if necessary to one or both authors.
Pedagogical Pattern #55
(Version 1.0, November 1998)
Grade It Again Sam
To provide an environment in which students can safely make errors and learn from them, permit them to resubmit previous assignments for reassessment and an improved grade.
This pattern can be used ubiquitously--in every course. The only real exception is a course with a major project due at the end and which is graded only then.
A college or university is supposed to be a safe place in which to learn. This implies making mistakes.
Students shouldn't come to a course to prove they don't need to take the course.
We all make mistakes, novices most of all. Students should have an environment in which they can learn from their mistakes.
Professors are busy and have a lot of things to do besides teaching.
When an assignment is turned in and graded, permit the students to resubmit it with changes for a reevaluation and a new grade. The grade will be higher than the original, but there will be some small penalty charged so that a "perfect score" isn't attainable on a reassessment. A limit can be put on the number of reevaluations that can be done or not. In a large class (more than 30, with no teaching assistants) perhaps one reevaluation is all that can be managed. In a smaller class there may be no need to limit it at all.
A variation is to permit the student to resubmit the work on their lowest grade to date, rather than just dropping the lowest score as is commonly done. This permits the student to think again about the material covered.
Some students take advantage of the system, but enough benefit greatly from it so as to make it worth doing. Students should turn in all previous editions of an assignment with the new work so that the professor can easily see from previous comments why points were lost. It can also help if students mark the changes (change bars or hiliter). It also helps if work is neatly done and submitted in a manila folder.
You may also need to cut off additional editions for a student or for the class under certain conditions. Sometimes the potential for improvement is small and the student's time is better spent elsewhere. Sometimes the professor doesn't have time for the reevaluations. At the end of the course it will probably be necessary to set an absolute deadline for resubmissions.
The purpose of this pattern is to permit a student to spend additional effort on material with which they have special difficulty.
This is time and labor intensive.
I use this method in all courses and have done so for ten years. I don't know of other instances. My experience is that there are seldom more than three editions, though I don't limit editions. Some students have grown tremendously with this method. You work more with the students that really need the help.
If students are sloppy they may turn in especially poor work the first time, thinking that there is no risk. I use a 10% penalty on regrading to avoid this somewhat. The penalty is charged only on the difference between the initial score and the perfect score.
If students are overly conscientious then they may spend too much time on new editions to the extent that they neglect other work.