🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.lang.python
24 messages
24 total messages Started by Kirby Urner Mon, 18 Dec 2000 22:07
Re: Python in "math through programming" curriculum
#9
Author: Kirby Urner
Date: Mon, 18 Dec 2000 22:07
123 lines
5874 bytes
Repost from edu-sig@python.org elist -- one typo/URL fixed.

=============================

List-Archive: <http://www.python.org/pipermail/edu-sig/>
Date: Mon, 18 Dec 2000 01:08:01 -0800


I've upgraded http://www.inetarena.com/~pdx4d/ocn/clubhouse.html 
to include some RSA stuff.  I think that page is finally 
close to done and I plan to give it a rest.[1]

In exploring the web for relevant input, it became clear 
to me that I'm venturing in territory typically covered 
in college computer science courses.  

That doesn't need to change, but I remain persuaded that 
by adopting a "computer at your elbow" approach to math 
teaching, we could have a lot more segues between K-12 
and what's now considered college-level material.

Awhile back, Tim Peters recommended 'Concrete Mathematics' 
(Knuth a co-author) as a good example of a "math through
programming" text book.  I subsequently bought it, and 
had to agree.  So how do we "lower a ladder" to middle 
and high schoolers starting from there?  I think Python
is part of the answer.

In sum, none of the content I'm covering in my curriculum
writing is really new.  All that I'm doing is wiring up 
the topics in a somewhat different way, changing the mix,
reorganizing the hyperlinks. This is a fairly conservative
approach, in other words.[2]  

However, I think the result could be a much higher level 
of math appreciation for younger students (or for adults 
returning for more), plus better segues into computer 
science, for those wishing to go that route.

>"We have to reinvent the wheel every once in a while,
>not because we need a lot of wheels; but because
>we need a lot of inventors."  - Bruce Joyce
>
>I've always loved that quote (and the book in which I found it,
>for that matter ;-)  so I greatly appreciated these comments
>by Kirby.
>
>jeff

That's a great quote jeff, hadn't seen it before.  Thanks
for posting it.

Kirby

Notes:

[1]

The Miller-Rabin stuff was confusing because I think some 
web authors don't communicate it properly.  Fortunately, 
Knuth includes it in 'The Art of Programming' vol 2 (took
me awhile to realize that) and his Algorithm P on pg. 395
seems pretty clear -- helped me streamline the gist of the
test:

Given candidate prime n, random base b < n, and m,s such 
that m*(2**s) = n-1:

  def algP(m,s,b,n):
      """
      based on Algorithm P in Donald Knuth's 'Art of
      Computer Programming' v.2 pg. 395 
      """
      result = 0
      y = pow(b,m,n)
      for j in range(s):
         if (y==1 and j==0) or (y==n-1):
            result = 1
            break
         y = pow(y,2,n)
      return result

