Lesson 9 exemplar solution


I’m a tad troubled by the exemplar solution in one respect.

The low order (last 2, rightmost) 2 bits indicate: 00 shot, 01 miss, 10 hit, or 11 error. This means the target never says “I am sunk” in the protocol. So either players must talk - bad - or agree silently - also bad. Nor does this scale up to battleship with varying ship lengths. I would rather see 11 mean “sunk” and, if an error indicator is needed, add a bit.

[Edit: I had listed a second concern that was me being dense…]




I agree that this is a limitation of the protocol. I wonder if students would be able to see it and develop a better solution.

Happy computing,


My students could not come up with an example of the exemplar. I found it difficult to understand. Is there another option for this?


Hi @pauletta11,
Can you explain what you mean by “another option”? There are many different ways to “solve” the problem. Most of my students use three bits to describe who is sending and receiving, for example they will say the first 3 bits will represent who the message is coming from, the second 3 will say where it is going to. So if Jack is 100 and Jill is 010 and Jane is 001 and Jack is sending to Jane, they will send “100 001… (and the rest of the message)” - that is not the most efficient way to do it, but it gets the idea of addressing solved.

I also always like to look back at the lesson objectives - even if students don’t have a perfect protocol, they usually meet the lesson objectives.

In this lesson, the objectives are:

  • Explain why messages need to contain addressing information (sender/recipient identification).
  • Invent an informal addressing protocol for use in the Battleship game.
  • Recall that browsing the Internet entails computers sending each other requests and sending back data to satisfy those requests.

Hope that helps!