Tuesday, June 19, 2007

Everybody Knows That

I'm taking a workshop this week about how to teach Python. There are pros and cons to the workshop. Although I have what feels like a number of complaints, on the whole the workshop is good.

The course is giving me a lot of empathy for my students. I didn't understand what the goals of the workshop were or how exactly it was going to run and spent a lot of time yesterday trying to figure out what was going on and what to do. I also felt a certain amount of boredom. It was really hard to sit and focus on reading and programming all day. The little programming exercises were good introductions to the concepts, but they weren't terribly engaging.

I spend a lot of time feeling frustrated and stupid. Even though this is an introduction to Python, there's an assumption that everyone has programmed before, often in multiple languages. I think I'm the only Perl person in the room. My knowledge of Java is introductory and I don't know any other languages. I absolutely trust my ability to learn new things, but statements like "if you think of how to do this in Ada, it will be obvious" are upsetting. Lectures and discussions are in a different language. This morning's lecture was about functions. I knew some of the jargon, like arguments, parameters, and returns. But I had a terrible introduction (previously) to pointers and references, so the whole part of this morning's lecture about how Python passes arguments was significantly over my head.

I read a few weeks ago that a person can read fluently as long as they know 95% of the words - they can pick up 5% through context clues. More than that requires significant time and mental energy for decoding. So this morning's lecture was probably 20% words and concepts that I wasn't already familiar with. Too much to fluently understand, and of course, in speaking, once it is gone, it's gone.

The other part that is frustrating about not understanding is whether it is even important or not. I teach middle school. I strongly believe that I am an expert about how to best teach my kids. But I am not The Expert about what the Most Important concepts in computer science are. Is it crucial to teach students about pointers, stacks, passing by reference vs passing by... whatever the alternative is? If I were teaching driver's ed, is this comparable to teaching kids how to get on the highway (and thus by not teaching it, I limit them to surface streets unless they take a more advanced course later) or is it analogous to teaching them how to change the spark plugs - interesting, useful, required for advanced work, but not actually important on a day-to-day basis in running a car. (Remember, I live in California. We spend a LOT of time on the highway.)

The frustration is about the phrase "oh, everybody knows that!" It makes the part of the everybody who doesn't know that feel bad. I know my students will face it... I think it is inevitable, though it shouldn't be. It isn't just the jerk boys, it is prevalent. I want to remember to hold on to this feeling, so that instead of trying to teach them the things that everybody knows (impossible) I can teach them to persevere when they feel this way (possible).

Wednesday, February 07, 2007

Small Classes and Eye Rolling

There's a hot debate at my school about what connotes small classes. We have about 20 kids per class which I think is fairly small, but turns out not to be small enough to be really proud of "small class size." (I know lots of public school teachers are all rolling their eyes. But we definitely have some public schools around here that have classes of 20, so it doesn't really set us far apart.)

We do have lower teaching requirements than many other schools - I only teach about 85 students at a time.

The thing I love most about not having thousands of students is the opportunity to get to know each kid well. And of course, they have more of an opportunity to get to know me too. I approach my classroom the same way as I approach any presentation, which is with a heavy dose of humiliation and a sense of humor. This is why two moments from yesterday made me laugh.

I was teaching a class about gears, because we're doing robotics. I don't have enough motors for every group to have as many as they'd like, so for the first time I decided to have them learn explicitly about gears so they will be more prepared to build moving robots with fewer motors than wheels. (They're all girls. Most of them haven't spent a lot of time considering how automobiles and other wheeled vehicles work.) Here's the thing: I don't actually know anything about gears. I mean, I can figure it out, but I am not a physicist or an engineer. Why I didn't ask the engineering teacher for help before class is why I approach class with humility.

First class: I'm explaining about gear ratio. It is going pretty well. I'm pointing out the prior knowledge, like "ratios." I show a 16-tooth gear and a 24-tooth gear and explain the ratio and the torque/speed issues. I say, "you can simplify 16:24." Then I realize that while they probably can, I can't. At least not in the moment, in front of the class. Which shows on my face, and I acknowledge. In front of E. Who went to the math contest last week and by far topped everyone else at our school. Who rolls her eyes. Which, if it were any other kid, I would totally put the smackdown on for that kind of disrespect. Here's the thing: E never rolls her eyes. She never speaks out of turn. I am so proud of her! (Also, she's particularly close to me so I'm pretty sure she'd never do it with anyone else.) (Also, I told both her parents when I saw each of them later in the day. They've been concerned because she is very quiet and seems fairly compliant, so they were as pleased as I am. Just wait till she starts doing it more often!)

Second class: I've actually got it that you can simplify 16:24 to 2:3 and I've checked in with the engineering teacher to make sure that I do understand the torque/speed issues the effects of gearing up/down. I'm ready. Whereupon I develop aphasia (a word I never forget, even when it is happening) and can't think of what the things on the outside of the gear are called. So I start the lecture by explaining that gears have pointy out things on the outside. The class asks, "pointy out things?" I turn around to the loudest of them (who I also adore) and accuse, "what would you call them?" "Spikes." "Oh. FINE then." (Yes, that was me with the 'tude. There's a reason my students are not demure and completely respectful and it works for me.) Of course, as the class starts teasing her about "besting the teacher" I look down at the handout I've given them and realize that all the different gears are labeled, "8-tooth gear," "16-tooth gear," etc.

Monday, February 05, 2007

Best semester ever

This has been the best kick-off to seventh grade computer science ever. (I nearly started this post with "finally something has gone RIGHT".) I think it is a combination of factors, but in six years of teaching seventh grade CS, I've truly never had a year go this well ever.

One factor is that for the first time ever, I made a huge effort to jump immediately into CS content. First, I spent almost no time on class norms. I handed out a list of my expectations, pointed out that it is nearly the same as last year, when most of the students had me, and suggested pretty bluntly that since the students are in seventh grade, I assume they know how to behave in a class. I told them the major difference between me and other teachers is that I want them to ask me before they leave the room. I told them my two major rules, which are "no death" and "respect." I also told them there would be a quiz soon about the expectations, so they should look over them. Then we hopped directly into robotics.

* A note. "no death" and "respect" pretty much cover every situation I've come up against and manage to hit a number of my pet peeves as well. The kids are expected to respect me, each other, themselves, and the physical plant. No one is allowed to die or cause the death of anyone or anything else. Anyone behaving in a way that is likely to lead to the breakage of these rules is reprimanded. The example I give them is that they may not tip back in their chairs. This is because there's a high likelihood that they'll fall, crack their heads on the floor, and die. Ergo, not allowed per the "no death" rule. It also works out because my standard response to potential alarm (such as people tripping on cords) is, "don't die."

I have moved my robotics curriculum to be moreteacher-driven over time, but I've discovered that there's a good middle ground. The fastest way to get the students to know the things I want them to know is to guide them directly through discovering them, but they definitely get charged by more time exploring on their own. I almost went too far and had a very frustrating day racing around solving problems. I ended up putting together some handouts with guided activities and letting the kids just go on their own for a couple of days. They're so thrilled with what they're doing! Tomorrow I'll stop and bring them back together so I can make sure they all understand what is going on (I did collect the handouts but won't have time to assess them before tomorrow - possibly the biggest frustration in being overcommitted.)

I haven't figured out what to do for the first project. I'm torn between stealing an idea from another teacher of having the robots follow a course or whether to do the 'dancing robot' idea that I've done before. Either way I'll have to teach them gearing and how to deal with motors tomorrow. A little stressful - I'm not an engineer and am pretty weak on the hardware stuff. But we'll muddle through and at the rate they're going, they'll teach me everything I need to know.