Friday, December 25, 2009

Leaving Some Children Behind?

As seems wont to happen at family gatherings, today I got into a political discussion with some family members. We discussed performance-based pay, and the discussion moved into performance-based pay for teachers.

Personally, I'm a fan of performance-based pay for teachers IF it truly reflects the performance of the individual teacher. If students took a test at the beginning of the term and at the end, and the teacher's performance was based on students' mastery of material, gained during the time they were taught by that teacher, then okay. According to an article by Malcolm Gladwell, "Eric Hanushek, an economist at Stanford, estimates that the students of a very bad teacher will learn, on average, half a year's worth of material in one school year. The students in the class of a very good teacher will learn a year and a half's worth of material." However it is that Hanushek is figuring it out, if we used that measure and it's accurate, that sounds good to me.

The negative reaction I got was mystifying.

First, I was challenged on whether it is possible to actually judge performance. It is true, we don't currently have instruments that judge student performance in all disciplines, only in the ones that are currently part of the "core". However, tests could be developed that would measure what we say we're teaching. Standardized tests that test the curriculum aren't always bad - teachers should be teaching the curriculum, and if they shouldn't then the curriculum should be changed. (I'm not discussing school-based bonuses where all teachers are paid based on student performance on core standardized tests, I'm arguing individual performance.)

The example given? PE. Apparently it's impossible to test how far or fast a student can run at the beginning of the term and test it again at the end of the term to see if there's a difference. Or if it's possible then it isn't fair because, apparently, motivating students to perform or otherwise getting them to do the curriculum is more than a teacher should be responsible for.

I suggested that good teachers are able to get their students to learn the material. Period. That's what makes someone a good teacher.

I was told that I'm unrealistic, because I work in a private school. I don't understand what it's like to have a classroom of 40 kids (largely true) who have varying ability and interest (untrue). It's not possible to support the low kids and help them rise while at the same time boosting the ones who are already above grade level. (You know, like by differentiating instruction and assignments.) A teacher should not be held equally responsible for a kid who is low and truly unable to grasp the material and for one who is low but highly capable.

I am venting here, because Christmas is so not the time to get into a huge fight with a close family member who is being... um... argumentative, but to say I was dismayed is an understatement.

I kept thinking about a master teacher I know. The thing that makes this teacher great is that he believes that every student can master the material. For some kids it's easy, for others it's a challenge, but he knows that every kid can do it. He doesn't teach easy stuff either, and I've never seen him dumb down material - he has high expectations. But he is willing to go the extra mile, help students who need it, and believe in them. He lives growth mindset.

I don't think teachers should be held responsible for students' prior knowledge nor should they be held responsible for what happens to a kid outside of school, and both those things do impact the student who shows up in class. But a teacher should be held responsible for how much knowledge they impart to students in their class. All students, not just the polite ones, not just the likeable ones, not just the ones who are at grade level. It does a disservice to the rest to ignore them and refuse to be responsible for teaching them too. Why would a teacher be okay with leaving some children behind?

Sunday, November 22, 2009

Not as hard as you think

My students are working on a project right now, where they have to digitize three-dimensional objects by specifying points in an x,y,z format. They then have to describe quads which have four points.

This is really good for the students. It's part of our unit on digitizing data, so it's good for them to understand how real-life objects get mapped into and modeled by the computer. But even better, it's good for them to practice spacial skills. Spacial skills are the one area (of math) where girls really do fall behind boys in brain development, so practicing is good for their brains. Yay for neurogenesis!

Not surprisingly, many of them find this task difficult. The task is unlike most they've performed before, so understanding it is a challenge. Then keeping the x, y, and z dimensions straight is a challenge. Keeping track of the points is a challenge, especially for the ones with messy handwriting and other organizational challenges. And the class has been battered by swine flu and other absences; even with me posting video of the classes they miss, it isn't the same as being there.

However, I had two conversations last week that made me laugh - and made me wonder how often students psych themselves out about tasks they shouldn't be so worried about. I explained the task to two students who had been absent and were confused. I had them practice creating points and quads so I would be sure they understood what to do. The first one looked at me and said, "That's ALL?" She'd expected it to be so much harder. I think it was harder when I first introduced it a couple of weeks ago, but even with the absence, her brain is more ready now.

The second conversation was more troublesome. It was with a smart student who is insecure about her knowledge and occasionally very disorganized. I went through the material and she showed me she could do the task. We talked for a couple of minutes about the assignment. Then she said, "but I still don't get it." I asked what she didn't get, and she described general confusion with the task.
I asked, "do you know how to figure out a point like you did a couple of minutes ago?"
"Yes"
"Do you understand how to make a quad out of four points like you did a couple of minutes ago?"
"Yes"
"That's it. That's all there is to the assignment. Get the points, make the quads, and type it into the computer."
"But I'm confused!"

At that point the light bulb went on. So I looked at her and said, "No, you're not. You think this is supposed to be hard. So you're worried that you don't understand it because it doesn't seem as hard as you think it's supposed to be. Stop worrying and get to work."

Thursday, November 19, 2009

Selling classroom materials

Interesting followup to a Times article about teachers selling classroom materials.

I fall squarely on the side of the capitalist teachers. As long as they're not violating their contracts, I don't think they have any moral obligation to go unpaid for their work.

I have written curriculum for pay before, and I consider it to be owned by whoever paid for it - be it via contract for an outside group or through a summer curriculum development grant at my school. Curriculum I develop on my own for use in my classes is a different story.

I can see an argument that developing curriculum is a part of a teachers' job, akin to being in the classroom teaching and assessing student work. In my case, my administration has made it clear that they don't really care if I change the curriculum; if I want to do so, it's on me to do it on my own time. Work I do on my own time appears to be my own, not of shared ownership with my employer. This is complex and revolves around a reasonable workday, summers off, and all kinds of "what is a teachers' own time?" questions. Hopefully few reasonable people truly believe that every moment of a teacher's life from September to June is owned by the school.

Like copyright protection, if capitalism is leading to improved curriculum, then that's good. If making money on it is motivational and teachers refuse to write new curriculum and stick with the crummy old thing just because it's easy, that's not good for the students.

I should note here that while I have substantially revised my curriculum this year, I have no plans to sell it. I simply think it's acceptable for teachers to do so.

Tuesday, November 03, 2009

Being Lazy

This week I'm teaching in a camp-like setting. I have ten students learning game programming, three hours per day. All of them chose to be here. I've never taught Scratch or game programming before.

After a first quarter that went at breakneck speed and after finally turning in grades midway through last week, I'm really tired. I also have a towering list of projects to finish. So while I'd like to give my all to teaching game programming, there's just not a lot of 'all' to give. Also, it isn't assessed and I'd like to save more of my all for my real classes.

So I'm being a lazy teacher. I always tell my students that the best programmers are lazy programmers - they look for ways to program that don't require a lot of effort. Thus, things like efficiency are important. Recursion is just an excuse to be lazy - do the least work possible and hand off the rest.

In this case, I gave them an overview of Scratch yesterday in about 90 minutes and I've handed them lots of resources to use in making their games (like the Scratch reference guide and Scratch cards). They know what games are, they have lots of ideas, and mostly what I'm doing is getting out of their way.

It's fascinating to watch them. First, they hate listening to me, so me not doing a lot of direct teaching is working for all of us very nicely. They're all engaged in what they're doing. And their styles are completely different. One is going methodically through all the handouts, following instructions and listening. One couldn't pay attention for the whole 90 minutes yesterday - by 10 minutes in she was taking the game and pushing it to the limits of her imagination. One student couldn't wait to get started on the game she'd thought up (Halo. For Scratch. By a girl.) Another one is spending huge amounts of time working with sounds.

I love camp because I don't care much about the outcomes. No standards, just lots of time for the kids to explore and learn what they like. And they're learning tons, all of it individualized. It isn't a good replacement for regular school, but it's a pretty nice change from the daily grind. And I'm glad to be reminded that when I'm lazy, the students rise to the challenge.

Friday, October 23, 2009

Success

It's been a long couple of weeks; we're definitely into the fall weather with the rain and the gray and the outrageous behavior and the cranky. (That would be outrageous behavior on the part of the students, with me playing the part of Cranky, but you probably knew that.)

Two things happened in the last couple of days that made me feel great.