If this spits back a 1, your candidate n passes the test 
for base b.  The idea is to test a number of random bases 
(except I go with low primes in sequence, as per Paul 
Emerson's thesis, an OK alternative, yes?) -- the more 
bases you test, the higher chance a number still passing 
is prime; with the chance of being wrong equal to 
(1./4)**(number of tests) -- gets small quickly.

Anyway, the above source is quite a bit more succinct 
than before.

[2]  

Probably the one thing I include that's controversial is 
mention of Bucky Fuller's concentric hierarchy of polyhedra
-- a way of scaling/organizing common polys which brings 
out some whole-number relationships and morph-relationships
which geometers haven't traditionally focussed on (even 
though they've always been there).  I think Fuller's 
approach is a pedagogic advance and makes polys more 
friendly to younger people (a thesis I've empirically 
tested in the field, with good results).  Plus it phases
in sphere packing in tandem with the polys, and that's
highly useful as well.  (Note:  Alexander Graham Bell was
also obsessed with the tetrahedron, not just Bucky).

With more polyhedra earlier in the curriculum, we have 
more opportunities to use them later (say in high school)
as objects subjected to transformations (scaling, translation,
rotation), using object-oriented programming techniques. 
Lots of intro-to-OOP books use polygons as example objects,
(e.g. triangle as a subclass of polygon), but I'd go with 
full-fledged polyhedra instead (e.g. tetrahedron as a 
subclass of polyhedron).  With polyhedra, your Python can 
be about manipulating 3-tuple vectors (x,y,z), not just 
planar (x,y) vectors, and the graphics/animations will 
be far more interesting.  Plus you might want to explore 
with quadrays -- another wrinkle/feature in my curriculum 
writing: see http://www.teleport.com/~pdx4d/quadrays.html 
for more info.
Re: Python in "math through programming" curriculum
#10
Author: Clifford J. Nelson
Date: Tue, 19 Dec 2000 05:54
35 lines
2366 bytes

Kirby Urner wrote:
> 
> Repost from edu-sig@python.org elist -- one typo/URL fixed.
> 
> =============================
> 
> List-Archive: <http://www.python.org/pipermail/edu-sig/>
> Date: Mon, 18 Dec 2000 01:08:01 -0800
> 
[snip]
> 
> Awhile back, Tim Peters recommended 'Concrete Mathematics'
> (Knuth a co-author) as a good example of a "math through
> programming" text book.  I subsequently bought it, and
> had to agree.  So how do we "lower a ladder" to middle
> and high schoolers starting from there?  I think Python
> is part of the answer.
>

I don't think Python should be a standard at all, because of
my experience with it on the Mac. Keep the options open for
computer programming languages.

Here are two:

Clean at: http://www.cs.kun.nl/~clean/

Caml at:  http://pauillac.inria.fr/caml/

Both of those languages are OOP too, and easier to use than Python.

  Cliff Nelson
[snip]
Re: Python in "math through programming" curriculum
#11
Author: Alex Martelli
Date: Tue, 19 Dec 2000 09:24
180 lines
10243 bytes
"Clifford J. Nelson" <cnelson9@gte.net> wrote in message
news:3A3EFF47.67DE69CF@gte.net...
    [snip]
> > Awhile back, Tim Peters recommended 'Concrete Mathematics'
> > (Knuth a co-author) as a good example of a "math through
> > programming" text book.  I subsequently bought it, and
> > had to agree.  So how do we "lower a ladder" to middle
> > and high schoolers starting from there?  I think Python
> > is part of the answer.
>
> I don't think Python should be a standard at all, because of
> my experience with it on the Mac. Keep the options open for
> computer programming languages.

I'm not sure what being 'on the Mac' has to do with it.
Either it's irrelevant, or you're letting platform issues
(e.g., integration with native GUI's) cloud judgment on
_language_ issues.

I'm a "multilanguage GUI" -- I strongly believe that most
software development projects (of any substantial richness
and complexity) are best served by a mixture of different
programming languages, interoperating smoothly in various
components and/or as 'glue' among those components.  Thus,
I'll hardly object to 'keeping the options open' -- indeed,
I believe smooth interoperation between different languages
is a key platform consideration (dunno what Mac has to offer
for it, and I _am_ worried that Linux is weakish in such
multilanguage-oriented infrastructure; MS is leading the
way with their '.NET' initiative, which at low levels is
ALL about multilanguage interop... let's hope it spreads!).

But you won't typically hear arguments against this from ANY
Pythonista -- Python is *ABOUT* "playing well with others"...
*designed* and *implemented* to interoperate, like only a few
other languages; most languages appear to be designed "as if"
they were to be the sole implementation language for a typical
project, with "foreign function interfaces" or the like that
sometimes look as if they were tacked on as an afterthought.
And that may be because many people disagree with my "many
languages are better than one" stance -- they'd much rather
stay monolingual, at least within a given project.


But anyway, it would not make sense to argue _against_
"making a language a standard" in one field, because other
languages may prove better at some different task, or
sub-task.  Standardization offers substantial advantages
('network externalities' in economists' parlance), and
the 'keeping open to other languages' part need not
interfere with such advantages at all.

For the specific task of "teaching some maths to middle
and high schoolers", for example, establishing some sort
of 'standard' language would have enormous benefits; and
the relevant issues are quite different from those that
would affect 'standardization upon one base language' in
other areas.  For example, issues of performance on large
real-world tasks, which are a weak point of Python (and
to a lesser extent, lazy-semantics functional languages
such as Clean and Haskell) in comparison to traditional
lower-lever languages such as C++ (and, to a lesser extent,
non-lazy functional languages, such as ML variants), and
thus provide a good part of the motivation for projects
to use multiple languages, are not all that relevant when
the task at hand is _teaching_.


On the other hand, I think an issue of crucial importance
is 'paradigm choice'.  Some languages espouse a specific
programming paradigm very strongly: it would make little
didactical sense to use C for functional or O-O programming,
for example -- or Haskell for anything BUT (lazy-centered)
functional programming, or Smalltalk (or Java) for anything
BUT O-O programming, &c.

Other languages are multi-paradigm: C++, O'Caml, Python,
just to name three, let you use several paradigms together,
in reasonably smooth ways.  The price of that is typically
_complexity_ -- but Python is an exception... it "reaches
out" to multiple paradigms *through simplicity*.  This,
IMHO, is part of what makes it such an outstanding language
for teaching: you can use it to help students learn to
wrap their minds around programming problems in different
ways, _without_ burdening them with complication, including
"strange" syntax.

People who "know" that the only one "right" way to program
is through a single given paradigm 'X', for any 'X', may
have little interest in Python (or C++ or O'Caml...).  If
X is 'lazy functional programming', then Haskell and Clean
have it covered; if it's 'statically typed object-oriented
programming', Eiffel or Sather; if it's 'dynamical object
oriented programming (single-inheritance)', Smalltalk; and
so on, and so forth (not to be confused with 'so Forth':-).

People who 'know' the very opposite -- that multiple paradigms
widen one's mind, and are typically needed for rich, complex
programming tasks in the 'real world' -- may still be rightly
reluctant to give multi-paradigm exposure to students at the
price of using a rich, composite, complicated language.  But
Python lets you have your paradigms and eat them too...!-)



> Here are two:
>
> Clean at: http://www.cs.kun.nl/~clean/
>
> Caml at:  http://pauillac.inria.fr/caml/
>
> Both of those languages are OOP too, and easier to use than Python.

I dispute both of your claims.  _O'Caml_ (the current dialect)
does have OO (as well as other paradigms: the 'basis' is non-lazy
FP, but OO and laziness can be quite smoothly 'tacked on'), but
'Caml' without the leading 'O' doesn't.  And Clean doesn't even
*claim* any OO-ness -- "The programming language Clean is a general
purpose, state-of-the-art, pure and lazy functional programming
language", states
http://www.cs.kun.nl/~clean/About_Clean/about_clean.html,
and continues "designed for making real-world applications" -- a
key issue: it's NOT designed for ease of learning, most particularly
NOT for ease of learning by somebody not yet steeped in higher
maths!  If a lazy, strongly-typed FP language were to be used as
somebody's first introduction to programming, I think Haskell or
HUGS might prove easier (but I have no real experience in attempting
such teaching tasks); Clean's claimed advantages over Haskell are
centered on performance issues, minor ones in teaching.  OTOH,
practical disadvantages include (last time I looked, at least)
no Linux support; the latest GUI library is currently Windows
only, with a hope to have a Macintosh port -- no Linux plans that
I know of.  This looks like a huge practical handicap to me!

Caml, IMHO, has rather cluttered syntax when compared to Haskell
(or Python!); it only gets worse when the Object-oriented extensions
are also considered.  Admittedly, a minor consideration, but, _for
the specific issue of programming-newbies_, not a negligible one
IMHO.  I consider the full O'Caml language too rich and complex
for an _introduction_ to programming, although, exactly because
it is so big, I guess it could be "subsetted" with some success
(just as those [IMHO] so misguided as to use C++ or Ada for a first
course in programming basically _have_ to subset it heavily to
have any chance -- O'Caml is NOT as huge/complex as C++ or Ada,
so the subsetting would not be as 'heavy' &c, fortunately!).

Again, the advantage of O'Caml vs, say, other more standard ML
variants, is basically one of _performance_ (in fact, Clean might
claim that its superior performance wrt Haskell comes in part
from a 'superior', better-cohesive, underlying conceptual model;
I don't think any O'Caml advocate would claim better conceptual
cohesion that standard ML...), stemming in part from richness.
These are not issues that would recommend the language for the
specific purpose of teaching a programming-introduction course.


In fact, if I _did_ have to base a first course in programming
on a purely-functional language, I think I'd choose Erlang -- not
without some misgivings (Erlang's concurrency model may not be
easy for programming beginners to grasp...!), but I strongly
suspect the dynamic typing model would ease my life as an
instructor, by enough to make the choice worthwhile.  (Scheme,
Lisp, or Dylan would also offer some dynamic typing, of course,
but then, they're not purely functional -- and there are other
issues with their use in didactic settings).

But my Numero Uno choice would still be Python, unless strong
external constraints precluded it.  And I hope I've shown this
is NOT because of a lack of open-mindedness, or interest in
other languages, but rather comes from a wide (if sometimes
not as deep as one would like!) examination of the field --
although I'll freely admit that teaching total beginners,
particularly ones of middle-to-high-school ages, has NOT been
an extensive part of my experience in the programming field,
and so I'll gladly listen to 'domain experts'... at least, if
their experiences extend to two or more languages and paradigms
in ways that make fruitful comparison and contrast feasible!


Alex
Re: Python in "math through programming" curriculum
#13
Author: Fredrik Lundh
Date: Tue, 19 Dec 2000 16:30
21 lines
1963 bytes
Kirby Urner wrote:
> Maybe the Mac people are working on alternatives/enchancements
> to IDLE?  Does anyone have some info on this?

    http://starship.python.net/crew/just/

    "Yes, Guido is my brother"

    "I am the author of the IDE for MacPython. This place
    used to be the download spot for it, but since Python
    1.5.1 it is included in the standard MacPython distribution.
    If you can't find it: it lives in :Mac:Contrib:IDE. Starting
    with MacPython 1.5.2b1 /.../ the IDE is included in the
    distribution with full source code and a Python Style
    License (PSL)."

</F>

<!-- (the eff-bot guide to) the standard python library:
http://www.pythonware.com/people/fredrik/librarybook.htm
-->
Re: Python in "math through programming" curriculum
#12
Author: Kirby Urner
Date: Tue, 19 Dec 2000 16:33
35 lines
2651 bytes
"Clifford J. Nelson" <cnelson9@gte.net> wrote:

>I don't think Python should be a standard at all, because of
>my experience with it on the Mac. Keep the options open for
>computer programming languages.
>

Keeping options open is fine (using Python to open doors
to other languages is a good way to go as well).  I don't
use Python for much of my programming work, but as one 
who used to write 8th grade level "math through programming" 
stuff for McGraw-Hill in the 1980s (using BASIC and Logo), 
I can say without a doubt that Python would have been 
pure gold for us.

Python on the Mac was disappointing for me for the brief
30 minutes I tried it.  IDLE is a great learning environment
and on Windows and Linux is in color, but on the Mac seemed 
to be all one color.  Was I missing a setting?  Maybe the Mac
people are working on alternatives/enchancements to IDLE?
Does anyone have some info on this?

>Both of those languages are OOP too, and easier to use than Python.
>

How much personal experience to you have with all three,
or are you reporting the assessments of others?  Do you have
a website where you show your work, review your experiences?  
I'm not sure I need to attach much weight to any of your 
opinions.  Others around here (such as the previous respondant 
to your post) seem to know a great deal more about these 
languages than you do, and I've never seen you post anything 
that suggests you've done much with Python, either.

Kirby
Re: Python in "math through programming" curriculum
#14
Author: Kirby Urner
Date: Tue, 19 Dec 2000 18:18
42 lines
2786 bytes
"Fredrik Lundh" <fredrik@effbot.org> wrote:

>Kirby Urner wrote:
>> Maybe the Mac people are working on alternatives/enchancements
>> to IDLE?  Does anyone have some info on this?
>
>    http://starship.python.net/crew/just/
>
>    "Yes, Guido is my brother"
>
>    "I am the author of the IDE for MacPython. This place
>    used to be the download spot for it, but since Python
>    1.5.1 it is included in the standard MacPython distribution.
>    If you can't find it: it lives in :Mac:Contrib:IDE. Starting
>    with MacPython 1.5.2b1 /.../ the IDE is included in the
>    distribution with full source code and a Python Style
>    License (PSL)."
>
></F>

Yes, when I installed Python 1.x for the iMac at my daughter's
school, it came with IDLE and I used IDLE after installing it.

But the key words didn't seem to be color coded, i.e. when 
I typed 'import x', the word 'import' did not automatically 
turn orange (or any other color).  This detracted from the 
kid-friendliness of the interface.  Especially when coding 
modules, you want color-coded key words, as per what any 
high-end programming editor provides.

My question is:  did I miss something, e.g. some setting, 
in the IDLE interface? and/or does Macworld offer alternative
GUI IDEs for Python, e.g. in the Windows world there are 
several?

><!-- (the eff-bot guide to) the standard python library:
>http://www.pythonware.com/people/fredrik/librarybook.htm
>-->

Have it, use it.

Kirby
Re: Python in "math through programming" curriculum
#15
Author: Clifford J. Nelson
Date: Tue, 19 Dec 2000 20:03
20 lines
1921 bytes

Kirby Urner wrote:
> 
> "Clifford J. Nelson" <cnelson9@gte.net> wrote:
> 
> >I don't think Python should be a standard at all, because of
> >my experience with it on the Mac. Keep the options open for
> >computer programming languages.
> >

> I'm not sure I need to attach much weight to any of your
> opinions.  ...
> 
> Kirby

I'm sure I don't attach ANY weight to any of your opinions.
I've seen your web sites about Synergetics and programming!

  Cliff Nelson
Re: Python in "math through programming" curriculum
#16
Author: Fredrik Lundh
Date: Tue, 19 Dec 2000 20:08
8 lines
1446 bytes
Clifford J. Nelson wrote:
> I'm sure I don't attach ANY weight to any of your opinions.
> I've seen your web sites about Synergetics and programming!

clifford, please keep your personal problems off
comp.lang.python.

</F>
Re: Python in "math through programming" curriculum
#17
Author: Kirby Urner
Date: Tue, 19 Dec 2000 21:06
20 lines
1865 bytes
"Clifford J. Nelson" <cnelson9@gte.net> wrote:

>I'm sure I don't attach ANY weight to any of your opinions.

Ooooo, touchy touchy...

>I've seen your web sites about Synergetics and programming!
>
>  Cliff Nelson

For the curious, that's:
http://www.inetarena.com/~pdx4d/ocn/numeracy0.html and
http://www.teleport.com/~pdx4d/synhome.html

Anyhow, enough people do (attach weight) that I can easily 
afford to discount your negative assessment -- it's a 
selling point in fact, that this Cliff Nelson character 
(whoever he is) doesn't like my green eggs and ham.

Kirby
Re: Python in "math through programming" curriculum
#18
Author: Neelakantan Krishnaswami
Date: Wed, 20 Dec 2000 00:17
47 lines
3659 bytes
On Tue, 19 Dec 2000 10:24:56 +0100, Alex Martelli <aleaxit@yahoo.com> wrote:
>
> People who 'know' the very opposite -- that multiple paradigms widen
> one's mind, and are typically needed for rich, complex programming
> tasks in the 'real world' -- may still be rightly reluctant to give
> multi-paradigm exposure to students at the price of using a rich,
> composite, complicated language.  But Python lets you have your
> paradigms and eat them too...!-)

I disagree with you here about Python's appropriateness. Conceptually,
the strongly typed FPLs are the best languages there are for learning
about the mathematics of computer programming. The combination of
declaring algebraic datatypes and using pattern-matching to describe
functions is a brilliant leap forward, because it makes the
mathematical structure of the program very very explicit. (This is
amazingly apparent if you try to write an interpreter in ML.)

Python is weak in this regard because it makes sum types rather hard
to use: one must declare a set of classes and then give them all the
appropriate methods. This is rather scattered, and when you have
mutually recursive datatypes the relationships become much harder to
see. It's much better than C, or even Java, but still rather awkward
vis-a-vis any of the FPLs.

> Caml, IMHO, has rather cluttered syntax when compared to Haskell (or
> Python!); it only gets worse when the Object-oriented extensions are
> also considered.  Admittedly, a minor consideration, but, _for the
> specific issue of programming-newbies_, not a negligible one IMHO.

This is the *big* weakness of the ML-family languages (including
Haskell and Clean): they all have gnarly syntaxes. Python is proof
that a simple syntax is extremely important; it has essentially the
same semantics as Perl, yet I would gnaw off my arm to escape
programming in Perl and quite enjoy programming in Python. Random
syntactic clutter is really bad for novices; their brains are fully
occupied with the ideas, and trivia like the distinction between "and"
vs. "andalso" and when you should parenthesize expressions will only
distract them and make their lives harder. (Both are real examples
from SML.)

I think that if someone were interested in designing a beginner's
language, a Hindley-Milner typed FPL with a simple syntax (could be
parsed with an LL(1) grammar, say) would be a rather good target to
aim for. Python wins big in this category, of course. 


Neel
Re: Python in "math through programming" curriculum
#19
Author: Kirby Urner
Date: Wed, 20 Dec 2000 01:13
31 lines
2594 bytes
neelk@alum.mit.edu (Neelakantan Krishnaswami) wrote:

>I disagree with you here about Python's appropriateness. Conceptually,
>the strongly typed FPLs are the best languages there are for learning
>about the mathematics of computer programming.

It could be there's a difference in emphasis here.  My 
curriculum writing features Python as a useful tool 
for exploring math concepts generally, not the mathematics
of computer programming specifically.  We're more 
interested in regular calculus than lambda calculus.

In a lot of ways, this is simply about rescuing kids
from the clutches of the calculator freaks and giving
them a real computer language to play with.  You have
all these schools with fancy computers, but in math
class it's all graphing calculators, with computers
regarded as alien to the subject.

I've dinked around with Haskell some, but haven't 
seen anything specifically geared for 8th graders 
(say).  I think Python's chief competitor for right
now might be DrScheme, as the Rice University folks
have put enormous effort into coming up with 
supporting curriculum materials.  On the other hand,
the emphasis there also seems to be on computer 
math in particular, not so much garden variety 
math math (not that there's always a sharp 
distinction of course).

Kirby
Re: Python in "math through programming" curriculum
#20
Author: Clifford J. Nelson
Date: Wed, 20 Dec 2000 02:09
35 lines
2730 bytes

Fredrik Lundh wrote:
> 
> Clifford J. Nelson wrote:
> > I'm sure I don't attach ANY weight to any of your opinions.
> > I've seen your web sites about Synergetics and programming!
> 
> clifford, please keep your personal problems off
> comp.lang.python.
> 
> </F>

You're right. I take it personally when Bucky Fuller's
Synergetics (see 1) is made to seem like some far out
religion, by Kirby Urner or anyone else, or when computer
programming in a language (Python) that can't apparently
help itself well enough to use it to make a good interactive
programming environment for the Mac, is promoted over much
easier languages, like Clean (see 2) or Object Caml 3.0 (see
3) or even the hard to learn J programming language (see 4).

All of those languages are garbage compared to Mathematica
of course because programming (OOP) is all just really
pattern matching and replacement (see 5), but they're free
and they work on both the Mac and Windows, so they are worth
looking at.

1) http://www.rwgrayprojects.com/synergetics/synergetics.html
2) http://www.deene.ufu.br/clean/clean1.html
3) http://pauillac.inria.fr/caml/
4) http://www.jsoftware.com/
5) http://www.stephenwolfram.com/publications/talks/IMS/imstalk.html

  Cliff Nelson
