Just Sort It! An Activity for Algorithm Development

Randy Westhoff - Bemidji State University
Ken Strukel - Hibbing Community College
Jackie Lindquist - Central Lakes College
Pam Jensen - MN West Community & Technical College
Author Profile

Summary

This activity is designed to give students the opportunity to develop an algorithm than can be executed by others from the development team's written description of the algorithm.


Learning Goals

Develop algorithms to solve a specific problem.
Effectively communicate an algorithm.
Analyze and evaluate algorithms and their efficiency.
Develop team management skills.

Context for Use

Useful in an introductory computer science or liberal arts mathematics course. By changing the posed problem it can be adapted to other courses in mathematics or computer science.

Description and Teaching Materials

  1. Each group (3-4 students) receives stack of 10 index cards numbered 1-10.
  2. The groups are instructed to develop an algorithm to organize the cards in numerical (ascending) order. In the algorithm developed only 2 cards may be visible at any time.
  3. Once a group has come up with an algorithm they must write down the sequence of steps one would need to follow to implement the algorithm.
  4. Groups then exchange their written descriptions of the algorithms they developed and attempt to execute the algorithms from the written descriptions.
  5. Review groups then report back to the development groups. Did the algorithm accomplish the task? If not, can you identify where it broke down? Was the written description of the algorithm ambiguous?

Teaching Notes and Tips

This activity could adapted to an online environment

Assessment

Peer review and/or instructor evaluation

References and Resources