Class consensus on questions

Norman Ramsey

Introduction

Something we’ll do repeatedly this semester is try to reach a class consensus on a question or questions. The process I’m recommending is very much the same process we’re using for programming problems.

Small-group work

1. Divide into groups. We will try to form groups that are diverse, so that each group contains

• People with different degrees of experience

• People with experience using different languages

• People with interests in different research areas

2. Choose a recorder. One the groups have been formed, please introduce yourselves to each other. Then agree on one person to record the views expressed in the group, including

• Decisions the group makes collaboratively

• Significant dissent

The recorder will speak for the group. Everyone will have the opportunity to serve as a recorder during the term.

3. Discuss possible answers to the questions. Use the whiteboard, a computer, or whatever else you need. This is a “brainstorming” phase. Don’t stop with a single answer; look at things from all angles.

4. Reach consensus on the most satisfying answers. Perhaps the group will agree on answers that satisfy everyone. Perhaps there will be significant dissent—maybe even no majority view.

5. Prepare to report to the class as a whole. Your report should cover the following points:

• The preferred answers according to the consensus reached by your group.

• The reasons that you prefer these answers. Focus on concrete properties that you can point to.

• Any significant minority views.

• A few words about answers that your group considered but ultimately rejected.

The plenary session

1. Recorders from individual groups present their groups’ conclusions. We’ll write down these conclusions on the whiteboard.

2. Class discussion and class consensus. We’ll discuss and evaluate the groups’ conclusions. We’ll try to forge a coherent consensus view that the whole class can agree on, but also be alert for gaps, inconsistencies, and incoherence.

3. Comparison with professional consensus. When possible, I’ll compare the conclusions reached by the class with my interpretation of the consensus position of the body of researchers interested in functional programming.

A permanent record?

We need to decide if we want to create a permanent record of our conclusions, perhaps to be shared on the Web.