MATH with my KIDS

Math: The playground in your mind.

Latin Squares, Squared Squares, and Legoed Squares

I introduced my kids to Latin Squares the other day. If you know Sudoku then you have seen examples of Latin squares. The idea is to fill in a grid of squares with colors or numbers or some other symbols, such that each symbol appears exactly once in each row and each column. (see also the Wikipedia Latin square entry). I handed them graph paper and let them loose. This is what my eight-year-old produced:
Note that she produced some Latin squares, but also explored other ideas.

I wasn’t sure initially how long my kids would be content to explore Latin squares, so I also planned to tell them about squared squares. A squared square is just a square made up of smaller squares (this is easy to accomplish). A perfect squared square is much more difficult, consisting of squares each of different sizes. For a long time it was thought that perfect squared squares didn’t exist, but they do! Here is the smallest (in some sense) one:
We got excited about it and decided to make one for our wall:

Next, the ten-year-old wanted to produce some squared squares of his own, but found the perfect ones difficult (they were thought to be completely non-existent for a long time after all). He settled for producing imperfect ones. After making an imperfect squared square on graph paper, he decided to reproduce it with Legos. Here is the result: This led us to considered perfect Legoed squares. That is to say, squares made up of some number of Lego pieces, each piece having a unique size. Here is one of our first examples: It’s a 3×3 made up of a 1×1, a 1×2, and a 2×3. Here’s another, somewhat larger: We found a bunch more (maybe ten or so total). I’m not sure that we got all of them. How many can you find?

Look for up-coming posts on: 1) further progress in building our marble computer, and 2) teaching my five-year-old to count (which required some deep thought about just what counting is).

Dots and Boxes

Tonight we had a friend’s kids over as well as ours, so our place was kind of a mad house. A colleague had recently shown me the book The Dots and Boxes Game by Elwyn Berlekamp I had read about the first chapter and was intrigued, so I wanted to introduce the game to my kids. as the night was about to descend into total chaos I called everyone to the table and gave them the run-down on how to play the dots and boxes game: start with a grid of dots. On your turn connect any two adjacent dots. If you complete one or more little squares (a box) initial the box and go again. The three-year-olds basically scribbled. The five- through eight-year-olds played a few games and moved on to something else, but my ten-year-old eventually decided to challenge me. I played against him enough times for him to see me use, and then learn to use himself the double-cross tactic (which is explained in the dots and boxes Wikipedia article).

Anyway, we’ll probably continue to have fun with dots and boxes. Something else that I wanted to set them loose on is the following game that I first heard of from Singing Banana:

But we didn’t get around to it tonight…

The Math Games–One: Block Towers


We had some time today, so I suggested a little competition: try to build the tallest tower with our wooden blocks. My nine-year-old and I were the only ones to compete, and the nine-year-old got bored pretty quickly and essentially gave up. Below is his tower.

The rules that I laid out are as follows:
1) Build a tower by stacking the wooden blocks as you wish.
2) The tower is measured from base to tip. Your final score is calculated by taking the height of your tower in inches and subtracting an inch for each year of your age.
My son’s tower was 29.5 inches, so his calculated score was 19.5
My tower was 79.25 inches, so my calculated score was *****. Let’s just say that I won by a wide margin.

Of course the crux of designing these towers is managing your block resources. You want the base to be wide and sturdy enough to give good support to the tower, but you don’t want to waste too many blocks on any single layer.

Here are some more shots of my tower:






Math Camp II: Eternity


This is the second installment describing my experiences teaching at a math camp for high-schoolers. More about the computers class later, right now I just wanted to mention an evening talk that I gave to the entire camp. It was on the Eternity Puzzle and its solution by a pair of mathematicians. Here is a link to a good article describing the weaknesses accidentally built into the puzzle by the designer (because he didn’t do the math!) and how two Cambridge mathematicians were able to successfully attack it (because they did do the math!).

Take home message is: Do the math!

I also have in mind a slightly more philosophical message. Though, we all know that math is fun and beautiful–We all know that, right?–it is also useful. For instance, given some problem in the real world, it is often productive to model it mathematically. The hope is that, even though the model is not perfect, working with it will give insight into the real problem. What may come as a surprise is that this also works for problems in the mathematical world. That is, given some mathematical problem, it may be productive to model it with a simpler mathematical problem. The simpler problem will not model the more complicated one perfectly. However, working with the simpler model may give useful insights to the original problem. This sort of paradigm plays out for the solution of the Eternity Puzzle. I will forbear giving further details and instead recommend that you read the article linked previously, as well as this more detailed article, and if those leave you wanting more a few additional details can be found at this third article.

