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.