From: ·······@noshpam.lbl.government
Subject: Logo as an alternative to Python?
Date: 
Message-ID: <Pine.LNX.4.44.0401120159220.13379-100000@thar.lbl.gov>
Hello,

I remember reading some postings on comp.lang.scheme about some people
coming up with a dialect of Scheme that would use indentation to
replace parentheses. This grew out of some discussion on Python. I
hadn't ever used Python, so I took a look at some sample code on Peter
Norvig's webpage. That's when it hit me: it looked just like the Logo
code I had to use in UC Berkeley's CS 61A!

So I started doing some light reading on Logo. Wikipedia even
describes it as "Scheme without parentheses". 

So, given suitable libraries for POSIX functionality, could Logo be
very similar to Python? Even replace it when necessary?

~Tomer

From: Joe Marshall
Subject: Re: Logo as an alternative to Python?
Date: 
Message-ID: <smilai1e.fsf@comcast.net>
·······@noshpam.lbl.government writes:

> Hello,
>
> I remember reading some postings on comp.lang.scheme about some people
> coming up with a dialect of Scheme that would use indentation to
> replace parentheses. 

You should look at this:
  http://compsoc.dur.ac.uk/whitespace/

They have dispensed with everything *but* the indentation.  The code
is the clearest I've encountered.

-- 
~jrm
From: Marco Antoniotti
Subject: Re: Logo as an alternative to Python?
Date: 
Message-ID: <I_zMb.366$Nq.77574@typhoon.nyu.edu>
Joe Marshall wrote:

> ·······@noshpam.lbl.government writes:
> 
> 
>>Hello,
>>
>>I remember reading some postings on comp.lang.scheme about some people
>>coming up with a dialect of Scheme that would use indentation to
>>replace parentheses. 
> 
> 
> You should look at this:
>   http://compsoc.dur.ac.uk/whitespace/
> 
> They have dispensed with everything *but* the indentation.  The code
> is the clearest I've encountered.
> 

INTERCAL is dead.

Cheers

--
Marco
From: Alexander Schreiber
Subject: Re: Logo as an alternative to Python?
Date: 
Message-ID: <slrnc05m9f.lbj.als@thangorodrim.de>
Marco Antoniotti <·······@cs.nyu.edu> wrote:
>
>
>Joe Marshall wrote:
>
>> ·······@noshpam.lbl.government writes:
>> 
>> 
>>>Hello,
>>>
>>>I remember reading some postings on comp.lang.scheme about some people
>>>coming up with a dialect of Scheme that would use indentation to
>>>replace parentheses. 
>> 
>> 
>> You should look at this:
>>   http://compsoc.dur.ac.uk/whitespace/
>> 
>> They have dispensed with everything *but* the indentation.  The code
>> is the clearest I've encountered.
>> 
>
>INTERCAL is dead.

In this case, bring on the proper necromancer. How about an INTERCAL
compiler in Common Lisp (to kick this back to topic)?

But ITYM the Whitespace programming language.
-- 
"Opportunity is missed by most people because it is dressed in overalls and
 looks like work."                                      -- Thomas A. Edison
From: Henrik Motakef
Subject: Re: Logo as an alternative to Python?
Date: 
Message-ID: <x7oet948tb.fsf@crocket.internal.henrik-motakef.de>
·······@noshpam.lbl.government writes:

> Hello,
> 
> I remember reading some postings on comp.lang.scheme about some people
> coming up with a dialect of Scheme that would use indentation to
> replace parentheses. This grew out of some discussion on Python. I
> hadn't ever used Python, so I took a look at some sample code on Peter
> Norvig's webpage. That's when it hit me: it looked just like the Logo
> code I had to use in UC Berkeley's CS 61A!
> 
> So I started doing some light reading on Logo. Wikipedia even
> describes it as "Scheme without parentheses". 

If you are more generically interested in a "Lisp-like language
without parentheses", you could also try Dylan.
From: Brian Harvey
Subject: Re: Logo as an alternative to Python?
Date: 
Message-ID: <btujq9$3rb$1@abbenay.CS.Berkeley.EDU>
·······@noshpam.lbl.government writes:
>So I started doing some light reading on Logo. Wikipedia even
>describes it as "Scheme without parentheses". 
>
>So, given suitable libraries for POSIX functionality, could Logo be
>very similar to Python? Even replace it when necessary?

Logo (as you should remember from 61A!) is different from most modern Lisp
dialects (including Scheme) in one important way:  it's dynamically scoped.
So "Scheme without parentheses" is only fuzzily true; it would be fairer to
say "traditional Lisp without parentheses."

Whether the scope rules matter to you depends on what you're trying to do.  I
don't want to start a dispute about which is better; personally, I find uses
for both Scheme and Logo.  I'd certainly choose Scheme for a large real-world
programming project, but I prefer Logo for teaching young kids.  For little
quick-and-dirty projects, I've used both, generally deciding on some basis
other than the scope rules; for example, if the problem involves tearing words
apart into letters, I use Logo, but if the problem requires bignums, I use
Scheme.

Python's scope rules, iirc, are complicated and kinda ugly, neither fish nor
fowl.  It has other strengths, such as the use of sets as a primitive data
type.

Note that I've been talking about semantics, not syntax.  If the Python
feature you're trying to emulate is the use of indentation to delimit program
blocks, Logo doesn't do that.  Instead of program blocks, Logo uses
instruction lists, as Lisp does in the EVAL procedure.  Logo uses square
brackets, rather than parentheses, to delimit literal lists, but that isn't
much of a difference.  The "without parentheses" aspect of Logo is that when a
procedure takes a fixed number of arguments, you don't have to enclose the
procedure call in parentheses.

In some Logo dialects, a procedure call must all be within a single line (and
there is some sort of continuation-character mechanism to allow multi-line
"lines"); in other dialects, newline is exactly equivalent to space.  I think
this all feels pretty different from the way whitespace is used in Python.

P.S.  Making indentation significant is *not* my favorite Python feature.
I've had too many experiences moving (C) code from one machine to another, and
discovering that the GUI on the new machine has a different idea of how many
spaces there are in a tab.  In C (and Scheme and Logo) that doesn't matter
except for making the program look ugly, but in Python it would matter.
From: Joe Marshall
Subject: Re: Logo as an alternative to Python?
Date: 
Message-ID: <k73wahru.fsf@comcast.net>
··@cs.berkeley.edu (Brian Harvey) writes:

> ·······@noshpam.lbl.government writes:
>>So I started doing some light reading on Logo. Wikipedia even
>>describes it as "Scheme without parentheses". 
>>
>>So, given suitable libraries for POSIX functionality, could Logo be
>>very similar to Python? Even replace it when necessary?
>
> Logo (as you should remember from 61A!) is different from most modern Lisp
> dialects (including Scheme) in one important way:  it's dynamically scoped.

There is another important difference:  it is *extremely* focused on
imperative programmming.  Yes, you *can* write in a functional style
with Logo, but it is extraordinarily difficult to write any sort of
graphics programs in Logo this way.  This is the primary reason I
don't teach it to my kids.  (dynamic scope is the second)

-- 
~jrm
From: Jacek Generowicz
Subject: Programming languages for the very young [Was: Logo as an alternative to Python?]
Date: 
Message-ID: <tyfisjgdvlp.fsf_-_@pcepsft001.cern.ch>
Joe Marshall <·············@comcast.net> writes:

> This is the primary reason I don't teach it to my kids.

So, what _did_ you teach your kids ?

What experiencens have you (plural) had with teaching programming to
kids? What to look out for? What to avoid? When to start? etc.
From: Joe Marshall
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <k73vrhkg.fsf@ccs.neu.edu>
Jacek Generowicz <················@cern.ch> writes:

> Joe Marshall <·············@comcast.net> writes:
>
>> This is the primary reason I don't teach it to my kids.
>
> So, what _did_ you teach your kids ?

We've dabbled in Scheme and Lisp, but I still haven't found something
that I really like.  Scheme and Lisp are seem too abstract.

HTML, for all its faults (and the fact that it isn't a language for
computing), was a big winner for the kids.  They just *loved* making
web pages.  Sigh.  At least it is more or less declarative.


> What experiencens have you (plural) had with teaching programming to
> kids?  What to look out for?  What to avoid?  When to start? etc.

The biggest problem by far was spelling.  You really have to be a
consistent speller to program.

My youngest decided to start learning how to use the computer at the
age of two and I had little choice in the matter.
From: Jonathan Bartlett
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <6b77c675.0401131423.1ce72e30@posting.google.com>
Joe Marshall <···@ccs.neu.edu> wrote in message news:<············@ccs.neu.edu>...
> Jacek Generowicz <················@cern.ch> writes:
> 
> > Joe Marshall <·············@comcast.net> writes:
> >
> >> This is the primary reason I don't teach it to my kids.
> >
> > So, what _did_ you teach your kids ?
> 
> We've dabbled in Scheme and Lisp, but I still haven't found something
> that I really like.  Scheme and Lisp are seem too abstract.
> 

You might try teaching them assembly language.  I'm working on a book
to teach assembly language as a first language.  That may seem like
heresy here, but really I think it's good to learn how the machine
actually works.  My book is GFDL, and can be accessed at
http://savannah.nongnu.org/projects/pgubook/  The current PDF is at
http://www.eskimo.com/~johnnyb/ProgrammingGroundUp.pdf

Let me know if you're interested, and what you think of the book if
you decide to download it.  I plan on having a final version (well,
first edition) available at the end of the month, and will sell it
online at http://www.bartlettpublishing.com/
From: Coby Beck
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <bu22ue$2i4$1@otis.netspace.net.au>
> You might try teaching them assembly language.  I'm working on a book
> to teach assembly language as a first language.  That may seem like
> heresy here, but really I think it's good to learn how the machine
> actually works.

Except for the fact that all knowledge is good in a general sense, I
disagree with the sentiment of this statement.  IMO, knowledge of assembler
does have some utility for high-level programming, but a very small utility.
It is about the same utility as knowledge of auto-mechanics to a city
traffic planner.


-- 
Coby Beck
(remove #\Space "coby 101 @ big pond . com")
From: Joe Marshall
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <oet6pbbw.fsf@ccs.neu.edu>
·······@eskimo.com (Jonathan Bartlett) writes:

> You might try teaching them assembly language.  I'm working on a book
> to teach assembly language as a first language.  That may seem like
> heresy here, but really I think it's good to learn how the machine
> actually works.  

I learned Z80 assembly as my second computer language and PDP-11
(MACRO-11) assembly as my third.  When I first saw Lisp (in the same
course as the PDP-11), I could not understand why anyone in their
right mind would even consider using Lisp.

Teaching computers using the x86 assembly language would be like
teaching physics using medieval weights and measures.

As much as I like assembly (and I do like it), I'd rather teach them
something *much* more abstract, first.
From: David Combs
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <c0fbn5$dvd$1@reader2.panix.com>
In article <············@ccs.neu.edu>, Joe Marshall  <···@ccs.neu.edu> wrote:
>·······@eskimo.com (Jonathan Bartlett) writes:
>
>> You might try teaching them assembly language.  I'm working on a book
>> to teach assembly language as a first language.  That may seem like
>> heresy here, but really I think it's good to learn how the machine
>> actually works.  
>
>I learned Z80 assembly as my second computer language and PDP-11
>(MACRO-11) assembly as my third. 

For just into to an assy lang, isn't the "Macro-10" assy-lang
for the pdp-10 a pretty good one; simple, powerful, no base-registers,
instruction-set symmetric, etc.

Then, later, for the base-register hair -- cover it as separate
issue.

Of course, a play-language might suffice.

David
From: Peter Seibel
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <m37jzv21xh.fsf@javamonkey.com>
Joe Marshall <···@ccs.neu.edu> writes:

> The biggest problem by far was spelling.  You really have to be a
> consistent speller to program.

Sounds like you should have started them on Interlisp. ;-)

-Peter

-- 
Peter Seibel                                      ·····@javamonkey.com

         Lisp is the red pill. -- John Fraser, comp.lang.lisp
From: Anton van Straaten
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <%tZMb.7093$i4.5812@newsread1.news.atl.earthlink.net>
Joe Marshall wrote:
> Jacek Generowicz <················@cern.ch> writes:
>
> > Joe Marshall <·············@comcast.net> writes:
> >
> >> This is the primary reason I don't teach it to my kids.
> >
> > So, what _did_ you teach your kids ?
>
> We've dabbled in Scheme and Lisp, but I still haven't found something
> that I really like.  Scheme and Lisp are seem too abstract.
>
> HTML, for all its faults (and the fact that it isn't a language for
> computing), was a big winner for the kids.  They just *loved* making
> web pages.  Sigh.  At least it is more or less declarative.

Given that, a possible language choice would be Javascript.  Try not to
recoil in horror!  Javascript has a few benefits:

1.  It's tightly integrated with HTML, which makes it very accessible,
providing a means of doing GUI I/O with small amounts of code and without
requiring a big infrastructure (IDE etc.)  You write a few lines of code in
a web page, using any old editor (teaching Emacs to kids could get you in
trouble with social services ;)   You refresh the page in a browser, and see
pretty graphical results right away.  (You can also run a command line
interpreter if you want, e.g. the Spidermonkey reference implementation).

2.  It supports real lexical closures, allowing use of Scheme-style idioms
(some being more natural than others).  You could probably teach a subset of
the language which would allow for a smooth transition to Scheme by the time
they turn 6...

3.  Balancing the above point, it has those sloppy scripting language
features that tend to make life easier for beginners who haven't yet learned
to be detail-oriented - for example, variable declarations are not
*required*, and errors tend to be dealt with gracefully where possible.

4.  The results are usable by almost anyone - kids can email a page to their
friends, who can see it directly without having to install some pedagogical
programming environment.  The kids can create real deliverable "products",
which may seem much more relevant to them.

5.  It has a prototype-based object system, which makes it easy to create
objects on the fly - just create an object and start assigning properties to
it, i.e. you can write "myobj.foo = 'bar'" and it'll work on any object,
creating a new property if it doesn't already exist.  It's hell in terms of
static analysis, but great for playing around.

6.  It has a good track record with neophytes in the form of web designers,
many of whom are by no stretch of the imagination programmers, but
nevertheless manage to produce small amounts of code that does something
they consider useful.

7.  It's quite a small language, and the subset you'd need for doing
interesting things with kids is even smaller.

Note that this is all conjecture, I haven't tried it on any kids.

The biggest disadvantage of Javascript is probably its syntax, which perhaps
doesn't have the friendliness of something like BASIC or Logo.  Still, it's
fairly forgiving, and not that large a syntax.  But it might not be quite
the right thing for 2 year olds...

Anecdote: when I was 4, my dad taught me to play WFF 'n Proof:
http://www.wff-n-proof.com/www-wff-n-proof-com/WFFN-PRF.chk

I think the downside to this was that my mental development peaked at around
6, and it's been all downhill from there...  ;)

Anton
From: Joe Marshall
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <k73upayd.fsf@ccs.neu.edu>
"Anton van Straaten" <·····@appsolutions.com> writes:

> Joe Marshall wrote:
>> Jacek Generowicz <················@cern.ch> writes:
>>
>> > Joe Marshall <·············@comcast.net> writes:
>> >
>> >> This is the primary reason I don't teach it to my kids.
>> >
>> > So, what _did_ you teach your kids ?
>>
>> We've dabbled in Scheme and Lisp, but I still haven't found something
>> that I really like.  Scheme and Lisp are seem too abstract.
>>
>> HTML, for all its faults (and the fact that it isn't a language for
>> computing), was a big winner for the kids.  They just *loved* making
>> web pages.  Sigh.  At least it is more or less declarative.
>
> Given that, a possible language choice would be Javascript.  Try not to
> recoil in horror!  

I'm not recoiling in horror, it is an interesting idea.

> Javascript has a few benefits:
>
> 1.  It's tightly integrated with HTML, which makes it very accessible,
> providing a means of doing GUI I/O with small amounts of code and without
> requiring a big infrastructure (IDE etc.)  

This is definitely a big plus for Javascript.

> You write a few lines of code in a web page, using any old editor
> (teaching Emacs to kids could get you in trouble with social
> services ;)

*Not* teaching them Emacs would be morally indefensible.

> 2.  It supports real lexical closures

Another plus.

> 3.  Balancing the above point, it has those sloppy scripting language
> features that tend to make life easier for beginners who haven't yet learned
> to be detail-oriented

I hate those.  I think there is an advantage to understanding that
certain objects have certain behaviors --- you simply cannot add a
number and a sentence.

> 4.  The results are usable by almost anyone - kids can email a page to their
> friends, who can see it directly without having to install some pedagogical
> programming environment.  The kids can create real deliverable "products",
> which may seem much more relevant to them.

Yet another plus.

> 5.  It has a prototype-based object system.

Minus.

> 6.  It has a good track record with neophytes in the form of web designers,

I don't want my kids to be code monkeys, I want them to *learn*.

> The biggest disadvantage of Javascript is probably its syntax, 

Yes.  I would prefer parentheses.

> Anecdote: when I was 4, my dad taught me to play WFF 'n Proof:
> http://www.wff-n-proof.com/www-wff-n-proof-com/WFFN-PRF.chk

I didn't know they still made that!
From: Anton van Straaten
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <cZhNb.8248$i4.1207@newsread1.news.atl.earthlink.net>
Joe Marshall wrote:
> "Anton van Straaten" <·····@appsolutions.com> writes:
> > 3.  Balancing the above point, it has those sloppy scripting language
> > features that tend to make life easier for beginners who haven't yet
learned
> > to be detail-oriented
>
> I hate those.  I think there is an advantage to understanding that
> certain objects have certain behaviors --- you simply cannot add a
> number and a sentence.

I think some of those kinds of features can be helpful, others can be the
opposite.  Still, we're talking about teaching young children.  We don't
expect that a kid's model of a house to conform to the local municipal
building codes.  They use cardboard instead of drywall, etc.  I think some
of the things that we tend to assume are essential might need to be let go
of.

> > 5.  It has a prototype-based object system.
>
> Minus.

Of course, you don't have to use it.  If you want objects at all, you can
build them out of closures, just like in Scheme, or mix the approaches,
using the prototype system to add public methods to an object but using
lexical variables to achieve private state.  You can also simulate classes,
if you want them.

Again, I think the friendliness of being able to simply say "obj.foo = ..."
and have it work, without requiring prior setup such as creating a class,
may still be a positive for kids, regardless of what poor software
engineering it might be.

> > 6.  It has a good track record with neophytes in the form of web
designers,
>
> I don't want my kids to be code monkeys, I want them to *learn*.

My point was just Javascript has a demonstrated low barrier to entry - that
people with minimal coding aptitude have been able to use it, therefore kids
with no prior experience should also be able to.

> > The biggest disadvantage of Javascript is probably its syntax,
>
> Yes.  I would prefer parentheses.

Well, the next step would be to write a small interpreter hosted in the web
browser.  You could quite easily build a teaching-oriented Scheme-like
subset on top of Javascript, especially if you didn't care about tail
recursion & continuations and so on.  Someone posted here about their
Scheme-in-Javascript implementation a while ago (which might be more than
you need, although I haven't looked at it).  You'd still get the integration
with HTML and the "deployability" benefits, but the nature of the language
would be under your control.

Anton
From: Joe Marshall
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <d69mp82c.fsf@ccs.neu.edu>
Various people have offered suggestions for good kid-oriented
languages.  Thanks!

In trying to figure this out, I've decided I should think about *why*
I want to teach my kids programming.  There are a bunch of reasons:

  - They should be `computer literate'.

  - It is a good career path should they choose it.

  - It helps build problem-solving skills and encourages critical
    thinking. 

  - I'd like to use it as a foundation for other subjects such as math,
    physics, chemistry, etc.

  - It's a lot of fun.

  - It's an important part of my life.

Because of these, I think that Lisp is the most appropriate language.

They're already more `computer literate' than most adults, so I don't
see any difficulty there.  A large part of `computer literacy' is more
or less `computer familiarity', i.e., being able to see the computer
as a tool (a very fast and very stupid one), rather than as a
something mysterious, fragile, capricious taskmaster.  They're
comfortable with the idea that you should experiment with software,
that bugs are common, documentation sparse, and that using the
computer in unintended ways is reasonable.

While being a computer scientist is a good career path, I don't expect
them to be as interested in it as I am.  However, if they *do* become
interested, it is *far* more valuable for them to learn Lisp than any
other language.  Once you see that any other language is an ``ad-hoc,
informally-specified, bug-ridden, slow implementation of half of
Common Lisp'', it is much easier to learn them.  I have no reservation
about hiring a Lisp programmer to work on a project in a language he
is unfamiliar with.

Lisp has the best environment for building problem-solving skills.
You don't want to compound problems by introducing artifacts from the
language you are using to solve them.

I believe that Cambridge polish notation (fully-parenthesized
s-expressions) are pretty much the best syntax for formal descriptions
of nearly *anything*.  They are extremely minimal and extremely
regular.  I believe that I would have grasped a lot of math more
quickly and easily had it been presented that way.  Of course it is
important to learn standard infix notation, but it took me a while to
separate the syntax from the semantics because it was so ingrained.
It seems to me that I would have saved myself a lot of pain if I knew
that 

   f(x) = x + 3   <-->  (lambda (x) (+ x 3))


The primary drawbacks of Lisp are these:

  - No whiz-bang graphics right out of the box.  When I was in college
    I thought that symbolic differentiation was the greatest thing
    since sliced bread.  I have a feeling that my daughter will find
    it somewhat less inspiring.

  - Not easy to share the results.  Trading with friends is good
    inducement for hacking.

  - Not easy to integrate with other programs.  Using the fruits of
    your labors to, say, automatically decorate your email, would be
    encouraging.

  - Too amorphous.  Lisp is a lot like an infinite supply of 2x4
    Legos.  Yes, you *could* in principle build anything you want, but
    those Lego sets that have a miniature Darth Vader and specially
    molded parts for an X-Wing fighter allow you start playing right
    away.  When I became older, I became more of a Lego `purist', but
    I didn't expect everyone else to.

I think, however, that some hacking on my part might mitigate a bunch
of these drawbacks.

Thoughts?
From: Thomas F. Burdick
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <xcv4quxlvqx.fsf@famine.OCF.Berkeley.EDU>
Joe Marshall <···@ccs.neu.edu> writes:

> The primary drawbacks of Lisp are these:
> 
>   - No whiz-bang graphics right out of the box.  When I was in college
>     I thought that symbolic differentiation was the greatest thing
>     since sliced bread.  I have a feeling that my daughter will find
>     it somewhat less inspiring.
> 
>   - Not easy to share the results.  Trading with friends is good
>     inducement for hacking.

These two are solved if you use, say, MCL or LispWorks.  Graphics
right out of the box, and you can save images pretty easily.

When I was a kid, I got a huge kick out of just being able to make
simple text interactions, with the ability to occasionally show
pictures (C=64 here).  You can make games, stories, cooking shows...
It might not have to be too fancy to get a good, "I made this!!!"
response.

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: Espen Vestre
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <kwk73t372h.fsf@merced.netfonds.no>
···@famine.OCF.Berkeley.EDU (Thomas F. Burdick) writes:

> When I was a kid, I got a huge kick out of just being able to make
> simple text interactions, with the ability to occasionally show
> pictures (C=64 here).  

A good 'teaser' which I've considered to try out on my own kids, is
a random sentence generator (kids love to see the computer generate
surrealistic sentences). 

You could even start out much more modestly by showing them how to
create a very simple "adjective story" program, where the child types
in a text with some kind of markers for missing adjectives, then types
in a bunch of adjectives and let the program insert them randomly into
the story(*)

As a more advanced step, a simple version of Eliza is always fun.

(*) like this:

NFTP 31 > (story)
the <> boy entered the <> room. he spotted his <> sister eating <> cake. <end>
(THE STUPID BOY ENTERED THE RED ROOM. HE SPOTTED HIS DIRTY SISTER EATING GREEN CAKE.)

-- 
  (espen)
From: Anton van Straaten
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <m0tNb.8947$i4.3261@newsread1.news.atl.earthlink.net>
Espen Vestre wrote:
> You could even start out much more modestly by showing them how to
> create a very simple "adjective story" program, ...
>
> NFTP 31 > (story)
> the <> boy entered the <> room. he spotted his <> sister eating <> cake.
<end>
> (THE STUPID BOY ENTERED THE RED ROOM.
> HE SPOTTED HIS DIRTY SISTER EATING GREEN CAKE.)

Plus, your kids would be able to get an after-school job generating nonsense
paragraphs for spammers, especially if they can come up with more phrases
like "HIS DIRTY SISTER"...

Anton
From: Espen Vestre
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <kw1xq13696.fsf@merced.netfonds.no>
"Anton van Straaten" <·····@appsolutions.com> writes:

> Plus, your kids would be able to get an after-school job generating nonsense
> paragraphs for spammers, especially if they can come up with more phrases
> like "HIS DIRTY SISTER"...

I wouldn't recommend that, though, since spammers would require them
to mispsell evrey wrod!
-- 
  (espen)
From: Bradd W. Szonye
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <slrnc0htkm.pmj.bradd+news@szonye.com>
> Joe Marshall <···@ccs.neu.edu> writes:
>> The primary drawbacks of Lisp are these:
>> 
>>   - No whiz-bang graphics right out of the box.  When I was in college
>>     I thought that symbolic differentiation was the greatest thing
>>     since sliced bread.  I have a feeling that my daughter will find
>>     it somewhat less inspiring.
>> 
>>   - Not easy to share the results.  Trading with friends is good
>>     inducement for hacking.

Thomas F. Burdick <···@famine.OCF.Berkeley.EDU> wrote:
> These two are solved if you use, say, MCL or LispWorks.  Graphics
> right out of the box, and you can save images pretty easily.

PLT Scheme does graphics too. A lot of the homework exercises in How to
Design Programs involve creating pretty pictures. Mostly line art, but
kid programmers seem happy enough with that:

> When I was a kid, I got a huge kick out of just being able to make
> simple text interactions, with the ability to occasionally show
> pictures (C=64 here).

I learned on a Commodore PET, a TRS-80, and a VIC-20 (my first home
computer). I was pretty happy just being able to make stick figures out
of "linedraw" characters. IIRC, my first language was BASIC, my second
was Logo, and my third was 6502 assembly. Turtle graphics were really
cool, but I liked BASIC + Commodore "graphics" characters well enough,
and I didn't have Logo at home.
-- 
Bradd W. Szonye
http://www.szonye.com/bradd
From: Pascal Costanza
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <bu4cs4$69i$1@newsreader2.netcologne.de>
Joe Marshall wrote:

> Thoughts?

What about Curl? (just brainstorming, haven't tried it myself)


Pascal

-- 
Tyler: "How's that working out for you?"
Jack: "Great."
Tyler: "Keep it up, then."
From: Karl A. Krueger
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <bu4ojg$hgf$1@baldur.whoi.edu>
In comp.lang.lisp Joe Marshall <···@ccs.neu.edu> wrote:
>  - Too amorphous.  Lisp is a lot like an infinite supply of 2x4
>    Legos.  Yes, you *could* in principle build anything you want, but
>    those Lego sets that have a miniature Darth Vader and specially
>    molded parts for an X-Wing fighter allow you start playing right
>    away.  When I became older, I became more of a Lego `purist', but
>    I didn't expect everyone else to.

Lego is apparently abandoning a lot of these tie-in products and
returning to the basics:

http://story.news.yahoo.com/news?tmpl=story&u=/ap/20040108/ap_on_bi_ge/denmark_lego_1 

	The company now plans to stop making the electronics and movie
	tie-in products and return to its core mission: producing
	colored plastic building blocks for children.

	"We would rather be in control of our own products, the things
	that we can decide," [CEO] Kirk Kristiansen said. "We want to go
	back to our core products, and that is a key part of our future
	strategy."

I expect, however, that they will continue to produce not only 2x4
bricks but also the little 1x2 flats that are so frustrating to pry
apart.  :)