Re: Python in "math through programming" curriculum
#21
Author: Alex Martelli
Date: Wed, 20 Dec 2000 12:52
67 lines
3923 bytes
"Neelakantan Krishnaswami" <neelk@alum.mit.edu> wrote in message
news:slrn9402bt.fa6.neelk@alum.mit.edu...
    [snip]
> I disagree with you here about Python's appropriateness. Conceptually,
> the strongly typed FPLs are the best languages there are for learning
> about the mathematics of computer programming. The combination of

I wouldn't consider anything but Haskell if I were to teach "the
mathematics of computer programming" (that may be because my
exposure to Clean is too limited) stricto sensu (there's a lot
of math, connected to computer programming -- see all of Knuth's
'Art of Computer Programming' -- that is not the math OF computer
programming... Python, and a RISC machine language, would be good
for _that_!-).

But "math through programming" is a completely different issue,
at least as the original poster meant it (as he explained in a
followup to this post of yours) and as I took it -- middle and
high school levels, as he had said!  I would *NOT* introduce
Haskell in middle school, and even for high school, I have my
doubts -- students would have to have strong *previous* exposure
to mathematical concepts, AND to computer programming; few high
schools, I suspect, are good enough for that.


> > Caml, IMHO, has rather cluttered syntax when compared to Haskell (or
> > Python!); it only gets worse when the Object-oriented extensions are
> > also considered.  Admittedly, a minor consideration, but, _for the
> > specific issue of programming-newbies_, not a negligible one IMHO.
>
> This is the *big* weakness of the ML-family languages (including
> Haskell and Clean): they all have gnarly syntaxes. Python is proof

