Word Searches

Find all the words

Practice Algorithmic Thinking, Pattern Matching and Attention to Detail by finding the hidden words in an organised, algorithmic way.

Create your own word search puzzles to practice your spellings or just on a topic you enjoy.

Find Puzzles and solutions below

UK Schools order print copies of our Primary Puzzles magazines and booklets here (while stocks last).

We have hidden words in the grid of words. Can you use algorithmic thinking to find all the words quickly without missing any? Can you come up with an algorithm (an organised way to search) that will guarantee you find all the words. Other computational thinking skills that you will need are attention to detail and pattern matching skills to solve these puzzles. Try the puzzle and write down the method you are using so that someone else could follow your instructions to also solve the word search in the same way.

Then read on to the end to find an organised way to search. Is it the way you came up with?

The puzzles with solutions

Egyptian God and Goddess Word Search

In this puzzle one of the puzzle words is not in the grid. Can you work out which one is missing?

Artist Word Search

Find the names of all the artists. Then find some of their pictures on the web and choose your favourite by each. Who is your favourite artist?

Famous Computer Scientists Word Search

Find all the famous computer scientists in the grid, women and men. One extra name is in the grid but not in the list of names. Can you work out who it is?

What were each of these computer scientists most famous for?

Telecommunications Word Search

Telecoms wordsearch

Find all the words related to telecommunications in the grid.

Which extra device do you see in use every day?

Computing Words Word Search

Find all the computing words in the grid. If you follow an algorithm of searching for the first letter, is it always the best thing to do?

Year 3/4 Words Word Search

Find all the Year 4/ 5 spelling words in the grid.

If you have to practice spellings, why not create your own word search of the words for your friends. Leave it a few days then try and find the words yourself too.

Search Algorithms

You might be able to spot some words just using your pattern matching skills, running your eyes over the grid and spotting the words. Most people find it hard to find all words that way. To be sure of finding them all, you need what computer scientists call a search algorithm.

One way is to pick a word from the list of words (an organised way would be to pick them in turn from the list). Then taking its first letter, scan the grid from left to right, a row at a time looking for that letter.

When you find it, look in each of the 8 positions around the found letter and see if the letter there is the second letter of the word. If it IS NOT the correct second letter then carry on checking the other letters round it.

If an adjacent letter IS the correct letter then check each letter at a time in the same direction (horizontally, vertically or diagonally) as the second letter that was was found. If all letters along that line match then you have found the word. If you find a letter that doesn’t match then go back to checking the letters around the first one found.

When all the adjacent letters of the first letter have been checked and not found then go back to scanning the grid for another position in the grid where the first letter is found.

If you get to the end of the grid (and were very careful so didn’t make any mistake) then if you get to the end of the grid without finding the word, then it is not there. Of course, unlike computers, humans do make mistakes following instructions, so perhaps double check! Move on to the next word.

If you have found the word then mark where it is and move on to the next word and go back to the start of the grid.

Keep going until you have found all the words that are there.

It is quite hard to write out an algorithm like this precisely in English (did I definitely cover every possibility in the above?), and can be quite hard to follow to, which is why algorithms are normally written out in a programming language or as pseudocode or a flow chart. We can also make an algorithm easier to follow by breaking it up into parts corresponding tasks: here for example: find a first letter; find a second letter; check whole word.

Here are the instructions broken into the separate tasks and written out in a form of pseudocode:

TO SOLVE A WORDSEARCH (assuming all the words are there) :
      FOR each word in the list of words
             FIND that word IN THE GRID  
             Mark the place it is found

TO FIND a given word IN THE GRID 
     FOR each letter in the grid in turn
          IF the letter matches the first letter of the word
          THEN IF the word IS AT THAT POSITION
                     THEN the word is found. RETURN (FOUND).

TO CHECK IF a word IS AT A POSITION
     FOR each letter adjacent to that position (horizontally, vertically or diagonally)
          IF the letter matches the second letter of the word
          THEN IF REST OF THE WORD CONTINUES IN THAT DIRECTION 
                         gives NOT FOUND
                     THEN the word is not there. 
                      ELSE we have found it. RETURN (FOUND).
    IF we get to the end of the loop without finding it
    THEN the word is not at that position. RETURN (NOT FOUND).

TO CHECK IF THE REST OF a word CONTINUES IN THAT DIRECTION
     FOR each letter in the word from the third onwards
          IF the letter does NOT match the next letter in the grid in that direction  
              OR there are no more letters in that direction 
          THEN the word is not there. RETURN (NOT FOUND)
    IF we get to the end of the loop without deciding it is not there
    THEN the word has been found RETURN (FOUND)

One way is to pick a word from the list of words (an organised way would be to pick them in turn from the list). Then taking its first letter, scan the grid from left to right, a row at a time looking for that letter.

When you find it, look in each of the 8 positions around the found letter and see if the letter there is the second letter of the word. If it IS NOT the correct second letter then carry on checking the other letters round it.

If an adjacent letter IS the correct letter then check each letter at a time in the same direction (horizontally, vertically or diagonally) as the second letter that was was found. If all letters along that line match then you have found the word. If you find a letter that doesn’t match then go back to checking the letters around the first one found.

When all the adjacent letters of the first letter have been checked and not found then go back to scanning the grid for another position in the grid where the first letter is found.

If you get to the end of the grid (and were very careful so didn’t make any mistake) then if you get to the end of the grid without finding the word, then it is not there. Of course, unlike computers, humans do make mistakes following instructions, so perhaps double check! Move on to the next word.

If you have found the word then mark where it is and move on to the next word and go back to the start of the grid.

Keep going until you have found all the words that are there.

Try following the above instructions to find a word in a word search. Humans are not very good at following instructions even if they are well-written. Unless you are very good at concentrating you probably were distracted and stopped following the algorithm (e.g., because you saw another word). Algorithms are supposed to be followed exactly, though. If you did get distracted then you were no longer following the algorithm, and so more likely to make a mistake.

The search algorithm that involves searching each of a series of things in turn is called Linear Search. We use two versions of it in our algorithm – once scanning the whole grid, and once checking each adjacent letter for the second letter. We then use a word comparison algorithm checking each letter in turn against a candidate found.

Linear search guarantees to find the thing you are looking for (the “key”) if it is there, but you must check everything to be sure a word is not there.


Subscribe to be notified whenever we publish a new post to the CS4FN blog.


This blog is funded by EPSRC on grant EP/W033615/1.