Pycraft Alpha 1.3.0

Tags

, , , , , , ,

We ran out of camps this summer, so I decided to keep Leo home this week and do intensive programming “camp” (sort of like Chem Camp, but just with Leo.)  Also, I’m finally making good on my theory that kids should only be allowed to play computer games that they program themselves.

The rest of this post (with the exception of the * footnote and related content), is Leo’s own words:

Pycraft is a project I (Leo) have been working on with daddy. We started this about 2 weeks ago and it has gone very well! Here is a link to the github repo(*) with the code. Feel free to post issues, it would be useful! Known issues: If you click while moving it crashes, and you can erase the text at the top.

What I learned so far: Python programming, git-based version control(*), curses based graphics(*).

Coolest hack: Pythagorean theorem distance calculations(*)

Next steps: Survival, and eventually going to more sophisticated graphics(*), probably via pygame. 

Here’s a screenshot:

Screen Shot 2019-08-13 at 4.36.32 PM


(* Indicates were I (daddy) had to provide the correct name for something, so this is my (daddy’s) words, not Leo’s)


 

Saint-Saens, Python*, Bach

Tags

, , ,

Leo and I have started into some fairly concentrated programming practice. We’ve done some light programming before, but it’s time to get into it for real.

Because you only have a kid’s attention for a few minutes at a time, you need to take maximum advantage of that obvious truism of learning: practice makes perfect (“How do you get to Carnegie Hall? Practice practice practice”, “The power law of practice”, etc.)

When Leo plays piano, he does a few a warmup exercises. (A better way to say this might be: “…I make him do a few warmup exercise.”) His go-to pieces for warm up are Saint-Saen’s Danse Macabre and Bach’s “Little Fugue” in G-minor.

He also does (…I also make him…) do a couple of programming warmups, specifically, factorial written iteratively, and recursively.

(The actual program we’re working on is a learning version of the animals game, which is nicely recursive. I’ve blogged about this before, but this time Leo is writing all the code.)

It dawned on me this morning — during a discussion of how stack overflow differs from numerical overflow — that there is a beautiful, if accidental, alignment between his piano practice and his programming practice. To wit, the central motif of the Danse Macabre is the rapidly played dance theme, which is very repetitive. On the other hand, The Little Fugue is more complex and, as described in great detail by Douglas Hofstadter, in Godel Escher Bach, is fundamentally recursive (or more generally, self-referential, where recursion is a particular version of self-reference.)


* I hate python; Unfortunately, it’s more useful than Lisp, these days, and we do a little Lisp too, when the moment affords.


 

Conning the Con Men

Tags

While doing something more-or-less mindless the other day I got a call from one of those scams that tries to sell you, or refund you some kind of computer services. They claimed to be from Microsoft or Dell, I think.

Because the thing I was doing was pretty boring, I decided I would endeavor to keep the scammer on the phone as long as possible, as I feel that it’s my moral obligation to save other people who might not realize these are scams from them, even if just for a while.

This turned out to be quite fun and took extensive improvisational creativity.

The first thing he tried to get me to do is to open a desktop sharing application, which I obviously was not going to do, but I let him give me the URL anyway. He was reading from a script and carefully said (in paraphrase): “Type in w- w- w- dot- T- as in tomato, H- as in the house, etc.” (I’m changing all the URLs so as not to accidentally point you, dear reader, to anything bad — and I don’t actually remember them.) Of course I wasn’t typing in anything anywhere, but I diligently repeated back everything, but then told him that I was getting “no server found” errors.

He asked me to repeat back what I had typed in (I hadn’t!), so I repeated it exactly: “w- w- w- dot- T- as in tomato, H- as in the house,…” After several minutes of his trying to talk me through fruitless debugging I tried to give him a hint by asking whether “tomato” had an “e” in or not, because I might have spelled it incorrectly. It took my repeating this question a couple of time before he got that I had typed in (or pretended to type in) “www.tasintomatohasinhouse…” 🙂

Of course, he angrily corrected me on this, and we started again. And at about 15 minutes in, he realized (after my dropping multiple hints) that I was also (supposedly) actually typing out “d-o-t” instead of using a period!

Fun!

Having got all that figured, I was still getting “no sever found” errors (or so I claimed), and he finally devolved to asking me whether my internet was working.

“I don’t have internet,” I replied.
He was incredulous. “You don’t have internet, then how were you going to use our service?!” (or something to that effect)
“You asked me to open the web browser. I’ve never used it before.”