Haskell's syntax is *lovely*!  How can you class it in "the ML
family"?  [Again, I don't know enough Clean to have a real opinion
about it].

> that a simple syntax is extremely important; it has essentially the
> same semantics as Perl, yet I would gnaw off my arm to escape
> programming in Perl and quite enjoy programming in Python. Random

Oh, I fully agree on this one.  But, *Haskell*?!

Consider list comprehensions, for example.

In Haskell:

    [(x,y) | x <- [0,1,2], y <- [0,1], x > y]

in Python:

    [(x,y) for x in [0,1,2] for y in [0,1] if x > y]

Sure, Python is using more keywords ('for', 'in', 'if') where
Haskell uses punctuation ('|', '<-', ','), but surely that is
a _very_ surface issue -- and the end result could be argued
either way (I think somebody familiar with common mathematic
notation for sets might well find the Haskell case clearer!).

Python and Haskell also share such syntax elements as the
significance of whitespace ('offsides rule' in Haskell),
which lets one express many things unclutteredly.

What specific objections do you have to Haskell syntax...?


Alex
Re: Python in "math through programming" curriculum
#22
Author: David C. Ullrich
Date: Wed, 20 Dec 2000 15:15
33 lines
2057 bytes
In article <CeP%5.521$AH6.45315@newsc.telia.net>,
  "Fredrik Lundh" <fredrik@effbot.org> wrote:
