HOPPY, THE KIDS' FRIENDLY COMPUTER

A British mathematician, Alan Turing (1912-1954) was one of a team of "code-breakers" who helped win World War II. There's a play, Enigma, about Turing's postwar work on computers and his tragic death. Esther and I saw Derik Jacobi (star of the I, Claudius TV Series) in this at Kennedy Center, Washington, DC.

Turing conceived the idea of a digital computer in 1934, years before the device was developed in 1939. Turing did this to clarify a difficult problem in logic.

The "Turing machine" consists of

  1. an endless tape divides into squares;
  2. a means of writing "binary digits", "1" or "0", in each square of a chosen section of the tape;
  3. a "Table" (a program) that "automatically" achieves some type of calculation by writing binary digits on a section of the tape and reading it and printing the result.
Turing proved that this can accomplish any type of calculation and various explications in logic. Today, mathematicians prove something is feasible by creating a Turing Table that accomplishes it. The "Oscar"of The Association for Computing Machinery is the "Turing Award".
One 1961 evening in our home on the campus of Inter American University of Puerto Rico, San Geermán, PR, I was thinking about this. My eyes scanned the square tiles of our floor. Suddenly, I jumped up and -- to the astonishment of my wife and small sons -- I began hopping from square to square. "I'm calculating", I yelled. "This is like a Turing Machine. I'll call it 'Hoppy'!"

I drew squares on cloth. To replace the more complicated Turing Table I drew the Flowcharts used by computer scientists. Later, our sons, Tim (then 7) and Chris (then 4), demonstrated, before an audience of famulty members and students and visitors, how Hoppy calculated and wrote sentences. (Elsewhere, at this website, I describe three children who learned to use Hoppy.) Here, I briefly show how Hoppy does it.

When kids saw this, they said, "If Hoppy can do it, I can too!"


TEACHING HOPPY TO COUNT BY HOPPING
  1. Given a "sidewalk" of SQUARES:
     ___________________________________________________________________
     |          |          |          |          |          |          |
     |          |          |          |          |          |          |
     |          |          |          |          |          |          |
     ------------------------------------------------------------------- 
  2. HOPPY HOPS INTO THE STARTING SQUARE AND ANNOUNCES "ONE", WHICH IS RECORDED BY THE PRINTER;
  3. HOPPY HOPS INTO THE NEXT SQUARE, ANNOUNCING "TWO", RECORDED BY THE PRINTER;
  4. HOPPY HOPS INTO THE NEXT SQUARE, ANNOUNCING "THREE", RECORDED BY THE PRINTER;
  5. ETC., UNTIL AN AGREED UPON STOPPING SQUARE;
  6. THE PRINTER ANNOUNCES THE NUMBER OF THE LAST HOPPED-IN SQUARE TO BE THE COUNT.

TEACHING HOPPY TO ADD BY "THE BASKET ALGORITHM", say, 4 + 3.
Hoppy can add by "taking away" a COUNTABLE from one ADDEND (say, lesser one) to adjoin it to other addend.

Imagine two baskets, one containing 4 COUNTABLES, the LESSER ONE 3 COUNTABLES.

         |         |           |         |
         |         |           |         |
         |* * * *  |           | * * *   |
         -----------           -----------
Hoppy removes one COUNTABLE from LESSER basket, to place in other basket.
         |         |           |         |
         |         |           |         |
         |* * * * *|           |  * *    |
         -----------           -----------
Hoppy removes another COUNTABLE from LESSER basket, to place in other basket.
         |           |           |         |
         |           |           |         |
         |* * * * * *|           |   *     |
         -------------           -----------
Hoppy removes last COUNTABLE from LESSER (now EMPTY) basket, to place in other basket.
         |               |           |         |
         |               |           |         |
         |* * * * * * * *|           |         |
         -----------------           -----------
Finding one basket empty, Hoppy COUNTS COUNTABLES in OTHER BASKET, and PRINTS its COUNT as the SUM (of COUNTABLES AT start of operation): 4 + 3 = 7.

Encapsulated: 4 + 3 = 5 + 2 = 6 + 1 = 7 + 0 = 7. HOPPY performs other ADDITIONS similarly.

PLEASE NOTICE! THIS TRANFORMS EVERY ADDITION INTO ONE EASY FOR THE STUDENT. Thus, 7 + 4 = 8 + 3 = 9 + 2 = 10 + 1 = 11 + 0 = 11. Please notice that the next-to-last of this addition-chain is a mere COUNTING STEP, and the last one is an instance of the ADDITIVE IDENTITY.

(In the early days of computing, some computers ADDED by this REDISTRIBUTION of COUNTABLES.


FLOWCHART FOR HOPPY'S ADDITION "BASKET TRICK" (for ANY TWO NUMBERS)
(Please remember. A child is stepping off the Flow Chart, to program another child to perform the given "steps"of the program. These two children, with the child recording the result constitute HOPPY.)
                                     \=======/
                                      \START/
                                       \   /
                                        \_/
                                         |
                                         |
                                    _____|_____
                                    |Setup 1st|
                                    |AND 2nd  |
                                    | ADDEND  |
                                    | BASKETS |
                                    -----------
                                         |
                                         |
                                        / \
                                       / IS\---------YES---->-----/\
                                      / 2nd \                    /  \
                                     /ADDEND \                  /STOP\
                     ------->-------/  BASKET \-->---NO-----    ------
                     ^              \  EMPTY? /            |          
                     |               \       /             |
                     |                \     /              |
                     |                 \   /               |                                                          |                  \ /                |
                     |                   .                 |
                     ^                   |                 V
                     |                   v                 |
                     |                   |                 |
                     |            _______|__________       |
                     |           |TRANSFER 1 COUNT- |      |
                     |           |ABLE FROM ADDEND  |      |
                     ------<-----|BASKET 2 TO ADDEND|---<---
                                 |   BASKET 1       |
                                 -------------------- 
EXAMPLE with STAGES AND (UNFOLDED) FLOWCHART.
ANTITONIC DIAGRAM FOR HOPPYADDS:
                                 ^         |                   
                                 |         |
                        MAXTONE: |         | MINTONE: DECREASING
            INCREASING  TRANSFERS|         | REMAINDERS IN
                                 |         | ADDEND BASKET 2
                                 |         V
For example:
                              MAXTONE  MINTONE
                                 ^       ^
          (INDUCED BOUND: SUM) 11|-------|0 (STRUCTURAL BOUND)
                               10|-------|1
                                9|-------|2
                                8|-------|3
                                7|------4|
THE STRUCTURAL MINTONE BOUND (0) INDUCES THE SUM-BOUND, ENSURING END OF ADDITION-CHAIN.