Jason asks -
Relative to your original CP4E grant proposal where you think Python stands now? If we were writing a CP4E-2002 proposal what would be the key points?
I realize that you question is to Guido and I am quite sure I am not him. But I am in a *very* talkative mood today. What I would hope Guido might do is one of two things. Withdraw the proposal. There is simply no evidence of which I am aware that children have the cognitive capacity to do anything that is properly called programming - depending of course, and this is the key to it all, on how one defines the term programming and who one considers a child. Under my definitions, we have a no go. I certainly do not blame that reality on Guido. But nor do I expect him to have the capacity to change it. Else, Define the terms carefully. What do we mean by "programming" when we are talking about what it is that we hope to be able to expose to children. What Guido and Tim do? Obviously not. What I do? I humbly suggest not. What my son did at 7 or 8 with his more education video games? SimCity, e.g. Maybe. In which case there is *lots* going on out there, and it is presumptous to think that Python is bringing anything radically new to the table. So to me the question has always been moving clearly past semantics, to a clear definiton of terms and expectations.Don't think that happened very well the first time around. Art
Art, have you actually *read* the CP4E proposal? Or are you basing your rejection still on the article I wrote for LJ? I am not so naive to expect that most children of 7-8 years old can learn to program -- though there definitely have been unusually talented children that young who *have* used Python (and everything else from Basic to assembler) successfully to create what can only be called computer programs. --Guido van Rossum (home page: http://www.python.org/~guido/)
Art, have you actually *read* the CP4E proposal? Or are you basing your rejection still on the article I wrote for LJ?
Certainly yes. though I haven't reread it recently, and I can't say its fresh in specifcs.
I am not so naive to expect that most children of 7-8 years old can learn to program -- though there definitely have been unusually talented children that young who *have* used Python (and everything else from Basic to assembler) successfully to create what can only be called computer programs.
All I'm lobbying for really is some precision in language (and that request coming from someone yet to get through a three line newsgroup post without a misspelling). A newbie in discussion is anyone from an MIT grad with six languages under his belt looking at Python as a 7th, to a 7th grader who comes to Python as a typical 7th grader. A non-progammer is either a Phd physicist working with Python at the frontiers of science doing, say, molecular modeling, to back to our 7th grader. "Programming" is I don't what, depending on who is using the word, in what context, for what effect. I think *that* has been the source of confusion, misunderstanding, and a few blow-ups along the way. All I am pleading for is some clearer definition of terms, at least when you or others or I are discussing, for example, a language change possibility addressing, for example, the needs of newbies. The MIT grad, or the 7th grader? If we are talking about non-programmers - are they content to be non-progammers? It they are, I make the suggestion we be content to let them stay non-progammers. You, it seems to me, have enough to do to worry about with folks who *want* to understand programming, are willing to work at it, and are looking for a way in. Again, the point being the semantics have been all over the place, and it has been hard to acutally *discuss* much of anything in this area, as far as I am concerned. Other than that - we are actually in agreement about a lot. Obviously, for example, I agree with your statement that Python is wonderfully configured as a first language (except for this damn problem of having to import copy :) ). We may disagree as to when it is realistic to introduce it, but there I am really just pulling a gut opinion out of my posterior - which happens, BTW, to be where my Zen intuition hangs out.. Art
I' followin your discussion with great interest. Unfortunately my English is not good enough to contribute to your discussion in an approriate way. Nevertheless I'll try to put here some questions and some remarks.
I am not so naive to expect that most children of 7-8 years old can learn to program -- though there definitely have been unusually talented children that young who *have* used Python (and everything else from Basic to assembler) successfully to create what can only be called computer programs.
... A newbie in discussion is anyone from an MIT grad with six languages under his belt looking at Python as a 7th, to a 7th grader who comes to Python as a typical 7th grader. A non-progammer is either a Phd physicist working with Python at the frontiers of science doing, say, molecular modeling, to back to our 7th grader. "Programming" is I don't what, depending on who is using the word, in what context, for what effect.
As a teacher I'm very concerned about this question, which for me is a practical and not a philosophical one. (Doing abstraction) I' like to say that programming is doing abstaction in pracitice and putting it to work on a machine. Learning how to do this ist furthered by an environment, which provides the possibility to experiment with the material you work with. (In the case of Python this can be done with the interactive interpreter). Would you agree, that this is true for the 7th grader as well as the Phd physicist?
I think *that* has been the source of confusion, misunderstanding, and a few blow-ups along the way. All I am pleading for is some clearer definition of terms, at least when you or others or I are discussing, for example, a language change possibility addressing, for example, the needs of newbies. The MIT grad, or the 7th grader?
Inerestingly it was (and is?) the MIT , which showed us that teaching how to program can be done in the same *spirit* for quite different sort of students addressed. I refer to Seymout Paperts Children, Mindstorms an Computers and to Abelson/Sussmanns Structure and Interpretation of Computer Programs. In some sense this was (is?) the sprit of lisp. I wonder why Paperts approach with turtle-graphics doesn't play a more prominent role in these discussions nowadays. (In my opinion it could be fruitful to integrate it better in efforts using Python in education.) In my experience LOGO suffered from the drawback, that it had a *very* high step in the learning curve, when going ahead from turtle graphics to list processing. There are several reasons for this, one being the fact, that lists in LOGO are the only compound data structure, another one that recursion is *essentially* the only way of control of program flow - how "natural" it is ever considered to be ... So LOGO - as far as I see it now - is a somewhat fundamentalistic language covered whith some sytactic sugar (which in fact spoiles the dish when used in large projects ... ) . So what to do? Go back to scheme (- which for me is the most beautiful programming language) ? In this respect Python offers a wonderful alternative. In contrast to scheme it is a very pragmatic language, which is imo one reason why it is so wonderfully appropriate for learning how to program - regardless of why you have to do it, "in what context, for what effect." Another reason is, that it offers a gentle approach to objects. In this respect I consider it to be more modern than the languages mentioned above. Introducing the concept of objects (of course built-in objects like strings and nubers first) and their names *from the beginning*, - accompanied by a discussion of the concept of mutability - will even prevent the process of copying lists to turn into a nearly unsurpassable problem. Or - if you have an object fritz, then build [fritz, fritz, fritz] and make fritz.turn_angry(), would you doubt, which one gets angry ;-). And this approach will also allow you to go a smooth path up to constructing your own objects. Regardless of how you see this, there remains much to do to bring Python to the schools. ( It certainly was not by accident, that the announced educational section at EuroPython was cancelled?) It would certainly be useful to discuss ways how this could be accomplished in this forum. I for my part, besides doing some courses for teachers here in Vienna, I am involved in the process of writing a textbook about programming with Python for Kids, in German. Hope to give it a push here, this way. Regards Gregor
....
Other than that - we are actually in agreement about a lot. Obviously, for example, I agree with your statement that Python is wonderfully configured as a first language (except for this damn problem of having to import copy :) ).
We may disagree as to when it is realistic to introduce it, but there I am really just pulling a gut opinion out of my posterior - which happens, BTW, to be where my Zen intuition hangs out..
Art
_______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig
I wonder why Paperts approach with turtle-graphics doesn't play a more prominent role in these discussions nowadays. (In my opinion it could be fruitful to integrate it better in efforts using Python in education.)
Turtle graphics were appropriate given the capacity of the hardware and software environment at the time Logo was developed. These days, the equivalent is much more flashy, but the idea is the same: visual output is wonderfully attractive. Various groups are using virtual reality, game development or other 3D graphics backends that are controlled by simple statements in the student's program. Alice was one example of this; VPython is another. I expect there are more. (Jeff Elkner is a rare exception in this space. :-)
I for my part, besides doing some courses for teachers here in Vienna, I am involved in the process of writing a textbook about programming with Python for Kids, in German. Hope to give it a push here, this way.
Wonderful! Keep us posted! Make sure it it mentioned on the Python website once it's available!!! --Guido van Rossum (home page: http://www.python.org/~guido/)
On Mon, 2002-09-23 at 14:22, Guido van Rossum wrote:
Turtle graphics were appropriate given the capacity of the hardware and software environment at the time Logo was developed. These days, the equivalent is much more flashy, but the idea is the same: visual output is wonderfully attractive. (...)
True, some decades ago kids were satisfied when they got 'hello, world' or something slightly more complicated printed onto the screen. Today they are spoiled by 3D-games. We have to give them more "flashy" toys to get them playing/working/learning. Urban Anjar -- Urban Anjar, IT-avdelningen, Högskolan i Kalmar, 0480-446488 ,070-6093556 Handledningar: http://www.helpdesk.hik.se/handledning KLUG: http://wnanur.dse.hik.se/klug
On Mon, 2002-09-23 at 14:22, Guido van Rossum wrote:
Turtle graphics were appropriate given the capacity of the hardware and software environment at the time Logo was developed. These days, the equivalent is much more flashy, but the idea is the same: visual output is wonderfully attractive. (...)
True, some decades ago kids were satisfied when they got 'hello, world' or something slightly more complicated printed onto the screen. Today they are spoiled by 3D-games. We have to give them more "flashy" toys to get them playing/working/learning. Urban Anjar -- Urban Anjar, IT-avdelningen, Högskolan i Kalmar, 0480-446488 ,070-6093556 Handledningar: http://www.helpdesk.hik.se/handledning KLUG: http://wnanur.dse.hik.se/klug
Regardless of how you see this, there remains much to do to bring Python to the schools. ( It certainly was not by accident, that the announced educational section at EuroPython was cancelled?) It would certainly be useful to discuss ways how this could be accomplished in this forum.
What do you suggest?
I for my part, besides doing some courses for teachers here in Vienna, I am involved in the process of writing a textbook about programming with Python for Kids, in German. Hope to give it a push here, this way.
I hope it it gets translated into other languages too when published. good luck ./Jason
All I'm lobbying for really is some precision in language
Wish granted (if I ever get back to this). --Guido van Rossum (home page: http://www.python.org/~guido/)
participants (5)
-
Arthur
-
Gregor Lingl
-
Guido van Rossum
-
Jason Cunliffe
-
Urban Anjar