-- 
Karl A. Krueger <········@example.edu>
Woods Hole Oceanographic Institution
Email address is spamtrapped.  s/example/whoi/
"Outlook not so good." -- Magic 8-Ball Software Reviews
From: Anton van Straaten
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <n2mNb.8566$i4.6190@newsread1.news.atl.earthlink.net>
Karl A. Krueger wrote:
> In comp.lang.lisp Joe Marshall <···@ccs.neu.edu> wrote:
> >  - Too amorphous.  Lisp is a lot like an infinite supply of 2x4
> >    Legos.  Yes, you *could* in principle build anything you want, but
> >    those Lego sets that have a miniature Darth Vader and specially
> >    molded parts for an X-Wing fighter allow you start playing right
> >    away.  When I became older, I became more of a Lego `purist', but
> >    I didn't expect everyone else to.
>
> Lego is apparently abandoning a lot of these tie-in products and
> returning to the basics:
>
>
http://story.news.yahoo.com/news?tmpl=story&u=/ap/20040108/ap_on_bi_ge/denma
rk_lego_1
>
> The company now plans to stop making the electronics and movie
> tie-in products and return to its core mission: producing
> colored plastic building blocks for children.

Yes, the problem with a miniature Darth Vader and specially molded X-Wing
parts is that they're mostly useless for building, say, a bridge.  Unless
it's a Gibsonesque post-apocalyptic bridge/homestead, which come to think of
it, would make for a cool Lego model.

Post-apocalyptic bridges aside, clearly this means that Lisp will become
ever more popular as people realize that the prefabricated parts in, say,
J2EE won't help them build anything other than the same sort of applications
that their competition is building... ?

Anton
From: Ray Dillinger
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <4005F4E5.6B703143@sonic.net>
Anton van Straaten wrote:
> 
> Karl A. Krueger wrote:

> Post-apocalyptic bridges aside, clearly this means that Lisp will become
> ever more popular as people realize that the prefabricated parts in, say,
> J2EE won't help them build anything other than the same sort of applications
> that their competition is building... ?

More pointedly, the same sort of applications that the developers of the 
prefabricated parts have already built.

				Bear
From: Kenny Tilton
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <M7oNb.206834$0P1.185254@twister.nyc.rr.com>
Anton van Straaten wrote:
> Karl A. Krueger wrote:
> 
>>Lego is apparently abandoning a lot of these tie-in products and
>>returning to the basics:
>>
>>
> 
> http://story.news.yahoo.com/news?tmpl=story&u=/ap/20040108/ap_on_bi_ge/denma
> rk_lego_1
> 
>>The company now plans to stop making the electronics and movie
>>tie-in products and return to its core mission: producing
>>colored plastic building blocks for children.
> 
> 
> Post-apocalyptic bridges aside, clearly this means that Lisp will become
> ever more popular ...

<g> That's exactly what I was thinking as I read the piece. As long as 
they do not carry it to an exSchreme.

:)

kt

-- 
http://tilton-technology.com

Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film

Your Project Here! http://alu.cliki.net/Industry%20Application
From: Erik Winkels
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <87r7y1ii9g.fsf@xs4all.nl>
Joe Marshall <···@ccs.neu.edu> wrote on Wed, 14 Jan 2004 15:51:55 -0500:
> 
> The primary drawbacks of Lisp are these:
[...]
> I think, however, that some hacking on my part might mitigate a bunch
> of these drawbacks.

Correct :)


>  - No whiz-bang graphics right out of the box.

True for some implementations but nothing a custom core with CL-SDL[1]
can't solve.  (shameless plug)

Matthew Danish and other contributors have done wonderful work on it.
If you'd make some abstractions over the somewhat low-level interface
you'd be set.


>    When I was in college I thought that symbolic differentiation was
>    the greatest thing since sliced bread.  I have a feeling that my
>    daughter will find it somewhat less inspiring.

Yes, I've found that visuals work wonders for kids and teenagers.

What also worked real well for me was making them realize that
something they use everyday and think is hard to make, is actually
pretty easy.

In my case it was teaching a bunch of teenagers with little computer
experience (besides surfing and chatting, that is) to make a website
during a school holiday.  This was a project that started in 1996 I
think when making websites was still somewhat (a very teensy little
bit) higher level computer use for the normal folks.

Your kids should ofcourse start at a little higher level than that :-)
I dunno, hack an Xbox or write a program/game for their mobile phone.
Just trying to think of something here, not really Lisp related those
examples.


Another idea, I tried to integrate ECL[2] into Quake2 on Linux during
a weekend a few months back and got some good results but never
finished it (sorry Juan :).  I've been thinking of continuing with it
so that one can drop their own bots written in Lisp into a
multi-player game and fight against them.  (Using a more modern and
popular engine would be even better.)


cheers,
Erik

[1] http://cl-sdl.sourceforge.net/screenshots/index.html
    http://cl-sdl.sourceforge.net/

[2] http://ecls.sourceforge.net/ecl-in-quake2.jpg
From: cr88192
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <100ekapqko8njf8@corp.supernews.com>
"Erik Winkels" <·······@xs4all.nl> wrote in message
···················@xs4all.nl...
> Joe Marshall <···@ccs.neu.edu> wrote on Wed, 14 Jan 2004 15:51:55 -0500:
> >
> > The primary drawbacks of Lisp are these:
> [...]
> > I think, however, that some hacking on my part might mitigate a bunch
> > of these drawbacks.
>
> Correct :)
>
>
> >  - No whiz-bang graphics right out of the box.
>
> True for some implementations but nothing a custom core with CL-SDL[1]
> can't solve.  (shameless plug)
>
> Matthew Danish and other contributors have done wonderful work on it.
> If you'd make some abstractions over the somewhat low-level interface
> you'd be set.
>
>
> >    When I was in college I thought that symbolic differentiation was
> >    the greatest thing since sliced bread.  I have a feeling that my
> >    daughter will find it somewhat less inspiring.
>
> Yes, I've found that visuals work wonders for kids and teenagers.
>
> What also worked real well for me was making them realize that
> something they use everyday and think is hard to make, is actually
> pretty easy.
>
> In my case it was teaching a bunch of teenagers with little computer
> experience (besides surfing and chatting, that is) to make a website
> during a school holiday.  This was a project that started in 1996 I
> think when making websites was still somewhat (a very teensy little
> bit) higher level computer use for the normal folks.
>
> Your kids should ofcourse start at a little higher level than that :-)
> I dunno, hack an Xbox or write a program/game for their mobile phone.
> Just trying to think of something here, not really Lisp related those
> examples.
>
this brings up old memories.
I remember being in the early 90's, and being in 3rd grade (or such).
in this time, wolfenstien was fairly new, and I had discovered the power of
a hex editor.
I had noticed that I could locate the textures in the files, and use the hex
editor to put garbage or whaatever on the textures (not very skilled, but it
was interesting at the time, along with messing with simcity maps...).

eventually I had discovered batch files, which I could understand and tweak
to make things happen (displaying text, pausing for input, running other
programs, ...).

for someone like me all this kind of thing was interesting. for others it
seems getting them interested in really anything is quite difficult.

later I discovered qbasic, which I thought was yet more cool (in my
youngness, I had a high level of arrogance and had often emberassed myself
by having others know more than I did and having made myself look
stupid...).
things continued, and over a decade later I am like I am now...

I can't explain it that well, nor can I really tell if anything has changed.

>
> Another idea, I tried to integrate ECL[2] into Quake2 on Linux during
> a weekend a few months back and got some good results but never
> finished it (sorry Juan :).  I've been thinking of continuing with it
> so that one can drop their own bots written in Lisp into a
> multi-player game and fight against them.  (Using a more modern and
> popular engine would be even better.)
>
when I was that young, I am unsure if I would have liked lisp though...

ok, this was pointless...
From: Sashank Varma
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <none-B01D44.17515716012004@news.vanderbilt.edu>
In article <···············@corp.supernews.com>,
 "cr88192" <·······@hotmail.com> wrote:

> this brings up old memories.
> I remember being in the early 90's, and being in 3rd grade (or such).
> in this time, wolfenstien was fairly new, and I had discovered the power of
> a hex editor.
> I had noticed that I could locate the textures in the files, and use the hex
> editor to put garbage or whaatever on the textures (not very skilled, but it
> was interesting at the time, along with messing with simcity maps...).
> 
> eventually I had discovered batch files, which I could understand and tweak
> to make things happen (displaying text, pausing for input, running other
> programs, ...).
> 
> for someone like me all this kind of thing was interesting. for others it
> seems getting them interested in really anything is quite difficult.
> 
> later I discovered qbasic, which I thought was yet more cool (in my
> youngness, I had a high level of arrogance and had often emberassed myself
> by having others know more than I did and having made myself look
> stupid...).
> things continued, and over a decade later I am like I am now...

I have similar memories from the early 1980s, except this
was the original Wolfenstein running on an Apple ][e and
the basic in question was Applesoft.

;-)
From: cr88192
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <100h3k6pm2n7g56@corp.supernews.com>
"Sashank Varma" <····@vanderbilt.edu> wrote in message
·······························@news.vanderbilt.edu...
> In article <···············@corp.supernews.com>,
>  "cr88192" <·······@hotmail.com> wrote:
>
> > this brings up old memories.
> > I remember being in the early 90's, and being in 3rd grade (or such).
> > in this time, wolfenstien was fairly new, and I had discovered the power
of
> > a hex editor.
> > I had noticed that I could locate the textures in the files, and use the
hex
> > editor to put garbage or whaatever on the textures (not very skilled,
but it
> > was interesting at the time, along with messing with simcity maps...).
> >
> > eventually I had discovered batch files, which I could understand and
tweak
> > to make things happen (displaying text, pausing for input, running other
> > programs, ...).
> >
> > for someone like me all this kind of thing was interesting. for others
it
> > seems getting them interested in really anything is quite difficult.
> >
> > later I discovered qbasic, which I thought was yet more cool (in my
> > youngness, I had a high level of arrogance and had often emberassed
myself
> > by having others know more than I did and having made myself look
> > stupid...).
> > things continued, and over a decade later I am like I am now...
>
> I have similar memories from the early 1980s, except this
> was the original Wolfenstein running on an Apple ][e and
> the basic in question was Applesoft.
>
> ;-)

yes, I am not that old...
I was born the last day of 1983 (12-31).

oh yes, I remember the apple 2e, these were still around when I was young...
my computer was an 8088 running dos, later I got a 386, which I had quickly
fouled up by messing with (then new to me) bios config utility (and having
my parents take it somewhere else to have someone fix the bios settings...).
note: it was on the 386 I was playing wolfenstien (since it didn't work on
my 8088...), later there was doom (a major jump from wolfenstien, but it ran
slow...).

computers have changed a lot since I was young...
From: Samuel Walters
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <pan.2004.01.18.10.44.30.803195@yahoo.com>
| Erik Winkels said |
> Another idea, I tried to integrate ECL[2] into Quake2 on Linux during
> a weekend a few months back and got some good results but never
> finished it (sorry Juan :).  I've been thinking of continuing with it
> so that one can drop their own bots written in Lisp into a
> multi-player game and fight against them.  (Using a more modern and
> popular engine would be even better.)

You know... This is an *incredibly* good idea.  I spend a lot of time with
my math students trying to find hooks into things that they know and care
about.  The less an idea seems to float out in hypothetical-land, the more
students become interested in it.  (A *very* good book on this is "Where
Mathematics Comes From" [1])  With programming, that might be easier than
we think.  In my day, logo was enough to make all the kids go "WOW, Cool!"
Now, Quake might be able to do that.  You might even be able to have a
tournament of bots, where it's not the players, but the bots competing.

Other games should also be considered.  Something like "The Sims" would
work well.  *ponders*  Pretty much anything where scripting comes into
play would work.  The more visual, the better.  Reading the results of
something you've done, and seeing them are a bit different.  The visual
aspect definitely has a deeper impact since it's hard-wired deeper into
our brains.

Sam Walters.

[1] http://perso.unifr.ch/rafael.nunez/


-- 
Never forget the halloween documents.
http://www.opensource.org/halloween/
""" Where will Microsoft try to drag you today?
    Do you really want to go there?"""
From: Ray Dillinger
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <400AFC5D.CA7079CB@sonic.net>
Samuel Walters wrote:
> 
> | Erik Winkels said |
> > Another idea, I tried to integrate ECL[2] into Quake2 on Linux during
> > a weekend a few months back and got some good results but never
> > finished it (sorry Juan :).  I've been thinking of continuing with it
> > so that one can drop their own bots written in Lisp into a
> > multi-player game and fight against them.  (Using a more modern and
> > popular engine would be even better.)
> 
> You know... This is an *incredibly* good idea.  I spend a lot of time with
> my math students trying to find hooks into things that they know and care
> about.  The less an idea seems to float out in hypothetical-land, the more
> students become interested in it.  (A *very* good book on this is "Where
> Mathematics Comes From" [1])  With programming, that might be easier than
> we think.  In my day, logo was enough to make all the kids go "WOW, Cool!"
> Now, Quake might be able to do that.  You might even be able to have a
> tournament of bots, where it's not the players, but the bots competing.

If you really want their attention, put them in the game as players, 
with 1 to 3 robot teammates they've programmed.  There's absolutely 
nothing to close the loop about making better code, than seeing your 
teammate in a shooting match, who follows *your* orders, do something 
stupid in a life-or-death situation. 

I'd suggest a turn-based combat simulation (roguelike) to maximize 
the andvantage of tactics over reflexes.

				Bear
From: Brian Mastenbrook
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <180120042052318210%NOSPAMbmastenbNOSPAM@cs.indiana.edu>
In article <·················@sonic.net>, Ray Dillinger
<····@sonic.net> wrote:

> If you really want their attention, put them in the game as players, 
> with 1 to 3 robot teammates they've programmed.  There's absolutely 
> nothing to close the loop about making better code, than seeing your 
> teammate in a shooting match, who follows *your* orders, do something 
> stupid in a life-or-death situation. 
> 
> I'd suggest a turn-based combat simulation (roguelike) to maximize 
> the andvantage of tactics over reflexes.

Have you heard of Mindrover? It's a programming environment for
simulated battlebots, which is done in a very neat visual fashion. I
highly recommend it both for teaching programming and as a means of
wasting time.

http://www.mindrover.com

-- 
Brian Mastenbrook
http://www.cs.indiana.edu/~bmastenb/
From: Samuel Walters
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <pan.2004.01.19.03.05.37.80679@yahoo.com>
| Brian Mastenbrook said |
> Have you heard of Mindrover? It's a programming environment for
> simulated battlebots, which is done in a very neat visual fashion. I
> highly recommend it both for teaching programming and as a means of
> wasting time.

*drool*  wow... When this game came out, it was a bit too much for my p100
to handle, but now!  I have a 1.3GHz T-Bird!

Sam, who sees much wasted time in his future, Walters.

-- 
Never forget the halloween documents.
http://www.opensource.org/halloween/
""" Where will Microsoft try to drag you today?
    Do you really want to go there?"""
From: Lee Hart
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <40170739.53DB@earthlink.net>
Brian Mastenbrook wrote:
> 
> In article <·················@sonic.net>, Ray Dillinger
> <····@sonic.net> wrote:
> 
> > If you really want their attention, put them in the game as players,
> > with 1 to 3 robot teammates they've programmed.  There's absolutely
> > nothing to close the loop about making better code, than seeing your
> > teammate in a shooting match, who follows *your* orders, do something
> > stupid in a life-or-death situation.
> >
> > I'd suggest a turn-based combat simulation (roguelike) to maximize
> > the andvantage of tactics over reflexes.

What an interesting idea!

I thought about this some time ago, when I was looking for a way to
avoid the KATMASETD 
(kill-anything-that-moves-and-steal-everything-that-doesn't) mindset.
What I thought would be interesting would be to use NASA photos of other
planets, and make your robots space exploration probes. You have to
program them to go out and perform certain missions. Of course, your
first efforts will fail; you have to program more robots to go out and
rescue the ones that failed, etc.
--
Lee A. Hart                Ring the bells that still can ring
814 8th Ave. N.            Forget your perfect offering
Sartell, MN 56377 USA      There is a crack in everything
leeahart_at_earthlink.net  That's how the light gets in - Leonard Cohen
From: Samuel Walters
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <pan.2004.01.18.22.07.28.910888@yahoo.com>
| Ray Dillinger said |
> If you really want their attention, put them in the game as players, 
> with 1 to 3 robot teammates they've programmed.  There's absolutely 
> nothing to close the loop about making better code, than seeing your 
> teammate in a shooting match, who follows *your* orders, do something 
> stupid in a life-or-death situation. 
Very true.  I would have to consider the group of kids, though.  Some kids
sit in front of the console all day and some have never really liked video
games.  There is a balance that must be struck.

> I'd suggest a turn-based combat simulation (roguelike) to maximize 
> the andvantage of tactics over reflexes.

I have considered something like C++ Robots.  I could build a little
graphical depiction of the action and project it overhead.

Sam Walters.

-- 
Never forget the halloween documents.
http://www.opensource.org/halloween/
""" Where will Microsoft try to drag you today?
    Do you really want to go there?"""
From: Brian Harvey
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <bu758p$fks$1@abbenay.CS.Berkeley.EDU>
Joe Marshall <···@ccs.neu.edu> writes:
>  - They should be `computer literate'.

"Stop Saying 'Computer Literacy'!",
http://www.cs.berkeley.edu/~bh/stop.html

>  - No whiz-bang graphics right out of the box.
>  - Not easy to integrate with other programs.  Using the fruits of
>    your labors to, say, automatically decorate your email, would be
>    encouraging.

One of the features everyone keeps wanting me to add to the
Berkeley Logo interpreter is a way to export the graphics window
to other programs.  This has always struck me as a Herculean task
because of different operating systems, different graphics formats,
etc.  But, as a stopgap, stealing the idea from Vladimir Batagelj,
I put in a command that outputs the graphics (consisting of line
drawings made with the turtle) as an Encapsulated Postscript file.

The point about EPS format is that it's a text file, so any old
Lisp right out of the box can write one, and other sofware will
import it as graphics.  I dunno about your email client (I use
/usr/bin/mail, myself; it doesn't know about attachments so it's
guaranteed virus-proof :-) but word processors seem to know about
EPS format.

And writing a Lisp program to generate EPS might sorta demystify
the whole graphics business.
From: Anton van Straaten
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <f8GNb.9825$i4.7043@newsread1.news.atl.earthlink.net>
Brian Harvey wrote:
> Joe Marshall <···@ccs.neu.edu> writes:
> >  - They should be `computer literate'.
>
> "Stop Saying 'Computer Literacy'!",
> http://www.cs.berkeley.edu/~bh/stop.html

Do you still believe any of that, or was it written mainly to protest the
consumption of scarce computer time by the unwashed masses?

I'm basing that question on the conclusion, which says "for example, [a
computer literacy policy] leads to spreading out the available computer time
(of which there is never enough) among a very large number of students, some
of whom aren't interested. The ones who are interested then don't get enough
time to pursue their interest in any meaningful way."

Today more than ever, computer literacy *is* something that should be taught
universally.  I'd rebut a number of the points in the paper, but seeing as
how it's 21 years old, I suspect it's moot nowadays anyway.

Anton
From: cr88192
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <100entitgg7hm0e@corp.supernews.com>
"Anton van Straaten" <·····@appsolutions.com> wrote in message
·······················@newsread1.news.atl.earthlink.net...
> Brian Harvey wrote:
> > Joe Marshall <···@ccs.neu.edu> writes:
> > >  - They should be `computer literate'.
> >
> > "Stop Saying 'Computer Literacy'!",
> > http://www.cs.berkeley.edu/~bh/stop.html
>
> Do you still believe any of that, or was it written mainly to protest the
> consumption of scarce computer time by the unwashed masses?
>
> I'm basing that question on the conclusion, which says "for example, [a
> computer literacy policy] leads to spreading out the available computer
time
> (of which there is never enough) among a very large number of students,
some
> of whom aren't interested. The ones who are interested then don't get
enough
> time to pursue their interest in any meaningful way."
>
> Today more than ever, computer literacy *is* something that should be
taught
> universally.  I'd rebut a number of the points in the paper, but seeing as
> how it's 21 years old, I suspect it's moot nowadays anyway.
>
I will argue, having been in highschool recently (graduating in 2003).

basically, they teach:
word processing (msword)+endless amounts of typing;
spreadsheets (excel);
possibly databases (access).

similarly, they have a single room with <30 computers or such, which is
expected to be shared amoung the 3000 or so students in the school (time is
allocated per class, and it is not possible to use them if ones class is not
scheduled for it, though computers were located in the libraries thus people
could get some time there). comp lit classes often consisted of listening to
the teachers talk/watching videos, using the lab if it was scheduled for
that day...
additionally, one has to have special paperwork done and they have to get a
special sticker indicating they had authority to use the schools computers
(I couldn't since the paperwork was not done for me).

by my senior year I had moved to a different school, and I took a comp lit
class then (passing this time). still, it was the usual horror of comp lit
classes (basically word+excel).

more so, I had to take it again for my first semester of college (this is
all I have at present). at least the college has a much greater number of
computers (essentially 1 for every student in classes that use them).
however, what was also a shock is the apparent lack of both security gaurds
or cameras (yes, I had looked, no real sign of cameras...). oh yes, and one
is free to move about (or leave classes early) without causing suspicion
(eg: gaurds verifying student id and passes).
it could be argued though that the gaurds were only lightly armed
(mace+nightstick+handcuffs), and there were not metaldetectors around the
doors or such (excluding the handheld ones, but I don't think they count,
and rarely were students checked). there were dogs though, I think they were
for finding crap hidden in lockers or backpacks or such...

I didn't like highschool (eg: "probably the most horrid experience ever"),
at least I graduated, so I don't have to deal with anymore of that crap (I
was lucky, I was pretty close to the failing point...).

actually, most of the gaurds and cameras and stuff was located in the school
I was in my junior year.
during my freshman and sophmore years I was in a different school (which had
much greater crowding problems, but less gaurds or such). I had often made
use of the teqnique of going "around" the building to get to classes (get to
nearest exit, walk around outside of building, reenter nearest the class).
otherwise it was difficult to get there on time (being part of the slow mass
of people moving through the halls).
my senior year was at yet a different school, which was a lot smaller and
lacked guards and cameras as well...
ok, but the school I was in my junior year really sucked (compared to the
others). it was also a very strong pusher of all that "school spirit"
crap...

ok, I think I have lost the point...
From: Brian Harvey
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <bu7tcn$gpu$1@abbenay.CS.Berkeley.EDU>
"Anton van Straaten" <·····@appsolutions.com> writes:
>> "Stop Saying 'Computer Literacy'!",
>> http://www.cs.berkeley.edu/~bh/stop.html
>
>Do you still believe any of that, or was it written mainly to protest the
>consumption of scarce computer time by the unwashed masses?
>
>I'm basing that question on the conclusion, which says "for example, [a
>computer literacy policy] leads to spreading out the available computer time
>(of which there is never enough) among a very large number of students, some
>of whom aren't interested. The ones who are interested then don't get enough
>time to pursue their interest in any meaningful way."

Some of the details are different today, but I still don't like the mindset
that's conjured up by the word "literacy."

I think the proximate reason I wrote those sentences you quoted was that
I'd recently visited a high school in which every student was required to
take a course about how to use a word processor, but the kids weren't
allowed to use the computers to write their English papers, because all
the available time was taken up by the course itself.  So it wasn't just
a question of the programming elite not getting enough time, although that
bothered me, too.

One thing that's different today, of course, is that many more kids now
have serious (i.e. >= 16-bit) computers at home, so they're not so
dependent on the school's resource allocation choices.

>Today more than ever, computer literacy *is* something that should be taught
>universally.  I'd rebut a number of the points in the paper, but seeing as
>how it's 21 years old, I suspect it's moot nowadays anyway.

But another thing that's different is that today, even more so than when I
wrote the paper, the kids know more about using computers than the teachers
do.  So the whole premise of these courses is shaky, imho.

And, have you ever seen the actual curriculum of one of these courses?
Most of them seem to be dedicated to making sure that no kid will ever want
to have anything to do with computers.  It was even worse then -- today some
"literacy" courses aren't full of vocabulary to memorize (central processor,
RAM, ROM, Megahertz, ...).  But they still tend to be taught by the same
dragons who used to teach the typing class, and often they're indistinguishable
from the typing class.

Thinking more deeply about it:  Computers keep getting cheaper, but they're
still pretty expensive, in enough-to-be-useful quantities, compared with
things like books and teachers.  So "computer literacy" is always at the
expense of something else.  And I would still argue that, even in a job that
involves using computers, the actual computer skill is the least of what
you have to know.  For example, there are kids who know a lot more than I do
about which button means what in M$ Word, but who still can't write a
coherent paragraph.  Those kids are not going to get jobs at which their
word processing skills matter -- the computers at McDonald's have pictures
of the menu items on the keys, I think.  :-)  I'd rather hire someone who has
*real* literacy and teach him how to use a computer than hire someone who's
a whiz at computers and try to teach him English and critical thinking skills.

So, yeah, although I'd change some details today, I still stand by the main
ideas in that paper.
From: Thomas F. Burdick
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <xcvhdywjsgw.fsf@famine.OCF.Berkeley.EDU>
··@cs.berkeley.edu (Brian Harvey) writes:

> Some of the details are different today, but I still don't like the mindset
> that's conjured up by the word "literacy."

I'm with you on that point, but that's about it.

> One thing that's different today, of course, is that many more kids now
> have serious (i.e. >= 16-bit) computers at home, so they're not so
> dependent on the school's resource allocation choices.

A lot do, a lot don't.  Libraries are generally well equiped, tho,
unlike even 10 years ago.

> >Today more than ever, computer literacy *is* something that should be taught
> >universally.  I'd rebut a number of the points in the paper, but seeing as
> >how it's 21 years old, I suspect it's moot nowadays anyway.
> 
> But another thing that's different is that today, even more so than when I
> wrote the paper, the kids know more about using computers than the teachers
> do.  So the whole premise of these courses is shaky, imho.

If you mean in terms of gaming, chatting, etc., that's probably true.
If you think of vocational computer classes, though, it's not true.
Most high school students don't know how to touch type, nor how to
operate MS Office software in an office environment.

> And, have you ever seen the actual curriculum of one of these courses?
> Most of them seem to be dedicated to making sure that no kid will ever want
> to have anything to do with computers.  It was even worse then -- today some
> "literacy" courses aren't full of vocabulary to memorize (central processor,
> RAM, ROM, Megahertz, ...).  But they still tend to be taught by the same
> dragons who used to teach the typing class, and often they're indistinguishable
> from the typing class.

As someone who can type up to 120 wpm thanks to his scary-as-hell
hit-you-upside-your-head typing teacher, I'm thankful for her.
Teaching HS students how to use Word, Excell, Access, and PowerPoint
is very valuable.  Think of driver's ed.  Some things will change, but
the basic skill set should be useful for some time, and will be very
useful if they try to get a decent job when they graduate.

> For example, there are kids who know a lot more than I do about
> which button means what in M$ Word, but who still can't write a
> coherent paragraph.  Those kids are not going to get jobs at which
> their word processing skills matter -- the computers at McDonald's
> have pictures of the menu items on the keys, I think.  :-)

That attitude is disgusting.  Those same youth, trained in office
skills, have a chance of getting a decent job that they can support
themselves with.  McDonald's is condemning them to abject poverty.

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: Marc Spitzer
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <86fzeguzvj.fsf@bogomips.optonline.net>
···@famine.OCF.Berkeley.EDU (Thomas F. Burdick) writes:

>
> That attitude is disgusting.  Those same youth, trained in office
> skills, have a chance of getting a decent job that they can support
> themselves with.  McDonald's is condemning them to abject poverty.
>

As someone who has worked at McDonnalds and Burger King as crew, ie
the would you like fries with that brigade, as a full time job.  I
never was condemed to poverty, but then I kept going to school at
nights and looking for better jobs etc.  Now if you can not read,
write or speak the dominant language or do a reasonable ammount of
math then you are condemned to poverty and you do it with your own
hand when you do not do anything to improve the situation.  

marc
From: Brian Harvey
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <bu96qj$ien$1@abbenay.CS.Berkeley.EDU>
···@famine.OCF.Berkeley.EDU (Thomas F. Burdick) writes:
>Teaching HS students how to use Word, Excell, Access, and PowerPoint
>is very valuable.  Think of driver's ed.  Some things will change, but
>the basic skill set should be useful for some time, and will be very
>useful if they try to get a decent job when they graduate.

Driver's ed is, imho, a *great* example to discuss.  I don't know of any
school at which driver's ed is a required course.  I don't know of any school
at which it's called "automotive literacy" in an effort to terrorize
teachers/voters/parents/kids into supporting it.  Instead, it's an elective,
often one for which the school charges extra fees, and many kids choose to
take it eagerly, although some don't, and nobody suggests that the ones who
don't will be unemployable.

I'm perfectly happy with the idea of "computer ed" classes offered in a
comparable way.

>> For example, there are kids who know a lot more than I do about
>> which button means what in M$ Word, but who still can't write a
>> coherent paragraph.  Those kids are not going to get jobs at which
>> their word processing skills matter -- the computers at McDonald's
>> have pictures of the menu items on the keys, I think.  :-)
>
>That attitude is disgusting.  Those same youth, trained in office
>skills, have a chance of getting a decent job that they can support
>themselves with.  McDonald's is condemning them to abject poverty.

I don't see how you can read my paragraph, which you quote, as suggesting that
I *want* kids to work at McDonald's.  On the contrary, I want McDonald's out
of business -- obesity has now beat alcohol for second place in cause-of-death
in the US.  (Tobacco, 400K/yr; obesity, 300K/yr; alcohol, 100K/yr.  All
illegal drugs combined, 30K/yr.)

What I am trying to say in that paragraph is that *kids who can't write
coherent English prose are going to end up at McDonalds no matter how
"computer literate" they are.* I disagree that training them in "office
skills" will make the difference, if by "office skills" you mean knowing how
to use Word.  If by "office skills" you mean knowing how to read, write,
spell, think, organize, plan, and complete tasks, then I'm all for it.
Someone with *those* skills can learn to use Word in a day or two on the job.

(P.S.  I'm not saying it's wrong for schools to teach thinking skills and also
teach Word.  If they have the resources to do both, that's great.  But the sad
reality is that we have many schools with rats, leaky roofs, lead paint on the
walls, 30-year-old textbooks, and shiny new computers.  This is, imho, a
misuse of scarce resources.)

(P.P.S.  Another problem with the "computer literacy" mindset is that it makes
computing seem to be an end in itself.  So, when the schools budget a fortune
for computers and a pittance for teacher training, they end up giving one-day
workshops in "computer literacy" -- how to use Word, Outlook, etc.  So the
teachers end up using the computers in the most unimaginative ways possible,
instead of using the computers in ways that genuinely help kids learn the real
curriculum, let alone higher-order thinking skills.)
From: Jim Blandy
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <vt2oet3428f.fsf@zenia.home>
For what it's worth:

In my opinion, Brian's point was perfectly clear in his 1983 essay,
and it was clear enough how the same thinking would apply today.  I
doubt many 1983 opinion pieces on computers and society have survived
as well as that.
From: Marc Spitzer
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <86k73sv0qs.fsf@bogomips.optonline.net>
··@cs.berkeley.edu (Brian Harvey) writes:

> But they still tend to be taught by the same dragons who used to
> teach the typing class, and often they're indistinguishable from the
> typing class.

Well typing never involved thinking, it was a training class not
an education class.  

>
> Thinking more deeply about it: Computers keep getting cheaper, but
> they're still pretty expensive, in enough-to-be-useful quantities,
> compared with things like books and teachers.  So "computer

I disagree with the above, here are my numbers:

ok computer 700 USD ( I know it is cheaper)
30 units = 21,000 USD

That is less then .5 teacher/years and you can get 5 years use out
of them. 


> literacy" is always at the expense of something else.  And I would
> still argue that, even in a job that involves using computers, the
> actual computer skill is the least of what you have to know.  For
> example, there are kids who know a lot more than I do about which
> button means what in M$ Word, but who still can't write a coherent
> paragraph.  Those kids are not going to get jobs at which their word
> processing skills matter -- the computers at McDonald's have
> pictures of the menu items on the keys, I think.  :-) I'd rather
> hire someone who has *real* literacy and teach him how to use a
> computer than hire someone who's a whiz at computers and try to
> teach him English and critical thinking skills.

Teaching people, especially children, to think is hard.  And many
teachers do not have a good handle on logical thinking to begin with,
they were never taught themselves.  Also I think that many schools do
training instead of education, it is so much less work for the teachers
and the school.  

Another thing to remember is that the kid's wrists will probably
go at a much younger age because of all the time typing.  I have seen
18-20 year old people walking around with wrist supports on.

Personally I think computers do a lot to interfere with education,
especially in lower grades when children need to learn social skills.
You know like how to pass notes without getting caught or read and
discuss books.  I would much rather see kids take a course in formal
debating then computer literacy, it's more useful.

marc
From: Thien-Thi Nguyen
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <7gwu7qhlyh.fsf@gnufans.net>
Marc Spitzer <········@optonline.net> writes:

> I would much rather see kids take a course in formal
> debating then computer literacy, it's more useful.

(i think you mean "usenetful"? :-)

i think the best programming language for the very young
is the one where the object is "i" and the methods are
"would like to do", "do", "have done" and "would have done".
from this, all other programming (and debugging ;-) flow.

thi
From: Samuel Walters
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <pan.2004.01.18.12.11.36.17518@yahoo.com>
| Marc Spitzer said |
> Teaching people, especially children, to think is hard.  And many
> teachers do not have a good handle on logical thinking to begin with,
> they were never taught themselves.  Also I think that many schools do
> training instead of education, it is so much less work for the teachers
> and the school.

Part of the problem is deeply ingrained in the teaching philosophy.  Most
classes are "answer oriented."  That is, they concentrate on enumerating
the facts of a situation.  Facts are necessary, but questions are more
important.

When tutoring math with my students, I am very "question oriented."  I try
to teach them how to ask the right questions because the right questions
not only produce context, but generally make the right answer obvious. For
instance, if I were teaching history, I might ask "When did Columbus sail
the ocean blue?"  The problem is that the date isn't terribly important. 
Sure, it provides context when cross-referenced with other dates, but
there are far more interesting things to know.  "Why did Columbus sail
west?  What was going on in the world at that time?  Why was it so
important that he sailed west?  Where did he think he landed when he made
it to America?  What did he do when he got to America?  What did he do
when he got back to Europe?  What changes in the world did that cause?"
etc. etc. etc.  I would rather my students be able to ask those questions
than answer the first one.

Math and computer instructors can be particularly *bad* at this.  They
generally "just got it" when they learned these subjects themselves, and
don't stop to think that their students might be very confused as to what
the issues are, much less how to answer a question.
 
> Personally I think computers do a lot to interfere with education,
> especially in lower grades when children need to learn social skills.
> You know like how to pass notes without getting caught or read and
> discuss books.  I would much rather see kids take a course in formal
> debating then computer literacy, it's more useful.

Agreed, but I think it's a matter of *how* computers are used, not the
computers themselves.  If I ever become a full-fledged math or computer
teacher, I plan on having my students work in groups often.  The point of
math and programming, beyond basic numeracy, is to teach problem solving. 
It is one of the purest forms of problem solving we can teach.  In the
real world, we rarely solve a problem alone in a vacuum.  We work with a
group, or go out and find human resources to help us.  That is an element
sorely missing from many curricula today.

Oh, and as far as important classes go.  I think that woodshop can
actually be one of the most important problem-solving courses out there. 
The fact that it's very physical leverages a different mode of learning. 
Debate also has this interesting aspect in that it is not "book learning,"
but rather "participatory education."

Sam Walters.

-- 
Never forget the halloween documents.
http://www.opensource.org/halloween/
""" Where will Microsoft try to drag you today?
    Do you really want to go there?"""
From: Anton van Straaten
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <VtMNb.10296$i4.1492@newsread1.news.atl.earthlink.net>
Brian Harvey wrote:
> But another thing that's different is that today, even more so than when
> I wrote the paper, the kids know more about using computers than the
> teachers do.

The problem I see is that even if that's true, it doesn't mean there aren't
things that the kids need to be taught.  Even if many kids somehow absorb
everything they need to know just by using their Gameboy Advance and N-Gage
cellphone, there are still a lot who really don't learn enough about really
basic things, like word processing or spreadsheet use, or finding their way
around an operating system.  There are a surprising number of people in
their 20s whose only computer knowledge is how to get from the Windows Start
button to Internet Explorer and the Yahoo home page - to them, some
combination of Yahoo+IE *is* the computer.  That's all very well, one might
say, they can surf and buy books from Amazon and generally get stuff done,
but when they find they aren't able to make a credible stab at writing up
their own resume in a word processor, I think there's a problem.

Things like this do seem to me to qualify as a "literacy" issue, in a pretty
similar sense to reading and writing literacy.  In the paper, you wrote
about the shift to high school education as the norm, and said "Now, almost
everyone has a high school diploma, and it's worthless."  But (a) presumably
you're not arguing that high school education should be less universal, and
(b) it's not worthless, it's essential for economic survival, and (c) isn't
the real lesson there the fact that the nation as a whole is a global
economic leader which tops the lists in all sorts of other measures of
productiveness, efficiency, inventiveness, and producing intellectual
property which is consumed by other countries?  Much of this is due to the
relatively highly educated population.  Similar claims apply to other
countries which have succeeded in giving most of its populace a decent
education.

Where's the downside here, and are we so sure that something similar doesn't
apply to "computer
literacy"?  I think there are reasons to think that something similar does
apply.  Many of the smartest people will figure things out on their own
regardless, but it's the education of the majority of the population that
makes for the kind of economy and standard of living that the US has.

> And, have you ever seen the actual curriculum of one of these courses?
> Most of them seem to be dedicated to making sure that no kid will ever
want
> to have anything to do with computers.  It was even worse then -- today
some
> "literacy" courses aren't full of vocabulary to memorize (central
processor,
> RAM, ROM, Megahertz, ...).  But they still tend to be taught by the same
> dragons who used to teach the typing class, and often they're
indistinguishable
> from the typing class.

I have a computer-literate (sic) friend who's a school board member, so I
have some idea of the problems.  But you could apply this argument to just
about anything that's taught in school - when you look at what goes on at
schools close up, it's amazing anyone ever learns anything.  I don't think
that's an argument for not trying, although I'm all in favor of finding ways
to try harder and do better.

There's a kind of bootstrapping issue here, or cycle of ignorance.  If
teachers don't know enough about computers to teach their students, students
aren't going to learn as much as they could.  I know kids whose parents know
nothing about computers, and as a result, the kids don't get as much useful
exposure to computers as they could, even when they have one in their home.
So there are problems here, but the way I would characterize these problems
is to say that there needs to be more & better computer literacy - but until
we have that, the bootstrapping process is going to seem backwards and
inefficient.

> Thinking more deeply about it:  Computers keep getting cheaper, but
they're
> still pretty expensive, in enough-to-be-useful quantities, compared with
> things like books and teachers.  So "computer literacy" is always at the
> expense of something else.  And I would still argue that, even in a job
that
> involves using computers, the actual computer skill is the least of what
> you have to know.  For example, there are kids who know a lot more than I
do
> about which button means what in M$ Word, but who still can't write a
> coherent paragraph.

Probably the majority of people employed in the U.S. do not need to write
coherent, original paragraphs as part of their job.  An enormously
significant number do need to use computers, and an alarmingly high
proportion aren't very good at it.  This would argue for computer literacy
as being more important than the old-fashioned kind...

It seems to me that kids get plenty of instruction on reading and writing,
and somehow some of them come out being able to do it quite well, whereas
others don't (and a whole spectrum in between).  One question is whether all
that instruction makes any difference at all.  If it does, then I think kids
should also be taught other things, including computer skills.  If it
doesn't make a difference, then none of this matters.

> Those kids are not going to get jobs at which their word processing skills
> matter -- the computers at McDonald's have pictures of the menu items
> on the keys, I think.  :-)

The McDonald's example in the paper caught my eye, too.  Let's say I'm wrong
about universal computer literacy being desirable.  In that case, why stop
there?  For what reason do we teach everyone math in school, for example?
Don't *exactly* same arguments apply?  From the paper:

> Now, what does the person behind the McDonald's counter need to
> know about computers? He only needs to know that when you ask
> for a Quarter-pounder with cheese, he should push the button which
> says ``Quarter-pounder with cheese.'' That's it. Nothing about input
> unit, output unit, processor, and memory; nothing about programming
> either.

Similarly, the person behind the McDonald's counter doesn't need to know
much about math.  All he needs to know is how to translate the cash given by
the customer into numbers to enter into the register, and the inverse of
that operation in order to pay out the change.  (Perhaps a display with
pictures of the bills and coins could help here, or just a fully-automated
register.)  General-purpose addition and subtraction is useless to these
people, and we should stop bothering to require that students achieve "Math
Literacy".

> I'd rather hire someone who has *real* literacy and teach him how to
> use a computer than hire someone who's a whiz at computers and try
> to teach him English and critical thinking skills.

I don't think that's relevant, unless it can be shown that shifting focus
to, essentially, remedial English and critical thinking for students who
need it would change this situation.  (Although I'm all for more teaching of
critical thinking.)  The issue is what subjects get taught to everybody.  If
anything, what you're describing is an argument for not teaching computer
skills to the smartest students, since they can pick it up on their own.
The rest still need it, though, for the same reasons that they need
instruction in "real" literacy.

> So, yeah, although I'd change some details today, I still stand by the
main
> ideas in that paper.

OK, so how do we decide in advance which people to put on the McDonald's
track, where they learn to read a restricted vocabulary list replete with
trademarks, and get a one-month intro to counting change?  I'm exaggerating
the case, but part of my point is that unless you try to teach something,
students and their teachers may not find out whether or not they're good at
it.  I don't think it makes sense to let kids simply follow their own
interests entirely (which seemed to be one of the suggestions in the paper),
there needs to be some pushing.  And the pushing needs to be distributed
across a range of topics, especially those which could impact a student's
economic survival.  The paper made the point that computer knowledge is not
a free ticket to success, but lack of it can contribute to poorer
performance, or failure.

Anton
From: Brian Harvey
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <bu9938$ii9$1@abbenay.CS.Berkeley.EDU>
"Anton van Straaten" <·····@appsolutions.com> writes:
>  There are a surprising number of people in
>their 20s whose only computer knowledge is how to get from the Windows Start
>button to Internet Explorer and the Yahoo home page - to them, some
>combination of Yahoo+IE *is* the computer.  That's all very well, one might
>say, they can surf and buy books from Amazon and generally get stuff done,
>but when they find they aren't able to make a credible stab at writing up
>their own resume in a word processor, I think there's a problem.
>
>Things like this do seem to me to qualify as a "literacy" issue, in a pretty
>similar sense to reading and writing literacy.
...
>  But you could apply this argument to just
>about anything that's taught in school - when you look at what goes on at
>schools close up, it's amazing anyone ever learns anything.  I don't think
>that's an argument for not trying, although I'm all in favor of finding ways
>to try harder and do better.
...
>It seems to me that kids get plenty of instruction on reading and writing,
>and somehow some of them come out being able to do it quite well, whereas
>others don't (and a whole spectrum in between).  One question is whether all
>that instruction makes any difference at all.  If it does, then I think kids
>should also be taught other things, including computer skills.
...
>The McDonald's example in the paper caught my eye, too.  Let's say I'm wrong
>about universal computer literacy being desirable.  In that case, why stop
>there?  For what reason do we teach everyone math in school, for example?
>Don't *exactly* same arguments apply?
...
>OK, so how do we decide in advance which people to put on the McDonald's
>track, where they learn to read a restricted vocabulary list replete with
>trademarks, and get a one-month intro to counting change?