At this point, maybe 20 minutes of time saved from other poor souls, the call devolved into absurdity, as he first tried to talk me into turning on my internet (“But I don’t have internet at all.”) and then, amazingly — I guess not wanting to drop one of the only hot leads he probably ever had — he tried to talk me into going to a store and paying $500 for an LTE internet card to get internet so that he could continue the scam! “But why would I want internet?” .. and so no.

Okay, okay, so he gave up on the internet, and simply tried to talk me into going to a store and buying him a $500 Google Play gift certificate and he’d call back and I’d give him the number. (Yeah, right!)

It took a bit more creativity to get out of this. (Note that we’re up to at least 1/2 hour of saving other people from this scam!)

Me: “Okay, I can get that in about 2 weeks.”
Him: “2 weeks, how could it take 2 weeks?!”
Me: “I live in the middle of nowhere, I get to a store where I could do that about every couple weeks.”
Him: “You don’t have a gas station, or something nearby? Give me your zip code I’ll look where you can go.”
Me: “Okay, hold on, I have to look it up online.”
Him: “Okay” (Note that it didn’t occur to him that my looking this up online means that have internet! Nor was it enough of a clue for him that I don’t know my own zip code! What I was really doing was mapping some random zip code in the middle of Nevada.)
Me: “Okay, here it is….”
Him: “Okay, so do you know where <some random town> is?”
Me: “Sure (I don’t!), but it’s 100 miles away, so I get there about every two weeks.”
Him: “It takes you two weeks to go 100 miles? Why don’t you just go and come back later today and I’ll call you back.” (He was really pushing hard at this point!)
Me: “The tractor only goes 10 miles per hour, so it takes all day just to get there.”
Him: “Tractor?! What do you do?”

We’re up to, like 45 minutes now, and I’m getting so tired carrying on with the “Yes, and…” improv anti-scam bit that at this point I made a critical error, and, as they say in the con game, “cracked out of turn” What I should have said was something like: “I’m a miner.” (or a farmer), but I blew it:

Me: “I’m a computer scientist.”
Him: …. long silence …. then (screaming at me): “You are trying to waste my time!”
And he hung up on me.

But I feel like I saved some other poor sucker from being scammed…probably more than one, and it was fun!


(Ps. Bizarrely, he, or someone else from his “office”, called me back several days later and tried the same con. The reason I know it’s the same office is that at some point I gave a false name to the first caller, and the person who called me back used that same false name. They must not be very good at notating which phone numbers are cold leads. This time I just hung up on him.)


 

Chem Camp

Tags

, , , ,

Carrie and I decided (beyond all reason!) to run a home-spun chemistry camp for Leo and one of his MineCrafting school friends, Connor. We decided to do this because Leo is in this difficult age where all the camps we can find are either too old for him or too young for him. And also because I like playing with chemicals; I had a home lab when I was in high school that had (beyond all reason!) all sorts of scary stuff, some of which you can’t even get now, including all three concentrated acids (Nitric, Sulfuric, and Hydrochloric), and a pound of metallic sodium!!

The camp went for three days, over the short 4th of July week. Each day was approximately dedicated to a different topic: Day 1 was approximately simple reactions and acids and bases, day 2 was polymers, and day 3 was energy. We had planned many experiments (realizing that we weren’t going to get to all of them), and the boys kept a lab notebook (of sorts).

By the way, Ada was out of day care this week too, and participated quite a bit, as you’ll see!

Here’s an approximate list of what we did, and some commentary about what worked and what didn’t. A bunch of pictures follow, and at the end I’ve listed experiments that we planned but never got around to for one reason or another. Carrie and I shared leading the experiments.

