Her First Science Fair

Science Fair Project

American public schools in general aren’t that good at teaching math and science.  Actually, I could probably have stopped that sentence with “American public schools in general aren’t that good” and gone to lunch, but it’s a complex topic.  We made the choice years ago to put Laurel in public school, knowing their drawbacks — without really getting into it, we do believe in public education.  You can’t treat it as a black box with a slot labelled “insert child here” that dispenses educated young adults out the bottom, but it’s something you can work with.  And it gives us some time to save up money for private high school when the time comes, if necessary – high school being a significantly different academic and social proposition than elementary school.  On that one, we’re waiting to see.

But, as mentioned, public schools are pretty crappy at math and science — indeed the fact that they’re even considered separate subjects as opposed to fundamental approaches to dealing with the world bothers me.  Many of San Francisco’s public schools are already dealing with severe literacy problems, and their resources are devoted much more to those issues.  Nonetheless, the slightly-unofficial organizations that surround SFUSD have been running monthly STEAM nights at Laurel’s school, and after two months on the ‘A’ part they finally got to the ‘S’ by holding an extremely informal science fair.

Laurel’s class has been learning basic arithmetic and skip-counting (translation for those of us educated in the 70s and 80s: “counting by Ns”).  So we entered a project wherein we built a machine to do those things.  One of the best ways to learn something being to each it to someone else, especially a student of exceptionally low intelligence, something at which computers excel.

In this case, the pupil was a little microcontroller board, with a couple of buttons for addition and subtraction and a display for alphanumeric output.  Laurel provided the pseudocode (or “software story” as we called it, at right in the photo above), we worked together on deciding what inputs to have and what they should do, and I translated her pseudocode into C.  There were a lot of off-spec discussions about what to do, for example when there wasn’t room on the display for the number, whether to wrap back to 0 or stop, whether to support negative values (a concept she only vaguely grasps at his point).  She typed up the simple “how to use” instructions which almost everyone read, and I wrote up a more elaborate “instructions for grownups” section which ended up going mostly unused.

One of our more involved design debates concerned whether to reset the total to 0 when changing the skip value.  Doing so, I argued, would make it more clearly a device for performing skip counting proper.  Laurel disagreed and wanted to keep the outstanding total and start adding/subtracting from there.  We went with her approach.  In the event, the younger kids who checked it out at the science fair were a little confused, but the older ones saw its application as a general-purpose adder/subtracter, and several got quite big smiles on their faces when they figured it out.

All was not sunshine – Laurel, having had a full day of school, then an afternoon of doctor visits and public transit, was fussy and more interested in other people’s exhibits than her own, but we got plenty of folks coming by and at least a few had little “I’d like to do that” lights on in their faces afterward.

Coincidentally, her homework that day involved translating tally marks to plain numerals, something involving skip-counting by fives and then incrementing by ones, so her choice not to reset the total to zero when changing the skip value proved fruitful.  I let her use the machine to do the assignment, and she happily ran the algorithm out loud the whole way through.

Advertisements