> Clifford J. Nelson wrote:
> > I'm sure I don't attach ANY weight to any of your opinions.
> > I've seen your web sites about Synergetics and programming!
>
> clifford, please keep your personal problems off
> comp.lang.python.

If you're gonna referee these things you should try to be
impartial. Looks to me like the other guy was the one
who started the discussion of persons as opposed to issues:

>> I'm not sure I need to attach much weight to any of your
>> opinions.  ...
>>
>> Kirby

> I'm sure I don't attach ANY weight to any of your opinions.
> I've seen your web sites about Synergetics and programming!
>
>   Cliff Nelson

> </F>
>
>

--
Oh, dejanews lets you add a sig - that's useful...


Sent via Deja.com
http://www.deja.com/
Re: Python in "math through programming" curriculum
#23
Author: Kirby Urner
Date: Wed, 20 Dec 2000 18:36
109 lines
6442 bytes
Cliff --

It's fine to have a difference of opinion regarding what
computer languages to use for what purposes e.g. w/ 
regard to 8th grade math learning.  I have no experience
with the languages you mention (except some with 
Mathematica) and am quite willing to accept that 
brilliant and appropriate curriculum writing for 
K-12ers might incorporate them -- I just haven't seen
a lot of that yet and was wondering if you'd done any
yourself.

The only point of my earlier question was to inquire as
to how much personal experience you have with the 
languages you mention (I know you've used Mathematica
and Ada), and to encourage you to share from personal
experience, as that's what tends to be more valuable.
Anyone can read web pages hyping this or that language,
but only through actual use and experimentation to we
put ourselves in a position to form personal judgements.

I am quite happy to attach weight to your opinions IF 
you have some hands-on experience to share.  Just saying
that these languages are worth considering because 
they're free (vs. Mathematica) isn't sufficient data 
on which to base judgements IMO.  Relative cost is 
just one of a great many criteria we need to consider,
and not necessarily the most important one.  QBASIC is
free on most DOS machines yet I wouldn't recommend it
as a first language in this day and age.

I agreed with you that the Mac implementation of IDLE
might be rather disappointing, have asked for more 
feedback on whether it really lacks color coding of 
keywords.  The high school I'm aware of which so far
does the most with Python (Yorktown High in Arlington
VA) is Linux-based.  I'm wondering if Macworld, which
is what many schools have invested in, is going to 
end up being somewhat incompatible with Pythonworld,
at least at the K-12 level. I don't actually know enough
to have an answer to that question, which is why I'm 
asking it.

I don't think you should fly off the handle just 
because I prodded you to share from personal experience
about the claims you're making for this or that 
computer language over Python.  I think to discuss
this issue intelligently, you should have more to 
say than a few negative words about using it on a
Mac, without any specificity.  Now you're echoing my
own critique re the IDLE interface, but I'm the one 
who brought that up, from my own personal experience
installing it at my daughter's school after downloading
it over the internet.  Did you have the same complaint?
Did you know that IDLE had color-coded key words on 
these other platforms?  So have you written programs
in Python on these other platforms then?  What did 
you think of it, compared to what you've done with
Clean?  All I was asking was for more details.

Those who study my website will see I've put a lot 
of work into curriculum writing that features Python.
Plus I'm a long time student of the philosophy you 
mention (synergetics) and I have my own take on it,
which I share via my websites.  You're quite free to 
offer your criticisms and negative comments, obviously
(you do it a lot), but the question naturally arises 
as to what you would offer the world in place of what 
I've contributed.  In the so-called free market, to 
compete is to have an alternative, better product, and 
to advertise its compelling advantages.  

In your case, I'm not aware of any alternative product, 
just the negative comments, plus some Mathematica 
worksheets which are not even attempting to interpret
that whole philosophy.  So again, rather than indulge
in negative comments, how about you advertise your 
own positive contributions, i.e. your own curriculum 
writing making use of these other computer languages
you've been posting about (the DrScheme team has 
certainly set a high standard, with their high quality
materials).  

Tell us specifically what's wrong with Python from 
your own experience -- because even if the IDLE GUI 
isn't as fully developed for the Mac as it is for 
other platforms (something I'm asking about -- I don't 
know for absolute certainty), this is a rather 
superficial shortcoming that might be addressed 
(may have to do with limitations of Tk on the Mac?).  
You should be more specific, and not so quick to get 
emotional as a substitute for dealing with substance.

I apologize if saying I wasn't sure if I should 
attach any weight to your opinions was so incredibly
insulting that you had to flame, but on the other 
hand I don't think you should just assume that you 
can wade into whatever debates you see on whatever 
topic and just assume that you'll be taken seriously
no matter what.  You have to do the homework.  If 
you've done it, no problem, share your results.  If
you haven't, how about a little honesty on that score?
-- that would goes a long way towards giving people 
a better sense of what you DO have well-informed 
opinions about.  I'm quite willing to accept that 
you're more than a loudmouthed know-nothing.  I'm 
giving you the benefit of the doubt.

Kirby
Re: Python in "math through programming" curriculum
#24
Author: Kirby Urner
Date: Wed, 20 Dec 2000 21:04
58 lines
3552 bytes
"Clifford J. Nelson" <cnelson9@gte.net> wrote:

>I don't think Python should be a standard at all, because of
>my experience with it on the Mac. Keep the options open for
>computer programming languages.
>
>Here are two:
>
>Clean at: http://www.cs.kun.nl/~clean/

I went to this website.  It doesn't work for the Mac at all --
Windows only.  So what's your beef with Python on the Mac?  
At least it exists for the Mac.

Also:  "Allthough Clean is not easy to learn (it's very 
different from imperative languages, such as Pascal and C), 
once you can program in Clean, you can easily create games 
with the Clean Game Library."

Do you think this emphasis on game programming is better
than my "math through programming" approach?  It seems to
me that writing games is (a) a rather specialized goal
(vs. learning generic math ideas) and (b) a domain in 
which it's difficult to compete with already-existing 
commercial products (i.e. if your goal is to become a
game programmer, vs. competent in basic math, you have a 
long road ahead of you).

That being said, I'm intrigued by Clean and might tackle
it.  This looks like a more user-friendly environment for
kids than Hugs (a free Haskell).