Thank you for a thoughtful response to my paper.

I certainly agree that the whole school enterprise needs examination.  I'm a
firm believer in progressive education -- a wide collection of
not-all-the-same ideas about learning that I'd characterize as centered on
learning by doing and on respecting the learner as a real autonomous person.

I wouldn't have a "McDonald's track," of course, but I agree that required
math instruction is as bad as required computer instruction -- worse, if
anything, because math *is* something I'd characterize as an essential
skill, and the required instruction just makes most people hate it.  (I
don't remember where I read this, but some famous progressive math teacher
once suggested that you try the experiment of telling the person next to you
on the airplane that you're a math teacher and see what happens.)

But in my ideal school, I *would* put a lot of effort into offering great
math education, so great that kids would fight to get into it rather than
groan about "why do we have to learn this," whereas I wouldn't put any
effort into "computer literacy" instruction, which I think would pretty
much take care of itself if we used computers as tools in learning all the
other, more central stuff.  If anything, this is more true today than when
I wrote the paper; back then, computers were hard to use, but since then,
a ton of effort has gone into intuitive user interfaces.

If you read the other papers on my web site, you'll see that I'm a Logo
enthusiast.  So I do want kids to use computers, but I want them to use
them creatively, and in ways that make the computer itself transparent
rather than the focus of attention (except, of course, for those kids who
decide on their own that they love computers and want to know more about
them).

Are there really people younger than 30 (i.e., who grew up after the
microcomputer revolution) who *can* write their resume with a pencil but
*can't* do it on a computer?  I doubt it.  I think you'll find that the ones
who can't use a word processor can't do much else that involves thinking
either; what they mostly lack is not a narrowly defined computer skill, but a
language skill.

Just for a moment let me focus on a small detail.  People who think in terms
of "computer literacy" want kids to use the actual tools used in adult
offices, so they give kids Word as their text editor.  But Word is too hard;
it *does* require some attention to the mechanics of word processing per se.
I'd give them Notepad or something similar -- word processing software that's
transparent, so they can think about what they're writing rather than about
how they're writing it.  (Except, again, for some kids, to whom I'd give
Emacs and TeX.)

Some years back, I was on the faculty of an inservice program for teachers in
Ohio, which had just decided to certify Computer Science teachers and had
grandfathered in a bunch of former Computer Literacy teachers.  The program
taught both CS and math, and teachers attended for a total of 12 full-time
weeks over two summers.  That's what I think it takes to teach teachers how to
use computers in ways that really help kids learn.  (Not necessarily a
CS-and-math program, but a really hefty chunk of time spent using computers as
learning tools.)  Many of the participants came to the program preoccupied
with technical details; for example, they thought it important to work on
whichever of PCs or Macs their school had.  Our response was neither to give
in to their concern nor to fight it on its own terms (i.e., by telling them
that to be "computer literate" they had to be familiar with both platforms),
but rather to show them that if they really know how to think about computers,
they'll be ready to learn, on their own, the details of whatever platform
comes down the road next year -- just like, I bet, everyone reading these
newsgroups.

Similarly, about IE+Yahoo, what I want to teach people about the Web is how
to evaluate what they read -- since they let anybody post things on the Web,
even the likes of CNN and Fox, there's a lot of garbage out there.  :-)
A critical thinking skill, not a "computer literacy" skill.
From: Paul Rubin
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <7xhdyvrbbt.fsf@ruckus.brouhaha.com>
··@cs.berkeley.edu (Brian Harvey) writes:
> But in my ideal school, I *would* put a lot of effort into offering great
> math education, so great that kids would fight to get into it rather than
> groan about "why do we have to learn this,"

I'm sorry but I'd like to know how you would do that.  It sounds a
little too much like "in my ideal restaurant, I'd put a lot of effort
into offering great broccoli and spinach, so kids would fight to eat
it".  That's a great goal, but given the choice, most kids are still
going to prefer ice cream and leave the spinach alone.
From: Christopher Jeris
Subject: OT: vegetables (was Re: Programming languages for the very young)
Date: 
Message-ID: <ximr7xzog40.fsf_-_@hsph.harvard.edu>
Paul Rubin <·············@NOSPAM.invalid> writes:
> I'm sorry but I'd like to know how you would do that.  It sounds a
> little too much like "in my ideal restaurant, I'd put a lot of effort
> into offering great broccoli and spinach, so kids would fight to eat
> it".  That's a great goal, but given the choice, most kids are still
> going to prefer ice cream and leave the spinach alone.

I don't know what your origins are, but I can say for sure that a lot
of mainstream white Americans (including my parents 20 years ago)
don't know how to cook vegetables.  If I had discovered asparagus
steamed with lime juice and tamari at age 6, I would have been eating
asparagus a lot earlier.  Although, for some reason, I always liked
the spinach that came in those frozen bricks of shred.  Maybe it was
all the added salt.

