**Codes and computers (lesson plan for Cub
Scouts)**

**Created by Lincoln Cushing, for Berkeley Cub Scout Pack 30, 1/10/2000, Binary
and ACSII**

Codes are a helpful method for helping to transmit information clearly across distances. Morse code and semaphore are examples scouts are familiar with.

Morse code only requires the use of two items (or *states*) of information,
a dot and a dash. As long as we can let the receiver know when one letter ends
and another begins, the entire alphabet can be transmitted.

Computers are also based on information that is entirely broken up into two
items of information, zeroes and ones (0 and 1). This is called **binary**.Ý
Humans use a mathematical system called decimal which uses ìbase 10î, where
all numbers can be made up using 10 digits (0 through 9).Ý Binary is ìbase 2î,
where all numbers are made up only using *two* digits, 0 and 1. Hereís
how itís done:

position | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |

value | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |

Just like decimal numbers, you add digits to the left to build bigger numbers. Position and value are everything. Let's build some numbers:

The first placeholder (position 1) either has a value of 0 or 1.

The second placeholder (position 2) either has a value of 2 or 0.Ý So, the number ì10î in binary means a numberÝ with 0 in the first position and 2 in the second position, so it really represents the number ì2î.Ý To represent the number "3", you need to fill both first and second positions with value, so in binary it would be "11".

Here are the first several numbers in decimal and binary:

decimal | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |

binary | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 |

In computer language, binary items of information (0ís and 1ís) are called
**bits**.Ý These are grouped into bundles of 8 to form a **byte**. So,
every ninth bit the information starts over, and means a new letter or number,
just like the spaces in Morse Code mean the start of a new letter.

Modern data uses a coding system called ASCII (pronounced ìask-eeî), for American Standard Code for Information Interchange. ASCII uses the numbers in a byte to set up a universal language to represent letters and numbers.Ý For example, ASCII 97 is the lower case letter ìaî. ASCII 98 is ìbî. This goes on up to ASCII 122, ìzî.

So, if we are using a byte per letter, ASCII 97 in binary looks like 01100001; going from left to right, thatís 0 plus 64 plus 32 plus (0,0,0,0) plus 1, for a total of 97.

Hereís the lower-case alphabet in ASCII, with the binary equivalent:

a | 97 | 01100001 |

b | 98 | 01100010 |

c | 99 | 01100011 |

d | 100 | 01100100 |

e | 101 | 01100101 |

f | 102 | 01100110 |

g | 103 | 01100111 |

h | 104 | 01101000 |

i | 105 | 01101001 |

j | 106 | 01101010 |

k | 107 | 01101011 |

l | 108 | 01101100 |

m | 109 | 01101101 |

n | 110 | 01101110 |

o | 111 | 01101111 |

p | 112 | 01110000 |

q | 113 | 01110001 |

r | 114 | 01110010 |

s | 115 | 01110011 |

t | 116 | 01110100 |

u | 117 | 01110101 |

v | 118 | 01110110 |

w | 119 | 01110111 |

x | 120 | 01111000 |

y | 121 | 01111001 |

z | 122 | 01111010 |

A **space** (such as one you would use to separate words) is represented
by ASCII 32, or 00100000.

Hereís a sample word in ASCII/binary; what is it in English?

01100010 _ 01100101_01100001_01110010

**Den 3 challenge:**

1. Divide into two groups.

2. Agree on a 15-word (including spaces) sentence you want to send to a friend, and write it out in ASCII/binary.

3. When both groups done, exchange coded messages and see who can decode the
sentence first.

**TOP SECRET**

SECURITY CLEARANCE REQUIRED

1___ ___ ___ ___
___ ___ ___ ___** = __**

2___ ___ ___ ___
___ ___ ___ ___** = __**

3___ ___ ___ ___
___ ___ ___ ___** = __**

4___ ___ ___ ___
___ ___ ___ ___** = __**

5___ ___ ___ ___ ___ ___ ___ ___** = __**

6___ ___ ___ ___ ___ ___ ___ ___** = __**

7___ ___ ___ ___ ___ ___ ___ ___** = __**

8___ ___ ___ ___ ___ ___ ___ ___** = __**

9___ ___ ___ ___ ___ ___ ___ ___** = __**

10___ ___ ___
___ ___ ___ ___ ___** = __**

11___ ___ ___
___ ___ ___ ___ ___** = __**

12___ ___ ___
___ ___ ___ ___ ___** = __**

13___ ___ ___
___ ___ ___ ___ ___** = __**

14___ ___ ___
___ ___ ___ ___ ___** = __**

15___ ___ ___
___ ___ ___ ___ ___** = __**