>Caml at:  http://pauillac.inria.fr/caml/
>
>Both of those languages are OOP too, and easier to use than Python.

What do you base this "easier to use" verdict on?  Personal
experience (see below)?  I've been studying the docs and 
don't, off hand, see anything to suggest that either Caml
or Clean are "easier" than Python.  The websites in question
make no such claims, that I can find.

Your post doesn't make it clear the Caml is actually a 
"dialect of ML".

To me, OCaml looks like a research language for computer 
science majors to study, not a "first language" for 8th 
graders (see my initial post to this thread).  You'd have
to make some pretty persuasive arguments for me to want to
switch gears and do my curriculum writing in such a language.
So far, you've offered none.

My guess is you've done approximately zero using any of
the languages under discussion (Python, Clean, Caml).  If
I'm wrong, I hope you will show me otherwise.  I don't
have a lot of time for completely uninformed discussion.

Kirby
Re: Python in "math through programming" curriculum
#25
Author: Clifford J. Nelson
Date: Wed, 20 Dec 2000 22:30
70 lines
4249 bytes

Kirby Urner wrote:
> 
> "Clifford J. Nelson" <cnelson9@gte.net> wrote:
> 
> >I don't think Python should be a standard at all, because of
> >my experience with it on the Mac. Keep the options open for
> >computer programming languages.
> >
> >Here are two:
> >
> >Clean at: http://www.cs.kun.nl/~clean/
> 
> I went to this website.  It doesn't work for the Mac at all --
> Windows only.  So what's your beef with Python on the Mac?
> At least it exists for the Mac.

That's why I don't attach ANY weight to what you write!
Clean used to be a "Mac first product", and Version 1.3.x
soon to be updated to Version 2.0 runs on the Mac. You would
know that it runs on the Mac if you could just read.

> Also:  "Allthough Clean is not easy to learn (it's very
> different from imperative languages, such as Pascal and C),
> once you can program in Clean, you can easily create games
> with the Clean Game Library."
> 
> Do you think this emphasis on game programming is better
> than my "math through programming" approach?  It seems to
> me that writing games is (a) a rather specialized goal
> (vs. learning generic math ideas) and (b) a domain in
> which it's difficult to compete with already-existing
> commercial products (i.e. if your goal is to become a
> game programmer, vs. competent in basic math, you have a
> long road ahead of you).
> 
[snip]
I take it personally when Bucky Fuller's Synergetics (see 1)
is made to seem like some far out religion, by you Kirby
Urner, or anyone else, or when computer programming in a
language (Python) that can't apparently help itself well
enough to use it to make a good interactive programming
environment for the Mac, is promoted over much easier
languages, like Clean (see 2) or Object Caml 3.0 (see 3) or
even the hard to learn J programming language (see 4).

All of those languages (including Python) are garbage
compared to Mathematica of course, because programming (OOP)
is all just really pattern matching and replacement (see 5),
but they're free and they work on both the Mac and Windows,
so they are worth looking at.

1) http://www.rwgrayprojects.com/synergetics/synergetics.html
2) http://www.deene.ufu.br/clean/clean1.html
3) http://pauillac.inria.fr/caml/
4) http://www.jsoftware.com/
5) http://www.stephenwolfram.com/publications/talks/IMS/imstalk.html

> 
> My guess is you've done approximately zero using any of
> the languages under discussion (Python, Clean, Caml).  If
> I'm wrong, I hope you will show me otherwise.  I don't
> have a lot of time for completely uninformed discussion.
> 
> Kirby

You could inform yourself, if you could only read.

  Cliff Nelson
Re: Python in "math through programming" curriculum
#26
Author: Neelakantan Krishnaswami
Date: Thu, 21 Dec 2000 00:33
84 lines
5244 bytes
On Wed, 20 Dec 2000 13:52:53 +0100, Alex Martelli <aleaxit@yahoo.com> wrote:
>"Neelakantan Krishnaswami" <neelk@alum.mit.edu> wrote in message
>news:slrn9402bt.fa6.neelk@alum.mit.edu...
>    [snip]
>> I disagree with you here about Python's appropriateness. Conceptually,
>> the strongly typed FPLs are the best languages there are for learning
>> about the mathematics of computer programming. The combination of
>
> I wouldn't consider anything but Haskell if I were to teach "the
> mathematics of computer programming" (that may be because my
> exposure to Clean is too limited) stricto sensu [...].
>
> But "math through programming" is a completely different issue,
> at least as the original poster meant it (as he explained in a
> followup to this post of yours) and as I took it -- middle and
> high school levels, as he had said!  

Yes -- the reference to Knuth's _Concrete Mathematics_ made me think
that an introduction to CS was envisioned. For things like graphing
and statistics, there's no reason not to use Python, since it has good
graphing and statistical libraries. Static typechecking doesn't help
here, I don't think, and in Haskell's case it becomes a positive
nuisance (because of all the IO).

> I would *NOT* introduce Haskell in middle school, and even for high
> school, I have my doubts -- students would have to have strong
> *previous* exposure to mathematical concepts, AND to computer
> programming; few high schools, I suspect, are good enough for that.

I do think a typed FPL would work at the high school level, once the
kids have gotten exposed to algebra (for the idea of functions) and
geometry (for the idea of proofs). Then Haskell could be used as a way
of teaching them how to write proofs. It has the two great advantage
that proofs are programs, and hence executable and testable, and that
it has type-checking to help catch errors in them. Call it
experimental constructive mathematics. :)

You would definitely want to improve the quality of the error messages
these implementation emit though. An adult programmer would find them
feasible to work through, but something like

ERROR: Type error in application
*** Expression     : foldr (*) 1 take n (enumFrom 1)
*** Term           : take
*** Type           : Int -> [b] -> [b]
*** Does not match : [a]

will not help a ninth-grader figure out she needs to add some parens
and write "foldr (*) 1 (take n (enumFrom 1))" to compute the factorial.
And this is a very good error message, compared with most!

>> > Caml, IMHO, has rather cluttered syntax when compared to Haskell (or
>> > Python!); it only gets worse when the Object-oriented extensions are
>> > also considered.  Admittedly, a minor consideration, but, _for the
>> > specific issue of programming-newbies_, not a negligible one IMHO.
>>
>> This is the *big* weakness of the ML-family languages (including
>> Haskell and Clean): they all have gnarly syntaxes. Python is proof
>
> Haskell's syntax is *lovely*!  How can you class it in "the ML
> family"?  [Again, I don't know enough Clean to have a real opinion
> about it].
>
>What specific objections do you have to Haskell syntax...?

Honestly, Haskell looks very similar to ML and OCaml to my eyes. An ML
program translated to Haskell will read very similarly[*].