(Don't pack the asparagus too densely in the steamer or it will be
mushy by the time it's cooked all the way.  Dress with a 3:1 mixture
of tamari and lime juice at the end.  Eat with soba noodles.  From the
excellent "3 Bowls" by Seppo Ed Farrey and Nancy O'Hara.)

So many people have opinions on how to fix American math education
that I'll refrain from adding mine.  The psychological complex that
has developed here is certainly strange, though.  Why is ignorance of
mathematics (and too often of its foundation, logic) nothing to be
ashamed of for so many people?

-- 
Chris Jeris ······@oinvzer.net Apply (1 6 2 4)(3 7) to domain to reply.
From: Greg Menke
Subject: Re: OT: vegetables (was Re: Programming languages for the very young)
Date: 
Message-ID: <m3u12veeyh.fsf@europa.pienet>
Christopher Jeris <······@oinvzer.net> writes:

> Paul Rubin <·············@NOSPAM.invalid> writes:
> > I'm sorry but I'd like to know how you would do that.  It sounds a
> > little too much like "in my ideal restaurant, I'd put a lot of effort
> > into offering great broccoli and spinach, so kids would fight to eat
> > it".  That's a great goal, but given the choice, most kids are still
> > going to prefer ice cream and leave the spinach alone.
> 
> I don't know what your origins are, but I can say for sure that a lot
> of mainstream white Americans (including my parents 20 years ago)
> don't know how to cook vegetables.  If I had discovered asparagus
> steamed with lime juice and tamari at age 6, I would have been eating
> asparagus a lot earlier.  Although, for some reason, I always liked
> the spinach that came in those frozen bricks of shred.  Maybe it was
> all the added salt.
> 
> (Don't pack the asparagus too densely in the steamer or it will be
> mushy by the time it's cooked all the way.  Dress with a 3:1 mixture
> of tamari and lime juice at the end.  Eat with soba noodles.  From the
> excellent "3 Bowls" by Seppo Ed Farrey and Nancy O'Hara.)

My grandmother, bless her heart, cooked vegtables they way they're
supposed to be; boiled until just short of mush.  If you didn't like
it, you were welcome to take your Yankee self right back over the
Mason-Dixon line.

Gregm
From: Thomas F. Burdick
Subject: Re: OT: vegetables (was Re: Programming languages for the very young)
Date: 
Message-ID: <xcvbrp3jip2.fsf@famine.OCF.Berkeley.EDU>
> Paul Rubin <·············@NOSPAM.invalid> writes:
>
> > I'm sorry but I'd like to know how you would do that.  It sounds a
> > little too much like "in my ideal restaurant, I'd put a lot of effort
> > into offering great broccoli and spinach, so kids would fight to eat
> > it".  That's a great goal, but given the choice, most kids are still
> > going to prefer ice cream and leave the spinach alone.

This is a good point.  I love math, now.  If it were up to me, I might
very well have quit learning around precalculus.  Higher math is fun,
great, exciting, but I wouldn't have been able to get it if it weren't
for being forced to learn so much.  I thought I was pretty good at
math but hated it, until maybe my second year of college -- you'd
think I would've realized years earlier that analysis of algorithms is
also math, but I didn't.

Christopher Jeris <······@oinvzer.net> writes:

> I don't know what your origins are, but I can say for sure that a lot
> of mainstream white Americans (including my parents 20 years ago)
> don't know how to cook vegetables.

Thank you.  Most Anglo Americans couldn't cook vegetables to save
their lives.  Even on this coast (Cali), most people don't realize
that brussels sprouts are really really good, which cooked well.  I
appreciate the metaphor nonetheless.

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: Karl A. Krueger
Subject: Re: OT: vegetables (was Re: Programming languages for the very young)
Date: 
Message-ID: <bu9k98$7ib$1@baldur.whoi.edu>
In comp.lang.lisp Christopher Jeris <······@oinvzer.net> wrote:
> So many people have opinions on how to fix American math education
> that I'll refrain from adding mine.  The psychological complex that
> has developed here is certainly strange, though.  Why is ignorance of
> mathematics (and too often of its foundation, logic) nothing to be
> ashamed of for so many people?

It's worse.  There's a free-floating set of prejudices about things
which are supposed to be publicly regarded as unpleasant.  In many
parts of society, math, science, and logic are in this category.

People who like certain foods, or who like rain, or who do not find
computing their income tax to be a terrible burden, are expected to go
along with the general pretense that these things are awful.  Likewise,
children are taught in popular culture (such as television) that they
are, in their role as children, supposed to object to eating vegetables.

And -- with the exception of self-selecting groups such as particular
professions and disciplines -- math is one of those things that many
people, and many students, feel they aren't supposed to like.

-- 
Karl A. Krueger <········@example.edu>
Woods Hole Oceanographic Institution
Email address is spamtrapped.  s/example/whoi/
"Outlook not so good." -- Magic 8-Ball Software Reviews
From: cr88192
Subject: Re: OT: vegetables (was Re: Programming languages for the very young)
Date: 
Message-ID: <100gnh19ovucm08@corp.supernews.com>
"Karl A. Krueger" <········@example.edu> wrote in message
·················@baldur.whoi.edu...
> In comp.lang.lisp Christopher Jeris <······@oinvzer.net> wrote:
> > So many people have opinions on how to fix American math education
> > that I'll refrain from adding mine.  The psychological complex that
> > has developed here is certainly strange, though.  Why is ignorance of
> > mathematics (and too often of its foundation, logic) nothing to be
> > ashamed of for so many people?
>
> It's worse.  There's a free-floating set of prejudices about things
> which are supposed to be publicly regarded as unpleasant.  In many
> parts of society, math, science, and logic are in this category.
>
> People who like certain foods, or who like rain, or who do not find
> computing their income tax to be a terrible burden, are expected to go
> along with the general pretense that these things are awful.  Likewise,
> children are taught in popular culture (such as television) that they
> are, in their role as children, supposed to object to eating vegetables.
>
> And -- with the exception of self-selecting groups such as particular
> professions and disciplines -- math is one of those things that many
> people, and many students, feel they aren't supposed to like.
>
I feel it is math *class*...
I more like math on my own, but somehow school can turn it into a major
burden...

similar for many other things (or it may just be that I am too lazy to want
to do anything in a school setting, or something...).
From: pete kirkham
Subject: Re: OT: vegetables (was Re: Programming languages for the very young)
Date: 
Message-ID: <40099485$0$28130$cc9e4d1f@news.dial.pipex.com>
Christopher Jeris wrote:
> Although, for some reason, I always liked
> the spinach that came in those frozen bricks of shred.  Maybe it was
> all the added salt.

I still occasionally buy that (despite growing my own spinach) just so I 
can eat them frozen.

Pete
From: Samuel Walters
Subject: Re: OT: vegetables (was Re: Programming languages for the very young)
Date: 
Message-ID: <pan.2004.01.18.13.27.25.991138@yahoo.com>
| Christopher Jeris said |
> I don't know what your origins are, but I can say for sure that a lot
> of mainstream white Americans (including my parents 20 years ago)
> don't know how to cook vegetables.  If I had discovered asparagus
> steamed with lime juice and tamari at age 6, I would have been eating
> asparagus a lot earlier.  Although, for some reason, I always liked
> the spinach that came in those frozen bricks of shred.  Maybe it was
> all the added salt.

Actually, opinions about vegetables like broccoli and asparagus may have
more to do with genetics than anything else.  It seems that those who have
an excess of bitter taste buds are much more likely to dislike broccoli,
asparagus and brussel sprouts.

Personally, I'm glad that I was born with a deficit of bitter taste buds. 
The vegetables everyone hates are the ones I love.  And very few people
know how to properly cook vegetables.  I will never forget living in Utah
as a kid and going to pick wild asparagus down by the river.

> So many people have opinions on how to fix American math education
> that I'll refrain from adding mine.  The psychological complex that
> has developed here is certainly strange, though.  Why is ignorance of
> mathematics (and too often of its foundation, logic) nothing to be
> ashamed of for so many people?

I tutor math at a community college.  My favorite students are the ones
who actually have very little math education.  For them, the majority of
my work isn't about mathematics.  Instead it's overcoming fear and
self-confidence issues.  The worst problem most of these students face is
that they're unwilling to try many options for fear of being wrong.  I
have noticed that the good teachers at the college are the ones who also
give partial credit.  They don't emphasize "getting the right answer" to
the exclusion of "getting the right idea."

I noticed another problem facing math and computer education by noticing
the contrast between how math and english instructors regard tutors and
our colleges free tutoring resources.  When an english professor gets a
paper with horrible grammar and spelling, they don't necessarily feel that
they have failed as instructors.  They instead realize that the student
needs some remedial one-on-one work outside the classroom.  They work
quite closely with the tutors in this manner and have quite high regard
for the work that the tutors do.

Of the math faculty, however, about a third are actively involved with us,
about a third are indifferent, and about a third actively resent us.  I
think I've figured out the psychology of this matter.  Because math is a
"pure" subject, math instructors think that if they just get up in front
of the class and give a good lecture, that the students will all grok it. 
They tend not to see that there are many, many different learning styles
and that those learning styles seem to come into sharpest contrast in
math.  Moreover, they tend not to think that a student might come into the
class with pre-existing deficiencies.  So, when a student goes to a tutor,
they see it as a slight against their teaching abilities.  Instead, it's
usually that a student has yet to learn how to translate "mathspeak" back
into their own native learning style.

Sam Walters.

-- 
Never forget the halloween documents.
http://www.opensource.org/halloween/
""" Where will Microsoft try to drag you today?
    Do you really want to go there?"""
From: Brian Mastenbrook
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <160120041839499398%NOSPAMbmastenbNOSPAM@cs.indiana.edu>
> I certainly agree that the whole school enterprise needs examination.  I'm a
> firm believer in progressive education -- a wide collection of
> not-all-the-same ideas about learning that I'd characterize as centered on
> learning by doing and on respecting the learner as a real autonomous person.

Ah yes, "learning by doing". This is why in our local school district,
kids are taught to count over 99 by the use of a calculator (!). The
calculator is a "manipulative"; by pressing buttons on the calculator,
students get the opportunity to "construct" their own learning by
observing what happens after pressing the increment button the
hundredth time. If this seems terribly silly, counterproductive, or
even dangerous, you'd think right. One would wonder why you couldn't
just show the kids what happens when you add 99 to 100; after all, it's
a basic fact.

The reason is that, according to the progressive philosophy of
education, teaching a fact in this manner is "totalitarian". I kid you
not - the study of totalitarianism is very big in education, and
nowadays is applied not to murdering millions of innocent people but
teaching multiplication tables. (The head of student teaching at my
local university once called me a Nazi for advocating this. She called
Plato a Nazi too.) The "progressive" philosophers at the University of
Chicago have designed the above curriculum not considering anything
about the right way to teach math, but instead according to this highly
radical philosophy.

The intent of this philosophy is to affect social change. That's right
- math curriculums no longer teach math, but instead foster social
change. And the type of social change that these programs are designed
to foster is the type that is also advocated by the postmodernist /
deconstructionist left - namely, the pursuit of the ideal communist
state where there are no disagreements between individuals, because no
idea is right. Of course these people are loonies, but this philosophy
is strongly manifested in modern curricula, especially for teacher
education. We have now arrived at the state where it is inappropriate
to offer any criticism, even helpful and constructive criticism, to a
student: if all worldviews are equally valid, then what justification
does anyone have for criticizing anyone else?

So, to address the issue - is progressive education anything at all
about respecting the learner as a real autonomous person? No. It's
about not teaching anything at all (the preferred term these days, by
the way, is "facilitator" - apparently one can't teach anymore, one has
to facilitate learning). It's about fostering radical social change
through curricula based on constructivist ideology and the removal of
any process of criticism from the educational system.

We see now why educators are so opposed to testing, by the way: a
standardized test rejects wrong answers, where a teacher can feel free
to award points to a correct "algorithm" with an incorrect result.

(Is it any wonder why my current university requires books by Noam
Chomsky and Gore Vidal for education classes without any
counterbalance? Is it ethical to teach only your political views,
particularly in the field of education?)

> I wouldn't have a "McDonald's track," of course, but I agree that required
> math instruction is as bad as required computer instruction -- worse, if
> anything, because math *is* something I'd characterize as an essential
> skill, and the required instruction just makes most people hate it.

Bullshit. When I was young, my parents required swimming instruction
for me, under the reasoning that it's a useful skill to have. I enjoyed
it. If eating ice cream was required, it would still be enjoyed. Of
course, if you've looked at a math curriculum in a "progressive"
district lately, math /is/ enjoyed - because it's about projects, and
writing, and anything but math. When I tutor 8th grade algebra
students, they don't know basic arithmetic, even addition and
subtraction. I recommended Kumon several times, but nobody ever took me
up on it. (Of course a deconstructionist educator would happily tell
you about how programs like Kumon are fascist. The student must
discover that 17 - 11 is 6 for themselves! In their solipsist
worldview, somehow this fact is different if "discovered" than taught.)

> (I don't remember where I read this, but some famous progressive math teacher
> once suggested that you try the experiment of telling the person next to you
> on the airplane that you're a math teacher and see what happens.)

If they're a progressivist teacher, I'd punch them square in the nose.
Let them "construct" their own reality from that "discovery".

> But in my ideal school, I *would* put a lot of effort into offering great
> math education, so great that kids would fight to get into it rather than
> groan about "why do we have to learn this," whereas I wouldn't put any
> effort into "computer literacy" instruction, which I think would pretty
> much take care of itself if we used computers as tools in learning all the
> other, more central stuff.  If anything, this is more true today than when
> I wrote the paper; back then, computers were hard to use, but since then,
> a ton of effort has gone into intuitive user interfaces.

A couple of kids whine at you about having to learn something, and so
you're going to abdicate your responsibility as an educator? Let me
break the news to you: you are an adult. You know more than these
children, and you are much better able to decide what is in their best
interests than they are, because they do not yet understand what it is
they don't understand. (Insert proper application of Piaget here.) This
is why Free Schools turn out people who are grossly uneducated, and the
people who run them make statements like "in our world, the CEO and the
mechanic - they're all equal". Of course they are, when your students
aren't qualified to become the CEO.

> If you read the other papers on my web site, you'll see that I'm a Logo
> enthusiast.  So I do want kids to use computers, but I want them to use
> them creatively, and in ways that make the computer itself transparent
> rather than the focus of attention (except, of course, for those kids who
> decide on their own that they love computers and want to know more about
> them).

Let's talk about totalitarianism in earnest for a second: in a society
as shaped and governed by computers as ours, is it ethical to expect
that most people should have no understanding of the basic formal
systems which drive their operation? What kind of society do we create
where most do not understand the basic mechanisms of their operation? A
computer is not like a car, or a train, or an airplane: while these
devices are also complex, and have affected our society in many ways,
none of them are relied upon for their power and ability to manipulate
information, which is the backbone of the operation of any human
society. With this ability so necessary, should it not be expected that
the average person with a high school degree know at least something
about a basic computer, perhaps the lambda calculus?

References:

General:
http://www.mathematicallycorrect.com/ - a huge library of information
on the current state of constructivist mathematics education
http://www.illinoisloop.org/ - a site dedicated to local issues in
education in Illinois, often covering the effects of these curricula
http://www.edexcellence.net/ - the Fordham foundation, a long-standing
voice for quality in education

Specific (solipsist/deconstructionist):
http://everydaymath.uchicago.edu/ - the aforementioned math program
teaching counting with calculators
http://www.amazon.com/exec/obidos/tg/detail/-/0070144230/qid=1074295868/
sr=1-1/ref=sr_1_1/002-0981407-5333626?v=glance&s=books - the source of
the assertion that Plato was an evil proto-Nazi, and that teaching
facts is generally totalitarian

Specific (good):
http://www.amazon.com/exec/obidos/tg/detail/-/0375422021/ref=ed_oe_h/002-
0981407-5333626?v=glance&s=books&st=* - the notes of an educator who
really is dedicated to individuals, but does make his students learn
math (the fascist pig!)
http://www.physics.nyu.edu/faculty/sokal/ - if you haven't read this,
read it, realize that the same people now run the system that educates
the educators, and fear, comprehensively.

-- 
Brian Mastenbrook
http://www.cs.indiana.edu/~bmastenb/
From: Erann Gat
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <gNOSPAMat-1601042018590001@192.168.1.52>
In article <·······································@cs.indiana.edu>, Brian
Mastenbrook <····················@cs.indiana.edu> wrote:

> If eating ice cream was required, it would still be enjoyed.

I suspect that depends a great deal on how much ice cream one was required
to eat.

> Let's talk about totalitarianism in earnest for a second: in a society
> as shaped and governed by computers as ours, is it ethical to expect
> that most people should have no understanding of the basic formal
> systems which drive their operation?

I'll wager that a majority of professional programmers (which is to say
people who get paid to program) have no understanding of the basic formal
systems that drive the operation of computers.  That's why Perl and C++
are as popular as they are.

> What kind of society do we create
> where most do not understand the basic mechanisms of their operation?

Pretty much the kind of society we have now.

E.
From: Samuel Walters
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <pan.2004.01.18.15.27.37.184908@yahoo.com>
| Brian Mastenbrook said |

> Ah yes, "learning by doing". This is why in our local school district,
> kids are taught to count over 99 by the use of a calculator (!). The
> calculator is a "manipulative"; by pressing buttons on the calculator,
> students get the opportunity to "construct" their own learning by
> observing what happens after pressing the increment button the hundredth
> time. If this seems terribly silly, counterproductive, or even
> dangerous, you'd think right. One would wonder why you couldn't just
> show the kids what happens when you add 99 to 100; after all, it's a
> basic fact.

Here, I will agree with you.  Mathematics is not a spectator sport.  There
should be more than a little interest in overtraining a student.  That is,
it is human nature to forget much of what you have learned.  Expect this
and teach more than you wish the student to retain.  My college's college
algebra curriculum is currently *very* calculator oriented.  They are
trying to teach students to use the tools available for them to visualize,
but it ends up being counter-productive.  The student develops a rote
knowledge of how to push buttons, and never really pays attention to how
the graphs actually look in the graphing window.  Many of the students I
tutor are initially very frustrated that I insist they be able to do
things by hand before learning how to do it with a calculator.  Their
attitude soon changes, to the point where I'm used to students coming to
me saying "We learned how to do foo on the calculator today.  Will you
show me how to do it by hand?"  I think that the earliest four-function
calculators should be used is in college algebra, and the earliest
graphing calculators should be used is trigonometry.


> The reason is that, according to the progressive philosophy of
> education, teaching a fact in this manner is "totalitarian". I kid you
> not - the study of totalitarianism is very big in education, and
> nowadays is applied not to murdering millions of innocent people but
> teaching multiplication tables. (The head of student teaching at my
> local university once called me a Nazi for advocating this. She called
> Plato a Nazi too.) The "progressive" philosophers at the University of
> Chicago have designed the above curriculum not considering anything
> about the right way to teach math, but instead according to this highly
> radical philosophy.
> 
> The intent of this philosophy is to affect social change. That's right -
> math curriculums no longer teach math, but instead foster social change.
> And the type of social change that these programs are designed to foster
> is the type that is also advocated by the postmodernist /
> deconstructionist left - namely, the pursuit of the ideal communist
> state where there are no disagreements between individuals, because no
> idea is right. Of course these people are loonies, but this philosophy
> is strongly manifested in modern curricula, especially for teacher
> education. We have now arrived at the state where it is inappropriate to
> offer any criticism, even helpful and constructive criticism, to a
> student: if all worldviews are equally valid, then what justification
> does anyone have for criticizing anyone else?
[very big chop]

I am going to respond to your overall argument.  I have only retained
these two passages because I think they are the best summary quotations of
your long posting.  Anyone who feels the need to respond to me should
first see the parent article, because there is much context to be
considered.

Okay, here, I will very strongly disagree with you.  I looked at the
references you supplied.  Some I skimmed, some I read in depth.  I will
eventually read them all in depth so that I have a full understanding of
my opposition's viewpoint. I felt that these resources relied too heavily
on anecdotal evidence.  Anecdotes do not prove overall systemic problems.
They perhaps indicate that some people have taken some good ideas too far,
or at least that some people have taken reasonable questions about
education too literally.  This is to be expected.  Zealots exist in every
aspect of life.  We should deal with them on a case-by-case basis.

What I don't think that you understand is that teaching mathematics solely
by rote is not only ineffective, it's counterproductive.  There are two
aims in mathematics education: numeracy and critical thinking.  Numeracy
requires an even mix of rote and critical thinking.  Certainly, one must
memorize times tables, but that knowledge is useless if you can't relate
it to real world.  Critical thinking *cannot* be taught by rote.  It
involves being presented with a set of facts, a problem to solve and
learning to ask the right question.  An algorithm is useless.  By itself,
it teaches no how to solve one specific type of problem.  An algorithm
with the questions that led to the development of that algorithm is
useful.  Understanding the proper questions to ask allows one to develop
an algorithm for most any situation that arises.

America (Can't speak for other countries) has undergone a *huge*
revolution in teaching methodologies in the past half-decade.  Like all
revolutions, it has a pendular motion that swings one way, then back the
other and eventually settles into middle ground.  I do think that we have
overshot the mark by some degree, and I see signs of the motion losing
velocity.  Part of the problem is a set of old-school teachers who, while
willing to participate in the new teaching methodologies, do not
understand them.  On the other end of the spectrum are people who act like
five year olds with a hammer.  That is, everything looks like a nail.

Where we *should* be concentrating is on problem-solving skills.  The
teachers themselves don't possess those skills.  I end up tutoring a lot
of students going for their teacher's certification, and luckily, the head
of that department often sees me to ask how well her students are using
problem-solving skills.  A student must be taught not only that a thing is
true, but why it is true.  Students are not being taught that math,
science, and history are anything more than a loose collection of facts.
That's why I can (though I don't) charge $50 an hour for private tutoring.
I make it all fit together.  I make it all make sense.

> So, to address the issue - is progressive education anything at all
> about respecting the learner as a real autonomous person? No. It's about
> not teaching anything at all (the preferred term these days, by the way,
> is "facilitator" - apparently one can't teach anymore, one has to
> facilitate learning). It's about fostering radical social change through
> curricula based on constructivist ideology and the removal of any
> process of criticism from the educational system.

A teacher is a facilitator.  They are not a mystical font of knowledge in
whose mere presence a student will become magically enlightened.  It is an
instructors job to lead students from their current understanding to a
deeper and more powerful understanding.  I am sick of seeing students who
are afraid to do anything on a math problem because they're afraid that
they will be wrong.  A student should explore, not quake in their boots.

> We see now why educators are so opposed to testing, by the way: a
> standardized test rejects wrong answers, where a teacher can feel free
> to award points to a correct "algorithm" with an incorrect result.

No, educators oppose standardized testing because the tests rarely
actually measure anything worth measuring.  Worse yet, it encourages the
bad teachers to teach to the test, rather than helping the student to
understand the material.  I favor a strong peer-review mechanism, but not
standardized testing.

Correct algorithm is more important than correct result.  I could barely
care less if one of my students drops a minus sign somewhere in a problem,
or adds incorrectly.  I correct them on it, they cuss lightly under their
breath, and life moves on.

> Let's talk about totalitarianism in earnest for a second: in a society
> as shaped and governed by computers as ours, is it ethical to expect
> that most people should have no understanding of the basic formal
> systems which drive their operation? What kind of society do we create
> where most do not understand the basic mechanisms of their operation? A
> computer is not like a car, or a train, or an airplane: while these
> devices are also complex, and have affected our society in many ways,
> none of them are relied upon for their power and ability to manipulate
> information, which is the backbone of the operation of any human
> society. With this ability so necessary, should it not be expected that
> the average person with a high school degree know at least something
> about a basic computer, perhaps the lambda calculus?

I am very confused as to how the thesis of this paragraph has *anything*
to do with totalitarianism.

Yes, the bar should be raised.  Yes, computer education is important to
this end.  You are correct when you say that we only do students a
disservice if we don't give them a proper grounding in computer
technology.  But the problem facing many educators these days is that the
students know more about computers than they do!  Hell, I used to
fake-mail my computer teacher messages from himself (and occasionally
Elvis) during computer class.  He was thoroughly baffled.  We'd be stupid
to think that it's any different today, if not worse! (He even responded
to them because, well... After a while, we noticed that his email password
was "abcd123," so we'd check the messages and respond to them.)

Many of the problems we face in education are the result of improperly
educated educators.  Times are changing fast.  Many of us who are more
than just computer literate tend to forget *how* fast they're changing
because we keep up with the change.  The question we should be asking is,
"How do we keep educators up to speed on all the possibilities available
to them?"

Sam Walters.

P.S. You should read "Where Mathematics Comes From" if you wish to
understand *how* a student learns math and why rote memory is only
ancillary to mathematics.  I will warn you that it is not the best book
I've ever read, but it is currently one of the best books on the market
for this.  The stuff towards the beginning is most pertinent to
mathematics education.  The material towards the end if more pertinent
toward mathematical philosophy.  Overall, it was an easy read that took me
only two days.

http://perso.unifr.ch/rafael.nunez/

-- 
Never forget the halloween documents.
http://www.opensource.org/halloween/
""" Where will Microsoft try to drag you today?
    Do you really want to go there?"""
From: Brian Mastenbrook
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <180120041258183177%NOSPAMbmastenbNOSPAM@cs.indiana.edu>
In article <······························@yahoo.com>, Samuel Walters
<···············@yahoo.com> wrote:

> Here, I will agree with you.  Mathematics is not a spectator sport.  There
> should be more than a little interest in overtraining a student.  That is,
> it is human nature to forget much of what you have learned.  Expect this
> and teach more than you wish the student to retain.  My college's college
> algebra curriculum is currently *very* calculator oriented.  They are
> trying to teach students to use the tools available for them to visualize,
> but it ends up being counter-productive.  The student develops a rote
> knowledge of how to push buttons, and never really pays attention to how
> the graphs actually look in the graphing window.  Many of the students I
> tutor are initially very frustrated that I insist they be able to do
> things by hand before learning how to do it with a calculator.  Their
> attitude soon changes, to the point where I'm used to students coming to
> me saying "We learned how to do foo on the calculator today.  Will you
> show me how to do it by hand?"  I think that the earliest four-function
> calculators should be used is in college algebra, and the earliest
> graphing calculators should be used is trigonometry.

Unfortunately due to the prevalence of graphing calculators, many
students these days never develop any sort of proficiency at graphing
by hand, which means they lose out on a very important intuitive
understanding of spatial relationships in numbers. So I would be of the
opinion that a trig class should be taught with only scientific
calculators (used well, too - being able to calculate some basic
sines/cosines without the calculator is important for calculus). Other
than that, I agree with you.

> Okay, here, I will very strongly disagree with you.  I looked at the
> references you supplied.  Some I skimmed, some I read in depth.  I will
> eventually read them all in depth so that I have a full understanding of
> my opposition's viewpoint. I felt that these resources relied too heavily
> on anecdotal evidence.  Anecdotes do not prove overall systemic problems.
> They perhaps indicate that some people have taken some good ideas too far,
> or at least that some people have taken reasonable questions about
> education too literally.  This is to be expected.  Zealots exist in every
> aspect of life.  We should deal with them on a case-by-case basis.

There are some excellent, non-anecdotal reviews of mathematics
curriculum linked from the Mathematically Correct site. A lot of the
information is indeed anecdotal, but I think the purpose of the
Illinois Loop site is to encourage parents to question the curriculum,
not provide mountains of research. Leave that to the Fordham Foundation
et al.

> What I don't think that you understand is that teaching mathematics solely
> by rote is not only ineffective, it's counterproductive. 

I never disputed that. However, I am sick of trying to teach algebra to
students who quite simply can't add and subtract - not because they
were "drilled and killed", but because there was no drill and all.
Critical thinking requires a solid, intuitive understanding of the
basics - you can't possibly visualize algebra, or do simple
trigonometry, if you can't rattle off what six times seven is without
thinking. By the time you get to an Algebra II course, you should be
able to solve simple linear equations without much thinking as well.
Intuitive understanding is the key to higher-order thinking; without
our intuition, we wouldn't think at all.

> There are two
> aims in mathematics education: numeracy and critical thinking.  Numeracy
> requires an even mix of rote and critical thinking.  Certainly, one must
> memorize times tables, but that knowledge is useless if you can't relate
> it to real world.  Critical thinking *cannot* be taught by rote.  It
> involves being presented with a set of facts, a problem to solve and
> learning to ask the right question.  An algorithm is useless.  By itself,
> it teaches no how to solve one specific type of problem.  An algorithm
> with the questions that led to the development of that algorithm is
> useful.  Understanding the proper questions to ask allows one to develop
> an algorithm for most any situation that arises.

This is a great aim for the later grades in mathematics education;
however, the goal of a third grade mathematics classroom is not to
produce critical thinkers, it's to produce people who are ready for
critical thinking. The kids I tutor in the seventh and eigth grades,
who are placed into advanced track algebra, are not. They can't be
expected to use any sort of the critical thinking that you and I do,
because mathematics is totally counterintuitive to them - even basic
operations.

> America (Can't speak for other countries) has undergone a *huge*
> revolution in teaching methodologies in the past half-decade.  Like all
> revolutions, it has a pendular motion that swings one way, then back the
> other and eventually settles into middle ground.  I do think that we have
> overshot the mark by some degree, and I see signs of the motion losing
> velocity.  Part of the problem is a set of old-school teachers who, while
> willing to participate in the new teaching methodologies, do not
> understand them.  On the other end of the spectrum are people who act like
> five year olds with a hammer.  That is, everything looks like a nail.

It's not the teachers who are the problem, it's the people who train
the teachers and write the curriculum. There is no even ground there -
it's been getting more and more progressive over the past fifty years.
There is no essential debate anymore /inside/ the education colleges. I
would argue that this is not a good situation.

Don't mistake me as being against many of the progressive ideas - focus
on the individual is good, developing critical thinking is good. I am,
however, against the overtly philosophically-driven curriculums we now
have, which are demonstrably worse in some cases than what we had
fifteen or twenty years ago. Phonics /works/ as a means of teaching
reading - study after study has shown that. Whole language replaces
this solid method of reading instruction with activities like
"modeling", where the teacher is supposed to go up to the front of the
class and read silently, to model reading for the student. It's cargo
cult reading, and does nothing for the student who is falling behind.
However, it does make less work for the teacher.

> Where we *should* be concentrating is on problem-solving skills.  The
> teachers themselves don't possess those skills. 

We aren't in a place where we can do that. Have you actually tried to
teach or tutor in the middle school / early high school grades lately?
The students have gone through so much diluted, project-centered,
integrated crap that they don't have the basic command of literacy and
mathematics to actually approach problem solving skills. The
curriculums attempt to teach basic mathematics with an overt focus on
"algorithms", under some mistaken assumption that something other than
repeated practice can build intuition. The /only/ way to build
intuition is through practice, practice, and more practice - and by
understanding what skill you're practicing when you're practicing.
"Drill and kill"? Hardly so.

> I end up tutoring a lot
> of students going for their teacher's certification, and luckily, the head
> of that department often sees me to ask how well her students are using
> problem-solving skills.  A student must be taught not only that a thing is
> true, but why it is true.  Students are not being taught that math,
> science, and history are anything more than a loose collection of facts.
> That's why I can (though I don't) charge $50 an hour for private tutoring.
> I make it all fit together.  I make it all make sense.

What school district are you in? The local districts here are as
progressive as can possibly be. The closest university's teaching
department is purely progressive, and their professors give us such
fine gems as "I don't like gifted programs - they're elitist", "I don't
like math", and "I don't think teaching facts is important."

> A teacher is a facilitator.  They are not a mystical font of knowledge in
> whose mere presence a student will become magically enlightened.  It is an
> instructors job to lead students from their current understanding to a
> deeper and more powerful understanding.  I am sick of seeing students who
> are afraid to do anything on a math problem because they're afraid that
> they will be wrong.  A student should explore, not quake in their boots.

I'm not arguing for a "mystical font of knowledge"; but I do argue that
teachers should be the primary guide for the student's learning. The
"facilitator" theory is that students can direct their own knowledge.
This would be great if young children knew anything at all about what
they didn't know, but they don't. The reason we have teachers is that
young children /can't/ reasonably direct their own learning, due to
inexperience. The teacher is then the guide which makes the decisions
about what the student will learn - paying attention to feedback, yes, 
but still creating the overall direction.

I agree that "students should explore", but honestly, if you're
learning how to add and subtract, there isn't much exploring to be
done. It takes repeated problem solving to get it under intuitive
command, and once you have it, you are much better prepared to think
critically about higher mathematics.

> No, educators oppose standardized testing because the tests rarely
> actually measure anything worth measuring.  Worse yet, it encourages the
> bad teachers to teach to the test, rather than helping the student to
> understand the material.  I favor a strong peer-review mechanism, but not
> standardized testing.

Peer review is also known as mutual masturbation. The problem is that
right now, testing is tied into teacher and district funding, which
immediately destroys the scientific validity of the test. If we viewed
tests as merely a measurement of curriculum on a broader scale, they
could be much more valid measurements.

As for what's worth measuring, the local education union wants lots of
open-ended questions on the test which have to do with the application
of mathematics, and they shun all questions which have to do with
mathematics in the abstract. Of course, our local teacher college
teaches that public school education's purpose is merely to prepare the
average student for their future career, so what's the point of
teaching exponentation or any other abstract concept?

> Correct algorithm is more important than correct result.  I could barely
> care less if one of my students drops a minus sign somewhere in a problem,
> or adds incorrectly.  I correct them on it, they cuss lightly under their
> breath, and life moves on.

I disagree with the way you phrased that - the correct algorithm is
more important than an incorrect result. Our district penalizes
students who obtain correct answers but did so intuitively. This is,
from what I understand, part of the Everyday Mathematics curriculum. In
their world, for even the simplest of mathematics problems, you need to
write out a detailed explanation of how you came to the answer.
Penalizing intuition is the precise opposite of what I would do if I
wanted to encourage critical thinking. A solid intuitive understanding
of mathematics builds the ability to think critically about a wide
range of ideas. Of course, it's important to understand your intuition
too, but penalizing it is highly counterproductive or even dangerous.
Most everything you or I do with mathematics, we do so intuitively. It
enables us to extend our thinking to more complex ideas - programs,
circuits, differential equations, et al. Without this ability we can't
extend that far - we're always having to count on our fingers to add or
subtract, or write out multiplication.

> I am very confused as to how the thesis of this paragraph has *anything*
> to do with totalitarianism.

It was poorly written. Sorry.

> Yes, the bar should be raised.  Yes, computer education is important to
> this end.  You are correct when you say that we only do students a
> disservice if we don't give them a proper grounding in computer
> technology.

I wasn't arguing about computer technology at all! You can teach the
lambda calculus on a blackboard. But if the students have not
sufficiently developed their mathematical and anylitical intuition to
the point where they can work with the conceptual underpinnings of a
computer, then we are producing a society which doesn't understand its
own operation - a sure danger to freedom.

> But the problem facing many educators these days is that the
> students know more about computers than they do!

From my experience, students know a lot about using certain things on
the computer, but little about the computer itself - how to fix
problems, etc. Some students are quite gifted with computers, and their
attention should be directed towards programming.

> Hell, I used to
> fake-mail my computer teacher messages from himself (and occasionally
> Elvis) during computer class.  He was thoroughly baffled.  We'd be stupid
> to think that it's any different today, if not worse! (He even responded
> to them because, well... After a while, we noticed that his email password
> was "abcd123," so we'd check the messages and respond to them.)

Amusing. This probably an argument against programs like the local
school district's, which gives an iBook to every fourth, fifth, and
sixth grader. From what I've seen, they should be spending their time
practicing mathematics and reading some good books, including history
books.

> P.S. You should read "Where Mathematics Comes From" if you wish to
> understand *how* a student learns math and why rote memory is only
> ancillary to mathematics.  I will warn you that it is not the best book
> I've ever read, but it is currently one of the best books on the market
> for this.  The stuff towards the beginning is most pertinent to
> mathematics education.  The material towards the end if more pertinent
> toward mathematical philosophy.  Overall, it was an easy read that took me
> only two days.
> 
> http://perso.unifr.ch/rafael.nunez/

Ah yes, Lakoff. His ideas are interesting, but a lot of
neuropsychologists tend to see him as kind of on the edge - in
particular, he attaches a great deal of importance to mirror neurons
that are not yet fully understood or explored. I think his ideas will
only be evaluable ten or twenty years from now, when cognitive
psychology has caught up with the areas he's speculating in.

-- 
Brian Mastenbrook
http://www.cs.indiana.edu/~bmastenb/
From: Brian Mastenbrook
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <180120041303403040%NOSPAMbmastenbNOSPAM@cs.indiana.edu>
In article <·······································@cs.indiana.edu>,
Brian Mastenbrook <····················@cs.indiana.edu> wrote:

> What school district are you in? The local districts here are as
> progressive as can possibly be. The closest university's teaching
> department is purely progressive, and their professors give us such
> fine gems as "I don't like gifted programs - they're elitist", "I don't
> like math", and "I don't think teaching facts is important."

Just to clarify, when I say "local", I mean home in the Chicago area,
not Bloomington. I have no information about IU's teacher program,
other than having browsed the required texts bookshelf, where I was
astounded at the overtly political (and one-sided) nature of the
required texts. I don't think a Gore Vidal book on the Iraq war is a
good text for training educators.

-- 
Brian Mastenbrook
http://www.cs.indiana.edu/~bmastenb/
From: Tim Haynes
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <8665f984s5.fsf@potato.vegetable.org.uk>
Brian Mastenbrook <····················@cs.indiana.edu> writes:

[snip]
> Critical thinking requires a solid, intuitive understanding of the
> basics - you can't possibly visualize algebra, or do simple
> trigonometry, if you can't rattle off what six times seven is without
> thinking.

Disagree. At the time I was studying maths in school and university, as
now, I still find it a heck of a lot easier to picture a sine graph than to
rattle off mere numbers, having had to think about 6*7 just there.

Algebra is, by its very nature, not arithmetic. If "move that divisor of
one side up to multiply the other side" comes more naturally to someone
that the fact that 9*13 == 117, shouldn't you work with that?

> By the time you get to an Algebra II course, you should be able to solve
> simple linear equations without much thinking as well. 

There comes a point where you can visualise how the equation should be
manipulated to get the final answer but you don't *want* to play with the
numbers. That point comes in different places for different people.

[snip]

~Tim
-- 
   18:48:33 up 46 days, 22:01,  0 users,  load average: 0.00, 0.06, 0.11
······@stirfried.vegetable.org.uk |Windows 98 is year 2000-ready
http://spodzone.org.uk/cesspit/   |(seen during a recent, >y2000, installation)
From: Rahul Jain
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <87y8s4wqwo.fsf@nyct.net>
Tim Haynes <···············@stirfried.vegetable.org.uk> writes:

> Disagree. At the time I was studying maths in school and university, as
> now, I still find it a heck of a lot easier to picture a sine graph than to
> rattle off mere numbers, having had to think about 6*7 just there.
>
> Algebra is, by its very nature, not arithmetic. If "move that divisor of
> one side up to multiply the other side" comes more naturally to someone
> that the fact that 9*13 == 117, shouldn't you work with that?
[...]
> There comes a point where you can visualise how the equation should be
> manipulated to get the final answer but you don't *want* to play with the
> numbers. That point comes in different places for different people.

I'm pretty much the same way. I can take integrals more easily than I
can multiply two-digit numbers. Fortunately, advanced math rarely
involves much more than simple addition or subtraction of one from a
number. For the cases where you've got anything more complex, it's often
factorials and the like, so a calculator is almost essential.

-- 
Rahul Jain
·····@nyct.net
Professional Software Developer, Amateur Quantum Mechanicist
From: Tim Haynes
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <86ektw161r.fsf@potato.vegetable.org.uk>
Rahul Jain <·····@nyct.net> writes:

> Tim Haynes <···············@stirfried.vegetable.org.uk> writes:
>
>> Disagree. At the time I was studying maths in school and university, as
>> now, I still find it a heck of a lot easier to picture a sine graph than to
>> rattle off mere numbers, having had to think about 6*7 just there.
>>
>> Algebra is, by its very nature, not arithmetic. If "move that divisor of
>> one side up to multiply the other side" comes more naturally to someone
>> that the fact that 9*13 == 117, shouldn't you work with that?
> [...]
>> There comes a point where you can visualise how the equation should be
>> manipulated to get the final answer but you don't *want* to play with the
>> numbers. That point comes in different places for different people.
>
> I'm pretty much the same way. I can take integrals more easily than I can
> multiply two-digit numbers. Fortunately, advanced math rarely involves
> much more than simple addition or subtraction of one from a number. For
> the cases where you've got anything more complex, it's often factorials
> and the like, so a calculator is almost essential.

Drawing on a hint from Brian's post recently in this thread, I'm pondering
that the way our brains operate is to work through a process from start to
end in gorey detail, and then memorize a kind of start->destination vector
on which we build, like building a graph from the bottom-up. Plus, we know
best what we've done most recently.

This would explain how, for every-day use, you find integrating symbolic
expressions "easy", but I suggest that when you want to plug x=-1.194443989
into it, you reach for the calculator, because by this level what's
important is the symbolic manipulation that is integration, rather than
merely getting a result (visualise *that* number if you dare :) .

~Tim
-- 
And it's true we are immune.                ·······@stirfried.vegetable.org.uk
When fact is fiction and                    |http://spodzone.org.uk/
T.V. is reality,                            |
From: Samuel Walters
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <pan.2004.01.19.03.03.24.113231@yahoo.com>
| Tim Haynes said |

> Brian Mastenbrook <····················@cs.indiana.edu> writes:
> 
> [snip]
>> Critical thinking requires a solid, intuitive understanding of the
>> basics - you can't possibly visualize algebra, or do simple
>> trigonometry, if you can't rattle off what six times seven is without
>> thinking.
> 
> Disagree. At the time I was studying maths in school and university, as
> now, I still find it a heck of a lot easier to picture a sine graph than
> to rattle off mere numbers, having had to think about 6*7 just there.
> 
> Algebra is, by its very nature, not arithmetic. If "move that divisor of
> one side up to multiply the other side" comes more naturally to someone
> that the fact that 9*13 == 117, shouldn't you work with that?

And I will disagree with both of you.  Or perhaps, I'm agreeing with both
of you.  One should have a strong enough rote memorization to fall back
on, but a strong enough ability to visualize the problem to see
interconnected ideas.  In other words, the answer lies firmly in-between.

>> By the time you get to an Algebra II course, you should be able to
>> solve simple linear equations without much thinking as well.
> 
> There comes a point where you can visualise how the equation should be
> manipulated to get the final answer but you don't *want* to play with
> the numbers. That point comes in different places for different people.

That visualization comes from a fundamental understanding of *how* numbers
work.  Algebra is an abstraction of arithmetic operations.  The failure of
teaching in math comes from too much emphasis at the one or the other.  I
think the debate between Brian and myself is mostly about where that line
falls.  I claim that intuition comes before rote, and he feels that rote
precedes intuition. (If I understand him correctly.)

While I probably would have fumbled with poor wording before I read "Where
Mathematics Comes From,"  I can't say that the book expresses anything I
didn't previously know on some level or much that I care to disagree with.
 If nothing, else, it provided me with some factual grounding for my
beliefs.  I also can't say that I'm expressing much that's not found in
that book.

Very young children have an innate ability to do basic arithmetic and
estimations of numbers, called sublimation.  They know that if two
hand-puppets are hidden by a screen, and only one is there when the screen
comes back down, then something is wrong.  They will visually hunt for the
missing puppet.

There are four basic metaphors from which math is constructed.  There are
physical metaphors, or grounding schemas as Nunez and Lakoff call them.
The first is of numbers as object collections, as piles of things.  The
second is of arithmetic as "object construction."  That is, parts put
together constitute a whole.  The third is of line segments laid
end-to-end, in other words a "measuring stick metaphor."  The fourth is of
arithmetic as motion along a path.

If one cannot relate a mathematic idea back to one of these four
metaphors, then that idea remains bereft of meaning no matter how well one
is able to mechanically perform it.

So, it is the connection which should be developed first.  Rote memory,
while important, should always come in context of the metaphor.  A child
should not be taught that 3 times 5 is fifteen until they can physically
count a pile of objects by fives.  If a child can relate the times table
to the operation of counting by a specific number, the times table is not
only useful, but it is full of pattern and meaning.

Here's anecdotal evidence from a bit higher up the educational chain. 
Freshman students invariably ask me why they can't divide a number by
zero.  I grab a pile of scratch paper, which we always have nearby, and
say "If I wanted to divide this stack of papers into three, I'd do it like
this..."  and I begin placing them one-by-one into three piles.  "If I
wanted to divide it in two, I'd do it like this..."  and then divide it in
two.  "If I wanted to divide it into one..."  I place the papers one by
one into a pile on the table.  Then I hand them the stack of papers and
ask "Now that you know what division is, divide this pile into zero
piles and don't throw anything away!"  First comes confusion, then
enlightenment.  Through that physical metaphor, they have seen the
fundamental barrier to division by zero.

It's this type of visceral knowledge that has to be instilled in grade
school.  Teaching algebra is easy if numbers are already abstractions of
real-life things to you.

Arguing matters of algebra and above is pretty much useless if your
primary concern is basic numeracy.  No understanding of algebra can come
if one is not both comfortable with numbers and the ideas behind them.  If
one is not comfortable with these things, then one is bogged down by
arithmetic.

I *do* very strongly advocate the physical drawing of graphs by hand well
into a student's mathematical career.  There is a basic intuition about
how numbers work that can only be gained by physically putting lead to
paper and mapping out the results of having ground numbers through
functions.

I constantly repeat to my students "A graph is a table, a table is a
graph."  It takes a while for them to get it.  Since they're not forced to
crank out these things by hand, they don't understand the relationship
between a function, a table and a graph.

Sam Walters.

-- 
Never forget the halloween documents.
http://www.opensource.org/halloween/
""" Where will Microsoft try to drag you today?
    Do you really want to go there?"""
From: Brian Mastenbrook
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <180120042303452249%NOSPAMbmastenbNOSPAM@cs.indiana.edu>
In article <······························@yahoo.com>, Samuel Walters
<···············@yahoo.com> wrote:

> That visualization comes from a fundamental understanding of *how* numbers
> work.  Algebra is an abstraction of arithmetic operations.  The failure of
> teaching in math comes from too much emphasis at the one or the other.  I
> think the debate between Brian and myself is mostly about where that line
> falls.  I claim that intuition comes before rote, and he feels that rote
> precedes intuition. (If I understand him correctly.)

Well, kind of. We aren't born with an ability to do higher mathematics,
though the basic symbolic structures which support it are already
present. But when I speak of intuition, I don't speak of the fact that
we have structures which help us learn it, I speak of the fact that it
still has to be learned before we can use it. If this weren't the case
then we would simply spring fully formed from our parents' foreheads.
(Talk about your bizarre mating rituals!)

> Very young children have an innate ability to do basic arithmetic and
> estimations of numbers, called sublimation.  They know that if two
> hand-puppets are hidden by a screen, and only one is there when the screen
> comes back down, then something is wrong.  They will visually hunt for the
> missing puppet.

Amazing, isn't it, that a supposedly inexact brain is born with the
ability to do symbolic computation like that. (Sorry, that's a whole
different rant.)

The question is, is the brain doing two minus one, and determining that
there is one missing, or are there simply two different symbolic
representations in the brain, and what is noticed is that an object has
disappeared? I would argue the latter.

> There are four basic metaphors from which math is constructed.  There are
> physical metaphors, or grounding schemas as Nunez and Lakoff call them.
> The first is of numbers as object collections, as piles of things.  The
> second is of arithmetic as "object construction."  That is, parts put
> together constitute a whole.  The third is of line segments laid
> end-to-end, in other words a "measuring stick metaphor."  The fourth is of
> arithmetic as motion along a path.

Strangely enough, I've worked on these concepts directly. A professor
and I used them as the basis for a simulated robot creature, and based
on our experiences we were able to decompose some of them. Since I'm
not feeling particularly eloquent right now, try reading the paper
linked here and telling me if it makes any sense:

Eric Berkowitz and Brian Mastenbrook. Autonomous Generation of Grounded
Spatial Primitives for Agent Reasoning and Communication. In
Proceedings of the 2003 International Conference on Artificial
Intelligence , June 2003.
http://www.cs.indiana.edu/~bmastenb/documents/ebicai03.pdf

> If one cannot relate a mathematic idea back to one of these four
> metaphors, then that idea remains bereft of meaning no matter how well one
> is able to mechanically perform it.

I would argue that they provide a method of pulling up the intuitive
mathematical ability by it's bootstraps, but the relation between the
idea and this complete set of symbolic manipulations (albiet not
atomic! see the paper above) will become more and more distant as the
ideas become more complex. The fact that advanced symbolic reasoning
can be intuitively grasped is what makes us learning creatures. If our
brains were stuck with the above four manipulations only, advanced
reasoning would be too slow to use.

> So, it is the connection which should be developed first.  Rote memory,
> while important, should always come in context of the metaphor.  A child
> should not be taught that 3 times 5 is fifteen until they can physically
> count a pile of objects by fives.  If a child can relate the times table
> to the operation of counting by a specific number, the times table is not
> only useful, but it is full of pattern and meaning.

I certainly agree. But that world of pattern opens up even more once
the knowlege that 3 times 5 is fifteen is at your immediate command.
Visualising advanced concepts in terms of the basics is the right way
to introduce a concept, and a poor way to use it - when I'm trying to
solve a calculus problem, I don't want to stop and think /every/ time
about what a multiplication represents, or need to do that to solve the
problem. Presumably that knowledge is subsumed by my learned, intuitive
understanding of algebra and geometry and trigonometry, and I can rely
on it by proxy.

> Here's anecdotal evidence from a bit higher up the educational chain. 
> Freshman students invariably ask me why they can't divide a number by
> zero.  I grab a pile of scratch paper, which we always have nearby, and
> say "If I wanted to divide this stack of papers into three, I'd do it like
> this..."  and I begin placing them one-by-one into three piles.  "If I
> wanted to divide it in two, I'd do it like this..."  and then divide it in
> two.  "If I wanted to divide it into one..."  I place the papers one by
> one into a pile on the table.  Then I hand them the stack of papers and
> ask "Now that you know what division is, divide this pile into zero
> piles and don't throw anything away!"  First comes confusion, then
> enlightenment.  Through that physical metaphor, they have seen the
> fundamental barrier to division by zero.

Except that example relies on the idea that either the piece of paper
is atomic or it is composed of atomic components. If that were not the
case, and there were a fixed-time way to completely decompose an
object, then it would be possible.

> It's this type of visceral knowledge that has to be instilled in grade
> school.  Teaching algebra is easy if numbers are already abstractions of
> real-life things to you.

Hopefully your visceral knowledge of physics gives rise to the above
possiblity though. Knowing what ideas are atomic and what are not is
the key skill of mathematics and philosophy, and should be an overt
focus of our school curriculums.

> Arguing matters of algebra and above is pretty much useless if your
> primary concern is basic numeracy.  No understanding of algebra can come
> if one is not both comfortable with numbers and the ideas behind them.  If
> one is not comfortable with these things, then one is bogged down by
> arithmetic.

My point exactly.

> I *do* very strongly advocate the physical drawing of graphs by hand well
> into a student's mathematical career.  There is a basic intuition about
> how numbers work that can only be gained by physically putting lead to
> paper and mapping out the results of having ground numbers through
> functions.

Yes!

> I constantly repeat to my students "A graph is a table, a table is a
> graph."  It takes a while for them to get it.  Since they're not forced to
> crank out these things by hand, they don't understand the relationship
> between a function, a table and a graph.

It's worse when you can just push a button and make it happen.
Calculators are truly detrimental to the acquisition of a skill in
detail.

-- 
Brian Mastenbrook
http://www.cs.indiana.edu/~bmastenb/
From: Samuel Walters
Subject: OT, and afraid to ask for directions Was: Re: Programming languages for the very young
Date: 
Message-ID: <pan.2004.01.20.08.44.27.15029@yahoo.com>
| Brian Mastenbrook said |
> Well, kind of. We aren't born with an ability to do higher mathematics,
> though the basic symbolic structures which support it are already
> present. But when I speak of intuition, I don't speak of the fact that
> we have structures which help us learn it, I speak of the fact that it
> still has to be learned before we can use it. If this weren't the case
> then we would simply spring fully formed from our parents' foreheads.
> (Talk about your bizarre mating rituals!)

As long as I don't have to have my skull cleaved with ax to get my
students to learn math, I'll be happy.
 
>> Very young children have an innate ability to do basic arithmetic and
>> estimations of numbers, called sublimation.  They know that if two
>> hand-puppets are hidden by a screen, and only one is there when the
>> screen comes back down, then something is wrong.  They will visually
>> hunt for the missing puppet.

Citation:
http://www.ncbi.nlm.nih.gov:80/entrez/query.fcgi?cmd=Retrieve&db=PubMed&list_uids=6851716&dopt=Abstract

Correction:  I meant to type subitizing, not sublimation.  Very different
concepts.

> Amazing, isn't it, that a supposedly inexact brain is born with the
> ability to do symbolic computation like that. (Sorry, that's a whole
> different rant.)

Absolutely.  I think that the strangely symbol-oriented nature is a
prerequisite for so much.  With out it, there would be no language.  It's
the basis for our problem-solving ability.  We can see many uses for a
thing by because we can gut a metaphor from another domain, and plug new
symbols into it.  I've often wondered how such a seemingly disordered mess
of neurons can produce this structure.

Have you, by chance, read Hofstadter's "Fluid Concepts and Creative
Analogies?"  I'll bet you have, considering your field of research, but
perhaps not.

> The question is, is the brain doing two minus one, and determining that
> there is one missing, or are there simply two different symbolic
> representations in the brain, and what is noticed is that an object has
> disappeared? I would argue the latter.

That is an interesting question.  I side with you, but believe the debate
to still be valid.  I think that object persistence and subitizing are the
result of evolutionary pressures.  After all, the caveman who wonders what
happened to the line that disappeared from a pride of five is more likely
to live than one who can't count that high.

It makes you wonder what other animals might have this capability, or
slightly more specific ones that are similar?

> Strangely enough, I've worked on these concepts directly. A professor
> and I used them as the basis for a simulated robot creature, and based
> on our experiences we were able to decompose some of them. Since I'm not
> feeling particularly eloquent right now, try reading the paper linked
> here and telling me if it makes any sense:
> 
> Eric Berkowitz and Brian Mastenbrook. Autonomous Generation of Grounded
> Spatial Primitives for Agent Reasoning and Communication. In Proceedings
> of the 2003 International Conference on Artificial Intelligence , June
> 2003.
> http://www.cs.indiana.edu/~bmastenb/documents/ebicai03.pdf

Interesting.  My favorite line was "It was even believed that by doing so,
ASPARC could acquire basic methods of arithmetic.  All such efforts
failed."  For some reason the bluntness made me chuckle.

I like it.  Sorta SHRDLU meets Rodney Brooks meet Lakoff.  From my
(un)official post as (arm)chair (quarterback) of Artificial Intelligence
research, I would like to say that I think you're on the right track.

Particularly interesting is the memory architecture. I like the way it
focuses on physical memories.  That makes sense.  I think a good deal of
why AI flounders (that's not a criticism, you guys are tackling a hard
problem) is that we're not really sure what the basic units of cognition
are.  I mean, memory of physical action/sensory data pairs may be the
basis of it.

What does the phrase "meta-spatial perception" mean in this context? I
couldn't parse it back to the topic.

What motivated the decision to include numbers in the as atomic memories?

How was the goal data and location/orientation data communicated to
ASPARC?  Specifically, I have often wondered if computer vision
researchers were tackling a different problem than the one that the human
brain tackles with vision.  Perhaps the visual decomposition isn't
delivered simply in terms of object location/identity information, but
instead as some half-cooked or strange set of data that is then actively
integrated with, say, physical memories to produce a low-level diffuse
knowledge of the area.  At least map-building does vary not only from
individual to individual, but there is a measurable difference between
genders.  In other words, do you think this has any bearing on the
limitations and success of ASPARC?

I'm interested in knowing more.  Is there any more info out there?

And now I *really* think you should read WMCF, if only to see if it has
anything to add to your ideas of human conception of infinite actions and
objects.

> I would argue that they provide a method of pulling up the intuitive
> mathematical ability by it's bootstraps, but the relation between the
> idea and this complete set of symbolic manipulations (albiet not atomic!
> see the paper above) will become more and more distant as the ideas
> become more complex. The fact that advanced symbolic reasoning can be
> intuitively grasped is what makes us learning creatures. If our brains
> were stuck with the above four manipulations only, advanced reasoning
> would be too slow to use.

Strangely, I think that we, as mathematicians, develop those metaphor
extensions and variations to a level where higher level concepts seem more
natural than the bare concepts and actually replace our natural intuition
of those concepts.  I'm not talking about rote recall vs visualization of
the situation.  Rote recall bridges several steps with a single recall
operation.  It acts as a bridge just as ASPARC needed a cognitive bridge
to make "extend leg" + "pull body" into "step."  I think you would argue
that ASPARC will need to retain both the "extend leg" and "pull body"
actions if you ever hope it to tackle variations or complications in the
problem domain.

> I certainly agree. But that world of pattern opens up even more once the
> knowlege that 3 times 5 is fifteen is at your immediate command.
> Visualising advanced concepts in terms of the basics is the right way to
> introduce a concept, and a poor way to use it - when I'm trying to solve
> a calculus problem, I don't want to stop and think /every/ time about
> what a multiplication represents, or need to do that to solve the
> problem. Presumably that knowledge is subsumed by my learned, intuitive
> understanding of algebra and geometry and trigonometry, and I can rely
> on it by proxy.

Of course, I'm not advocating that you stop to consider it /every/ time,
but it must be accessible.  Try to teach a student that an integral can be
used to calculate area under a curve when they still don't grasp on a gut
level that the area of a rectangle is length times width.  It's easier to
teach them "When the question asks for area under the curve, do this..."
but is it advisable?

>> Here's anecdotal evidence from a bit higher up the educational chain.
>> Freshman students invariably ask me why they can't divide a number by
>> zero.  I grab a pile of scratch paper, which we always have nearby, and
>> say "If I wanted to divide this stack of papers into three, I'd do it
>> like this..."  and I begin placing them one-by-one into three piles.
>> "If I wanted to divide it in two, I'd do it like this..."  and then
>> divide it in two.  "If I wanted to divide it into one..."  I place the
>> papers one by one into a pile on the table.  Then I hand them the stack
>> of papers and ask "Now that you know what division is, divide this pile
>> into zero piles and don't throw anything away!"  First comes confusion,
>> then enlightenment.  Through that physical metaphor, they have seen the
>> fundamental barrier to division by zero.
> 
> Except that example relies on the idea that either the piece of paper is
> atomic or it is composed of atomic components. If that were not the
> case, and there were a fixed-time way to completely decompose an object,
> then it would be possible.

Of course.  I'm relying on the notion that not all that is imaginable
should be considered. I could ponder all day what it would feel like to be
able to fly like superman, but it will not really get me anywhere other
considerations couldn't get me faster.

> Hopefully your visceral knowledge of physics gives rise to the above
> possiblity though. Knowing what ideas are atomic and what are not is the
> key skill of mathematics and philosophy, and should be an overt focus of
> our school curriculums.

Certainly it does.  I want the student to be able to trust a rote memory
of certain kinds of facts without having to work them out all the time.  I
just think it's important to be able to work them out, if necessary
because it equips the student to deal with variations.  I think this theme
carries from the basement of arithmetic to the towers of theoretical
mathematics.

For instance.  I know that the set of rationals is denumerable.  I don't
have to recall the proof to make a decision based on that fact.  I do,
however, trust it more because I can recall how it is proven, and I can
apply the same concept when I ask myself if other sets are denumerable.


> It's worse when you can just push a button and make it happen.
> Calculators are truly detrimental to the acquisition of a skill in
> detail.

In a way, I think we both had the same concept from the beginning, but
simply were coming from such distant definitions of the problem and
terminology that we thought we were disagreeing.

If you recall, this is the one point upon which I agreed in my first
response.  :-P

A little bit more from the (arm)chair (quarterback) of AI:

It's amazing how evolutionary systems find evolutionary advantage in such
odd places.  I once saw a show about an AI researcher who hacked an Aibo
to "learn" to walk via genetic algorithms.  It did wonderfully.  When he
went to show it to the press, the dog just kept wiggling in place.
Embarrassed, he took it back to the lab and, miraculously, it walked!
After much pontification, he realized that the genetic algorithms took
advantage of the friction of the thin carpet on his workbench.  He had
attempted to demonstrate it on conference table.

It really makes you wonder what sort of evolutionary hacks mother nature
has done while evolving us.

I mean, could neurons be using some as-of-yet-unknown quirk of quantum
physics to communicate information around the brain?  I'm not appealing to
the idea that the brain is somehow a special organ that draws mystical
energies from the quantum-mechanical aether.  I'm pointing out that we're
not sure how thin of a carpet evolution can use to it's advantage.

Consider the gecko.  Until recently, we were baffled by how well it was
able to stick to any surface.  Turns out that, while not really quantum
mechanical forces, Van der Waals forces were it's secret.  That's some
thin carpet.  We studied the feet of the gecko because they seemed
extraordinary.  In general, feet are mundane.  What extraordinary things
are we overlooking because they're more cleverly hidden in a mundane
category?
http://www.howstuffworks.com/news-item21.htm

Sam Walters.

-- 
Never forget the halloween documents.
http://www.opensource.org/halloween/
""" Where will Microsoft try to drag you today?
    Do you really want to go there?"""
From: Andru Luvisi
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <87llo3q0po.fsf@andru.sonoma.edu>
>>>>> "Samuel" == Samuel Walters <···············@yahoo.com> writes:
    Samuel> There are four basic metaphors from which math is
    Samuel> constructed.  There are physical metaphors, or grounding
    Samuel> schemas as Nunez and Lakoff call them.  The first is of
    Samuel> numbers as object collections, as piles of things.  The
    Samuel> second is of arithmetic as "object construction."  That
    Samuel> is, parts put together constitute a whole.  The third is
    Samuel> of line segments laid end-to-end, in other words a
    Samuel> "measuring stick metaphor."  The fourth is of arithmetic
    Samuel> as motion along a path.

    Samuel> If one cannot relate a mathematic idea back to one of
    Samuel> these four metaphors, then that idea remains bereft of
    Samuel> meaning no matter how well one is able to mechanically
    Samuel> perform it.

Could I trouble you to explain how how to relate a negative times a
negative equaling a positive back to one of these?

Andru
-- 
Andru Luvisi

Quote Of The Moment:
  Knuth's Tex for the Math-kings of sigma, and pi,
     Unix vim for the Server-lords with their O'Reilly tomes,
  Word for Mortal Men doomed to die,
     Emacs from the Bearded One on his Gnu throne,
  In the land of Stallman where free software lies.
     One Emacs to rule them all.  One Emacs to find them,
     One Emacs to take commands and to the keystrokes bind them,
  In the land of Stallman, where free software lies.
  
     --- Raffael Cavallaro
From: Paul Wallich
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <buh6em$duv$1@reader2.panix.com>
Andru Luvisi wrote:

>>>>>>"Samuel" == Samuel Walters <···············@yahoo.com> writes:
> 
>     Samuel> There are four basic metaphors from which math is
>     Samuel> constructed.  There are physical metaphors, or grounding
>     Samuel> schemas as Nunez and Lakoff call them.  The first is of
>     Samuel> numbers as object collections, as piles of things.  The
>     Samuel> second is of arithmetic as "object construction."  That
>     Samuel> is, parts put together constitute a whole.  The third is
>     Samuel> of line segments laid end-to-end, in other words a
>     Samuel> "measuring stick metaphor."  The fourth is of arithmetic
>     Samuel> as motion along a path.
> 
>     Samuel> If one cannot relate a mathematic idea back to one of
>     Samuel> these four metaphors, then that idea remains bereft of
>     Samuel> meaning no matter how well one is able to mechanically
>     Samuel> perform it.
> 
> Could I trouble you to explain how how to relate a negative times a
> negative equaling a positive back to one of these?

That one's easy. If a negative times a positive means going back along 
the number line from zero away from the positive direction, then a 
negative times a negative means going similarly "back" along the number 
line from zero away from the negative direction.

There's a little overloading going on there, because "negative" and 
"positive" can mean "away from zero in a particular direction" or 
"against/with the direction you were already going" depending on what 
operation you're doing with them.

paul
From: Samuel Walters
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <pan.2004.01.20.01.06.50.692576@yahoo.com>
| Paul Wallich said |

> Andru Luvisi wrote:
> 
>>>>>>>"Samuel" == Samuel Walters <···············@yahoo.com> writes:
>> 
>>     Samuel> There are four basic metaphors from which math is Samuel>
>>     constructed.  There are physical metaphors, or grounding Samuel>
>>     schemas as Nunez and Lakoff call them.  The first is of Samuel>
>>     numbers as object collections, as piles of things.  The Samuel>
>>     second is of arithmetic as "object construction."  That Samuel> is,
>>     parts put together constitute a whole.  The third is Samuel> of
>>     line segments laid end-to-end, in other words a Samuel> "measuring
>>     stick metaphor."  The fourth is of arithmetic Samuel> as motion
>>     along a path.
>> 
>>     Samuel> If one cannot relate a mathematic idea back to one of
>>     Samuel> these four metaphors, then that idea remains bereft of
>>     Samuel> meaning no matter how well one is able to mechanically
>>     Samuel> perform it.
>> 
>> Could I trouble you to explain how how to relate a negative times a
>> negative equaling a positive back to one of these?
> 
> That one's easy. If a negative times a positive means going back along
> the number line from zero away from the positive direction, then a
> negative times a negative means going similarly "back" along the number
> line from zero away from the negative direction.
> 
> There's a little overloading going on there, because "negative" and
> "positive" can mean "away from zero in a particular direction" or
> "against/with the direction you were already going" depending on what
> operation you're doing with them.

More specifically, number line itself is not a completely grounded
concept.  It is a blend of the measuring stick and motion along a path
schemas.  This concept is easy to embody if you think of the act of taking
a step as one "measuring stick" long.  Multiplication is also a bit
removed.  In 5 * 2, one thinks of "two steps" as a single action, then
repeats it five times.  In 5 * -2, one thinks of "two steps backwards" as
being a single action, then repeats it five times.  Realizing that 5 * 2
puts us in the same spot as 2 * 5, we wonder if -2 * 5 should mean
something.  It's only a small leap to guess that it puts you in the same
place as 5 * 2.  The next step is -5 * -2, which is "backwards in a
backwards direction" which is "forwards.

Of course, I wouldn't lead anyone straight down this path directly while
teaching math.  I'd build a lot of corollary ideas along the way.  That
mass of ideas, as a whole, makes "negative times a negative is positive"
quite simple.

The concept of a negative number is actually quite some conceptual
distance from the basics of addition, subtraction, multiplication and
division.  It appeals to closure of number systems.  That is asking "If
5-2 is a number, then wouldn't 2-5 also be a number?"  If you consider
that even zero (number, not numeral) is a historical novelty, this doesn't
seem too far fetched of an idea.  Negative numbers and Zero are still
infants in the philosophical world! (And math *is* a form of philosophy.)

There's got to be a reference somewhere online here...
http://www-gap.dcs.st-and.ac.uk/~history/HistTopics/Zero.html

Sam Walters.

-- 
Never forget the halloween documents.
http://www.opensource.org/halloween/
""" Where will Microsoft try to drag you today?
    Do you really want to go there?"""
From: Paul Wallich
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <buia91$q3a$1@reader2.panix.com>
Samuel Walters wrote:

> The concept of a negative number is actually quite some conceptual
> distance from the basics of addition, subtraction, multiplication and
> division.  It appeals to closure of number systems.  That is asking "If
> 5-2 is a number, then wouldn't 2-5 also be a number?"  If you consider
> that even zero (number, not numeral) is a historical novelty, this doesn't
> seem too far fetched of an idea.  Negative numbers and Zero are still
> infants in the philosophical world! (And math *is* a form of philosophy.)

If you're building your arithmetic from abstract notions of numbers and 
counting, negatives are quite a distance away from the basics, but if 
you're building them from physical intuitions about space and indexical 
coordinate systems, they pretty much stare you in the face. You can't go 
very far in the world without recognizing that two miles south of you is 
a different place from two miles north of you. (Which explains why I 
failed at learning physics some years after I failed at learning 
mathematics)

paul
From: Samuel Walters
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <pan.2004.01.20.06.29.45.750114@yahoo.com>
| Paul Wallich said |

> Samuel Walters wrote:
> 
>> The concept of a negative number is actually quite some conceptual
>> distance from the basics of addition, subtraction, multiplication and
>> division.  It appeals to closure of number systems.  That is asking "If
>> 5-2 is a number, then wouldn't 2-5 also be a number?"  If you consider
>> that even zero (number, not numeral) is a historical novelty, this
>> doesn't seem too far fetched of an idea.  Negative numbers and Zero are
>> still infants in the philosophical world! (And math *is* a form of
>> philosophy.)
> 
> If you're building your arithmetic from abstract notions of numbers and
> counting, negatives are quite a distance away from the basics, but if
> you're building them from physical intuitions about space and indexical
> coordinate systems, they pretty much stare you in the face. You can't go
> very far in the world without recognizing that two miles south of you is
> a different place from two miles north of you. (Which explains why I
> failed at learning physics some years after I failed at learning
> mathematics)

The simple existence of negative numbers is, perhaps, not very many steps
away.  It requires only the desire for closure and the foundation of the
metered motion along a path.  4-5 is four steps forwards and five steps
back. Huh... New place.  Neat.  So, why then did it take so long for us to
culturally develop this?  Well, my guess it that you don't do much
measuring of things with negative lengths.  There are no buildings that
are negative feet tall.  A building that is negative feet tall is no
longer a building. It's a hole in the ground.  If I lend you five bucks,
and you then lend me ten the next week, you don't have -5 dollars.  I owe
you positive five dollars.  We tend to shift perspectives when we have to
deal with things that are more elegant with negative numbers.

There's even plenty of simple realms where negative numbers make *no*
sense whatsoever.  How can a person be negative feet high?  I cannot have
negative five apples.  With so many of these special-cases littering the
conceptual landscape, one can imagine that negative numbers were a bit
hard to figure out.

The properties of negative numbers are, however, a bit more of a journey.
The original question was about "negative times negative is positive."  If
one has firm intuitions about space and indexable coordinate systems, then
it is very obvious, if not mandatory.

See, the problem is that no one has an innate intuition to put space in
terms of indexed coordinate systems.  Until Simon Stevin came around in
1585 and released a work that defined not only decimals, but also the
modern number line, we had been using Greek ideas of space-measurement. To
the Greeks, the center of the number-line was unity (the number 1, or more
exactly, one unit length) and all numbers on that line were either a ratio
of natural numbers, or a natural number. Everything else that we know of
today, such as irrational numbers, were denoted as "incommensurable." 
Like much of mathematical history left sqrt(-1) well alone, the Greeks had
decided that irrationals were just to weird for them to deal with.  Even
after Stevin introduced his number line, with zero as the center, it took
another, I think... 30 to 35 years for De Carte to extend that idea to the
plane. (If this type of babble interests you, I suggest "Greek
Mathematical Thought and the Origin of Algebra."  It's dirt cheap, and a
good fun read.)
http://www.amazon.com/exec/obidos/tg/detail/-/0486272893/104-5819699-9103946?v=glance

The basics building blocks of algebra were discovered and understood
relatively early in the history of mathematics.  The desire for closure,
which led us to negative numbers, irrationals and imaginary numbers is
fairly new.  Looking at the history of things, I think this desire for
closure is unintuitive.  Our brains are built to use the most convenient
schema for a given situation.  The problem with motion in a negative
direction is that the brain already has a firmly ingrained idea of what
the result is.  It's only when support is built around the idea of
indexable space that the leap to that notion becomes compelling.

Sam Walters.

P.S. Some could argue that negative numbers and rationals are both
evidence of an early desire for closure, but I would argue that they
developed out of a utilitarian need for a closed number system. 
Accounting becomes much easier when one can use negative numbers and
construction, where one must measure materials, becomes much easier when
one can make use of fractions.

P.P.S.  I think that once the student has grasped the closure across
subtraction, then other closures become easier, and thus more compelling.

-- 
Never forget the halloween documents.
http://www.opensource.org/halloween/
""" Where will Microsoft try to drag you today?
    Do you really want to go there?"""
From: Samuel Walters
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <pan.2004.01.20.08.55.58.323170@yahoo.com>
| Paul Wallich said |
> If you're building your arithmetic from abstract notions of numbers and 
> counting, negatives are quite a distance away from the basics, but if 
> you're building them from physical intuitions about space and indexical 
> coordinate systems, they pretty much stare you in the face. You can't go 
> very far in the world without recognizing that two miles south of you is 
> a different place from two miles north of you. (Which explains why I 
> failed at learning physics some years after I failed at learning 
> mathematics)

*sigh*  Sorry...

Usenet faux pax.

I misread the first sentence to read the exact opposite of what it
actually says.  I still stand behind the assertion that it's actually the
concept of indexing a space that introduces distance from grounding
schemas.  The rest however, should be taken in context of what I thought I
was arguing.

Sam Walters.

-- 
Never forget the halloween documents.
http://www.opensource.org/halloween/
""" Where will Microsoft try to drag you today?
    Do you really want to go there?"""
From: Paul Wallich
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <bujfff$6hs$1@reader2.panix.com>
Samuel Walters wrote:

> | Paul Wallich said |
> 
>>If you're building your arithmetic from abstract notions of numbers and 
>>counting, negatives are quite a distance away from the basics, but if 
>>you're building them from physical intuitions about space and indexical 
>>coordinate systems, they pretty much stare you in the face. You can't go 
>>very far in the world without recognizing that two miles south of you is 
>>a different place from two miles north of you. (Which explains why I 
>>failed at learning physics some years after I failed at learning 
>>mathematics)
> 
> 
> *sigh*  Sorry...
> 
> Usenet faux pax.
> 
> I misread the first sentence to read the exact opposite of what it
> actually says.  I still stand behind the assertion that it's actually the
> concept of indexing a space that introduces distance from grounding
> schemas.  The rest however, should be taken in context of what I thought I
> was arguing.

Not a problem. I thought your argument pretty much made sense anyway. I 
was going to follow it up with a bunch of fluff about how the greek 
version of the number line may have been influenced by the fact that the 
people developing it came from  background that was mostly urban and 
artisanal or agrarian, and that nomads would have formalized what we now 
think of as "the number line" in a much more direct way, since their 
world consists of things much more like directed graphs than like 
uniform planes. But I guess I shan't.

paul
From: Tim Haynes
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <86k73o16lv.fsf@potato.vegetable.org.uk>
Samuel Walters <···············@yahoo.com> writes:

>> Algebra is, by its very nature, not arithmetic. If "move that divisor of
>> one side up to multiply the other side" comes more naturally to someone
>> that the fact that 9*13 == 117, shouldn't you work with that?
>
> And I will disagree with both of you. Or perhaps, I'm agreeing with both
> of you. One should have a strong enough rote memorization to fall back
> on, but a strong enough ability to visualize the problem to see
> interconnected ideas. In other words, the answer lies firmly in-between.

Yes, there is a balance between both - I'm not advocating abandoning
knowing a few times-tables, but saying folks will come from both angles.
I'm no teacher, so however you handle that is out of my scope. :)

>> There comes a point where you can visualise how the equation should be
>> manipulated to get the final answer but you don't *want* to play with
>> the numbers. That point comes in different places for different people.
>
> That visualization comes from a fundamental understanding of *how*
> numbers work. Algebra is an abstraction of arithmetic operations. 

Possibly. But how did I just calculate 12*8 in my head other than by saying
"10*8 is easy enough, add on 2*8 afterwards"? Dad taught me to do that sort
of thing way way back, so I've been applying elementary algebra in my
arithmetic ever since :)

[snip]
> There are four basic metaphors from which math is constructed. There are
> physical metaphors, or grounding schemas as Nunez and Lakoff call them.
> The first is of numbers as object collections, as piles of things. The
> second is of arithmetic as "object construction." That is, parts put
> together constitute a whole. The third is of line segments laid
> end-to-end, in other words a "measuring stick metaphor." The fourth is of
> arithmetic as motion along a path.

OK, this is more psychology than I was aware of. Interesting, but I'll
postpone further research for a while. :)

