Ian Bicking: the old part of his blog

Re: More Python, Education

As someone who learned to program with Python, I would like to offer a counterview.

Essentially that minimilism is essential. And a sense of direct, unmediated, transparent contact with underlying mechanisms. The Python prompt is an example of that kind of environment.

This is true I think partly on cognitive grounds, but also partly on motivational grounds. I am motivated to learn to program to gain independance from others' notions of how things need to be - otherwise I might go about the business of being a happy Windows user. A heavy IDE leaves me confused about what is possible from outside of it - from day one.

Before coming to Python I had found Scheme via the DrScheme project - and found myself confused from the beginning as to what was the environment and what was the programming language. And moved on.

In finding Python, a generic text editor and the raw prompt I find what - for me - was the right environment.

And I think the most important point - the progress was not only immediate, but has been sustained.

I like your reference to childrens' drawings.

We should not be concerned with the sophistication of the output - which is what I think the heavy IDE aided approach seems too often to focus upon. Teaching children or anyone else that is what is important at the initial stages is the output, rather than the process, is misleading them. And children - in particular - are intuitive enough to know when they are being mislead. If we can't find a way to introduce children to programming without misleading them - and I seem to be open to that possiblity that this is true more than many others - perhaps we should simply wait until they are developed, cognititively, to the point where we can.

Why start a process in a way that is not sustainable.

What does the environment teach us really about the most important aspect of becoming a programmer in any meaningful sense - i.e., working independantly of large sets of mysterious depedencies. Most IDEs for beginning programmers are not only neutral, but I think counterproduct on this point - introducing programming as another form of dependency, rather than as the kind of liberating acitivity it should be understood, from the beginning, to be. And I think needs to be, if interest in it is to be sustained.

Art

Comment on More Python, Education
by Art