One, it feels good to know where to find what you need. A friend of mine is doing some teacher professional development. He's been looking for examples of great technology use across the curriculum, specifically looking for a high return on the time invested. I brainstormed a few ideas with him, but it's been a couple of years since I've really thought about this topic, so while I still find it fun to think about, I don't have a lot of great fresh ideas.

Last night I decided to invest an hour to see what I could find. I started with twitter, and thankfully, @dougpete had just posted the link to his daily links blog post. Even if I didn't already adore Doug, he's now my short-term personal hero because his blog, Off The Record, is a treasure trove of resources. I was able to compile a bunch of ideas for my friends just by stealing from Doug. (Thanks Doug!)

Incidentally, the very, very best thing I found was the Learning Science community. WOW. It is a collection - with annotation - of great resources for learning science. From tools like a huge stopwatch applet to online, video-enhanced games about stoichiometry to an interactive model ripple pool, it is awesome.

Second, it is fun to feel smart. Yesterday I briefly hosted a woman from Citizen Schools who wanted to know more about my school. The way it worked out, she observed part of my class rather than just getting the tour-and-discussion. The kids are working on digitizing color pictures, so she asked about it. I ended up explaining digitizing, run-length encoding, compression, and number systems to her. I feel kind of bad, because I should have been giving her an overview of what the school is about, which is not really run-length encoding, as you might guess. But I surprised myself with how much computer science I know. (Stop laughing.) It was fun. I think it was even fun for her.

Tuesday, August 25, 2009

Perception

Atul Gawande's article, "The Itch" is an interesting look at the mechanism of itching. My favorite part, though, is this:
A new scientific understanding of perception has emerged in the past few decades, and it has overturned classical, centuries-long beliefs about how our brains work—though it has apparently not penetrated the medical world yet. The old understanding of perception is what neuroscientists call “the naïve view,” and it is the view that most people, in or out of medicine, still have. We’re inclined to think that people normally perceive things in the world directly. We believe that the hardness of a rock, the coldness of an ice cube, the itchiness of a sweater are picked up by our nerve endings, transmitted through the spinal cord like a message through a wire, and decoded by the brain.
In a 1710 “Treatise Concerning the Principles of Human Knowledge,” the Irish philosopher George Berkeley objected to this view. We do not know the world of objects, he argued; we know only our mental ideas of objects. “Light and colours, heat and cold, extension and figures—in a word, the things we see and feel—what are they but so many sensations, notions, ideas?” Indeed, he concluded, the objects of the world are likely just inventions of the mind...
Although the article goes on to make it clear that this isn't complete, doesn't it sound like perception is just based on mental models?

I've been thinking a lot about simulations lately, and this article makes it seem like even fairly poor simulations could be surprisingly realistic if they abstract the right things or if people are able to get past the perception that what they're experiencing is a simulation:
The images in our mind are extraordinarily rich. We can tell if something is liquid or solid, heavy or light, dead or alive. But the information we work from is poor—a distorted, two-dimensional transmission with entire spots missing. So the mind fills in most of the picture. You can get a sense of this from brain-anatomy studies. If visual sensations were primarily received rather than constructed by the brain, you’d expect that most of the fibres going to the brain’s primary visual cortex would come from the retina. Instead, scientists have found that only twenty per cent do; eighty per cent come downward from regions of the brain governing functions like memory. Richard Gregory, a prominent British neuropsychologist, estimates that visual perception is more than ninety per cent memory and less than ten per cent sensory nerve signals...
The account of perception that’s starting to emerge is what we might call the “brain’s best guess” theory of perception: perception is the brain’s best guess about what is happening in the outside world. The mind integrates scattered, weak, rudimentary signals from a variety of sensory channels, information from past experiences, and hard-wired processes, and produces a sensory experience full of brain-provided color, sound, texture, and meaning. We see a friendly yellow Labrador bounding behind a picket fence not because that is the transmission we receive but because this is the perception our weaver-brain assembles as its best hypothesis of what is out there from the slivers of information we get. Perception is inference.
The article goes on to talk about the use of mirrors for phantom limb syndrome and other more interesting things. The idea is to reset the brain, so it stops thinking it is getting sensations that it isn't.

As always, I am thrilled when (a) computer science shows up in real life and (b) I guess right:
Researchers at the University of Manchester, in England, have gone a step beyond mirrors and fashioned an immersive virtual-reality system for treating patients with phantom-limb pain. Detectors transpose movement of real limbs into a virtual world where patients feel they are actually moving, stretching, even playing a ballgame. So far, five patients have tried the system, and they have all experienced a reduction in pain. Whether those results will last has yet to be established. But the approach raises the possibility of designing similar systems to help patients with other sensor syndromes. How, one wonders, would someone with chronic back pain fare in a virtual world? The Manchester study suggests that there may be many ways to fight our phantoms.
I wish the article was accessible to my students; it would be interesting to talk to them about perception and simulation. I might still try, or use the article for differentiation purposes.

Saturday, August 08, 2009

Relinquishing tight control

The link to "Death to the Syllabus" is going around the twitterverse. I must admit that the first third of the essay did not fully engage me; though I'm not sure why I persevered to read the whole thing, I'm glad I did because the last third was excellent enough to comment on.

Mano Singham makes a case that the traditional college syllabus, full of specific rules and consequences for tiny infractions, is a Very Bad Idea. "The implicit message of the modern course syllabus is that the student will not do anything unless bribed by grades or forced by threats." He goes on to mention,
There is a vast research literature on the topic of motivation to learn, and one finding screams out loud and clear: controlling environments have been shown consistently to reduce people’s interest in whatever they are doing, even when they are doing things that would be highly motivating in other contexts.
He laments that there is a negative cycle between students and teachers, where teachers do not feel comfortable making judgements about students' performance and behavior, where they instead create new rules to handle each situation. He mentions that making individual judgement calls is time-consuming and that in our legalistic society, teachers may feel defensive about making individualized decisions.

In the final section, he describes an experiment he's been performing in his courses for the past several years, where he gives a very open-ended syllabus, develops a classroom culture, then asks the students to create their own policies. He finds that students entrust his judgement and for the most part decline to make many specific rules.

It should not be surprising that I feel validated and encouraged by this essay. Without grades at my school, we rely largely on rubric scoring. (I recently discovered that the word "rubric" can have many meanings, what I'm thinking of is pictured here.) My rubrics tend to be vague, when I even make them at all. I do give students the list of criteria I'm looking at - algorithmic complexity, creativity, good documentation, whatever. But I hate rubrics that are overly specific, mostly because I hate grading that way. An example:

On our website rubric, one of the things we look for is good writing. Some of that is web-appropriate writing, like shortish paragraphs and clear sentences. Some of it is just plain-old good writing: correct spelling, good grammar, that kind of thing. Example rubrics are "specific." 0-1 misspellings will get you an A. 2-3 misspellings will get you a B. 4-5 a C, and so forth. Can I tell you how interested I am in spending quality time hunting down every misspelled word in a website and counting them? For every student? And then there's a whole list of other criteria to look for. I have better things to do with my time than count misspelled words. Especially since I'll then have to cross-reference with the list of kids who have accommodations for learning differences and can't be expected to spell correctly. And the kids who write more - which usually means a better project - will be penalized because they have more opportunities for misspellings. (Oh look, I got started on this. Aren't you lucky?)

Instead of putting specific thresholds of how many misspelled words, I tell the kids that spelling and grammar count, and if the spelling and grammar are bad enough to interfere with the quality of the project, they get dinged. But the rubric looks like, "Excellent grammar and spelling", "Good grammar and spelling", "Poor grammar and spelling", not specific numbers.

On the one hand, I understand that the common thinking is that students want specific guidelines. And yet, so much of life is in vague judgements. The kids know what excellent grammar looks like. They know what poor grammar looks like. They know how to get from poor to good (find an editor, use software tools...) and I don't think that any of our lives are enhanced by suggesting that in a whole website the difference between an A project and a B project is one misspelled word.

I think that by being vague in this way, and then being willing to engage in discussions with the students if they disagree with our assessments, we help students develop their own judgements. They should have a sense of what good grammar looks like, one they can apply without a teacher telling them if they're right. (Oh right, I'm a computer science teacher, not an English teacher. They should have a sense of what a well-documented, neatly coded program looks like, how about that?) Being open to the discussion is an important corollary - students should be able to question, teachers should have reasons, and teachers should be open to being convinced, though not too open.