> Here's anecdotal evidence from a bit higher up the educational chain.
> Freshman students invariably ask me why they can't divide a number by
> zero. I grab a pile of scratch paper, which we always have nearby, and
> say "If I wanted to divide this stack of papers into three, I'd do it
> like this..." and I begin placing them one-by-one into three piles. "If I
> wanted to divide it in two, I'd do it like this..." and then divide it in
> two. "If I wanted to divide it into one..." I place the papers one by one
> into a pile on the table. Then I hand them the stack of papers and ask
> "Now that you know what division is, divide this pile into zero piles and
> don't throw anything away!" First comes confusion, then enlightenment.
> Through that physical metaphor, they have seen the fundamental barrier to
> division by zero.

Hmmm. Weird. `Freshman' is what, 1st year University to me? By then, I'd be
looking to explain that in terms of lim (a/x) as x->0 with a graphical
visualisation of the results, "oh look, it's ill-defined", because such
things as graphs and limits are instilled at A-level if not before.

> I *do* very strongly advocate the physical drawing of graphs by hand well
> into a student's mathematical career. There is a basic intuition about
> how numbers work that can only be gained by physically putting lead to
> paper and mapping out the results of having ground numbers through
> functions.

I had this discussion with a physics teacher at school, when I would far
rather plot out a graph for accuracy and he would tell me that putting a
dot in a circle was somehow *more* accurate than ~150dpi printer, or
whatever... I, for one, don't get so much out of what you say as rather
looking at the resultant shape, "ok, it peaks here, this means <whatever>".
You could say that analysis rather than construction is what excites.

> I constantly repeat to my students "A graph is a table, a table is a
> graph." It takes a while for them to get it. Since they're not forced to
> crank out these things by hand, they don't understand the relationship
> between a function, a table and a graph.

I suppose I was fortunate in that functions, mappings, tabulation and
graphing were all taught around GCSE (age <16) and given a formal footing
by A-level. Here's the thought, though, related to my previous paragraph.
Say, for example, that you ask someone to play with the functions
     f(t) = sin(t)
     g(t) = 2*sin(t)
     h(t) = sin(2*t)
What do they get from applying lead to paper, and what do they get from
a quick plot on a graphical calculator whilst observing "oh look, it goes
up twice as high as it did before", or "it's got twice the frequency"? What
are the ramifications for solving an algebraic equation with a visual
building-block approach in which these sort of things are terms? What are
the ramifications on ability to write a very simple computer program to
draw a circle? 

~Tim
-- 
   12:05:52 up 47 days, 15:18,  2 users,  load average: 0.16, 0.25, 0.29
······@stirfried.vegetable.org.uk |We all talk a different language,
http://spodzone.org.uk/cesspit/   |Talking in defence
From: Samuel Walters
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <pan.2004.01.19.15.22.49.379274@yahoo.com>
| Tim Haynes said |
> Yes, there is a balance between both - I'm not advocating abandoning
> knowing a few times-tables, but saying folks will come from both angles.
> I'm no teacher, so however you handle that is out of my scope. :)

Neither am I advocating abandoning them.  Sublimation, the process of
learning a process so well that the original mechanism can become obscured
from self-awareness, is *very* important so that one can concentrate on
the form of an equation, rather than the numbers of it.

> Possibly. But how did I just calculate 12*8 in my head other than by saying
> "10*8 is easy enough, add on 2*8 afterwards"? Dad taught me to do that sort
> of thing way way back, so I've been applying elementary algebra in my
> arithmetic ever since :)

Let me cast what you did in a different light.  First, you picture,
however briefly or inaccurately, a pile of 80 things in your head.  Then,
you mentally took a pile of 16 and merged them together.  You didn't have
to count them, but the process of building one pile of two piles is the
intuition I'm discussing.

> OK, this is more psychology than I was aware of. Interesting, but I'll
> postpone further research for a while. :)

"Where Mathematics Comes From" is an interesting book.  The first half is,
in my experience, spot on about how people relate to math.  The second
half is a bit more tenuous.  YMMV.  Overall, well worth the read if you
ever wondered about the mechanisms by which one connects real-life to that
abstract crystalline space of mathematics.

> Hmmm. Weird. `Freshman' is what, 1st year University to me? By then, I'd be
> looking to explain that in terms of lim (a/x) as x->0 with a graphical
> visualisation of the results, "oh look, it's ill-defined", because such
> things as graphs and limits are instilled at A-level if not before.

The American education system is horrific.  To some, I am teaching limits,
but the vast majority are nowhere near that.  You also have to look at
context.  I'm at a small-town community college.  The people I see are the
ones who didn't make it into a large university, or are "returning
students."  My favorite students are the returning students.  They want
the degree, and are willing to work for it.  Strangely, I would argue that
we give a better education than a large university.  We have smaller
classes, and actually get involved with the students.  It seems that
everyone who goes on from here knocks the socks off the
university-educated undergrads.

> I had this discussion with a physics teacher at school, when I would far
> rather plot out a graph for accuracy and he would tell me that putting a
> dot in a circle was somehow *more* accurate than ~150dpi printer, or
> whatever... I, for one, don't get so much out of what you say as rather
> looking at the resultant shape, "ok, it peaks here, this means <whatever>".
> You could say that analysis rather than construction is what excites.

As it should, but I'm not concerned about accuracy.  I'm talking about
developing a gut feel.  My students have difficulty with things like
"Given this graph of F(x), find F(3)" where the graph has nice, cleanly
drawn lines so that they just follow the line up from 3 on the X, and over
to 2 on the Y.  They don't grasp this because they don't realize that a
graph is a visual representation of a table.

> I suppose I was fortunate in that functions, mappings, tabulation and
> graphing were all taught around GCSE (age <16) and given a formal footing
> by A-level. Here's the thought, though, related to my previous paragraph.
> Say, for example, that you ask someone to play with the functions
>      f(t) = sin(t)
>      g(t) = 2*sin(t)
>      h(t) = sin(2*t)
> What do they get from applying lead to paper, and what do they get from
> a quick plot on a graphical calculator whilst observing "oh look, it goes
> up twice as high as it did before", or "it's got twice the frequency"? What
> are the ramifications for solving an algebraic equation with a visual
> building-block approach in which these sort of things are terms? What are
> the ramifications on ability to write a very simple computer program to
> draw a circle? 

Trig is where it gets iffy as to whether graphing calculators hurt or
hinder.  I think that, perhaps, we should allow scientific calculators and
do a series of exercises on the computer with graphing functions.  I'm
still rolling over the conversation with Brian Mastenbrook.

A creative and curious student will explore what's going on with the
graph.  I don't see the creative or curious ones.  I see the terminally
befuddled ones.  The physical act of choosing and writing a scale for your
graph, and mentally matching it up with each "special point" (for instance
(1,1) on the tan graph) is very important for these students.

Here's an analogy.  I can sit on my couch at home yelling at the
basketball team on telly about how good they're doing, but no matter how
much basketball I've watched, It doesn't compare to a few years playing
experience.  Mathematics is not a spectator sport.

Sam Walters.

-- 
Never forget the halloween documents.
http://www.opensource.org/halloween/
""" Where will Microsoft try to drag you today?
    Do you really want to go there?"""
From: Tim Haynes
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <864qur252i.fsf@potato.vegetable.org.uk>
Samuel Walters <···············@yahoo.com> writes:

> | Tim Haynes said |
>> Yes, there is a balance between both - I'm not advocating abandoning
>> knowing a few times-tables, but saying folks will come from both angles.
>> I'm no teacher, so however you handle that is out of my scope. :)
>
> Neither am I advocating abandoning them. Sublimation, the process of
> learning a process so well that the original mechanism can become
> obscured from self-awareness, is *very* important so that one can
> concentrate on the form of an equation, rather than the numbers of it.

Aha, this is exactly what we're talking about. 

>> Possibly. But how did I just calculate 12*8 in my head other than by
>> saying "10*8 is easy enough, add on 2*8 afterwards"? Dad taught me to do
>> that sort of thing way way back, so I've been applying elementary
>> algebra in my arithmetic ever since :)
>
> Let me cast what you did in a different light. First, you picture,
> however briefly or inaccurately, a pile of 80 things in your head. Then,
> you mentally took a pile of 16 and merged them together. You didn't have
> to count them, but the process of building one pile of two piles is the
> intuition I'm discussing.

Well, the details of the visualization are significantly different. The
transformation "split it into two easy things and add" was almost pictured,
but not in terms of countable bricks, rather more like `(10 8)' .... `(2 8)'.
I saw the sub-expressions, not piles of bricks. Still, there's only one of
me, be forever glad... :)

>> OK, this is more psychology than I was aware of. Interesting, but I'll
>> postpone further research for a while. :)
>
> "Where Mathematics Comes From" is an interesting book. The first half is,
> in my experience, spot on about how people relate to math. The second
> half is a bit more tenuous. YMMV. Overall, well worth the read if you
> ever wondered about the mechanisms by which one connects real-life to
> that abstract crystalline space of mathematics.

Yeah, I'll go dig out a copy. Thanks for the recommendation. :)

[snip]
>            My favorite students are the returning students. They want the
> degree, and are willing to work for it. Strangely, I would argue that we
> give a better education than a large university. We have smaller classes,
> and actually get involved with the students. It seems that everyone who
> goes on from here knocks the socks off the university-educated
> undergrads.

Yes, those would help, definitely.

>> I had this discussion with a physics teacher at school, when I would far
>> rather plot out a graph for accuracy and he would tell me that putting a
>> dot in a circle was somehow *more* accurate than ~150dpi printer, or
>> whatever... I, for one, don't get so much out of what you say as rather
>> looking at the resultant shape, "ok, it peaks here, this means
>> <whatever>". You could say that analysis rather than construction is
>> what excites.
>
> As it should, but I'm not concerned about accuracy. I'm talking about
> developing a gut feel. My students have difficulty with things like
> "Given this graph of F(x), find F(3)" where the graph has nice, cleanly
> drawn lines so that they just follow the line up from 3 on the X, and
> over to 2 on the Y. They don't grasp this because they don't realize that
> a graph is a visual representation of a table.

Maybe if you ask what they had to put into it, in order to get <that line>
out of it, that would help? <uninformed guess> :)

>> What do they get from applying lead to paper, and what do they get from
>> a quick plot on a graphical calculator whilst observing "oh look, it goes
>> up twice as high as it did before", or "it's got twice the frequency"? What
>> are the ramifications for solving an algebraic equation with a visual
>> building-block approach in which these sort of things are terms? What are
>> the ramifications on ability to write a very simple computer program to
>> draw a circle? 
>
> Trig is where it gets iffy as to whether graphing calculators hurt or
> hinder. I think that, perhaps, we should allow scientific calculators and
> do a series of exercises on the computer with graphing functions. 

I think you have to draw your sin, cos and tan graphs, at least once in a
lifetime. However, to get the feel for the thing, varying the parameters
(like I suggested above, maybe), I think you need a quicker plotter - so's
not to waste time drawing, but to see a sucession of smooth changes. Just
like you wouldn't sit around watching a rose opening after dawn because the
movement is too slow to notice, you'd point a time-lapse camera at it and
come back to see the compressed results a few hours later.

> A creative and curious student will explore what's going on with the
> graph. I don't see the creative or curious ones. I see the terminally
> befuddled ones. The physical act of choosing and writing a scale for your
> graph, and mentally matching it up with each "special point" (for
> instance (1,1) on the tan graph) is very important for these students.

Right. Each to their own, I can say no more :)

~Tim
-- 
   17:43:56 up 47 days, 20:56,  1 user,  load average: 0.07, 0.13, 0.20
······@stirfried.vegetable.org.uk |Arise soul
http://spodzone.org.uk/cesspit/   |Soar above the singing river
From: Darius
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <20040119180207.00007ad3.ddarius@hotpop.com>
On Mon, 19 Jan 2004 17:58:45 +0000
Tim Haynes <···············@stirfried.vegetable.org.uk> wrote:

> Samuel Walters <···············@yahoo.com> writes:
> 
> > | Tim Haynes said |
> >> Yes, there is a balance between both - I'm not advocating
> >abandoning> knowing a few times-tables, but saying folks will come
> >from both angles.> I'm no teacher, so however you handle that is out
> >of my scope. :)
> 
> > Neither am I advocating abandoning them. Sublimation, the process of
> > learning a process so well that the original mechanism can become
> > obscured from self-awareness, is *very* important so that one can
> > concentrate on the form of an equation, rather than the numbers of
> > it.
> 
> Aha, this is exactly what we're talking about. 
> 
> >> Possibly. But how did I just calculate 12*8 in my head other than
> >by> saying "10*8 is easy enough, add on 2*8 afterwards"? Dad taught
> >me to do> that sort of thing way way back, so I've been applying
> >elementary> algebra in my arithmetic ever since :)

The way you learn to find vertices of parabolas in Algebra is a pain. I
could never (readily) remember the way to rearrange the equation so
that it's "obvious". It's much easier to take the derivative and solve
the linear equation. ;)

> > Let me cast what you did in a different light. First, you picture,
> > however briefly or inaccurately, a pile of 80 things in your head.
> > Then, you mentally took a pile of 16 and merged them together. You
> > didn't have to count them, but the process of building one pile of
> > two piles is the intuition I'm discussing.
> 
> Well, the details of the visualization are significantly different.
> The transformation "split it into two easy things and add" was almost
> pictured, but not in terms of countable bricks, rather more like `(10
> 8)' .... `(2 8)'. I saw the sub-expressions, not piles of bricks.
> Still, there's only one of me, be forever glad... :)

Yes, my (admittedly smartass but true) mental response was:  I saw two
piles alright, one had 10 & 8 in it the other had 2 & 8 in it, in fact
they looked a little like (10*8)+(2*8).
From: Samuel Walters
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <pan.2004.01.20.01.53.49.871243@yahoo.com>
| Darius said |
> The way you learn to find vertices of parabolas in Algebra is a pain. I
> could never (readily) remember the way to rearrange the equation so that
> it's "obvious". It's much easier to take the derivative and solve the
> linear equation. ;)

There are many ways to come up with the vertex formula.  Try averaging the
two cases of the general form quadratic equation.  Try the process of
completing the square on the standard form ax^2+bx+c=f(x).  The way I
remembered it, early on, was that the quadratic formula decomposes as
(-b/(2a))+-(sqrt(b^2-4ac)/(2a))  the first term is the vertex formula.
And of course, there's taking the derivative of the standard form.

Each has a physical notion attached to them.  (Hint: the first one is from
the fact that the vertex is exactly between the two zero)

Sam Walters.

-- 
Never forget the halloween documents.
http://www.opensource.org/halloween/
""" Where will Microsoft try to drag you today?
    Do you really want to go there?"""
From: Darius
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <20040120040024.00001538@derek>
On Tue, 20 Jan 2004 01:55:26 GMT
Samuel Walters <···············@yahoo.com> wrote:

> | Darius said |
> > The way you learn to find vertices of parabolas in Algebra is a
> > pain. I could never (readily) remember the way to rearrange the
> > equation so that it's "obvious". It's much easier to take the
> > derivative and solve the linear equation. ;)
> 
> There are many ways to come up with the vertex formula.

> Try averaging the two cases of the general form quadratic equation.  

That one is actually pretty clever.

> Try the process of completing the square on the standard form
> ax^2+bx+c=f(x).  

This is the way they taught us.  It's just that I never remembered how
to complete the square.  I could re-figure out it or some other
method quickly enough though.  (I was and am bad at remembering things)

> The way I remembered it, early on, was that the quadratic formula
> decomposes as(-b/(2a))+-(sqrt(b^2-4ac)/(2a))  the first term is the
> vertex formula.

Yeah, I noticed that when I decided one day to derive the quadratic
formula.

> And of course, there's taking the derivative of the
> standard form.

Any form will do.

One of the benefits, in my opinion, of the differentiation approach
points out how I prefer(red) to handle math.  The differentiation
approach isn't particular to quadratics nor does it use techniques
(somewhat) specific to quadratics, not even knowledge of the quadratic
equation is necessary. I like(d) to have the more general ideas or the
more basic building blocks to derive others, and I like(d) to know
where things come from. I never memorized completing the square because
I knew what the final form would look like so I just set that equal to
what I was given and applied general algebraic manipulation.  Getting
better at a generally applicable technique, algebra or differentiation,
made me better at special applications as well.

