Sorting and Unsorting (Age 7)

The Activities

1. Topic: Units. Book: Dinosaur Deals by Murphy. In this book, a boy wants to get a T-Rex trading card. He finds a girl who will trade it for 3 Allosaurus cards, but the boy only has 1 Allosaurus. How can he get the T-Rex.

2. Topic: Sorting, Teamwork. We repeated the sorting activity from a few weeks ago, sorting the cards 1 – 104. This time we started by discussing possible strategies based on what went well last week. Then I timed the kids to see how fast their sort was, so we can try to get faster in the future.

3. Topic: Programming. We played the game Robot Turtles, with a few rules changes to make it more cooperative (in past circles some kids have gotten upset if their turtle falls behind):

  • All turtles are trying to get to the same jewel.
  • Turtles can walk on top of each other.
  • Each person gets only one ‘laser’ card, so sometimes you have to work together to rescue a friend trapped behind ice blocks.


How did it go?


First we discussed what worked well last time, and what strategies we could use this time. One kid said that sorting goes slowly when people hold cards in their hands (they spend a lot of time rummaging through the cards), so someone proposed laying the cards out on the ground so everyone can see.  Then another kid suggested sorting the cards into groups of 10 at the start (1-9, 10-19, etc), then doing the big sort. I made labels for each group of ten cards, and put them around the table. Then I gave each kid 1/4th of the deck, and started the timer.

Sorting into decades went very smoothly, everyone was working together, and in parallel. There were some mistakes, for example someone misread 72 as 27, but overall progress was quick.


Sorting into piles of 10

Next, two of the kids took the 1-9 pile and started sorting it into the final spot on the ground. The other two kids picked up some random piles. One kid laid out the 100s, 70s, and 90s on the ground, but ended up mixing them all together. The other kid took just the forties, and laid them out in order 40 -49. Then he picked up the 50s and laid them out in order under that 40s.


Sorting the 40s and 50s (soon to be undone by a friend)

Meanwhile the other two kids got up to the 40s. One of them came over and scooped up the row of 40s, completely mixing them up, and then resorted the cards into the final positions. This wasn’t too too slow, but seemed suboptimal 🙂

The sorting really slowed down once we got to the mixed up 80s, 90s, and 100s. Three kids had a bunch of random cards in their hands, and one kid was distractedly counting the already sorted cards.  I pointed out that it seemed slow, and that people were holding cards, so they laid the cards down and eventually finished.

The final time was 16:30, which is not terrible, but definitely can be improved.

Afterward, I asked the kids what went well, and what could have gone better. One kid said it would be better if I didn’t take out some cards. At the start of the activity I randomly pulled out 7 cards from the deck, and told the kids. In practice this speeds up the sort a lot, because they don’t get stuck trying to find one card forever, and just move on, assuming that it must be one of the removed cards.

In this discussion, I demonstrated how one kid had sorted the 40s, and then the work was lost when the friend scooped them up. The kids then suggested picking the cards up in order. We tried this, and found that it was indeed quicker to lay down a sorted pile of ten cards than a shuffled one.

I also pointed out that the beginning was really fast because everyone was able to help at once, but no one had any strong ideas about how to make the full search parallelizable.

Robot Turtles

Most of the kids had played this before. Some groaned for some reason, when they saw it, but everyone seemed excited. There was a bit of extra energy left over from sorting, so this was a wild 10 minutes, but we did finish a couple puzzles. The tricky parts were that kids wanted to move their turtles while laying down their programming cards, and also, they would mix up the two turning directions without noticing. But overall they were much better at this than I expected. Their favorite part was using the lasers to rescue their friends.




My Friend’s Mom Is Always Right (Age 6)

The Activities

  1. Topics: Numbers, Large Numbers: The Cat in Numberland, Chapter 1, by I. Ekeland.
  2. Topic: Large Numbers: First, I asked the kids to come up with numbers with increasing sizes (first 1 digit, then 2 digits, …).  After they stopped being able to come up with things, I wrote powers of 10 up to a quintillion.  I also wrote a googol and had them help me count the zeroes.  Next, each kid wrote down the biggest number they could on a sheet of paper.  I asked them which kid’s number was largest, and then I asked if it was the largest possible number.  Then I guided them through a proof by contradiction that there is no largest number.
  3. Topic: Programming: We revisited the Dance Programming activity.  First I called out commands (Down, Up, Jump, Spin) and the kids did them.  Then I taught them a few programs I had made that used the four commands plus “Do X times {… }” loops and function calls.  Next I had them each say a 3-command function for us all to do.  Finally, I asked each kid to write down a named function, with the rule that if you used a “Do X” loop X was at most 5.  Then I made a program that called all their functions and a couple of the kids did it.
  4. Topic: Programming: We revisited the Cargo Bots activity.  I made a new version of the board, download here.  First, we moved a single block from one end to the other; then two blocks; and finally, they needed to move two blocks of different colors from one end to other so that the final ordering was the same (i.e., if red is on top initially, it should be on top at the end as well).

