Tuesday, August 19, 2008

This is an excellent example of the process of open source software development and distribution. I came across this discussion on a forum at Moodle.org as I was refreshing my memory about how to upload our school courses in bulk. It's something we do once a year and I didn't take notes when I figured it out last summer. Fortunately, not only did my memory get refreshed, but during the year the Moodle community was hard at work improving the utility for it and had something that should prove to work even better than last year. In the process I saw that there are some great examples of how the open source process works in this forum. If you click the link to it and log in as guest you can read through it. It's long but really worth it.

People are negotiating responsibilities for projects, not in a pushy way ("Has Jeff agreed to maintain this? Jeff?"). When Jeff gives his reasons for not wanting to permanently support it they are very clear and the forum listens.

People are getting all sorts of help for big and small problems.

There's a big range of experience among the participants and newbies aren't afraid to identify themselves.

Towards the end there's a really interesting negotiation about how to distribute the utility and what status to give it so people will have appropriate access. One person recognizes the valuable work being done by contributors and says he'll create an entry in the Modules and Plugins database because he sees "some wonderful stuff get buried in layers and layers of forum discussion." Another person goes one further and prematurely creates a wiki documentation page and heartily apologizes when he is respectfully corrected because some issues have to be worked out before that should happen.

I made this decision a year ago when EI 7 was still a new and curious application, and I've made the same decision a year later. IE 7 just won't work in a networked environment with multiple users. I get that Microsoft wants you to be safe and protected from the elements of evil on the internet. But aside from the fact that most people at home don't really know the consequences of choosing to activate the phishing filter or not among several other set-up decisions they are forced to make the first time they run the program, in a multi-user environment every student will have to click through all of those windows making all of those decisions every time they run IE 7 for the first time, which will be almost everytime they use a computer in the beginning of the year as they aren't assigned computers in a laptop cart situation, tapering off to almost never towards the middle of the year. I could teach them all how to configure IE 7 so they'll know what the choices mean, but even if they remember the steps it takes an extra few minutes to get the program ready to do what you wanted to in the first place, which for middle schoolers kills the whole experience, and forget about the primary grades. It seems to me that Microsoft hasn't considered the implications of such involved user-specific settings to a multi-user environment. It would be nice if there were a way for an administrator to make settings for all users of a networked computer but I haven't come across any (and forget about pushing out settings from the server, not worth our trouble to figure out and maintain). �

After talking to a CUNY professor who is an acquaintance of mine recently it occurred to me that maybe the most important tech skill for students to learn in high school is when to use their computer and when to close it and pay attention to something (or someone) else. This professor complained of how quickly technology, or his undergraduates' expectations given its affordances, is changing the lecture hall landscape—their disappointment and boredom when his lectures don't include eye-catching multi-media, their frustration with his "slow" response to e-mail, and their annoyance at his insistence that they not be using computers to be off task in class. His sentiments echoed the feeling of an upper school math teacher in my school who said that laptops being used during his classes were more of a distraction than an aid to learning. While I believe that the root of the problem is that the teacher needs help incorporating activities that require students to collaborate, produce and present information, and integrate multimedia, it's clear that there's nothing a student should be doing with a laptop in a lecture style class but taking notes and it should be the teacher's job to make that clear. And if they don't find it easier to take notes on a computer it should be closed. If we're not clear that the laptop is only there to aid in learning then students are going to lack the understanding of how to use it productively and courteously in the more independent context of college. To the student, affordances are deceptive. Just because technology makes it possible to do something doesn't make it the best choice. �

I'm excited about using Storytelling Alice with my 7th graders this year. I want to continue giving them programming experiences that will make them keep thinking about what makes technology tick as they go on in school. I think the storytelling context will really thrill them. At first I thought I should use it at the beginning of the year to start off with something really fun and inspiring. I always start with some kind of review of appropriate technology use and internet safety so I though about assigning them to make animations that depicted internet safety scenarios and what to do in them. But the more I thought about it the more that seemed to be something that would suck the fun out of Alice. So we'll make Photoshopped posters to put up with internet safety slogans and information so they'll be sharing the good word with their peers around school. Plus it will be a fun way to start the year. Storytelling Alice will be much more fun for them if it can be done with richer storytelling goals in mind, so I'll talk to their English and writing teachers about ideas. �

Kelleher argues that the skills learned in programming can be applied to learning in other disciplines. Programming gives students experience with complex systems. In practicing programming, students create their own programs and have to isolate the cause of any problem their program is having if it doesn't work as they expect it to. This process can be applied to countless situations in one's education and real life. She give the example of one's car not working. The ability to isolate the problem after analyzing the symptoms could enable you to fix the car on your own or at least understand the problem well enough to avoid getting squeezed by the mechanic for unnecessary repairs. At the very least Kelleher points out that many people will be required to do some type of programming in their occupation and if not they will probably have to work with people who do and it will help to understand how to communicate with them and understand the parameters they are working within. I guess an example of this is when you are developing a product, say a web site, for a client, and after all of the planning has been done and the product is near completion they ask if some additional functionality can just quickly be added, not understanding at all what adding it would entail. It's happened to me. �

I'm reading the PhD dissertation of Caitlin Kelleher, Motivating Programming: using storytelling to make computer programming attractive to middle school girls, and it's making me think a lot about teaching more intentionally toward the needs and characteristics of the population I work with--middle school girls. I think I already teach application skills and beginning programming with an approach that fosters curiosity, creativity, and risk taking. Kelleher's work shows that girls are much more motivated to tackle the logic and syntax problems of programming if the end result is a story they are telling. I've noticed that many girls will actually create a storytelling environment in which they build and program their Lego robots, and this becomes most fully developed and expressed when they videotape their robots and edit the short videos to share. One pair of girls even turned an assignment about making a switch-operated gate into a hilarious episode of "Pimp My Ride" in which the robotic gate played only a tiny part.

So this year I'll be trying out Storytelling Alice with my 7th graders, hopefully working with their English or writing teachers for content ideas. The idea behind the program is that students program already richly-developed 3D objects by dragging their attribute tiles into an editing space and creating new attributes for them. The illustrations I posted show you what it looks like. You don't see the commands for the spider to say "Boo!" in the code because the spider's entire jump procedure is created as a sub-procedure that isn't shown on that panel.