In a nutshell, I try/tried to internalize (or sometimes memorize) the
knowledge that gives/gave me the most bang for the buck and don't/didn't
actively try with things that could be subsumed by other things.		
From: Samuel Walters
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <pan.2004.01.20.09.32.43.193609@yahoo.com>
| Darius said |
(On deriving the vertex formula using derivatives.
> Any form will do.
Good point.
It makes me wonder if teaching has stunted some of my "real" mathematical
skills.  I tend to think first about how I would teach a concept to a
college freshman.

> One of the benefits, in my opinion, of the differentiation approach
> points out how I prefer(red) to handle math.  The differentiation
> approach isn't particular to quadratics nor does it use techniques
> (somewhat) specific to quadratics, not even knowledge of the quadratic
> equation is necessary. I like(d) to have the more general ideas or the
> more basic building blocks to derive others, and I like(d) to know where
> things come from. I never memorized completing the square because I knew
> what the final form would look like so I just set that equal to what I
> was given and applied general algebraic manipulation.  Getting better at
> a generally applicable technique, algebra or differentiation, made me
> better at special applications as well.

I, like you, find it much easier after knowing a "why" to the "what."
 
> In a nutshell, I try/tried to internalize (or sometimes memorize) the
> knowledge that gives/gave me the most bang for the buck and don't/didn't
> actively try with things that could be subsumed by other things.

It's true that the more powerful and deeper methods of mathematics should
subsume clever tricks.  The vertex formula is a clever trick taught at a
very specific time for a few reasons.  One is that it allows students in
college algebra to start tackling optimization problems.  I think this is
important.  At about that time they're whining about how math doesn't
apply to real life, and optimization problems demonstrate an important
spirit in mathematics.  Another is that the vertex formula is a lead in
towards more rigorous proof-based methods.  For many, the derivation is
the first time they've seen a real one.  The third, and weakest, is that
it rounds out the endeavor into parabolas.  It could be argued that this
should be delayed until pre-calculus.  (I'm not arguing it! I just said it
could be argued!)

The other similar concept introduced in college algebra is the imaginary
number.  This time, it's the first truly abstract mathematical entity
they've encountered.  Despite the name, they are effectively unimaginable.
 Sure, we cope with them by inventing "the complex plane," but that only
works if you accept that imaginary numbers are a necessary blemish on
mathematics. They, too, round out the foray into parabolas.  The problem
is that they present no utility to students at that level.  It's touched
on very briefly, learned by process and rote, and then dropped.  I
think that students would benefit if complex numbers were delayed until
they get a deeper discussion of polynomial roots in pre-calculus.  At
least there, it connects to some contextual hooks.

Preemptively answering a question I hear asked often at work: I think
logarithms should stay right where they are.  College algebra, with it's
focus on algebraic methods and the relationship between functions and
their inverses.  The lead into logs is as smooth as it can be made, and it
forms an unbroken progression of ideas if you first introduce exponential
functions.

Sam Walters.

-- 
Never forget the halloween documents.
http://www.opensource.org/halloween/
""" Where will Microsoft try to drag you today?
    Do you really want to go there?"""
From: pkhuong
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <51184814.0401202025.50896241@posting.google.com>
[this is a general reply to the parent debate, but fits very well
here]
Samuel Walters <···············@yahoo.com> wrote in message news:<······························@yahoo.com>...
> | Darius said |
> 
[...]
> I, like you, find it much easier after knowing a "why" to the "what."
>  
> > In a nutshell, I try/tried to internalize (or sometimes memorize) the
> > knowledge that gives/gave me the most bang for the buck and don't/didn't
> > actively try with things that could be subsumed by other things.
> 
> It's true that the more powerful and deeper methods of mathematics should
> subsume clever tricks.  The vertex formula is a clever trick taught at a
> very specific time for a few reasons.  One is that it allows students in
> college algebra to start tackling optimization problems.  I think this is
> important.  At about that time they're whining about how math doesn't
> apply to real life, and optimization problems demonstrate an important
> spirit in mathematics.  Another is that the vertex formula is a lead in
> towards more rigorous proof-based methods.  For many, the derivation is
> the first time they've seen a real one.  The third, and weakest, is that
> it rounds out the endeavor into parabolas.  It could be argued that this
> should be delayed until pre-calculus.  (I'm not arguing it! I just said it
> could be argued!)
Little intro: I am in what could be considered Grade 13 (CEGEP 2 in
Quebec, Canada), and so am approximately the same age as those
freshman you seem to think have trouble grasping certain things, and
have been tutoring Grade 12 (CEGEP 1) math for natural sciences (Calc
I & II), and mechanical physics for 2 complete semesters. This leads
me to believe i've seen a good sampling of the different kinds of
learners and learning difficulties. (As an aside, i always thought we
were a bit slow compared to the US; i now understand this is only true
for those who've taken AP classes...)

Obviously, since i'm a tutor, i had little difficulty with the
material, and, as many other strong students do, i tend to use math
rather than rote learning (e.g., i'll differentiate and solve rather
than use the formula, which i already can't remember after 5 minutes).
However, my experience with my... erh (tutees? bah)... students have
led me to understand that this approach is clearly /not/ encouraged or
helped by the way the material is taught: teachers seem to teach only
the algorithms needed to pass the tests, even if it means relearning
nearly everything once in Calc II. According to my supervisor, this is
due to the fact that 17yo people are often weak at abstract thinking,
and that we simply don't have enough time.

Yet, the same experience makes me believe that so-called weak students
(they were often relatively strong in previous years) have much to
gain by spending the time to develop their abstract sense and then
understand (more or less perfectly) the concepts.

quote:
[Darius said:]
>  (On deriving the vertex formula using derivatives.
> > Any form will do.
> Good point.
> It makes me wonder if teaching has stunted some of my "real" mathematical
> skills.  I tend to think first about how I would teach a concept to a
> college freshman.

And this is where i disagree: we have no time to waste in exams, and
directly differentiating might save 30-50 seconds for review. I think
it's worthwhile to have the student find that trick himself, and
assimilate it so that he'll use it without wasting any time when he
has to. In the same vein, i don't make them learn the formula to
differentiate y = f(x) / g(x): substraction is unfortunately not
commutative, so it's much safer to treat it as f(x) * [g(x)]^-1 (it's
a bit longer, but it's quicker than trying to remember which term goes
before the minus and which after). I'm pretty sure this is what Darius
(and many other strong students) did, since this lets us learn one
less formula with little penalty. Since my primary criterion is
efficiency (since i consider the people i tutor to be intelligent,
this often means using intuition and understanding rather than
[faillible] rote learning), i would also advocate that the few rules
that have to be learned are practised so much (once they have been
understood mathematically) that they become almost engraved in muscle
memory. Thus, i would draw the line for rote learning to whenever it
makes the student faster at solving problems.

> The other similar concept introduced in college algebra is the imaginary
> number.  This time, it's the first truly abstract mathematical entity
> they've encountered.  Despite the name, they are effectively unimaginable.
>  Sure, we cope with them by inventing "the complex plane," but that only
> works if you accept that imaginary numbers are a necessary blemish on
> mathematics. They, too, round out the foray into parabolas.  The problem
> is that they present no utility to students at that level.  It's touched
> on very briefly, learned by process and rote, and then dropped.  I
> think that students would benefit if complex numbers were delayed until
> they get a deeper discussion of polynomial roots in pre-calculus.  At
> least there, it connects to some contextual hooks.

(N.B., I haven't used complex numbers much) I don't see the problem
with defining i and then treating it purely symbolically, nor with
seeing them as a kind of vector/matrix with different rules for the
four operations. This makes about as much sense as visualising vectors
on a line, plane, volume, hypervolume, etc.: it's a useful crutch for
our imagination, but we shouldn't let visualisation overly guide our
thinking. Continuous dimensionniality, otoh...

Final aside: Re standard tests. We don't have standard test here,
except for an extremely easy French writing one (99.x of the students
at my school pass it); instead, we have a Z-score that is weighted to
take into account the strength of the group in high school (mostly
results from grade 10/11... which are often not standardized. Go
figure). Thanks to Murphy, most of my groups so far have been bimodal,
which means that a Z-score means basically nothing (since the average
is a minority, and the standard deviation is very high). Well-executed
standardized testing would take care of such problems: preparing for
the test would simply mean preparing for the whole subject matter. The
trouble with SATs seem to be not the "S" part, but rather that they
don't test for the right thing.

Paul, who has been told cannabis helped with dimensionnality > 4
(thankfully, i think we stop at 4, which i'm about ok with ;)
From: thomas
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <3c5586ca.0401211551.1b267c56@posting.google.com>
Samuel Walters <···············@yahoo.com> wrote in message news:<······························@yahoo.com>...
<snip>
> The other similar concept introduced in college algebra is the imaginary
> number.  This time, it's the first truly abstract mathematical entity
> they've encountered.  Despite the name, they are effectively unimaginable.
<snip>

These always troubled me deeply - everyone claims to regard them as an
abstract symbolic construction, but in actual application they have a
distinctly physical feel.

Then someone pointed me towards geometric algebra (as expounded by
Hestenes et al), and i learned that numbers that square to negative
scalars have loads of physical justification. This stuff has vastly
expanded my conception of what numbers are and how they relate to the
world.

The hard times of lisp pale before the story of how for a century,
Grassmann's grander vision was excluded by Gibb's hacked together but
usable vector calculus, only to begin it's revival in the last decade
or so.

thomas
From: Tim Bradshaw
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <ey3wu7kciwg.fsf@cley.com>
* thomas  wrote:
> Then someone pointed me towards geometric algebra (as expounded by
> Hestenes et al), and i learned that numbers that square to negative
> scalars have loads of physical justification. This stuff has vastly
> expanded my conception of what numbers are and how they relate to the
> world.

Actually, I think the only place where complex numbers are needed in
*physics* is quantum mechanics, where they definitely are needed - if
you don't have complex numbers you have to invent things with all
their properties.  Everywhere else they're just a convenience.

--tim
From: Darius
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <20040122075008.00003d0e@derek>
On Thu, 22 Jan 2004 11:38:55 +0000
Tim Bradshaw <···@cley.com> wrote:

> * thomas  wrote:
> > Then someone pointed me towards geometric algebra (as expounded by
> > Hestenes et al), and i learned that numbers that square to negative
> > scalars have loads of physical justification. This stuff has vastly
> > expanded my conception of what numbers are and how they relate to
> > the world.
> 
> Actually, I think the only place where complex numbers are needed in
> *physics* is quantum mechanics, where they definitely are needed - if
> you don't have complex numbers you have to invent things with all
> their properties.  Everywhere else they're just a convenience.

Uh, I think the argument of geometric algebra supporters is that
-complex numbers- are things invented that have all of the
properties of some geometric algebra.  I.e. "the only* place where
geometric algebra is needed in *physics* is quantum mechanics, where it
is definitely needed - if you don't have geometric algebra you have to
invent things with all it's properties; complex numbers being
(/attempting to be) those things"

* well they wouldn't say that's the -only- place.
From: Tim Bradshaw
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <ey3ektsm5wa.fsf@cley.com>
* Darius  wrote:
> Uh, I think the argument of geometric algebra supporters is that
> -complex numbers- are things invented that have all of the
> properties of some geometric algebra.  I.e. "the only* place where
> geometric algebra is needed in *physics* is quantum mechanics, where it
> is definitely needed - if you don't have geometric algebra you have to
> invent things with all it's properties; complex numbers being
> (/attempting to be) those things"

I don't really know what geometric algebra is - mathematical
physicists do QM in terms of complex infinite-dimensional Hilbert
spaces, and although it's usually done non-rigorously it can all be
made rigorous.  It's a long time since I even had any pretension to be
a physicist, and my books are both in boxes and hundreds of miles away
so I can't find the references now unfortunately.  I think the
underlying formal stuff involves C* algebras, but I can't remember
enough to be sure (or that C* algebras are in fact).

> * well they wouldn't say that's the -only- place.

I think they'd be wrong then: you really don't need complex numbers
anywhere but QM: I believe that all of classical physics can be done,
as formally as you like, without complex numbers.  In fact one of the
delights of it all is that to a great extent the formalisms of QM are
the same as classical physics, if you only let various things become
complex rather than real.

--tim
From: Gareth McCaughan
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <87llnzsisl.fsf@g.mccaughan.ntlworld.com>
Tim Bradshaw <···@cley.com> writes:

["Darius":]
> > Uh, I think the argument of geometric algebra supporters is that
> > -complex numbers- are things invented that have all of the
> > properties of some geometric algebra.  I.e. "the only* place where
> > geometric algebra is needed in *physics* is quantum mechanics, where it
> > is definitely needed - if you don't have geometric algebra you have to
> > invent things with all it's properties; complex numbers being
> > (/attempting to be) those things"

[Tim:]
> I don't really know what geometric algebra is - mathematical
> physicists do QM in terms of complex infinite-dimensional Hilbert
> spaces, and although it's usually done non-rigorously it can all be
> made rigorous.
[etc]

"Geometric algebra" has nothing to do with that. It's a
generalization of complex numbers, quaternions, octonions,
etc, to arbitrary 2^n-dimensional spaces; it's substantially
the same thing as what pure mathematicians usually call
"exterior algebra" but expressed in different language
and formalism. The complex numbers are a (the) 2-dimensional
geometric algebra.

-- 
Gareth McCaughan
.sig under construc
From: Frank A. Adrian
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <pan.2004.01.23.17.39.24.158584@ancar.org>
On Thu, 22 Jan 2004 22:46:50 +0000, Gareth McCaughan wrote:

> "Geometric algebra" has nothing to do with that. It's a
> generalization of complex numbers, quaternions, octonions,
> etc, to arbitrary 2^n-dimensional spaces; it's substantially
> the same thing as what pure mathematicians usually call
> "exterior algebra" but expressed in different language
> and formalism. The complex numbers are a (the) 2-dimensional
> geometric algebra.

Are you talking about Clifford Algebra or basic operator algebra over
exterior products on forms of various dimensionality?  If it's the latter,
you might want to look at the former, as it subsumes the latter as a
special case and is way cool, too.  For a primer, you might want to check
out a few of John Baez's semi-regular columns "This Week's Finds in
Mathematical Physics" found at http://math.ucr.edu/home/baez.

faa
From: Gareth McCaughan
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <87k73iqzo6.fsf@g.mccaughan.ntlworld.com>
Frank Adrian wrote:

[I said:]
>> "Geometric algebra" has nothing to do with that. It's a
>> generalization of complex numbers, quaternions, octonions,
>> etc, to arbitrary 2^n-dimensional spaces; it's substantially
>> the same thing as what pure mathematicians usually call
>> "exterior algebra" but expressed in different language
>> and formalism. The complex numbers are a (the) 2-dimensional
>> geometric algebra.
> 
> Are you talking about Clifford Algebra or basic operator algebra over
> exterior products on forms of various dimensionality?  If it's the latter,
> you might want to look at the former, as it subsumes the latter as a
> special case and is way cool, too.  For a primer, you might want to check
> out a few of John Baez's semi-regular columns "This Week's Finds in
> Mathematical Physics" found at http://math.ucr.edu/home/baez.

"Clifford algebra" and "geometric algebra" are (so I thought,
at least) the same thing. I'm no expert, but I wasn't aware
that it offered very much that's new beyond "basic operator
algebra over exterior products on forms of various dimensionality",
other than better notation.

John Baez's TWF series is very good indeed.

-- 
Gareth McCaughan
.sig under construc
From: Frank A. Adrian
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <pan.2004.01.23.21.35.25.866701@ancar.org>
On Fri, 23 Jan 2004 18:37:29 +0000, Gareth McCaughan wrote:

> other than better notation.

That's the main thing.  Although I do like the way that the Clifford
Algebra mixes objects having multiple dimensions into a single object.
But the notation part *is* important.  I think it's the same with
programming languages (or so I've seen mentioned here occasionally :-).

faa
From: Michele Simionato
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <95aa1afa.0401232328.515d20b4@posting.google.com>
"Frank A. Adrian" <·······@ancar.org> wrote in message news:<······························@ancar.org>...
> On Thu, 22 Jan 2004 22:46:50 +0000, Gareth McCaughan wrote:
> 
> > "Geometric algebra" has nothing to do with that. It's a
> > generalization of complex numbers, quaternions, octonions,
> > etc, to arbitrary 2^n-dimensional spaces; it's substantially
> > the same thing as what pure mathematicians usually call
> > "exterior algebra" but expressed in different language
> > and formalism. The complex numbers are a (the) 2-dimensional
> > geometric algebra.
> 
> Are you talking about Clifford Algebra or basic operator algebra over
> exterior products on forms of various dimensionality?  If it's the latter,
> you might want to look at the former, as it subsumes the latter as a
> special case and is way cool, too.  For a primer, you might want to check
> out a few of John Baez's semi-regular columns "This Week's Finds in
> Mathematical Physics" found at http://math.ucr.edu/home/baez.
> 
> faa

I am a bit confused here. The generators of Clifford algebras satisfy

{G_i, G_j} = 2 g_ij

where g_ij is some n-dimensional metric (for instance the Euclidean
metric)
and {,} denotes anticommutation. On the other hand, the generators of
the algebra of differential forms on an n-dimensional manifold satisfy

{e_i,e_j} = 0,

with respect to the exterior product, so how can you say that Clifford
algebra subsumes exterior algebra? 

They seem quite different concepts to me. Probably you are referring
to something else. Exterior algebras is closer to Grassman calculus.
Unfortunately the terminology often differs depending on your field of
specialization. For instance, I have never heard before the term
"geometric algebra" to refer to Clifford Algebra, but it seems
they are the same thing.

For me, as a physicists, Clifford Algebras are related to gamma
matrices:
they are used in field theory when you need to extend spinor fields in
n-dimensions (in dimensional regularization) or in supergravity,
string
theory and other higher dimensional theories. Also, I think Clifford
algebras took a role in the Onsager solution of the two dimensional
Ising model (but I maybe wrong here).

I don't know about their mathematical applications, though.


   Michele Simionato
From: Nils Gösche
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <87wu7jtsu9.fsf@darkstar.cartan.de>
Tim Bradshaw <···@cley.com> writes:

> I think they'd be wrong then: you really don't need complex numbers
> anywhere but QM: I believe that all of classical physics can be
> done, as formally as you like, without complex numbers.

Well, why would you want to?  For instance, in the theory of currents,
you'll have to study conformal maps in the plane.  Would anybody do
that without complex analysis?  IIRC, the movement of a spinning top
can be described with elliptic functions.  Again, how would you do
that without complex analysis?  And what about potential theory?  And
what is gained by throwing complex numbers out of the theory of waves,
anyway?  Sure, you could, in theory, replace every equation involving
complex numbers by a system of equations containing only real numbers.
But why?  If we want to develop the function

      x
   -------
    x
   e  - 1

into a power series, we know before we start that this power series
will have a convergence radius of 2 pi, because the only zeroes of
e^x - 1 apart from x=0, which is cancelled out by the nominator, are
2k pi i (k an integer different from 0).  Now, if we use this
knowledge, have we used complex numbers or not?  Have we needed them?
Would you spend lots of time for finding a purely real proof that this
thing converges for, say, x = +-5?  What has changed if we omit complex
numbers like that?

I do not even think it is a meaningful thing to say that some theory
doesn't use complex numbers.  Hey, I'm sure I can always think of a
way to introduce them :-) There is nothing magical, and also nothing
"invented" about complex numbers.  Complex numbers are always there.
Sure, you might look at complex numbers as an "invention", as if the
number i was "invented" to be the square root of -1.  However, it is
not so easy to make such inventions in mathematics.  The field of
complex numbers is the algebraic completion of the reals.  There is
only one such thing.  It "belongs" to the reals, in a way.  Whenever
you talk about the reals, the complex numbers are already there,
lurking just around the corner.

Regards,
-- 
Nils G�sche
"Don't ask for whom the <CTRL-G> tolls."

PGP key ID #xEEFBA4AF
From: Nils Gösche
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <87smi7tsiu.fsf@darkstar.cartan.de>
I wrote:

> If we want to develop the function
> 
>       x
>    -------
>     x
>    e  - 1
> 
> into a power series,

At x = 0, I mean, of course.

Sorry,
-- 
Nils G�sche
"Don't ask for whom the <CTRL-G> tolls."

PGP key ID #xEEFBA4AF
From: Michele Simionato
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <95aa1afa.0401230633.4f0877b6@posting.google.com>
···@cartan.de (Nils G�sche) wrote in message news:<··············@darkstar.cartan.de>...
> Tim Bradshaw <···@cley.com> writes:
> 
> > I think they'd be wrong then: you really don't need complex numbers
> > anywhere but QM: I believe that all of classical physics can be
> > done, as formally as you like, without complex numbers.

I disagree. You need (or don't need) complex numbers in classical physics 
just as in quantum physics. For instance, wave theory or electromagnetism are
classical, and still it is more convenient to use complex numbers
that real numbers. There are many other examples in classical physics
where complex numbers are used and useful. I agree that QM requires 
Hilbert spaces whereas classical physics does not require them, but that's 
all: both require complex numbers.


> Well, why would you want to?  For instance, in the theory of currents,
> you'll have to study conformal maps in the plane.  Would anybody do
> that without complex analysis?  IIRC, the movement of a spinning top
> can be described with elliptic functions.  Again, how would you do
> that without complex analysis?  And what about potential theory?  And
> what is gained by throwing complex numbers out of the theory of waves,
> anyway?  Sure, you could, in theory, replace every equation involving
> complex numbers by a system of equations containing only real numbers.
> But why?  If we want to develop the function
> 
>       x
>    -------
>     x
>    e  - 1
> 
> into a power series, we know before we start that this power series
> will have a convergence radius of 2 pi, because the only zeroes of
> e^x - 1 apart from x=0, which is cancelled out by the nominator, are
> 2k pi i (k an integer different from 0).  Now, if we use this
> knowledge, have we used complex numbers or not?  Have we needed them?
> Would you spend lots of time for finding a purely real proof that this
> thing converges for, say, x = +-5?  What has changed if we omit complex
> numbers like that?
> 
> I do not even think it is a meaningful thing to say that some theory
> doesn't use complex numbers.  Hey, I'm sure I can always think of a
> way to introduce them :-) There is nothing magical, and also nothing
> "invented" about complex numbers.  Complex numbers are always there.
> Sure, you might look at complex numbers as an "invention", as if the
> number i was "invented" to be the square root of -1.  However, it is
> not so easy to make such inventions in mathematics.  The field of
> complex numbers is the algebraic completion of the reals.  There is
> only one such thing.  It "belongs" to the reals, in a way.  Whenever
> you talk about the reals, the complex numbers are already there,
> lurking just around the corner.
> 
> Regards,

Absolutely agreed.


    Michele Simionato
From: Tim Bradshaw
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <ey3llnyd5ea.fsf@cley.com>
* Michele Simionato wrote:

> I disagree. You need (or don't need) complex numbers in classical physics 
> just as in quantum physics. For instance, wave theory or electromagnetism are
> classical, and still it is more convenient to use complex numbers
> that real numbers. There are many other examples in classical physics
> where complex numbers are used and useful. I agree that QM requires 
> Hilbert spaces whereas classical physics does not require them, but that's 
> all: both require complex numbers.

`Used and useful' is very different than *required*.  If you do QM you
*must* use things with the properties of complex numbers: in classical
physics you don't have to, it's just very convenient.  There are just
numerous examples of complex formalisms in classical physics (anything
to do with EM, the spinor formalism of GR &c &c &c), but these don't
demonstrate anything other than convenience.

--tim
From: Nils Goesche
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <lyk73iik9t.fsf@cartan.de>
Tim Bradshaw <···@cley.com> writes:

> * Michele Simionato wrote:
> 
> > I disagree. You need (or don't need) complex numbers in classical
> > physics just as in quantum physics. For instance, wave theory or
> > electromagnetism are classical, and still it is more convenient to
> > use complex numbers that real numbers. There are many other
> > examples in classical physics where complex numbers are used and
> > useful. I agree that QM requires Hilbert spaces whereas classical
> > physics does not require them, but that's all: both require
> > complex numbers.
> 
> `Used and useful' is very different than *required*.  If you do QM
> you *must* use things with the properties of complex numbers: in
> classical physics you don't have to, it's just very convenient.
> There are just numerous examples of complex formalisms in classical
> physics (anything to do with EM, the spinor formalism of GR &c &c
> &c), but these don't demonstrate anything other than convenience.

Where is the difference?  You could always represent the psi function
from quantum mechanics by two real-valued functions and every complex
equation by two equations, one for the real part and one for the
complex part.  Older physicists did just that with vectors for ages,
back when they didn't like this abstract invention of crazy
mathematicians.  Sure, proving things would be much more tedious then,
Hilbert spaces truly like being complex, but the same is true if you
avoid complex numbers in numerous fields of classical physics.

Regards,
-- 
Nils G�sche
"Don't ask for whom the <CTRL-G> tolls."

PGP key ID 0x0655CFA0
From: jblazi
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <pan.2004.01.23.19.41.11.360000@hotmail.com>
On Fri, 23 Jan 2004 19:37:18 +0100, Nils Goesche wrote:

> Where is the difference?  You could always represent the psi function
> from quantum mechanics by two real-valued functions and every complex
> equation by two equations, one for the real part and one for the
> complex part.  Older physicists did just that with vectors for ages,
> back when they didn't like this abstract invention of crazy
> mathematicians.  Sure, proving things would be much more tedious then,
> Hilbert spaces truly like being complex, but the same is true if you
> avoid complex numbers in numerous fields of classical physics.

There were complex numbers before there were vectors and complex
numbers are the very origin of vector calculus in the plane. When Hamilton
tried to extend two dimensional vectors to 3-space and saw that this was
not very simple, he finally came up with the quaternions. You
see this in books for engineers sometimes as they still call their unit
vectors i, j and k. You cannot do QM without complex numbers as you not
only need complex numbers as vectors, you also must be able to multiply
and divide them. If you add this, you have C.

Janos Blazi


----== Posted via Newsfeed.Com - Unlimited-Uncensored-Secure Usenet News==----
http://www.newsfeed.com The #1 Newsgroup Service in the World! >100,000 Newsgroups
---= 19 East/West-Coast Specialized Servers - Total Privacy via Encryption =---
From: Nils Goesche
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <ly7jziighw.fsf@cartan.de>
jblazi <······@hotmail.com> writes:

> You cannot do QM without complex numbers as you not only need
> complex numbers as vectors, you also must be able to multiply and
> divide them. If you add this, you have C.

Why, you could always write a system of two equations like

   a = xu - yv
   b = yu + xv

which would obviously be equivalent to the complex equation

  a + ib = (x + iy)(u + iv)

much like what you do when you avoid vectors.

Regards,
-- 
Nils G�sche
"Don't ask for whom the <CTRL-G> tolls."

PGP key ID 0x0655CFA0
From: Tim Bradshaw
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <ey31xppczvo.fsf@cley.com>
* Nils Goesche wrote:

> Where is the difference?  You could always represent the psi function
> from quantum mechanics by two real-valued functions and every complex
> equation by two equations, one for the real part and one for the
> complex part.  Older physicists did just that with vectors for ages,
> back when they didn't like this abstract invention of crazy
> mathematicians.  Sure, proving things would be much more tedious then,
> Hilbert spaces truly like being complex, but the same is true if you
> avoid complex numbers in numerous fields of classical physics.

I think the point is that if you try and avoid complex numbers, you
end up having to invent some rules which actually *are* the rules for
the field (is field right? objects with two operations & the right set
of rules) of complex numbers.   There just isn't anywhere else where
you have to do that.

I don't disagree about vectors & more generally tensors incidentally:
I think that they may be necessary in the same way - if you don't use
them you end up with a whole obscure bunch of rules which actually
*are* the rules of tensor algebra.

I think that we could argue this for ever, and my physics or maths is
no longer up to it, so I'm going to stop now with a last despicable
trick, which is to say (truthfully) that I once asked this question of
a mathematical physicist who I think was extremely competent, and this
was the answer he gave.

--tim
From: Feuer
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <4012BEC4.244E0454@his.com>
Tim Bradshaw wrote:

> I don't disagree about vectors & more generally tensors incidentally:
> I think that they may be necessary in the same way - if you don't use
> them you end up with a whole obscure bunch of rules which actually
> *are* the rules of tensor algebra.

What is scalar, vector, or tensor depends on how it transforms.  When
you rotate a complex number, it stays the same.  When you rotate a
vector, it changes.

David
at least, that's what Feynman said.
From: Tim Bradshaw
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <ey3fze5uo1c.fsf@cley.com>
* feuer  wrote:

> What is scalar, vector, or tensor depends on how it transforms.  When
> you rotate a complex number, it stays the same.  When you rotate a
> vector, it changes.

Yes, but that's not really how modern physics formalisms would view
it (I have no idea about modern maths, and actually my modern physics
is 20 years out of date).  A vector (tensor) is regarded as a
geometrical object independent of any particular set of basis
vectors.  What `changes' under rotation is the projection of the thing
into a particular basis.  GR, for instance, takes this `geometrical'
viewpoint very seriously.  A complex number is just a scalar, not a
geometrical object at all.

--tim
From: Nils Gösche
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <87wu7hywa4.fsf@darkstar.cartan.de>
Feuer <·····@his.com> writes:

> What is scalar, vector, or tensor depends on how it transforms.

Yeah, right.  When I was a freshman, I had a lot of trouble
understanding what a tensor is.  Teachers in physics classes kept
telling me about transformation rules and I kept wondering why anybody
would care about any transformation rules at all.

> When you rotate a complex number, it stays the same.

I think I can rotate it by multiplying it by exp(it) (t real) just
fine, and it /does/ change, doesn't it? ;-)

> When you rotate a vector, it changes.

Naturally ;-) I guess explaining what a tensor is is one of the
hardest things in the world.  That's because when you get it, all of a
sudden tensors seem to be an almost trivial concept.  You cannot
understand tensors as long as you still think in terms of coordinates.
Once you stop thinking in coordinates, you see that tensors are simply
a certain kind of multilinear maps, the most simple and natural thing
to define.

I guess the best one can tell a young student is that the real world
doesn't care about the particular system of coordinates we are using
to describe it.  So, all physical entities and laws ought to be
independent of our choice of a coordinate system.

Or simply tell him what a manifold and a tangent bundle is; once he
got that the whole problem simply goes away, but that might not work
as well for some people...

Regards,
-- 
Nils G�sche
"Don't ask for whom the <CTRL-G> tolls."

PGP key ID #xEEFBA4AF
From: Brian Harvey
Subject: Please trim newsgroups (was: Programming languages for the very young)
Date: 
Message-ID: <buvn0p$oec$1@abbenay.CS.Berkeley.EDU>
This thread, which has less and less to do with "the very young," is
completely swamping the relatively low-volume comp.lang.logo newsgroup
(which I've omitted from my message).  Please direct further replies
away from comp.lang.logo; thanks!
From: Michele Simionato
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <95aa1afa.0401250659.2dafbc@posting.google.com>
···@cartan.de (Nils G�sche) wrote in message news:<··············@darkstar.cartan.de>...
> Feuer <·····@his.com> writes:
> 
> > What is scalar, vector, or tensor depends on how it transforms.
> 
> Yeah, right.  When I was a freshman, I had a lot of trouble
> understanding what a tensor is.  Teachers in physics classes kept
> telling me about transformation rules and I kept wondering why anybody
> would care about any transformation rules at all.
> 
> > When you rotate a complex number, it stays the same.
> 
> I think I can rotate it by multiplying it by exp(it) (t real) just
> fine, and it /does/ change, doesn't it? ;-)
> 
> > When you rotate a vector, it changes.
> 
> Naturally ;-) I guess explaining what a tensor is is one of the
> hardest things in the world.  That's because when you get it, all of a
> sudden tensors seem to be an almost trivial concept.  You cannot
> understand tensors as long as you still think in terms of coordinates.
> Once you stop thinking in coordinates, you see that tensors are simply
> a certain kind of multilinear maps, the most simple and natural thing
> to define.
> 
> I guess the best one can tell a young student is that the real world
> doesn't care about the particular system of coordinates we are using
> to describe it.  So, all physical entities and laws ought to be
> independent of our choice of a coordinate system.
> 
> Or simply tell him what a manifold and a tangent bundle is; once he
> got that the whole problem simply goes away, but that might not work
> as well for some people...
> 
> Regards,

[not posting on comp.lang.logo]

I wonder if there is issue of different teaching of maths in U.S. and
Europe. It seems Nils (who is posting from Germany) got a math
education similar to mine. I was though tensors as multilinear forms
at the first year of college. Only a couple of years later I became
familiar with the idea of "tensor as an object with given transformation
laws". I always thought it was a very ugly way of putting things, BTW.

What surprises me is that apparently American colleges are still 
teaching the parabola formula and why you cannot divide by zero 
(these things should be studied in junior high school according to
my experience). For comparison, in my first year course of geometry 
they started with homomorphisms of vector spaces and only after a month
or so, in the exercises course, they introduced matrices as a way of
representing them, therefore proving the matrix multiplication law
formula and the other properties.

BTW, I did Physics, of course math courses for people doing economics
or architecture were much simpler, but still at higher level than
teaching the parabola.

I think the reason for the difference is that in the U.S. the students
pay a lot of money, so they don't want to fail. In Europe, the students
pay much less, so there are always too many students and the Universities
are not afraid to select between them with really hard courses.
Actually, the failure rate of my geometry course was fearsome. But this
was not considered a problem at all by the University.

Just to raise some new point of discussion,

        Michele Simionato
From: Matthew Danish
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <20040125234644.GA8667@mapcar.org>
On Sun, Jan 25, 2004 at 06:59:01AM -0800, Michele Simionato wrote:
> What surprises me is that apparently American colleges are still 
> teaching the parabola formula and why you cannot divide by zero 
> (these things should be studied in junior high school according to
> my experience). 

My experience as well, though I attend an American university.  I
started off with an mechanical engineering track and skipped ahead of
the standard calculus courses to multi-variate calculus (which I did in
high school too), and then a course on differential equations.  I
imagine that if I were in physics, I would have done even more.  The
courses still teaching the parabola formula and such are probably
remedial math classes for humanities and arts majors.

-- 
; Matthew Danish <·······@andrew.cmu.edu>
; OpenPGP public key: C24B6010 on keyring.debian.org
; Signed or encrypted mail welcome.
; "There is no dark side of the moon really; matter of fact, it's all dark."
From: Karl A. Krueger
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <buuvgq$fmu$1@baldur.whoi.edu>
In comp.lang.lisp Tim Bradshaw <···@cley.com> wrote:
> I think the point is that if you try and avoid complex numbers, you
> end up having to invent some rules which actually *are* the rules for
> the field (is field right? objects with two operations & the right set
> of rules) of complex numbers.   There just isn't anywhere else where
> you have to do that.
> 
> I don't disagree about vectors & more generally tensors incidentally:
> I think that they may be necessary in the same way - if you don't use
> them you end up with a whole obscure bunch of rules which actually
> *are* the rules of tensor algebra.

And yet neither the tensor algebra nor the complex numbers are an
informally-specified buggy implementation of half of Common Lisp.  :)

-- 
Karl A. Krueger <········@example.edu>
Woods Hole Oceanographic Institution
Email address is spamtrapped.  s/example/whoi/
"Outlook not so good." -- Magic 8-Ball Software Reviews
From: Kenny Tilton
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <4010DC62.2C2F6561@nyc.rr.com>
Nils G�sche wrote:
> 
> Tim Bradshaw <···@cley.com> writes:
> 
> > I think they'd be wrong then: you really don't need complex numbers
> > anywhere but QM: I believe that all of classical physics can be
> > done, as formally as you like, without complex numbers.

I don't know. When I wrote a program to play billiards and wanted to
calculate when two decelerating balls would collide, it came down to
solving a quartic equation whose solution involved complex numbers along
the way.

I did get a big kick out of that fe\act that imaginary numbers were
needed to solve a real problem.

kenny

-- 

 clinisys, inc
 http://www.tilton-technology.com/
 ---------------------------------------------------------------
"[If anyone really has healing powers,] I would like to call
them about my knees."
                    --  Tenzin Gyatso, the Fourteenth Dalai Lama
From: Joe Marshall
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <llnxota5.fsf@comcast.net>
Kenny Tilton <·······@nyc.rr.com> writes:

> Nils G�sche wrote:
>> 
>> Tim Bradshaw <···@cley.com> writes:
>> 
>> > I think they'd be wrong then: you really don't need complex numbers
>> > anywhere but QM: I believe that all of classical physics can be
>> > done, as formally as you like, without complex numbers.
>
> I don't know. When I wrote a program to play billiards and wanted to
> calculate when two decelerating balls would collide, it came down to
> solving a quartic equation whose solution involved complex numbers along
> the way.
>
> I did get a big kick out of that fact that imaginary numbers were
> needed to solve a real problem.

I was working on a problem where I needed to plan a route for a
vehicle that had a limited turning radius.  Since the vehicle might be
starting too close to the goal, the planned route could
self-intersect.  The solution was to compute a `Pythagorean Hodograph
Curve' which is a quintic polynomial spline with the property that
the first derivative of the parametric equations can be related to
each other via Pythagoras's Theorem.  (Google or email me if this
interests you.)

It turns out that computing a Pythagorean Hodograph curve is almost
trivial if you represent it in the complex plane, and especially easy
if your language supports generic arithmetic with complex numbers.


-- 
~jrm
From: Tim Bradshaw
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <ey31xpq29cx.fsf@cley.com>
* Nils G�sche wrote:

> I do not even think it is a meaningful thing to say that some theory
> doesn't use complex numbers.  Hey, I'm sure I can always think of a
> way to introduce them :-)

The issue isn't whether you can think of a way of introducing them,
it's whether you can think of a way of taking them out.

--tim
From: Feuer
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <40138750.6BFD626F@his.com>
Samuel Walters wrote:

> Preemptively answering a question I hear asked often at work: I think
> logarithms should stay right where they are.  College algebra, with it's
> focus on algebraic methods and the relationship between functions and
> their inverses.  The lead into logs is as smooth as it can be made, and it
> forms an unbroken progression of ideas if you first introduce exponential
> functions.

I completely disagree.  I was told about logs and exponentials in
precal, and none of it made much sense to me until I got to calculus
and $\ln x = \integral_1^x 1/x\,dx$.  Then it was all so obvious I
wondered why we had wasted our time in precal fussing around with it
in the dark.

David
From: Jens Axel Søgaard
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <400d3d53$0$212$edfadb0f@dread12.news.tele.dk>
Samuel Walters wrote:
> There are many ways to come up with the vertex formula.  Try averaging the
> two cases of the general form quadratic equation.  Try the process of
> completing the square on the standard form ax^2+bx+c=f(x).  The way I
> remembered it, early on, was that the quadratic formula decomposes as
> (-b/(2a))+-(sqrt(b^2-4ac)/(2a))  the first term is the vertex formula.
> And of course, there's taking the derivative of the standard form.
> 
> Each has a physical notion attached to them.  (Hint: the first one is from
> the fact that the vertex is exactly between the two zero)

If there are any.

(I once saw a student "prove" the vertex formula that way,
  but forgot that not all quadrics have roots.)


-- 
Jens Axel S�gaard
From: Samuel Walters
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <pan.2004.01.20.01.43.27.590619@yahoo.com>
| Tim Haynes said |

> Well, the details of the visualization are significantly different. The
> transformation "split it into two easy things and add" was almost
> pictured, but not in terms of countable bricks, rather more like `(10
> 8)' .... `(2 8)'. I saw the sub-expressions, not piles of bricks. Still,
> there's only one of me, be forever glad... :)

You are obviously well educated.  Over the process of that education, you
built many strong metaphors, disengaged them from their real domain of
objects and then reapplied them to other domains.  Some of those metaphors
were even changed slightly and then reapplied to the domain that they the
came from to change your perception of that domain.

And keep in mind.  We're talking about how children learn to cope with
simple arithmetic and the step of abstraction from which calculus springs.
 If you've had 10 years (Grades 2-12) of reasonable math education, there's
a lot of accretion of knowledge and metaphors.  Just because you are no
longer aware of how that came about in yourself, doesn't mean you started
that way.  In fact, it's a lot like moving to a new town.  At first you
have no clue where you are, or where you're going.  Eventually, you don't
even think about it.  You just get in a car and go.  On a long enough
timeline, you will even forget all the times you got lost early on.

>> "Where Mathematics Comes From" is an interesting book. The first half
>> is, in my experience, spot on about how people relate to math. The
>> second half is a bit more tenuous. YMMV. Overall, well worth the read
>> if you ever wondered about the mechanisms by which one connects
>> real-life to that abstract crystalline space of mathematics.
> 
> Yeah, I'll go dig out a copy. Thanks for the recommendation. :)

It's written by a linguist and a cognitive psychologist.  Very interesting
to see the tools of those fields applied to math.  My reservations about
the second half of the book have a lot to do with the shifting sands on
which they stand.

(speaking of functions, tables and graphs)
> Maybe if you ask what they had to put into it, in order to get <that
> line> out of it, that would help? <uninformed guess> :)
 
I use the machine metaphor of functions.  (Put a number in, gets chewed up
by mathematical machinery and spits out another number.) While it's most
useful for composition of functions, I try to use it sparingly because it
breaks the notion of continuity.  If anything I try to lead from machines
to tables because tables are less strongly removed from continuous lines.
One can imagine "slipping" an extra row into the table.

Someone out there right now is thinking "But a function is a set of
ordered pairs."  Yes, it is a set of ordered pairs, and continuity is a
property of the aggregate set, but this idea is not useful until advanced
calculus or discrete mathematics.  Until then, continuity is a damn useful
notion.

> I think you have to draw your sin, cos and tan graphs, at least once in
> a lifetime. However, to get the feel for the thing, varying the
> parameters (like I suggested above, maybe), I think you need a quicker
> plotter - so's not to waste time drawing, but to see a sucession of
> smooth changes. Just like you wouldn't sit around watching a rose
> opening after dawn because the movement is too slow to notice, you'd
> point a time-lapse camera at it and come back to see the compressed
> results a few hours later.

I think graphing aids are a big help in this area. (By graphing aids, I
mean calculators and other computer graphing utilities)  However, they
don't come close to the experience the average student gains from having
to personally decide the appropriate scale of the axis, then physically
locate those points on a planar surface.  Were I teaching a class of
gifted students I might reconsider my opinion, but I'm more concerned
about how Joe Sixpack can come to grips with trig functions.  In fact,
imagine a truck driver.  Chances are, the person you imagined is one of my
students.  Now, picture that truck driver as a teenager.  That teenager is
also one of my students.

Sam Walters.

-- 
Never forget the halloween documents.
http://www.opensource.org/halloween/
""" Where will Microsoft try to drag you today?
    Do you really want to go there?"""
From: Lauri Alanko
Subject: Function terminology
Date: 
Message-ID: <buikse$t4n$1@la.iki.fi>
···············@yahoo.com virkkoi:
> I use the machine metaphor of functions.

This is doubtless the most intuitive one for a computer scientist. Or
should I say, "intuitionistic"? :)

Actually, I think there's a real terminological issue here. In
programming, a "function" is essentially an encapsulated algorithm. In
classical mathematics, it's something very different. It's true, of
course, that Turing-computable algorithms correspond exactly to the
partial recursive mathematical functions, but still I feel there's a
chance of confusion when a computer scientist and a mathematician
discuss about something.

Perhaps we should let go of "functions" altogether and call the
programmable, computable, constructive thingies "procedures", and the
mathematical, intangible, postulated thingies "mappings". 

Of course the easiest answer is just to turn into a constructivist and
deny the existence of non-computable functions altogether. :)


Lauri Alanko
··@iki.fi
From: Samuel Walters
Subject: Re: Function terminology
Date: 
Message-ID: <pan.2004.01.20.08.52.36.773128@yahoo.com>
| Lauri Alanko said |
> ···············@yahoo.com virkkoi:
>> I use the machine metaphor of functions.

> This is doubtless the most intuitive one for a computer scientist. Or
> should I say, "intuitionistic"? :)
> 
> Actually, I think there's a real terminological issue here. In
> programming, a "function" is essentially an encapsulated algorithm. In
> classical mathematics, it's something very different. It's true, of
> course, that Turing-computable algorithms correspond exactly to the
> partial recursive mathematical functions, but still I feel there's a
> chance of confusion when a computer scientist and a mathematician
> discuss about something.
> 
> Perhaps we should let go of "functions" altogether and call the
> programmable, computable, constructive thingies "procedures", and the
> mathematical, intangible, postulated thingies "mappings". 
> 
> Of course the easiest answer is just to turn into a constructivist and
> deny the existence of non-computable functions altogether. :)

Python is my favorite programming language.  In particular, I am glad for
mappings and dictionaries.  :-P

And, "thingies?" is that a technical term?

True.  I tend to keep the "less technical" terminology used to teach
students in school.  Had I my druthers, I'd have them call the thingies
"mappings" too!  Mappings is a better description than function.  The
semantic baggage it carries around is a lot closer to the object it
describes.

Sam Walters.


-- 
Never forget the halloween documents.
http://www.opensource.org/halloween/
""" Where will Microsoft try to drag you today?
    Do you really want to go there?"""
From: Anton van Straaten
Subject: Re: Function terminology
Date: 
Message-ID: <NsgPb.16763$i4.7070@newsread1.news.atl.earthlink.net>
Lauri Alanko wrote:
> Actually, I think there's a real terminological issue here. In
> programming, a "function" is essentially an encapsulated algorithm. In
> classical mathematics, it's something very different. It's true, of
> course, that Turing-computable algorithms correspond exactly to the
> partial recursive mathematical functions, but still I feel there's a
> chance of confusion when a computer scientist and a mathematician
> discuss about something.
>
> Perhaps we should let go of "functions" altogether and call the
> programmable, computable, constructive thingies "procedures", and the
> mathematical, intangible, postulated thingies "mappings".

