GEEKERY  
ADVENTURE  
CONTEMPLATION  

20140115

music appreciation

I don't usually write about working with the young women at church, mostly because the best stuff is spontaneous and a little effervescent.  But tonight I planned a "music appreciation" night, which involved putting together a jeopardy-like arrangement of index cards in six categories: 20th century pop music (name the decade), classical composers, name the instrument, name the artist, hymn titles, and Disney (name the movie).

It was fun to prepare--all I had to do is go through my music library and pick 30 songs, as well as spend a few minutes writing up the categories and numbers on index cards. I enjoyed finding obscure but still recognizable segments for the Disney category; the hardest one was from Bambi, which many of the girls had never seen. Name-the-decade was probably the most fun to construct, though, as I got to dig through a huge spectrum of music.

The girls seemed to have fun, and everyone got at least one right. The best moment for me is when the visiting girl who only really speaks Portuguese correctly answered the hardest name-the-artist without any real hesitation (it was Avicii's Wake Me Up).

It was interesting to see who shone in which categories, and I learned that one girl plays the flute.  One girl got every single guess-the-decade, from a 1928 Luis Armstrong piece to a 1996 one by Jewel. Another got every single hymn title.  The flautist was a whiz with instrument names.

Everyone avoided the classical composers, but when we finally did them, many of them recognized the music and spent a while mulling them over.  Exposure is the key for this kind of stuff, and I was glad to make them think about it.  I was also happy to teach them what a harpsichord sounds like, and that no, those are bagpipes, not a piccolo.

20130517

incorporating computer science into K-12 curriculums

Math, Science, History, English--the four staples of American education.  Sure, maybe there's Art (performance or studio), foreign languages, physical education, health, and electives in there as well.  Sometimes there's the token technology class or the computer science AP you can take as a junior or senior in high school.

But computer science is huge, and deserves more time than it usually gets in classrooms.  I got my bachelors in CS and am working on my PhD in CS, so obviously I think the world revolves around it, because mine actually does.  But that doesn't mean that CS isn't huge, because it is.  There are the big names: Google, Apple, Microsoft. Wanna buy stuff?  Amazon and eBay.  There are the social media guys like Facebook and Twitter.  There are the folks doing websites and apps: Etsy to Instagram.  There are game companies like Blizzard and EA.  There are movie companies like Pixar and Dreamworks. Adobe, IBM, Yahoo.  The list goes on and on and on.

So we should teach our kids more about computer science, because it's crucial to so many industries.  Even if they're a digital artist, they'll still need to know a little about hexadecimal.  So let's teach them!

Recently, I did a demo at an elementary school science fair in which I brought a balance scale and had a dozen containers of various weights.  The task for the kids was to put the containers in order using as few comparisons as possible.  The older kids got it very quickly, and the patient younger kids got it too.  I was teaching quicksort to 2nd graders, and they didn't even know what hit them!

Kids are more than capable of learning basic computing concepts.  Elementary school kids could pick up counting in binary and hexadecimal, symbolic logic and basic satisfiability problems, sorting algorithms, and deterministic finite automaton.  These topics range in difficulty equivalent to mathematic problems they cover in elementary school: counting to pre-algebra.

I've got so many ideas of how to teach this to kids, and I'm not the only one.  High schoolers could do regular expressions, circuits (and, or, not gates), and maybe transistors.  And programming!  Ugh!  Why doesn't everyone learn how to program?  I know that it's not everyone's cup of tea, but neither is math, and I can't tell you how may people I've encountered that say, Oh I really need to learn how to program...

I was showing a middle-school kid from church how to program in Python, and when he left he told his mom, I wish they taught this stuff in school.  Me too, buddy, me too.

So what has to give in order for this to happen?  Not much.  It can be taught alongside math and science in elementary school.  We can overhaul the terrible "technology" classes taught in some schools and offer more serious computer science electives.  It's totally possible, but it needs to happen at the school or district level for real change to happen.  Going up any higher might just result in more crap "computer" classes.

Part of the problem is that second grade teachers usually don't know how to count in binary--that is, that the concepts that would be so easy to teach aren't yet known by the teachers.  That won't change until everyone starts needing to know this stuff, which wont happen until the system is changed.  It's tautological.  Maybe I'll start by contacting my local schools and see if they'd like me to come in for a computer science day or something.  If I do, I'll let you know how it goes.