One final thing: it turns out that I also gave this talk in Portuguese to some camp students from Mozambique. Do I speak Portuguese? Well, I did 13 years ago. This was my first attempt at giving a technical talk in Portuguese. It was exhausting, but an experience I’m glad I had. A reminder that I really should keep current with my Portuguese skills…

Math Camp I: Recursion and such

The past two years I’ve taught at a summer math camp for high school students. In 2010 I assisted with a class on chaos and fractals. This year I assisted with a computers class. I’m planning to do a couple of posts about the class. This is the first of those posts.

The computer class that I helped teach focused on hardware, but also included some software topics. My main role was teaching programming. I should point out that I am not really a programmer. I’m a mathematician who uses some programming in his work. I’ve never had a programming class. Nevertheless, I hope that I was able to get some of the basics across to the students.

I first introduced programming to the students by describing a simple language for manipulating a cube, the goal being to get the cube in a prescribed orientation. More on that in a later post.

We did our programming in two languages: Python (which you can try in your browser at: Try Python) and Alice. Both are freely available. In Python we did some simple procedural programming (I had them code up a function that computes the factorial of a number and another that runs the Collatz algorithm). One of the students was able to produce a factorial algorithm very quickly. Here is his python code:

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n-1)

It surprised me that he used recursion, though I think he has had some programming experience in the past. Most of the other students had had no prior programming experience and were having a hard time producing a factorial function. This also surprised me. This was my first time teaching programming, so I had little intuition for where the students might get hung up.

Alice is a drag-and-drop object-oriented language for manipulating characters in a 3-D virtual world. We mostly let the students explore Alice on their own as their interests dictated. One student wrote a very simple first-person shooter game.

In any case it was hard to get any of the kids very interested in programming. If I go back next year and assist with this same class, then I think I would like to have some compelling problems or mini-projects that would grab the kids attention and require them to do some programming. Suggestions anyone?

Building a Computer 1111: Video of our Signal-Split Prototype

As I’ve said previously we are currently working on developing a signal-split device: that is, we want something that takes one input and creates a copy of it. Or in other words one marble in, two marbles out. Below is the design we settled on for our first physical prototype of the signal split toggle.

We cut one out and mounted it. Here is video of it at work.

It works pretty well! It’s not perfect, we’ll have to keep working on it. The tough part at this point is that we don’t know whether faults in our prototypes are due to faulty craftsmanship or faulty design. We will have to make several prototypes and carefully observe them in operation to figure this out. My lack of any schooling or experience in engineering and woodworking is becoming a hindrance at this point.

Building a Computer 1110: Video of the 4-bit Adder

As promised in a previous post, here is video of our 4-bit adder prototype. We used Wandel’s plans for it, but it is missing several niceties that Wandel’s version has: a top tray that holds marbles and releases them all at once, a bottom tray to catch the marbles, and a reset mechanism

Below are a couple of pictures of detail on the adder that I invented myself. When I first put the adder together, the toggles were not working well at all. After a good deal of thought I came up with the idea of putting a couple of paper washer behind each toggle. This solved the problem.

Building a Computer 1101: Signal Split

I had an idea for a marble implementation of the signal split. It is very closely related to Wandel’s toggle. I ran the idea by my nine-year-old, then showed him the basics of Inkscape and let him do the drawing. Here is what he came up with. I think this is very close to what we will end up using, but of course we haven’t actually built it yet…

The funny thing about the signal split is it’s simple electronically: just solder a couple of wires together and you’re good. This video that I found on youtube shows a simple marble implementation of a signal split…
…but we need something that is self-resetting. I think what we’ve designed here fits the bill. Building and testing to come…

Building a Computer 1100: Multiplication and Subtraction with an Adder

My nine-year-old has been playing with our prototype four-bit adder quite a lot. After getting bored with adding, he figured out how to do subtraction with it. Of course we talked about how to do subtraction earlier. What he ended up doing is taking a pair of numbers (x,y). Finding the two’s complement representation of -y (on his own, not using the machine), and then feeding x and -y through the machine. After playing with that for a while, he told me that he had also figured out how to multiply with it. To multiply x and y, simply feed x through the machine y times, or feed y through the machine x times. Despite Keith Devlin‘s insistence that multiplication is not just repeated addition, this works (though to be fair to Devlin, he frankly admits that it works). My son keeps asking about making a multiplier. I’ve been trying to explain to him that we will be implementing multiplication in software. I’m not sure that he gets it yet, but once we get that far his experiments should help him see how to do it.

Building a Computer 1011: Computer Assisted Design

We have a prototype four-bit adder working! It’s not pretty, but it works reliably. Photos and/or video to come. Meanwhile this puts us in new territory. We are no longer working off of plans designed by someone else. We’re going to need some . . . computer assisted design (my kids like the following video.)

We are working on designing a signal split. Here is what we have so far:

Post Navigation

Follow

Get every new post delivered to your Inbox.