I'm not sure that changing the terminology would help.  The potential for
confusion comes from the large overlap between the meanings of the terms.
Restricting ourselves to purely functional languages, procedures in such
languages implement mathematical functions.  Any given function can be
implemented by more than one possible procedure, but that often isn't
important to a programmer, once he has a procedure which does the job
satisfactorily.  Given such a procedure, i.e. a specific implementation of a
function, it's reasonable when invoking it to talk about invoking a
function.  The fact that you're invoking a particular implementation of that
function is often not relevant.  Thus "function" ends up seeming like a
synonym for "procedure", and of course common usage amongst the programming
community has long since made this an inescapable fact.

Using the term "mapping" in favor of "function" in the mathematical sense
would simply mean that someone wishing to talk precisely about a program
would have to talk about procedures which implement mappings, and talk about
"invoking" or applying mappings, in cases where the particular
implementation in use is not at issue.  The same potential for confusion
would immediately exist.

Of course, all of this is further confused by the existence of procedures
with side-effects, which may not implement a mathematical mapping.  Still,
the underlying distinction is of the same nature in that case.  A more
severe problem - in terms of the potential for confusing terminology, if
nothing else - is that programming languages don't make a clear distinction,
at the lowest level of procedure definition and invocation, between a
procedure as implementation, and a function as the external result of
(interface to) that implementation.

Some languages make such a distinction at a higher level, e.g. within a
module system, class system, or with something like typeclasses in Haskell.
A higher level is needed to support the possibility of multiple
implementations of the "same" function.  But the existence of "low-level"
procedures in a language, in which the name given to a procedure
(implementation) is the same name as used to invoke it as an abstraction
(function), reinforces the perception that functions and procedures are one
and the same thing.

Anton
From: Tim Haynes
Subject: Re: Function terminology
Date: 
Message-ID: <8665f6b009.fsf@potato.vegetable.org.uk>
Lauri Alanko <··@iki.fi> writes:

> Actually, I think there's a real terminological issue here. In
> programming, a "function" is essentially an encapsulated algorithm. In
> classical mathematics, it's something very different.

Hmmmm. Does this take into account functional languages?

IM(limited)E., the notion of an algorithm connotes `recipe'; it's something
that includes the expectation of being expressed as a chronological
progression more suited to `begin' or `progn' or an imperative language.
(Not that this is a general definition of the term, far from it; an
algorithm may be expressed in terms of pure simple functions alone, but I'm
not sure whether that's possible for all algorithms, certainly not if the
representation is undesirably complex.)

> Perhaps we should let go of "functions" altogether and call the
> programmable, computable, constructive thingies "procedures", and the
> mathematical, intangible, postulated thingies "mappings".

I'm not too keen on this. Way way back in the days when school-kiddies were
taught Pascal (because it was The Done Thing), a procedure was a function
that didn't return anything (or was similar to C's `void', etc). 

Just to muddy the waters more, when, in haskell, you write

     f :: Float -> Float
     f x = 1.0 / x

you're stating a *mapping* between a mathematical *function* and a *function*
in the machine-world, expressing a desire that the compiler create some
object that is `f', with that behaviour. I would say there is no element of
the above that hints `procedure'.

~Tim
-- 
   00:36:47 up 49 days,  3:49,  0 users,  load average: 0.11, 0.15, 0.19
······@stirfried.vegetable.org.uk |There's peat smoke rising
http://spodzone.org.uk/cesspit/   |From the village chimneys
From: Lauri Alanko
Subject: Re: Function terminology
Date: 
Message-ID: <bul7cb$iq7$1@la.iki.fi>
<news-reply{at}stirfried.vegetable.org.uk> virkkoi:
> > Actually, I think there's a real terminological issue here. In
> > programming, a "function" is essentially an encapsulated algorithm. In
> > classical mathematics, it's something very different.
> 
> Hmmmm. Does this take into account functional languages?

Definitely.

> IM(limited)E., the notion of an algorithm connotes `recipe'; it's something
> that includes the expectation of being expressed as a chronological
> progression more suited to `begin' or `progn' or an imperative language.

That is how most algorithms are typically presented. However, if that
were their nature by _definition_, then "purely functional algorithm"
would be an oxymoron.

With "algorithm" I here mean a description of a computation that takes
something as an input and produces an output. The form of that
description may vary, but the important thing is that it is computable.

Side effects aren't really very important here. They can always be
expressed purely functionally with state passing. But the problem
remains: how to give a mathematical interpretation to a program
function. There _are_ answers, thanks to denotational semantics, but the
relationship between code and math is still so nontrivial that I don't
think they should identified together.

> > Perhaps we should let go of "functions" altogether and call the
> > programmable, computable, constructive thingies "procedures", and the
> > mathematical, intangible, postulated thingies "mappings".
> 
> I'm not too keen on this. Way way back in the days when school-kiddies were
> taught Pascal (because it was The Done Thing), a procedure was a function
> that didn't return anything (or was similar to C's `void', etc). 

Yes, all these terms are overloaded. "Procedure" just was the first
alternative that came to my mind, because that's the one used in the
Scheme specification for all functions.

> Just to muddy the waters more, when, in haskell, you write
> 
>      f :: Float -> Float
>      f x = 1.0 / x
> 
> you're stating a *mapping* between a mathematical *function* and a *function*
> in the machine-world,

Actually the language specification states what that mapping actually
is. Or then it doesn't. I don't think you can give a very pretty
mathematical interpretation to floating-point numbers.

But that was a nice example. My original point was that computable
functions are necessarily a strict subset of all functions. Similarly
machine-representable floating-point numbers are necessarily a strict
subset of the real numbers. And one with much hairier properties. So
exactly for the same reason that we shouldn't call floats with the same
name we call reals, we also shouldn't call programming functions with
the same name we call mathematical functions.


Lauri Alanko
··@iki.fi
From: Pascal Bourguignon
Subject: Re: Function terminology
Date: 
Message-ID: <87smi9pv1g.fsf@thalassa.informatimago.com>
Lauri Alanko <··@iki.fi> writes:
> > IM(limited)E., the notion of an algorithm connotes `recipe'; it's something
> > that includes the expectation of being expressed as a chronological
> > progression more suited to `begin' or `progn' or an imperative language.
> 
> That is how most algorithms are typically presented. However, if that
> were their nature by _definition_, then "purely functional algorithm"
> would be an oxymoron.
> 
> With "algorithm" I here mean a description of a computation that takes
> something as an input and produces an output. The form of that
> description may vary, but the important thing is that it is computable.
> 
> Side effects aren't really very important here. They can always be
> expressed purely functionally with state passing. But the problem
> remains: how to give a mathematical interpretation to a program
> function. There _are_ answers, thanks to denotational semantics, but the
> relationship between code and math is still so nontrivial that I don't
> think they should identified together.

The confusion comes from the first application of computers and FORTRAN.
Then bad programmers may forget that computers are not mathematicians.

Personnaly, I've not difficulties to see the difference between:

    (def-function f (real real) (x (f x)) (= (f x) (/ 1 x)))

and:

    (defun f (x) (/ 1 x))

In the first case, I may have a  system able to infer that if (= (f x)
4) then (= x 1/4) and to infer that 0 does not belong to the domain of
f, while in the second case, we  can only compute (f 1/4) and raise an
exception when invoking (f 0), which is poor, in such cases as:
  

   (def-function g (real real) (x (g x)) (= (g x) (/ (sin x) x)))

   (defun g (x) (/ (sin x) x))

where in  the first case,  (= (g 0)  1) and in  the second case  (g 0)
raises an exception.


Of course, all this is trivial (who would confuse (defun g (x) (/ (sin x) x)) 
for (def-function g (real real) (x (g x)) (= (g x) (/ (sin x) x))) ?).



> [...]
> But that was a nice example. My original point was that computable
> functions are necessarily a strict subset of all functions. Similarly
> machine-representable floating-point numbers are necessarily a strict
> subset of the real numbers. And one with much hairier properties. So
> exactly for the same reason that we shouldn't call floats with the same
> name we call reals, we also shouldn't call programming functions with
> the same name we call mathematical functions.

It  does not  matter, it's  two different  domains each  with  its own
vocabulary. Or should  we change the name "memory"  because it has not
the  same  properties  as  wetware  memories?   and  change  the  name
input/output because we don't  input or output anything actually? What
about macro? Are they so big? Is that their only characteristic? 


-- 
__Pascal_Bourguignon__                     http://www.informatimago.com/
There is no worse tyranny than to force a man to pay for what he doesn't
want merely because you think it would be good for him.--Robert Heinlein
http://www.theadvocates.org/
From: Anton van Straaten
Subject: Re: Function terminology
Date: 
Message-ID: <A_xPb.17857$i4.9113@newsread1.news.atl.earthlink.net>
Lauri Alanko wrote:
> But the problem remains: how to give a mathematical interpretation
> to a program function. There _are_ answers, thanks to denotational
> semantics, but the relationship between code and math is still so
> nontrivial that I don't think they should identified together.

But the other way around - producing a program function which implements a
mathematical function - is much more trivial in most cases, short of proving
correctness, that is.  That's the direction most people, other than language
semanticists, are interested in, and why there's terminology overlap.

> "Procedure" just was the first alternative that came to my mind,
> because that's the one used in the Scheme specification for all
> functions.

I've always assumed this usage goes back to the computability theory term
introduced by Church, "effective procedure".  (Perhaps one of the lambda
papers makes this connection more explicit?)  SICP alludes to this at the
end of the following (quite relevant) quote:

   "Procedures, as introduced above, are much like ordinary mathematical
functions. They specify a value that is determined by one or more
parameters. But there is an important difference between mathematical
functions and computer procedures. Procedures must be effective."
  (from
http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-10.html#%_sec_1.1.7 )

> But that was a nice example. My original point was that computable
> functions are necessarily a strict subset of all functions. Similarly
> machine-representable floating-point numbers are necessarily a strict
> subset of the real numbers. And one with much hairier properties. So
> exactly for the same reason that we shouldn't call floats with the same
> name we call reals, we also shouldn't call programming functions with
> the same name we call mathematical functions.

That's a good analogy.  But doesn't the same sort of issue apply?  Floats
are representations of reals, and if you're talking about a program's
meaning rather than the hairy properties of floats, you may think of them as
being reals.

I think you're right about needing a separate commonly-accepted term that
applies specifically to something intended to implement an algorithm (e.g.
'procedure'), but I don't think you can remove the mathematical term
'function', from the picture, even if it were otherwise feasible.

Anton
From: Feuer
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <4013948A.7BCE2136@his.com>
Samuel Walters wrote:

> Here's anecdotal evidence from a bit higher up the educational chain.
> Freshman students invariably ask me why they can't divide a number by
> zero.  I grab a pile of scratch paper, which we always have nearby, and
> say "If I wanted to divide this stack of papers into three, I'd do it like
> this..."  and I begin placing them one-by-one into three piles.  "If I
> wanted to divide it in two, I'd do it like this..."  and then divide it in
> two.  "If I wanted to divide it into one..."  I place the papers one by
> one into a pile on the table.  Then I hand them the stack of papers and
> ask "Now that you know what division is, divide this pile into zero
> piles and don't throw anything away!"  First comes confusion, then
> enlightenment.  Through that physical metaphor, they have seen the
> fundamental barrier to division by zero.

I love that.  The way I've understood the division by zero thing for
the last bunch of years is "division by zero is whatever you want it
to be, but whatever you make it it won't obey theorems about other
divisions, and it is therefore useless."


> 
> I *do* very strongly advocate the physical drawing of graphs by hand well
> into a student's mathematical career.  There is a basic intuition about
> how numbers work that can only be gained by physically putting lead to
> paper and mapping out the results of having ground numbers through
> functions.

Ugh.

David, who thinks graphing, once mastered, should be left to
computers.  Sadly, graphing calculators are not great for it, as
they don't usually show numerical scales, and can therefore be
rather confusing to beginners, and hide wonderful little bits of
information.
From: Brian Harvey
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <buh80d$4ct$1@abbenay.CS.Berkeley.EDU>
<news-reply{at}stirfried.vegetable.org.uk> writes:
>Brian Mastenbrook <····················@cs.indiana.edu> writes:
>
>[snip]
>> Critical thinking requires a solid, intuitive understanding of the
>> basics - you can't possibly visualize algebra, or do simple
>> trigonometry, if you can't rattle off what six times seven is without
>> thinking.
>
>Disagree. At the time I was studying maths in school and university, as
>now, I still find it a heck of a lot easier to picture a sine graph than to
>rattle off mere numbers, having had to think about 6*7 just there.

My understanding of this issue changed dramatically when I adopted a
(then) 12-year-old, very bright, but with learning disabilities, one of
which is a short-term memory problem.  (It's rather ironic, because his
*long* term memory is better than that of anyone else I know.)  I'm often
skeptical about this whole business of learning disabilities, and the fact
that the experts can't agree about whether he's ADD or not isn't helping
my attitude, but they all *do* agree about this memory business.

He has an especially hard time memorizing arbitrary facts that don't mean
anything to him, sich as what six times seven is.

Because of this, and because of the fact that schools make memorization
a prerequisite to understanding anything about math, Heath is convinced
that he's stupid about math, and won't even try algebra (which, of course,
is also taught in a way that puts memorization before understanding, but
this time what you're supposed to memorize is that you can subtract the
same thing from both sides of the equation).

But he's a terrific problem-solver, has great geometric intuition (much
better than mine, for example), and could really, imho, enjoy math if only
he'd seen some before he was allowed to founder on the reefs of arithmetic.


My own school experience was quite different; I had no problem doing
arithmetic.  I went through elementary school before the New Math, so
nobody taught me words like "commutative" or "distributive" until 7th
grade algebra, but I was lucky enough to understand those concepts anyway,
so I understood place value, so arithmetic *wasn't* meaningless to me.
But I skipped a grade in elementary school (midyear, moving from 2nd to
3rd), and as a result I missed the whole process of memorizing the times
table.  This was a slight handicap to my schoolwork for a month or two,
during which I did a lot of finger-counting, but after a while I found that
I'd somehow learned the times table without ever trying to.  (But, I do
understand that I wouldn't have learned it without a lot of drill.  It's
just the the drill was on multiplying two-digit numbers, with the assumption
that I already had the one-digit numbers down cold.)

But, even though I had no trouble doing it, I *hated* arithmetic.  It was
boring!  And so I thought I hated math until that 7th grade algebra class.
As soon as I opened the book, I was hooked, and I read the whole thing
over the first weekend of school.  (Then I got bored in class, so my
teacher told me to stop coming, and instead gave me advanced math books
to read.  At one point that year I "proved" that all sets are denumerable,
starting from the well-ordering principle, and none of the teachers knew
enough math to be able to show me why I was wrong.)


It's very likely that Heath and I are both, in very different ways,
exceptional, and that many, maybe most, other kids learn math best if
they start by memorizing stuff.  But I don't think we're as exceptional
as, say, people with type AB blood, and the medical profession doesn't
pretend those people don't exist.  I happened to *love* school as a kid;
it wasn't until much later that I learned to hate it.  :-)  Because school
worked fine for me, my instinct is to be impatient when people talk about
"different learning styles" and suggest giving kids big digits made of
sandpaper.  But, in fact, Heath and I both have different learning styles
from the one that traditional schooling is meant to serve.  For both of
us, and I bet for quite a lot of other kids, understanding has to come
before memorization.  (Of course I don't mean that you have to understand
all of mathematics before you memorize anything.)
From: Feuer
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <40138C8C.62B26715@his.com>
Brian Harvey wrote:

> Because of this, and because of the fact that schools make memorization
> a prerequisite to understanding anything about math, Heath is convinced
> that he's stupid about math, and won't even try algebra (which, of course,
> is also taught in a way that puts memorization before understanding, but
> this time what you're supposed to memorize is that you can subtract the
> same thing from both sides of the equation).

It's not too late!  You can teach him, no?

> It's very likely that Heath and I are both, in very different ways,
> exceptional, and that many, maybe most, other kids learn math best if
> they start by memorizing stuff.

Perhaps some do.  But I have encountered many people who got screwed
by that philosophy.  Some of them are learning disabled: virtually
unable to learn basic arithmetic.  These people go through /twelve
years/ of trying and failing to learn basic arithmetic and perhaps
some algebra.  By the end of this time they have quite reasonably
concluded that they hate math.  Other folks only spend six or so years
on the arithmetic stuff, and while many of them conclude that they hate
math, not all of them do. Then there are the lucky ones who get
reasonable educations.

David,
who thinks that basic arithmetic should be taught in grades K-3, and
that anyone who doesn't get it with a reasonable level of special
help should just use a calculator or something.
From: Samuel Walters
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <pan.2004.01.19.02.22.39.751055@yahoo.com>
First off, Thank you for writing a well-considered response.  I'm glad to
find someone intelligent of opposing views.  One cannot, after all, trust
one's own views until they are tested against someone who can
intelligently criticize them.

Now, I'll put my experience in this matter into context.  I have worked
for many years, with a couple of breaks, as a math tutor at the university
and community college level.  The community college is in rural Florida
and connected to a magnet high school where they lump the troubled and
exceptionally bright students together and treat them with a bit more
respect than is afforded them at public schools.  I have helped some with
these students, and have worked with many students who couldn't add or
subtract.  In a strange coincidence, it seems that almost every girl I've
dated seriously has been from a family deeply involved in education.  This
has given me some insight into what grade school and middle school
teachers worry about.

I also spent a good deal of my time during high school assistant coaching
P.E. and teaching reading to Kindergarten and First grades.  I worked
closely with the head start program.  That was, to say the least, an
eye-opening experience.  It's the sort of thing that makes you want to
side with Communist China and require people to be licensed to have
children.  I won't go that far, but it does make one reconsider the idea.

I said elsewhere that I could charge $50/hr for my services, and I have at
times.  I'm well known for my tutoring ability.  I prefer, however, to
decide how much of my time is available and dedicate that time to students
who need the services of a great tutor, rather than just any tutor.  Then
I charge the average rate for tutoring in this area, $20/hr.  In this
manner, I often tutor middle and high school students.  I don't mean
to be immodest.  I used to deny it every time someone would compliment me.
 Then I realized that by some strange quirk of divine grace, I was given a
gift and to deny the depth of that gift would mean wasting some of it.  I
am still a humble person, I just know that I have a gift and that it is
for others, not me.

After several times of being bitten by the career bug, I keep finding
myself back here, living in poverty and loving every minute of it.  It's
time to turn teaching into my career.

| Brian Mastenbrook said |
> Unfortunately due to the prevalence of graphing calculators, many
> students these days never develop any sort of proficiency at graphing
> by hand, which means they lose out on a very important intuitive
> understanding of spatial relationships in numbers. So I would be of the
> opinion that a trig class should be taught with only scientific
> calculators (used well, too - being able to calculate some basic
> sines/cosines without the calculator is important for calculus). Other
> than that, I agree with you.

The instructors here have come up with a clever way around this.  They
have two portions of the test, each on a different colored sheet of paper.
 One is sans-calculator.  The different paper allows one to see who's
working on which portion of the test so that the no calculator section is
enforcible.  Trig is just the first place 

> There are some excellent, non-anecdotal reviews of mathematics
> curriculum linked from the Mathematically Correct site. A lot of the
> information is indeed anecdotal, but I think the purpose of the
> Illinois Loop site is to encourage parents to question the curriculum,
> not provide mountains of research. Leave that to the Fordham Foundation
> et al.

I will find it, I will read it and then report back.  I promise.


>> What I don't think that you understand is that teaching mathematics solely
>> by rote is not only ineffective, it's counterproductive. 
> 
> I never disputed that. However, I am sick of trying to teach algebra to
> students who quite simply can't add and subtract - not because they
> were "drilled and killed", but because there was no drill and all.
> Critical thinking requires a solid, intuitive understanding of the
> basics - you can't possibly visualize algebra, or do simple
> trigonometry, if you can't rattle off what six times seven is without
> thinking. By the time you get to an Algebra II course, you should be
> able to solve simple linear equations without much thinking as well.
> Intuitive understanding is the key to higher-order thinking; without
> our intuition, we wouldn't think at all.

I agree that one cannot effectively learn algebra if one is still baffled
by basic issues of arithmetic.  I, however, think that addition,
subtraction, multiplication and division are much more than skills learned
by rote.  Tim Hayes responded to this point, and you will find my thoughts
in the response I'm about to write to him.

> This is a great aim for the later grades in mathematics education;
> however, the goal of a third grade mathematics classroom is not to
> produce critical thinkers, it's to produce people who are ready for
> critical thinking. The kids I tutor in the seventh and eigth grades,
> who are placed into advanced track algebra, are not. They can't be
> expected to use any sort of the critical thinking that you and I do,
> because mathematics is totally counterintuitive to them - even basic
> operations.

I actually believe that numeracy *is* intuitive.  I think that the proper
mental models are not being provided.  Again, more in my response to Tim
Hayes.

> It's not the teachers who are the problem, it's the people who train
> the teachers and write the curriculum. There is no even ground there -
> it's been getting more and more progressive over the past fifty years.
> There is no essential debate anymore /inside/ the education colleges. I
> would argue that this is not a good situation.

If it is as you describe it, then I would agree with you.  I do not have
any experience inside any large education college.  My experience is
distinctly small-town.  I cannot assert anything about this without more
research.

> Don't mistake me as being against many of the progressive ideas - focus
> on the individual is good, developing critical thinking is good. I am,
> however, against the overtly philosophically-driven curriculums we now
> have, which are demonstrably worse in some cases than what we had
> fifteen or twenty years ago. Phonics /works/ as a means of teaching
> reading - study after study has shown that. Whole language replaces
> this solid method of reading instruction with activities like
> "modeling", where the teacher is supposed to go up to the front of the
> class and read silently, to model reading for the student. It's cargo
> cult reading, and does nothing for the student who is falling behind.
> However, it does make less work for the teacher.

I agree with each point here, save perhaps one.  That is your definition
of "philosophically-driven curriculums."  This "cargo-cult reading" you
describe is a poor replacement to phonics if only for breaking the maxim
that learning is not a spectator sport, if not on more fronts I don't
intend to dig up at the moment.

>> Where we *should* be concentrating is on problem-solving skills.  The
>> teachers themselves don't possess those skills. 
> 
> We aren't in a place where we can do that. Have you actually tried to
> teach or tutor in the middle school / early high school grades lately?
> The students have gone through so much diluted, project-centered,
> integrated crap that they don't have the basic command of literacy and
> mathematics to actually approach problem solving skills. The
> curriculums attempt to teach basic mathematics with an overt focus on
> "algorithms", under some mistaken assumption that something other than
> repeated practice can build intuition. The /only/ way to build
> intuition is through practice, practice, and more practice - and by
> understanding what skill you're practicing when you're practicing.
> "Drill and kill"? Hardly so.

My work with students below the college level is fairly low.  One or two
paying customers a term, and a few that the local magnet school sends my
way.

Again, rebuttal deffered to my next post.

>> I end up tutoring a lot
>> of students going for their teacher's certification, and luckily, the head
>> of that department often sees me to ask how well her students are using
>> problem-solving skills.  A student must be taught not only that a thing is
>> true, but why it is true.  Students are not being taught that math,
>> science, and history are anything more than a loose collection of facts.
>> That's why I can (though I don't) charge $50 an hour for private tutoring.
>> I make it all fit together.  I make it all make sense.
> 
> What school district are you in? The local districts here are as
> progressive as can possibly be. The closest university's teaching
> department is purely progressive, and their professors give us such
> fine gems as "I don't like gifted programs - they're elitist", "I don't
> like math", and "I don't think teaching facts is important."

I'm not sure our districts are *anything* alike now.  When I see students
entering college, they have a strong memorization of their times tables,
but no earthly clue what multiplication means.  For instance, I'll be
damned if I can find more than a handful of freshmen able to tell me why
multiplying length and width gives us area of a rectangle.  The ones I
*do* find are probably going to be resident aliens or immigrants.  I'm not
asking for deep understanding here.  I just want a student to understand
that counting by five is the same as the fives table in a multiplication
table.  It's truly baffling how little understanding they possess.
 
>> A teacher is a facilitator.  They are not a mystical font of knowledge in
>> whose mere presence a student will become magically enlightened.  It is an
>> instructors job to lead students from their current understanding to a
>> deeper and more powerful understanding.  I am sick of seeing students who
>> are afraid to do anything on a math problem because they're afraid that
>> they will be wrong.  A student should explore, not quake in their boots.
> 
> I'm not arguing for a "mystical font of knowledge"; but I do argue that
> teachers should be the primary guide for the student's learning. The
> "facilitator" theory is that students can direct their own knowledge.
> This would be great if young children knew anything at all about what
> they didn't know, but they don't. The reason we have teachers is that
> young children /can't/ reasonably direct their own learning, due to
> inexperience. The teacher is then the guide which makes the decisions
> about what the student will learn - paying attention to feedback, yes, 
> but still creating the overall direction.

It seems you were using a technical term whose mundane meaning was coopted
by a theory.  I was reading it as the colloquial sense.  It is obvious that
you are far better read on theories of education than I am.  I hope this
won't diminish your view of my ideas. :-P

Just beware, if you use a technical term with a common usage, I'll
probably read it with the common meaning.  Hopefully, though, I will spot
those landmines of miscommunication since I know they're there now.
 
> I agree that "students should explore", but honestly, if you're
> learning how to add and subtract, there isn't much exploring to be
> done. It takes repeated problem solving to get it under intuitive
> command, and once you have it, you are much better prepared to think
> critically about higher mathematics.

To this, and the last point:  I think that there is reasonably more
exploration to addition and subtraction than it first appears.  This
assertion will be elaborated, you guessed it, in the next post.

> Peer review is also known as mutual masturbation. The problem is that
> right now, testing is tied into teacher and district funding, which
> immediately destroys the scientific validity of the test. If we viewed
> tests as merely a measurement of curriculum on a broader scale, they
> could be much more valid measurements.

*chuckle*  Well, that certainly is a colorful way of putting it.  And here
I thought that explaining to statistics students the reason statistics was
required "is not so that you could find the standard deviation of a data
set ten years down the road, but so you can call 'bullshit' when a
consultant tries to pull the wool over your eyes with bogus statistics," was a
brazen thing to say.

All I have to say is that there are effective ways to conduct peer review
and there are horrifyingly poor ways to conduct it.  While I support the
former, sadly bureaucracy favors the latter.

I agree wholeheartedly with your point that standardized testing loses all
effectiveness when tied to funding.  In Florida right now, there's a
disturbing system that ties school funding, individual teachers jobs.  The
problem comes from two fronts.  One is that the large number of senior
citizens will never vote for an increase in funding for schools.  The
other is our "education governor."  You know him as Dubya's brother, Jeb
Bush.  Big headlines came recently when Bush announced an 8% increase in
funding for Community Colleges.  After the 25% cutback at the beginning of
his last term, an 8% increase still leaves us with a 19% deficit.  It
seems he's not only hoping to keep the children from learning arithmetic,
but he's hoping that the general population is bad at it too.  (I leave it
as an exercise to the reader to connect this with the last presidential
election.)

> As for what's worth measuring, the local education union wants lots of
> open-ended questions on the test which have to do with the application
> of mathematics, and they shun all questions which have to do with
> mathematics in the abstract. Of course, our local teacher college
> teaches that public school education's purpose is merely to prepare the
> average student for their future career, so what's the point of
> teaching exponentation or any other abstract concept?

I despise the overkill manner in which mathematics has moved toward an
emphasis on "applications."  Mathematics involves a visceral, visual and
tactile understanding that these methods obscure.  Strange, you'd think
that "applied" problems would be more grounded in experience, but they're
not.

> I disagree with the way you phrased that - the correct algorithm is
> more important than an incorrect result. Our district penalizes
> students who obtain correct answers but did so intuitively. This is,
> from what I understand, part of the Everyday Mathematics curriculum. In
> their world, for even the simplest of mathematics problems, you need to
> write out a detailed explanation of how you came to the answer.
> Penalizing intuition is the precise opposite of what I would do if I
> wanted to encourage critical thinking. A solid intuitive understanding
> of mathematics builds the ability to think critically about a wide
> range of ideas. Of course, it's important to understand your intuition
> too, but penalizing it is highly counterproductive or even dangerous.
> Most everything you or I do with mathematics, we do so intuitively. It
> enables us to extend our thinking to more complex ideas - programs,
> circuits, differential equations, et al. Without this ability we can't
> extend that far - we're always having to count on our fingers to add or
> subtract, or write out multiplication.

The true utility of mathematics is that it allows us to take small
intuitive steps to discover surprising and often counter-intuitive truths.
 
>> I am very confused as to how the thesis of this paragraph has *anything*
>> to do with totalitarianism.
> 
> It was poorly written. Sorry.

S'okay.  I hope you are so lucky that this is the worst of your
transgressions on usenet. :-P

> I wasn't arguing about computer technology at all! You can teach the
> lambda calculus on a blackboard. But if the students have not
> sufficiently developed their mathematical and anylitical intuition to
> the point where they can work with the conceptual underpinnings of a
> computer, then we are producing a society which doesn't understand its
> own operation - a sure danger to freedom.

Here, I think I let some of the context of the greater thread bleed into
your posting.  The topics were different, I apologize.

Ah!  Now you connect the dots.  I can see why you were talking about
fascism.  I advocate computer programming as a required high school
course.  Perhaps there are bigger fish to fry at the moment, but an
understanding of the nature of the beast is imperative for students to
function in any future society.  I'm not talking about web-surfing or
using a word processor, though those are useful skills.  I'm talking about
the tools necessary to build a mental model of what a computer does.  My
personal political beliefs see the Internet as either the future
choke-point for all information, or the liberating conduit that breaks the
bonds of political spinsmen and double-speak.  Education is the key to
the outcome, as we both agree.

>> But the problem facing many educators these days is that the
>> students know more about computers than they do!
> 
> From my experience, students know a lot about using certain things on
> the computer, but little about the computer itself - how to fix
> problems, etc. Some students are quite gifted with computers, and their
> attention should be directed towards programming.

And my point was that the stewards of knowledge in this area are incapable
of effectively educating students because they themselves do not
understand that which they claim to teach.

> Ah yes, Lakoff. His ideas are interesting, but a lot of
> neuropsychologists tend to see him as kind of on the edge - in
> particular, he attaches a great deal of importance to mirror neurons
> that are not yet fully understood or explored. I think his ideas will
> only be evaluable ten or twenty years from now, when cognitive
> psychology has caught up with the areas he's speculating in.

I haven't read any of his other works.  I found the first half of "WMCF"
solidified a lot of ideas I had a subconscious grasp on.  The ideas have
proven very useful in my day-to-day experience.  In the second half of the
book, Lakoff and Nunez dig into some areas of mathematics that are clearly
over their heads.  This makes their assertions interesting, but not
compelling.  Overall, I felt the first half was well thought out and well
researched.  The second half seemed cobbled together at the last minute
from loose notes.  YMMV.

Sam Walters.

P.S.  I did not intend this as a "me-too" post, but I felt it was
important to map out the areas we agreed on so that we can focus in on
those where we disagree.

-- 
Never forget the halloween documents.
http://www.opensource.org/halloween/
""" Where will Microsoft try to drag you today?
    Do you really want to go there?"""
From: Brian Mastenbrook
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <180120042241312208%NOSPAMbmastenbNOSPAM@cs.indiana.edu>
In article <······························@yahoo.com>, Samuel Walters
<···············@yahoo.com> wrote:

> First off, Thank you for writing a well-considered response.  I'm glad to
> find someone intelligent of opposing views.  One cannot, after all, trust
> one's own views until they are tested against someone who can
> intelligently criticize them.

Agreed. That's what Usenet is for, right? :-)

> Now, I'll put my experience in this matter into context.  I have worked
> for many years, with a couple of breaks, as a math tutor at the university
> and community college level.  The community college is in rural Florida
> and connected to a magnet high school where they lump the troubled and
> exceptionally bright students together and treat them with a bit more
> respect than is afforded them at public schools.  I have helped some with
> these students, and have worked with many students who couldn't add or
> subtract.  In a strange coincidence, it seems that almost every girl I've
> dated seriously has been from a family deeply involved in education.  This
> has given me some insight into what grade school and middle school
> teachers worry about.

To provide some context myself: Before I went off to grad school, I
tutored algebra at a local middle school. I occasionally tutor someone
on the collegiate level, but in my experience college students have far
different mathematics troubles than those on the middle school level.

> I also spent a good deal of my time during high school assistant coaching
> P.E. and teaching reading to Kindergarten and First grades.  I worked
> closely with the head start program.  That was, to say the least, an
> eye-opening experience.  It's the sort of thing that makes you want to
> side with Communist China and require people to be licensed to have
> children.  I won't go that far, but it does make one reconsider the idea.

Perhaps everyone could agree on an alternative - requiring the smart
and capable parents to breed more :-)

> After several times of being bitten by the career bug, I keep finding
> myself back here, living in poverty and loving every minute of it.  It's
> time to turn teaching into my career.

Ah, that would be nice, but I have multiple passions, and the level of
headache involved in dealing with teaching - from the required classes
to obtain a teacher's certificate, to the bureaucracy at the school
district, to the required union (does anyone else hate this concept?) -
would just be too high. If we as a nation want well-qualified teachers,
we ought to do everything in our power to ensure that it is pleasant to
go into education, not a major hassle.

> The instructors here have come up with a clever way around this.  They
> have two portions of the test, each on a different colored sheet of paper.
>  One is sans-calculator.  The different paper allows one to see who's
> working on which portion of the test so that the no calculator section is
> enforcible.  Trig is just the first place 

I think your sentence got chopped off here. My personal experience is
that classes who do mixed calculator / no calculator aren't often as
easy for the students to cope with. Many people simply don't have the
discipline to force themselves to practice without a calculator, and so
when it comes time to take the no-calculator portion of the test, are
unprepared. I think after the initial frustration sets in, most
students can get more out of a class where all tests are no-calculator.
Perhaps there are ways of alternating so that students find it easier
to work practice problems without a calculator.

> I agree that one cannot effectively learn algebra if one is still baffled
> by basic issues of arithmetic.  I, however, think that addition,
> subtraction, multiplication and division are much more than skills learned
> by rote. 

Of course they are - that's why I used the word "intuitive". Intuition
is more than just rote knowledge; it's having your brain signal you
when looking at a problem and say "hint hint - this might be part of
the puzzle!". But you can't look at a complex problem, and realize that
all you need to do is multiply some lengths and widths and then sum an
area, unless you are so familiar with the concept that it has become
intuitive to you. Watch as you're working with a student, and they come
to a problem that they have no clue where to begin on. How is it that
you know where to start? Is it because you sat and consciously thought
of every similar problem, until you came on one that would help you
with this? Did you have a script? Or did you just kind of know where to
begin investigating? This is intuition in action. It doesn't happen
overnight though, and programs like Everyday Mathematics which
sacrifice practice in favor of introducing bits and pieces of algebra
in the third grade (no joke) quite simply are counterproductive. Of
course, I'm not of the opinion that Everyday Mathematics was designed
to be productive in the first place.

> I actually believe that numeracy *is* intuitive.  I think that the proper
> mental models are not being provided.  Again, more in my response to Tim
> Hayes.

I haven't read your response yet, but I think we need to clarify our
definitions of intuitive before we go any further. I'm using it to
refer to skills or knowledge which are known so well that they directly
influence how we solve and think about problems. Everyday Mathematics
focuses on developing a "toolbox" of problem solving strategies, and
students actually maintain such a written toolbox. But I carry a
toolbox around in my head that's learned so well that it just comes to
me when I need to solve a problem. It's the result of years of
mathematics practice. (FYI, my undergrad majors were CS and
Mathematics.)

