[sugar] Education?

Edward Cherlin echerlin
Sat Mar 10 18:28:49 EST 2007


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.kay at squeakland.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.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 Sguar 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.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/


More information about the Sugar-devel mailing list