The place where I'm less secure, but unlikely to change, is that I - like Mano Singham, I think - have a holistic view of assessment. I know teachers who take the scores on the parts of the rubric and essentially average them into a score for the whole project. I don't do that. You can do very well on a bunch of parts of a project and still not have it gel into a cohesive excellent project. You can have a bunch of mediocre parts and still make something amazing, much greater than the parts. In life, we're graded on overall impression, not by whether we had two misspellings or three.

Thursday, August 06, 2009

Define the problem

The ever-popular Seth Godin has a post about "shaving the bear", which he uses as a memorable analogy for the idea of solving the symptoms of a problem rather than addressing the root cause of the problem. (It's based on a PSA about shaving bears so they wouldn't overheat due to global warming.)

Possibly the best lesson I ever learned from the best manager I ever had was about articulating the problem, not the solution you want. (We'll call the manager TZ.) People tend to ask for the solution they want as though not having that solution is the problem. Sometimes that's true, but more often there are many solutions to the actual problem, and by articulating the true problem, many solutions become possible.

It came up because of this situation: TZ was working an event. A small group approached him and asked if he knew where a janitor was. The answer was no, but TZ stopped them and said, "why do you need a janitor?" Because they were out of toilet paper in the men's room, and a janitor would know where it was stored. TZ didn't know where a janitor could be found, but he turned to a nearby woman and asked if she could go into the women's room and bring a roll or two of toilet paper to one of the men and he could take it into the men's room. Actual problem solved. Requested solution unneeded.

The most memorable time I've applied it was in the process that resulted in my school becoming a 1:1 laptop school. It began with the teachers asking for a computer lab. The thing is, we already had a computer lab, but it was full all the time due to space constraints. Putting in another lab would only provide access to teachers who happened to already teach in that room - the space constraints would still be there. What teachers really wanted was more access to computing, access when they wanted it to enhance their teaching. A lab wasn't the best solution to that problem. A 1:1 laptop program, though oddly controversial, solve that and other problems, like inequitable home access. (Why did I find the controversy odd? We're in silicon valley, we'd be solving problems, and it wasn't going to cost any more than the previous solution.)

The first step of both the engineering design process and the scientific method are about defining the problem. Isn't it fun when life lessons are embedded in science? I wonder if it helps kids internalize lessons when we can show the same idea in many domains.

Friday, July 24, 2009

Lost in syntax part 2 (or: OMG I'm going to cry in front of all these people)

So as I said, Tuesday afternoon and Wednesday were okay. I was kind of learning some things, but I was also getting frustrated because I didn’t feel like I understood what was going on. I take excellent, copious notes, but I felt like I was being given plug-and-chug code. They’d give code examples in lecture, pointing at parts and saying, “this part does this thing” and then we’d go to the lab and face a very similar question. Simple substitution, figure out what operator to put where, and Bob’s your uncle, you’ve got working code. I kept trying to say (mostly to my peers, not to the teacher) that I didn’t feel like I understood the big picture, but I didn’t know what to ask and I had working code, so what’s the problem? I did ask the teacher some questions, but they were usually pretty specific and definitely not of the “I don’t think I understand anything that’s going on” variety. Especially since I clearly DID understand some of what was going on, I just couldn’t generalize it. I felt like I didn’t ‘get it’ but other than saying that I felt like I had no context, I couldn’t articulate what I meant.

OBJECT LESSON 5: Your students won’t necessarily come to you for help, even when they should.

OBJECT LESSON 6: Some of your students are inductive learners and some are deductive learners. It’s a good idea to try to present material in multiple ways, since some of them probably won’t understand what you’re talking about the first way you say it.

Thursday morning, we started working on stuff where a lot of people in the room had significant prior experience, while I have almost none. So we went from “you’re all experienced programmers” to “you all know this” when for me, that was completely false. Now, I wasn’t alone, and some people were asking questions, but mostly I just wrote everything down and figured when I got to lab, I could plug-and-chug the code like I’d been doing, since that seemed to be how this all works.

The key with plug-and-chug is that you either need some idea of what you’re plugging or you have to have truly perfect notes. I had neither. I had typos, I had things I’d missed copying. Syntax error after error after error, none of which mean anything to me. Also, the TAs for the course were largely busy, and instead of needing an occasional pointer, I needed someone to sit next to me and debug my code. Even going and asking my friend only made things worse – he was really nice about explaining it, but the overwhelm had shut me down again.

Indeed, I figured out much later that I actually DO have some experience with what we were being asked to do, but in my panic, I forgot all of it, or that I even should know it.

OBJECT LESSON 7: Just because your students have successfully done something in the past doesn’t mean they’re going to be able to do it right now, without extra support. (Note: sometimes they’re being lazy – in the bad way – so choose your response with care.)

Example: I talked to the parents of an 8-month-old who recently learned to sit up. The problem is, when she learned to sit up, she forgot that she knew how to lie down, so she would sit up, want to not sit up anymore, and start wailing because she didn’t know what else to do. They’re hoping she re-learns how to lie down again before they lose their minds from lack of sleep.

After lunch on Thursday, my friend and I ended up in some conversation about the material and my understanding or lack thereof. Suffice it to say that he finally figured out that I had absolutely no conceptual understanding of the material. The conversation was mockable. He wanted me to describe linguistically how to solve some of the programs I’d coded. I would say, “well, in [language]…” and he’d respond, “not in [language]. How would you DO it?” I had no idea how to describe what I’d programmed.

OBJECT LESSON 8: Just because your students can do something, it doesn’t mean they understand what they’re doing. I’ve had lots of students say, “I don’t understand” and my response was, “but look, you can DO it!” Doing isn’t the important part, understanding is. Doing is important in the workplace. Understanding is important in school. If they understand, then likely they’ll be able to do at some point.

In 15 minutes, my friend explained the big picture, the most fundamental concept relating to everything we’d learned, using quasi-programming examples. It was concrete, it was clear, and I got it.

OBJECT LESSON 9: It’s important to explain the big picture and talk about why some of the language constructs are the way they are. Hopefully you’ve chosen the language you have because it does the things you’re trying to do well. Why is that? How should students be thinking about the problems they’re trying to solve with their code? What’s the context for the code?

My friend, consummate teacher he is, kept quizzing me for the rest of the workshop, even on things that were hard, and once I got it, I was able to keep getting it. I started going back to re-do the exercises, understanding what’s happening without fear. I still probably won’t switch languages, but I’m willing to try some things and continue giving it a chance.

My friend would want me to give you the final object lesson:

OBJECT LESSON 10: Stop thinking it’s hard. My friend is convinced that a major barrier to my understanding is I’d been told how hard these concepts are and what a hard time I’d have understanding them. He’s convinced that my fear got in the way of learning. How often do we transmit to students that things are hard and they’ll probably have trouble? Self-fulfilling prophecies can be profound barriers to learning.

One thing I’m going to do is describe this experience to my students at the beginning of the year. I know that some of them get overwhelmed like I did, I know some of them end up feeling much more stupid than they are, and I suspect some of them end up feeling bad about CS when really they’re just not ready or I’m not teaching it the right way to them. If nothing else, I hope that telling them this story will let them know how much empathy I have for them.

Tuesday, July 21, 2009

Lost in syntax part 1 (or: OMG I'm going to cry in front of all these people)

I’ve spent the week at a workshop, learning a programming language. It’s been quite an instructive experience, full of object lessons on what computer science is like for some of my students. (I want to note that the workshop teachers and organizers were lovely and in general I do not blame them for what happened.)

The first day was great. This language has some terrific features, particularly for thinking about math. I could see how it would be a better fit for certain applications than anything else I’ve seen. I could feel my brain starting to think in interesting new ways that will make me a better programmer in any language. I felt really optimistic.

The first night, I got in a huge fight with my husband. This is relevant because it meant that I started Tuesday in a not-good place emotionally, which had nothing to do with the workshop. Think your student’s personal lives don’t affect their performance in your class? HA.

OBJECT LESSON 1: Students bring their lives into the room with them. Their experience can vary dramatically from day to day for reasons that have nothing to do with you, but will affect their performance and behavior when they’re with you.

Tuesday started okay. The material was getting more complex, but I was keeping up. There was a little recursion, but they don’t call it recursion, the instructor just said “you’re experienced programmers, you know what that is” and I wondered what it was, until someone else called it recursion and I could see it. Oh, okay. I’ve never actually programmed recursion, but I was still feeling like I could figure it out.

Then she used a construct she had used the day before, in a way that the mental model I’d created of what that construct meant didn’t work. And everyone nodded. And I didn’t know what it meant. And for a minute or two, that was okay, because hey, I was sure I could figure that out too. Only she kept using it. First, I was distracted, because I kept trying to figure out what the code meant. Second, you can’t do recursion without this thing. And I was still not figuring out what it means. I started realizing that if her use of this thing makes sense (and I trust it does) and I can’t fit it into my mental model of this construct, then my mental model must be wrong. Which means I didn’t actually understand anything yesterday, and in fact haven’t understood anything after the first hour.

At which point my brain completely shut down. Oh, I kept taking notes, in between trying hard not to cry, because oh my god, I really am as dumb as I have ever feared.

OBJECT LESSON 2: A student who gets upset stops thinking. The more upset they are, the less thinking they can do. While they’re coping with all these overwhelming emotions, if you’re moving on, they might as well be absent.

THOUGHT EXERCISE 1: On students walking out of class. This is only the second time in my life that I’ve almost walked out of a class because what was happening in the room was so terrible for me that I couldn’t cope. I don’t leave because I find it unacceptably rude to the lecturer. I know some teachers who disagree and freely allow students to come and go when they need a break.

At the break I went and asked the teacher about my original point of confusion, and we worked out an explanation I could accept. Why didn’t I ask during the lecture? Because everyone else seemed to get it and no one else was asking any questions. I usually ask even in those situations, but it was compounded by the fact that she kept telling us how experienced we were, and I kept feeling like a fraud because I don’t consider myself an experienced programmer at all. (Can you say “imposter syndrome”?)

OBJECT LESSON 3: Just because many students appear to understand the material, doesn’t mean they all do. Make sure your class culture encourages student questions and not just student answers. Imagine how much faster I would have recovered if I had just asked what that word meant right away.

OBJECT LESSON 4: What you think is a complement (“you’re an experienced programmer”) isn’t necessarily heard positively. The best complements are direct, specific, and personal. In this case, I think she was using “you’re experienced programmers” to mean “I’m not going to teach you something important here” which would have been easier for me to hear.

At lunch, I spent a while talking to a friend who further clarified the material, while carefully standing far enough away that if I started crying he wouldn’t get wet. (It isn’t an object lesson, but if a colleague is on the verge of tears, it is okay to give them a hug. Or maybe that’s only true at the hippy-dippy school where I work, but I’ve literally provided a shoulder to cry on more than once.)

By the end of lunch, I felt better. Tuesday afternoon and Wednesday went back to being okay. I felt pretty confident that the storm had passed, though things weren’t quite sunny yet.

In fact, Wednesday night I went out to dinner with a long-time friend who has nothing to do with CS Ed, we spent four hours catching up and gossiping, and I felt so happy and glad to be out of thinking about CS for a while. I was sure Thursday was going to be the opposite of Tuesday. But that is fodder for a second post...

Saturday, July 18, 2009

Subvert the dominant paradigm

Earlier this week, Alfred Thompson posed the question, "what would you do if the lights (and power) went out in your computer science classroom?" At nearly the same time, I was interviewed about "computer science tools" as part of someone's dissertation research. One of the questions was, "if you had to choose only one tool to work with and couldn't have any others, which would you choose?"

Both Robb Cutler and Chad Clites have the best answer: use pencil and paper.

I am saddened to admit this was not my first answer.

The dominant paradigm of computing education is to teach technology. In the APCS course, are we really teaching the major concepts of computer science? Or are we really teaching Java, and using some of those concepts along the way? It's endemic in the way we talk about our curriculum. We teach "programming with Alice" or "simulations with Flash". If we're teaching simulation-building, why does it matter what tool we use? But we get caught up in the tools, partly because we tend to love them, and the concepts and ideas become, at best, co-equal, and more often subsumed in importance.

The reality is that my current curriculum would not move forward without power. I've faced this problem repeatedly over the last three years and it hasn't been pretty. Last year I spent the first week of school without access to my classroom, having to teach outside. So instead of starting the "real" curriculum (animation with Flash), I did CS Unplugged activities. Sure, I think my students got something out of learning about sorting and searching. But the reality is that the lessons were totally disconnected from the curriculum. The ideas weren't reinforced throughout the year, the concepts weren't connected to anything else they learned, and I suspect that few of them remember anything about it.

We need a new kind of curriculum, that is concept-centered, more like math and science curricula, that sends implicit and explicit messages to the students about what is important, and where what is important is the concepts, not the technology. In the same way that experiments are the implementation of science, but what we teach is scientific thinking and important concepts and knowledge, we need to have programming and computing be the implementation of computer science, but teach computational thinking and important concepts and knowledge. The computer needs to be a tool, not the center of the program.

Wednesday, June 24, 2009

Turn homework on its head

I am toying with the idea of turning homework on its head in the next year or two. What if students did homework at school and listened to lectures at home?

DougPete at Off the Record wrote about students analyzing their wiki usage trends. He asks
why not turn the tables around. Issue students a textbook if you must, on the first day of school and have them take it home and leave it there. Change the day so that homework is done at school and students do their reading for the next day at home. In terms of technology, that way you could even the playing field with everyone having access to the same level of access. More importantly, the students would have access to each other for collaboration and for work.
For a variety of reasons, I don't use a textbook (and sometime I'll write about them. I'm sure you're breathlessly awaiting that post). I do spend an unfortunate amount of time talking to the students, though. And repeating myself, when a student (a) stopped paying attention (b) interrupted me so I lost my train of thought (c) was absent.

Last year, I linked to a bunch of Atomic Learning screencasts for Flash. I still taught my students what I wanted them to know, but the screencasts were there to remind them and to help students who missed class.

My students did not love Atomic Learning. They couldn't articulate why, but I have a couple of theories:
  1. They're used to my voice and my style, and they didn't like being taught by someone else
  2. When I teach them, I reinforce only the things I want them to know. The Atomic Learning screencasts where more hit and miss. They include information I consider irrelevant and don't always include information I consider important
  3. They found them dry and boring, because it's very hard to be as enthusiastic while recording a screencast as it is in person, and a person provides extra visuals to overcome the periods where they're not talking because they're concentrating on clicking or whatever.
  4. Some topics aren't covered by Atomic Learning at all. There's no Flash section. Many of the Flash topics I cover are too advanced.
Now, #1 is the kind of thing that makes me say, "get over it" except that if the kids aren't watching the videos, then we're not achieving any goals. And #3 would affect me just as much as anyone else. But #4, #2 and #1 combine to be pretty compelling. Especially since, as mentioned, most of the kids aren't watching the videos.

We are a 1:1 laptop school and my students have the internet available outside of school. If they don't have it at home (and nearly all do) they can stay for "homework club" and do internet-needed homework then.

So I am thinking of either recording my lectures live this year or creating screencasts of my lessons. I will then make watching the screencasts the required homework. Assignments will be completed in class rather than as homework, meaning that students will have me available to help them when they run into problems, rather than toiling away at home. It's a lot of work up front, but I think the payoff could be huge.

Wednesday, June 03, 2009

Some of my favorite rants

We didn't have enough caffeinated coffee in the house, so we had half caf. I can tell, and not in the good way. Instead of focusing on grading, I'm surfing the web. As soon as I post this, I'm going to make more coffee (I'm at work now, I can do that) and go back to grading. Really.

In the meantime, I will leave you with my two current favorite end-of-year rants. Siobhan Curious lists 10 reasons I hate grading your assignment and Walter's generic progress report is a perennial favorite. (Well, a biennial favorite, anyway.)

Ugh. I really don't want to do the grading.

Friday, May 29, 2009

Online economy and perceived value

Last week was my last week with my students. As you might imagine, I've worked very hard to grade as much work as possible before they go. I am also responsible for our school schedule and have been working VERY hard for the past two weeks trying to make next year's schedule work. (Although we're keeping substantially the same schedule, we have some staffing changes that necessitate some deft maneuvering.)

With all this stress, I've found myself needing to blow off steam. Fortunately, @mml suggested the game Plants vs. Zombies, so I downloaded it and ran through the trial hour in a couple of days. It costs $20 to buy. This presented a dilemma. $20 felt like a lot to spend on a game; I always think carefully before I do, though I've spent that much on downloaded games before.

Then I went to the grocery store and spent $25 on odds and ends without thinking twice about it. And wondered, why is it that $25 at the grocery or a restaurant is no big deal, when $20 on a computer game or movie at the theatre seems like a lot? Now, this is the place where the psychologists would start talking about perceived value, and of course they'd be right. But instead, I'm going to marvel at the synchronicity that Ian Bogost was thinking about the exact same thing.

His article is really good, so you should go read it.

Friday, May 22, 2009

Just because you're not paranoid doesn't mean they're out to get you

I have a student, S, who is, shall we say, "a handful". I really like her, but she is Difficult with a capital D.

Example: we've had a three-year power struggle over whether or not she is going to spend every class tipped back in her chair. This is a pet peeve of mine and the rule is "four on the floor." She will keep her feet and two chair legs on the floor and tell me "that IS four on the floor!" We finally resolved the power struggle when I began bribing her to sit up straight. I told her I'd give her a cookie if she behaved one day, and she did. I have inconsistently rewarded good behavior since then and what do you know? She CAN behave.

I was reminiscing today that she reminds me of another student, Lydia. Lydia and Evelyn were best friends and were incredibly disruptive. In seventh grade, they got on a barking kick. They would randomly and frequently bark like dogs. They could not be enticed to stop. (I was a new teacher; I didn't have a lot of tricks to try.) They mostly only did it in my class. Every period with them was a trial.

Finally, I had a talk with Lydia and the guidance counselor had a talk with Evelyn, where we told them how awful it was. They were flabbergasted. Truly shocked. I said, "Lydia, I yell at you guys to stop all the time!" She told me, "but we love joking around with you! You never get mad, you just laugh." I told her, "I hate it. I get so frustrated. Every day when I leave your class, I'm in a terrible mood. It isn't funny to me." They stopped after that.

Lydia is my touchstone to not take student behavior personally. Even when I think they couldn't possibly be unaware how irritating they are, chances are much better that they have no idea than that they do. (Disclaimer: this may not be true in other schools.) I can't think of one time when I've tracked down even truly shocking behavior and had the kid have any malicious intent.

It's one of the reasons I love kids - they're so self-absorbed and it's completely developmentally appropriate. If adults behaved this way, I would either be mad because it was intentional or I would be mad because they ought to predict the impact of their behavior. With kids, once I stop being mad, I just laugh. (Barking? Really?) I guess Lydia had a point.

Thursday, May 21, 2009

Reflection

Today I am giving the students a "final quiz". It is not comprehensive, as it covers only programming we've done this semester. Their final project was due on Tuesday; we've been working on it since February.

This semester there have been a chorus of complaints about how awful Python is. I have a number of students who are very far behind - like the one I made stay in at lunch on Tuesday and got her caught up to the end of March. They all miss Flash - which I think is funny, since they hated Flash while we were doing it.

At the end of the quiz, I asked them how the quiz was. The quiz this semester was on paper; last semester it was online. They thought the quiz was straightforward, which was my goal - no trick questions. They told me they thought it was easier because it was on paper instead of online, which I thought was interesting. They're much more practiced at taking quizzes and tests on paper than online, so navigating how to answer the computerized questions was a little challenge. Finally, by a two-to-one margin, they preferred programming in python to working with Flash. They found it much more straightforward.

I also asked them to do a final reflection on "Why study computer science?" They answered the same question at the beginning of the year, so it will be interesting to see how their answers change.

Sunday, April 19, 2009

Stories from the Week

1. A student has not handed in the past several assignments. (The beauty/horror of this statement is that it is completely anonymous because so many students are in the same boat.) I let the parents know. The parents e-mail me back and say, "she has uploaded them." I check. She has not uploaded them to the assignment spaces in Moodle for my class. I e-mail the parents back and let them know. They respond "perhaps there is some misunderstanding. She told us she finished the work. Can you show her how to turn the work in correctly?" I write back and say, "yes, I can show her how to turn work in, but we have used the same process all year and she was able to turn work in as recently as five weeks ago, when she last turned in anything."

2. I had a doctor's appointment on Friday, with a doctor whose office annoys me. They are not as flexible as I would like and frequently want me to come in when I need to be teaching. (There are many examples and yes, I realize that their appointment schedule does not revolve around my personal needs.) I convince another teacher to sub. When my sub calls in sick and needs me to cover her classes, I do so and find a substitute sub to cover for both of us. During the appointment, the doctor says, "I'll be quick so you can get back to school." I responded, "no need, my class is going on right now and it's only 50 minutes long." She replied, "oh, so did you just reschedule it?" Seriously? I now understand why they're inflexible if they really don't understand that you can't reschedule eighth grade classes.

3. I got to hang out on Friday night with two friends who are also teachers, and who I haven't seen in a year. Swapping war stories is always entertaining. I miss them and wish it could conspire that we could see each other more frequently.

Thursday, March 26, 2009

Masters degree

Jane (of See Jane Compute) and ScienceWoman have both posted stories about pursuing masters degrees that kind of make my hair stand on end. Especially Jane's. I don't have a terrible advisor story, but I thought I'd post about my masters anyway.

My masters experience was just weird. I thought about getting a masters for a long time. After I got two bachelors, I started working for the university. Eventually I moved out of the $7/hour job and into one with benefits, including fee remission. I couldn't decide between nutrition or information science, and for a long time it didn't matter since I was busy planning a wedding.

The week after I got back from my honeymoon, I was at lunch with a group. Our best man announced, "my class starts tonight. I don't want to take it alone. Who will go with me?" I wasn't doing anything that night, so I signed up. It was kind of boring, but kind of fun. I learned about flowcharting the operations of a hamburger stand. It was relevant to my work. The next semester, I took another class with my friend. I couldn't get any more credit after that if I didn't apply to the information science program, so I did. I convinced my boss and a colleague to write me letters of recommendation. I kept taking a class at a time in addition to working full time. It was fun. I learned really interesting things, like how to plan a library building and that it is a warning sign someone is embezzling if they refuse to ever take time off from work. I learned how to program in Perl. I learned about the history of magazines in the US and speculated about how Borders.com, B&N.com, and Amazon.com would work out.

Eventually, I joined some kind of leadership group for my program and started making friends. I found out that other people had researched different programs and chosen mine. It had never occurred to me to think critically about grad school, it was just there. Oh, and did I mention that my program didn't require the GRE? That helped.

If you want gossip, I will let you know that I became friends with my husband's ex-girlfriend. THE ex-girlfriend. The one who practically ruined his life. I became friends with her before I knew who she was. I remember the day I figured it out. "Huh, that's the same name as the ex. And she's from the same place. And has other similar features. What a funny coincidence. Honey, what's the ex's last name?" I was shocked that she didn't have horns, she was really nice. He was all, "um yeah, that's why I loved her so much."

Because I was just taking a class or two at a time and wasn't on a Quest for Employability, I didn't really interact with my advisor. I took a class from him my last semester and it was great. I went to a party he was at and after I turned in my final paper, he took me (and others) out for a beer. But otherwise, I can't say we really interacted. I was much closer to another professor. My program also didn't require a thesis or research, just classes. I took what I wanted, when I wanted (or more accurately, when classes were offered in the evening and weekends.)

In the end I graduated about two years earlier than I'd hoped. We decided to move across the country for a Great Opportunity and so I stayed in town six months in order to go to school full time so I could get the degree. It was not optimal, especially since I was also working full time since I needed the salary and benefits. The very last month of school, I quit my job. It was GREAT. I would never work full time while I was in school again - the opportunity to think deeply, research more, collaborate with classmates, and just experience school was something I missed. But I couldn't have gotten my degree if I hadn't done it the way I did, so I don't regret my experience either.

I told a friend about this recently. She'd like a masters but isn't sure in what. I told her to just try it! Everyone she knows has a Big Plan for grad school and she doesn't. I'm the poster child for not having a plan doesn't mean you won't have a great experience.

Monday, March 23, 2009

My tech heroine




In honor of Ada Lovelace day, I want to celebrate my tech heroine, Mouse.

Mouse has amazing style. She wears terrific clothes, has a great haircut, and has an eye for design. I think it's because in addition to being an awesome techie, she's also an artist. I love her self-portraits. She is also crafty - she made Mandlebrot the fractal bear! (She's also made a quilt, jewelry, and embroidery.)

Mouse has a long history of technical excellence. She first discovered her love of computer science and engineering in middle school. She was lucky enough to go to a middle school that made both those subjects mandatory, but she discovered a passion for them of her own. When her high school did not offer sufficient (any) computer science classes, Mouse started attending the local community college to learn programming in addition to a full college prep program. She took many and varied courses through the community college, learning Java and other CS topics. Now she's a student at the University of Washington, double-majoring in CS and engineering.

As her senior service project, Mouse needed to design and enact a program for younger children. So she designed and taught a summer Java class at her middle school for then students. The students loved it so much that every year since they have asked whether she will come back and teach again. A high school teacher I know commented that he would never let one of his students do that - he wouldn't trust them to do a good job teaching middle schoolers. I would trust Mouse with any students, any time. I wish she lived closer to me so she could be my substitute. (Though I did find a wonderful new sub this year, so I won't steal her from college yet.)

Mouse has a wonderful sense of humor and is prone to combining her many interests in unique ways. For example, she took math notes in Sierpinski triangles. I would call her a geek, but she's much too adorable.

Mouse was on a panel of students at the Grace Hopper conference in 2006. She is already awesome, but I think she will change the world.

Wednesday, March 11, 2009

You know what else would be cool?

I use the Nike+ system. It is so cool - I have a chip in my shoe and a chip in my ipod and it keeps track of my running. It tells me how far I've gone, how fast I'm going and even how many calories I burn. Sometimes, Lance Armstrong congratulates me on how great I am. ("This is Lance Armstrong. That was your fastest run yet!")

At the end of the year, the Nike+ website gave me a "rundown" that told me how far I'd gone and all kinds of things. It told me that my "best" running day is Saturday. (I disagree, but it's only a computer.)

I want a "postdown" for my blog. I want to know the most common day I post. (Currently: Wednesday, I think.) I want to know how many posts per year, graphed by month, number of words. Whatever the equivalencies to the Nike+ system are, but for blogging.

I'm sure there's a way to program it myself, but I think the effort of doing so is probably more than calculating it by hand. I don't want to think about what that means, other than 'I have other hobbies than programming.' Actually, I'd be more inclined to figure it out for the Nike+ because I really DO want to play with the raw data and make my own graphs about my running. The blogging is way less important to me.

The zen of experimentation

I own a lot of books. In my heart, I am a frustrated librarian, so they are organized carefully on my bookshelves. No matter how careful I am when I move, it is impossible to pack them in a way that makes it possible to unpack them directly onto the shelves the way they came out. I moved 10 times in 12 years, so I tried a lot of things. It ends up that I'm desperate to get rid of the stacks of boxes so I just throw the books on the shelves and organize them later.

Over time, I began to appreciate the zen of disorganization. It's impossible to find any particular book, since it could be almost anywhere (and often behind something else). Thus, when desiring to read, one must have an open mind. One must stand and look at the shelves until something interesting appears, as it always does. It usually goes something like, "oh, I'd forgotten about this one" with that sigh of having found an old friend. (All my books are old friends. There is a special shelf for the potential new friends that I'm still getting to know.) (I sound like a freak.)

This morning, I talked to another middle school computer science teacher, specifically about how he teaches Scratch. Mostly he lets the students experiment and play, while he walks around supporting and guiding them gently. The assignments are very open-ended

This has pros and cons. Frequently, students will shy away from what Steve Cooper calls "algorithmically interesting" problems and solutions. They're more interested in the story they're building than in implementing loops, conditionals, functions, whatever. But they are very engaged, open to new ideas, and ready for "just in time" learning.

This is different from a more traditional approach, where there's a particular outcome, using particular skills, with one right answer. The students still might experiment some, but mostly it is experimentation to see if they can get the right answer, not experimentation in the form of wandering around and seeing where they get. (There's an analogy to science here.)

Letting them wander around, play, and be zen is so engaging compared to wanting them to find the One Right Answer. It makes them use lots of parts of their brains. It makes them think in different, creative ways.

The trick - and what the other teacher and I agreed to think about - is how to combine both. We need to think about structuring assignments so that they are open-ended and encourage creativity and experimentation while also improving the likelihood that students will use algorithmically interesting solutions.

Wednesday, March 04, 2009

Netbooks and Disruptive technologies

And to prove how tired and distracted I am, I didn't even remember the whole reason I started the last post, which was to share this very interesting article about Netbooks. Happy reading!

At SIGCSE

Already seeing many friends, though so far I have not run into one of the two most important people I want to see. (I had dinner with one.) I think these two people would be surprised to find themselves in the top two. If this were my other blog, I would go on a tangent about friendship and whether or not you can replace people whom you miss.

I spent quite a bit of time talking about grammar today, which reinforces to me that I don't know when to use who and when to use whom.

There are at least three half-written, time-sensitive blog posts here. I don't know why last week I hypothesized that things would be quieter once I got here. I will nevertheless endeavor to at least twitter about the conference and possibly even post. But my greatest endeavor is really to finish the two things I'm supposed to have done for a meeting at 1:30 tomorrow. Then if I have time, I will finish any of those posts.

Finally, I'm reminded of a post by NonaKnits. She went to a conference and blogged about it. (It might have been Olema.) When she got back, one of her real-life friends found out she'd been there and said, "Nona was there too! Did you meet her?" I wonder if any people who read this don't know who I am. Of course, it's easier to realize that "Wicked Teacher" isn't my real name than to realize that "Nona" is a pseudonym. 

Monday, February 16, 2009

CS is everywhere

I have encountered a couple of stories lately where computer science was underneath the story in a way that was easy to overlook. I don't really think it should have been called out in either story, and yet I want people to see it. 

The first story is about Shane Battier, The No-Stats All Star
"We now have all this data," [Houston Rockets' owner, Leslie] Alexander told me, "And we have computers that can analyze that data. And I wanted to use that data in a progressive way..."

The virus that infected professional baseball in the 1990s, the use of statistics to find new and better ways to value players and strategies, has found its way into every major sport. Not just basketball and football, but also soccer and cricket and rugby and, for all I know, snooker and darts - each one now supports a subculture of smart people who view it not just as a game to be played but as a problem to be solved.
I'm not completely sure that counts as computer science. But computing literacy is required to do the kind of creative algorithm generation required to crunch the statistics. And at its core, that's computer science. Of course it isn't only computer science, but to me that's the beauty - computer science underlies many of the cool things that are happening in different disciplines. You don't have to be a nerd working in high tech to use computer science in your career.

I was accused of being self-absorbed the last time I mentioned the second story, but I'll put it out there anyway. I was listening to an interview with Chesley Sullenberger where he talked about all the things he had to do to land the plane safely in the Hudson - nose up, wings level, not too fast, not too slow... simultaneously. Now Sullenberger is truly a hero, his reflexes, calm, and creativity are amazing. But I don't think he could have done it if he hadn't practiced it using a flight simulator. Flight simulators are one of the most obvious implementations of computer science that exist. Computer science is like the unsung hero of the story! (Yes, I'm being deliberately over the top there.) 

Just like other sciences - especially physics and chemistry - computer science is all around us, but we accept it without even noticing it. 

Sunday, February 15, 2009

Inclusiveness

In cleaning out my bookmarks, I came across a link to Joel Spolsky's column at Inc, "How Hard Could It Be?" His latest article is about rewarding employees for great ideas.

The article touches on intrinsic vs. extrinsic motivation, which is always something to keep in mind as a teacher. At my school (as in many K-12 schools), we're very aware of wanting to develop life-long learners. That means developing intrinsic motivation. Yet our effect on the children is inherently extrinsic. A dilemma, for sure. 

The very interesting part of the article for me was on page 2:
Human beings, by their nature, tend to think of themselves as, how can I put this politely, a bit more wonderful than they really are. All of your B performers think they are A performers. The C performers think they are B performers. (A couple of your A performers think they are F performers, because they are crazy perfectionists or just clinically depressed. But they are the exceptions.)

My first reaction to this was, "I wonder how many women Joel has working at Fog Creek." My second thought was, "I bet not that many." It completely ignores imposter syndrome and all the studies showing that women with higher grades will drop out. In CS, for women, B performers tend to think they're not good enough. 

Now, it's also possible that the difference is I'm looking at education while he's looking at the post-education working world. That the skills which make you get through and get hired increase your self-confidence out of proportion to your performance and that the people who drop out as described wouldn't ever get hired by Fog Creek. 

I see the low-self-esteem side of the curve all the time. All my students are capable of programming. Many, many of them think they're not. It's hard, it's unfamiliar, they aren't sure they're doing it right, they get syntax errors they can't interpret... they think they're not good enough. On the first assignment, which happened on the second day of programming, one of the students was very, very worried that she didn't understand it well enough. She wrote a perfectly good program, but relied on the class notes and example program to do it. She didn't think she really understood it since she couldn't have done it without the notes and examples. On the second day. 

I don't disagree with Spolsky's idea of human nature and I'm sure he's an excellent manager. But not everyone has an overinflated sense of self-worth. 


On a related tangent, I heard a thought-provoking story last week. A group at a high tech company had a meeting. The engineers were talking about a Spolsky article. The manager had never heard of Joel Spolsky. "Who is this Joel guy?" One of the engineers actually looked at the manager in disbelief and said, "You've never heard of Joel Spolsky??" The engineers reportedly felt this was further proof that their manager is out of touch. (The manager did rise through the technical ranks, not that it's relevant.)

The story made me angry. Sure, Joel is well known in certain circles. Knowing about his blog is a cultural marker. Not knowing about his blog probably means you have a different set of cultural references. Not knowing the "right" cultural markers means you don't fit in. And the response isn't to try to help you acclimate and learn the markers of the group you're in, it's to ridicule you and use that lack of knowledge as proof that you don't belong and ought to go somewhere else and do something else. After all, you can't possibly be a competent programmer or good manager if you don't know who Joel Spolsky is. 

It might be different if the person didn't know something that was directly relevant to the job at hand. Yet I frequently see or hear stories where someone who is up on the culture doesn't know required information and isn't shunned for it. Either the lack of knowledge is ignored or the idea is explained to the person who needs to know, informal mentoring. "Oh, you need to use a McKenzie-Shlimit algorithm here. It will make the fizzits go into the slobnots efficiently."

I think this kind of thing happens more frequently in high tech than it does in other professions. It's one of the reasons why we have the leaky pipeline problem. It reminds me of middle school girls - if you don't already know how to be popular, the popular group certainly isn't going to tell you! And they're going to laugh at you and tell you your epidermis is showing, too.

All or Nothing (or: Moderation in All Things)

I've been thinking a lot lately about moderation and abstinence, ever since reading this post at the Happiness Project. I'm usually a moderator - I get panicky if I try to give something up forever, but I can put it off indefinitely by thinking, "later". (This may not apply in the case of apple crisp. Apple crisp is always better NOW.)

This has been true with my workflow lately, too. I had to switch to a loaner computer while mine is being repaired. The loaner has a much smaller hard drive, so I had to move things to an external drive. I've done that a few times in the past and things are a big mess. So I'm using this opportunity to try to clean things up, including my bookmarks. 

The problem is that it's a huge job and I don't really have time to sit down for the hours it would take to do the whole thing all at once. Also, boring. So I've been doing it in chunks, making sure it is clear where I left off. Very moderate. 

Now I just have to apply this to the rest of my life, particularly the part where it's easy to maintain. I tend to get stuck feeling like if I don't get all the way organized then there's just no point, when for me that isn't true at all. 

I organized a bunch of files at work this fall. Now I can't remember the system I used. It was even color coded! The colors are still there, but the meaning is lost. I think this time I will paste the key on the front of the filing cabinet. And no, you may NOT come visit me and laugh. 

Wednesday, January 28, 2009

Are we all too busy?

I went to a meeting tonight where one person lamented the lack of interest in the group. We have a dedicated, passionate core of members, but we believe there are many others out there who are not participating and we don't know why. 

This person told a story: he went to a meeting earlier in the week with three people who would be great members of our group. He encouraged them to come to our meeting. Two had (what he thought of as) legitimate conflicts. One just declined. She works in a school and said, "by 3:15 I'm just tired. I want to go home and spend evenings with my husband and dog. I don't go out in the evening."

This member was clearly disappointed in her choice to stay home. His feeling is that we're all busy, we all have other commitments, and yet we make the time to show up for these meetings and try to make this group work. He is frustrated that others don't. 

Ultimately, I'm pragmatic. We can't make people care about things we wish they would care about. We can't make them prioritize the way we want them to (unless we hold some kind of power over them.) Who knows why this woman feels that way - she's an introvert, she's a morning person, she just doesn't like us. It only matters in so far as we can arrange ourselves to meet her needs - or the needs of others who would participate if we could lower the barriers to participation. 

I think there's a huge parallel here to teaching. We can teach, we can amuse, we can inspire, but we can't make students passionate about our subject if they won't be. Some kids will be captured. Other kids won't. I don't know a teacher who doesn't want to reach ALL their students and have the students see the beauty and magic in the subject that caused the teacher to dedicate his/her life to it. But not all kids will see the beauty and magic of the subject - no matter what the subject is. Good teachers are more inspiring than bad teachers, of course, but even good teachers miss some. Think back - aren't there subjects that you just plain didn't like?

I guess my conclusion is that it reminded me that we have to pull people in - educationally, professionally, and personally. You can't force people to be where you want. You have to convince the unsure and coax the reluctant. In other words, you get more flies with honey than with vinegar. (Though someone tell me there's a more appealing cliche than that. Who wants a bunch of flies around??)

Wednesday, January 21, 2009

Textbooks

I don't use a textbook.

This seems to be heresy for most teachers. It is true that my school supports some really weird practices - project-based learning, no grades (narrative reports - which is what I should be working on right now!), and groupwork to name a few. So not using textbooks fits right in here. But I think (like the other practices, really) that it's fully justifiable.

I have a double-whammy: there are no texts that both cover what I want to cover and are appropriate for middle school. Most middle school "computer science" textbooks are heavy on applications and light on the things I'd like to cover. The books that cover the actual topics I'd like to cover are far, far above the reading level of my students. This year I tried an experiment (covered under educational fair use): I photocopied an exercise out of a Flash book I have. It was 20 steps, clearly explained. Half of the students were able to complete it at all, fewer than half of them were able to successfully follow the directions to get a working product. The language was above them, the writing was small, it didn't explain itself in a way they could understand... it was awful.

So I am left creating handouts, making podcasts (another thing I shoulLinkd be doing rather than posting!), and demoing while the students follow along and take notes. I am hoping to write the textbook I would want to use, one of these days.

I will say that I have a few favorite books I use. For Python, I rely heavily on Zelle's Python Programming: An Introduction to Computer Science and Python Programming for the Absolute Beginner. I use Zelle's graphics library rather than the built-in turtle graphics because they're easy to use and high-impact. In fact, the hangman game the students will make as their first big project is built with Zelle's graphics. I love that PPftAB has a game in each chapter - so much fun! I am hoping to move fast enough to have the students make the Mad Libs project as their second big project. It's OO and uses GUI windows. In Flash, I like the Lynda books a lot and this year I got the Missing Manual book which I like. But mostly I've got the Flash stuff down and really don't use a book. Someday I have to pull all my stuff into a website so other people can steal it if they need it.

Monday, January 19, 2009

Python begins

Tomorrow I start teaching programming with python to the 8th graders. I have been thinking about what approach to use since this summer. My options were:
  • The imperative approach I used last year
  • Objects almost-first, the approach I used this summer with a mixed group of AP-graduates and novices
  • The media computation approach
I discarded the media comp approach pretty quickly. Media comp doesn't feel like my students are making things, only that they're manipulating something that already exists. I want them to make things. It's not totally rational. 

Then I worried back and forth between imperative and objects. I think people are warped by the programming style they learn first, so I might be ruining them by going imperative. But I'm not very good at OO design and I think OO is really hard and has a lot of unnecessary overhead, so I might be ruining them by going OO, by driving them away from programming entirely.

In the end, I decided to go imperative. I don't have time to prepare adequately to do OO well, I want to re-try the imperative approach I used last year to see if I can make it better, and if I can get through the imperative stuff fast enough, there will be time to do OO after we program hangman. I'm crossing my fingers that it will go well.

Web 2.0

I found some notes that are undated and un-contexted, but interesting. So I am posting them here that we might all be able to think about them and find them and I can delete them from my desktop.

Tinkering: Web 2.0 is digital tinkering. Kids don't just know how - they need instruction and practice. 

The teacher says: Tinkering is important for promoting certain kinds of thinking and certain interests; both engineers and computer scientists frequently cite it as important for children. But at some point people have to move past tinkering and be guided to a deeper understanding. Assuming that the "digital natives" will just figure it out on their own is as foolhardy as assuming that a 10-year-old who can take apart a toaster can therefore build a car.

Culture: We are culture-bound in how we think and in inventing the future. E.g. Indians (from India) would not have invented the desktop model because they don't use desks, they would have done bookshelves. [Really? Interesting.] At the lower level there are similarities in how humans think about things that are pervasive across cultures. The interface needs to merely not get in the way. Alan tried using the theory of instruction. 

The teacher says: OH. These must be notes from a lecture by Alan Kay and Andy Van Dam at the Engelbart thing. The first half resonates with me - this is why diversity in design teams is so important! The second half confounds me. What were they talking about?

Instant gratification: in the Bible, Esau sold his birthright for a cup of porridge. Americans may be doing that now. Romans: bread and circus.

The teacher says: I can't respond intelligently because I don't remember the context well enough to know why I found this striking. Partly because I think biblical references are cool, partly because I didn't remember that about Esau, and certainly for some other greater reason. But the lecture is online, so you can go listen and think for yourself!

Saturday, January 17, 2009

It isn't the language

A mailing list is on the edge of having the language debate again. Ironically, I'm going through old e-mail from September and this exact list had this debate then too. 

Every time we have the language debate, we get closer to the idea that the language doesn't matter, that what matters is the ideas. We want students to solve problems and we want them to understand some of the important concepts in our discipline. Thus any language should do, as long as it allows them to solve problems and understand the important concepts in our discipline.

Some languages are better choices than others. We want students to focus on the "right" problems. That is, they should spend time solving problems like "which algorithm is more efficient" or "write a program that demonstrates good use of stacks as compared to queues" and not problems like "it doesn't compile."

I think about chemistry, as I so often do in these situations. When we want students to learn about the types of reactions, we (a) teach them about the types of reactions, (b) give them examples on paper, and (c) have them do a few reactions, such as a precipitation reaction. Does it matter which precipitation reaction? No, except that we choose one that is likely to have low experimental error and high yield, since we want the focus to be on the reaction and the products, not on the error. 

I'm not going to vote, but I do think we don't need to worry about articulation or workforce readiness or how many languages students should learn. We need to focus on the important concepts and skills. If they can do it in one language, they can learn another, just like if you can do one titration you can do another - it doesn't matter very much what the specifics were since you can apply the big skills. 

Friday, January 16, 2009

Progress report help

We don't have grades at my school, we have narrative reports. These include a rubric section. My department (now that I have one!) has re-written our rubric. The sections we have that I'm happy with are Application of Computer Science (vocabulary, concept application), Algorithmic thinking (use a logical process, follow directions), and Communication (listen, read, communicate ideas clearly). I'm really struggling with one section: computer science concepts.

In the seventh grade, they do three units and each unit has one rubric line for computer science concepts. So the database unit gets a line for "create a well-designed relational database" and students are evaluated on that. Those are straightforward. 

In eighth grade, we have done a semester-long unit on Flash. Well, not necessarily ON Flash, but USING Flash. Students learned how to control animation (i.e. create an object, use instances, make tweens), sequencing in terms of controlling what happens and the timeline, VERY basic Actionscript, and certainly some other things too like sound and shape tweens.

I need to articulate clearly no more than three things that I can assess students on in terms of what computer science concepts they should have learned from this. So far I have two, and I don't really like how the second one is worded:
  • Create complex computer animations utilizing multiple objects, creating methods, and changing parameters
  • Plan and implement projects that correctly sequence instructions for the computer to follow
Any ideas? 

Close to you

Because Alfred requested me to, I've been Twittering a lot more this week; it was a way to keep him up with with was going on at Rebooting Computing. Until this week, I didn't get it. I pretty much only Twittered when someone new started following me, I wondered why some of those people were following me, and I really didn't see the potential for education.

I still don't see great potential for education, but reading "I'm So Totally, Digitally Close to You" might have changed my whole relationship with Twitter. Clive Thompson addresses why people use Facebook and Twitter and what it's doing to our society, and he says they're doing some really good things.

He begins by describing when Facebook implemented the news feed, that page that tells you what your friends have been doing lately. "Social scientists have a name for this sort of incessant online contact. They call it 'ambient awareness.' It is, they say, very much like being physcially near someone and picking up on his mood through the little things he does - body language, sighs, stray comments - out of the corner of your eye." 

He says it is hard to understand the appeal, especially if you don't do it. "For many people - particularly anyone over the age of 30 - the idea of describing your blow-by-blow activities in such detail is absurd. Why would you subject your friends to your daily minutiae? And conversely, how much of their trivia can you absorb?" But it doesn't take a lot of energy to absorb their minutia. If you get an e-mail from a friend, you feel obligated to read it carefully. Looking at a twitter stream or the friends page on Facebook only requires skimming. It's much closer to glancing around the room and sensing how people feel by looking at their body language than it is like having an intimate conversation. It's called ambient awareness - when you're in the room with someone and you smile at them occasionally or share a funny thing you see. "This is the paradox of ambient awareness. Each little update - each individual bit of social information - is insignificant on its own, even supremely mundane. But taken together, over time, the little snippets coalesce into a surprisingly sophisticated portrait of your friends' and family members' lives, like thousands of dots making a pointillist painting." [How much do I love that this article references pointillist paintings? Very much.] I have seen this myself - in October I had a Terrible Week at work, expressed through increasingly desperate Facebook updates, and several people who were not near me at the time expressed their concern for me. I felt cared for.

Thompson addresses the question "what kinds of friends are these?" Remember the Dunbar number? That's the theoretical limit of friends a human can have - how many close relationships our brains can handle. The number is 150. What does that mean for people with hundreds of Facebook friends? 

The answer is two-fold. First, these tools enable us to have richer close relationships. Our close friends and family members can start in the middle of the conversation - they already know that the water heater broke and the plumber had to come three times, even before we meet for dinner.  Heck, they knew to call and offer a hot shower. Second, they increase our number of "weak ties." People you aren't close friends with and never will be, but their status popping up occasionally on your news feed reminds you of them. I would never think of the lovely young woman I sat next to at Rebooting Computing again if I hadn't friended her. Now she's part of my extended network. Weak ties help you solve problems - they won't offer you a shower, but they will offer the name of a great plumber. You didn't already have the name of the plumber because you called your close ties for a recommendation.

On the downside, online tools promote the growth of parasocial relationships - people who read a blog or follow you on Twitter and they feel like they know you, but you don't have any awareness of them. This has been around for years, ever since online tools started. I participated in Salon.com's Table Talk in 1998 and there were a handful of well known talkers and probably hundreds of lurkers who felt that they "knew" those people. Parasocial relationships have happened to celebrities for years, but now they can happen to regular people too. 

Finally is the issue of identity maintenance, but I think that needs to be the subject of another post.

Thursday, January 15, 2009

Storycorps for computer science

If you listen to NPR regularly, you're probably aware of StoryCorps (tagline: listening is the greatest gift). It is an interview project. In its most simple version, it is a booth that two people go into and one interviews the other. The interview is recorded and the two people get a copy of the recording; another copy goes to the Library of Congress. The larger goal is in recording the life stories of regular people throughout the US. (I have wanted to interview my dad for a long time - I know he has interesting stories about growing up Jewish in the forties and fifties.)

At Rebooting Computing, I went into a breakout about problem-based learning grades 7-14. We spent some time talking about projects like the University of Washington's "Why choose CSE" videos, that try to bust the negative image of computing as a geeky pursuit for white boys. 

This lead to the idea of having Storycorps for CS. I think some of it was interviewing people - famous, regular, anyone - to hear their stories. I would be even more excited if we had videos or writings that were stories of things that happened. In terms of project-based learning, they would be more like case studies. Owen Astrachan told a story about someone faking the Amazon security certificate by using PS3s (or something like that... this is why I need videos or writings!) 

As a K-12 teacher, if I had a video of (for example) Owen talking energetically about the security certificate hack, I could use it as a case study, as a sub lesson, or just as a pointer for my interested students. We have a lot of videos about people in CS and how they're not all geeks. They're nice videos but I have a hard time really using them in a meaningful way. I'd love to have a lot of different kinds of videos so different teachers could use them in different ways. And I'd LOVE to have case studies around things in CS so I could have my students study them in addition to the other great teaching methods I have. 

Tuesday, January 13, 2009

Is programming "what we're about"?

I think computer scientists use programming to do the things CS is about (e.g. algorithms) not that CS is "about" programming. I do believe I feel strongly about this.