Knowing and Teaching Elementary Mathematics
Speaking of math education...
Sushu's mom is the author of a book, Knowing and Teaching Elementary Mathematics. The other night I decided I should try reading it and find out what the deal is.
She was interested in the question of why American kids score so much lower on math than Chinese kids do, despite American math teachers having more years of college and formal training. So she went out and did original research, interviewing American and Chinese teachers of elementary-school math to compare their methods.
Again and again, what she found out is that the difference was not in the children, nor in the teaching methods, but in how deep the teacher's understanding was of the material. The Chinese teachers had "a profound understanding of elementary mathematics"; they knew arithmetic backwards and forwards and were able to demonstrate lots of alternate methods of reaching the same answer, to invent lots of real-world examples, and to prove mathematically why a certain procedure worked.
The American teachers had only a shallow understanding focused on rote procedure. E.g. they could tell a kid what to write down in order to multiply two three-digit numbers, but they couldn't explain why executing those steps produces a correct answer. So no wonder they would run into trouble as soon as students started asking questions or showing signs of misunderstanding. No wonder so many kids grow up dreading e.g. long division -- they experience it as an arbitrary algorithm they are made to execute, without rhyme or reason or internal logic.
The most head-slappingly awful bit was when Liping asked teachers to demonstrate how they would teach division of one fraction by another fraction. (One and three quarters divided by one half = ?)
Only 9 out of 21 American math teachers could even do the problem correctly themselves! And only one out of those 21 was able to come up with a story or real-world example that correctly demonstrated the meaning of dividing by one-half. The rest of the teachers were hopelessly confused and started talking about dividing one-and-three-quarters pizzas between two people or something similar. That's not division by 1/2, that's division by 2 or multiplication by 1/2.
Twenty out of twenty-one American elementary school teachers didn't know the difference between dividing by 1/2 and dividing by 2! This was just one of several places in this book that made my jaw drop.
TL;DR: American kids suck at math because their teachers suck at math.
Chinese practice game (work in progress)
Remember when I said I was working on educational game software for learning Chinese? Here is a beta version:
Sushu's Mandarin 1 class is my first group of beta testers. All last week she was coming home from school and reporting bugs, which I'd try to fix as quickly as possible for the next day.
Thus far it's not very fun - it's just a set of practice tools. I've got the educational part, not so much the "game" part yet. It's also extremely bare-bones visually -- it lacks colors, images, animation, etc.
But it does offer the following features:
- Three practice modes: typing in pinyin, drawing hanzi, and listening.
- To make drilling more interesting, each round is timed and scored; you earn bonus points for speed and for getting a lot of words right in a row.
- It tracks how many times you've got each word right and wrong; the more you get a word right, the less often it reappears, while the words you've gotten wrong recur more frequently.
- See your scores with all words, including the words you are having the most trouble with.
- Study any set of words you want to study by uploading your own vocabulary set, which you can also make available to other students.
- For teachers, there's a page where you can see an overview of how every student in your class is doing with the words they've been assigned. So you can see what's giving the class the most trouble.
I've tested it on Firefox and Safari so far; the hanzi drawing works with a mouse, or with a finger on a touchscreen (e.g. iPad).
The pinyin-entry practice is very awkward. Currently you have to identify the tones by typing numbers. I want to replace that with something less artificial. Especially since pinyin itself is a poor proxy for pronunciation. Ideally I would want the student to be able to speak into their microphone and have the program grade their pronunciation, but that will be (as mathematicians say) Non-Trivial.
Drawing hanzi is currently graded on the honor system: You draw them, then it shows you the right ones, then you tell the program whether you got it right or not. I'm poking around with some possible handwriting-recognition code to automatically judge whether you wrote it right or not, because right now it's easy to cheat. Then again, if you cheat, you're only cheating yourself, so maybe it's OK the way it is?
Eventually I want to write "Learn Chinese: The RPG". The infrastructure I've been building so far is designed to support that as well as be a practice tool in its own right.
I'd love to hear some feedback from any readers who know enough Chinese to try out the beta version. (I think that's... two of you? Unless there are some lurkers I don't know about?) Thanks.
Teaching Programmers, not just Bro-grammers
I instantly fell back into the rhythm of teaching. Oh yeah, I remember how much I used to enjoy this! And the people are pretty cool. So I'm continuing to do it, for the time being. I didn't want to give them false expectations so I told them very explicitly that if I get into grad school, or if the Studio Xia Chinese game starts taking off, then I'm outta there.
So I've got a part-time job with very flexible hours; I can go in and teach for a couple hours one or two days a week and write a few assignments for their curriculum. It lets me pick up some extra money and more importantly gets me out and connecting with humanity on a regular basis, so I don't become a total hermit.
The students mostly look up to me since I used to have the kind of job that they're all want -- they're trying to break into the field that I'm trying to break out of. I am reminded of that kung-fu movie trope where the retired sword master is all like "Do not follow in my path, it leads only to violence and death" and refuses to teach students.
I don't want to crush their dreams. So I try to give them a neutral picture of what it's like, the good and the bad.
The class has about 20-25% women. Which is a really low number, but sadly, it's better than a lot of programming groups I've been in, which have been 100% dudes. Programming is still an extremely male-dominated field. As much as some people have tried to blame this fact on women just not being interested, I think the culprit is sexism, which still exists in both blatant and subtle forms. Sure, we like to think we're enlightened folks and beyond all that, but sadly we're not. For sickening examples, read the experiences that female game developers reported in the #1reasonwhy hashtag recently.
I want to be part of the solution and not part of the problem. I want to help make the class a welcoming and egalitarian environment, and I want to encourage the women in the class to keep pursuing this as a career and not to get discouraged and drop out. But at the same time, I don't want to treat the women differently from the men. It would be damn insulting of me to assume they need extra help because they're women!
I talked to Alexis about this dilemma last week, and she told me some facts about stereotype threat. It's a phenomenon where a member of a group that's stereotyped as bad at something (i.e. "Women are bad at programming") get really nervous about confirming the stereotype, which reduces their performance in a kind of self-fulfilling prophecy. It's been experimentally confirmed again and again. But experiments have also shown ways to mitigate it.
For instance, she said, getting people to talk as individuals about their personal goals and their reasons for wanting to take a class seems to reduce the effects of stereotype threat. And recognizing that not everybody communicates the same way, and that some students who need help might be really shy about asking questions for fear of sounding stupid.
The book Whistling Vivaldi is supposed to have some good insights for helping teachers mitigate stereotype threat, so Sushu and I have added it to our reading list.
So, I'm trying to get to know the students as individuals (luckily it's a small enough group to make this feasable), figure out their learning styles and their goals, and gauge what kind of help they each need. Students have a wide variety of backgrounds. Some have advantages that others don't, and it's got me thinking about privileges that male programmers take for granted.
Over the years I've gradually been learning to recognize my own privilege and how it's helped me get where I am. Like, because my family was (barely) able to afford a computer for me when I was a kid, I have a lifetime of tinkering experience to draw on. Just because I look and sound like a stereotypical computer programmer (young, white, male, communicates in sci-fi and video-game references), nobody ever sees me at a software company or a tech conference and questions whether I deserve to be there. If I wasn't any of those things, I would have had a steeper hill to climb.
The thing I want to talk about isn't any kind of blatant "get back in the kitchen" sexism (though that does exist in parts of the industry, no question). No, the thing I've noticed is a much more subtle phenomenon. It's not intentionally malicious but it still contributes to making programming culture exclusionary.
About the feeling of being overwhelmed by jargon: Programmers use tons of it. They redefine perfectly ordinary words ("function", "object") to have extremely specific technical meanings. Programming depends on precision of thought and so itthis lexicon of jargon is neccessary; without it, it would be impossible to communicate with enough precision. Problem is that programmers take the jargon for granted, forgetting that a listener might not know what ORM stands for, or might misinterpret "object" as its normal everyday meaning.
I told the class that the feeling of being overwhelmed by unfamiliar terminology is totally normal for programmers. I encountered a ton of brand-new bewildering gibberish at each new job, even after years in the profession. There's always a moment of panic: "They're talking about jQuery what the hell is jQuery oh no I don't belong here they're going to figure out I'm a fraud!" That feeling never quite goes away, but it gets less over time.
There's two ways of dealing with this: You ask "What's jQuery" and reveal your ignorance, or you fake your way through the rest of the conversation and then look up jQuery next time you're alone at your desk.
Now I think asking "What's jQuery" is the healthier course of action -- better to ask and look stupid for a moment than to not ask and remain stupid forever -- but it took me years to get comfortable with that. If you're already unsure of your social status in the group, then displaying your ignorance is really scary.
So to tie this back to the gender issue: women are less likely than men to have grown up in a social group that used a lot of technical jargon. They're also less likely to have been socialized to be assertive: our culture rewards a certain amount of cockiness in boys but punishes the same attitude in girls.
As a result, the kind of breezily overconfident, unthinkingly jargon-heavy communication style favored in male-dominated programmer culture can be quite exclusionary. If you're not used to the jargon, and you're worried about stereotype threat if you admit you don't know something, and you were raised not to fake confidence about stuff you don't know... well, I see how it can feel like a hostile environment, even if nobody engages in overtly sexist speech or harassing behavior towards you.
Programmers hold a lot of the levers of power in our modern age. Software runs ever more of the world. If the programmers are are mostly young white upper-class guys from San Francisco then most software will get written to reflect the interests and the unconscious assumptions of young white upper-class guys from San Francisco. So it matters great deal whether we make it easier or hader for people outside that demographic to become programmers.
My hypothesis for the day is that can, and should, make programmer culture more exclusive for people from different backgrounds, by doing things like being aware of diffrerent communication styles, not using jargon in a way that locks people out, not shaming people for not knowing a jargon term, etc.
I would love to hear your feedback on this theory, especially from women programmers but also from women who have taken programming courses, worked with programmers, or otherwise experienced programmer culture.
I'd rather punch myself in the balls than write another grad school application essay
OK, I've finally submitted my applications to Stanford and Berkeley.
Both applications required a personal Statement of Purpose and in both cases I procrastinated until literally the last minute before submitting it. Like, I had a week to do the essay in each case and I literally couldn't force myself to write the first sentence until utter panic set in about four hours before the deadline.
This was way worse than my usual procrastination. This was some sort of black-hole time-warp form of mega-procrastination that paralyzed me for days. My usual amount of procrastination is just because I'm a terrible person who fails at basic life skills. But writing grad school application essays is so much worse. My brain rebels against doing it at all. Why is that?
- The stakes are high, so I'm stressed.
- I'm really bad at selling anything, much less myself.
- I'm writing for an audience I know nothing about: a group of people I've never met, judging me by criteria I'll never know, and there's no way to gauge their reaction or get any feedback until it's too late.
- They want me to talk about my research interests and career goals. Uh, I don't know anything about this field I'm trying to enter, that's why I want to go to school for it, so anything I say about research interests or career goals is a wild guess.
- I know how to write a job application: "You should pay me because I have these skills that I can contribute to your company." But for grad school, I'm paying them to get skills I don't have yet. Do I talk about what I can do for them, or what they can do for me, or neither?
Last and most frustrating, they want to hear my plan for my whole life, how everything I've done has led up to Stanford's Energy Resources Engineering program (or whatever), and how going there will make all the difference in my career plan. They want me to fit my life into a tidy narrative.
But honestly? I spent 2000-2003 teaching English in Japan because I thought Japan was cool. Then I got back and thought I wanted to be a computer programmer, so I applied to University of Chicago in 2003. Why the U of C? Because it had a good comp-sci program? No, because it was conveniently located close to my parents' house. Joining Humanized was the result of meeting Aza, which was the result of doing the Shingo Mama dance at an anime club party in early 2004. Coming to California in 2008 was the result of not seeing any other appealing prospects other than following the Humanoids to Mozilla. Staying in California was because I got married to Sushu. And then I didn't want to be a computer programmer anymore, because I realized the software industry has become nothing but a branch of the advertising industry, so I quit Mozilla. Now I'm stuck in California, unemployed, with a set of skills optimized for a career I don't want, looking for something meaningful to do with the remaining years of my life.
It's been an opportunistic random walk the whole time. Any narrative connecting my past education or life experiences to Stanford or Berkeley's programs would be pure retroactive invention.
I remember seeing some interviews with scientists when I was a kid. The scientists would always say things like "I always wanted to be an astronomer since I saw an eclipse when I was 6". Hearing that, I wondered when my eclipse was going to come -- you know, the life-defining event where it suddenly becomes clear what I was put on this earth to do.
But now I suspect that astronomer probably was interested in lots of stuff and could have been good at lots of stuff given the opportunity. What probably happened is he/she just lucked into a sweet gig, then cherry-picked a plausible narrative precursor from all the events in his/her past.
But I don't think graduate school admissions want to hear that. So writing these essays is like pulling my own teeth out because it feels like trying to pass off creative writing about myself as non-fiction. It feels dishonest. My brain rebels against writing shit that I don't believe.
Does everybody secretly feel like this? Or do competent people have life stories that make sense, where they know what they want to do from a young age?
Is all this doubt a sign that I really shouldn't be going back to grad school, after all?
Zelda backtracking as an educational game design principle
Zelda games are always showing you cool stuff just out of your reach. Like, a treasure chest up on the side of a cliff, or blocked by some weird statue, so you can't get to it. If you've played any of these games, you recognize it as a backtrack situation. "Oh, I can't get there yet, but probably later in the game there's an item I can use to get past that obstacle; I'll come back later."
Usually, making the player backtrack would be bad game design: it's boring and wastes time. You might think, if the player needs a hookshot to get that chest, why not put the chest after the hookshot? It's functionally equivalent but with no backtracking involved.
But in Zelda, backtracking is part of a really clever game design. I'd even say it's essential to the fun.
Because showing the player something that they can't get until later motivates them to keep playing. The player thinks "Oh man I can't get that yet... but if I had a hookshot, I could! GOTTA FIND THAT HOOKSHOT!".
Also, it rewards the player for remembering where they saw stuff, for exploring thoroughly and backtracking instead of just always pressing on to the next required plot point. Which reinforces the theme that Zelda games are about exploration.
And when you finally get the hookshot (or whatever item) it's much more exciting because you already know several places to use it. You've been itching to get your hands on it, so when you finally get to play with it you feel like a million bucks.
Then you backtrack through earlier areas collecting goodies with your cool new tool, and the old enemies that used to give you so much trouble are now a breeze, which makes you feel like a badass. Games based on a power progression have to keep upping the challenges, which sometimes makes the player feel like they're barely keeping pace, like running on a treadmill. Giving them a reason to backtrack lets them step off the treadmill and just enjoy all the power they've earned.
So if Zelda-style backtracking is so great for motivating players to keep playing, is there a way to apply that to the Studio Xia Chinese game?
Maybe if we show the player a situation that they can't solve yet using the Chinese that they know (for some meaning of "situation" and "solve"), they'll be motivated to keep playing in order to learn the Chinese they need? And then backtrack and apply their new knowledge to solve that situation?
The important point here is that the new grammar pattern / vocab word is the Hookshot, i.e. it's not the obstacle, it's the way of overcoming the obstacle. Most educational games are crappy because the educational material is mapped onto the gameplay role of "monster" -- defeat this endless series of identical Octorocks with math problems on them, or whatever. You just want them to stop coming. We need to make the educational material feel like tools instead, like power-ups, so the player's excited to get a new one.
But if you need 1,000 words for even basic conversational fluency... well, how do you design a game with 1,000 distinct, interesting power-ups? That I haven't figured out yet.