Some of the peculiarities of Haskell's syntax that I find annoying are
the use of case to distinguish the type and value namespaces, the use
of '\' to introduce lambdas (I find this ugly and twee), and the $
syntax to force strict evaluation. However, these are all fundamentally
nuisances, rather than mortal wounds.

However, a really huge lose is the do-notation, which is fantastically
ugly. I *love* the way that monads let me type effects in the language,
but I hate the way I have to type effects in the editor. :) IO is 
important enough that it shouldn't be painful to use.

[*] The usual caveats about tail recursion and lazy languages apply;
I'm assuming them away for the purposes of example. 


Neel
Re: Python in "math through programming" curriculum
#27
Author: Kirby Urner
Date: Thu, 21 Dec 2000 00:56
85 lines
4401 bytes
"Clifford J. Nelson" <cnelson9@gte.net> wrote:

>> I went to this website.  It doesn't work for the Mac at all --
>> Windows only.  So what's your beef with Python on the Mac?
>> At least it exists for the Mac.
>
>That's why I don't attach ANY weight to what you write!
>Clean used to be a "Mac first product", and Version 1.3.x
>soon to be updated to Version 2.0 runs on the Mac. You would
>know that it runs on the Mac if you could just read.
>

The latest version with the fancy games library doesn't 
run on the Mac yet (or Linux either).  Older versions 
do, yes, I see that.

I thought maybe you were advocating Clean for kids because 
of the games angle -- what I asked you about.  Apparently 
not so, given the older Clean suits your purposes (what 
do you do with it??).

>> Do you think this emphasis on game programming is better
>> than my "math through programming" approach?  It seems to

So then... what's so attractive about Clean, from your 
personal experience?  I'm just asking.  You haven't said 
anything about that yet (older versions run on the Mac...  
... ... so?).

Python runs on the Mac too (the latest version even).

http://www.python.org/download/download_mac.html
http://www.python.org/doc/current/mac/mac.html


<< repeated text snipped >>

Lets not forget Squeak and C# while we're at it (the former 
actually has some appealing features as a beginner environment 
-- I've played with it some, but not enough, haven't touched 
C# yet).

And, yes, I do make use of Bucky Fuller's stuff in my Pythonic
'Computer Literacy and Numeracy' pages starting at 
http://www.inetarena.com/~pdx4d/ocn/numeracy0.html (most 
curriculum writers still completely ignore his contributions 
-- it's non-standard to integrate it the way I do). 

But I don't see why you're making such a big deal about
that.  I also make use of stuff from Gauss, Fermat, Euler, 
Bell, Descartes and Pascal (sorry about so many guys in 
this context, that'll change)... Euclid and Erastosthenes...

>> My guess is you've done approximately zero using any of
>> the languages under discussion (Python, Clean, Caml).  If
>> I'm wrong, I hope you will show me otherwise.  I don't
>> have a lot of time for completely uninformed discussion.
>> 
>> Kirby
>
>You could inform yourself, if you could only read.
>
>  Cliff Nelson

Read what?  Where's your Clean, OCaml or Python?  You want
me to use a search engine:  "CLIFF NELSON OCAML"?  Didn't
work.  

Does the fact that older versions of Clean run on the Mac 
constitute some big eye-opener?  I'm supposed to be enlightened
now?

You've shown us zilch so far.  Maybe you have some far out 
stuff in Clean to share with us, that you've done on your 
Mac?  That'd be nice.  Wanna post an URL?  Or even answer
my (specific) questions? 

Anyway, I'll stop replying to your posts unless you choose 
to include some substance.  It's fun to bicker like this, 
I have to admit, but I can't justify the time.  My apologies
to comp.lang.python for indulging myself (I don't think 
that other newsgroup is even working -- maybe (and sci.
crypto was a typo -- no such animal)).

Kirby
Re: Python in "math through programming" curriculum
#28
Author: Kirby Urner
Date: Thu, 21 Dec 2000 02:29
47 lines
3395 bytes
neelk@alum.mit.edu (Neelakantan Krishnaswami) wrote:

>Yes -- the reference to Knuth's _Concrete Mathematics_ made me think
>that an introduction to CS was envisioned. For things like graphing
>and statistics, there's no reason not to use Python, since it has good
>graphing and statistical libraries. Static typechecking doesn't help
>here, I don't think, and in Haskell's case it becomes a positive
>nuisance (because of all the IO).

Certainly don't want to close the door to CS at all, no way.
Just trying to get computers used more in math class, instead
of just calculators all the time.  'Concrete Mathematics' is
mathematics too, not just CS (same with Knuth's 'Art of...'
-- Miller-Rabin derives from number theory).

Of course more computers in math class'd open more doors to 
CS.  But I'm fighting the prejudice that you don't get to 
use the computer for serious tasks until you do some CS 
elective -- as if math were some whole other domain that 
shouldn't be sullied with computers (but calculators OK 
for some reason).

One thing computers have over calculators is better spatial
geometry displays.  I graft Python to Povray, suggesting Povray
might be more fully exploited in its own right (independently
of Python) -- in art class for example.  In the meantime, I 
encourage Polyhedra as paradigm Objects in both a geometric
and in an OO sense.[1]

Your remarks re strongly typed FP languages are interesting 
and I still want to learn more in that domain -- glad it's 
being discussed.  

I think Python opens doors to languages like Haskell, vs 
closes them, because it has some of the FP syntax, even if 
it's not built around lazy evaluation, tail recursion etc.
etc.  The map, lambda, zip, filter and other syntax has an
FP flavor.  So I think if students pick up on Python first, 
they're not thereby ruined for Haskell or ML later (or Java
either, or any number of other worthy, useful languages).

Anyway, thanks for your intelligent contributions -- learned
some stuff.

Kirby

[1] http://www.inetarena.com/~pdx4d/ocn/trends2000.html
Re: Python in "math through programming" curriculum
#29
Author: Steven D. Majewski
Date: Thu, 21 Dec 2000 18:26
45 lines
4152 bytes
On 21 Dec 2000, Neelakantan Krishnaswami wrote:

> 
> Yes -- the reference to Knuth's _Concrete Mathematics_ made me think
> that an introduction to CS was envisioned. For things like graphing
> and statistics, there's no reason not to use Python, since it has good
> graphing and statistical libraries. Static typechecking doesn't help
> here, I don't think, and in Haskell's case it becomes a positive
> nuisance (because of all the IO).
> 

XlispStat -- a free Lisp variant with extensions for statictics, vector
math and object-oriented interactive graphics -- is another good choice.

There's a good textbook by Luke Tierney available.

