CSC 216/s08/eschew disenchantment: Difference between revisions
Jump to navigation
Jump to search
(→Setup) |
|||
Line 15: | Line 15: | ||
====Setup==== | ====Setup==== | ||
There should be a pseudocode description of the merge sort algorithm on a large display. | #There should be a pseudocode description of the merge sort algorithm on a large display. | ||
The numbered notecards must be taped together in a randomly ordered line. | #The numbered notecards must be taped together in a randomly ordered line. | ||
=====Pseudo Code===== | =====Pseudo Code===== | ||
<code> | <code> | ||
public int[] mergeSort() { | public int[] mergeSort(int[] m) { | ||
if (m.length == 1) Return m | |||
if (m.length == 2) Sort m, then return m | |||
Split m in half | |||
Call mergeSort on each half | |||
Merge the two halves after they are sorted and returned | |||
Return the array | |||
} | |||
</code> | </code> | ||
====Activity==== | ====Activity==== | ||
First, the seven hats need to be assigned to the seven students. Then the student wearing the king hat should perform as though he is the initial call to mergeSort(). The king should use his delegates to handle his recursive mergeSort calls. The delegates should use their peons to handle their own mergeSort() calls. | First, the seven hats need to be assigned to the seven students. Then the student wearing the king hat should perform as though he is the initial call to mergeSort(). The king should use his delegates to handle his recursive mergeSort calls. The delegates should use their peons to handle their own mergeSort() calls. |
Revision as of 18:05, 25 March 2008
Formatting Resources
Formatting Help Guide from MetaWiki
The Hierarchical Merge Sort
The problem
In this exercise, we want to teach students the mechanics of a merge sort algorithm.
Participants and props
Seven students will participate in the exercise. They will need numbered notecards, scotch tape, and a series of hats. There should be seven hats as follows: One master hat, two delegate hats, and four peon hats.
The script
Setup
- There should be a pseudocode description of the merge sort algorithm on a large display.
- The numbered notecards must be taped together in a randomly ordered line.
Pseudo Code
public int[] mergeSort(int[] m) {
if (m.length == 1) Return m
if (m.length == 2) Sort m, then return m
Split m in half
Call mergeSort on each half
Merge the two halves after they are sorted and returned
Return the array
}
Activity
First, the seven hats need to be assigned to the seven students. Then the student wearing the king hat should perform as though he is the initial call to mergeSort(). The king should use his delegates to handle his recursive mergeSort calls. The delegates should use their peons to handle their own mergeSort() calls.