How Did It Go?

We had four kids this week.  This circle went pretty well, we had some good discussions and some good problem solving.  The kids sometimes thank us after circle(usually prompted by parents) , this time one of them said “Thanks for giving circle to me.”

The Cat in Numberland

This was a popular book with the older circle.  There was a part about how not all numbers can play division together — two of the four kids got the idea.  When it got to the part about infinity, several of the kids already knew something about infinity.  One kid said “My friend says that her mom is always right, and her mom says infinity is a number.”

Large Numbers

Most of the kids had trouble coming up with a number above 1000.  Even the kids that knew larger numbers like 1,000,000 couldn’t make arbitrary seven digit numbers.  The kids enjoyed counting out 100 zeroes when I was writing a googol.  The kids varied in their approaches to writing large numbers.  Some did 1 followed by lots of zeroes, others wrote somewhat random sequences.  I wrote a large number as well — I started with 9’s for obvious reasons, but I discovered that 9 is pretty slow to write, and so I switched to 1’s which are really fast to write.

Next, I asked them which number was biggest; I’m pretty sure it was mine, but one of the kids had filled up their page with larger numbers, so they picked that one.  I asked whether it was the biggest number.  3 of the kids said no, one said yes.  I asked whether they could make a bigger number.  They didn’t really come up with adding 1, but they did suggest adding more digits, including adding on someone else’s sheet of numbers.  Then I said the idea of proof by contradiction (assume the opposite, find a problem), and said “Suppose you took all paper in the world and filled it with numbers.  Could you make a bigger number?”  After a bit, one of the kids said “You could cut down more trees and make more paper so you could add more numbers.”  So I think some of them got the idea.  Since they had suggested taping together sheets, I taped together all the sheets that we had made and laid it on the floor.  For the rest of circle, when a kid finished their work and was waiting on someone else, they asked to go over and add more numbers to their sheets.

Dance Programming

For an activity involving jumping up and down, the kids payed pretty good attention.  They all understood sequences of instructions, and I think they understood loops and functions.  When it came time to write a program, only one used a loop; the loop they wrote was a copy of one of my functions with a different number.  It’s a good thing I limited X to 5, because they immediately said “I wanted to do 100.”  No one figured out the weakness in my problem specification — nested loops.

Cargo Bots

One of the kids missed the first time we did this but caught up fairly quickly.  All the kids were able to solve the first two problems, at different speeds.  A common mistake on the two-block problem was forgetting to move the crane back to the beginning for the second block.  The two-color two-block problem was way harder.  One of the kids came up with some interesting rule-breaking solutions, such as using their other hand.  After a while I gave them a hint by making a program that flipped the stack onto the middle square of the track.  From this, one of the kids (same one who came up with the alternate solutions) realized if they repeated this again, they would solve the problem.  They had some bugs along the way, which I demonstrated by tracing through their program, and they were able to keep fixing things until they got a correct solution (with a few unneeded instructions).  Another kid understood the solution and tried to copy what the first kid had done and got pretty close.  The other kids were still far off and hadn’t gotten the idea of double flipping.

Donkeys and Salt (Age 8)

The Activities

  1. Topics: History of Math, Mathematicians: Mathematicians Are People, Too: Stories from the Lives of Great Mathematicians (Volume One) by L. Reimer and W. Reimer, Chapter 1 (Thales).
  2. Topic: Story Problems: Minute Mysteries 2: More Stories to Solve by T. Witkowski and J. Hirsch, Chapter 1 (Bake Sale).

  3. Topic: Programming: We did the Conditionals with Cards offline activity from Hour of Code.  As a follow up, I dealt three random cards as “YES” and three cards as “NO” cards, and they had to write a conditional expression to separate the two groups of cards.IMG_1800