The graphics and statistics support is quite a bit more mature than
what's available in Python, and the graphics is better integrated and
easier to use. ( That maturity and integration, however, is one of 
the current problems: for example, the 3-D graphics predates the wide
availability of OpenGL libraries -- it would be nice to be able to
extend some of it's graphics abilities but the current graphics model
is pretty tightly tied. That's where Python's not being tied to any
one graphics model is an advantage. ) 


See: <http://www.xlispstat.org/> 


You might also check out StarLogo from MIT's media lab -- 
a special version of Logo designed to handle thousands of 
independent "turtle" agents in parallel:

<http://www.media.mit.edu/starlogo/> 


| StarLogo is a programmable modeling environment for exploring the
| workings of decentralized systems -- systems that are organized without
| an organizer, coordinated without a coordinator. With StarLogo, you can
| model (and gain insights into) many real-life phenomena, such as bird
| flocks, traffic jams, ant colonies, and market economies.


-- Steve Majewski <sdm7g@Virginia.EDU> 
Re: Python in "math through programming" curriculum
#30
Author: Steven D. Majewski
Date: Thu, 21 Dec 2000 18:26
45 lines
3391 bytes
On 21 Dec 2000, Neelakantan Krishnaswami wrote:

> 
> Yes -- the reference to Knuth's _Concrete Mathematics_ made me think
> that an introduction to CS was envisioned. For things like graphing
> and statistics, there's no reason not to use Python, since it has good
> graphing and statistical libraries. Static typechecking doesn't help
> here, I don't think, and in Haskell's case it becomes a positive
> nuisance (because of all the IO).
> 

XlispStat -- a free Lisp variant with extensions for statictics, vector
math and object-oriented interactive graphics -- is another good choice.

There's a good textbook by Luke Tierney available.

The graphics and statistics support is quite a bit more mature than
what's available in Python, and the graphics is better integrated and
easier to use. ( That maturity and integration, however, is one of 
the current problems: for example, the 3-D graphics predates the wide
availability of OpenGL libraries -- it would be nice to be able to
extend some of it's graphics abilities but the current graphics model
is pretty tightly tied. That's where Python's not being tied to any
one graphics model is an advantage. ) 


See: <http://www.xlispstat.org/> 


You might also check out StarLogo from MIT's media lab -- 
a special version of Logo designed to handle thousands of 
independent "turtle" agents in parallel:

<http://www.media.mit.edu/starlogo/> 


| StarLogo is a programmable modeling environment for exploring the
| workings of decentralized systems -- systems that are organized without
| an organizer, coordinated without a coordinator. With StarLogo, you can
| model (and gain insights into) many real-life phenomena, such as bird
| flocks, traffic jams, ant colonies, and market economies.


-- Steve Majewski <sdm7g@Virginia.EDU> 
Re: Python in "math through programming" curriculum
#31
Author: Clifford J. Nelson
Date: Sat, 23 Dec 2000 07:11
70 lines
4176 bytes

Kirby Urner wrote:
> 
> "Clifford J. Nelson" <cnelson9@gte.net> wrote:
> 
> >> I went to this website.  It doesn't work for the Mac at all --
> >> Windows only.  So what's your beef with Python on the Mac?
> >> At least it exists for the Mac.
> >
> >That's why I don't attach ANY weight to what you write!
> >Clean used to be a "Mac first product", and Version 1.3.x
> >soon to be updated to Version 2.0 runs on the Mac. You would
> >know that it runs on the Mac if you could just read.
> >
> 
> The latest version with the fancy games library doesn't
> run on the Mac yet (or Linux either).  Older versions
> do, yes, I see that.
> 
> I thought maybe you were advocating Clean for kids because
> of the games angle -- what I asked you about.  Apparently
> not so, given the older Clean suits your purposes (what
> do you do with it??).
> 
> >> Do you think this emphasis on game programming is better
> >> than my "math through programming" approach?  It seems to
> 
> So then... what's so attractive about Clean, from your
> personal experience?  I'm just asking.  You haven't said
> anything about that yet (older versions run on the Mac...
> ... ... so?).
> 
> Python runs on the Mac too (the latest version even).
> 
> http://www.python.org/download/download_mac.html
> http://www.python.org/doc/current/mac/mac.html
> 
> << repeated text snipped >>

I'll just repeat it again. Maybe it will sink in eventually.

I take it personally when Bucky Fuller's Synergetics (see a)
is made to seem like some far out religion, by you Kirby
Urner, or anyone else, or when computer programming in a
language (Python) that can't apparently help itself well
enough to use it to make a good interactive programming
environment for the Mac, is promoted over much easier
languages, like Clean (see b) or Object Caml 3.0 (see c) or
even the hard to learn J programming language (see d).

All of those languages (including Python) are garbage
compared to Mathematica of course, because programming (OOP)
is all just really pattern matching and replacement (see e),
but they're free and they work on both the Mac and Windows,
so they are worth looking at.

a) http://www.rwgrayprojects.com/synergetics/synergetics.html
b) http://www.deene.ufu.br/clean/clean1.html
c) http://pauillac.inria.fr/caml/
d) http://www.jsoftware.com/
e) http://www.stephenwolfram.com/publications/talks/IMS/imstalk.html

Of course, when I say "look at them", I mean download the
version that runs on your computer, read all the
documentation, and try programming with them for a year or
two like I have. Then you won't have to ask so many simple questions.

  Cliff Nelson 
[snip]
Re: Python in "math through programming" curriculum
#8
Author: Clifford J. Nelson
Date: Tue, 26 Dec 2000 23:28
42 lines
2995 bytes

Kirby Urner wrote:
> 
[snip]

> 
> In your case, I'm not aware of any alternative product,
> just the negative comments, plus some Mathematica
> worksheets which are not even attempting to interpret
> that whole philosophy.  So again, rather than indulge
> in negative comments, how about you advertise your
> own positive contributions, i.e. your own curriculum
> writing making use of these other computer languages
> you've been posting about (the DrScheme team has
> certainly set a high standard, with their high quality
> materials).
[snip]

Half of the DrScheme demo programs have not even been
debugged completely.

Mathematica electronic notebooks are the very best way to
present any mathematical ideas. You can use traditional
mathematical notation with type setting if you want to, and
all statements can be actually executed. Graphics, sound,
and starting with Mma Version 3, interaction.

My Mathematica electronic notebooks get to the heart of the
matter in Synergetics: the "synergetics triangulated
coordinate system" with which Bucky wrote, "you know", as
opposed to the rectilinear coordinate system, with which
"you guess".

They can be viewed with MathReader (free) if you don't have Mathematica.

At: http://forum.swarthmore.edu/epigone/geometry-research/brydilyum

It is a good small exercise to translate the notebooks to
other languages.

  Cliff Nelson
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads