Two different sons
My two sons are the same age, but different in personality and skills.
B1 is very good at finding money on the ground when we're out running errands. He's also interested in money for its own sake: he's in early gradeschool, but already says that when he grows up he wants to have a "store" (he actually means "a business"). He also likes food -- so he says he wants to make and sell candy.
He may not do precisely that -- but he's the most likely of my children to start his own business.
We put the money that he finds in a separate jar from his "allowance" money. This evening he asked me to help him count his money. I found a few things interesting: he sorted the money by denomination; placed all of them in columns of five; and placed all of them tails-up, and in the same orientation.
However, I don't think he has hard-core OCD, because he was a little loose in the physical arrangement of the coins: some of the columns "drifted" a bit. Various people on my side of the family have OCD-like tendencies -- so that's probably where he gets it. The other two kids don't show any signs of it.
He asked me to help him add up the total, and I told him that sometimes it's faster if you let the computer help you. So, I took notes on the count for each coin denomination -- and then set up a spreadsheet.
As you can see, he's collected a fair number of coins over the last year and a half: nearly sixty-five bucks.
Of course, it helps that in Australia we have two-dollar coins: that jacks up the total nicely. It also helps that -- for whatever reason -- people seem to drop two-dollar coins more often than one dollar coins. Or, at least that he notices the two dollar coins more often.
So, that's B1.
Both B1 and B2 are good at math. But B2 has a stronger interest in it.
B2 also thinks like a programmer. For example, The Lady's family has a tradition of providing "wish lists" for birthdays and Christmas gifts. Last Christmas, B2's list was very structured and logical -- he stated it (literally!) as:
“Monster High DVDs -- that aren’t on The Girl's list; Ninjago DVDs -- that aren’t on The Girl's list; Lego sets -- that aren’t on The Girl's list; video games -- that aren’t on The Girl's list;...”
So, I was rather surprised when, a few months ago, I showed them some introductory-level programming with BASIC-256, which is a free "BASIC programming" program that you can install if you're running Linux. (It may also be available for other platforms.)
I was inspired to show them simple programming because the boys' teacher gave them a homework assignment for math which was "write all the numbers from 1 to 1,000". They were learning the structure of how "counting" works for large numbers (e.g. going from "399" to "400").
However, I thought that having them write all the numbers was a waste of time: if you have the kids write the numbers from 1 to perhaps 220 -- and also from perhaps 780 to 1,000 -- then that would be enough to demonstrate that they've learned the concept of incrementing up the ones, tens, and hundreds. Writing the intervening 500-or-so-numbers doesn't give any additional benefit.
"Plus", I told The Lady, "that's what computers are for. You could write a program in about four lines that writes the numbers from one to a thousand, in less time -- and the kids would probably learn more by doing it."
So, I went off and did it (Bah!). And, for the record, I did it the hard way: instead of just
for i = 1 to 100
I actually did nested loops for the ones, tens, and hundreds columns -- which directly reflects the understanding that the students were supposed to be demonstrating.
And then I showed the kids. But, surprisingly, none of the kids were particularly taken -- even B2. But, I didn't push it.
BUT -- this evening, he asked me to show him "the thing on the computer where it counts from 1 to 100".
So, I showed him a simple "x=0", "x=x+1", "print x", "if x=100..." approach.
And then, for some reason, I started doing a "Mad Libs" set-up (shown at left; click if you want to enlarge). I'm rather proud of the "gendered pronoun" little block of code: nothing fancy, of course, and a little inefficient. But I was just playing.
B2 started to emulate me: our computers are side-by-side, so he'd come look at my screen, then type something similar to what I had done, but with different prompts and variable names. In the process, I explained the difference between string and numeric variables, and he got to experience the difference between how the software processes "true" double-quotes versus two single-quotes together (which give the user the illusion of double-quotes).
I also told him that what he was doing was called programming -- or coding.
After about an hour, it was time for bed. And, that made him nearly burst into tears (!!!). He said that he'd rather keep writing on the computer than go to bed. He also said (my paraphrasing) that he'd rather stay home and write code than go to school. I assured him that when he goes to college, he's allowed to major in something that lets him do exactly that. And that maybe he could get a job in it, as well.
BTW -- here's the result of my Mad Libs, as generated by the above prompts: