Revision (Saturday, 2010 September 25)

September 25, 2010

Another week is over. Fridays are my best and my worst days, because there are seven hours of class, but they’re my oldest and thus most advanced classes. Read: most likely to remember what they did last week, most likely to think critically, most likely to listen to what I said the first time, etc.

This is now the third week of classes. That means I’ve officially introduced myself to every class. In each class I did that, I started with "What is informatique?" and "Why are we studying informatique?" Informatique, I explained, is not just (as they all parroted back) "The science of rational and automatic treatment of information". To me, informatique is "the art of convincing the computer to do what we want it to do". But why study it if there are no computers? Hilarion asked me this question back at stage and I came up with this answer: originally I came here to teach informatique because I thought it would be a good opportunity for the development of Africa’s economy, to improve its standard of living. But being here and seeing the "poverty" with new eyes, I came to conclude that informatique-as-industry-for-Africa is wrong-headed. My students are a long way from writing web apps or taking contract work, and anyhow, money isn’t the thing that’s missing in the Africa equation. So I had to find another reason to teach informatique, and that’s the reason I gave in class: we study it because "informatique gives us a method to study information, organization, and complex processes". Last weekend I spoke with Ryan and Jenny, and I tried to make the case that the actual informatique stuff we’re teaching them is pretty worthless. Networks, in 4e, is a perfect example. Networks aid in the transmission of data, of information, of files. But none of those concepts mean anything to my students! How can we teach them about networks if they don’t know what a file is? We can teach them about the idea of networks, which are pervasive — there are networks of roads which facilitate transport of goods. There are non-informatique services, like electricity and water, which are centralised or distributed. All of those concepts are (I dare say) more important than token ring or FDDI crap.

Granted, the "history of informatique" stuff in Tle and 2e, or the binary/boolean logic stuff in 3e, that’s gonna be a little harder to apply.

Anyhow, Friday. First class was Terminale, who is doing "programmation" in the practice section. First hour was theory, which we started with a revision, "review", specifically "What did we do last time?" "Monsieur! We opened DrPython." OK, good, DrPython is an environment for the language Python. After that, what did we do? (We explored the interactive shell using expressions and variables.) "Monsieur, we convinced the computer to do what we wanted it to do." Which rendered me helpless with laughter for a little while. I kind of <3 my Terminales.

Whereas in 1ere I tried to have the same lesson that Terminale had the week before without complete success. The ones on the Linux machines couldn’t figure out that even though we were going to do programmation, they might find DrPython under the "Programmation" menu. I have been a little harsh with students like that, who do not seem to pay attention to the instructions, or do not poke around on the ordinateur in the correct places. Example: I explain how to open DrPython ("those of you on Windows, there is an ‘Education software’ folder on the desktop. Open that, then open the DrPython folder, then find the drpython file and open that"; leave aside for the moment that they have no idea what Windows is and whether they are on it). After this brief explanation, I notice that two computers have Microsoft Word open. When they say they have no idea what to do, I suggest they ask the students who seem to have an idea. About ten minutes later, one of the students complains that he couldn’t figure out what to do because the computer is in English. Of course, the explanation I gave doesn’t require being able to read English, so at this point I became a little irritated.

Last night I spoke with Gus about this. I’m not sure she believes it, but she seemed to suggest that I should be doing more handholding with these kids — explaining each step, repeating myself for the students who weren’t listening or didn’t get it the first time, explaining where students went wrong. Instead I have been doing none of those, responding to students with "What have you tried?" and "What are you looking for right now?" Correspondingly, a certain fraction of my class is frustrating for both me and the students. It certainly could be argued that the students just don’t have enough experience with computers to figure out how to do anything, and maybe they need to get a solid base before I can ask them to navigate the world of the computer by themselves.

I have been thinking this over since last night. My belief is that giving more direct and explicit instructions would be doing the students a disservice, but I’m not completely convinced of it.

Let me start by describing the lab. We have 15 computers in working order right now, and enough power outlets to add one more if I can assemble another computer out of the parts we have. They’re all P2/P3 class machines, with most having 128 MB of RAM. The 5 we just got are English Windows XP machines. There’s one Xubuntu machine (French), and two Lubuntu machines (French, but incompletely translated). The other 7 machines are Windows XP (French). The Windows machines generally have Microsoft Office 2003, except for one with 2007 and another with OpenOffice. (The English machines came with both Office 2003 and OO.o.) This diversity is intentional. I do not want to teach to a single vendor, or to a single interface. Informatique is not about memorizing series of steps — even if I could give steps that worked on all the different machines, or even if I gave series of steps for each computer. Informatique is about playing a game for which you don’t know the rules. Informatique is about reverse-engineering what some dickhead built. Informatique is about solving for "x".

