Just Sort It! An Activity for Algorithm Development
Initial Publication Date: October 25, 2008
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.
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
- Each group (3-4 students) receives stack of 10 index cards numbered 1-10.
- 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.
- 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.
- Groups then exchange their written descriptions of the algorithms they developed and attempt to execute the algorithms from the written descriptions.
- 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
Share your modifications and improvements to this activity through the Community Contribution Tool »
Assessment
Peer review and/or instructor evaluation