This is a series of post about how to teach your kids simple math from a programmer’s perspective. All contents are based on personal experiences with my daughter, so your milage may vary.

First a little bit of background of me and my daughter. I’m a software engineer, worked for EDA, then finance and now cloud computing industry. My daughter (I’ll use codename C for her from now on) is a lovely little girl, and not a math genius by any means. This makes her learning experience more broadly applicable, compared to let’s say Edward Thorp who can count to 100, 1000 and not for long 1,000,000 once he started to talk.

We started this whole math thing from an accident. When C is 3 years and half, she started to drop nap which brings a lot of mess to the family. To meet that challenge, we have to move her nap time later, and then move her night bed time later accordingly. Because of the change of her schedule, she want something back as part of the negotiation. She requested that I stay with her for a few minutes after light is out. I, as a veteran crisis kids negotiator, immediately fought back with my term.

(Time to go to bed, light turned off.)

C: Dad, stay with me for a while please…

Me: Sure, I can stay with you for 60 seconds. // Trap set

C: Is 60 seconds a very long time? // Poor girl had no idea how much is 60 seconds or even 60

Me: Not very long, but not short either. // Dodge

C: Okay

Me: But you have to count from 1 to 60, so we know when I can leave. // This is the real deal

C: Count? How?

Me: Let me show you… // Yeah, I get her!

When we first started, about 6 months ago, I had no idea how well it will go. However, the more I worked with my daughter on it, the more I saw her as a computing machine running algorithms. I can clearly observe patterns like instruction fetching, memory access, load/save of data and even cache misses when she was learning various math skills. All these are very familiar to me as a programmer. This makes me think that, maybe, maybe I can optimize the learning process as a program and helps easing the pain of teaching maths to kids for other people on the same boat.

So, let’s start with the simplest task: counting next time!