Searching for a keyword or value is the basis of many computing applications, whether on an internet search engine or looking up a bank account balance.
This activity explores the main algorithms that are used as the basis for searching on computers, using different variations on the game of battleships.
Activity description (PDF)
- Instructions for Searching Algorithms activity (English)
- Italian Language Version
- French Language Version
- German Language Version
- Turkish Language Version
- Greek Language Version
- Portugese (Brazil) Language Version
- Russian Language Version
- Polish Language Version
- Hungarian Language Version
- Slovenian Language Translation
- An older version of this activity can be downloaded in PDF format here. The content is similar to the current version, but there’s some extra technical information
- Mordechai (Moti) Ben-Ari from the Weizmann Institute of Science, Israel has programmed linear, binary and hashing search in Scratch which can be downloaded in a zip file of the complete set of activities. Please read the ReadMe.txt for documentation.
- Rutgers University Computer Science Department has a binary search activity where students first think how they would search for a song on an MP3 player, and then they learn about binary search
- Wikipedia: Searching Algorithm
- The Mathmaniacs web side has a related activity (lesson 8)
- Video snippets of various algorithms
- MIT Open Courseware in Electrical Engineering and Computer Science has the following lecture Video: Lecture 9: Binary Search, Bubble and Selection Sorts by Eric Grimson and John Guttag.
- Howstuffworks.com explains the large-scale application of these principles.
- Virginia Tech, Dept of Computer Science has a complete module on Algorithms.
- R Mukundan from University of Canterbury has applets to demonstrate both Linear Search and Binary Search.
- Jeremy Kubica‘s Computational Fairy Tales has the following fairy tales/stories that explain the searching algorithms below:
- YouTube Search & Discovery – Computerphile
Great Principles of Computer Science [info]
ACM K12 Curriculum [info]Expand
- Level I (Grades 3-5) Topic 11: develop a simple understanding of an algorithm
New Zealand Curriculum [info]Expand
- Mathematics Level 2: Equations and Expressions
- Communicate and interpret simple additive strategies, using words, diagrams (pictures), and symbols
- Mathematics Level 3: Position and Orientation
- Use a co-ordinate system or the language of direction and distance to specify locations and describe paths
- Technology Level 1: Brief Development
- Describe the outcome they are developing and identify the attributes it should have, taking account of the need or opportunity
- Technology Level 1: Outcome Development and Evaluation
- Investigate a context to communicate potential outcomes. Evaluate these against attributes; select and develop an outcome in keeping with the identified attributes.
- Technology Level 1: Planning for Practice
- Outline a general plan to support the development of an outcome, identifying appropriate steps and resources