Day 1: Basic Chemistry:

  • Safety First: 1. Never eat anything; 2. Always wear safety goggles!
  • Properties of matter: Figure out which white powder is sugar and which is salt (without tasting them — see safety rule #1 above!); This worked quite well; we looked at the crystal structure under the microscope, dissolved them, burned them (or tried — salt melts at something like 1500C!), and observed how they changed the conductivity of water.
  • Carrie showed crystal structures, including minerals and rock candy. (The rock candy was a hit with Connor and Ada!)
  • Carrie also led a series of experiments on yeast production of CO2 that worked well, including varying the amount of sugar and temperature of the water.
  • I then did a demo of the difference between CO2 and O2 production from yeast (and other sources — tried to use the yeast-produced CO2, but didn’t work, so devolved to good old baking soda and vinegar!). This is led to our discussion of reactions and catalysis, showing the NaOH+Acetic Acid<->NaAc + H2O + CO2 [we didn’t end up balancing the equations, although I had intended to!], vs. H2O2 + Yeast -> O2 via catalase.
  • Finally we extracted the indicator from red cabbage and explored acids and bases, comparing (I would like to say “calibrating”, but we didn’t get too detailed about it!) the cabbage-based indicator against PH paper.
  • At the end of each day, Leo and Connor worked with the Education Edition of MineCraft, which has a chemistry mode. They supposedly built a laboratory, although mostly they just played MineCraft with one another — which is fine.

Day 2: Polymers

  • Slime the good old fashioned way, via Elmer’s glue (vinyl acetate) cross-linked by borax. (One of the important distinctions about this Chem Camp is that in addition to doing the experiments, we study the molecular structures and reaction equations. This is particularly interesting in the case of polymerization reactions.)
  • Carrie found a cool experiment where you put a certain sort of potato chip bag (Sunchips) in the microwave for just a couple seconds and it shrivels up due to the polymer being woven with metal; The microwave heats it, and causes the polymer to basically collapse.
  • Next we did the classic strawberry DNA extraction. (DNA being a polymer! Polymers also come back later in comparing cell membranes to bubbles.)
  • By far the most successful experiment was Carrie’s muffin baking series where they varied the amount of baking soda, baking powder, yeast, and sugar in a series of muffins. (This actually only has slightly to do with polymers — gluten a bit — more like a continuation of Day 1’s experiments with yeast, acids, and bases.) The muffins all came out, and were mostly edible, and it was completely clear that there were huge differences in rising and taste. (Ada, by the way, had great fun covering herself, Carrie, and the entire kitchen, with batter; See pics below!)
  • The rest of the day (up to the required MineCraft “work”) was spent making bubbles with dry ice. I had intended to actually do experiments on the amount of soap vs. various additives, esp. mineral oil, glycerol, and PEG (see below), and we did do a bit of this. Similarly, I had intended the polymer conceptual thread to run through the whole day — from basic polymers, to DNA, and finally to comparing “air” bubbles and “water” bubbles, in the form of cells (which we lysed earlier to get at the DNA). We did do a bit of discussion around this, but mostly the afternoon was bubble madness. (Shout out to my friend Edward Spiegel, moderator of the fandom Soap Bubble Wiki for guidance here!)

Day 3: Energy (this is the day we blow things up!)

  • We started out with a hold-over from yesterday’s polymer day. I ordered some J-Lube, which is high molecular weight PEG, so we played with that a bit, which was very icky (in a fun way), and it self-siphons, which is really mind-blowing!
  • Then to the topic of the day: Chemical Energy! I had a brain storm to explain reaction energy profiles (coordinate diagrams) using block towers: Build a tall stable structure, and then put in a little energy to knock them down and get back all that potential energy in the form of (mostly) noise! This was fun, but I don’t think they got the point.
  • Next we started burning things: Matches then magnesium then potassium permanganate and glycerine reactions. The idea was to demonstrate that when you cross the activation energy barrier, all hell breaks lose…and I think that they got that, after seeing ten incarnations. Also I wanted to demonstrate lots of examples of chemical potential energy. (I wanted to do the Sodium Acetate “warm ice” experiment, but I lost my pre-made sodium acetate hand warmers, and I know from experience that it’s very difficult to make these from a baking soda and vinegar reaction — it just never quite works out!)
  • We used infrared thermometers on various things, esp. the stove coils, and observed that at about 1000dF the coil starts visibly glowing. The boys liked that! (I had intended to get into the physics of black body radiation here, and then derive the Schrodinger equation…but we didn’t get that far … yes, I’m kidding!)
  • Carrie showed how ‘flavors’ in gums, candies, and other foods are created – in the case of gum, from sugar, citric acid (for a bit of zing), and esters to add smell. Everyone held their noses while they chewed the gum and could barely tell differences between the different gum flavors (except the fruit ones had citric acid and mint didn’t), but they were much closer to guessing once they uncovered their noses (still some ambiguity in which type of berry, but they correctly distinguished berry from orange and from mint gum flavors). The kids also noticed after uncovering their eyes at the end that the gum color helped provide a clue or ‘prime’ people as to the flavor.
  • Carrie also did a whole series over lunch on color, which sort of fit with a light and color theme. (I had purchased some high density diffraction grating paper with the idea that we would look at a lot of different examples and compare the spectral lines, but this didn’t work out too well. Everything pretty much just looked like a rainbow because there was too much ambient light.) Anyway, they prepared paints from fruits and veggies, and did some art with them, and Carrie tried to do some paper chromatography, which was supposed to go with my optical chromatography, but the paper chromatography was about as successful as the optical was. (Basically the red paint came out red on the paper, and the green came out green. I don’t think that these plant-based dyes are a mixture of colors as much as artificial colors, like pen ink, are.)
  • The last thing we did was chemiluminescence, using light sticks. I had intended to actually do this manually (that is, to use luminol, and mix it with H2O2 or chlorox) but it seemed un-necessary, given that I had a bunch of light sticks, and they do the same thing. I also had some really cool birthday candles that actually burn in colors; again, the idea was to get into atomic (or at least elemental) spectra, but again we didn’t get around to getting down to that level of detail.
  • The day ended in a water fight in the front yard, and, of course, the required MineCrafting.

We survived, although I’m somewhat surprised that things went as well as they did. I learned that 10-year-old-boys are … well, a major handful! I guess I kinda knew that from how difficult it is to get Leo to focus for more than 30 seconds on anything that isn’t what he happens to want to focus on (which is usually MineCraft!), but it was sort of shocking how it seemed like Ada had the most attention span of anyone in the room! 🙂

Carrie created a google drive folder with some of her cooking and color materials. Here’s a link to it.

As promised, pictures!

Some apparatus, safety goggles, and the red cabbage indicator:

 

 

Lab notebook scribbles:

 

 

Remains of burning things:

IMG_0509

 

Yeast-produced CO2:

 

 

Ada experimenting (with dirt, of course):

IMG_0569

 

Muffins (the results, and recording them):

 

 

Muffins (the preparatory stages):

 

 

Looking at the results of DNA extraction:

 

 

This is Science! (Standing, for some reason, in the remains of bubble play)

 

 

Coordinate (Reaction Energy) Diagram, and the block analog:

 

 

Preparing natural pigments:

 

Natural paint art and (mostly failed) chromatography:

What 10-year-olds do instead of being on task:

IMG_0782

 

Chemiluminescence:

 

 

Chem Craft:

 

 

Experiments we never got around to:

  • Precipitating casein from milk (polymers and state changes)
  • Lemon battery (energy)
  • Making Nylon-66 (polymers and state changes — decided this was too dangerous to do with 10-year-olds who were only partly on-task the whole time)
  • Cooking eggs (energy, polymers, and state changes)
  • Various dry ice experiments (state changes)
  • Electrolysis of water, and re-making the water (basic chemistry, energy)
  • Metal from soda cans – if you scratch it, the plastic lining on the inside of the can is scratched and the soda acid rusts the metal can. Electrolysis might speed that up.
  • Making polymer ice cream with konjac that you need to cut with a knife and fork.


 

Towards a (toy) Quantum Computer

Tags

, , , , , ,

Leo’s FLG (Focused Learning Goal) for this year* is to build a real quantum computing mod in MineCraft. (Note that the kids set these goals for themselves at the beginning of the year, and although I might have slightly influenced his choice of project, the “in MinceCraft” setting was all Leo!) This came from several sources, aside from just the obvious entanglement of his interest in quantum computers with MineCraft. The main influence is that there are two quite cool MineCraft mods, one, called qCraft, that adds a sort of quasi-quantum mechanics, and another, called Mekanism, that adds all sorts of advanced devices, esp. lasers. The qCraft mod actually has quantum computer components, but they are not very elegantly done; We wanted to make it a little more like a real quantum computer by using the Mekanism lasers as the qubit sources, and then add optical components for the gates.

If you don’t know what I’m talking about, there are innumerable videos on quantum computation on youtube, but if you REALLY want to understand it, I strongly recommend this excellent set of short lectures by Michael Nielsen, which not only nicely demystifies quantum computers, but at the same time demystifies quantum mechanics!

Anyway, so we needed to get our feet a tiny bit wet toward this pretty massively complex FLG. Unfortunately, direct MineCraft modding is done either in Java or Python. (There are a few little experiments in modding in scratch-like languages, but, much as they are nice tries, they have issues, so I decided not to bother with them, at least for the moment.)

To get our feet wet using a programming paradigm that Leo already knows, we chose HopScotch. Together we created a highly simplified quantum computer game in HopScotch. We only have one gate, a Hadamard gate, and the quantum state is highly simplified, having only the possibilities of being 1 or 0 or 50/50, no complex numbers nor normalizations.

But it’s kinda cool, none-the-less:

 

The circle represents a qubit that might be a photon, for example, and its color represents its quantum state: green is definite 1, and red is definite 0. It travels a continuous loop from left to right, and then re-appears on the left again, as though it’s on a quantum wire that’s looped around from the end to the start.

When the program starts, the photon’s quantum state is definite 1 (1.0|1>+0.0|0>), and so the photon is green. The M box on the right measures the quantum state, “collapsing” it to 1 or 0. If you just let the program run from the start without doing anything, the measurement gate will just keep reading 1, and incrementing the 1 count. The photon will just stay green.

The hex is a Hadamard gate (H gate), which splits the quantum state in half ((0.5|1>+0.5|0> — remember that we’re simplifying here, so there are no complex values or normalizations). If you drag the hex into the photon’s path (righthand screencap), the state becomes a mixture of 1 and 0 (and a mixture of red and green). When a qubit in that 50/50 state gets measured, there’s a 50/50 chance of collapsing into a 1 or a 0, and if you

You can try it out yourself on HopScotch on your iPad. (I’m told that HopScotch now allows you to run code in your browser, so you don’t need to actually have HopScotch on an iPad, although I highly recommend HopScotch on an iPad!)


* This post was actually written when Leo was in 3rd grade, so over a year ago. I apparently forgot to publish it, and it has been lingering in the drafts folder! Better late than never.


 

Algebra is Magic (part 1 of many)

Tags

, , , ,

I’ve been doing Algebra with Leo for some time, and every once in a while I actually amaze myself at just how cool Algebra is. Leo and I have in mind writing a book called “Algebra is Magic” which would just be a bunch of short solutions to what look like difficult problems, but which just “magically” drop out through Algebra.

Whenever we do any math, I’ve been trying to engrain that the first question is always “What’s the model?”, that is, what is the formal ‘equational’/’mathematical’/’algebraic’ form of whatever problem we’re doing?

Now, usually I know where we’re going, because I can do most of the things that a K-12 student would ever encounter more-or-less in my head, or at least I can tell right away what the algebraic form is going to be. So, together we write down the model (which I already know … or am able to work out without thinking too hard, so I lead him through this), and then we push through the algebra, and “voila!” the answer. (We always, of course, check the answer, at least for making sense, and usually for being correct by pushing it back through the original equation.)

Now, usually, the “voila!” moment is unsurprising to me, because I knew it was going to work, because I could see that we did it right, and where it was going. But, as I said at the outset, sometimes the problem is hard enough that even I’m not sure whether we’re right, and even I am surprised when it works!

There have been many of these, and our plan is to write these up, first in this blog, and eventually in a book.

Here’s just the latest one, as an example:

We’re starting on Calculus, and the book that I’m using (Stewart’s Calculus [8th ed.] from Engage Learning) has a  diagnostic test in the preface. For the most part these are pretty simple high school Algebra problems, and even Leo can do most of them … maybe with a little guidance from me … and I can, of course, do all of them. But there are a couple that are even tricky for me.

One such is this:

Prove:

\tan(\theta)\sin(\theta)+\cos(\theta)=\sec(\theta)

So, first off, we know “SOHCAHTOA”, and have used it a lot, but I had to recall what secant was. (I know its either inverse sine or cosine, but the way I remember which one is that I remember that it’s as confusing as possible, so to be as confusing as possible secant is inverse cosine, and cosecant is inverse sine!)

Okay, fine, but on the face of it I had no sense that this was going to be anything but a mess to prove. But we decided to use the “Algebra is Magic” mantra:

“Get a model and just push it through!”

Okay, so even I don’t know where this was going, but went with it, but here goes:

(I’m using ‘p’ here instead of ‘o’ to mean ‘opposite’, to avoid confusion with zero)

\sin = p/h, \cos=a/h, \tan=p/a

Blindly substitute into:

\tan(\theta)\sin(\theta)+\cos(\theta)=\sec(\theta)

to get:

(p/a) * (p/h) + a/h =h/a

Next, blindly push through the algebra, not really knowing where this is going:

Multiply:

(p^2/ah) + a/h =h/a

Multiply through by a:

p^2/h + a^2/h =h

Multiply through by h:

p^2 + a^2 =h^2

And then … Whoa! What The…. That’s The Pythagorean Theorem!

We weren’t headed there at all; we didn’t actually know where we were headed; Algebra brought us to The Pythagorean Theorem … by Magic!

And if we take The Pythagorean Theorem as axiomatic (which, of course we do!), then we just proved the target expression!

QEfingD … MAGIC … BANG!

(This, of course, led into into long discussions of the difference between theorems and axioms, including studying a bunch of proofs of The Pythagorean Theorem itself. But none of that was as magical as running headlong into it without knowing where we were headed!)



 

Learn Math, not Mandarin

Tags

, , , ,

An old joke goes:

Q: What do you call someone who knows three languages?
A: Trilingual
Q: What do you call someone who knows two languages?
A: Bilingual
Q: What do you call someone who knows just one language?
A: An American

Probably mostly true, the joke implies that it’s a bad thing to know only one language. More specifically, it’s poking fun at the fact that most Americans only speak English. But is it such a bad thing to only know English? According to this Wikipedia list of most commonly spoken languages, the most spoken “primary” language (“mother tongue” or “L1 Rank”) is, predictably, Mandarin, followed by Spanish, and then English. So, you’re at least in the top 3 just out of the gate!

But just looking at the number of speakers of their Mother Tongue (L1) is misleading, because when someone does learn a second language, it is almost always English! So instead of looking at the most common “first languages” (L1), you look at the most common languages including second languages , that is, the languages by total number of speakers (L1+L2+…), you get a very different, and somewhat surprising, list (the rightmost column in the WP table, and the main sorting rank of the table). By this measure, English is the most commonly spoken language, with 1.12 Billion speakers (at this writing), followed closely by Mandarin (1.11B), and then by Hindi, Spanish, Arabic, and French. The reason that most people learn English as a second language, if it isn’t their Mother Tongue, is that English is the de facto language of Business, Engineering, Science, and, most influentially, The Internet. Indeed, by the time you get to French, there are fewer speakers of French word-wide than the population of the US! So, really, there are only five global languages: English, Mandarin, Hindi, Spanish, and Arabic. So if you were going to learn a second natural language, you’d do best to learn one of those.

But I’m going to make a play for taking a different path; Instead of bothering to learn a second (natural) language at all, speakers who’s Mother Tongue is one of the four global languages that isn’t English, should definitely learn English as a second language, in order to participate fully in Business, Engineering, Science, and, The Internet. BUT — and here is where I’m going out on a limb of my own!  — native speakers of English (or those who already know it well, if not natively), shouldn’t waste their time learning a second (natural) language at all, but instead, those English-speakers should spend their time learning the only true permanent global language: Math.

Now, I realize that this is an extraordinary suggestion, and that extraordinary suggestions require extraordinary support. I’ve already demonstrated that one doesn’t really need to learn any language other than English in order to participate in the modern technical world. One may want to learn a second natural language for some personal or local reason. For example, I live in California, where knowing Spanish is of great practical value, and I’m personally fascinated by Chinese (esp. it’s ideographic writing system). But some educators have argued (and some scientists have experimental results to support the hypothesis) that learning a second language is good for your brain. My read of this data is that it’s pretty weak. However, I have no interest in trying to tear down that result, but instead to make a different point, which is that, as far as I know, there are no studies that suggest that learning math as a “native speaker” does not have at least the same, and perhaps even more benefit … and it certainly couldn’t hurt!

Now, one might well ask, at what age one should start being exposed, under my theory, to math. My answer is very specific: Immediately — from day one! My hypothesis is that mathematical understandings, as well as mathematical ways of “seeing” the world, can be taught basically bilingually, so that just as someone is bilingual in two natural languages, one can become essentially bi-lingual in English and mathematics.

“But wait!” I hear you saying to me (via your computer screen), “Math isn’t a natural language — it’s a faux language — a notation made up by mathematicians to describe and manipulate things mathematical!” This, of course, depends upon your definition of “natural” (and it’s opposite: “faux”). Whereas math doesn’t have apparent surface structure of natural languages, I assert that it does have the basic elements thereof: There are abstract and concrete nouns (e.g., numbers, triangles) and verbs (operations such as addition and subtraction, or, if you prefer: “more” and “less”), and there is a grammar and a semantics, whereby grammatical sentences have clear and specific semantic referents, and ungrammatical sentences do not.

Moreover, just as natural languages derive directly from our needs to do things with, and communicate about, things in, and state of in the real world, such as running away from lions, attracting mates, and (more recently) engaging in commerce, mathematics derives directly from our needs to do the exact same sorts of things: count chickens (or the number of lions you are running away from), mark time, distance, and rate (as you run from them) and their relationships, and so on. Indeed, the typical elementary mathematical practice of word problem solving relies explicitly upon the fact that natural expression and mathematical ones are closely related.

To wit:

“John has three bags with four faux diamonds in each. He trades half of the bags with Mary for six dollars total. Five minutes later Mary discovers that the diamonds are glass, and releases a hungry lion to eat John. A lion can run ten times as fast as a person walks, and five times faster than John can run. John, having had a five minute walking head start, starts running from 500 yards away when Mary releases the lion. How much longer does John have to figure out how much per faux diamond he had just traded his life away for?”

See, perfectly fine, either as a natural or mathematical language!

Moreover, there is constant hand-wringing about which second language one should learn. For the rest of the world, the decision has clearly been made: English. As a result, I believe that people whose Mother Tongue is English are missing a phenomenal opportunity to get an enormous leg up on the rest of the world in business, science, and engineering, by bothering to learn a second natural language, but instead, they ought to be taught math bilingually – a native language – from birth.

What does it mean to learn math bilingually, as a native language? First, of course, there is counting, which can be learned from the very earliest months of life. As poor John above demonstrates, mathematical operators, like multiplication and division have natural language phrases, for example, “of” or “at” are forms associated with multiplication, and the same is true for most mathematical operations and most basic mathematical objects are directly groundable on natural objects and experiences (at least until you get to very abstract concepts).

Math is the only truly universal language, even more so than English. Learn Math, not … well, anyway, not French! [I’m mostly kidding here; Half my family is French, so I have no loss of love for French, and would have a good personal reason to teach it to my kids, if there weren’t several way more practical options, like math, Spanish, and Chinese!]

ps. I’m reminded of something I heard a physicist say on a radio interview once. The interviewer ask him what his greatest fear was (scientifically speaking). He had a fun answer, that was something like (paraphrasing): “I’m afraid that we’re going to finally communicate with intelligence aliens who are way more sophisticated than us, and they’re going to explain all the scientific mysteries of the universe to us, beginning with: ‘Math? Yeah, we tried that for a while; it didn’t work out so well…'” 🙂



  

 

A Minecraft Virtual Diorama

Tags

, ,

Leo’s 4th grade class had a Project Based Learning (PBL) exercise that latest several weeks. I only barely know any of the details about this assignment (because what self-respecting 4th grader would tell their dad anything?!) But as I vaguely understand it, the focus of the PBL was on animal habitats. They started out with a field trip to the Oakland zoo a few weeks before. Then each group of about 4 students was assigned two animals that usually live in a given ecosystem, and they had to design an “ethical enclosure”, and explain various aspects of it in a powerpoint presentation. There was also a tiny bit of electronics, and scratch programming involved in the project, although most groups just used the electronics to let the visitors to their booth click the powerpoint forward.

Leo’s group was assigned the Australian Spinifex hopping mouse, and some kind of mole that presumably lives in the same deserts as the hopping mouse.  Now, when I was a kid, we would make dioramas in shoeboxes. But since Leo is so into Minecraft, I suggested that they use it to create a virtual diorama. Which they did! I bought the team a “Realm”, which is basically a specialized Minecraft server, and they went at it for about five hours, and it seemed to me to have come out pretty well, although it’s a bit hard to see in the below pic.

The animals were represented by two different MC “mobs” (their name for an NPC — a monster or, as in the case, animal). They “built” (as in MC building) a clear glass enclosure that had both internal and external relevant desert features, including above and below ground. Then the visitor could freely navigate around inside or outside the inclosure (including below ground, of course) and visit the (quasi)animals in their (approximately computationally simulated) natural habitat.

201811080907-IMG_7003

 



 

Trap, Pillar, and Teleport Chess

Tags

, ,

Leo likes making up new kinds of chess. Usually his mods are pretty unplayable, but a couple of them have been sort of fun.

Trap Chess

For some time we’ve had these elementary math table things that have pretty solid spring mechanisms so that you can pop in or out the problems to reveal the answer. These are kinda fun; One fun thing to do is to make a marble maze and then trying to run a marble through it. Over the weekend, we invented what actually appears to be a an interesting — and even playable! — kind of chess that we call “Trap Chess”. It works like this: Whenever you take another piece, you are “trapped”, that is, the square that you take on is depressed, and you have to use a move to pop it back up. And if you take into a trapped piece, the attacker is now trapped.

Here’s are a couple of examples:

(Note that because a times-table is 9×9, we had to depress one edge all around.)

In the righthand game the black rook is trapped (from having taken something in some previous move). If it was white’s turn, the rook could be attacked by the white bishop moving to 5×3, because the rook would have to spend a move to pop out of the trap, and would thence be prey to the 5×3 bishop.

In the lefthand game, the black knight at 6×4 is NOT checking the white king, because the knight is trapped. But if it were black’s move, and the knight were to pop out of the trap, THEN the white king would be in check! (And note that the bishop is pinned by the rook!) Also, that if the black rook was to take the white bishop, it would become trapped, and the white king could take it (as usual), but then the king would become trapped. Having a trapped king is a recipe for a checkmate because in order to move out of check, the king would first have to pop out of the trap!

We tried several modifications on this, but the basic rule, as above, seemed to be pretty good. One mod that seemed sensible was that you were also trapped if you promote a pawn, giving the defender an extra move.

Pillar Chess

The nice thing about Trap Chess is that it doesn’t introduce randomness, just a new twist to the standard chess game. Two other kinds of chess that Leo invented had random components, and were less playable. In one, which I’ll call “Pillar Chess”, there is a 2×2 object (we used a pill bottle — and called it a “pillar” :-)) in the middle of the board, and on every move (or maybe it was ever two moves — one white and one black) you would throw a 1d6 die, which would dictate how the pillar would move. 1 = no move, 2 = toward black, 3 = right from black, etc. And I think that 6 was “throw again” … doesn’t matter how the assignments work, obviously, the idea is just that this thing in the middle of the board both blocks long moves, and randomly moves around the board! If a piece is bumped by the pillar moving, it pushes in the obvious direction, and this “dominoes” along in the obvious way. Any piece bumped off the board, either directly or indirectly, is out of the game.

This wasn’t actually all that much fun. Since it’s really hard to plan moves around where the pillar might end up, you just end up planning around it, and it’s possible path, so as to avoid potential problems, making this much less interesting than it sounds. Pretty much where the pillar is, is just a big hole in the board, and one there aren’t as many pieces on the board, the pillar didn’t move fast enough to matter much.

Teleport Chess

The other version we played was teleport chess, where on every move, 2d8 die (that is, 2-eight sided dice) are thrown twice. The first throw identifies where the “black hole” opens up, and the second roll identifies where it exits. Any piece on the hole’s entrance gets sucked in and deposited at the exit. This turned out to be slightly interesting, until there weren’t enough pieces on the board for it to pretty much ever hit on of them, so the rolls had no effect. You could imagine versions of this that would fix that problem, but still, as above, it’s pretty hard to plan against randomness, which breaks the main beauty of chess!



 

Simulating Synesthesia (with Lego)

Tags

, , ,

One of my students wanted to study synesthesia, but he isn’t synesthetic (nor am I), and it’s sort of a hard thing to simulate (at least legally). Coincidentally, I was recently trying to decided whether Leo was too young to read Dune, Frank Herbert’s SciFi masterpiece. He probably is, but there is a scene in it where the hero is tested by having to hold his hand in a pain-inducing box. (The pain is induced in the nerves; No damage is actually done to the person’s hand.) One of the examples that I give in class is “blindfolded cooking”, the idea being to give someone the sense of what it might be to be blind while doing a task in which we normally depend heavily upon sight. Actual blindfold cooking is pretty dangerous, so we don’t actually do it in class, but putting these ideas together gave me what I thought was a great idea for my student: How about having someone do a fairly complex task in a “blinded” glovebox. Usually you can see into a glovebox, but here we would preclude that by simply making the glovebox without a window!

What about the task? Recall that the idea is to give the sense of synesthesia. The task that we finally hit upon was to copy a somewhat complex lego construct. We would create a small random lego construct with, say, 10 different pieces, then stick it in a cardboard box with a bunch of other random lego pieces, including at least one of each piece needed to copy the target construct. Finally, we cut two wrist-sides “glove” holes through the side of the box.

Here’s the box wit the top open, and Leo holding up the target construct:

IMG_8470

The idea, of course, is to copy the construct with the box top closed, like this:

IMG_8462

(The book is just to keep the box top closed.)

This turns out to be a really interesting puzzle, and I do think that if you close your eyes and try to visualize the target, and what’s going on when you copy it, it does gives you a little bit of a sense of crossed senses, a bit like what it might be like to be synesthetic.