How Did It Go?

We had all five kids this week.

Mathematicians are People, Too

I was a bit worried they might find this book boring, particularly since the chapters are a bit long, but the Thales chapter held their interest the whole time.  Our daughter immediately noticed that the story of the donkey and the salt was the same as one from a book of Aesop’s Fables she had listened to, and went to get the paper copy.

Minute Mysteries

Once you extract the relevant information, the problem to solve is “There are 180 brownies and cookies, combined.  There are twice as many cookies as brownies.  Brownies sold for 10 cents each, cookies for 5 cents.  How much money did the girls make total?”  The kids were able to solve this problem without any help at all.  One kid made two nice insights: first, that they needed to find a number X so that 3 * X = 180; and second, that the amount of money from cookies = amount of money from brownies, since there are twice as many cookies but they cost half as much.

Conditionals with Cards

We started with the warm-up exercise suggested in the activity, where I went to each kid in turn and then they had to do something different based on what I did.  This was very easy.  They also had very little problem with the main activity: each team takes turns flipping over a card, and then either they or the other team gets points depending on the card.  The first one (“If red, we get a point, otherwise they do”) was very easy; the second (“If red, we get a point, otherwise if <= 5, we get that number of points, otherwise they get a point”) some of them firmly understood and a others were a bit shaky.

The follow-up activity, where they had to write a program to separate two sets of cards, was quite a bit harder.  Two of the kids didn’t make much progress; another had a good initial idea but got stuck; a fourth got correct tests which together could make a correct program but they weren’t nested properly; and a fifth started slow but ended up with a correct program.

Afterwards, I realized that they would probably understand this much better if it were expressed in tree form (similar to the Choose-your-own-adventure activity we did a while ago).  We’ll revisit this activity soon and try again.

Self-Portrait in Blocks (Age 7)

The Activities

  1. Topic: Arithmetic. Book: Alice in Pastaland, by Wright. This book is a re-telling of Alice in Wonderland with a light math theme. The kids loved the theme of the book, and were happy to work out the various math problems. It’s a longer book, so we only read the first half.
  2. Topic: Programming. We brought back our old pen-and-paper programming language.   Here are the programs.IMG_20151122_165849
  3. Topic: Geometry. We gave each kid a strip of paper with a word on it, like cat or crab or rainbow. The kid then tried to make that object using wooden pattern blocks. When done, the other kids tried to guess what it was.


How did it go?

We had 4 kids this week. It was a very focused and fun circle. Everyone stayed on task the whole time.


Three of the four kids immediately remembered how the language worked. They zoomed through the programs quickly, making progress on their own.  There were still a few mistakes, but very few.  The trickiest program we had today had nested loops:

Do 4 times {

Do 2 times {

Print “B”



One kid figured this out completely independently. Two others got it with help.

The fourth kid was less comfortable with programming. They understood assignment and printing, but still didn’t fully understand the concept of a loop.  For example, which lines should you repeat? What’s inside the loop and outside?  With some one-on-one help they completed five or six programs, but they still need more practice.

Pattern Block Pictures

Everyone loved this activity. The kids quickly made surprisingly good pictures of cats, crabs, tree, flower, star, airplane.  The hardest ones were: pizza, dragon, and car.

We had a few minutes left after we finished all the words I had prepared. Three kids decided to write their own cards for me and the other kid to make.  One of the cards I got said “Corey” (my name).  So I made a lovely self-portrait out of blocks:




Cargobot for Pre-Readers (Age 5)

The Activities

  1. Topic: Tallying, Counting. Book: Tally O’Malley by Murphy. In this book, a family plays a counting game where each person picks a color of car, and then makes a tally mark when they see a car of that color. The book shows how to ‘bundle’ the marks together with the fifth mark.
  2. Topic: Tallying, Number Recognition. I put tiles with the numbers 1 – 100 in a bag. Each kid picked a digit from 1-9. Then we took turns drawing numbers out of the bag. If the number contained your digit, you got a tally mark.

3. Topic: Programming. We played Cargobot with our hands today. Cargobot is an on-line programming game where you control a robot arm, moving it left or right and picking up or dropping boxes. We played this using our own arms, and colored stones as the commands.


Your arm starts above the blue dot. The program of stones moves both boxes to the square closest to the blue dot.

4. Topic: Attributes, Set. We played a couple rounds of Set with just the solid cards.

5. Topic: Attributes, Venn Diagrams. Using the fairytale bingo cards, we categorized cards in two ways: Things that Fly vs Thing that go in Water. Girls vs Scary Things.

Girls vs. Scary Things. The witch and the three bears fit in both categories.

Girls vs. Scary Things. The witch and the three bears fit in both categories.

How did it go?

There were only 3 kids this week.


The kids all enjoyed the book. They were interested to see who would win the family’s games. Drawing numbers out and making tallies was good practice for them. I had the kids read out the name of each number they drew. There was lots of excitement when someone drew 22, since it gave the kid who had chosen ‘2’ two more tallies.


First I demonstrated how to use the stones to make a program.  Then I gave each kid one box, and asked them to move it to the square closest to the blue dot.  It took each kid a couple tries, but soon they caught on.  They were all pretty good about fixing bugs and not giving up…though my son was a bit more fragile than the others.

As each kid finished, I gave them a new task. Move two boxes to the square closest to the blue dot.  One girl quickly wrote the program, but it turned out she had expected to be able to pick up two boxes at once.  My son teased her saying of course you can’t pick up two!  I assured her that her program worked and made sense, but I asked her to update it so it would work if you could only hold 1 box at a time.

Next I checked my son’s program. It turns out that he expected that the hand could hold 2 boxes, but that it would take two ‘red’ bead to pick up two boxes. He was very upset when I tried to explain that the hand could only hold one bead at a time.

Meanwhile, the girl had a new idea. She suggested we should take the program that moves one box, and do it twice instead.  I said this was a good idea, and helped her add a second line to her program, that was identical to the first one. We tested out the program, and found that the second time the hand ended up going too far left.  She fixed it by removing one green bead from the second line. I asked why it hadn’t worked, and we figured out it was because the hand originally started above the blue dot, but after dropping the first box, the hand was above the square where the box was dropped.

Next my son and the other kid both independently had the same idea that we should repeat the first program. We all worked together to try it, and then fix it.

This activity went very well, except that the kids all wanted me to check their programs with them at the same time.  I’ll have to figure out some way to remove that bottleneck. Perhaps the kids can work in pairs to check each other’s programs, now that they get the basic idea.


I let the kids vote for the next activity. Two kids voted for Set, and one voted for Venn Diagrams.  In Set the kids were fairly even, though there were many incorrect Sets picked up still.

Venn Diagrams

One kid said Venn Diagrams was boring, and I said I thought they would be fun. Once we started, everyone seemed pretty into it.  There was some disagreement on the Girls vs. Scary Things category, because one kid wanted to put the Castle and the Crown in the ‘Girls’ circle, but the other kids didn’t.

After we categorized all the squares I asked questions like: How many scary things were there? How many scary girls? How many things that were not scary and were not girls? These were all pretty easy. The only hard one was “How many things were either girls or were scary but were not both?” Some kids wanted to count the scary girls, some said they didn’t understand the question.

550 Tubes of Toothpaste (Age 7)

The Activities

  1. Topic: Money: Book: Sluggers’ Car Wash by S. Murphy.
  2. Topics: Money, Optimization: I made an inventory with 4 different items, each with a buy price and sell price (e.g., Toothpaste had a buy price of $1 and sell price of $3; Toaster $25/$30; My Little Pony $20/$20; iPad $100/$150).  The kids each had $1000 and owned a store, and they had to decide how to stock their store in order to make the most profit (using a chart with item name, number of that item, total cost, total revenue).
  3. Topic: Programming: We did more CargoBot (see previous weeks for overview).  This time the problem was to use as few instructions as possible to make one block each in boxes A, B, and C to a stack on box F (they were allowed to use functions).

How Did It Go?

We had 4 kids this week.

Slugger’s Car Wash

This book is a pretty good introduction to the idea of profit vs. revenue, the kids liked it.

Stocking a Shop

This activity was pretty new to them, it took a while before they understood what they were supposed to do.  One particularly tricky part was that some of them wanted to make up their own buy and sell prices — they didn’t understand for a while that they didn’t have control over the prices, only how many of each to buy.

All the kids chose the items in their shop randomly (with some preference for things they liked, such as My Little Pony and iPad).  Most of them also didn’t spend all $1000 of their money — the only one who did used Toothpaste (which cost $1 each) to use up the rest of their money, buying 550 tubes.  That kid ended up with the biggest profit by quite a bit, because the revenue/cost ratio was much higher for toothpaste than for the others.  The final tricky part of this activity was the the multiplication was somewhat tricky for them.

At the end, I asked for each item how much they would make if they bought just that item, and we saw that Toothpaste was by far the best.  I asked why stores didn’t just have 1 thing, and someone said “Because no one would go to that store.”  I also asked why people didn’t just buy the Toothpaste for $1 instead of $3, and with a bit of hinting one of them mentioned delivery being hard.


Most of the kids made a brute-force solution first, without any functions — one tried to use functions from the start, but this turned out to be difficult.  After a few of them did the brute force, they started looking for repeated sequences.  All the kids had an improved solution, but the number of symbols used varied.  No one quite got to the optimal number of symbols — probably because the optimal solution (at least the one I came up with) actually had some wasted work at the end (which means that it’s hard to see the shared structure when you have to add extra symbols).

Optimized Cargo Bots (Age 7)

The Acitivites

1. Topic: Algebra. Book: Safari Park by Murphy.  5 kids each get 20 tickets to spend on amusement park rides. Work out simple algebra problems to figure out how many tickets each kid has left.

2. Topic: Algebra. I made several worksheets with simple algebra problems. I divided them by difficulty into three levels. Level One was problems like: 3 + X = 30. A Level Two problem was 3 * X = 15.  Level Three problems were 2 * X + 5 = 25.  Here are the problem worksheets.


3. Topic: Programming. We continued with Cargo Bot programming problems this week.  Move a stack of 3 blocks from square A to square F. Then ask the kids if there are any repeated sections, and introduce sub-programs. What’s the shortest program that can solve the problem?


How did it go?

We had three kids this week. It was a quiet, focused circle.  My daughter has been crying a lot during circle recently (much to her disappointment), and she did much better this time.  What a relief! She loves circle, but gets very upset if it doesn’t go how she expects.


We did algebra problems about six months ago, and the kids are much, much better at it now. After each kid finished a worksheet, they could either move up to a harder problems, or choose to do another sheet of the same level.

My daughter decided to do two Level One worksheets before moving up. The other two kids moved up a level after each worksheet.  One girl sped through the problems, finishing her Level 3 sheet with essentially no help before the others had finished Level 2.  She worked on the other Level 3, and also the easier levels while the other two kids finished.

Two problems on Level 3 were: X * 0 = 0, and X / X = 1.   Each kid put down an answer for X, e.g. X = 3.  I asked if they were sure X was 3, and they said yes, 3 works.  I asked if X could be anything else, and eventually they realized that X could be any number.  I suggested putting a question mark down in those boxes.

Cargo Bots

There’s an App called Cargo Bots about a machine moving boxes around a warehouse. We used pen and paper to solve Cargo-Bot-like problems.  There are three commands: Left (L), Right (R), and Drop (D) which picks up or drops a box.

The first problem was easier than last week’s question…they just had to move a stack of identical boxes from square A to square F.  Two of the kids immediately wrote out correct (long) programs to do this. The third kid complained that the program would be very long.  I checked her progress, and it turned out she had written code to move the whole stack of blocks from square A to square B.  She was then going to move them all to square C.  I suggested she could move them directly to Square F.

Meanwhile, my daughter noticed repetitive parts of her program, so she replaced the strings of “L, L, L, L, L” with: “Do L 5 Times”.  She then proudly announced that her program was only 11 lines long now.  This was a great insight, but I had been planning to do subprograms with a different syntax.  My daughter was rather upset when I tried to explain that the robot arm didn’t understand the command “D L 5 Times.”  After a minute of discussion, she finally calmed down and we moved on.

Our subprogram syntax was to write a ‘1’ off to the side. Subprogram ‘1’ could contain any basic commands.  For example: 1 = “L L L L L”.  Then we could erase any string of 5 Ls in our main program with ‘1’.  To count the length of a program, you count each line of the main program, plus all the lines in the subprograms.

I then assigned a new task: Move 3 blocks from box C to box A, and try to make the shortest possible program.  Here’s my daughter’s solution:


The other two kids took a bit longer to solve this, but made good progress on their own.  One girl had two subprograms, which added up to 12 lines.  My daughter helped her try to get down to 9 lines.  In the course of the help, the girls realized that it was impossible to do it in 9 lines, and that my solution had a bug…I was missing the final ‘D’ in the main program.  This made them very happy.