> If it is as you describe it, then I would agree with you.  I do not have
> any experience inside any large education college.  My experience is
> distinctly small-town.  I cannot assert anything about this without more
> research.

If there's a teacher college you can visit, go visit the bookstore and
see what the required class texts are. I think it's a good way to get
an idea of what a program's flavor is.

> I agree with each point here, save perhaps one.  That is your definition
> of "philosophically-driven curriculums."  This "cargo-cult reading" you
> describe is a poor replacement to phonics if only for breaking the maxim
> that learning is not a spectator sport, if not on more fronts I don't
> intend to dig up at the moment.

But it works on one philosophical front - it does not view the teacher
as a "font of knowledge", as you put it. The drive towards
student-directed learning is a very powerful one in educational
philosophy, and the influence of the free schoolers has been
tremendous. The study of totalitarianism from a constructivist
framework has replaced the study of how to effectively guide student
learning in a classroom.

> I'm not sure our districts are *anything* alike now. 

I'm beginning to see that.

> When I see students
> entering college, they have a strong memorization of their times tables,
> but no earthly clue what multiplication means.  For instance, I'll be
> damned if I can find more than a handful of freshmen able to tell me why
> multiplying length and width gives us area of a rectangle.  The ones I
> *do* find are probably going to be resident aliens or immigrants.  I'm not
> asking for deep understanding here.  I just want a student to understand
> that counting by five is the same as the fives table in a multiplication
> table.  It's truly baffling how little understanding they possess.

If I had the opportunity to trade students and situations, I probably
would. If anyone wants to understand where the drive towards grade
inflation comes from, just try telling a seventh or eighth grader that
they need to practice their addition and subtraction. It's hard. When
you watch them counting on their fingers when trying to solve a linear
equation it breaks your heart. I agree that we need to make sure our
students understand the actual meaning of what they're doing, but I'm
not sure how to translate that understanding into the use of the tool
when they haven't practiced it enough to recognize when they need it.

> It seems you were using a technical term whose mundane meaning was coopted
> by a theory.  I was reading it as the colloquial sense.  It is obvious that
> you are far better read on theories of education than I am.  I hope this
> won't diminish your view of my ideas. :-P

Of course not. It just means I need to try to communicate better myself.

> Just beware, if you use a technical term with a common usage, I'll
> probably read it with the common meaning.  Hopefully, though, I will spot
> those landmines of miscommunication since I know they're there now.

If I'm using a new term in quotes, it's probably for that reason.

> To this, and the last point:  I think that there is reasonably more
> exploration to addition and subtraction than it first appears.  This
> assertion will be elaborated, you guessed it, in the next post.

I think that when I write a reply to someone, I have a tendency to yank
in one direction as hard as I can. I don't mean to do that. There is
much wonder and excitement in developing an intuitive understanding of
mathematics, including understanding how to break more difficult
problems down into easier ones and recognizing patterns. One of my
idols, the late great Richard Feynman, was a master at this. His mental
arithmetic could beat a master of the abacus. It worked because he was
so familiar with numbers, that he could instantly decompose harder
problems into ones he already knew. But just telling someone how to do
this, and giving them a few examples to practice on, and requiring them
to write out the method they used from start to finish on every
problem, just hinders the practice it takes to become truly familiar
with the world of numbers.

> *chuckle*  Well, that certainly is a colorful way of putting it.  And here
> I thought that explaining to statistics students the reason statistics was
> required "is not so that you could find the standard deviation of a data
> set ten years down the road, but so you can call 'bullshit' when a
> consultant tries to pull the wool over your eyes with bogus statistics," was a
> brazen thing to say.

This is Usenet, is it not? :-)

> All I have to say is that there are effective ways to conduct peer review
> and there are horrifyingly poor ways to conduct it.  While I support the
> former, sadly bureaucracy favors the latter.

The world would be a much better place if bureaucracy didn't exist, and
people of all professions were truly excited about what they were
doing. Needless to say I don't think that's going to happen anytime
soon. Unfortunately a lot of teachers I have met are not truly
passionate about the material they are teaching - if anything, they
have a bit of trouble with it themselves. I can't say I trust people
like this to review their efficacy in teaching it. It takes people who
are truly passionate about it to spot the problems.

> I agree wholeheartedly with your point that standardized testing loses all
> effectiveness when tied to funding.  In Florida right now, there's a
> disturbing system that ties school funding, individual teachers jobs.  The
> problem comes from two fronts.  One is that the large number of senior
> citizens will never vote for an increase in funding for schools.  The
> other is our "education governor."  You know him as Dubya's brother, Jeb
> Bush.  Big headlines came recently when Bush announced an 8% increase in
> funding for Community Colleges.  After the 25% cutback at the beginning of
> his last term, an 8% increase still leaves us with a 19% deficit.  It
> seems he's not only hoping to keep the children from learning arithmetic,
> but he's hoping that the general population is bad at it too.  (I leave it
> as an exercise to the reader to connect this with the last presidential
> election.)

You forgot the effects of inflation / deflation, but I'll let that one
slide. Yes, I do think that the inability of most of the populace to
understand the electoral college system is sad.

> I despise the overkill manner in which mathematics has moved toward an
> emphasis on "applications."  Mathematics involves a visceral, visual and
> tactile understanding that these methods obscure.  Strange, you'd think
> that "applied" problems would be more grounded in experience, but they're
> not.

I can't comment on tactile understanding - I'm nothing like a tactile
learner. Most of the time I'm easily frustrated by objects anyway. My
brain does not seem wired up to deal with reality well :-)

The joy of mathematics is that by teaching an abstract skill, we can
actually teach critical thinking and problem solving. The skills
learned in mathematics leave their mark on the young person's mind, and
will encourage them to see all sorts of situations in new ways. In
effect, teaching mathematics makes people smarter. But it takes a level
of general familiarity with mathematics - an intuitive understanding of
what to do when looking at a problem, so deep that the right method of
inquiry can jump out at you - to realize these benefits. I'm a big
believer in the concept of intuition; I use it to guide my work in AI
as well. Intuition is learned, it's dynamic, and it's wonderful because
of the way it helps us solve problems, predict behaviors, and generally
allow us to think in higher-order ways about complex systems. My fear
is that these programs are destroying that in students for all sorts of
strange reasons.

> The true utility of mathematics is that it allows us to take small
> intuitive steps to discover surprising and often counter-intuitive truths.

If I could force a summary, it enables us to direct our conscious
thought in new ways, perhaps arriving at initially counterintuitive
truths. But how can you do that when you lack the intuition in the
first place? When you've been taught by a program that insists you have
to make a conscious decision at every step of solving a problem? And
you can't ever act on a hunch?

> Ah!  Now you connect the dots.  I can see why you were talking about
> fascism.  I advocate computer programming as a required high school
> course.  Perhaps there are bigger fish to fry at the moment, but an
> understanding of the nature of the beast is imperative for students to
> function in any future society.  I'm not talking about web-surfing or
> using a word processor, though those are useful skills.  I'm talking about
> the tools necessary to build a mental model of what a computer does.  My
> personal political beliefs see the Internet as either the future
> choke-point for all information, or the liberating conduit that breaks the
> bonds of political spinsmen and double-speak.  Education is the key to
> the outcome, as we both agree.

Believe it or not, every day I find out more information that's not on
the internet. It's out there! I just hope it won't be relegated to
inconsequence.

I think we can agree that teaching an understanding of the essential
nature of a computer is vastly important to the future of our society.
Of all the recent uses for technology in education, however, I have not
seen "programming" being one of them. That's sad. Programming is a
terrific way to teach mathematics, even on the elementary level. My
elementary math classroom had an Apple IIe, and the teacher would allow
me to program on it, and use it in solving problems. It was fun, and it
was another way to build my intuition - because when you program, you
have to have an idea of what statements do what, and what the
(intended) outcome of your program is. If I had my way, I'd throw out
all the iBooks and replace them with Apple IIes. (And I'd teach the
students to type, too. They don't do that anymore. Sad - it's an
essential motor skill that should be practiced early.)

> And my point was that the stewards of knowledge in this area are incapable
> of effectively educating students because they themselves do not
> understand that which they claim to teach.

If only it were easier for a specialist in a field to obtain a teaching
certificate, so us programmers could do this part-time. In our state,
two years of a teaching program is required for our alternative
certificates, at the insistence of the union - what was once a way for
a highly educated person to easily teach is now just another vehicle
for selling teacher training programs.

> I haven't read any of his other works.

I had the good fortune to see him talk recently. His application of
psychology to politics was fascinating, if a bit narrow-minded (or
two-sided). But I reserve judgment until science has caught up with
him.

> I found the first half of "WMCF"
> solidified a lot of ideas I had a subconscious grasp on.  The ideas have
> proven very useful in my day-to-day experience.  In the second half of the
> book, Lakoff and Nunez dig into some areas of mathematics that are clearly
> over their heads.  This makes their assertions interesting, but not
> compelling.  Overall, I felt the first half was well thought out and well
> researched.  The second half seemed cobbled together at the last minute
> from loose notes.  YMMV.

Well, if I chance upon a copy, I'll pick it up, but that doesn't sound
like a ringing endorsement. :-)

If you haven't already, you desperately need to buy this book:

http://www.amazon.com/exec/obidos/tg/detail/-/0393316041/qid=1074483340/
sr=1-1/ref=sr_1_1/103-3501597-4596624?v=glance&s=books

I offer every section of it a ringing endorsement, but the sections on
intuitive / mental mathematics and reviewing primary school textbooks
are probably the most relevant.

> P.S.  I did not intend this as a "me-too" post, but I felt it was
> important to map out the areas we agreed on so that we can focus in on
> those where we disagree.

*Sigh* Only on Usenet. You do realize that most people would rather map
out the areas that they disagree on so they can focus on the areas
where they agree? :-)

-- 
Brian Mastenbrook
http://www.cs.indiana.edu/~bmastenb/
From: Samuel Walters
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <pan.2004.01.19.04.07.29.652910@yahoo.com>
Short answer, before I crash for the night:

| Brian Mastenbrook said |
> In article <······························@yahoo.com>, Samuel Walters
> <···············@yahoo.com> wrote:
>> P.S.  I did not intend this as a "me-too" post, but I felt it was
>> important to map out the areas we agreed on so that we can focus in on
>> those where we disagree.
> 
> *Sigh* Only on Usenet. You do realize that most people would rather map
> out the areas that they disagree on so they can focus on the areas
> where they agree? :-)

Someone, somewhere once said "It is important to keep the company of those
with whom you do not agree.  If it weren't for such socialization, we'd be
nothing more than a bunch of doddering old fools nodding our heads in
agreement."  (Probably a completely butchered quote, but the spirit
remains)

You know we recently had to fire an English tutor from the tutoring
center.  He was an intelligent, fun guy who's English skills were
impeccable.  The problem was that he came here straight of a grad degree
in philosophy.  That means he was used to intense toe-to-toe discussions
where ideas were often left shredded on the floor, and took that attitude
about student papers.  Sad.  That's the reason I liked him.

Sam Walters.

-- 
Never forget the halloween documents.
http://www.opensource.org/halloween/
""" Where will Microsoft try to drag you today?
    Do you really want to go there?"""
From: Brian Mastenbrook
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <180120042313064455%NOSPAMbmastenbNOSPAM@cs.indiana.edu>
In article <······························@yahoo.com>, Samuel Walters
<···············@yahoo.com> wrote:

> Someone, somewhere once said "It is important to keep the company of those
> with whom you do not agree.  If it weren't for such socialization, we'd be
> nothing more than a bunch of doddering old fools nodding our heads in
> agreement."  (Probably a completely butchered quote, but the spirit
> remains)

I agree, but the way in which you phrased it just struck me as... odd
for some reason :-)

> You know we recently had to fire an English tutor from the tutoring
> center.  He was an intelligent, fun guy who's English skills were
> impeccable.  The problem was that he came here straight of a grad degree
> in philosophy.  That means he was used to intense toe-to-toe discussions
> where ideas were often left shredded on the floor, and took that attitude
> about student papers.  Sad.  That's the reason I liked him.

Unfortunately most students don't stand up to that well. I enjoy the
people I can do that with, however.

-- 
Brian Mastenbrook
http://www.cs.indiana.edu/~bmastenb/
From: Feuer
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <401392E6.FDC0EE6E@his.com>
Brian Mastenbrook wrote:

> If I had the opportunity to trade students and situations, I probably
> would. If anyone wants to understand where the drive towards grade
> inflation comes from, just try telling a seventh or eighth grader that
> they need to practice their addition and subtraction. It's hard. When
> you watch them counting on their fingers when trying to solve a linear
> equation it breaks your heart.


> I agree that we need to make sure our
> students understand the actual meaning of what they're doing, but I'm
> not sure how to translate that understanding into the use of the tool
> when they haven't practiced it enough to recognize when they need it.

Subtraction and multiplication are tools, but so are the algebraic
laws.  I am a part-time college math student.  I am so lousy at
arithmetic that I can't reliably make change without a computer or
paper & pencil.  I think a lot of it has to do with a bad short-term
memory in my case (by the time I've counted out the coins, I've
forgotten the dollar amounts--I often can't even dial phone numbers
I don't know without looking at them two or three times).  But I can
look at an algebraic equation and immediately see one or two reasonable
ways to proceed, or look at an integral and see three or four of them.
And I can look at a theorem and come up with a proof, though I tend to
keep a smaller theorem toolbox than most students (had trouble in
abstract algebra because there were too damn many theorems, though I
still got an A in the class.  Had much less trouble in real analysis).

David
From: Tayssir John Gabbour
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <866764be.0401190732.37f13c15@posting.google.com>
Is there anything interesting done to use tech to ease the
labor-intensive nature of teaching?  Not just teachin' students tech,
but scaling some inspired teachers?

An example of what I mean is videos parents might download.  Not
necessarily that, of course, but something better than all the
edutainment software.


Samuel Walters <···············@yahoo.com> wrote in message news:<······························@yahoo.com>...
> The instructors here have come up with a clever way around this.  They
> have two portions of the test, each on a different colored sheet of paper.
>  One is sans-calculator.  The different paper allows one to see who's
> working on which portion of the test so that the no calculator section is
> enforcible.  Trig is just the first place
From: Feuer
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <40138FFD.B3721D51@his.com>
Samuel Walters wrote:

> I'm not sure our districts are *anything* alike now.  When I see students
> entering college, they have a strong memorization of their times tables,
> but no earthly clue what multiplication means.  For instance, I'll be
> damned if I can find more than a handful of freshmen able to tell me why
> multiplying length and width gives us area of a rectangle.

Isn't that just one of the axioms of measure theory?  More seriously,
the best way I know to teach (and understand) the distributive law
(of multiplication over addition) is by a geometric model.  Seems lots
of people never see that and don't understand distribution.

> A solid intuitive understanding
> > of mathematics builds the ability to think critically about a wide
> > range of ideas. Of course, it's important to understand your intuition
> > too, but penalizing it is highly counterproductive or even dangerous.

Certainly intuition should be well-accepted in early grades, but when
it's time for algebra and geometry, intuition must be accompanied by
proof.  Intuition must be seen as a tool in the problem->conjecture->
proof process.

David
From: Michele Simionato
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <95aa1afa.0401190201.55e22a66@posting.google.com>
Brian Mastenbrook <····················@cs.indiana.edu> wrote in message news:<·······································@cs.indiana.edu>...
> Ah yes, "learning by doing". This is why in our local school district,
> kids are taught to count over 99 by the use of a calculator (!). The
> calculator is a "manipulative"; by pressing buttons on the calculator,
> students get the opportunity to "construct" their own learning by
> observing what happens after pressing the increment button the
> hundredth time. If this seems terribly silly, counterproductive, or
> even dangerous, you'd think right. One would wonder why you couldn't
> just show the kids what happens when you add 99 to 100; after all, it's
> a basic fact.

I thought this was science fiction ...
It reminds me very much of Isaac Asimov's "Feeling of Power", If, feb. 1957.
He set the action in the far future, when people have lost the abiliting
of computing without calculators, but it seems we already there.
It seems our only hopes are in countries like China and India, where
apparently people still learn something at school ...

     Michele Simionato
From: Brian Harvey
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <buh8cu$4de$1@abbenay.CS.Berkeley.EDU>
Brian Mastenbrook <····················@cs.indiana.edu> writes:
>Ah yes, "learning by doing". This is why in our local school district,
>kids are taught to count over 99 by the use of a calculator (!). The
>calculator is a "manipulative"; by pressing buttons on the calculator,
>students get the opportunity to "construct" their own learning by
>observing what happens after pressing the increment button the
>hundredth time.

This is a gross misapplication of the idea of manipulatives.  A calculator
isn't one.  The canonical example of a math maipulative is a set of rods,
all different lengths, so you can add numbers by putting two sticks
end-to-end and finding another stick whose length matches the result.
And this isn't supposed to teach you specific sums as much as it's
supposed to teach you what adding means.

But, for certain kids at least (see the message I just posted about my
learning-disabled son), I wish the school had calculators that could only
add and multiply numbers up to 10*10.  Then kids could learn the
algorithms for multi-digit numbers even if they had trouble memorizing
the tables.
From: Samuel Walters
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <pan.2004.01.18.12.32.00.313164@yahoo.com>
| Anton van Straaten said |
> Similarly, the person behind the McDonald's counter doesn't need to know
> much about math.  All he needs to know is how to translate the cash given by
> the customer into numbers to enter into the register, and the inverse of
> that operation in order to pay out the change.  (Perhaps a display with
> pictures of the bills and coins could help here, or just a fully-automated
> register.)  General-purpose addition and subtraction is useless to these
> people, and we should stop bothering to require that students achieve "Math
> Literacy".

Worse yet...

When I worked at McDonalds in 1995, the cash registers allowed the user to
either punch in the numerical amount of the cash tendered or they may
press buttons denoting the bills and coins they have in hand.  Moreover,
the change to be returned was displayed as both the numerical amount, and
the number of each particular bill and coins to be given back.  There is
some good reasoning behind this, even in the case of an intelligent
employee.  Every now and again, my brain felt like it would "deadlock" on
a simple change-making operation and I could just glance at the display to
set myself straight.

When I recently worked at 7-11, we had problems with con artists trying to
prey on the less intelligent or mindful of our staff by making strange and
complicated requests for change.

I used to completely baffle people there by being able to make change in
my head, and also being able to count back change both ways.  Part of the
problem is that workers in these low-end jobs are treated as commodities,
and not investments.  We were never without a stack of applications ready
to fill the shoes of anyone who quit or got fired.

Sam Walters.

-- 
Never forget the halloween documents.
http://www.opensource.org/halloween/
""" Where will Microsoft try to drag you today?
    Do you really want to go there?"""
From: Joe Marshall
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <fzeg19ou.fsf@comcast.net>
··@cs.berkeley.edu (Brian Harvey) writes:

> I think the proximate reason I wrote those sentences you quoted was that
> I'd recently visited a high school in which every student was required to
> take a course about how to use a word processor, but the kids weren't
> allowed to use the computers to write their English papers, because all
> the available time was taken up by the course itself.  So it wasn't just
> a question of the programming elite not getting enough time, although that
> bothered me, too.

I would not even permit my kids to take one of those courses!

> And, have you ever seen the actual curriculum of one of these courses?

Yes.  It is a lot like a remedial math course.

> I'd rather hire someone who has *real* literacy and teach him how to
> use a computer than hire someone who's a whiz at computers and try
> to teach him English and critical thinking skills.

Certainly there are many computer whizzes that could use a little help
with their English, but I think there are as many English majors who
would benefit from a computer science course (*not* a computer
literacy course, but a real programming course).  Writing programs is
a great way to learn critical thinking.

-- 
~jrm
From: Brian Harvey
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <bu9959$iip$1@abbenay.CS.Berkeley.EDU>
Joe Marshall <·············@comcast.net> writes:
>Certainly there are many computer whizzes that could use a little help
>with their English, but I think there are as many English majors who
>would benefit from a computer science course (*not* a computer
>literacy course, but a real programming course).  Writing programs is
>a great way to learn critical thinking.

Oh, yes, I agree.  Kids, too, should have the opportunity to learn
computer programming, for that reason.
From: Rob Warnock
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <etedndDyx75im5Td4p2dnA@speakeasy.net>
Joe Marshall  <·············@comcast.net> wrote:
+---------------
| ··@cs.berkeley.edu (Brian Harvey) writes:
| > I'd rather hire someone who has *real* literacy and teach him how to
| > use a computer than hire someone who's a whiz at computers and try
| > to teach him English and critical thinking skills.
| 
| Certainly there are many computer whizzes that could use a little help
| with their English...
+---------------

I see it's time once again to drag out a few of my favorite Dijkstra[1]
quotes:

	"Besides a mathematical inclination, an exceptionally good
	mastery of one's native tongue is the most vital asset of
	a competent programmer."

Note that he said "one's native tongue", not necessarily "English".
[Dijkstra wasn't even a native speaker of English, although when
writing in English he wrote with great precision.]

	"The tools we use have a profound (and devious!) influence on
	our thinking habits, and, therefore, on our thinking abilities."

As any Lispnik could tell you!  ;-}

	"About the use of language: it is impossible to sharpen a pencil
	with a blunt axe. It is equally vain to try to do it with ten
	blunt axes instead."

And of course:

	"Programming is one of the most difficult branches of applied
	mathematics; the poorer mathematicians had better remain pure
	mathematicians."


-Rob

[1] Edsger W. Dijkstra, "How do we tell truths that might hurt?" (1975)
    <URL:http://www.cs.utexas.edu/users/EWD/ewd04xx/EWD498.PDF>
    <URL:http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html>
From: Joe Marshall
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <1xpya44n.fsf@comcast.net>
····@rpw3.org (Rob Warnock) writes:

> I see it's time once again to drag out a few of my favorite Dijkstra[1]
> quotes:
>
> 	"The tools we use have a profound (and devious!) influence on
> 	our thinking habits, and, therefore, on our thinking abilities."

I like to think that my writing has improved since I learned to program.

> And of course:
>
> 	"Programming is one of the most difficult branches of applied
> 	mathematics; the poorer mathematicians had better remain pure
> 	mathematicians."

Code written by mathematicians is often horrid.

-- 
~jrm
From: Rob Warnock
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <voudnTafapGtJZTdRVn-iQ@speakeasy.net>
Joe Marshall  <·············@comcast.net> wrote:
+---------------
| ····@rpw3.org (Rob Warnock) writes:
| > 	"Programming is one of the most difficult branches of applied
| > 	mathematics; the poorer mathematicians had better remain pure
| > 	mathematicians."
| 
| Code written by mathematicians is often horrid.
+---------------

Yes, but look again at the second clause of that sentence.  ;-}  ;-}


-Rob

-----
Rob Warnock			<····@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607
From: Alex Shinn
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <87vfnctoqq.wl@strelka.synthcode.com>
At Fri, 16 Jan 2004 05:38:31 +0000 (UTC), Brian Harvey wrote:
> 
> Thinking more deeply about it:  Computers keep getting cheaper, but they're
> still pretty expensive, in enough-to-be-useful quantities, compared with
> things like books and teachers.

Tell me about it.  I always keep a couple of spare teachers chained up
in my basement in case the current one falls ill, but I haven't been
able to afford an extra computer yet.

ObProgramming: I use Markov chains.

-- 
Alex
From: Tim Haynes
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <86smig9qg9.fsf@potato.vegetable.org.uk>
"Anton van Straaten" <·····@appsolutions.com> writes:

> Today more than ever, computer literacy *is* something that should be
> taught universally. I'd rebut a number of the points in the paper, but
> seeing as how it's 21 years old, I suspect it's moot nowadays anyway.

FSVO `literacy', I think that's the point :)

There's still a lot of validity in it being those who *want* to play with a
computer who get ahead with them. I'd say it's not a matter of knowing your
way around a spreadsheet, a WP, a database... I'd say that for software,
literacy is having the ability to get out and play with your OS for what
it's worth so you can see how to solve other tasks in terms of the
operations it presents, and for hardware, well, just change a few bits
around and you'll soon see how a PC works.

~Tim
-- 
These are the days when you wish            ·······@stirfried.vegetable.org.uk
your bed was already made.                  |http://spodzone.org.uk/cesspit/
From: Joe Marshall
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <oet41spy.fsf@comcast.net>
··@cs.berkeley.edu (Brian Harvey) writes:

> Joe Marshall <···@ccs.neu.edu> writes:
>>  - They should be `computer literate'.
>
> "Stop Saying 'Computer Literacy'!",
> http://www.cs.berkeley.edu/~bh/stop.html

'Computer Literacy', 'Computer Literacy', 'Computer Literacy'....

It was shorthand really for computer comfortableness.  Many people are
intimidated by computers, believe them to be infallible, are afraid to
*use* them as the tools they are.

I find computers to be a fun toy that is far too frequently marred by
broken and useless software and a desire to make things electronic for
no reason whatsoever.  When my computer doesn't do what I want, I
*make* it do it, or I do what I want *without* the computer.  I want
my kids to have that attitude.

-- 
~jrm
From: Brian Harvey
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <bu7u1u$gqg$1@abbenay.CS.Berkeley.EDU>
Joe Marshall <·············@comcast.net> writes:
>'Computer Literacy', 'Computer Literacy', 'Computer Literacy'....
>
>It was shorthand really for computer comfortableness.  Many people are
>intimidated by computers, believe them to be infallible, are afraid to
>*use* them as the tools they are.

It would be nice if your first sentence were true.

I don't know your vital statistics, so perhaps you're too young to remember
the TV ads, for Commodore computers iirc, featuring the proud parents of the
recent high school graduate seeing him off at the train station on his way to
college, and then six months later seeing him slink home with his tail between
his legs because he wasn't ready to hack it in college because they hadn't
bought him a Commodore Pet when he was in high school.  "Comfortableness" was
never the point of the "computer literacy" movement; "terror" is closer to the
mark.

And that's why words matter -- the word "literacy" conjures up the picture of
a sine-qua-non skill, not the picture of a tool (as you say later) to be used
where it's useful and ignored otherwise.

Anyway, it was never the *kids* who were intimidated by computers.  If that
was the point, they should have held the classes in adult school.

ObLisp:  "Computer literacy" : literacy :: COBOL : Lisp
From: Joe Marshall
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <k73s1a0z.fsf@comcast.net>
··@cs.berkeley.edu (Brian Harvey) writes:

> Joe Marshall <·············@comcast.net> writes:
>>'Computer Literacy', 'Computer Literacy', 'Computer Literacy'....
>>
>>It was shorthand really for computer comfortableness.  Many people are
>>intimidated by computers, believe them to be infallible, are afraid to
>>*use* them as the tools they are.
>
> It would be nice if your first sentence were true.

How about ``I used the phrase with the *intention* of it being
shorthand for computer comfortableness.''

> I don't know your vital statistics,  so perhaps you're too young to remember
> the TV ads, for Commodore computers iirc, featuring the proud parents of the
> recent high school graduate seeing him off at the train station on his way to
> college, and then six months later seeing him slink home with his tail between
> his legs because he wasn't ready to hack it in college because they hadn't
> bought him a Commodore Pet when he was in high school.  "Comfortableness" was
> never the point of the "computer literacy" movement; "terror" is closer to the
> mark.
>
> And that's why words matter -- the word "literacy" conjures up the picture of
> a sine-qua-non skill, not the picture of a tool (as you say later) to be used
> where it's useful and ignored otherwise.

I agree with you that `computer literacy' in terms of a `movement' has
nothing to do with actually using computers and everything to do with
marketing.  But what term would you prefer?  If someone tells me that
their kid is `computer literate', I don't expect that they have taken
a Microsoft Certified course in EXCEL, but rather that given a CD-ROM
and computer, they could install and run the software on it without
having a sysadmin around.


-- 
~jrm
From: Bruce Lewis
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <nm93cagq9m5.fsf@buzzword-bingo.mit.edu>
Joe Marshall <···@ccs.neu.edu> writes:

> The primary drawbacks of Lisp are these:
> 
>   - No whiz-bang graphics right out of the box.  When I was in college
>     I thought that symbolic differentiation was the greatest thing
>     since sliced bread.  I have a feeling that my daughter will find
>     it somewhat less inspiring.
> 
>   - Not easy to share the results.  Trading with friends is good
>     inducement for hacking.
[...]

Wouldn't web-page generation solve those first two problems?  They could
show off their web site to friends.  And web pages can be about any
subject your kids are interested in.
From: ····@pobox.com
Subject: Re: Programming languages for the very young
Date: 
Message-ID: <7eb8ac3e.0401162054.39a442fa@posting.google.com>
Cited from the personal history of a father of Logic Programming:
http://www-lp.doc.ic.ac.uk/UserPages/staff/rak/history.html

> In 1978 I started a course of logic lessons for 12 year old children at my
> daughters' middle school. We solved logic problems in Prolog on the
> Departmental computer, using a pay phone connection. The connection would be
> lost whenever our coins ran out.
That is a dedication!

> Once we demonstrated the feasibility of teaching logic to children, I
> succeeded in getting support from the Science Research Council to
> develop microProlog, a microprocessor implementation of Prolog,
> for use in schools. The project employed Frank McCabe to do
> the implementation and Richard Ennals to develop
> and test the teaching materials.
From: Alan Crowe
Subject: Re: Programming languages for the very young [Was: Logo as an alternative to Python?]
Date: 
Message-ID: <86zncpfso4.fsf@cawtech.freeserve.co.uk>
A friend's 11 and 12 year old boys had a lot of fun with
Game Maker 5

http://www.cs.uu.nl/people/markov/gmaker/

It has a drag and drop interface for configuring objects to
create a game. You can also put in snippets of code, but I
found the interface to that confusing. Not the ultimate
answer, but it does address the question of why would the
child want to write programs at all.

Alan Crowe
Edinburgh
Scotland
From: David Golden
Subject: Re: Programming languages for the very young [Was: Logo as an alternative to Python?]
Date: 
Message-ID: <pIDNb.5531$HR.10890@news.indigo.ie>
Either I'm missing articles, or no one has actually mentioned squeak in this
thread (it's been mentioned in completely different thread about GUI
differences). Since it sees widest use as a programming environment for
schoolkids, I figure it should be thrown in.

http://squeakland.org/ shows squeak being used for teaching programming to
kids, and it's lots of fun.  If only it had lisp underneath instead of
smalltalk :-)
From: David Golden
Subject: Re: Logo as an alternative to Python?
Date: 
Message-ID: <XHCMb.4911$HR.9695@news.indigo.ie>
·······@noshpam.lbl.government wrote:

> Hello,
> 
> I remember reading some postings on comp.lang.scheme about some people
> coming up with a dialect of Scheme that would use indentation to
> replace parentheses.

There is/was Sugar. It's a pretty small change to scheme syntax, really -
everything's still prefix, it's just indentation and a "group" keyword take
the place of parens.

http://redhog.org/Projects/Programming/Current/Sugar/

define
 fac x
 if
  = x 0
  1
  * x
    fac
     - x 1
From: Michele Simionato
Subject: Re: Logo as an alternative to Python?
Date: 
Message-ID: <95aa1afa.0401130110.48335137@posting.google.com>
·······@noshpam.lbl.government wrote in message news:<········································@thar.lbl.gov>...
> Hello,
> 
> I remember reading some postings on comp.lang.scheme about some people
> coming up with a dialect of Scheme that would use indentation to
> replace parentheses. 

Often I don't have a machine with emacs installed and I cannot
install it or I don't want to install it. For this reason, I have thought 
of a number of ways to contain the number of parens in Scheme, just to
be able to use poor man editors.
My first implemented solution was a preprocessor to convert indentation 
in parentheses (there are many of those solutions already available in
the literature). However, I was unsatisfied with that solution, because:

1) an external tool (the proprecessor) was needed;
2) I couldn't easily mix normal code and indented code;
3) even significant identation needs some support from the editor.

It is easier to write indented code in notepad than parenthesized
code: but it not THAT easier, especially if you have to reindent
by hand entire blocks of code. Also, significant indentation has
his own drawbacks (try to cut&paste indented code from an e-mail
message or a web page).

So, here comes my second solution: a parenthesis-supplier macro.
This solution avoids all the drawbacks listed before. Let me give an
example:

(>>> ; valid Scheme code with less parens
 
 ; the evergreen factorial
 (define (fac x) :
   if (= x 0) 1 : * x : fac : - x 1)

 (print : fac 10)

)

The ">>>" macro converts the previous code to

 (define (fac x)
   (if (= x 0) 1 ( * x ( fac ( - x 1)))))

 (print (fac 10))

The rules is: at each colon, open a parens; all the parens will be
automatically closed at the end of the expression. So, I don't need
to count how many parens to close at the end of the factorial.

Each colon saves two parens, so the first version of the script
save 10 parens, and the total number of parens decreases from
18 to 8. Quite a large saving. Statistics on my code using
this trick says that I am saving parens even with respect to
Python! And this is pure valid Scheme code. So it is not true
that you necessarily needs lots of parens. The colon notation
needs some time to get accustomed, but it is no more difficult
to read than the parenthezed version, and it is much easier to
write. I can mix colons and regular parens as I wish.
Plus, it is easy to restore all the parens, if I want to.

So, I am quite happy with this trick. Here is the implementation:
it requires "fold-right" found in srfi-1; I tested it with Chicken,
my Scheme implementation of choice :-)

(require 'srfi-1) ; needs fold-right

(define (colons->parens ls)

  (define (consumer el ls)
    (cond
     ((and (list? el) (not (null? el))) (cons (colons->parens el) ls))
     ((eq? el ':) (list ls))
     (else (cons el ls))))

  (fold-right consumer '() ls))

(define-macro (>>> . code-list)
  (colons->parens (cons 'begin code-list)))
From: Gareth McCaughan
Subject: Re: Logo as an alternative to Python?
Date: 
Message-ID: <873caiqduf.fsf@g.mccaughan.ntlworld.com>
[Posted only to comp.lang.lisp; I don't read the others, and
I think it would be rude for me to write where I don't read.]

Tomer Altman wrote:

> I remember reading some postings on comp.lang.scheme about some people
> coming up with a dialect of Scheme that would use indentation to
> replace parentheses. This grew out of some discussion on Python. I
> hadn't ever used Python, so I took a look at some sample code on Peter
> Norvig's webpage. That's when it hit me: it looked just like the Logo
> code I had to use in UC Berkeley's CS 61A!
> 
> So I started doing some light reading on Logo. Wikipedia even
> describes it as "Scheme without parentheses". 
> 
> So, given suitable libraries for POSIX functionality, could Logo be
> very similar to Python? Even replace it when necessary?

Not really an answer to your question (others have done that),
but on the subject the thread has mutated into, namely teaching
programming to children:

  - I have seen considerable success with Python for children
    aged 13-ish.

  - If I were teaching a much younger child about computing,
    I'd be strongly inclined to teach them some sort of Lisp.
    Especially with an unusually bright child.

Older children will already be somewhat used to infix notation
and maybe "f(...)" for function application, from mathematics
lessons in school. Probably best to build on that. Younger ones
won't be so much so, so they might as well be taught the superior
prefix notation straight off :-).

One important question is: how motivated are the children by
programming itself? If the answer is "not very" then it may
be best to show them something that lets them make pretty
pictures or weird noises. (I've used Python with some little
libraries designed to offer something a bit like the experience
of the old micros with simple graphics and sound built into
their BASICs -- the BBC micro[1], ZX Spectrum[1], etc.) But
if they grasp how interesting the phenomenon of computation
*itself* can be, they'll enjoy learning Lisp even if they
don't *have* a computer to experiment with.


[1] Those were both quite big in the UK when I was a
    teenager. I'm not sure what the corresponding machines
    were in, say, the US or Norway.

-- 
Gareth McCaughan
.sig under construc