------------------------------ Date: Sat, 10 Mar 2007 15:28:39 -0800 From: "Edward Cherlin" <echerlin [ at ] gmail [ dot ] com> Subject: Re: [sugar] Education? To: Sugar [ at ] laptop [ dot ] org Message-ID: <e574f6eb0703101528v4031b61cp52309f13ae3b14bb [ at ] mail [ dot ] gmail [ dot ] com> Content-Type: text/plain; charset=UTF-8; format=flowed Ooh, an rwar!! Can I play, too? I'm a famous APL bigot. (Famous within the APL community, anyway, for APL News and I-APL) Actually, I lie. I prefer APL, but I use lots of other languages, and anyway, Alan and Guido are not rwarring. They are not language bigots. They know that you have to understand multiple language models in order to do an effective job of language design. It's the rest of the participants here who worry me. Chill, please. We need factual comparisons, not hatred, and especially not cognitive dissonance. (You get cognitive dissonance when you have been taught an inferior language (or whatever), and won't listen to anybody recommending better tools because you don't want to admit to yourself how much time and effort you have wasted. Like the COBOL programmer who claims ten years of experience, but turns out to have two years, repeated five times.) I don't think you have the right to claim any authority in language design or language preferences unless you know at least a half dozen *different* language models, preferably as different as LISP, FORTH, APL, C, C++, Smalltalk, Python, and Snobol (or its successor, Icon). Not just how to program in them, but how they are implemented. For this purpose I can recommend several books and several astonishingly understandable implementations: The Anatomy of LISP, by John Allen; the original Smalltalk-80 books; the published commented source code for Ken Iverson's J version of APL; any FORTH porting guide and the half-page FORTH source for the FORTH compiler; and MACRO SPITBOL. And then you should have some implementation and design experience. TeX and The TeXBook are also excellent. (I don't know of a good book on implementing Python. Anybody?) Of course we have Free implementations of all of these, for example: clisp, squeak, aplus, gcc, g++, gforth, python*.*, iconc. Alan and Guido fulfill these requirements more than admirably. I am much further down the scale, but I do have an APL implementation to my credit, and some other design and implementation work. None of this means that I am an Authority whom you must bow down to. But neither are you. Another important factor in this OLPC discussion is that we are not restricted to the current implementation of anything. We are at liberty to build anything that we find serves the interests of the children better. Not this month or this year, perhaps, but we have the entire future before us. We also have the prospect of millions of new converts to Free Software who know much better than we do what will help them learn or deal with other issues that confront them. If we are successful in creating programming environments suitable for third-graders, we will see a presently unimaginable explosion of creativity in the next few years. On 3/9/07, Alan Kay <alan [ dot ] kay [ at ] squeakland [ dot ] org> wrote:
Guido knows that I've been advocating that the Python folks should do Etoys or a very Etoys like environment in Python (and that the rest of the OLPC be given an objectification and media and scripting integration that is Etoys like).
Thank you, Alan, for demonstrating the right way to discuss these issues. Yes, please, Guido, and please show us how to do it better.
However, there are simply zillions of things left to be done everywhere for OLPC so the first round of SW on the XO will be more of a gathering of "suggestive" features and abilities (of which Etoys is just one). That seems fine to me.
Actually, there is more to discuss. * As far as I know, nobody has done a literature survey on educational programming. I know of a number of projects in languages other than Logo and Smalltalk. Most of what I know about is in APL, including IBM's donation of time on a 360 so that children in one school could do all of their math-related work in APL, and Prof. Howard Peelle's (UMass School of Education) experiments with APL programming in third grade. The J language, Iverson's last version of APL, includes object-oriented programming, GUI tools, and much more. Good for statistics, trig, linear algebra, calculus, group theory, graph theory, and other branches of mathematics relevant to high-school level science, economics, and business. * Then there is Omar Khayyam Moore's classic work on using a 360 and a Selectric terminal to teach two-year-olds to read and write. * I have not seen any discussion of the Little Wizard environment or the Debian Jr. set of packages for children. I don't know enough to recommend them, and would welcome any comments pro or con. But I would prefer to hear about *experience* with any of them, not just opinion.
Viewpoints Research (our little non-profit) doesn't have any "ego or identity" staked around whether the children's authoring environment is Python based or Squeak based. I have said many times that, if the general integrative base of XO is to be Python, then the Etoys-like authoring should be based in Python also. However, I will personally fight to the death to make sure that there is a children's authoring environment that allows even young children to do simulation style programming with very rich media objects.
Hear, hear. Preferably several.
For now, that is Etoys. It could be a suitable object-oriented Logo with media objects (this is essentially what Etoys is). It could be some better design (let's do one). The base could be Javascript (if implemented on top of an integrated environment of sufficient power), Python (ditto), Ruby (ditto), etc. Whatever it is, it has to be above high thresholds, not a hack or a gesture. Besides the programming the children use to learn important ideas in math and science, they also need to be able to see how their own computer world is structured by being able to "pop the hood" on practically everything they use. Perhaps it is OK for high school children to see the current code (but I don't think so). I think there needs to be a wrapping on the entire set of facilities that uses the same conventions that 9 year olds do their own programming in. Again, if it is to be Python, then it needs to be crafted a bit for younger children. E.g. Etoys allows easy unlimited parallel tasking, and this is very important for children's programming. Etc. There are many good things that can be done here. We live in a computing world in which there is a tremendous amount of identification between many programmers and the tools they use -- so strong that it resembles religious fervor.
It *is* religious fervor. The phenomenon of cognitive dissonance was first discovered in the context of failed religious prophecies. Far from diminishing confidence in the prophet, having a prediction of the end of the world fail makes a congregation grow in fervor and hence in size.
From my view, ALL of the system have such flaws that we are better off being critical of all of them and try to use the best ideas from everywhere.
Hear, hear.
If "Children First!" is really the goal here, then we must spend most of our energies trying to make the childrens' environments more conducive to creative learning of powerful ideas.
And to letting the children take over and do it better.
Cheers, Alan At 02:52 AM 3/9/2007, MBurns wrote: On 3/8/07, no body <esorcus [ at ] hotmail [ dot ] com> wrote: >Isn't the mere presence of eToys on the XO a complete anathema to the sugar philosophy?
Religion again.
As the XO is about education and etoys is the only software on the OLPC that actually has any relation to education
This turns out not to be the case. Emphatically. Education is not only about programming. It is about tools and content also. There are lots of Free Software packages for math (numeric, geometric, and symbolic, together with APL), physics, chemistry, human languages, literacy (text-to-speech, speech recognition), literature, music, art, and other common and necessary school subjects. Word processing with math formulas, spreadsheets, presentations, database, and graphics are all highly educational tools. The Wikipedia subset to be provided on the school servers also counts heavily.
the above is a somewhat confusing statement. But maybe I misunderstood and the XO is really about Python...
Definitely not.
I think the quote is referencing something else (though I may misunderstand). The eToys environment is a self-contained world of development. One that exists within the Sugar world of development. Programs, projects, source code and objects written in that eToys world do not exist outside in the Sugar world. You can write a sugar Activity or an eToys bundle, and, as we have seen in the gaming realm, they can often accomplish the same end goal. Now this may or may not be an issue to people (OLPC devs, students, teachers), they may or may not care, but it is an interesting 'world inside a world' for this transparent learning machine we are developing. -- Michael Burns * Security Student NET * Oregon State University _______________________________________________ Sugar mailing list Sugar [ at ] laptop [ dot ] org http://mailman.laptop.org/mailman/listinfo/sugar
-- Edward Cherlin http://www.linkedin.com/profile?viewProfile=&key=82712 Earth Treasury End Poverty at a Profit http://wiki.laptop.org/go/Earth_Treasury WIRE AFRICA http//www.wireafrica.org/ ------------------------------