For some specific examples of how educational politics are effecting Python, see below .
Anna Ravenscroft wrote: > as a parent, I agree with Kirby about the education system in this > country. Kirby, I suggest you join one of the many lists/groups on the > topic, including mathematicallycorrect.org and others. Save your > polemics for that community. Looks like that site you reference may have disappeared. It now seems to be a parked site hawking links to conventional mathematics teaching stuff. Here is an old version from 2001: http://web.archive.org/web/20010603024048/http://www.mathematicallycorrect.org/ That old page links to this other site "www.mathematicallysane.com", which might be of similar interest: http://www.mathematicallysane.com "Join us to stay current with the latest information about mathematics education reform. Over 2,000 people have already joined!" It links to this essay on "The Goals of Mathematical Education" by George Polya (an expert on methods for solving problems) http://en.wikipedia.org/wiki/George_P%C3%B3lya from around 1969 (so, almost forty years ago): http://www.mathematicallysane.com/analysis/polya.asp "Therefore the schools, especially the primary schools, are today in an evolution. A sizable fraction, ten to twenty percent, already have the new method of teaching which can be characterized in the following way in comparison with the old method of teaching. The old method is authoritative and teacher-centered. The new method is permissive and student-centered. In the old time the teacher was in the center of the class or in front of the class. Everybody looked at him and what he said. Today the individual students should be in the center of the class, and they should be allowed to do whatever good idea comes to their mind. They should be allowed to pursue it in their own way, each by himself or in small groups. If a student has a good idea in class discussion then the teacher changes his plans and enters into the good idea and now the class follows this idea." Two schools where kids learn like that: http://www.albanyfreeschool.com/ http://www.sudval.org/ There you have the core of what is still the *political* problem posed by educational technology (including Python in the classroom). Is it to be "authoritative and teacher-centered" (and to reflect a similar society) or is it to be "permissive and student-centered" (and also reflect such an alternative society)? Or is it to be some hierarchy/meshwork hybrid of both approaches (and reflect a hybrid society)? From Manuel de Landa's writings: http://t0.or.at/delanda/meshwork.htm "Indeed, one must resist the temptation to make hierarchies into villains and meshworks into heroes, not only because, as I said, they are constantly turning into one another, but because in real life we find only mixtures and hybrids, and the properties of these cannot be established through theory alone but demand concrete experimentation." Finding our way to some balance of hierarchy and meshwork is the political problem of our age, and educators are smack in the middle of it, even when they choose to do something seemingly innocent like to install Python on their computer instead of teach AP Java. With all due respect to Guido for his programming and project management and other skills, somebody like Kirby lives his professional life in the educational trenches (or alternatively, now helping people get out of them for a day or a week at a time). I have a relative who teaches K-12; her school district made her sign an agreement a few years back acknowledging that despite her other employment protections she could be fired if she installed *any* software on her classroom computer. That is what it is like in those trenches even for many teachers -- it's often crazy-making. What's the point of having a computer in your classroom if you can't install free software on it which might be of interest to the class (like Python itself or even just other Python-based software)? What does this say about the culture of the classroom or even the expectations of the community in relation to the legal and technical literacy of teachers? And then what's the point of even discussing Python in secondary schools if no one can use it there for short-sighted legal or doctrinal reasons? Policies like that are one reason the web is playing such a big role in schools, including Java and Flash applets. How can one plot out future directions in education for Python unless one takes stock of where such policies are driving classrooms? Yet does discussion here of education in the classroom emphasize Jython (which could produce Java applets and so be usable by my relative)? Or some sort of platform to produce Flash applets from Python somehow (which also might be usable by my relative)? Not really. Although "Crunchy Frog" http://crunchy.sourceforge.net/ might help in that direction (but ignoring the fact most schools won't install and maintain their own server for similar reasons to why they won't install Python as a desktop app). That's one reason why I think Python at home (in homeschooling or unschooling) situations is a much more fruitful direction for discussing Python in education in some ways -- since at least people can install Python at home on their own computers. One of the problem with mailing lists is they become self-selecting; one is not going to see people like my relative or educators like her on this list because what is the point of talking about Python in school if she would get fired for installing it? One will mainly see people on this list who have likely never experienced such situations (and I'd guess that is the minority, but I am not sure). On another practical note, here we have the OLPC project saying: http://lwn.net/Articles/240536/ "One important feature where we have made little progress is the View Source key." My reading between the lines is that essentially Python is failing )OLPC in some ways because they can't easily make the "view source" key work right because Python does not support "Edit and continue". Is that an example of an "authoritative and teacher-centered" bias that has perhaps crept unnoticed into Python's C code over the years? Or is it just perhaps from an implicit assumption that software mostly has authoritative authors and is not malleable by the end user (i.e. "everybody")? Clearly Python in practice for professional users relying on open source and free packages and using a good editor is not like that; Python software is often very open ended and flexible (even if the lack of easy "Edit and continue" reduces productivity). But likely here we are perhaps seeing an unrecognized political bias -- a bias of emphasis or a bias of history, but a bias none-the-less. Squeak, Ruby, Visual Basic, and many other languages by now can all do this "edit and continue" thing. Even TCL/TK is getting Smalltalk-like IDE features with "editing of a running system", see for example: "XotclIDE" http://wiki.tcl.tk/2131 Python is otherwise a fantastically flexible language, but for some reason can't do this "edit and continue" thing very well or very easily. That is extremely surprising, as, say, Smalltalk has indexed instance variable fields and needs to do all sorts of back flips when you change some code defining a class, whereas Python essentially has more easily malleable dictionaries as the common representation for objects requiring no recompiling when, say, you delete an instance variable. If we shouldn't talk about a bias like that here, a bias fundamental to the appropriateness of Python in the "permissive and student-centered" educational setting of the future (according to a famous mathematician in the 1960s), then perhaps the word "future" should just be deleted from Edusig's mission statement: http://www.python.org/community/sigs/current/edu-sig/ "Edu-sig provides an informal venue for comparing notes and discussing future possibilities for Python in education." Of course, even if we were to do that, the future has a way of rapidly becoming the past, as for example, thousands of OLPC laptops are now already in people's hands with non-functional view source keys. And the OLPC project in some ways is driven by a diverse vision of empowering children worldwide to learn in all sorts of ways, individually, in meshworks, from the somewhat chaotic web, and also even in hierarchically organized schools. So, with OLPC, all the issues about Python empowering kids to construct their own programs and modify existing ones are current issues -- and rapidly becoming historic problems worldwide -- but Python is (so far) apparently failing to meet important parts of that educational challenge. Politics is ultimately about *priorities* (what they are, who sets them, who gets the benefits, who pays the costs). The fact that "Edit and continue" is not standard in Python and IDLE is in that sense a very *political* decision reflecting priorities of the major players in the Python community (including the ones in the Python Software Foundation). And that is always what politics is all about -- different people clambering for different priorities -- whether it is where a dam gets built in China, what is on a US state's curriculum for mathematics or history, or even perhaps what new features get added to Python sooner rather than later. Perhaps the best one can do sometimes is just keep it civil. As much as we might like to think playing around writing software is always positive or at least value neutral, I feel it misleading to imagine one can have any significant discussion of technological change (especially in education) without considering political implications: http://www.google.com/search?hl=en&q=%22political+implications+of+technology%22 Consider, from a review of _Disciplined Minds_, to see where *not* considering politics of education gets us: http://www.amazon.com/Disciplined-Minds-Critical-Professionals-Soul-Battering/dp/0742516857 Or from a review of that book: http://louisville.edu/journal/workplace/martinreview.html "There are two key ideological processes in professional education, according to Schmidt. One is favoring students who pick up the point of view of their superiors, behavior Schmidt calls "ideological discipline." The other is favoring students who direct their curiosity as requested by others, a trait Schmidt delightfully dubs "assignable curiosity." For example, the teacher sets the class an assignment, say on symbolism in a novel. It doesn't matter so much whether the novel is by Austen or Gordimer. The question is whether the students will do as they are told. "Good" students will undertake the assigned task conscientiously, perhaps even going beyond what the teacher expected -- but in a way that pleases the teacher. "Difficult" students may do something different, refusing to accept the task as given. No prizes for guessing which students get encouragement and rewards. The same dynamic applies when it comes to qualifying examinations, well known to anyone undertaking a PhD. To be sure of passing, students knuckle down to learn what is expected, for example by studying past exam papers and reading all the assigned books. Any students who instead follow their own interests by only studying things that intrigue them personally are risking their professional future. A few of such independently minded students get through the exams, but most of those who pass have played it safe. They have learned to acquiesce intellectually. They are ready for life as a professional who will not step outside the bounds set by those with power. Schmidt says that "professional education and employment push people to accept a role in which they do not make a significant difference, a politically subordinate role." (p. 2). " I think it critical to use Python (and computers in general) to achieve other goals than just those same old ones of filtering for "assignable curiosity" and "ideological discipline". Why bother with new technology and new ways of doing things otherwise? And further, if that is the way things are slowly changing since the 1960s (to more permissiveness and student-centered learning), why not design our software to support more individualized learning and individualized customization at a rapid pace (like via "edit and continue")? I for one would happily make Guido a deal -- if he ensures "edit and continue" is added to Python plus IDLE in a great way (equivalent to Ruby or Smalltalk's or even, sadly, just VB's) in the next couple of months, I for one would be happy to promise never to post anything remotely "political" to the Edusig list again. (It's apparently not a trivial add-on, otherwise it would have been done by now, or I'd do it myself; I have made indirect contributions in those directions.) Not much of a promise for me as without "Edit and continue", over the long haul, IMHO, other languages will continue to erode Python's mindshare in education and other areas as these trends towards "permissive and student-centered" continue to accelerate in an exponential way (and otherwise I myself wouldn't be evaluating stuff like XotclIDE for TCL/TK). Not much of an offer, but maybe something extra to throw into the pot to perhaps help motivate Guido to make "edit and continue" a priority. :-) Of course, I'd abide by any group decision not to do that anyway. And that seems to be the way things are tending. So be it; I will reassign edusig in my mind from: edusig == "python-as-it-might-be, for education-as-it-is-becoming" to: edusig = "python-as-it-is, for school-as-it-was" Not really a topic that interests me greatly, since I write new software, and since I think school-as-it-was is a dinosaur and often harmful to kids, see for example: http://www.newciv.org/whole/schoolteacher.txt so probably time to move on for now. --Paul Fernhout _______________________________________________ Edu-sig mailing list [email protected] http://mail.python.org/mailman/listinfo/edu-sig