So when I say "Open a spreadsheet; there are three on these machines, some with Microsoft Office Excel, some with OpenOffice Calc, and some with Gnumeric", I expect the students to open the menus and look around. I expect them to open "All programs", if for no other reason than that it says "All". I expect them to read the things that happen on the screen. If they forget what they’re looking for, I expect them to look at the board, where I wrote those three names. Similarly, if the numbers on their keyboard don’t work, but the numbers on their neighbors’ do, I expect them to look at the keyboards and try to figure out why they’re different. And if I encourage them to do exactly that, for example by saying "Is there anything different between your keyboard and hers?" I expect them to say "Look, there’s a light on hers labeled Num Lock, and on mine the light is off". These are the real skills of informatique, and I believe that by asking "What did you try?" and "What did you to make the computer do that?" they will be able to practice these skills better than if I said "Click on the Start Menu, open ‘All programs’, find, open that, and then click once on Calc." Those steps will change — example, even saving a file is different in Office 2003 and 2007.

The other side of the argument is that all of those things that we learn to do as informaticiens come from the experience of using the computer itself, that we bootstrapped from simple sets of steps to understanding of how menus and options work, and from there to filesystems, interface-independence, system administration, etc. After all, even libraries for use by developers often come with a tutorial or a quick-start guide with relatively explicit steps.

I’m not sure yet how I feel about this argument. It’s been so long since I’ve been a learner that maybe I can’t really imagine what it’s like. But I can’t help but feel like there’s something that the students here haven’t learned how to do, to look at differences, to get a clear idea of what your goal is, to look at your options, to keep trying something until you know it doesn’t work and then to try something really different. I think these accumulated skills fall under the umbrella category of "critical thinking", and I don’t think lists of steps help develop those capacities.

So for the time being I am going to continue to ask "What did you try?" and walk away if they respond with "The computer isn’t displaying" or "I can’t find it". We’ll see how it goes.

"If you want to build a ship, don’t drum the men to gather wood, divide the work, and give orders. Instead, teach them to yearn for the vast and endless sea."

—(unsourced; attributed to Antoine de Saint Exupery. Wikiquote.)

I have been thinking about this for most of this week. (Evi posted it on her blog a little while ago.) Most of these students have no idea why they’re learning informatique, especially my 1ere class (I have 1ere "Arts", as distinct from 1ere "Math" or 1ere "Science"). It’s hard to think of a "vast and endless sea" that immediately strikes you as yearnable. There’s really only a couple things that the students do of their own accord — play games, and (sometimes) draw.

Sometimes, when I’m in the lab, working on computers or whatever, students walk in, ask if they can work, and then play on the computers. Sometimes students ask me if they can work during the breaks (there are three during the day; one is longer, for lunch). I’ve realized lately that I shouldn’t discourage this too much. (I heckle them a little bit; "Oh, is that what you call ‘work’ here in Cameroon?") It’s like Peter said back in stage: at least they’re doing something; they’re learning hand-eye coordination, if nothing else; and often they’re learning to guess the rules of a game that they don’t already know. And I bet it’s giving them a certain amount of practice in understanding the "secret" rules, the grand principles that underlie the desktop environment. So how to encourage this yearning? I’m putting Gimp on the machines, and sometimes, when I have a few minutes to kill during an application install or whatever, I mess around a little bit, try to create something that looks cool, or something that has the name of the Lycee, with hope that someone will decide to give it a try. I’m gonna try to put some graphics stuff into the practical section of the 1ere class. We’ll see how that goes too.

Side note. I’ve been using apt-offline to get drpython and other crap onto the Ubuntu-based machines. It’s a relatively neat piece of software when it works. But, sometimes a package fails to download because of my shitty USB-modem connection, and then I 1. cannot interrupt the other downloads, and 2. cannot retrieve only the missing packages later. I’ve also been thinking a little bit about how I want to set up user accounts on the machines; right now there’s just the "enseignant" ("teacher") account. Ideally I’d create an account for each class, or at least each grade, but I can never remember how to spell the names (and Lubuntu doesn’t show a list of available users). Maybe just one account called "eleves"? Not sure.

OK, I’ve hit 2000 words so I’ll stop here. Other than the above I guess everything has been going smoothly. Yesterday I ate a whole ripe avocat ("lawyer"). Can you believe I’ve been at post for more than a month, and that I still don’t have furniture? Petit à petit, as we in the biz say..

Comments are closed.