Re: [Edu-sig] Anyone interested in discussing the turtle module?

2011-06-02 Thread Edward Cherlin
On Thu, Jun 2, 2011 at 08:05, Jeff Elkner j...@elkner.net wrote:
 Hi Edward,

 The book is licensed under the GNU/FDL and is available here:

 http://www.openbookproject.net/thinkcs

Excellent. Thank you.

 I'm very familiar with Turtle Art, since a college intern working with
 me last Summer did a Sugar to Gnome port of it, which in now in the
 debian repositories:

 http://packages.debian.org/search?keywords=turtleart

 This Summer we will work to get that into Fedora.

I should talk to someone about getting it into Ubuntu, to add to Logo,
kturtleart, and the turtle art module in Etoys. ^_^

 While as a classroom teacher I'm a huge fan of turtle art, Python's
 own turtle module is the tool of choice for my current intro college
 leve textbook project, since it runs on all major platforms and is
 part of the Python standard library.

I am planning a multi-year grade school sequence to introduce CS ideas
using TA, with a transition from TA to Python by way of Python blocks
in TA. I will take a look at your work, and see whether it makes sense
to treat it as a followup to mine, or rather to design mine to lead
into yours.

Among the topics I intend to emphasize are Church's Thesis, Gödel
recursive functions, parse trees, stack programming (and hence RPN),
language interpretation, and building a Turing Machine in pure TA.

 Thanks!

 jeff elkner
 open book project
 http://openbookproject.net

 On Wed, Jun 1, 2011 at 6:37 PM, Edward Cherlin echer...@gmail.com wrote:
 On Tue, May 31, 2011 at 16:59, Jeff Elkner j...@elkner.net wrote:
 Hi All,

 I'm working on an introductory CS book using Python with the turtle
 module,

 Under what license?

 Can we talk about using Turtle Art in Sugar as a starting point? it
 can call Python functions assigned to blocks, providing an easy
 transition from pure TA to pure Python. We have support for various
 other CS topics on TA blocks, including stack operations. I am
 planning to write a Turing machine in TA, using colored dots as cells
 on the tape and instructions in the transition table.

 but I'm finding the inability of turtle.Screen() to take
 screen size arguments to be a real pain.  The screen size appears to
 depend on the screen size of the host environment, which means
 standardizing screen shots for the book becomes impossible.

 Any thoughts on this issue?  It would be a huge help in promoting
 Python's use in education if we could make use of such a potentially
 fine module as the turtle module, but I'm finding it very difficult to
 write curriculum materials that use it since students don't have
 control over the turtle's screen in any easy to use way.

 Thanks!

 jeff elkner
 open book project
 http://openbookproject.net
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




 --
 Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
 Silent Thunder is my name, and Children are my nation.
 The Cosmos is my dwelling place, the Truth my destination.
 http://wiki.sugarlabs.org/go/Replacing_Textbooks





-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://wiki.sugarlabs.org/go/Replacing_Textbooks
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] (egyptian fractions...) the turtle part: chaos.py

2011-06-01 Thread Edward Cherlin
On Wed, Jun 1, 2011 at 17:52, Gregor Lingl gregor.li...@aon.at wrote:


 Am 01.06.2011 22:52, schrieb kirby urner:

 Hey Jeff, your question about controlling the turtle's screen
 might have been just the ticket in my attempts to control
 chaos, namely G. Lingl's chaos.py, which demonstrates
 sensitivity to initial conditions is a plus if you want your
 algebra to stay on the same page as itself, per equalities
 that won't be equal in the real world.  I'm hoping to throw
 that into site-packages on the back end at OST, along with
 all those baseball stats in SQL.  It's all done with turtles
 (Gregor's thing) and is brilliant, here's a link:

Baseball stats and turtles? That's something I have been wishing for.
I think that the best way to interest children in probability and
statistics is sports, including published data and the book Money
Ball. Also Nate Silver of the New York Times Five Thirty Eight blog,
one of the best analysts of political races (though not of policy),
started out in poker and sports.

I would like to see your work, and discuss with you and various other
people creating an OER with it in the Sugar Labs Replacing Textbooks
project.

 http://www.4dsolutions.net/ocn/python/OST/chaos.py


 Hi Kirby,

 it's fine that you host a slightly amended version of chaos.py
 on your website.

 The original file is part of the demo that ships with Python and
 the turtledemo has been moved into  the Lib-directory of the
 standard distribution.

 Some of these demo-scripts suffer from (more or less minor :-) )
 quirks or deficiencies and could be amended in this or that way.

 I think that such amendments should go into Python 3.3. So if
 you or anybody else have any ideas, complaints or - as shown here -
 propositions or results, please let's discuss them, so the turtledemo
 can obtain not only a demo- but also an enhaced educational value.

 Best regards

 Gregor


 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://wiki.sugarlabs.org/go/Replacing_Textbooks
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Anyone interested in discussing the turtle module?

2011-06-01 Thread Edward Cherlin
On Tue, May 31, 2011 at 16:59, Jeff Elkner j...@elkner.net wrote:
 Hi All,

 I'm working on an introductory CS book using Python with the turtle
 module,

Under what license?

Can we talk about using Turtle Art in Sugar as a starting point? it
can call Python functions assigned to blocks, providing an easy
transition from pure TA to pure Python. We have support for various
other CS topics on TA blocks, including stack operations. I am
planning to write a Turing machine in TA, using colored dots as cells
on the tape and instructions in the transition table.

 but I'm finding the inability of turtle.Screen() to take
 screen size arguments to be a real pain.  The screen size appears to
 depend on the screen size of the host environment, which means
 standardizing screen shots for the book becomes impossible.

 Any thoughts on this issue?  It would be a huge help in promoting
 Python's use in education if we could make use of such a potentially
 fine module as the turtle module, but I'm finding it very difficult to
 write curriculum materials that use it since students don't have
 control over the turtle's screen in any easy to use way.

 Thanks!

 jeff elkner
 open book project
 http://openbookproject.net
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://wiki.sugarlabs.org/go/Replacing_Textbooks
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] (egyptian fractions...) the turtle part: chaos.py

2011-06-01 Thread Edward Cherlin
On Wed, Jun 1, 2011 at 18:56, Kirby Urner kur...@oreillyschool.com wrote:
 On Wed, Jun 1, 2011 at 2:59 PM, Edward Cherlin echer...@gmail.com wrote:

 Baseball stats and turtles? That's something I have been wishing for.
 I think that the best way to interest children in probability and
 statistics is sports, including published data and the book Money
 Ball. Also Nate Silver of the New York Times Five Thirty Eight blog,
 one of the best analysts of political races (though not of policy),
 started out in poker and sports.

 Yes, I remember your interest.
 Several of our courses touch on SQL here and there, and when it comes
 to having some canned, pre-existing tables on the back end, I can
 think of fewer richer data mines that the aggregating pool of
 baseball stats.  I've floated this by other staff and know I have an
 ally in one of the editors.  Question is:  are baseball stats available
 for MySQL in some open source format, or locked up under lock
 and key by proprietary dot com pay-per-view services?

Major League Baseball asserts copyright ownership over everything to
do with the American and National Leagues that has not passed into the
public domain. For books that means almost anything since 1922. I have
no idea who owns rights to the Negro League data and to the data from
other countries. I don't know the rules for databases in any detail,
although I have heard of court cases declaring that facts cannot be
copyrighted, only their specific expression, and that not always. You
can buy the complete set of data for US baseball, going back about 150
years, on a CD-ROM.

http://www.allprosoftware.com/sb/

has commercial products for seven sports, at $70 or so.

We would also need soccer and cricket, at least, which this US company
does not offer, and no doubt other sports and games. The Elo
international chess rating system is a major work. It has spun off
systems for many other tournament games. I have no idea who owns what
internationally, given the vast interlocking structure of
international governing bodies, leagues, and tournaments.

 In a Norman Rockwell future where America gives lip service to
 appreciating education, there'd be no problem freely accessing all
 these numbers, copying them to the home hard drive.  Maybe
 this already exists.  I'm in the beginning stages.

Some of it is unquestionably available.

 I would like to see your work, and discuss with you and various other
 people creating an OER with it in the Sugar Labs Replacing Textbooks
 project.


 I'm trying to condense a lot of concepts into a dense compacted
 set of modules that aren't too daunting to read, and that don't hide
 a lot of functionality.  The metaphor of a Turtle has been replaced
 with a Tractor in a field (ascii 2d matrix / array).

Have you considered Unicode?

 This isn't about
 displacing turtle graphics, it's about creating an analogy that's
 even simpler (more primitive).

It should still work for teaching many CS topics.

 Kirby

Have you ever looked at Befunge, a 2D programming language with a
mobile instruction pointer and instructions for changing its
direction? It has been described as a cross between FORTH and
Lemmings. ^_^

-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://wiki.sugarlabs.org/go/Replacing_Textbooks
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] superformula, generators

2011-05-21 Thread Edward Cherlin
There are a great many such parametric formulae, such as
hypergeometric sequences and their sums. You can get very interesting
results by plotting the roots of a polynomial as the coefficients
vary, without ever letting two roots coincide. It is possible to
generate all knots and links in this way, by letting the graph wrap
around.

Given

* A parameter t in the range [0,1]
* A polynomial P = Σaᵢxⁱ for i in the range from 0 to n
* Continuous but not necessarily differentiable complex-valued
functions aᵢ(t), with aᵢ(0) = aᵢ(1)

for which P has no repeated roots at any value of t, we can take the
graphs of the n complex roots of P for each t, graph them in three
dimensions, and then topologically wrap the whole thing around into a
donut, joining t = 0 and t = 1, where the roots are the same, but may
be permuted.

The following diagram must be viewed in a monospace font in order to make sense.

___  _
   \/
___/\_

On Sat, May 21, 2011 at 17:11, Gregor Lingl gregor.li...@aon.at wrote:
 Hi all,

 recently I stumbled (once more) over a posting by our friend
 Daniel Ajoy about the superformula (I think it was in a Logo-Forum):

 http://en.wikipedia.org/wiki/Superformula

 On the other side Kirby wrote interesting suggestions
 about using generators.

 Now, weekend, bad weather, some sparetime, I
 assembled an implementation of a superformula-viewer
 using pygame. It runs with Python 2.6 or higher, also
 3.x, of course

 You'll find it here for download:

 http://dl.dropbox.com/u/2016850/superformula.py

 or appended (which sometimes / for some of you)
 doesn't work well depending on the browser or whatever.

 The script uses generators for generating the pointlists
 of the graph of the superformula and also for generating
 colors for the segments of the graph-area.

 Morover I've prepared a qd slider class, which possibly
 doesn't use the canonical way of processing events in
 pygame but works fine for this application.

 Critical comments and feedback and also questions, of course,
 are welcome.

 Perhaps someone is willing to amend the docstrings,
 which suffer from my clumsy English and could well
 be more clear.

 Amendments of the code, espercially ones, which make it
 more readable and easier to understand, also.

 Useful for classroom use? Perhaps to difficult?

 Best regards,
 Gregor



 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig





-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] More cogitations on group theory...

2011-05-15 Thread Edward Cherlin
On Sun, May 15, 2011 at 04:12, kirby urner kirby.ur...@gmail.com wrote:
 Groupoids, categories, rings (clock time), fields (modular
 arithmetic), vector spaces, and algebras require a bit more thought,
 but I am sure that they can be done.

I mentioned a few Lie Groups, but I omitted the name. Toposes,
topologies, tilings, and fractals would be interesting to investigate,
too.

 That's perfect Ed.  Good to hear for another die-hard group
 theory for children dude, a vanishing breed perhaps.

It's just a fancy name for symmetry.

MC Frontalot: Why do mirrors reverse left and right, but not up and down?
John Hodgeman: They're just lazy. They could if they felt like it.

Yeah, so what's really going on with mirrors?

MC Frontalot is a nerdcore hiphop artist, and John Hodgeman is the
author of More Information than You Require. He was also the PC in the
Mac ads, and is sometimes on The Daily Show.

 My intended audience might actually be older people, including
 so-called retirement community students who have grand kids
 and want to have inter-generational topics.  Many learned
 BASIC as kids (the Bill Gates generation).

 Another group you can massage into a field are integers
 multiplying modulo N, except not just any integers, only
 N's totatives.  Back to permworld and Guido's exceedingly
 simple implementation of Euclid's Algorithm.

 def gcd(a,b):
        while b:
                a , b = b, a % b
        return a

 gcd(12, 4)
 4
 gcd(12, 5)
 1
 totatives12 = [m for m in range(12) if gcd(m, 12) == 1 ]
 totatives12
 [1, 5, 7, 11]
 from random import choice

 (choice(totatives12) * choice(totatives12)) % 12
 11
 (choice(totatives12) * choice(totatives12)) % 12
 1
 (choice(totatives12) * choice(totatives12)) % 12
 5

 Asserting closer (group property):

 if (choice(totatives12) * choice(totatives12)) % 12 in totatives12: print 
 (True)

 True
 if (choice(totatives12) * choice(totatives12)) % 12 in totatives12: print 
 (True)

 True
 if (choice(totatives12) * choice(totatives12)) % 12 in totatives12: print 
 (True)

 True

 If the target number is prime instead of composite (e.g. 23
 instead of 12), then you have field properties, not just group
 properties i.e. + is closed as much as * is.

 You'll find me ranting on mathfuture how high schools bleep
 over any opportunity to introduce totative or totient in
 favor an an exclusive factor tree based approach to
 gcd.  That made more sense before RSA was in every
 web browser.  In a how things work curriculum, one
 would wish for more computer literacy.

 http://groups.google.com/group/mathfuture/msg/11005d0c9dc9eba2
 (I've gotten more correspondence from Milo -- he wants to
 make sure we all know that Turing at Bletchley Park did
 *not* solve the German U-boat 5-rotor puzzle, doesn't like
 how much credit Turing gets).

 I'd like want to use John Zelle's graphics.py in the module
 where we draw some Wolfram checkerboard of black
 and orange rectangles ala New Kind of Science (NKS).
 We were doing that back in February 2007.

 http://mail.python.org/pipermail/edu-sig/2007-February/007736.html

 The new version gets Conway's Game of Life from the
 same turtle (called a tractor in farmworld, but the
 same idea, transferred to all-ASCII waves of grain).
 Even Mandelbrot is rendered in ASCII tractor art:

 http://mybizmo.blogspot.com/2011/05/lesson-planning.html

 These are ancient threads as far as edu-sig is concerned.
 We've always been trendy around here. :)

 Of course, in every case I am talking about extracting and presenting
 the fundamental ideas, and leaving proofs, notations, and all but the
 simplest calculations for later.


 Of course.  I've got an older bunch but this isn't a course
 about Group Theory, it's a course about learning to
 program in the Python computer language, with a backdrop
 of standard Computer Science courses (Euclid's Algorithm
 chief among them, at least here on edu-sig).

 Kirby
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Platonic / Archimedean / Catalan Solids in Blender

2011-04-23 Thread Edward Cherlin
2011/4/22 Lee Harr miss...@hotmail.com:

 Hi;

 I know some of you like exploring geometry with Python.

 The latest Blender 2.57 includes a python add-on for generating
 a huge list of different types of geometric solids.

This is huge progress. Back when Tron was made, there was only one
special-effects company that knew how to generate the stellated
polyhedra for the Bit, a character that existed in only two visual
states. Judson Rosebush did it in APL. Now there are a number of
software packages that allow you to do it by a simple command or menu
selection.

 To try it out, you need to enable the add-on.

 - start Blender
 - click on File - User Preferences...
 - click on Add Ons near the top
 - click on Add Mesh on the left
 - check Add Mesh: Regular Solids
     (Also, look around. Many other cool things available.)
 - close User Preferences window
 - click on Main menu - Add - Mesh - Solids
    (Can select specific solid, or just choose solid.
     Panel will open on the left allowing real-time adjustments)


 So, now you may be interested in how this is done with Python.

 - in top menu, next to Help menu, mouse over until it says Choose Screen 
 lay-out
 - click and choose Scripting
 - top left panel is Text editor, click Text - Open
 - browse to blender install directory
 - click 2.57 - scripts - add-ons - add_mesh_solid.py


 The scripts seem to be pretty well commented.
 You can make changes, click Run Script and a new
 menu will appear alongside the Solids menu running
 your changed code.


 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] demented Python...

2011-04-02 Thread Edward Cherlin
On Sat, Apr 2, 2011 at 14:16, kirby urner kirby.ur...@gmail.com wrote:

 In calling something demented I'm coming off
 the namespace used around genres of cartoon.
 Cartoons I'd consider demented:
 Pinky and the Brain

and their hosts, the Animaniacs

 Ren and Stimpy
 Teenage Aqua Hunger Force (Kevin Altis of PythonCard a fan)

Aqua Teen Hunger Force (Number 1 in the hood, man)

 SpongeBob SquarePants
 ...

Spaceghost Coast-to-Coast
Sealab 2021
Harvey Birdman, Attorney at Law
Invader Zim
South Park
The Simpsons
Futurama
Family Guy
Huri-kuri
Suupaa Miruku Chan (Super Milk Chan)
Bobobo-bo-bobobo
Urusai Yatsura
and, as you say, ..., in a tradition going back to Aristophanes, and
to distant prehistory.

Saw a flea
Kick a tree,
Fubba-wubba
Fubba-wubba.
Saw a flea
kick a tree,
Fubba-wubba John.
Saw a flea
Kick a tree
In the middle
of the sea,
Singin' Old Blind Drunk John,
Fubba-wubba John.

 (see clips on Youtube for any/all)
 Synonyms for demented:  zany, surreal
 Relevant:  links to grossology in EuroPython
 presentation:
 http://www.4dsolutions.net/presentations/connectingthedots.pdf
 (see string.Template Mad Libs)
 Likewise, Demented Python serves a didactic function,
 here to remind about the decorator:
 def sillystrip( f ):
     if f.__doc__:
         f.__doc__ = Your function has been hacked!
     else:
         f.__doc__ = You should always have a docstring.
     return f
 @sillystrip
 def square( x ):
     could also be a triangle
     return x * x
 def _test():
     frank = 2
     joe = square (frank)  # frank is kinda square
     print(Hello Joe, Frank here.)
     print(square.__doc__)

 if __name__ == __main__:
     _test()

 Usage:
  RESTART
 

 Hello Joe, Frank here.
 Your function has been hacked!
 Then comment out the docstring in the def of square.
  RESTART
 

 Hello Joe, Frank here.
 You should always have a docstring.

Defensive programming:
Pseudocode
Case: True:...
Case: False:...
Else: Print(This can't happen.)
/
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig



-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


[Edu-sig] Too simple (was Re: Interesting gotcha)

2011-03-30 Thread Edward Cherlin
Einstein probably did not say, Everything should be made as simple as
possible, but _no simpler_. However, somebody did, and somebody was
right. One of the biggest problems in teaching programming is the
constant pretense that we are not doing complicated mathematics, and
the resulting attempt to hide the math.

There is a lovely little book called Mathematics Made Difficult, whose
premise is that refusing to tackle topics of modest complexity makes
understanding far more difficult. With examples, of course.

I have a similar complaint about freshman college physics courses that
attempt to get by with no calculus.

One of my favorite matth examples is how the use of elementary
differential equations and Taylor series simplifies the definition of
trigonometry. Define the exponential function by the equation

y' = y

which says that the growth rate of the function is proportional to its
current value. Bring in examples from compound interest, biological
growth, inflationary cosmology,... The function we are looking for is

exp(x) = sum_0^\infty (x^n)/n!

or any multiple of it. If you know that d(x^n)/dx is nx^(n-1), then
you can see that the derivative of the power series for exp is itself.

Now solve

y' = -y (negative of exp)
y'' = y (hyperbolic sinh and cosh functions)
y'' = -y (sin and cos functions)

in the same way, and look at the relations among their power series.

Now derive e^(i\pi)+1=0 from e^(i\theta) = cos \theta + i sin \theta,
which follows directly from the power series above, and then switch to
linear algebra to get the sum, difference, and other formulae, and
geometry to get the solutions of triangles.

If anybody has difficulty with any of this I can point you to
textbooks using these methods.

If you would like a bit more of a challenge, we can do this all over
again in elliptic and hyperbolic geometry, where we don't have similar
triangles. ^_^

On Wed, Mar 30, 2011 at 13:50, Kirby Urner kur...@oreillyschool.com wrote:

 What is a Python module? #==
 Common answer is a file containing Python source code?,
 but I'm questioning whether that's sufficient definition.
 How about an importable .pyc or .pyd, with no .py in the
 picture.  That's a module too, no?
 ** Import Star #
 When is
 import *
 a good idea?
 There's all this righteous moralistic hoopla that gets built up
 against specific idioms, to where eval( ) appears to be fighting
 for its very existence...  Mary wants to keep her little lambda.
 So I'd rather phrase these in the positive, as in when IS it
 a good idea... e.g. to use semi-colons between statements.
 ** Another student question:  #=
 Why does all([]) return True by default?  Is this a case
 of half full versus half empty?
 ** Correcting a misconception  #
 No, docstrings do NOT have to be triple quoted.
 Kirby

 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig





-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


[Edu-sig] The Undiscoverable (was Re: Interesting gotcha)

2011-03-30 Thread Edward Cherlin
I am a big fan of discovery learning, and thus down on anything that
interferes with discovery. I practice what I call defensive
documentation on such problems, as do some others. See for example,
The C Puzzle Book, and my Sugar Labs page

http://wiki.sugarlabs.org/go/The_Undiscoverable

We will need comprehensive, user-friendly documentation of gotchas in
Python and Smalltalk for the Sugar project, for the benefit of
teachers and students alike.

On Tue, Mar 29, 2011 at 19:09, Carl Cerecke c...@free.org.nz wrote:
 My experience of confusing boolean expressions was the code:

 1 == 2 in [2, False]
 False

 which, when parenthesised the two possible ways
 (1 == 2) in [2, False]
 True
 1 == (2 in [2, False])
 True
 results in sensible values (although the second one's sensibility is
 debatable)

 I couldn't figure it out quickly either. In fact, I ended up decompiling to
 byte code to figure out what was going on.

 As far as other 'gotcha's in addition to the ones already mentioned:

 Calling a file the same name as a module in the standard library. Import
 name will get the local file, not the stdlib one, which is confusing if
 you wanted the stdlib one.

 I've noticed that students will somtimes put import statements inside a
 function - right before they need to use whatever they imported:
 def area(r):
   import math
   return math.pi*r*r

 Cheers,
 Carl.

 On 29 March 2011 18:06, Michael H. Goldwasser goldw...@slu.edu wrote:

 To start a new thread, I'm always trying to keep a list of some common
 gotchas that beginning students run across when using Python, or
 things that teachers should keep in mind when teaching with the
 language. I have in mind commands that do not generate runtime errors,
 but are likely to lead to logical errors that are not apparent to
 students, and most of these are legal due to the very flexible nature
 of the Python language.  Some classicss are

 data.sort                  # no-op

 data = data.sort()         # bye-bye data

 result = result.upper      # probably not what you expect

 if answer.isupper:         # always true (but I entered a lowercase
 answer)


 This semester, I ran across a new one that took me quite some time to
 figure out what was happening.  This started with a habit that too
 many students have of wanting to compare boolean values to True/False
 literals, rather than just using the boolean as a condition.  That is,
 students seem drawn to the syntax

  if answer.isupper() == True:

 rather than the preferred

  if answer.isupper():

 These complaints are more of style than substance, as the two
 versions are logically equivalent.   But then a student came to me
 with code that wasn't behaving.  The syntax they used was something
 akin to


  if x  y == True:

 however the condition was not being triggered, even when we verified
 that x was indeed greater than y. You can try this out with explicit
 values as follows.

  if 5  4 == True:
 ...     print Good
 

 You will find that the body is not executed.  More directly, you can
 look at the conditional value directly as

  5  4
 True
  5  4 == True
 False

 This baffled me for an hour before finally seeing what was happening.
 I'll leave this as a puzzle for readers (many of whom I'm sure will be
 quicker than I was to see the solution).  For those who give up, I
 offer the following link as a spoiler.
 http://docs.python.org/reference/expressions.html#comparisons

 With regard,
 Michael

 +---
 | Michael H. Goldwasser, Ph.D.
 | Associate Professor
 | Director of Computer Science
 | Dept. Mathematics and Computer Science
 | Saint Louis University
 | 220 North Grand Blvd.
 | St. Louis, MO 63103-2007
 |
 | Office: Ritter Hall 108
 | Email:  goldw...@slu.edu
 | URL:    http://cs.slu.edu/~goldwasser
 | Phone:  (314) 977-7039
 | Fax:    (314) 977-1452

 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig


 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig





-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] PSF Brochure - call for submissions

2011-03-13 Thread Edward Cherlin
On Sat, Mar 12, 2011 at 21:36, Vern Ceder vce...@gmail.com wrote:
 Hi everyone,

 In chatting with Charlie Clark and others today, it came up that we
 aren't doing as much as we might to promote the successes of Python in
 education.

Do you have the OLPC XO Sugar software on your list? Almost all of it
except Etoys (Smalltalk) and SimCity is in Python. Pippy is a limited
Python IDE for children, and Turtle Art lets users call Python in any
amount from a single function call to an application, providing an
even easier starting point for students. I can provide endless detail.
^_^

 So I agreed to pass along to this list the call for content
 for the PSF brochure. Please feel free to write up your successes with
 Python and submit them. They will be considered for inclusion in the
 brochure as mentioned in the call for submissions below.

 Cheers,
 Vern

 Call for submissions for promotional brochure

 A new PSF project aims to create professional quality promotional
 material about Python. The first goal is to create a brochure to
 showcase the many ways Python is used. It will include use cases to
 highlight the ways the language allows users to accomplish their tasks
 both in educational and in professional settings.

 Project team members Marc-André Lemburg, Jan Ulrich Hasecke, and Armin
 Stross-Radschinski created this Plone marketing brochure for the
 German Zope User Group. It is the inspiration for this new project.

 Community feedback and awareness is vitally important for the success
 of this initiative, mainly to gather information to be used in the
 brochure. We are especially looking for interesting projects that can
 be discussed as use-cases.

 If you have any suggestions for information to include in the
 brochure, please contact Marc-André Lemburg or send an email to
 brochure AT getpython DOT info.

 UPDATE: more information about the brochure, including a newsletter,
 can be found here - http://brochure.getpython.info/

 --
 Vern Ceder
 vce...@gmail.com, vce...@dogsinmotion.com
 The Quick Python Book, 2nd Ed - http://bit.ly/bRsWDW
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Mosaics using Python...

2011-03-03 Thread Edward Cherlin
Your generalized Fibonacci sequences and generalized Pascal's
Triangles are linear combinations of the standard sequences and
triangles with shifts.

m,n,m+n,m+2n, 2m+3n...

is the sum of the sequences

m,0,m,m,2m,...
0,n,n,2n,3n,...

and similarly, the coefficients of x, y, and z in this triangle are
all Pascal numbers.

   x, y, z
  x, x+y, y+z, z
 x, 2x+y, x+2y+z, y+2z, z
x, 3x+y, 3x+3y+z, x+3y+3z, y+3z, z


On Fri, Feb 4, 2011 at 15:10, kirby urner kirby.ur...@gmail.com wrote:
 
 Mosaics using Python generators...
 by K. Urner
 4dsolutions.net
 based on a thread on mathfuture:
 http://groups.google.com/group/mathfuture/msg/9d098696c2ea7426?hl=en
 Just as the Fibonacci sequence generator might be seeded by any
 two integers to start off, so might Pascal's Triangle be seeded with
 any beginning row.
 When these sequences are formed into tabular or other areal displays,
 such that information may be gleaned from rows and columns, these
 formats may be called mosaics in some of the literature.
 
 def fibonacci( a=0, b=1):
     
     Generator for a Fibonacci sequence starting from any two integers
     See:  Online Encyclopedia of Integer Sequences
     http://oeis.org/A45

      gen = fibonacci()
      [next(gen) for i in range(11)]
     [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
      gen = fibonacci(-1, 2)
      [next(gen) for i in range(11)]
     [-1, 2, 1, 3, 4, 7, 11, 18, 29, 47, 76]
     
     while True:
         yield a
         b, a = a + b, b

 def pascal( therow = [1]):
     
     Generator for Pascal's Triangle starting from any top row
     Enter list for top row
     See:  Number Mosaics by Adi R. Kanga  (pg. 29, Fig 20)
     http://bit.ly/gDmmAo

      gen = pascal([15, 20, 6])
      next(gen)
     [15, 20, 6]
      next(gen)
     [15, 35, 26, 6]
      next(gen)
     [15, 50, 61, 32, 6]
      next(gen)
     [15, 65, 111, 93, 38, 6]
      next(gen)
     [15, 80, 176, 204, 131, 44, 6]
      next(gen)
     [15, 95, 256, 380, 335, 175, 50, 6]
     
     while True:
         yield therow
         therow = [ i + j for i, j in zip(therow + [0], [0] + therow) ]

 def _test():
     import doctest
     doctest.testmod()
 if __name__ == __main__:
         _test()


 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig





-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] open source admin in academia? (editorial)

2010-07-20 Thread Edward Cherlin
On Tue, Jul 20, 2010 at 04:34, kirby urner kirby.ur...@gmail.com wrote:
 I like to see universities taking the lead in some way...
 (they call it non-commercial), eating their own dog food.

 Same thing with hospitals.  They seem to not want to
 develop much inhouse, even for research -- or maybe
 I've not been inside the right hospitals?   You'd think
 the open source ethic and health care would be more
 hand in glove.

MUMPS (Massachusetts General Hospital Utility Multi-Programming
System), now sometimes just M, is the basis for the VA and DoD
hospital systems. it was taken to Free Software via the Freedom of
Information Act, and is now available as openVistA. This is a full
medical system suite, with more than 200 modules for imaging, medical
records, billing, pharmacy, and so on. M is unusual among programming
languages for including its own database engine. Its more recent
competitor is OpenMRS (Open Medical Records System) being developed
for Partners in Health in Haiti and other such organizations. Harvard
has a hand in its development.

 Kirby

 PS:  I came across this useful discussion on Dr. Chuck's blog
 (he posts here sometimes -- we met at Pycon2009 in
 Chicago).

 Reading:
 http://scholarworks.umass.edu/cgi/viewcontent.cgi?article=1000context=opensource
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] open source admin in academia? (editorial)

2010-07-19 Thread Edward Cherlin
It frequently happens that the Computer Science Dept. uses Free
Software for almost everything, and everybody else uses proprietary
software. CS can't talk to the others effectively, because they are
just geeks. I have more hope for elementary schools.

There are exceptions, such as Moodle.

On Mon, Jul 19, 2010 at 18:30, kirby urner kirby.ur...@gmail.com wrote:
 I'm becoming more aware of the fact that one
 reason universities need to charge those
 tuitions is to pay licensing fees to private
 vendors who provide them with such basic
 services as the ability to store and schedule
 classes, record student enrollment and grades,
 record instructors etc.  The catalog needs to
 be published on-line.  There might be a lot
 of extended education options, e.g. non-credit
 courses open to anyone willing to sign up.

 Some of these proprietary programs are pretty
 old, lack features departments need, and so
 various intermediating applications grow up
 around the edges to fill in the gaps.

 Maybe the big dino system doesn't record
 student evaluations for example, or keep track
 of which courses are in the pipeline, but still
 haven't found a place in the sun.

 One would think that universities in particular,
 which pride themselves on having advanced
 knowledge of state of the art skills, would band
 together in various consortia to pool resources
 and eat their own dog food as it were.  A
 school that teaches medicine actually practices
 medicine (the teaching hospital).  Shouldn't
 schools that teach computer science and
 business administration actually walk the talk
 in some way?  Maybe many of them do, I don't
 actually know.

 To outsource something so core to one's business,
 to pay licensing fees while not having the power
 to make design modifications, just seems more
 than a tad on the ironic side.  It's like a bank
 outsourcing everything it does around money.

 I realize not every college or university wants to
 reinvent the wheel around something so basic,
 but I do wonder to what extent there's some
 open source sharing going on, around these core
 utilities.  Are universities so competitive they
 won't share?  So does that mean they all pay
 the same licensing fees to use the same
 private vendor offerings?

 I remember Zope / Plone and SchoolTool.
 http://en.wikipedia.org/wiki/SchoolTool

 Is there something even more comprehensive
 that's out there, suitable for college and university
 use?  Does it come in modularized components?
 Is it an over-the-web database?

 Or do few if any universities really eat their own
 dog food?

 Like I say, I'm new to this business, just trying
 to get oriented.

 Kirby
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Directed Graphs data to analyze the World Cup

2010-07-19 Thread Edward Cherlin
I think that learning to analyze sports statistics is the best
possible introduction to the math, which can then be applied to
politics. That plus poker was Nate Silver's path to starting
FiveThirtyEight.com.

On Wed, Jul 14, 2010 at 20:02, Daniel Ajoy da.a...@gmail.com wrote:
 http://www.maths.qmul.ac.uk/~ht/footballgraphs/index.html

 Daniel

 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] rewriting examples in python

2010-04-25 Thread Edward Cherlin
On Thu, Apr 22, 2010 at 12:11, roberto robert...@gmail.com wrote:
 On Fri, Apr 16, 2010 at 1:26 AM, Edward Cherlin echer...@gmail.com wrote:
 On Thu, Apr 15, 2010 at 11:36, roberto robert...@gmail.com wrote:
 On Thu, Apr 15, 2010 at 5:52 AM, Edward Cherlin echer...@gmail.com wrote:
 I am more interested in reimplementing such examples in Turtle Art,
 and in having a module to translate to Python automatically. Since TA
 implements each tile in Python, and the source code is provided, this
 should be an easy exercise.

 i agree;

 also, i started this thread since i did not find any *introductory*
 and rich enough resource a school student can use to learn TA or
 turtle module or, broadly speaking, turtle programming in Python (if i
 am wrong, please tell me)

There are books, software modules, and other materials. We can work
together on a bibliography, and call on the rich experience of Seymour
Papert's Logo group and Alan Kay's Smalltalk group, among others.

 Walter Bender and I are working on such things.

 if nobody else did something in this regard, i'll be happy to do some
 work in this direction as soon as the school end, early june;

Late June or July for me. I have a temporary Census job.

 What topics are you interested in covering? I'm working on math and
 Computer Science topics.

 well, i am interested in working with students on introductory CS topics;
 by the way, this will be useful to introduce also basic geometry topics;

We can do a wide range of geometry, including Euclidean and
non-Euclidean synthetic geometry, analytic geometry, and graphing
functions; data capture; CS topics such as parse trees, control
structures, data structures, stacks, cellular automatons, and Turing
machines.

Then we show older children the Python source, and how to implement
their own Python TA tiles, and encourage them to join the TA community
and improve it, or to go on to the wider Python and Free Software
communities.

 after that, the interest of the students will lead their learning,
 whose directions i cannot predict by now ...
 where will you publish your tutorial/manual ?

http://www.flossmanuals.net/

 thank you in advance


 of course, since my students are very young and with no previous
 programming experience, i'd like to start with TA

Good choice.

 let me know also if anyone is doing something similar, to prevent double 
 work

 thank you again
 On Wed, Apr 14, 2010 at 10:33, Christian Mascher
 christian.masc...@gmx.de wrote:
 roberto wrote:

 hello, i found this very famous book
 Turtle Geometry: The Computer as a Medium for Exploring Mathematics
 (Artificial Intelligence)
 by Harold Abelson and Andrea diSessa
 and i was wondering if anyone of the turtle experts has ever rewritten
 in python the logo examples in the book;

 Nobody has answered, so probably not. Nevertheless I think its a good 
 idea
 to try this. It will probably turn out to be perfectly feasible to do 
 these
 examples in Python with the turtle module by Gregor Lingl. And a good
 exercise too. If you run into problems let us know.

 --Christian

 i am more interested in the turtle spirit than in the logo language,
 so i'd like to use python directly along with the book itself

 thank you very much in advance
 --
 roberto




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] rewriting examples in python

2010-04-15 Thread Edward Cherlin
On Thu, Apr 15, 2010 at 11:36, roberto robert...@gmail.com wrote:
 On Thu, Apr 15, 2010 at 5:52 AM, Edward Cherlin echer...@gmail.com wrote:
 I am more interested in reimplementing such examples in Turtle Art,
 and in having a module to translate to Python automatically. Since TA
 implements each tile in Python, and the source code is provided, this
 should be an easy exercise.

 i agree;

 also, i started this thread since i did not find any *introductory*
 and rich enough resource a school student can use to learn TA or
 turtle module or, broadly speaking, turtle programming in Python (if i
 am wrong, please tell me)

Walter Bender and I are working on such things.

 if nobody else did something in this regard, i'll be happy to do some
 work in this direction as soon as the school end, early june;

What topics are you interested in covering? I'm working on math and
Computer Science topics.

 of course, since my students are very young and with no previous
 programming experience, i'd like to start with TA

 let me know also if anyone is doing something similar, to prevent double work

 thank you again
 On Wed, Apr 14, 2010 at 10:33, Christian Mascher
 christian.masc...@gmx.de wrote:
 roberto wrote:

 hello, i found this very famous book
 Turtle Geometry: The Computer as a Medium for Exploring Mathematics
 (Artificial Intelligence)
 by Harold Abelson and Andrea diSessa
 and i was wondering if anyone of the turtle experts has ever rewritten
 in python the logo examples in the book;

 Nobody has answered, so probably not. Nevertheless I think its a good idea
 to try this. It will probably turn out to be perfectly feasible to do these
 examples in Python with the turtle module by Gregor Lingl. And a good
 exercise too. If you run into problems let us know.

 --Christian

 i am more interested in the turtle spirit than in the logo language,
 so i'd like to use python directly along with the book itself

 thank you very much in advance

 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




 --
 Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
 Silent Thunder is my name, and Children are my nation.
 The Cosmos is my dwelling place, the Truth my destination.
 http://www.earthtreasury.org/
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




 --
 roberto




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] using Python as a calculator

2010-04-11 Thread Edward Cherlin
On Sat, Apr 10, 2010 at 09:33, Christian Mascher
christian.masc...@gmx.de wrote:
 Edward Cherlin wrote:

 [sigh]

 Do math tables in a math array language.

 degrees =. i. 91  NB. 0..90

 radians =. degrees * o. % 180

 table =. |: degrees, 1 2 3 o./ radians

 Sorry, I don't know J (Kirby does), but this is exactly the reason I prefer
 Python. Readability counts (for me).

That's what they said to Fibonacci when he tried to explain why Arabic
numerals were better for math than Roman numerals. But Roman numerals
are better in readability and algorithmic complexity if you rarely do
anything but add and subtract, as merchants did before interest
payments became critical. Roman numerals are precisely equivalent to
abacus notation. It is odd that the distinction between math/science
programming and business programming is nearly a thousand years old,
but there it is.

In fact, APL is the only computer language that uses the same symbols,
+ - × ÷, as first grade arithmetic texts. (Presumably, with the
acceptance of Unicode, this will change someday.) Back in the 1960s,
Ken Iverson successfully taught teachers how to teach children
arithmetic on IBM Selectric terminals connected to a loaned 360
mainframe. An addition table up to 10 is simply

numbers =. i. 11  NB. 0..10

numbers +/ numbers

or, with a bit more complexity or a bit more simplicity, depending on
your viewpoint,

+/~ i. 11

where f~ x is x f x .

 For creating a table, most people would
 probably use a spreadsheet anyway, but as I happen to know Python, I use it
 for such tasks from time to time. I can even remember the syntax without
 having used Python for months. Don't think that would be the case with J.

This turns out not to be the case. The complete syntax table for J
consists of 12 lines. You are talking glibly about a topic on which
you have no information.

 Not very inclined to learn that.

Obviously.

 where

 =. is assignment
 i. creates a list of consecutive numbers starting at 0.

 Who on earth would think of that without a manual?

And without a lesson? Do you believe that Python syntax is intuitive,
and can be guessed without a manual or lessons? In i., the i stands
for index. It is easy to learn, and reasonably mnemonic.

 NB. is the comment marker o. x is pi times x

 Why not pi?

Why?

 % x is reciprocal of x, so o. % 180 is pi/180

 Don't think that is very useful.

These objections are trivial and uninformed. You aren't a
mathematician, you don't like math and math notation, so there is
nothing more to say, except please stand out of the way of people who
can benefit from it and want it.

 |: is transpose

 Another very special symbol.

 , appends an array to another. It turns a list into a table in order
 to match dimensions.

 Lost you there...

You can append a table to a table if they have a dimension in common.
You can't append a table to a list unless the list is turned into a
one-row table.

 1 2 3 o. x gives sine, cosine, tangent of x

 Why don't they use sin(), cos(), tan() like the rest of the mathematical
 world?

 / creates a table with the given function (o.) applied to two list
 arguments

 The result is a 91 row, 4 column table of angles and trig function values.

 Impressive ;-))

 I can easily give you a short sequence of lessons leading to this
 level, introducing some other arithmetic, transcendental, and
 array-handling functions along the way, and a little more about
 operating on functions to define new functions.

 Python is much nearer to standard Math-notation, that is a good thing.

LOL. Math notation is what mathematicians use, not schoolchildren.
They are constantly inventing more of it. What you call math notation
is known to mathematicians as arithmetic.

There is no standard math notation.

Polish: + 1 2
Infix: 1 + 2
Reverse Polish: 1 2 +

Reverse Polish is one of the two standard calculator input systems,
the one used by engineers, from HP. Polish is standard in LISP and
combinatory logic. Neither requires parentheses. Infix notation, as on
TI and related calculators, requires parentheses, and is much more
difficult for complex expressions.

 I
 like to learn new languages - up to a point. I don't see the added value of
 J in this case.

I like to learn languages a lot more than you, then. I don't consider
anybody educated in computing without knowing something of languages
from the LISP, APL, FORTH, OOP, and scalar language families.

 Just my 2c

 Christian

 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] using Python as a calculator

2010-04-11 Thread Edward Cherlin
On Sun, Apr 11, 2010 at 17:51, kirby urner kirby.ur...@gmail.com wrote:
 Sorry, I don't know J (Kirby does), but this is exactly the reason I prefer
 Python. Readability counts (for me).

 That's what they said to Fibonacci when he tried to explain why Arabic
 numerals were better for math than Roman numerals. But Roman numerals
 are better in readability and algorithmic complexity if you rarely do
 anything but add and subtract, as merchants did before interest
 payments became critical.

The chapter on interest calculations in Liber Abaci was particularly important.

 Roman numerals are precisely equivalent to
 abacus notation. It is odd that the distinction between math/science
 programming and business programming is nearly a thousand years old,
 but there it is.

 Fibonacci's Liber Abaci introduced the Indian/Arabic number system,
 based on the abacus.

No, in spite of the title, not based on the abacus, any more than
calculus is based on pebbles.

http://faculty.evansville.edu/ck6/bstud/fibo.html
Though the title of the book suggests the use of the abacus, in fact
Fibonacci freed arithmetic from calculations using the abacus.

 The place value system corresponds to the
 rods of the abacus, with the zero corresponding to a rod with no beads
 (a place holder).

 Roman numerals, in contrast, have nothing to do with abacus notation
 and have no place value e.g XIV for 14 or MMMCCC for 3300.

The Japanese, Chinese, and Roman abacI use beads or pebbles (calculi)
with values of 1 and 5.

http://en.wikipedia.org/wiki/Abacus
http://en.wikipedia.org/wiki/Roman_abacus

The Roman notation uses letters with values of 1 and 5 times a power
of 10, so that one can write down the Roman numeral for an abacus
setting simply by writing the letter corresponding to each calculus on
the board, or put a number on the board by placing a pebble for each
letter. Adding and subtracting Roman numerals is isomorphic with
manipulating an abacus.

7 -- 5+2 -- VII
3 -- 0+3 -- III
VII + III -- VI -- VV -- X
5+2 + 0+3 -- 5+5 -- 0+1,0+0

and similarly for LXX + XXX etc.

 http://www.novaroma.org/via_romana/numbers.html

 Roman numbers suck for arithmetic operations of any kind IMO.

 numbers =. i. 11  NB. 0..10

 ...similar to Python's range built-in.

 These objections are trivial and uninformed. You aren't a
 mathematician, you don't like math and math notation, so there is
 nothing more to say, except please stand out of the way of people who
 can benefit from it and want it.

 One could argue any computer language comprises a math notation.

In the mathematical theory of languages, we can regard any
Turing-complete symbol-and-rule set as a way to express all of
mathematics, but that is outside the question of what language to
teach or publish in, when the aim is communication with humans.

 Also, one could argue that all creatures are mathematicians in some
 innate way (Keith Devlin's point).

So they are, beyond argument. So why are we telling them how they want
to do math and computing? The mindset of When I want to hear your
opinion, I'll tell it to you is what I hate most about education
systems of the past and present.

 Carving out a special caste of humans and calling them mathematicians
 is a practice within various institutions.

Mathematicians are not a caste, but a guild with stiff entry
requirements. I am not a full member, since I quit after my BA and
went to teach in the Peace Corps.

 I've noticed many of these institutions promote a kind of snobbery,
 but then such is the human ego.

See The Theory of the Leisure Class, by Thorstein Veblen, and Buddhist
teachings on no-self. Reverse snobbery is also a feature of human ego.

 You can append a table to a table if they have a dimension in common.
 You can't append a table to a list unless the list is turned into a
 one-row table.


 Note that numpy shares some of APL's and J's ability to shape data
 into multi-dimensional objects with rank.

Yes. It would be more productive to discuss numpy here rather than
fight a meaningless rwar.

 import numpy
 a = numpy.array(range(10))
 a
 array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
 a.reshape((2,5))
 array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9]])
 a
 array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
 a = a.reshape((2,5))
 a
 array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9]])
 numpy.concatenate((a,a))
 array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9],
       [0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9]])
 numpy.concatenate((a,a), axis=1)
 array([[0, 1, 2, 3, 4, 0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9, 5, 6, 7, 8, 9]])

 I can easily give you a short sequence of lessons leading to this
 level, introducing some other arithmetic, transcendental, and
 array-handling functions along the way, and a little more about
 operating on functions to define new functions.

 Python is much nearer to standard Math-notation, that is a good thing.

 LOL. Math notation is what mathematicians use, not schoolchildren.

 Math notations, like music notations, are the common 

Re: [Edu-sig] Why Python?

2010-04-11 Thread Edward Cherlin
On Sun, Apr 11, 2010 at 21:03, Andrew Harrington ahar...@luc.edu wrote:
 Well put David.

 My choices are always about me and a particular situation.  I would not
 teach J to beginners

I would use the +-*% (+-×÷) subset of J in first grade for arithmetic,
alongside Turtle Art (with stack tiles), and  Etoys, including
Scratch. By third grade, we could introduce programming in J/APL,
Logo/LISP, FORTH, Python, and Smalltalk. At some point, we could show
how each represents the same internal parse tree in quite different
textual forms. What the LISPers call syntactic sugar. This is a
fundamental Computer Science concept.

 or to people not crunching a lot of mathematical stuff
 regularly, but for the professional statisticians and electronic traders I
 know, J is a fabulous language, and very worth the modest learning curve.

J would enable children to crunch data sets easily, allowing a radical
deepening of every subject. The learning curve would be very modest
when integrated with arithmetic and elementary science, and applied to
languages, history, geography, health, and gym.

 J is an interesting case.  Iverson did not totally open up the source.

There is a published version of the source for an earlier version of
J, without the IDE, graphics, and so on. I have a copy. There has been
some talk of creating a Free Software version, but no activity that I
know of. However, Iverson's son Eric is considering GPLing some
version of J in support of One Laptop Per Child and Sugar Labs. I need
to bother him about it again, because I am about to apply for two XO
1.5 units to use in preparing an introductory text on electricity. It
will use the built-in digital oscilloscope function (Measure) on the
XO, among other things, and will explain how to build and take data
from measuring instruments. I would be interested in working with
Pythonistas on a version using numpy and scipy.

 JSoftware still sells that to big users who want extra insurance for the
 future of their codebase, but the very powerful language is freely
 available.  The statisticians in my university are talking about dumping
 traditional massively expensive statistical environments, not for a switch
 to some Python tool, but to J and its freely available libraries.

 I fear I sometimes push Python in ways that can easily be interpreted as
 meaning for essentially all people and all situations.  I know that inside
 my head I am not thinking about so general a situation, but I think I could
 often communicate it better.

 Andy

 On Sun, Apr 11, 2010 at 6:50 PM, David MacQuigg macqu...@ece.arizona.edu
 wrote:

 Edward Cherlin wrote:

 On Sat, Apr 10, 2010 at 09:33, Christian Mascher
 christian.masc...@gmx.de wrote:


 Edward Cherlin wrote:


 [sigh]

 Do math tables in a math array language.

 degrees =. i. 91  NB. 0..90

 radians =. degrees * o. % 180

 table =. |: degrees, 1 2 3 o./ radians


 snip

 Python is much nearer to standard Math-notation, that is a good thing.


 LOL. Math notation is what mathematicians use, not schoolchildren.
 They are constantly inventing more of it. What you call math notation
 is known to mathematicians as arithmetic.

 There is no standard math notation.


 I think what Christian means to say is that Python is much nearer to a
 notation (pseudocode) that might be used by scientists and engineers who are
 trying to express an idea involving computation, without relying on a
 specific language.  Of course, there is no standard pseudocode, but if you
 look at textbooks that are most successful at expressing algorithms this way
 (my examples would be from engineering - Hachtel  Somenzi on Logic
 Synthesis, Stinson on Cryptography) what you see is a notation very close to
 Python.

 Pseudocode has to be self-explanatory.  There is no introductory chapter
 on how to read it.

We consider pseudocode self-explanatory to those who already know
the syntax of a similar language. But it is not so, any more than
mousing and icons is intuitive for those who have never seen them. I
consider my J example _with explanatory comments_ to be simpler than
the Python I was starting from, where it must be assumed that students
have had a prior introduction to the syntax.

 Likewise, an introductory computer language should be
 close to self-explanatory.  It will be difficult to get math and science
 teachers to accept it, if they have to make extra efforts explaining the
 notation.  Getting math and science teachers to accept computation as a
 vital part of their curricula is my current focus, so I wouldn't try to push
 something like your example above.

There are a number of math, science, and Computer Science textbooks in
which APL or J is the math notation throughout, being taught only as
needed without interrupting the main sequence of ideas. I can give you
citations. There is very little done in this manner in any other
programming language. (If you have seen some, please send me the
information.) I much prefer this approach

Re: [Edu-sig] [ANNC] pynguin-0.7 (python turtle graphics application)

2010-04-11 Thread Edward Cherlin
2010/4/11 Lee Harr miss...@hotmail.com:

 Pynguin is a python-based turtle graphics application.
     It combines an editor, interactive interpreter, and
     graphics display area.

 It is meant to be an easy environment for introducing
     some programming concepts to beginning programmers.


 http://pynguin.googlecode.com/

Lee, are you familiar with the Turtle Art activity in Sugar for the
OLPC XO, also written in Python? It provides blocks for integrating
Python code. You might want to talk to Walter Bender of Sugar Labs
about his plans for expanding TA, some of which match yours.

I have been thinking about how to integrate all of this into a
curriculum where we would apply turtle graphics to many subjects
starting in first grade or perhaps earlier, and later teach
programming and Computer Science within this environment rather than
purely as text.

 This release changes the method of starting and stopping
     the separate code-running threads. It should be much
     less susceptible to lock-ups and crashes, though I
     am still experiencing occasional problems.


 Pynguin is tested with Python 2.6.4 and uses PyQt (4.6)
     for its GUI elements. Pynguin is released under GPLv3.


 Changes in pynguin-0.7:
     - fixed deadlock when running with many pynguins at instant speed
     - new threading model greatly reduces problems with lock-ups
     - added more multi-pynguin examples
     - added commands turnto('random') and lineto('random')
     - added more random color possibilities ('rlight', 'rmedium', 'rdark')
     - allow named colors and html-style colors
     - added command clear()
     - added equation plotting examples - cartesian and polar
     - re-center on (0, 0) when moving view splitter
     - added svg/pdf worksheets


 Changes in pynguin-0.6:
     - fixed crash when using new_pynguin()
     - fixed possible crash during startup (due to race condition)
     - added goto('random') and xy() to easily get coordinates
     - added keyword args for fill -- fill(color=..., rule=...)
     - added easier access for fillcolor 'random'
     - added examples using multiple pynguins
     - remove any added pynguins when using reset()
     - set window title when using Save As...
     - better error messages when loading file with errors
     - whitespace cleanup when saving files
     - render About image and title at runtime
     - more examples


 Changes in pynguin-0.5:
     - catch errors when processing graphic move queue
     - capture and hold stdout and stderr
     - call str() on argument to write
     - guard against sending non-int to color


 _
 Hotmail: Trusted email with Microsoft’s powerful SPAM protection.
 https://signup.live.com/signup.aspx?id=60969
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] [ANNC] pynguin-0.7 (python turtle graphics application)

2010-04-11 Thread Edward Cherlin
On Sun, Apr 11, 2010 at 21:52, kirby urner kirby.ur...@gmail.com wrote:
 2010/4/11 Lee Harr miss...@hotmail.com:

 Pynguin is a python-based turtle graphics application.
     It combines an editor, interactive interpreter, and
     graphics display area.


 I like the idea of using turtles to plot graphs.

Illustrated at http://wiki.sugarlabs.org/go/Activities/Turtle_Art#maths
. I have done more examples.

 Replacing graphing
 calculators with Python is easier when there are simple plot functions
 available (yes, I know about matplotlib, Sage...)

 Curious how much of the Standard Library turtle model gets used here.
 Is the turtle stuff all rewritten from scratch.

 Kirby
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] using Python as a calculator

2010-04-09 Thread Edward Cherlin
[sigh]

Do math tables in a math array language.

degrees =. i. 91  NB. 0..90

radians =. degrees * o. % 180

table =. |: degrees, 1 2 3 o./ radians

where

=. is assignment
i. creates a list of consecutive numbers starting at 0.
NB. is the comment marker
o. x is pi times x
% x is reciprocal of x, so o. % 180 is pi/180
|: is transpose
, appends an array to another. It turns a list into a table in order
to match dimensions.
1 2 3 o. x gives sine, cosine, tangent of x
/ creates a table with the given function (o.) applied to two list arguments

The result is a 91 row, 4 column table of angles and trig function values.

I can easily give you a short sequence of lessons leading to this
level, introducing some other arithmetic, transcendental, and
array-handling functions along the way, and a little more about
operating on functions to define new functions.

J is no-charge software from JSoftware.com. We are discussing the
possibility of a GPLed version.

When you do such function tables, it is extremely helpful to show the
first differences. The differences of sine are approximately
proportional to cosine, and of cosine are proportional to the
negatives of sine.

On Thu, Apr 8, 2010 at 10:43, kirby urner kirby.ur...@gmail.com wrote:
 I think Guido was wise to start his tutorial by showing how we
 might use Python as a calculator.

 We might assume many students in this day and age are quite
 familiar with this device, and even if they're not, the text might
 project one, show a picture on the screen, if what these things
 used to look like (still do).

 However, one thing calculators lack over the old wood pulp
 textbooks are trig tables with multiple rows showing a lot of
 data at the same time.  Their small chat window does not
 permit much data to be seen at one time.

 Back in the day, a student could run her finger down the
 rows, as the number of angular degrees increase from
 0 to 60 and onward to 90, perhaps all the way around to
 360.

 Going across the row, one would have sine and cosine,
 perhaps tangent.  Having all the data visible at once, or spread
 across a few pages, inspired some insights and understanding,
 as one could see the trends in the numbers, plus these
 click stop rows where the numbers would suddenly be
 super easy, like 1/2 and 1/2 for both sine and cosine.

 Calculators don't give us that kind of output, but earlier office
 computing machines did have paper i/o, called a tape, usually
 a scroll mounted on a spool and fed through a small printer.

 As one added numbers, one printed to tape, perhaps a running
 total.  The tape itself was a valuable item (especially once it
 had the data on it).

 Large computers came with line printers that hit on continuous
 feed paper with holes along both sides, often with green and
 white stripes.  I will not try to recapitulate the long history
 of printing devices, except to point out that computers
 inherited them while slide rules and calculators did not.

 The equivalent in Python is stdout and/or some file in storage,
 on the hard drive or memory stick.  The program output
 shown below would be an example of this kind of i/o.

 Notice that unless a file name is given (optional), the data
 is to stdout.

 I'm going to do a full 90 degrees, just to remind myself of
 the patterns students got in the old days, before trig tables
 were replaced with calculators, much as dial watches were
 replaced with digital ones (not necessarily a smart move
 in all cases).

 imp.reload(newprint)
 module 'newprint' from 'C:\Python26\lib\site-packages\newprint.py'
 newprint.trigtable(range(91), trigtable.txt)

 The contents of trigtable.txt:

    0      1.0    0.0    0.00e+00
    1      0.999847695    0.017452406    1.745506e-02
    2      0.999390827    0.034899497    3.492077e-02
    3      0.998629535    0.052335956    5.240778e-02
    4      0.997564050    0.069756474    6.992681e-02
    5      0.996194698    0.087155743    8.748866e-02
    6      0.994521895    0.104528463    1.051042e-01
    7      0.992546152    0.121869343    1.227846e-01
    8      0.990268069    0.139173101    1.405408e-01
    9      0.987688341    0.156434465    1.583844e-01
   10      0.984807753    0.173648178    1.763270e-01
   11      0.981627183    0.190808995    1.943803e-01
   12      0.978147601    0.207911691    2.125566e-01
   13      0.974370065    0.224951054    2.308682e-01
   14      0.970295726    0.241921896    2.493280e-01
   15      0.965925826    0.258819045    2.679492e-01
   16      0.961261696    0.275637356    2.867454e-01
   17      0.956304756    0.292371705    3.057307e-01
   18      0.951056516    0.309016994    3.249197e-01
   19      0.945518576    0.325568154    3.443276e-01
   20      0.939692621    0.342020143    3.639702e-01
   21      0.933580426    0.358367950    3.838640e-01
   22      0.927183855    0.374606593    4.040262e-01
   23      0.920504853    0.390731128    4.244748e-01
   24      0.913545458    0.406736643    

Re: [Edu-sig] Python projects for CS1

2010-03-23 Thread Edward Cherlin
 challenge multiple times, but with new tools
 and/or concepts each time, is what many teachers call
 spiraling as you likely know.

 Pre-written code may be called scaffolding if you wanna
 sound like you know the shoptalk.

 In the high school math teaching world, John Saxon is often
 cited for making especially strategic use of spiraling
 although his detractors would consider this unmerited
 crediting of an interloper (something of a maverick that
 guy -- never met him).

 I mention all this by way of background, in that I cite him
 in my Notes for Teachers for Pycon 2009 re spiraling FYI:

 http://www.4dsolutions.net/presentations/py4t_notes.pdf

 On another note, thanks to Edward Cherlin (and Maria too)
 for jumping in on math-thinking-l this month.  That's a
 functional programmers' hangout and any incursion of
 imperative programmers tends to generate some ire
 -- kinda like West Side Story?  In the old days, we'd
 find some eligible prince or princess to marry into the
 Great Lambda tribe (as in lambda calculus).

 I've been bugging philosophers to devote some bandwidth
 to this feuding but they're busy with paper and pencil logic,
 can't be bothered with CS apparently.

 Maybe I'm being overly judgmental, and anyway it's not like
 there's anything much at stake.  Or is there? -- math teachers
 like Maria get caught in the cross-fire, Gary too for that
 matter, though he seems to hold his own.  Maybe the
 floodgates would open for more funding of discrete maths
 at the high school level, if only the engineers weren't seen
 to be fighting amongst themselves so much?  Nothing scares
 away wannabe investor-sponsors so much as feuding and
 acrimony eh?

 Speaking of Gary (Litvin), he got the ball rolling by commenting
 on corestandards.org, a K-12 standards-building initiative
 purportedly with real state governors on board.  He sees signs
 that discrete math topics are losing ground, not gaining it.
 But that's perhaps more testament to an unimaginative
 and uninformed bureaucracy that has yet to achieve
 a strangle-hold?  One may fondly so hope I suppose. Over
 on math-teach, I mention that our Pauling Center has not
 been consulted, and we're at the epicenter (evidence that
 these bureaucrats have gone way out on a limb?).

 http://mathforum.org/kb/message.jspa?messageID=7013136tstart=0

 See math-thinking-l archives if wanting more substance
 behind these ramblings (wanderings).

 Bill, if you're still with me, I look forward to poking around
 in more of your exercises and may well have more to say,
 hope OK.

 Kirby
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Computer Science For Kids Book Announcement

2010-03-19 Thread Edward Cherlin
Not bad. There are things we can improve. For example, a variable is
less like a nickname referring to one thing than a pronoun that can
refer to different things each time it is used. I do not have time
today for a complete review, but I would like to do it sometime soon,
in part because I have a different approach to teaching nine-year-olds
Computer Science, and because I am promoting the idea of replacing
printed textbooks with computers (costing less) and free electronic
learning materials. We don't have a good name for them, because they
are based on software such as Turtle Art or Smalltalk, and are clearly
neither texts nor books.

On Fri, Mar 19, 2010 at 00:28, Andre Lessa an...@lessaworld.com wrote:
 Hey Python Community,

 I just self published this brand new book and I'm making its PDF
 available for (free) download on my web site.

 My goal is to explain some very basic fundamentals of computer science
 to kids who are starting to learn about computers at school and/or at
 home. For the tiny hints of programming, I referenced Python. If you
 (or a kid you know) ends up having access to this book, please send
 your feedback (suggestions/corrections) directly to me so I can start
 thinking about the next edition and how I can make it even cooler for
 kids.

 Thanks!
 Andre Lessa

 You can download the entire book here (no registration required).
 Computer Science For Kids
 http://www.LessaWorld.com/kids/
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Method / Functions - What are the differences?

2010-03-10 Thread Edward Cherlin
On Wed, Mar 10, 2010 at 09:45, John Posner jjpos...@optimum.net wrote:
 [ cross-posting to edu-sig ]

 Bruno (and anyone else interested) --

 As I promised/threatened, here's the *start* of a write-up on properties,
 aimed at non-advanced Python programmers:

  http://www.jjposner.net/media/python-properties-0310.pdf

 I'm interested in corrections, of course. But I'm also interested in
 opinions as to whether this somewhat lengthy treatment is worth the effort
 -- does it improve on existing write-ups?

I find that it will explain things to those who already understand
most of the concepts. However, I felt as though I were being led
through a maze without knowing where we were headed. This suggests
that the concepts can be re-ordered in a manner that will help your
readers more, and then we can refactor further. (Yes, you can apply
Extreme Programming concepts to create Extreme Documentation,
including consultations with users, pair or group writing, frequent
refactoring, and more, as at FLOSSManuals.net.)

Who is your expected audience?

 Tx,
 John

 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Feb 24 cs-in-math Elluminate meeting (Math 2.0)

2010-02-25 Thread Edward Cherlin
On Thu, Feb 25, 2010 at 19:33, kirby urner kirby.ur...@gmail.com wrote:
 I briefly blogged about our meeting last night.

 http://mybizmo.blogspot.com/2010/02/learning-on-line.html

Thank you.

 I posted Ed Cherlin's Chinese + Arabic sig

Japanese/Urdu in language, but you are correct as to writing system.

 as a test of the unicode
 interface, even though he couldn't find Elluminate for his distro, so
 had to bail.

 Maria D. did a good job of hosting, and we were graced with the
 presence of one of the Great Lambda heavyweights, Peter Henderson.

 http://www.math-in-cs.org/

I am a great admirer of the tribe and the languages, although I also
enjoy the UnLambda language.

 The Great Lambda worshipers are a tribe to our north, inherit through
 LISP, LOGO and Scheme, although that middle language donated its
 turtle to the OO camp, also working in Ruby right?

And in Turtle Art, written in Python, on Sugar.

 http://www.rubyquiz.com/quiz104.html
 http://blog.notahat.com/posts/4

 Re:  Great Lambda worshipers:  talking about the functional
 programming camp, not wanting to pollute thinking like a mathematician
 with the mutable variables of the computer scientists.

There are many kinds of mathematician. I worked a bit with Ken Iverson
of APL and J fame on how to add combinatory logic abstraction to J and
other languages, and published a paper on it. J supports several
flavors of Computer Science and math, including FP, OO, and
traditional APL.

 Python has little lambda (a token lambda).

 We seemed pretty much in agreement during this meeting that Computer
 Science is going away as a high school discipline, leaving only
 Mathematics (cite:  death of CS AP test, only a pale shadow of its
 former self).

I am working on Third Grade CS, in Turtle Art and Smalltalk.

 The only question seems to be whether folding CS into Math means
 keeping some programming, or going with the New Zealand unplugged
 route (CS on paper).

 I'm not sure even New Zealand is going the NZ unplugged route.  Nat
 Torkington has a say:

 http://nathan.torkington.com/

 Lets see how students vote with their feet on that one, i.e. it's
 not entirely up to the teachers.

Amen, brothers and sisters. That's my greatest hope for giving
children Internet access on XOs, that we will be able to hear from
them, and they will be able to hear from each other in numbers for the
first time.

 Kirby
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] [Math 2.0] Math Thinking community, meet Math 2.0 network! February 24th webinar

2010-02-24 Thread Edward Cherlin
I've been wishing for this. Thanks. I signed up for the mailing list.

It turns out that the Java Web Start software is not available for
Debian or Ubuntu Linux, so I can't join in tonight.

*{%{[

On Wed, Feb 24, 2010 at 10:43, Maria Droujkova droujk...@gmail.com wrote:

 Wednesday, February 24th 2010 we will meet in the LearnCentral public
 Elluminate room at 6:30pm Pacific / 9:30pm Eastern time:
 https://sas.elluminate.com/d.jnlp?sid=lceventspassword=Webinar_Guest

 This event, in the Research, Grants and Publications Track, is devoted to
 the Math in Computer Science community. As a part of the introduction, Maria
 Droujkova will interview Peter Henderson, a co-founder of the community,
 about their history, goals and projects. We will then take a look at an
 active K-12 group within the community, The Teach Group, with Rex Page
 answering questions about it. We may touch on some of the currently hot
 controversies within the community, such as roles of procedural and
 functional programming in helping students understand mathematics.

 More information from the community's site http://www.math-in-cs.org/

 What we are

 Mathematical reasoning is central to computer science. It should therefore
 be an integral part of the entire CS curriculum, with special emphasis in
 the early courses. This would be a deviation from current practice,
 requiring systemic change in CS education. We are a group of computer
 scientists, mathematicians, and others interested in fostering such change.
 The group meets (via e-mail), to discuss topics related to mathematical
 reasoning in CS and its teaching. An archive of these discussions is
 available on-line. Possible topics include, but are not limited to, which
 mathematical concepts are relevant, when and how they can/should be
 introduced and reinforced in the curriculum, how they relate to practice,
 pedagogical approaches to teaching math foundations, supporting
 laboratories, etc. We are undertaking concrete projects designed to raise
 awareness of mathematical reasoning in CS and of ways of teaching it.

 Events where community members meet

 CCSC:MW, the 16th annual Consortium for Computing Sciences in Colleges
 Midwestern conference, Oct. 9- 10, 2009, St. Xavier University, Chicago, IL,
 USA.
 CCSC:NW, the 11th annual Consortium for Computing Sciences in Colleges
 Northwestern conference, Oct. 9 - 10, 2009, Pacific Lutheran University,
 Tacoma, Washington, USA.
 OOPSLA 2009, the 2009 ACM/SIGPLAN Object Oriented Programming Languages
 Systems and Applications conference, Oct. 25 - 29, 2009, Orlando, Florida,
 USA.
 CCSC:E, the 25th annual Consortium for Computing Sciences in Colleges
 Eastern Conference, Oct. 30 - 31, 2009, Villanova University, Villanova,
 Pennsylvania, USA.
 SIGCSE 2010, the 41st ACM Technical Symposium on Computer Science Education,
 Mar. 10 - 13, 2010, Milwaukee, WI, USA.
 CCSC:CP, the 16th Annual Consortium for Computing Sciences in Colleges
 Central Plains Conference, April 9 - 10, 2010, Park University, Parkville,
 Missouri, USA.
 ACMSE, the 48th ACM Southeast Conference, April 15 - 17, 2010, Oxford,
 Mississippi, USA.
 ICSE 2010, the 32nd International Conference on Software Engineering, May 2
 - 10, 2010, Cape Town, South Africa.
 PLDI 2010, the 2010 ACM/SIGPLAN Conference on Programming Language Design
 and Implementation, June 5 - 10, 2010, Toronto, Canada.

 Cheers,
 Maria Droujkova
 http://www.naturalmath.com

 Make math your own, to make your own math.


 --
 You received this message because you are subscribed to the Google Groups
 MathFuture group.
 To post to this group, send email to mathfut...@googlegroups.com.
 To unsubscribe from this group, send email to
 mathfuture+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/mathfuture?hl=en.




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Pascal's Triangle (in 2.6)

2010-01-30 Thread Edward Cherlin
Pascal's Triangle mod 2 is also a Sierpinski gasket fractal. This is
one of the Python examples in Pippy in the Sugar education software.

# Sierpinski triangles
import sys
size = 3
modulus = 2

lines = modulus**size

vector = [1]
for i in range(1,lines+1):
  vector.insert(0,0)
  vector.append(0)

for i in range(0,lines):
  newvector = vector[:]
  for j in range(0,len(vector)-1):
if (newvector[j] == 0):
  print  ,
else:
  remainder = newvector[j] % modulus
  if (remainder == 0):
print O,
  else:
print .,
newvector[j] = vector[j-1] + vector[j+1]
  print
  vector = newvector[:]

On Sat, Jan 30, 2010 at 12:23, kirby urner kirby.ur...@gmail.com wrote:

This process below is how I learned Pascal's Triangle from my mother
when I was 11.

 
 Rows of Pascal's Triangle

 See:
 http://en.wikipedia.org/wiki/Pascal%27s_triangle
 Calculating an individual row

 Consider a row starting as follows:
 1, 12...

 Initialize to [1] and multiply by (row_num/1)
 to get the next term, row[1].

 Then decrement and increment again, getting
 (11 / 2), (10 / 3), (9 / 4) and so forth, and multiply
 by the last term so far.  Stop when the numerator
 is 0.

 1 * (12/1) = 12
 12 * (11 / 2) = 66
 66 * (10 / 3) = 220
 220 * (9 / 4) = 495

 etc.

 This is another way of computing successive values
 of C(n, k) without using a factorial function and
 dividing.

 Independently discovered by David Koski,
 implemented in Python by Kirby Urner

 

 def pascal_row(row_num):
    numer = row_num
    denom = 1
    # initialize row of Pascal's Triangle
    row = [1]
    while numer  0:
        row.append((row[-1] * numer/denom))
        numer -= 1  # decrement numerator
        denom += 1  # increment denominator
    return row

 def pascal_mod2(row_num = 0):
    
    row integers mod 2, give a binary string which
    corresponds to Rule 60 in the Wolfram categorization
    scheme for cellular automata

    http://www.research.att.com/~njas/sequences/A001317
    
    while True:
        therow = pascal_row(row_num)
        binary = .join(str(i % 2) for i in therow)
        yield [int(binary,2), binary]
        row_num += 1

 
 traditional generator for successive rows, included
 for completeness
 

 def pascal_gen():
    row = [1]
    while True:
        yield row
        row = [i + j for i,j in zip(row + [0], [0] + row)]
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


[Edu-sig] New APL

2009-12-06 Thread Edward Cherlin
An old friend, ex-IBM, ex-Wall Street, is working on a new Open Source
APL which he and I intend to get into the Sugar education software for
OLPC. I can't tell you any more than that until he puts code out for
the public to test.

-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] teaching python using turtle module

2009-11-29 Thread Edward Cherlin
On Sun, Nov 29, 2009 at 11:34, Brian Blais bbl...@bryant.edu wrote:
 Hello,
 I was just playing with the turtle module, and thought it was an interesting
 way to augment the introduction to python (I teach college students, who
 haven't had any programming).  It's a great way to introduce functions,
 for-loops, and general program structures.

If you use the Python-programmable tile in Turtle Art in Sugar, or
Smalltalk in the Turtle Graphics in Etoys, it's even better. I have
been doing presentations on teaching Python in elementary schools, and
working on how to teach basic Computer Science ideas. You can use an
if-then-else to initialize a stream in Python for the first pass, and
get a value at each pass thereafter. The logic can be either in the TA
or the Python.

 After a bit of playing, I realized that I couldn't think of many exaples
 which use turtle with conditional structures (if- and while- statements),

Repeat is used much more often. but of course we can provide examples
of any behavior you like. I like to use the turtle to generate
sequences, where I can use a conditional to stop when the turtle would
go off the screen. Fibonacci numbers, for example, or exponentials.
Similarly for spirals of various types. Simple cases like those are
easy to do in TA, while more complex sequences could use Python. There
are several fractal examples using loops provided with Sugar on a
Stick, including variations on Siepinksi constructions, and the Koch
Snowflake.

When I can get the code for reading the color of a dot on the screen
into the programmable tile, I can program a toy Turing machine, with
an array of dots as the transition table, and a line of dots as the
tape.

 or
 functions that return values, as opposed to procedures like:
 def square(length):
     forward(length)
     right(90)
     forward(length)
     right(90)
     forward(length)
     right(90)
     forward(length)
     right(90)

Surely you mean

repeat(4)
   forward(length)
   right(90)

 If-statements could possibly be used with some sort of random behavior (if
 rand()0.5 ...).

Drunkard's Walk.

 Are there any other situations, using turtle, that these
 structures would be natural?

Recent versions of TA contain stack instructions: push, pop, read,
clear. Your students might find it interesting to program Forth
instructions in TA or Python. This has practical applications in
implementing and porting virtual machines such as Parrot and the VMs
in Smalltalk and I-APL.

There is plenty more where this came from. You would also be welcome
to adapt the Python source code for TA tiles to your environment.

 thanks,
 Brian Blais
 --
 Brian Blais
 bbl...@bryant.edu
 http://web.bryant.edu/~bblais



 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig





-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] more card play

2009-11-03 Thread Edward Cherlin
On Mon, Nov 2, 2009 at 22:20, Laura Creighton l...@openend.se wrote:
 In a message of Mon, 02 Nov 2009 20:27:35 PST, Edward Cherlin writes:
Cards: You are right on the merits for combinatory math, but you will
run into strong cultural aversions.

 Why?  Especially when _dice_ seem to be the preferred way to teach
 this stuff?  (Or is this only here?)

I'm including the rest of the world, not just the US. I expect issues
to be raised by Evangelical Christians, Muslims and others in various
countries. Dice might be easier, because casting lots is mentioned
with approval in the Bible. Certainly we can come up with equipment
that is not associated with common taboos.

 Laura




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] more card play

2009-11-03 Thread Edward Cherlin
On Tue, Nov 3, 2009 at 19:44, Laura Creighton l...@openend.se wrote:
 In a message of Tue, 03 Nov 2009 18:37:54 PST, Edward Cherlin writes:
On Mon, Nov 2, 2009 at 22:20, Laura Creighton l...@openend.se wrote:
 In a message of Mon, 02 Nov 2009 20:27:35 PST, Edward Cherlin writes:
Cards: You are right on the merits for combinatory math, but you will
run into strong cultural aversions.

 Why?  Especially when _dice_ seem to be the preferred way to teach
 this stuff?  (Or is this only here?)

I'm including the rest of the world, not just the US. I expect issues
to be raised by Evangelical Christians, Muslims and others in various
countries. Dice might be easier, because casting lots is mentioned
with approval in the Bible. Certainly we can come up with equipment
that is not associated with common taboos.

 Laura

 I wasn't clear, sorry.  Around here (Sweden), when you want to teach
 probability, you get out the dice.  That's how it is taught, and
 how all the exercises are set up, etc.  I'm really surprised at
 the notion that cards would be unacceptable, while dice would be
 fine.

 I know some people who would be strongly against both, seeing both
 as gambling devices, and I know some people who every year are
 opposed to the dice and who would find cards unobjectionable.
 I hadn't thought that people who like dice but hate cards exist.
 Do you know some?  Or are you guessing that they must exist?

Guessing that they might exist.

Certainly there are people who like ordinary cards and dice, but not
Tarot. I'm one of them. The cards themselves normally don't bother me,
but I have had issues with people who got into the practice.

 And
 if the latter, why?

 Do you use something else to teach probability?

All sorts of things. Coins, Othello pieces, dice (4-30 sides), cards
from various decks, dreidls, wheels of fortune, spinners, socks in a
bag, colored balls, pseudo-random number generators, random number
generators, letter distribution in texts,...

 still puzzled,
 Laura




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] more card play

2009-11-02 Thread Edward Cherlin
Cards: You are right on the merits for combinatory math, but you will
run into strong cultural aversions.

Reverse string in place with new iterator: There is a great deal more
of this. In the 1980s Hewlett-Packard built an APL system around such
transformations in place and lazy evaluation rules, including
matrix/table transpose, take, drop, catenate, laminate, and a number
of other transformations and combinations. I can probably dig out
Harry Saal's paper on the subject. Indeed, that and several others.

http://portal.acm.org/citation.cfm?id=801218dl=GUIDEcoll=GUIDECFID=59626041CFTOKEN=28525913
An APL compiler for the UNIX timesharing system

http://portal.acm.org/citation.cfm?id=586034dl=GUIDEcoll=GUIDECFID=59626133CFTOKEN=77609109
Considerations in the design of a compiler for APL

http://portal.acm.org/citation.cfm?id=804441
A software high performance APL interpreter

On Sun, Nov 1, 2009 at 19:55, kirby urner kirby.ur...@gmail.com wrote:
 I'm becoming more enamored of the idea of using playing cards as a
 standard feature in my Python pedagogy and andragogy (means teaching
 adults).  Not only do we have the standard deck, but also Tarot which
 could get us more into text files, string substitution
 (string.Template) and so forth.

 Cards have all the elements

 Mathematically, a Deck suggests the difference between Cardinality
 (yes, a silly pun) and Ordinality.  You might imagine a deck in which
 you can't decipher the cards, don't know their face value, and so
 have no clear idea of their ranking (ordinality).

 On the other hand, you know which cards are the same and which are
 different across multiple decks (le'ts just say), which is the meaning
 of cardinality (difference without any implied ordering).

 Midhat Gazele dwells on this difference some in his book 'Number'.
 You might have a set of objects, say stones or wasp specimens, and a
 way of cataloging them that doesn't implement  or  or even ==.
 There is only the Python is and is not for determining of two
 objects have the same identity or not.  License plates on cars, proper
 names, have this purpose of distinguishing.

 However, very quickly just about any set beyond a certain size needs
 an ordering, perhaps simply alphabetical, so that one might flip
 through a lookup table in a hurry and get to the desired object.
 People used to use ledgers, thick books, for such cataloging.

 This is the beginning of data structuring or data structures.  The
 idea of ordering (ordinality) is very closely associated with that
 of cardinality.

 Anyway, over on Pyfora I was noticing a member suggesting reversing a
 string might be best accomplished by thestring[::-1], i.e. extended
 slicing with from the end to the beginning step with a step of -1.
 However PEP 322 suggests this will be inefficient compared a a built
 in function introduced in 2.4:  reversed.

 According to the PEP, all reversed needs is for the consumed object to
 support __getitem__ and __len__.  If those two are present, the
 function will do the rest, and return an iterator object in which the
 contents of a sequence are iterated over in reverse order.

 a = 'the rain in spain stays mainly in the plain'
 ''.join(reversed(a))
 'nialp eht ni ylniam syats niaps ni niar eht'

 So for our Deck to be reversible by means of this built in function,
 the only methods we need to implement are these two, __getitem__ and
 __len__.  I do this below, plus make shuffling the deck upon
 instantiation an option, not de rigueur (not mandatory).  This makes
 it easier to see what reverse order is like.

 Note that the returned iterable is not itself a Deck, nor is it
 subscriptable, as the whole point of an iterable is it returns its
 contents just in time as you iterate over it.  The cards are not
 already present in reversed order, are simply returned in reverse
 order.

 Of course you can force the iterable to dump all its contents by
 coercing it into a list.  I do this as a part of the clone_deck
 method.  Playing Game of War with clone decks, one the reverse of the
 other, results in a draw if always dealing from the top (now the
 default, yet still optional).

 The code below is just my Game of War again, with a few wrinkles.
 I've upgraded all string printing to use the
 print(thestring.format(args)) approach, versus the old percent sign
 string substitution codes.  Other small improvements.

 from sillygame import Deck
 d = Deck(10)
 newd = d.clone_deck()
 newd[0] is d[0]
 True
 id(newd[0])
 22884944
 id(d[0])
 22884944
 d.shuffle()
 str(d)
 ['7 of Diamonds', 'Jack of Spades', 'Queen of Clubs', 'King of
 Spades', '5 of Clubs', '3 of Spades', '6 of Hearts', 'Ace of Clubs',
 '2 of Hearts', '9 of Spades']
 str(newd)
 ['2 of Hearts', 'Queen of Clubs', '6 of Hearts', '9 of Spades', '5 of
 Clubs', '7 of Diamonds', 'Ace of Clubs', '3 of Spades', 'Jack of
 Spades', 'King of Spades']
 d[0]
 Card(Diamonds, ('7', 7))
 newd[5]
 Card(Diamonds, ('7', 7))
 d[0] == newd[5]
 True
 d[0] is newd[5]
 True

Re: [Edu-sig] Python for Philosophers

2009-10-28 Thread Edward Cherlin
My degree is in Math and Philosophy. Most of the Foundations of
Mathematics courses were in the Philosophy department back then,
including a lot of what turned into Computer Science.

On Wed, Oct 28, 2009 at 11:25, kirby urner kirby.ur...@gmail.com wrote:
 I've been seeing some conversations aimed at expanding the Python
 community (the community of Python users) beyond the world of computer
 science and IT, into the Liberal Arts more generally.[0]  Of course
 this is music to my ears.

The Two Cultures prejudice is one of the worst ever.

 Parallel to this notion that ordinary math learning would be enhanced
 through mastery of an executable math notation (aka a programming
 language) [K. Iverson], is the idea that contemporary academic
 philosophy curricula should take these languages more seriously.

 What's closer to fulfilling the Leibnizian dream of automating
 thinking, modal logic or Python?  Not that it's either/or of course.
 I've been looking at this one of the Wittgenstein lists.[1]

We're doing quite well at Artificial Stupidity, I hear. ;-

 Speaking of philosophy, old timers here know I've poked at this issue
 of objectification i.e. in some corners to objectify is a bad
 thing to do, means you're at best being a cold fish, at worst being
 inhumane to your fellow humans.

Reification is also a problem. Most people imagine a world made of
things. Wittgenstein tried to imagine a world made of facts. Some
scientists have noticed that this is a world of a) we don't know what
and b) we don't know how to think about it. Mathematically, the world
could just as well (or as poorly) be composed of relations or
processes.

 I've flagged this as a PR issue we
 need to address.  Along those lines, I've buried a comment for
 feedback, probably won't get any (too buried).[2]

 Wev'e got James Bennett in the Django tribe, yakking about the
 relevance of a philosophy background to his work with Python.[3]

 Imagine a four-year philosophy program that actually featured some
 programming.

As I said, I did that--Turing machines and several of the
Church-equivalent systems, modal and combinatorial logic, recursive
function theory, non-standard arithmetic and analysis...

 How would we connect Python to a philosophy of mind
 thread?  I try my hand at forging that link on said Wittgenstein list
 (concluding paragraphs).[4]

 Kirby



 [0] http://archives.free.net.ph/message/20090831.140043.d7465e01.en.html

 [1] 
 http://www.freelists.org/post/wittrsamr/More-on-meaning-as-use-reply-to-Josh,1

 [2] 
 http://theangryblackwoman.com/2009/10/01/the-dos-and-donts-of-being-a-good-ally/#comment-26523

 [3] Excerpt from
 http://uswaretech.com/blog/2008/04/interview-with-james-bennett-django-release-manager/

 James: Well, I wouldn’t say there’s anything specific necessarily. But
 I think there’s a big place for people with liberal-arts backgrounds
 to come to programming, and I think philosophy’s a good path to do
 that. If you look at a typical philosophy program, you’re doing a lot
 of logic, a lot of critical analysis, a lot of abstract reasoning. You
 have to get comfortable sooner or later with all sorts of formalisms
 that don’t necessarily have any practical meaning, and that’s very
 similar in a lot of ways to programming :) And when you get right down
 to it, as programmers, about 90% of what we’re paid to do is think:
 our job is to take a problem, analyze it, break it down into pieces
 and solve them. And that’s not terribly different from what you spend
 four years doing in a philosophy program. I’ve actually joked about
 that a bit with some of my former professors, that I still get to
 argue as much as when I was doing philosophy, but the programming pays
 a lot better. I do think, though, that there’s a big need for that
 sort of thing; we don’t really teach critical thinking anymore, and
 while it’s a vital skill to have no matter what you do for a living,
 it’s absolutely crucial to programming. So if you can get a good
 liberal-arts background where you’ve been taught how to look at things
 and pick them apart and analyze them, you can definitely do well as a
 programmer. Though it’d also be a good idea to take at least a few
 elective math courses…

 [4] http://www.freelists.org/post/wittrsamr/More-on-meaning-as-use

 Computer languages were far less evolved when
 Wittgenstein was writing, however they today provide a
 clear exhibit of meaning as use, as the language games
 have everything to do with driving machinery, making
 things happen, more like those orders in battle he
 was talking about (indeed, we speak of imperative
 languages sometimes, of expressions as
 commands).

 In the Python language, one tends to use the word
 self a lot, and indeed it plays an analogous role to
 self in ordinary speech, in that every object has one,
 and because of this self, each object is personalized
 i.e. rendered distinct from every other, even if it
 arises from the same blueprint or class definition.

 

[Edu-sig] Fwd: Donald McIntyre

2009-10-27 Thread Edward Cherlin
FYI. Much loved in the APL community.


-- Forwarded message --
From: Curtis A. Jones curtis_jo...@ieee.org
Date: Tue, Oct 27, 2009 at 08:34
Subject: Fwd: Donald McIntyre
To: apl...@listserv.acm.org


-- Forwarded message --
From: Roger Hui rhui...@shaw.ca
Date: Oct 25, 8:48 pm
Subject: Donald McIntyre
To: comp.lang.apl


Donald B. McIntyre (1923-08-15 to 2009-10-21)
passed away peacefully in the afternoon of
October 21.  Donald was an eminent geologist
who pioneered the use of computers in geology.
He was a gifted and inspiring teacher, an early
and long-time APL and J user, and a friend and
colleague of Ken Iverson and myself.  He is
survived by his wife Ann and his son Ewen.
A memorial service will be held in St. John's
Kirk in Perth, Scotland, this coming Friday,
October 30.

Information about Donald's life and times and
his work can be found athttp://www.dbmcintyre.pwp.blueyonder.co.uk/




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Summarizing some threads (KIrby again)...

2009-10-23 Thread Edward Cherlin
Yes, you're on the right track. All of schooling is based on medieval
metaphors (such as the lecture, originally for purposes of dictation
in the days before printing) and the history of thought, instead of
the logic of the subject matter or of the reasons for learning
anything. We are still teaching pre-calculator, pre-computer math as
though there was some special virtue in hand calculation with paper
and pencil, instead of recognizing that the days of the counting house
are over and are not coming back. (There is a virtue in understanding
how arithmetic works. It is better acquired by having students teach
computers how to do it, that is, by learning how to program accurately
and effectively.)

Also, geometry is not the only realm where we need to take a fresh
look. All of math has been restructured in the last century in terms
not just of objects, but of systems. Axiom systems, structures,
symmetries, relationships between seemingly different branches of
math, or math and an application area such as physics or crytography
or...we don't even know what, yet. Category theory attempted to
generalize everything by looking at systems of objects and mappings
between them. It has been superseded by the even more general topose
theory, which starts from your lumpengeometrie and turns into a Theory
of Nearly Everything in math.

I will not attempt to explain this all today, because I am supposed to
be writing a book. More later.

On Fri, Oct 23, 2009 at 16:11, kirby urner kirby.ur...@gmail.com wrote:
 Those of you frequenting this list for some years will recognize most
 of these themes.  From time to time I like to archive a summary.

 Principal themes:

 I.  Math Objects (an approach to learning math)
 II. Objects First (an approach to learning programming)

 These two go hand-in-hand.

 Math Objects are traditional concepts such as polynomials, polyhedra,
 vectors, integers, treated as Types of Thing, i.e. we're making math
 concepts concrete by distilling the things or types people have
 invented over the centuries.  One place to begin, familiar to computer
 science, is to differentiate alpha from numeric types.

 Objects First means taking the object-oriented philosophy seriously,
 meaning we're mining everyday (ordinary) human language semantics,
 wherein we already think in terms of named things (nouns) having
 behaviors (verbs) and attributes (adjectives).

 My curriculum anchors Objects (things) in the biological world of
 biota, animals, creatures, flora and fauna.  Then we move to the more
 abstract types of object of interest in mathematics, polyhedra
 especially because these are also visible and tangible, forming a
 bridge to that biological world.

 Python is especially cool as an OO language because when building a
 biological creature as a template, one has these special names that
 look somewhat like __ribs__.  The methods stack up providing a
 backbone or rack of ribs i.e. there's a visual analogy to a creature,
 a snake in particular, right in the language itself.

 The Objects First approach doesn't buy into the ontogeny
 recapitulated phylogeny ideology, by which I mean:  just because
 programming languages evolved a certain way doesn't mean newcomers
 have to traverse the discipline in that same order.  Regions new to
 telephony don't need to install land lines before they go with cell
 phones -- go straight to cell (straight to OO).

 Another theme:

 III.  streamlining the teaching of spatial geometry

 I've separated this last theme out of the mix because it's what sets
 me apart more than the above and makes me a marginal figure,
 apparently off my rocker in some way.

 I passionately believe that we should be taking greater advantage of
 the streamlining done by the geodesic dome guy, Bucky Fuller,
 regarding how to compact a lot of geometric information into a
 compressed data structure he named the concentric hierarchy of
 polyhedra (meaning you include them inside each other, sort of like
 Russian dolls -- not a new idea, but the devil is in the details).

 I won't go into some verbose presentation of III in this post.
 However I do think when you move from calculators to full fledged
 computers, then it's time to get off the plane and start taking
 advantage of those much bigger and more colorful screens.  So even if
 you're highly skeptical of the Bucky Fuller bit, you might stay with
 me on this notion the polyhedra and spatial geometry will naturally
 come into vogue as we move beyond calculators and start taking more
 advantage of computers.

 I've invested many years developing these ideas and presenting them in
 cogent form.  The materials are open source and on the Internet.

 Again, it's III that makes me moves me into the esoteric category,
 where I start questioning only using a Euclidean set of axioms, start
 taking up a geometry of lumps and making all sorts of high level
 connections to Karl Menger (dimension theorist) and Ludwig
 Wittgenstein (philosopher).

 I also 

Re: [Edu-sig] recent curriculum writing (Urner)

2009-10-15 Thread Edward Cherlin
Computer languages in use can be as different as FORTH, APL, LISP,
Smalltalk, C++, Python...In principle, any symbolic system that is
Turing-complete can serve as a general-purpose computer programming
language with a suitable compiler or interpreter.

Jean Sammet wrote a summary of all computer languages up to the
mid-1960s, called Programming Languages: History and Fundamentals. She
wanted to do a new version later, but found that she couldn't possibly
keep up with them all any more. A fairly recent compendium listed more
than 8500.

See also The Next 700 Programming Languages, by P. J. Landin,

http://www.scribd.com/doc/12878059/The-Next-700-Programming-Languages

the Parrot languages page,

http://www.parrot.org/languages

and the Esoteric Languages page

http://esoteric.sange.fi/orphaned/obslang.html

Sadly, the Random Languages/Obfuscated Languages page is no longer
online, but you can still see it through the Internet Archive's
Wayback Machine.

http://web.archive.org/web/*/http://esoteric.sange.fi/orphaned/obslang.html
http://web.archive.org/web/20080417042236/http://esoteric.sange.fi/orphaned/obslang.html

These last are where you find the weird languages, such as Fromage,
Intercal, Befunge, Unlambda, Malbolge, and many more, some designed to
be fun, some just to prove it could be done, and some to be evil.

On Thu, Oct 8, 2009 at 13:36, kirby urner kirby.ur...@gmail.com wrote:
 What do we mean by computer language?

What do we mean by computer?

 One could answer in terms of
 using text to control electronics, and that would be accurate.
 However there's also the goal of a philosophical logic:  to express
 situations in the world, to mirror them for the purposes of
 simulation.

 The veteran programmer of the late 1900s experienced a number of
 twists and turns in the art of computer programming.  This field has
 evolved quickly.  Early machines had to be programmed close to the
 metal meaning a deep understanding of hardware internals was needed
 to even begin to write code.

 Today's computer languages haven't completely divorced themselves from
 hardware concerns,

although Virtual Machines are increasingly common, including the Java
VM, the I-APL 8-bit VM, the Smalltalk VM, Parrot, and so on.

 but the higher level ones are freer to concentrate
 on what we sometimes call knowledge domains such as cellular
 automata, molecular biology, zoology, telescopy etc.

 When talking about human languages, we have something we call grammar.

See also the Chomsky hierarchy of languages and the corresponding
hierarchy of machine types.

http://en.wikipedia.org/wiki/Chomsky_hierarchy

 It helps to know the difference between a verb and an adjective, an
 adjective and a noun.  In many of today's computer languages, nouns
 name objects

More often pronouns that name different things at different times.
Nouns would be constants.

 which have attributes (like adjectives) and behaviors
 (like verbs).

And APL/J and some functional programming languages have adverbs to
make new verbs from old!

 Here's an idea of what computer code might look like:

 anAnt = Ant()

 critter = AntEater()
 critter.color = 'brown'
 critter.walk(paces=10)
 critter.eat(anAnt)

Or possibly

   mean =. +/ % #
   i. 10
0 1 2 3 4 5 6 7 8 9
   +/ i. 10
45
   # i. 10
10
   mean i. 10
4.5

or

The following Unlambda program calculates and prints the Fibonacci
numbers (as lines of asterisks)

```s``s``sii`ki
  `k.*``s``s`ks
 ``s`k`s`ks``s``s`ks``s`k`s`kr``s`k`sikk
  `k``s`ksk


 If you've studied some mathematics, you may be used to reading = as
 equals.  You're free to keep doing that, but add the thought that
 = is an assignment operator and what it does is bind a name to an
 object.

In languages where = is assignment, equality is usually ==. Other
conventions are used.

 In the above segment of code, the Ant and AntEater types are
 instantiated and assigned to names.  These names are then operated
 upon using dot notation such that attributes get set and behaviors
 such as eating invoked.

 Notice that we already have a tendency to think in terms of things (a
 very generic statement).  Think of an airport.  What things do you
 suppose it would have?  Runways and taxiways would define paths for
 the airplanes.  There might be a control tower.  Lots of things have
 come to mind already.

 A single airplane has many attributes and behaviors.

 pdx = Airport()
 nw  = Runway()
 pdx.add(nw)
 myplane = Gulfstream()
 myplane.takeoff(nw)
 myplane.land(nw)

 We also have an engrained concept of the more general versus the more
 specific.  There's the generic idea of a house, animal, airport.  Then
 we get more specific, getting to some individual instance of example
 of any of these types of object.

 A computer language might have this same idea:  there's a type of
 thing called a Number, and then we have individual instances of
 Number, such as 3, -1 or 2.12 or whatever.

 Suppose you had a generic blueprint for a robot dog.  You could create
 

Re: [Edu-sig] Elevator Demo for Python

2009-10-05 Thread Edward Cherlin
On Mon, Aug 10, 2009 at 4:58 PM, Phil Wagner pwag...@hightechhigh.org wrote:
 Often I am asked for a quick demonstration about the power of Python,
 sometimes for people with no computer science background. What can I show
 them that doesn't take too much time but gets the point across that Python
 is a good fit for math/education?

The two Python-programmable tiles in Turtle Art, one for expressions,
and one for arbitrary programs that can be created and tested in
Pippy.

http://wiki.sugarlabs.org/go/Activities/Turtle_Art#Programmable_Brick
http://tonyforster.blogspot.com/2009/02/using-python-blocks-in-turtleart.html

I just gave a presentation on this and Pippy to a group of children,
parents, and teachers at Silicon Valley Code Camp.

I need to write an article on all of this with math, physics, and
Computer Science examples, and share it here. For example, I have a
graphing program in TA, where users can change the function in the
Python tile, and if necessary the ranges, and graph any function. We
can work up from there through the Pippy examples, Sugar Activity
source code, and on up to NumPy and SciPy.

Of course, we can do much the same with Smalltalk, Logo/LISP, APL/J,
and other languages that provide decent numeric capabilities (built-in
or through libraries), and also sufficiently flexible data structures.
I leave the argument about which is Best to others. My notion is that
all children should be exposed to at least three or four languages of
radically different kinds. I would prefer not to raise another
generation of programmers with nothing in their toolboxes other than a
single hammer, no matter how big. %-[

I invented Object-Oriented Programming, and C++ is not what I had in
mind.--Alan Kay

The best way to predict the future is to prevent it.--Alan Kay

  Phil

 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig





-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] thought re graphing calculators ...

2009-09-30 Thread Edward Cherlin
On Tue, Sep 29, 2009 at 8:13 PM, kirby urner kirby.ur...@gmail.com wrote:
 Since say 5000 years humans have devoloped the concepts of numbers,
 calculations and
 algebra. They have discovered, that calculations obey certain algebraic laws
 like
 a*(b+c) = a*b + a*c and the like. Finally they have devoloped the concepts
 of
 algebraic structures like rings, fields etc.


 Yes, these have been interesting discoveries and remain highly
 relevant in the workaday world.  The idea of closure makes perfect
 sense in this world of types (Python is a typed language).  Is a * b
 always going to yield a type the same as a,b? (assuming a,b were of
 the same type to begin with).  If polynomials are the type, then a*b
 is a polynomial, as is a+b.  Not a/b though.  Polynomials form a ring,
 not a field.

You can take quotients of polynomials if you adjoin one point at
infinity to either the real or complex field. But you're right, it
isn't quite a field.


 My model of most antiquated education regimes is as follows:  brow
 beat the kids when they're still young and undefended, easy to bully,
 weed out those that question authority too much, keeping those who
 obey.

 The newer models (since constructivism) get more philosophy in early
 and train kids to vigorously debate and question, on the theory that
 older people are always a source of obsolete ideas that must be
 filtered, as well as positive ideas worth perpetuating.  Deference
 simply on the basis of age is a recipe for disaster in any
 civilization.  Learn to question authority, as a survival skill.

Even in math.

Peano proved that all models of the natural numbers are isomorphic,
but it turns out that you can't carry out that proof in any countably
axiomatizable system. This opens the door to non-standard arithmetic
and analysis. Conway found a non-standard arithmetic that extends to
games of perfect information. We aren't done with this idea.

 As a tip to teachers, I advise against defensiveness on behalf of some
 supposed monolith or cathedral i.e. lets think of maths in the
 plural, as they do in the UK.

 If some school of thought wants to pioneer a contrarian discourse
 that's not completely supportive of the last 100 years or more, so
 what?  We celebrate consistency and coherency, not uniformity.

 Could we develop a geometry which does not depend on the metaphysics
 of real numbers, continuity, infinity?  Or still have infinity, but
 make it more like Poincare's, a direction (like a time axis).

There are vast realms of such geometries, going back to projective
geometries over finite fields and the like, and to general topology.
Lie groups (including the one-point compactification of the complex
plane) and Lie algebras. Banach spaces. Measure theory. Spaces of
fractal dimension. Minkowski space. Differential geometry of
Einsteinian spacetime. Non-commutative geometries in quantum mechanics
(von Neumann algebras over Hilbert space). Many more.

 Recall
 I'm Wittgenstein-trained so have a penchant for not abiding by
 orthodoxies.

Likewise, but I trace it back earlier, to the Pythagorean who
discovered that 2^0.5 is irrational, to Socrates, and to Shakayamuni
Buddha.

 Poincare realized the solar system was chaotic long
 before the rank and file.

Peano, Hausdorff, Julia, Koch, and many others were also playing with
fractals starting more than a century ago.

 Kirby

-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


[Edu-sig] Geometries, irrationals (was Re: thought re graphing calculators ...)

2009-09-30 Thread Edward Cherlin
 Could we develop a geometry which does not depend on the metaphysics
 of real numbers, continuity, infinity?  Or still have infinity, but
 make it more like Poincare's, a direction (like a time axis).

 There are vast realms of such geometries, going back to projective
 geometries over finite fields and the like, and to general topology.
 Lie groups (including the one-point compactification of the complex
 plane) and Lie algebras. Banach spaces. Measure theory. Spaces of
 fractal dimension. Minkowski space. Differential geometry of
 Einsteinian spacetime. Non-commutative geometries in quantum mechanics
 (von Neumann algebras over Hilbert space). Many more.

 A feature we're looking for is accessible to grade schoolers i.e. we
 don't want you already out the other end of some lengthy pipeline
 wherein brainwashing has already occurred.

Spherical geometry. The trig gets a bit complicated, but even in
kindergarten children can see that an octant of a sphere is a triangle
with three right angles. As long as you don't bring in the big words.

 I understand that some
 elite schools get into jiggering with the fifth postulate (Euclid's)
 even pre-college,

That's doing it the hard way.

 debate

 Resolved:  Irrational numbers are of course morally superior to the
 rationals as all the best constants (e, phi, pi) are irrational, even
 transcendental if we're lucky.

I'll see your e, phi, and pi, and raise you 0, 1, -1, and i.

e^i*pi + 1 = 0

Die ganzen Zahlen hat der liebe Gott gemacht, alles andere ist Menschenwerk.

The integers were made by God. All else is the work of man.--Kronecker

 Pro, con or stand aside?  Come prepared next Tuesday.

 /debate

 Kirby

 Or you could say Phi (golden mean) is the Phirst Phractal (certainly
 the recursivity is there in the algebra).

 Kirby Urner
 ндсжег воss


 --
 Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
 Silent Thunder is my name, and Children are my nation.
 The Cosmos is my dwelling place, the Truth my destination.
 http://earthtreasury.org/





-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] thought re graphing calculators ...

2009-09-30 Thread Edward Cherlin
On Wed, Sep 30, 2009 at 3:04 AM, Brian Blais bbl...@bryant.edu wrote:
 On Sep 28, 2009, at 16:30 , Gregor Lingl wrote:

 Brian Blais schrieb:

  However, as I think
 about it, I can not think of a single problem where I *needed* the
 graphic calculator, or where it gave me more insight than I could do
 by hand.

 I think I have a counterexample.
 Run the script, that you can find here:
 http://svn.python.org/view/*checkout*/python/branches/release26-maint/Demo/turtle/tdemo_chaos.py?revision=73559content-type=text%2Fplain
 What do you think?

The Logistic Map x--rx(1-x) for varying values of r is easy to
examine on a calculator, but excessive by hand. Feigenbaum discovered
its periodicities on a calculator without any graphing capability, but
having graphs makes insight much easier, in the same way that the
Mandelbrot set was discovered mathematically in the 1920s, but became
of major interest only after computers permitted it to be visualized.
Of course, with a computer, you can visualize the entire bifurcation
diagram in a few seconds.

http://en.wikipedia.org/wiki/Logistic_map
http://en.wikipedia.org/wiki/Bifurcation_diagram

The bifurcation diagram of the logistic map is related to the Mandelbrot set,

http://www.math.lsa.umich.edu/mmss/coursesONLINE/chaos/chaos6/index.html

and has applications in physics, such as a dripping faucet.
-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] thought re graphing calculators ...

2009-09-28 Thread Edward Cherlin
On Mon, Sep 28, 2009 at 12:49 PM, kirby urner kirby.ur...@gmail.com wrote:
 2009/9/28 Brian Blais bbl...@bryant.edu:

  trim 

 Just a month ago, a friend of mine who homeschools her children was asking
 me about graphing calculators.  Apparently the math curriculum she uses has
 a number of graphic calculator exercises.  My advice was to buy a nice
 solar-powered scientific calculator (for $15 at Target), but to ignore the
 graphing calculator entirely.  Her kids should do the exercises by hand, on
 graph paper instead.  Anything that is hard enough for you to use a graphic
 calculator can be done much more easily with a computer.

 Well, the curricula have been customized to fit what the calculator
 can do, with encouragement towards the more upscale models that do
 some graphing and CAS (fractor equations, solve integrals...).  A lot
 of what passes for math in this day and age is just a glorified
 calculator, your tax dollars at work to promulgate a niche market of
 private sector interests -- think defense contracting, same diff.

We need to promote Free Software for CAS/graphing and more. Maxima,
Euler, Mathomatic...If anybody wants, I can provide a detailed,
annotated list. Also NumPy and SciPy for doing it yourself.

 http://mybizmo.blogspot.com/2009/07/more-lobbying.html  (lobbying in Portland)

 Whether it's in the best interests of the students or not depends on
 the region.  My lobby encourages calculator crush videos as cathartic,
 similar to those union strikes against the Japanese automobile, back
 with Detroit called the shots, before USAers got used to working in
 state-side Toyota and Honda factories.  I'm not pushing that analogy
 too hard though, as we're big on working with Japan in this next
 iteration i.e. bashing scientific calculators has nothing whatsoever
 to do with shying away from Japanese art colonies (animation houses
 etc.).

 http://controlroom.blogspot.com/2009/07/contraband.html  (smashing
 calculators -- embedded Youtube)

I'm more into smashing voting machines. Open Voting Consortium has
GPLed its software, so it is available to run school elections, and
also to learn how to do real security.

http://www.youtube.com/watch?v=HgSuOaULi5g
http://www.youtube.com/watch?v=mZqGz9wJrIQ

 After giving her this advice (which I still stand by), I was thinking about
 my own experience.  I was going through high school when the first graphic
 calculators came out, and I had one Junior and Senior year and through
 college.  I loved to program it, and I loved the big screen where I could
 see and edit expressions.  However, as I think about it, I can not think of
 a single problem where I *needed* the graphic calculator, or where it gave
 me more insight than I could do by hand.  It was a fun toy, but not the best
 tool.

To me, the question is what a calculator or computer program
contributes at the next level. After you learn a chunk of algebra or
calculus, including hand solving, I want students to have the
calculator or computer. for applications of algebra and calculus in
science and engineering. I want students to learn probability and
statistics and then be able to crunch 150 years of baseball statistics
or all of the polls for the next election. See the book Money Ball for
a real-world application of baseball statistics, where much of the
point is that the public tends to focus on showy stats, not on those
that win games. Learning to tell the difference would go a long way
toward improving public dialog about everything. See
fivethirtyeight.com for Politics Done Right.

 Here in Portland, the homeschooling mom got together a bunch of these
 families and hired me to teach Python at Free Geek.  We had a
 rollicking good time and my students (quite an age span) learned a lot
 about mathematics, as well as programming.  This was several years
 ago.

 http://4dsolutions.net/ocn/pygeom.html  (write-up of Rita's class)

+1

 LEP High, our progressive charter, also had me in to teach math with
 Python, the math teacher sitting right there at his desk, taking it
 all in.  The experiment proved the concept that students teach each
 other, left to their own devices, so a lot of our work is now focused
 on peer teaching, cutting out the middle-man in large degree.

 http://controlroom.blogspot.com/2009/03/pps-to-kill-lep-high.html  (re LEP 
 High)

+1

 Kirby

 For further reading:
 http://mathforum.org/kb/thread.jspa?threadID=1989542tstart=0


 bb


 --
 Brian Blais
 bbl...@bryant.edu
 http://web.bryant.edu/~bblais



 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig


 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.

Re: [Edu-sig] thought re graphing calculators ...

2009-09-27 Thread Edward Cherlin
2009/9/27 Charles Cossé cco...@gmail.com:
 Hi, this has probably been discussed to death already, but maybe not: The
 point at which fancy graphing calculators become necessary (ie as in one's
 student career) is the point at which the calculator should be abandoned and
 Python employed.  Just a thought ... delete at will !

I'm using Turtle Art as an intermediate step. I have a Turtle Art
program to put up a pair of axes, with one programmable tile for a
Python expression for the function to graph. We have a TA to Logo
translation, and we could build a TA to Python translation. Or we
could show the students how to copy and paste the Python for the tiles
in the TA program to make a Python program, again with a replaceable
function.

 -Charles

 --
 AsymptopiaSoftware|softw...@thelimit
          http://www.asymptopia.org

 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig





-- 
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Significant drop in CS interest in high schools

2009-08-30 Thread Edward Cherlin
I don't know the details on this issue, but I am aware of several more
general problems.

One is that nobody knows what CS is or should be. I got into it before
there were CS departments, from Foundations of Mathematics,
specifically Incompleteness and Undecidability and Non-Standard
Arithmetic. Then I gave myself doses of Computational Complexity,
algorithms, data structures, proving programs correct/deriving correct
programs, concurrent programming, language design and implementation
(including OOP), numerical analysis, relational database theory,
security, and various other topics. I put considerable effort into
understanding different models of computation, as different as
FORTRAN, LISP, APL, PostScript, and FORTH. Currently I am looking at
Parrot, the all-singing, all-dancing virtual machine for dynamic
languages.

I look at CS as the study of everything related to programming that
computers should do automatically so that programmers don't have to
keep reinventing the wheel.

Looking at the Course Description for Computer Science A available at

http://www.collegeboard.com/student/testing/ap/sub_compscia.html
http://apcentral.collegeboard.com/apc/public/repository/ap-computer-science-course-description.pdf

I see that

o Use of a specified subset of Java is required.

o Both teachers and students must have sufficient background in math

o and have some competence in written communication (for documentation).

o A minimum of three hours a week of exclusive access to a capacious
and fairly fast computer is required for each student, and more is
recommended.

o After-hours access to the computers is recommended.

o The content changes from year to year, so teachers must be prepared
to update their skills.

Each of these requirements places a significant burden on schools that
want to offer such a program. For example, it is necessary to use a
textbook on the AP Java subset, not any of the free Java textbooks.
This makes AP CS an easy target during a time of cutbacks.

Much of the content of the exam is properly software engineering
rather than CS. Legal and ethical issues are also included.

IMNSHO, there are major conceptual errors in the course design. For example,

...there are three standard sorts that are required for the AP
CS A course: the two most common quadratic sorts—Selection sort and Insertion
sort—and the more efficient Merge sort. Of course, the latter implies
that students
know the merge algorithm for sorted lists.

Students in the AP CS A course are not required to know the asymptotic (Big-Oh)
analysis of these algorithms, but they should understand that
Mergesort is advanta-
geous for large data sets and be familiar with the differences between
Selection and
Insertion sort.

Where is Quicksort?

I/O is excluded because it is not standardized in Java. Also, looking
elsewhere, where is the Web? Where is the Chomsky hierarchy of
language types (regular, context-free, context-sensitive,
unrestricted) and their recognizers? (finite-state machine, stack
machine, bounded Turing machine, Turing machine) Where is BNF? There
are other major omissions.

I find that the course described is simultaneously overambitious and
severely dumbed down. The sample exam questions are frightfully
low-level compared with the AP Biology I took in 1962. Most of these
problems come out to one-liners in APL or J, including the OOP
questions, which J handles in Namespaces. Some of the practical
problems are incorrectly stated for the intended problem domain. For
example, clear a check and a per-check fee from a bank account, with
no provision for handling checks that are too large. (Do we just pay
them? Charge an overdraft fee? Bounce them and charge a fee?)

I am working on how to teach CS ideas in third grade using tools such
as Etoys Smalltalk, UCBLogo, and Turtle Art, all of which are packaged
in Sugar for the OLPC XO and other Linuces. Etoys and UCBLogo are
available for numerous platforms, and Turtle Art is written in Python,
making it easy to port. We already have more than 40 years experience
teaching programming in elementary schools with Logo and Smalltalk.

On Thu, Aug 27, 2009 at 4:44 PM, kirby urnerkirby.ur...@gmail.com wrote:
 On Thu, Aug 27, 2009 at 3:56 PM, Jeff Rushj...@taupro.com wrote:
 wesley chun wrote:
 AP CS Courses (and Students) on the Decline, CSTA Survey Finds

 This spring, the 2009 CSTA National Secondary Computer Science Survey
 collected responses from some 1,100 high school Computer Science
 teachers. The results: only 65 percent reported that their schools
 offer introductory or pre-AP Computer Science classes, as compared
 with 73 percent in 2007 and 78 percent in 2005. Only 27 percent
 reported that their schools offer AP CS, as compared with 32 percent
 in 2007 and 40 percent in 2005. And 74 percent offer CS content in
 courses other than introductory or AP CS, down from 85 percent in
 2007.

 The continuing drop in students taking AP CS is a serious
 warning sign about the 

Re: [Edu-sig] Significant drop in CS interest in high schools

2009-08-30 Thread Edward Cherlin
On Sun, Aug 30, 2009 at 9:27 AM, kirby urnerkirby.ur...@gmail.com wrote:
 On Sun, Aug 30, 2009 at 8:54 AM, Edward Cherlinecher...@gmail.com wrote:

  SNIP 

 I am working on how to teach CS ideas in third grade using tools such
 as Etoys Smalltalk, UCBLogo, and Turtle Art, all of which are packaged
 in Sugar for the OLPC XO and other Linuces. Etoys and UCBLogo are
 available for numerous platforms, and Turtle Art is written in Python,
 making it easy to port. We already have more than 40 years experience
 teaching programming in elementary schools with Logo and Smalltalk.


 I'm glad you say CS ideas and not CS

Yes, it's all about Powerful Ideas, not about topics, the way
curricula are currently written. I have a page on Kindergarten
Calculus somewhere...Aha!

http://wiki.laptop.org/go/Kindergarten_Calculus

SNIP SNAP SNORUM

 Kirby




-- 
Edward Mokurai Cherlin
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name, and
Children are
my nation. The Cosmos is my dwelling place, the Truth my destination.
http://earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] turtle in education

2009-08-28 Thread Edward Cherlin
We need to make sure that people in various programs can find such
resources. I will Wiki your repository at Earth Treasury and Sugar
Labs, and I am copying this to Stacy Reed, the Librarian Chick. Where
else can we list this and other resources?

Please be careful of CCs if you reply to this message.

On Wed, Aug 26, 2009 at 3:18 AM, robertorobert...@gmail.com wrote:
 On Fri, Jul 31, 2009 at 12:48 PM, Gregor Linglgregor.li...@aon.at wrote:
 Hi Roberto, hi all,

 I've just created a repository of turtle graphics demos/applications
 at google code:

 http://code.google.com/p/python-turtle-demo/

You may add the demos I sent you. There will be many more, and we will
be building lesson plans around them using Walter Bender's Turtle Art
presentation tiles, and similar capabilibities in Etoys Smalltalk.

 thank you Gregor !
 I am back to office now and read your news

 i'll take carefully into account your material;

 also i'll try to differentiate the ways for my students using Sugar
 TurtleArt as a start-up (and ongoing) tool and your Turtle module as
 an ongoing one for more experienced guys;

 it will take me some time but i'll contribute everything may help
 others in the field

 --
 roberto
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Edward Mokurai Cherlin
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name, and
Children are
my nation. The Cosmos is my dwelling place, the Truth my destination.
http://earthtreasury.org/
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] poking some dying logs...

2009-08-02 Thread Edward Cherlin
On Fri, Jul 31, 2009 at 4:36 PM, kirby urnerkirby.ur...@gmail.com wrote:
 I'd like to make another plug for including this title on the edu-sig home 
 page:

 http://www.skylit.com/mathandpython.html

 Ian thought it was too much a hybrid of CS and math, not an elegant
 amalgamation, though I don't have has remarks in front of me at the
 moment.  Steve was gonna get back to us.  Andre thought he might work
 it onto the page...

I like the concept but not the execution. The student doesn't find out
what properties of various data structures and mathematical objects
are fundamental. There is too much of the old style of telling
students what to learn, and neither explaining why nor allowing
students to discover. I find it annoying that the book gives complex
number examples, but shies away from actually using complex
arithmetic. Far more CS could be introduced at the level of the math
being used.

The book uses Python, but none of the very capable math software
available beyond graphing calculators. I prefer Ken Iverson's
approach, in which he taught how to write programs to do algebraic
manipulations and symbolic differentiation.

Does anybody know these authors? Can we engage them in a process to
improve what they have done?

  Maria Litvin
Phillips Academy, Andover, Massachusetts
  Gary Litvin
Skylight Software, Inc.


 That was all months ago by now, so it make sense to raise the issue
 again, as the title does break new ground in some ways, has claim to
 being a math teaching book, yet uses a computer language (one most of
 us know).

 'Concrete Mathematics' and 'The Art of Computer Programming' are both
 math books of course, amenable to a through programming approach.
 Jsoftware folks implemented the former in J, whereas the latter is in
 MMX already.

 Another hot button issue in Portland these days is whether families
 have the right to demand a PDF version of any assigned textbook,
 versus a hardcopy edition.  We have lots of tree huggers around here,
 worried about green and unsustainability.  To quote one of my
 colleagues (from her blog):

 We need the text book companies to print thousands of copies of new
 textbooks every year, not so the authors can make money, though they
 make a little, but so the companies can make money... Do some central
 planning, and if the government can't do that without going through
 corporations, then it is time to [do it ourselves].

 Anyway, just wanted to re-raise that as well.

 I mostly do my computer / technical reading on Safari, have no problem
 with recycling already printed books, have no problem with small press
 runs.  But I can see where truck loads of spanking new 400 page math
 books, hot off the press, none containing any computer programming to
 speak of, let alone Mites, Sytes or Kites (honeycomb stuff, important
 to gnu-bees), would provoke a crisis in conscience for our more
 ethical.

 This is the kind of thing 15 year olds talk about.  They're suspicious
 of adults who can't follow their logic (about saving trees),
 undermines adult authority to not have a response.  So do we all favor
 an opt out option for hard copy textbooks?  Say aye?  Say nay?

 Kirby
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.org/worknet (Edward Mokurai Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] turtle in education

2009-07-28 Thread Edward Cherlin
On Wed, Jul 22, 2009 at 8:28 AM, robertorobert...@gmail.com wrote:
 hello,
 i am looking for materials, experiences etc. about using turtle module
 in math, physics and related for middle or high school students

http://wiki.sugarlabs.org/go/File:Gravity.odt Alan Kay's third-grade
gravity lesson in Turtle Art, with extra material.

 i realized a lot of work is going on but is there any place where all
 or part of this material is gathered ?
 i am going through the talk of Gregor Lingl at PyCon;

 if you're aware of anything else just tell me

 thank you very much
 --
 roberto
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.org/worknet (Edward Mokurai Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] python publication

2009-07-12 Thread Edward Cherlin
On Sun, Jul 12, 2009 at 11:08 AM, robertorobert...@gmail.com wrote:
 hello,
 i have managed an introductory math and programming course, mainly
 based on python for the programming side;
 participants came strictly from high schools;

 i'd like to share the results with the community and collect them as
 draft for an eventual publication;

 may you give me any hint about a suitable place to submit ?

You can submit it to me, if you would be interested in the Earth
Treasury project of Free Digital Learning Materials. See
http://wiki.sugarlabs.org/go/Creating_Textbooks

I am working on teaching math and Python through Turtle Art. Perhaps
we can coordinate.

 thank you
 --
 roberto
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.org/worknet (Edward Mokurai Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Hello World! Computer Programming for Kids and Other Beginners

2009-06-28 Thread Edward Cherlin
I have to write up some lessons on how to start programming in Python
in the Sugar version of Turtle Art, where there are two programmable
tiles. One accepts a Python expression, and the other reads in a
Python file.

The easiest Hello, World program in Turtle Art uses the Print tile.
Just type in the text you want the Turtle to display. We can introduce
more complex tile-based programming techniques, and then show how each
can be done in Python by using the programmable tiles, and by
examining the quite modular Turtle Art source code in Python. Then we
can show students how to create their own tiles, and move up gradually
to creating a new Sugar Activity.

I intend to teach Python as Computer Science, not simply as program
syntax and features. Making the CS topics accessible to students at
just the right level, without driving any of them away, will be one of
the hardest parts to get right. Ordering topics according to both
meaning and dependencies on other topics will also take a lot of work.

Also a lot of fun.

I have spent the last few week experimenting with the latest version
of Sugar on a Stick (Sugar set up for installation on a bootable USB
flash drive) and also writing a book for FLOSS Manuals on Open
Translation Tools. So I have lots more to tell you, but no way to say
when I can do it yet.

On Sat, Jun 27, 2009 at 6:38 AM, csevc...@umich.edu wrote:
 Warren and Carter - congratulations on your book.  I just reviewed it in my
 blog and twittered about it.

 Here is the text from my blog post - (feel free to correct me )

 Chuck Severance
 www.dr-chuck.com

 I am an advocate for using Python as a first language and for using
 programming as a tool to explore abstract concepts and technology literacy
 (Informatics) starting in elementary and middle school. Here is a book
 written for kids using Python that looks like it can support making Python
 accessible to younger learners.

 Hello World! Computer Programming for Kids and Other Beginners

 The book is written by the father and son pair of Warren D. Sande and Carter
 Sande.

 Here is an interview with the author and his son on Canadian Television with
 the authors:

 http://watch.ctv.ca/news/clip186877

 Here is the web site for the book including several sample chapters:

 http://www.manning.com/sande/

 This is very cool and I will buy the book and then review it in more detail.

 On first glance looking at the sample chapters and table of contents, it
 looks well siuted for K-12 applications since has many short chapters, gets
 into graphics quickly using its own GUI (easygui), and is careful to have
 lots of additional explanation in areas that readers might have questions.
 Of course since Carter Sande is still in K12 it is very natural to have it
 structured properly for K12.

 Perhaps after they get done with Warren and Carter's book - the students
 will want to web programming on Google App Engine! And of course there is a
 book for that - Using Google App Engine.

 This all moves us further down the path of technology literacy based on
 foundations of open source technology and transforming K-20 education to
 include technology literacy at the right places.

 Congratulations to Warren and Carter!
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.org/worknet (Edward Mokurai Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


[Edu-sig] Overloading (was Re: more on variable names)

2009-05-26 Thread Edward Cherlin
On Sat, May 23, 2009 at 7:43 PM, kirby urner kirby.ur...@gmail.com wrote:
 I filed the following quick comment after viewing a six minute
 tutorial on variables and values at ShowMeDo.

 The video:

 http://showmedo.com/videotutorials/video?name=6950010fromSeriesID=695

 My comment:
 
 idea that values are stored into a variable is less the metaphor in
 Python,

Yes, it is a relic of assembly language.

A variable is not a section of memory. It is a pronoun which can have
different referents at different times. One object can be referred to
by many different personal names and a variety of pronouns at the same
time. This is easier to explain in Japanese, which has numerous and
ever-shifting sets of pronouns. I in English can currently
correspond to

o watashi
o atashi
o atai
o boku
o ore

Historically, people could also have three, four, even a dozen
personal names, some chosen for various private or public purposes,
some awarded by teachers, some (rarely) awarded by the Emperor, and so
on.

 which is more about assigning or binding names to objects with
 the assignment operator (=).  The problem with store into is then
 its hard to picture many names for the same object, yet that's easy
 when you think of a balloon with many strings.
 

 For example, the so-called equal sign (=) would be better called an
 assignment operator as most of us here do.

We would do better to use a different symbol entirely. The only reason
for the massive overloading practiced in conventional programming
languages is the utterly obsolete ASCII character set. APL has used
the left-pointing arrow '←' for assignment for decades, and treated
'=' as a Boolean function returning a truth value. Just as APL has
used the correct '×' and '÷' rather than overloading ASCII characters
further. J distinguishes the function '=' from assignment '=.'.

 To make this link stick we could explain how the two parallel lines
 represent opening a channel to i.e. now this name (on the left) will
 be able to communicate with the object on the right (some result of
 evaluation).

-1

 Kirby

 PS:  do Python's where Prada?
 http://fashionshops.wordpress.com/2009/05/18/prada-ad-campaign-ss-2009/
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig

--
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.org/worknet (Edward Mokurai Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] [IAEP] F.Y.I.: this month's cover story for CACM is OLPC: Vision vs. Reality (cross posted)

2009-05-20 Thread Edward Cherlin
I wrote a reply on the Web site. It is being reviewed by the editors
before posting.

http://cacm.acm.org/magazines/2009/6/28497-one-laptop-per-child-vision-vs-reality/comments

On Wed, May 20, 2009 at 7:56 AM, gerry_lowry (alliston ontario canada)
gerry.lo...@abilitybusinesscomputerservices.com wrote:
 http://www.acm.org/



 Regards,
 Gerry
 ___
 IAEP -- It's An Education Project (not a laptop project!)
 i...@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/iaep




-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.org/worknet (Edward Mokurai Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] PDF geometry animations (ReportLab?) - and turtle module

2009-05-18 Thread Edward Cherlin
On Sun, May 17, 2009 at 11:53 AM, kirby urner kirby.ur...@gmail.com wrote:

 Fuller tending to accept any contribution (he'd circulate a box after
 some lectures, take home a pile of student papers) and then toss the
 results to the world as leaflets out the back of his choo choo, while
 running for president of Design Science Incorporated.  He was open
 sourcing and patenting at the same time, playing FOSS boss and IP
 king.  Quite the Dymaxion Clown act.

We need more of him.

 He alienated some people with this style of showmanship, but Fuller
 himself thought only an express train could work at this time, people
 could go back later and put the pieces together, so he made a lot of
 detailed notes (now warehoused in Stanford University) and we have
 puzzle assemblers crawling through it, putting together (computing)
 all kinds of new stories.

Is anybody working on getting this material online and inviting the
world to crawl it and create new stories? I know some people in
Science Commons who would like to talk to you about such a thing. I
suspect that there are people and organizations about who would like
to fund such a project.

 Kirby

-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.org/worknet (Edward Mokurai Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] PDF geometry animations (ReportLab?) - and turtle module

2009-05-17 Thread Edward Cherlin
On Sun, May 17, 2009 at 6:35 AM, Gregor Lingl gregor.li...@aon.at wrote:
 kirby urner schrieb

 For those of you looking for a way cool use of Python's ReportLab, I
 so far have permission to release this one example PDF flipbook
 showing how geometry concepts might be communicated using this simple
 animation technique:

 http://www.4dsolutions.net/presentations/pdf_animation_by_ron_resch.pdf

Yes, the Python version below works much better for me. I'm not up for
clicking 1264 times to view the PDF.

 Very impressive and instructive! Is there a description somewhere, how
 'flipbooks' like these
 can be produced?

 With me this way of communicating geometry concepts worked rather well, as
 you can see in the
 attachment.

 Regards,
 Gregor

 I've been sharing this as a teaser with Software Association of Oregon
 as well, knowing Ron has a lot more where that came from (I'm suppose
 to download a half-gig PDF next time in Pauling House for a bored er
 board meeting).

 Kirby

 # uses turtle module from Python 2.6
 # hint from Kirby, 15. 5. 09
 # http://www.4dsolutions.net/presentations/pdf_animation_by_ron_resch.pdf

 from turtle import Turtle, Screen, Vec2D, mainloop
 import math

 A = 50.  # adjust this to your needs

 SHS = A / 20
 SF = 1.0
 DSF = 1.0038582416
 e = Vec2D(3**.5/2, 0.5)

 def dsin(angle):
    return math.sin(angle*math.pi/180)

 def lines(l):
    for i in range(6):
        d.fd(l)
        d.bk(l)
        d.left(60)

 class TriTurtle(Turtle):
    def __init__(self, c, r, tritype):
        Turtle.__init__(self, shape=triangle)
        self.c = c
        self.r = r
        self.speed(0)
        self.pencolor(0,0,0)
        if tritype == 1:
            self.basecolor = (1.0, 0.80392, 0.0)
            self.f = -1
            self.left(30)
        else:
            self.basecolor = (0.43137, 0.43137, 1.0)
            self.f = 1
            self.left(90)
        self.fillcolor(self.basecolor)
        self.pu()
        self.goto(c*A, r*A*3**.5/3)
        self.shapesize(SHS, SHS, 1)
        self.D = self.distance(0,0)
        self.e = (1/self.D)*self.pos()
    def setturn(self, phi):
        self.goto(SF*self.D*dsin(90-phi)*self.e)
        self.settiltangle(phi*self.f)
        self.shapesize(SHS*SF)
        if abs(self.c) + abs(self.r)  2:
            self.fillcolor([x + (1-x)*phi/360 for x in self.basecolor])
            bc = phi/360.
            self.pencolor(bc, bc, bc)


 s = Screen()
 s.reset()
 s.tracer(0)
 d = Turtle(visible=False)
 lines(500)

 triangles = []
 for c in range(-5,6,2):
    triangles.append(TriTurtle(c, 1, 1))
    triangles.append(TriTurtle(c, -1, 2))
 for c in range(-4,5,2):
    triangles.append(TriTurtle(c, 2, 2))
    triangles.append(TriTurtle(c, -2, 1))
    triangles.append(TriTurtle(c, -4, 2))
    triangles.append(TriTurtle(c, 4, 1))
 for c in range(-3,4,2):
    triangles.append(TriTurtle(c, 5, 2))
    triangles.append(TriTurtle(c, -5, 1))
    triangles.append(TriTurtle(c, -7, 2))
    triangles.append(TriTurtle(c, 7, 1))
 for c in range(-2,3,2):
    triangles.append(TriTurtle(c, 8, 2))
    triangles.append(TriTurtle(c, -8, 1))
 s.tracer(1)

 for phi in range(1,361):
    SF = SF*DSF
    s.tracer(0)
    for t in triangles:
        t.setturn(phi)
    s.tracer(1)

 mainloop()

 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig





-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.org/worknet (Edward Mokurai Cherlin)
# uses turtle module from Python 2.6
# hint from Kirby, 15. 5. 09
# http://www.4dsolutions.net/presentations/pdf_animation_by_ron_resch.pdf

from turtle import Turtle, Screen, Vec2D, mainloop
import math

A = 50.  # adjust this to your needs

SHS = A / 20
SF = 1.0
DSF = 1.0038582416
e = Vec2D(3**.5/2, 0.5)

def dsin(angle):
return math.sin(angle*math.pi/180)

def lines(l):
for i in range(6):
d.fd(l)
d.bk(l)
d.left(60)   

class TriTurtle(Turtle):
def __init__(self, c, r, tritype):
Turtle.__init__(self, shape=triangle)
self.c = c
self.r = r
self.speed(0)
self.pencolor(0,0,0)
if tritype == 1:
self.basecolor = (1.0, 0.80392, 0.0)
self.f = -1
self.left(30)
else:
self.basecolor = (0.43137, 0.43137, 1.0)
self.f = 1
self.left(90)
self.fillcolor(self.basecolor)
self.pu()
self.goto(c*A, r*A*3**.5/3)
self.shapesize(SHS, SHS, 1)
self.D = self.distance(0,0)
self.e = (1/self.D)*self.pos()
def setturn(self, phi):
self.goto(SF*self.D*dsin(90-phi)*self.e)
self.settiltangle(phi*self.f)
self.shapesize(SHS*SF)
if abs(self.c) + abs(self.r)  2:
self.fillcolor([x + (1-x)*phi/360 for x in self.basecolor])
bc 

Re: [Edu-sig] Considering Python for an algebra course

2009-05-12 Thread Edward Cherlin
On Tue, May 12, 2009 at 12:20 PM, Daniel Ajoy da.a...@gmail.com wrote:
 From: Maria Droujkova

 Geogebra was created specifically for the type of projects I want to run. It
 is easy enough to start, for kids. I find its specialization to be a
 limiting factor, though - it would be nice if kids saw the environment's
 potential beyond math.

 With Python, I have more questions than answers, because I am just starting
 to learn it. Do you think it will work for my purpose?

NumPy and SciPy can do any math you will need. I am working on a
project to teach algebra with analytic geometry in Turtle Art, which
is written in Python. I can graph anything I can construct in TA now,
and I intend to use the programmable block in TA to add more Python
code.

 Do I need to get a
 real programmer involved, or can I learn enough Python in a few months to
 help kids well enough, without being a specialist?

Wrong question, actually. The community will pitch in. You can learn
enough Python to handle the math, no question. You may need other
programming help if you want to create an application that you can
distribute. Talk to us when any such issues arise. You can also talk
to the Sugar Labs development people about anything that you might
want to offer for the OLPC XO, and get Python help there.
lists.sugarlabs.org/ or /join #sugar on irc.

 What questions do I not
 know to ask?

Best question I know of, but hard to answer at the beginning. Tell us
what you want to accomplish, and we can tell you the relevant
questions and some of the answers.

 I would appreciate any pointers.


 You speak about the the type of projects you want to run. What are those? 
 Maybe with that information the pointers could be more specific.

 Do you want to publish your projects online? I think a good question is: how 
 to do that with python.

 Daniel



 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.org/worknet (Edward Mokurai Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] What version of Python to teach ....

2009-04-21 Thread Edward Cherlin
Comments interspersed.

On Sun, Apr 19, 2009 at 9:49 PM, Scott David Daniels
scott.dani...@acm.org wrote:
 Laura Creighton wrote:

 One note:
 It is very important to teach your students how to read code.  I think
 that
 this is even more important that teaching them how to write code -- not
 only will they spend more time reading code than writing code in their
 lives, but it is through reading other people's code that you can learn
 any technique for writing code.  (Well, that, and a whole lot of practice,
 but a certain amount of reading of code every day can cut down on the
 number of things that you have to learn by doing.)

 There isn't a lot of Python 3.0 code out there to read.  So even if you
 are only teaching your students how to write 3.0, you will still have to
 teach them how to read 2.x.

But not right away.

 But here is a learning opportunity as well -- too many students are
 used to received wisdom, and assume there is nothing to discover.

That's why Sugar software is all about collaborative discovery. At
some point, we will be able to engage our millions of students in the
conversion of Sugar to Python 3.0.

 To say that Python is in motion, that we have learned from our mistakes,
 that we are forging a new way forward, and that they can be a part of
 how to say things well in this new language is to begin to explain that
 things are moving and they can be a part of that movement.

+1

 One of the great disappointments from teaching my first computer science
 class (operating systems) came after a lecture where I discussed some
 of the publications going on about these new-fangled RAID systems.  I
 had students explain to me that a new way of organizing file systems
 could not be as efficient as I described, because Microsoft and IBM
 would be using such designs if they really worked.  Students need to
 know that not everything has been done.

They also need some education on the ways in which Microsoft and IBM
have deliberately held back technical progress in furtherance of their
anti-competitive business strategies. A biography of John Patterson
National Cash Register would be a good place to start. That's where
Tom Watson learned how to crush competition and then buy them up
cheap, and suffered his first antitrust lawsuit. Then Patterson, as
was his habit with almost everybody who learned his methods, fired
Watson, who bought the Computing Tabulating Recording company, owner
of the Hollerith punched card patents, and renamed it International
Business Machines. The literature on IBM's shenanigans is huge.
Microsoft actually lost an antitrust suit, and was labeled a criminal
organization, although not punished as such after the Bush DoJ took
over the case.

See also the Groklaw archives on the SCO suit and other attempts to
hold back Linux.

Anyway, this is an old, old story. Perhaps it would be as well to
prepare the way with some examples.

My favorite is that when L. Frank Baum, a successful children's writer
at that time, offered The Wizard of Oz to his publishers, they turned
in down on the grounds that there was no market for American fairy
tales. He asked how they knew, and they pointed out that no publisher
had any on the market. Every other publisher he tried said the same
thing. So he had to offer to pay the costs for the first printing
himself to get anybody to take the risk. His first royalty check was
enough to buy a house.

One of the Warner Brothers said of talking movies, Who wants to hear
actors talk?

All radio manufacturers initially turned down the transistor, except Sony.

General Electric turned down photovoltaics, because they were too
expensive for building power plants. Japanese manufacturers then put
them on calculators. You don't have to replace the cheapest use first.
Start with the most expensive.

The actually relevant examples for your class are in The Innovator's
Dilemma, which is specifically about this problem in the disk storage
business. The leaders in each generation nearly all became followers
or disappeared in the next generation.

 --Scott David Daniels
 scott.dani...@acm.org

 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.org/worknet (Edward Mokurai Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] What Linux distro?

2009-04-21 Thread Edward Cherlin
On Sat, Apr 11, 2009 at 12:35 PM, Fahreddın Basegmez
mangab...@gmail.com wrote:
 Hi,

 I have been developing a programmable scientific visualization
 tool/rapid game maker with wxPython for a while.  I recently released
 the first public beta version that works on windows only.  Now, I am
 going to start working on a Linux version very soon.  I have not
 decided which distro to use yet but leaning towards Ubuntu.  Could you
 give me some feedback?  What is the most popular distro in educational
 institutes/settings?

It is not at all a choice of just one distribution. We all want what
you are doing, and we cooperate to make it available everywhere.
Packagers for many distributions will take hold of anything that
becomes available from a suitable upstream source. I am copying this
to Jonas Smedagaard, a Debian packager who can give you better advice
than I can on getting started. Anything in a Debian package is likely
to flow through to Ubuntu, Edubuntu, and other distributions fairly
rapidly.

You can also get help putting your software into Red Hat Fedora, and
from there into another whole stream of distributions. I am copying
this to Greg DeKoenigsberg, a Red Hat community organizer, who can
help you make the right contacts there.

Those two will get your software launched in all of the most popular
distributions, including several education-specific distributions, and
numerous language-specific distributions around the world. If you
would like to follow up on that, you can contact the localization
groups for Fedora, Debian, and Ubuntu.

Lastly, I would suggest getting your software into Sugar for the One
Laptop Per Child XO and other systems. You should join the Sugar
Development mailing list at http://lists.sugarlabs.org for that.
Again, Sugar software feeds to Fedora, Debian, and so on from there,
and Sugar is being localized into something like 80 languages. Sugar
has well over a million education users, with many more on the way.

 You can download the application from www.mekanimo.net.

 Also I have a 5 min video at
 http://mekanimomedia.s3.amazonaws.com/tangram/Tangram.html

 If you try the application, I would appreciate your feedback about that too.

 Thanks in advance,

 Fahri Basegmez
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.org/worknet (Edward Mokurai Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] What version of Python to teach ....

2009-04-19 Thread Edward Cherlin
On Sun, Apr 19, 2009 at 12:07 PM, Laura Creighton l...@openend.se wrote:

 One note:
 It is very important to teach your students how to read code.  I think that
 this is even more important that teaching them how to write code -- not
 only will they spend more time reading code than writing code in their
 lives, but it is through reading other people's code that you can learn
 any technique for writing code.  (Well, that, and a whole lot of practice,
 but a certain amount of reading of code every day can cut down on the
 number of things that you have to learn by doing.)

 There isn't a lot of Python 3.0 code out there to read.  So even if you
 are only teaching your students how to write 3.0, you will still have to
 teach them how to read 2.x.

I wonder how much of that is needed. You do need to teach them how to
convert 2.x code to 3.0,
but in many cases this is not too burdensome.

http://www.comp.leeds.ac.uk/nde/papers/teachpy3.html

The Python 3.0 distribution comes with a refactoring tool called 2to3,
intended to assist with the translation of Python 2.x code to Python
3.0. The tool operates on stdin, individual files or an entire
directory tree. It writes a unified diff patch for each .py file to
stdout, and a summary of which files needed changes to stderr. With
the -w command line option, it will create a back-up of each file and
then apply the patch to the file.

An an experiment, we tried running the 2to3 tool provided in the third
alpha release of Python 3.0 on the collection of example programs used
in our first-year programming lectures [10], using the -w option to
apply the patches. The tool took 47.2 seconds to process 147 .py files
[11] and changed 77 of them (52% of the total).

In 80% of cases, the changes involved console I/O only and no manual
intervention was required to produce satisfactory code. In 5% of
cases, 2to3 produced code that ran correctly but was redundant in some
way.

(A conversion example follows).

It would be interesting to go through this collection of examples
used in teaching 2.x, and find out how much of the new code just
works, and what are the remaining issues. This might be the basis for
a book.

 Just thought I would mention it before I forgot,
 Laura
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig

-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.org/worknet (Edward Mokurai Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] What version of Python to teach ....

2009-04-19 Thread Edward Cherlin
Comment at end.

On Sun, Apr 19, 2009 at 1:05 PM, Laura Creighton l...@openend.se wrote:
 In a message of Sun, 19 Apr 2009 12:49:17 PDT, Edward Cherlin writes:
On Sun, Apr 19, 2009 at 12:07 PM, Laura Creighton l...@openend.se wrote:

 One note:
 It is very important to teach your students how to read code.  I think t
hat
 this is even more important that teaching them how to write code -- not
 only will they spend more time reading code than writing code in their
 lives, but it is through reading other people's code that you can learn
 any technique for writing code.  (Well, that, and a whole lot of practic
e,
 but a certain amount of reading of code every day can cut down on the
 number of things that you have to learn by doing.)

 There isn't a lot of Python 3.0 code out there to read.  So even if you
 are only teaching your students how to write 3.0, you will still have t
o
 teach them how to read 2.x.

I wonder how much of that is needed. You do need to teach them how to
convert 2.x code to 3.0,
but in many cases this is not too burdensome.

http://www.comp.leeds.ac.uk/nde/papers/teachpy3.html

The Python 3.0 distribution comes with a refactoring tool called 2to3,
intended to assist with the translation of Python 2.x code to Python
3.0. The tool operates on stdin, individual files or an entire
directory tree. It writes a unified diff patch for each .py file to
stdout, and a summary of which files needed changes to stderr. With
the -w command line option, it will create a back-up of each file and
then apply the patch to the file.

An an experiment, we tried running the 2to3 tool provided in the third
alpha release of Python 3.0 on the collection of example programs used
in our first-year programming lectures [10], using the -w option to
apply the patches. The tool took 47.2 seconds to process 147 .py files
[11] and changed 77 of them (52% of the total).

In 80% of cases, the changes involved console I/O only and no manual
intervention was required to produce satisfactory code. In 5% of
cases, 2to3 produced code that ran correctly but was redundant in some
way.

(A conversion example follows).

It would be interesting to go through this collection of examples
used in teaching 2.x, and find out how much of the new code just
works, and what are the remaining issues. This might be the basis for
a book.

 Just thought I would mention it before I forgot,
 Laura

 You are suggesting that students will need to learn how to use a refactoring
 tool before they can sit down and read a piece of pre 3.0 code for
 pleasure and edification?

No, I'm suggesting that an introductory course on Python 3.0 can make
use of converted and lightly massaged code, and ignore Python 2.x
until students have wrapped their minds around one version. Computer
Science students are not necessarily interested in commercial
programming, and may never need to learn 2.x. People learning Python
in order to write their own programs, ditto. The original question was
how to get enough educational examples in Python 3.0.

For the larger problem of converting existing 2.x libraries and
applications in order to have more 3.0 to read, that will solve itself
in the normal course of events. See Guido's advice.

http://docs.python.org/3.0/whatsnew/3.0.html

What’s New In Python 3.0

Porting To Python 3.0

The Web page I cited says explicitly that the instructor converted all
of his current teaching examples using 2to3, so the students don't
even have to know about it in order to get started.

I'm also suggesting to FLOSS Manuals and O'Reilly that we could do a
book on converting 2.x to, 3.0 in short order, and get it out before
it becomes obsolete. ^_^

 Laura




-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.org/worknet (Edward Mokurai Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Considering Python for an algebra course

2009-04-15 Thread Edward Cherlin
On Tue, Apr 14, 2009 at 4:30 AM, Maria Droujkova droujk...@gmail.com wrote:
 Hello,

 I am new to this list. I am working on an algebra course where teens will
 create their own learning materials and share them as open educational
 resources (OERs).

Welcome. I am working on a project to create free and freely licensed
learning materials on every subject, with appropriate software
integrated everywhere.

http://wiki.sugarlabs.org/go/Creating_textbooks

We would invite you to join in.

 I'd like to organize the course around a computer
 environment. I have three candidates for it so far: Scratch, Geogebra and
 Python. I like these three because they all have robust communities of
 people sharing open source code.

Indeed. I'm focusing my own efforts on Turtle Art for elementary
school math and Computer Science. We have several implementations, and
I am working on extending them to cover more topics, as is Walter
Bender of Sugar Labs.

o Turtle Art in Sugar on the OLPC XO, written in Python, able to output Logo.
o Kturtle
o UCBLogo, written in C

 Scratch has the immediate multimedia appeal, is equally loved by boys and
 girls, and is very easy to get into. Minus: it's rather limited when it
 comes to a bit more advanced math. We tried to create fractals on it this
 Spring in a homeschool coop, and it was cumbersome.

How so? Turtle Art now comes with some fractal examples, so I don't
think it should really be that hard in Scratch.

 Geogebra was created specifically for the type of projects I want to run. It
 is easy enough to start, for kids. I find its specialization to be a
 limiting factor, though - it would be nice if kids saw the environment's
 potential beyond math.

 With Python, I have more questions than answers, because I am just starting
 to learn it. Do you think it will work for my purpose? Do I need to get a
 real programmer involved, or can I learn enough Python in a few months to
 help kids well enough, without being a specialist? What questions do I not
 know to ask?

You can do as much math in NumPy and SciPy as you know. You may need
some help from Pythonistas from time to time, but the whole idea is to
let people program what they know without having to make the
investment of time that C++ and other professional languages
require.

 I would appreciate any pointers.



 --
 Cheers,
 MariaD

 Make math your own, to make your own math.

 http://www.naturalmath.com social math site
 http://www.phenixsolutions.com empowering our innovations

 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig





-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.org/worknet (Edward Mokurai Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


[Edu-sig] Generating prime numbers

2009-04-07 Thread Edward Cherlin
On Sun, Apr 5, 2009 at 9:07 AM, kirby urner kirby.ur...@gmail.com wrote:
 As my grandmother might have said:  ai yai yai
 http://answers.yahoo.com/question/index?qid=20081203103806AA4TSOq

 I'm guessing Kay (XY? XX? -- not that I need to know) is a LISP and/or
 Scheme head, by the looks of those lambdas.  Probably why Python
 doesn't want a big one is precisely this:  the language would fall
 under the control of the Great Lambda Kings (a small tribe to our
 north, spends all its time extending emacs).

 Ya gotta love 'em!

You should try UnLambda, then. ;- _The_ most minimalist Turing-tarpit
language I knew of until just this moment, when I looked it up on
Wikipedia and found out about the languages Iota and Jot. Wonderful
for proof-of-concept studies. There is a Parrot implementation of
UnLambda. Here, for example, is an UnLambda implementation of the Y
fixed-point combinator.

```s``k``sii``s``s`ksk`k``sii

where i is an abbreviation for  ``skk.

Joy is a pure functional languages without Lambda. A square function
in Joy is quite FORTH-like.

DEFINE square == dup * .

J also does without Lambda. It has a functional subset with Currying
() in which one can write

square =. ^2

I helped Iverson with a small design point in that functional subset,
and wrote a paper about a generalization of the idea for the next
year's APL conference. In the class of languages I discussed, one can
dispense with variables.

 Kirby



 On Sun, Apr 5, 2009 at 8:27 AM, John Posner jjpos...@snet.net wrote:
 kirby urner wrote:

 Excellente! kind sir.


 Here's a Python solution from Kay Schluehr on python-list. I've
 pretty-printed it, sort of. If the line endings get garbled, just look for
 the backslashes:

 g = (lambda primes = []: \
       (n for n in count(2) if \
           (lambda n, primes: \
               (n in primes if (primes and n=primes[-1]) \
                            else (primes.append(n) or True if all(n%p for p
 in primes if p = sqrt(n)) \
                                                           else False) \
               ) \
           )(n, primes) \
       ) \
   )()

 g is a generator, so get the values with g.next().


-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.net/ (Edward Mokurai Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Fwd: Do we teach computers when we write code?

2009-04-07 Thread Edward Cherlin
On Tue, Apr 7, 2009 at 6:32 AM, Lloyd Hugh Allen chandraki...@gmail.com wrote:
 I haven't posted in a while -- forgot to reply-to-edu-sig :)

There is a long-running rwar between those who think that mailing
lists should have a reply-to set to the mailing list address, and
those who think that replies should go to the previous sender by
default. Is it worse that mistakes result in private replies going to
the list (big-endian) or list replies going to an individual
(little-endian)? You still have to be able to remember what you are
doing. What _I_ want is a menu item clearly labeled Reply to List.

 -- Forwarded message --
 From: Lloyd Hugh Allen chandraki...@gmail.com
 Date: Tue, Apr 7, 2009 at 09:26
 Subject: Re: [Edu-sig] Do we teach computers when we write code?
 To: kirby urner kirby.ur...@gmail.com


 As a math teacher, using the particular example of summing a finite
 set of consecutive integers:

 To give students a formula, in particular n(1+n)/2, and then have them
 do a set of practice problems where they apply that formula, is not
 teaching. It might be training.

 Instead, consider the case of telling students that: when Gauss was in
 elementary school, his teacher needed time to work on some other
 matter and so told the students to add all of the numbers from 1 to
 100; and that Gauss instantly looked up and said 5050; and the teacher
 hadn't actually yet done the problem himself and so denied Gauss'
 answer.

The version I learned is that Gauss wrote the answer on his personal
slate and put it face down on the teacher's desk, as was the custom.
Then he waited while all of the others slaved through the columnar
addition. When the last slate was added to the pile, the teacher
turned it over and found Gauss's correct answer on top. With no
working. In some of the schools I have attended, you get marked down
for not showing your work. %-[

 Gauss, as an ~8 year old, said, no, look, and wrote

 1 + 2 + 3 + ... + 100

 and then below that wrote

 100 + 99 + 98 + ... + 1

 and showed that there were 100 columns, and that each column summed to
 101. However, he then noted that he had written the series out twice,
 and so had to divide that product by two. The 100 columns is the n;
 the sum of the first and last number is 1+n; and then divide by two.

You can do this in preschool with Cuisenaire rods.

 And then to have the students try to represent a similar problem, and
 to check their answer against the formula, and THEN to have them do a
 set of practice problems, that might be teaching.

 If the computer were able to understand the story about young Gauss,
 then we could teach it. Instead, we can use it to confirm that the
 formula seems to work (because computers can add numbers in the
 fashion that Gauss' elementary school teacher expected just as fast as
 we can apply the formula),

+/i.100

0.5 * (] * (] + 1))

 and we can show that using the formula is
 still faster for the computer than actually summing the list, but no,
 we are not teaching the computer.

I still say that even though the computer is not learning, children
writing programs have the same impact on their learning _as if_ they
were teaching.

 Perhaps if the computer were then able to, of its own volition, wonder
 what we would get if we were to sum consecutive squares, then we could
 teach it. As hard as it is to get students to wonder about things,
 it's even harder to create that state in computers.

There are theorem-proving programs, and I know of an instance in which
one was turned loose and came up with a novel proof in geometry (of a
well-known theorem, of course.) Still, one shouldn't make too much of
an isolated incident.

 -Lloyd

 On Mon, Apr 6, 2009 at 18:05, kirby urner kirby.ur...@gmail.com wrote:
 I'm wondering what others on this list think of this non-standard use
 of teaching when talking about programming a computer.

 The authors say we're teaching the computer
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.net/ (Edward Mokurai Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


[Edu-sig] Mail features (was Re: Fwd: Do we teach computers when we write code?)

2009-04-07 Thread Edward Cherlin
On Tue, Apr 7, 2009 at 2:28 PM, Laura Creighton l...@openend.se wrote:
 In a message of Tue, 07 Apr 2009 11:09:36 PDT, Edward Cherlin writes:
There is a long-running rwar between those who think that mailing
lists should have a reply-to set to the mailing list address, and
those who think that replies should go to the previous sender by
default. Is it worse that mistakes result in private replies going to
the list (big-endian) or list replies going to an individual
(little-endian)?

 Much worse when private replies go to a list.

I'm not going to argue with you, but I know others who would. :(

You still have to be able to remember what you are
doing. What _I_ want is a menu item clearly labeled Reply to List.

 Many mailers have one of these.  Writing one is not hard, what mailer
 are you using, and is the source available?

Gmail. No, source is not available. They do accept feature requests at

http://mail.google.com/support/bin/static.py?page=suggestions.cs

Once in a while I see that some feature I wanted made it in.

 Laura

Of course the mail software can't help you remember when to change the
subject line.
-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.org/worknet (Edward Mokurai Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Mail features (was Re: Fwd: Do we teach computers when we write code?)

2009-04-07 Thread Edward Cherlin
On Tue, Apr 7, 2009 at 3:43 PM, kirby urner kirby.ur...@gmail.com wrote:
 Gmail. No, source is not available. They do accept feature requests at

 http://mail.google.com/support/bin/static.py?page=suggestions.cs

 Once in a while I see that some feature I wanted made it in.

 Laura

 Of course the mail software can't help you remember when to change the
 subject line.

 How would Reply to List differ from Reply to All, which gmail has?

Reply to All, which I used on this message, puts you in as primary
recipient, and the list as cc:. I _could_ delete you, and move the
list address to To:, but I usually don't feel like taking the trouble.
This time I left it deliberately.

 Seems like you'd have to be able to pick out a list from all the
 others, which means persisting a list of lists, which may be more
 trouble than it's worth?

You mean if the message is crossposted to multiple lists? Well then, I
just use Reply to All.

 I think just posting to the list is often sufficient, so if others
 reply, it goes to the list also.  No need to CC anyone you already
 know is on the list maybe?

Yes, that's what I'm asking Google to let us do.

 Anyway, this gets in the realm of to each her own i.e. not my place
 to micromanage the habits of others, just giving a few cents worth.

 Kirby

 --
 Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
 And Children are my nation.
 The Cosmos is my dwelling place, The Truth my destination.
 http://earthtreasury.org/worknet (Edward Mokurai Cherlin)
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig

 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.org/worknet (Edward Mokurai Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Do we teach computers when we write code?

2009-04-06 Thread Edward Cherlin
On Mon, Apr 6, 2009 at 3:05 PM, kirby urner kirby.ur...@gmail.com wrote:
 I'm wondering what others on this list think of this non-standard use
 of teaching when talking about programming a computer.

 The authors say we're teaching the computer

I have a very simple take on this. It is an imperfect analogy, but it
works in some situations. Children learn concepts much better by
programming them than by repeated practice. (Practice should be for
skills, like music or sports.) So, although it is not the same as
teaching a person, we can help people to understand what we are
talking about by judicious use of the analogy.

If you want to know where I got this, I can cite Skill in Means in
Buddhist teaching, or:

In the original Pragmatic philosophy, as set forth by Peirce and
William James, meaning is not an attribute of a word, but of the
context, in particular of the intentions of the persons concerned. Do
we travel around the world every day with the Earth's rotation?  It
depends how you define travel. Relative to the Earth's surface, in a
rotating coordinate system, we don't move. If we insist that motion
can only be defined in Galilean or Special Relativistic invariant
coordinate systems, where rotation is disallowed, then we move.
General Relativity has its own issues.

If I see a squirrel on a tree, and I go around the tree, with the
squirrel staying out of sight opposite me, do I go around the
squirrel, which has kept the same side toward me the whole time?
(Example from William James)

Am I teaching when I write a textbook? I'm certainly trying to, but
you can say that the teaching or learning doesn't begin until a
student reads it (if then).

Am I teaching when I present examples to a Bayesian spam filter or an
AI? Depends. Dunnit?

The question whether a computer can think is of no more interest than
whether a submarine can swim.--Edsger Dijkstra.

 
 Every teacher knows that one of the best ways to
 understand something is to teach it to someone else. But
 teaching a computer is not exactly the same as teaching
 other people. People have a way of interpreting what is
 being said to them. They read the gestures and the facial
 expressions of their teachers as well as the words that
 are spoken. The intonation of the voice is important and
 matters judged to be obvious are not always articulated.
 All this may generally assist the learning process but
 what matters here is that computers are essentially stupid
 so they cannot interpret any of the commands they are
 given and the teacher has to articulate everything that
 is to be learned. A computer has no knowledge of what
 its programmer is attempting to do. It only knows what
 it has been told and so the children who are teaching it
 are compelled to use precise, unambiguous and formal
 language. The children respect this requirement because
 they understand that it is not an arbitrary imposition (as
 many of those made by teachers often are). In todayÕs
 world we cannot yet address machines informally by
 the spoken word and, mathematically at least, there
 may be fewer benefits when we can.

 There are other characteristics of computers that make
 them valuable objects to teach. One of these is their
 interactivity. Without any computers we might use
 paper and pencil which are useful devices for recording
 results but less valuable for experimental purposes
 because they do not encourage an exploratory approach
 or suggest activity. The computer, in contrast, begs to
 be used. It always feels quite appropriate to key in ideas
 and try them out. In fact children are usually so willing
 to explore different possibilities that teachers are more
 likely to have the reverse problem of having to persuade
 them to stand back and reflect occasionally.
 

 Teaching the computer
 From Micromath 18/1 2002 by Ronnie Goldstein
 http://www.atm.org.uk/mt/micromath.html

 I'd think this might backfire, as students begin thinking they're
 being treated much as the computers are being treated, as dull and
 stupid, such that teachers have to speak very... slowly... and
 formally.

 I'm poking around this site thanks to Ian at the scene, who sees ATM
 dooming itself in some bid to join with a dying NAMA (he was at the
 NAMA conference right before Pycon).  http://www.nama.org.uk/

 Not saying I follow entirely as I'm not in the UK (Steve Holden was
 supposed to translate for me), but I surmise ATM and NCTM are somewhat
 parallel organizations.

 ATM was actually founded by Caleb Gattengno, so it's ironic, what Ian is 
 saying.

 http://www.atm.org.uk/people/caleb-gattegno.html

 The article above is obviously dated (2002), plus in mine has a lot of
 incorrect characters, thanks to PDF encoding problems.

 I think computers are running our scripts more like player pianos.  We
 don't teach our pianos, we tune them (guitars:  we play them).

 We *play* our computers (like guitars) more than we teach them, no?

 Kirby
 

Re: [Edu-sig] Generating prime numbers

2009-04-04 Thread Edward Cherlin
Your message text got stuck in an attachment, where I almost missed
it. I wonder what your mail system thinks it is doing? Comment below.

On Sat, Apr 4, 2009 at 12:48 PM, John Posner jjpos...@snet.net wrote:


Sent today to python-list ...

Inspired by recent threads (and recalling my first message to Python
edu-sig), I did some Internet searching on producing prime numbers using
Python generators. Most algorithms I found don't go for the infinite,
contenting themselves with list all the primes below a given number.

Here's a very Pythonic (IMHO) implementation that keeps going and going and
going ...:

from itertools import count
from math import sqrt

def prime_gen():

Generate all prime numbers

primes = []
for n in count(2):
if all(n%p for p in primes if p = sqrt(n)):
primes.append(n)
yield n

The use of all() is particularly nifty (see
http://code.activestate.com/recipes/576640/). And so is the way in which the
list comprehension easily incorporates the sqrt(n) optimization.

Question: Is there a way to implement this algorithm using generator
expressions only -- no yield statements allowed?

I don't know about Python, but there are lazy evaluation languages
with streams that can handle something like

isprime=: {n.0 in [2:floor(sqrt(n))] | n}

isprime each [2:_]/[2:_]

where

floor is round down
| is remainder (mod)
each applies a function to each member of the argument
_ is positive infinity
/ (compress) returns elements of the right argument corresponding to
True values in the left argument

and we can get rid of the named function by simple substitution, thus

{n.0 in [2:floor(sqrt(n))] | n} [2:_]

2 passes as prime because [2:1] is empty, so it generates no 0 remainder.

Can you say that in Python?
-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.net/ (Edward Mokurai Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


[Edu-sig] Fourth-grade math textbook project

2009-03-24 Thread Edward Cherlin
There is a fairly new mailing list,
http://lists.sugarlabs.org/listinfo/fourthgrademath, discussing
creation of a 4th-grade math book using the Sugar software for the
OLPC XO as a base. You are invited if you are interested to contribute
or even just to lurk.

-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.net/ (Edward Mokurai Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


[Edu-sig] From trees to text

2009-03-24 Thread Edward Cherlin
http://tonyforster.blogspot.com/2009/03/orbital-motion-in-python-and-turtleart.html
Orbital motion in Python and TurtleArt

Intended to demonstrate two things,
a) that programmable simulations are good ways for kids to learn
physics and maths
b) that the programmable block provides a way for kids to move from
simple drag and drop programming to more complicated text based
programming

Tony's point is that the programmable block allows users to explore
Python at any level they like, from a single function call up. This
will be an essential part of my strategy for teaching CS and
programming through Turtle Art.

-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.net/ (Edward Mokurai Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] As We May Think: What will we automate?

2009-03-23 Thread Edward Cherlin
On Sun, Mar 22, 2009 at 10:40 PM, kirby urner kirby.ur...@gmail.com wrote:
 On Sun, Mar 22, 2009 at 8:03 PM, Edward Cherlin echer...@gmail.com wrote:

  SNIP 

 We need a language-independent way of teaching programming concepts. I
 have an idea for one based on Turtle Art, which represents programs as
 trees, not texts. Most programming languages have to transform texts
 to trees before executing or compiling them. Trees are far more
 fundamental than texts. Everybody in the LISP world knows that syntax
 is just sugar on the top of a language.

 I hope to see other language-independent models.


 I'm not so sure about this, unless by language-independent you mean
 we go through several languages, in which case then I agree.

 What I shun is a purist approach wherein no actually executing
 language is considered worthy or good enough, because each and every
 one is considered too quirky or special case in some way (as if that
 perfectly general language at the end of the rainbow could ever be
 free of these defects).

Nothing like that. Turtle Art is completely executable.

http://wiki.sugarlabs.org/go/Activities/Turtle_Art

 This trading away of a very appealing feature (it runs on a machine)
 in favor of some paper and pencil pureness is what I'd consider a
 rip off, as students want the fun of actually noodling and doodling
 with electrified metal, not just with wood pulp.

 What's fun about computing is in large degree the superhuman speeds
 attainable with fast-oscillating crystals.  The paper and pencil world
 shouldn't plan on getting in the way here, though its fine to design
 with diagrams, storyboard, all manner of squiggles (we also allow
 colored pens, not just pencils).

  SNIP 

 In the Wonderful World of the Future, most people will be actively
 creating active digital content with state and flow control, object
 abstraction, programming in the sense of producing automated
 stuff that accomplishes tasks.

 There are several programming languages popular among non-professional
 programmers. These languages get no respect in the professional
 community, and neither do their users. But think what a
 non-professional programmer is. He or she is typically a specialist in
 some other domain who needs custom programming. A statistician, a
 scientist, an engineer, a computer musician...I know people in each of
 those fields, and others, creating their own software to do their
 jobs.

 An example or two might be helpful.  I spontaneously think of Excel,
 SPSS and Mathematica, all of which get respect, although not so much
 as general purpose languages -- which has specific meaning.
 Mathematica is general purpose in the sense of comprehensive in what
 it covers but I don't see it as a replacement for SQL or Javascript.

Most of my examples are from APL.

Stanley Jordan is a jazz guitarist who graduated from the Princeton
Computer Music program. He writes APL programs to write music.

My father was an actuary. He calculated insurance rate books in APL.



 I think it's helpful for all of us to admit that, in writing specific
 instructions in language A, we're likely also leveraging others' work
 in languages B, C and D.  For example, Python depends on C which in
 turn depends on a surrounding operating system with an API to the
 hardware, firmware controlled, and so forth.

 A musician using a music-editing application is just as much
 programming, only here the program is notated in musical notation
 (includes loop constructs, other flow instructions) and the execution
 is in terms of a MIDI engine or whatever.

 People always talk about looms, punch card controlled, as an important
 feeder technology, but player pianos, other instruments driven by
 recorded media, sometimes rotating metallic, are just as important.


 A language for professional programmers can be quite elaborate,
 requiring considerable effort to learn and constant use to maintain. A
 language for non-professionals must be simple in structure, with
 minimal syntax and minimal


 Per the CP4E rhetoric, such as I understand it, we're aiming for a day
 when writing machine executable notations, including musical, scripts
 for puppets (avatars, characters) won't be considered a career in an
 of itself so frequently as a component skill within other more
 comprehensive disciplines.  Per R0ml, we're talking about a new kind
 of literacy.

True.

 During the Renaissance, the infusion of Hindu-Arabic algorithms and
 abacus-based thinking, trickling through Pisa and Liber Abacci, had a
 profound effect on the surrounding discourse, including in art, other
 media.  I think we're in a similar position, in terms of careers
 morphing in response to new digital capabilities.  We're just starting
 to experience the network effects of 21st century
 telecommunications.

Also the development of geometric optics, which led to perspective
painting in the Renaissance and to projective geometry later on.

 In more practical terms, what CP4E looks like

Re: [Edu-sig] As We May Think: What will we automate?

2009-03-22 Thread Edward Cherlin
On Sat, Mar 21, 2009 at 2:14 PM, kirby urner kirby.ur...@gmail.com wrote:
 One of our Wanderers (think tank in Portland) wrote:

 
 I expect that teaching Python/Perl/Ruby/Java in the 2000s will be
 viewed with the same scorn in the 2030's. The problem with flavor
 of the month languages is that they are passe a month later, as
 better abstractions appear. Such evanescent ways of doing things
 are probably not the basis for life-long learning.

We need a language-independent way of teaching programming concepts. I
have an idea for one based on Turtle Art, which represents programs as
trees, not texts. Most programming languages have to transform texts
to trees before executing or compiling them. Trees are far more
fundamental than texts. Everybody in the LISP world knows that syntax
is just sugar on the top of a language.

I hope to see other language-independent models.

  SNIP 

 In the Wonderful World of the Future, most people will be actively
 creating active digital content with state and flow control, object
 abstraction, programming in the sense of producing automated
 stuff that accomplishes tasks.

There are several programming languages popular among non-professional
programmers. These languages get no respect in the professional
community, and neither do their users. But think what a
non-professional programmer is. He or she is typically a specialist in
some other domain who needs custom programming. A statistician, a
scientist, an engineer, a computer musician...I know people in each of
those fields, and others, creating their own software to do their
jobs.

A language for professional programmers can be quite elaborate,
requiring considerable effort to learn and constant use to maintain. A
language for non-professionals must be simple in structure, with
minimal syntax and minimal

 But it won't be text based. There
 may be a few Morlocks laboring down amongst the lines of code like
 you and I do.

Mitch Bradley, the author of Open Firmware, programs to bare metal so
that the rest of us don't have to. He is hardly a Morlock.

 Working with text code will probably be considered
 fundamental and connected with our roots, like animal-powered
 agriculture is now

Code will not go away. But as in the AI community long ago, we will
think of programs to write programs to write programs.

 So take a look at programming in schools from the viewpoint of
 an adult in 2030, not a 2009 viewpoint, and heaven forbid from the
 viewpoint of the ancient times when you and I were trained. What
 do you wish you had been taught 40 years ago?

Not BASIC, not Pascal, not even Python. In my case, Smalltalk,
LISP/SCHEME, FORTH, and APL/J, each of which presents a different
model for thinking about how computers work and about how to represent
knowledge and skill. Each also has a radically simple syntax and a
universal concept of data structures. In Smalltalk, everything is an
object. LISP represents everything in trees. APL in forests. FORTH in
memory layout. LISP, FORTH, and APL each has a different way to model
object-oriented programming.

I invented Object-Oriented Programming, and C++ is not what I had in
mind.--Alan Kay

 What was fashionable but dated?

Computer literacy is the worst. Just as though we had a room where all
of the pencils and paper and books were kept, where you could fool
around for an hour or two a week, but you had no books in your
courses, and you could not do written homework. Earth Treasury is
working on Digital Textbooks, now that we can give children the use of
computers 24/7.

 Extrapolate that forwards, and try to guess what they
 will want, not what you and I consider important /now/. For extra
 points, try to guess what they should be teaching *their* kids,
 for use in the year 2060, and get started on the theoretical
 underpinnings of *that*.

In 2060 there will be new physics and math that we have no idea of.
There will be new media, and new art forms. We will not think about
economics and politics as we do now. We can expect that everybody on
Earth who wants to be on the Internet will be. Dire poverty should
have ended. We cannot specify content in advance. What I want is for
children to be taught collaborative discovery in the realm of powerful
ideas.

o What is this? Is it real? How do I know? (In a $2 word, ontology)

o What does this mean? Is it true? Why should you believe me? (epistemology)

o Is this important? Should I do something about it, even if I don't
want to? (ethics)

 I'm wondering what people on this list think about this remark.

 I responded rather sharply at the time, as I think it's a common
 dodge, to avoid adding grist to the mill today, because of some
 hypothetical future wherein said grist will be obsolete.

I do not argue against grist. I argue that our children should be able
to adapt the mill when necessary.

 In the meantime, we continue teaching technical subjects as if the
 FOSS revolution never happened, I think imperiling its gains (sliding
 

Re: [Edu-sig] CTL: Computer Thinking Language

2009-03-03 Thread Edward Cherlin
Comments below. We can provide the authors with a great deal more
information on request.

On Sun, Mar 1, 2009 at 1:02 PM, David MacQuigg macqu...@ece.arizona.edu wrote:
 There is an interesting article in the latest ACM {Human Computing Skills: 
 Rethinking the K-12 Experience, Fletcher  Lu, Communications of the ACM, 
 Feb.09, p.23}.

 The authors make a strong case for re-vamping our curricula:
 despite our best efforts to articulate that CS is more than just programming 
 ...
 computational thinking (CT) as a skill on a par with reading, writing and 
 arithmetic ... places the core of CS, we believe correctly, in the category 
 of basic knowledge.

CS, including incompleteness and undecidability results, is
fundamental to epistemology, which is fundamental to child
development, as Piaget showed in considerable detail. (What is true?
How do you know? When do you need to suspend judgment?) For example,
proof and theorem can be syntactically defined in either logic or
CS, but truth does not have a mathematical definition. The
definition of proof leads to the creation of sentences that can be
neither proved nor disproved. A definition of truth would, by
exactly the same mechanism, allow us to create sentences of arithmetic
that are neither true nor false.

 proficiency in computational thinking helps us systematically and efficiently 
 process information and tasks.
 lay the foundations of CT long before students experience their first 
 programming language.
 Programming is to CS what proof construction is to mathematics, and what 
 literary analysis is to English.

I don't see it that way. Programming:CS::calculation:math, perhaps,
but the analogy is necessarily imperfect.

 Then they move to more more controversial statements:
 Knowledge of programming should not be necessary to proclaim literacy in 
 basic computer science.

True if programming is defined by conventional languages written in a
text editor.

 Substantial preparation in computational

algorithmic and constraint-based

 thinking is required before students enroll in programming courses.

It hasn't been, but should be. We have accepted the ability to
calculate and solve equations as a substitute for the higher-level
concepts required.

 and a specific proposal:
 a computational thinking language (CTL) that captures core CT concepts must 
 permeate the pedagogy.
 not a programming language, but rather vocabularies and symbols that can be 
 used to annotate and describe computation, abstraction, and information and 
 provide notation around which semantic understanding of computational 
 processes can be hung.

I am doing precisely that with the Sugar version of TurtleArt, which
provides tiles that hook together to create programs. The schoolchild
learning TurtleArt is not bothered with syntax in any form. Tiles are
keyed to render type mismatches impossible. The resulting program is
in tree form, like the output of a compiler parser. Outputting various
languages brings in the various tree-walk orders and issues of
generative grammars. We are creating several sets of tiles to
illustrate different CS concepts, and planning a primary school CS
course with interactive digital textbooks.

I can do all of Euclidean plane geometry, plane analytic geometry, and
a toy Turing machine (finite tape, finite set of state symbols) in
Turtle Art. We can create tiles for almost any model of programming
and computer structure, including prefix (LISP, SCHEME, LOGO), infix
(most languages), and suffix (FORTH, RPN calculator) expressions;
procedural vs functional vs object-oriented message passing; a wide
range of control structures; and much more.

 They give as an example, a description of Euclid's algorithm for finding the 
 greatest common divisor.  They suggest a syntax, which I transcribe here 
 using lamba as the Greek lower-case lambda:
 lambda a,b. if ab,(a, b-a); else (a-b, b)
 At this point, they really lost me.  Why would anyone go to this much effort 
 to avoid programming language.  Python's equivalent statement is just as 
 simple (although a bit odd in its ordering):

 lambda a,b: (a, b-a) if (ab) else (a-b, b)

You left out the termination case in both forms. If one of the
arguments is zero, return the other. In any case, lambda notation is
completely inappropriate as a first CS language.

 Have these guys never heard of Python?

gcd =. if .(a,b)0 then gcd/(./(a,b)-./(a,b), ./(a,b)) else ./(a,b)

in J-like syntax, where . is min, and . is max, and / turns prefix
expressions into infix.

 I think the problem may be a need to avoid favoring one language over 
 another.  Any time you make a proposal to use a specific language, you get 
 immediate opposition from folks who favor another language.  In my department 
 (Java  C++), and at our community college (Java, BASIC, Alice), I seem to 
 have been labeled as the Python guy, pushing yet another language, or 
 even worse, the guy who wants to get rid of type declarations.  Python is 
 seen as a 

Re: [Edu-sig] project Euler

2009-02-13 Thread Edward Cherlin
On Fri, Feb 13, 2009 at 8:30 AM, kirby urner kirby.ur...@gmail.com wrote:
 On Thu, Feb 12, 2009 at 11:53 PM, Edward Cherlin echer...@gmail.com wrote:

  SNIP 

 So you're doing that in your head?

 Not at all. I can do this example with paper and pencil, and I would
 want a calculator or a log table for larger examples. Let's see...

 And I would want my Python shell.  I don't own a calculator, have no
 need for one.

I mean the Calculator activity in Sugar, or gcalctool.

 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584
 2 8 34 144 610 2584
 2 10 44 188 798 3382, ok, 4 more terms...Third grade paper and pencil
 arithmetic for the rest.

 I think the word programming is misleading in some contexts.

 I don't use the word for anything that can easily be done on a
 non-programmable calculator, an abacus, or a half sheet of paper by
 one with the skills commonly taught (though not very often learned in
 full) for each.

 I'm not that impressed by commonly taught skills i.e. if a kid knows
 how to use a TI, but not Python, I'm inclined to move on to the next
 candidate.

! No! Pencil and paper arithmetic skills, not gadgetry. Multiple
column addition, subtraction, multiplication.

 Using Python as a calculator is what Guido mentions in his tutorial.

 Python or TI?

 XO or TI?

 Similarly for APL and J.


 Yes, as I've mentioned, APL was my first language and I've worked with
 Iverson himself on a paper about J.  I heard from Roger Hui just the
 other day.  Part of why I fell in love with Python is because of its
 orthogonal primitives, feels like APL in some ways.  Plus the whole OO
 thing is way cool, highly accessible.

 My oft stated preference is to NOT ever (ever) get stuck in teaching
 just one language, even if one emphasizes just one in this or that
 classroom or on-line session.

We have to get away from the notion that teaching programming =
teaching language syntax. That's why I am working on a set of
demonstrations of programming and Computer Science ideas in Turtle
Art, where children can create programs directly as trees, not linear
texts that a parser turns into a tree for execution.

 Per some brain science I've been
 studying, we really do *not* multitask, even though we appear to, any
 more than an Intel chip really does (OK, some do, but at one time it
 was all round robin).

 Kirby


-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://wiki.sugarlabs.org/go/User:Mokurai (Ed Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] project Euler

2009-02-13 Thread Edward Cherlin
On Fri, Feb 13, 2009 at 12:02 PM, kirby urner kirby.ur...@gmail.com wrote:
 On Fri, Feb 13, 2009 at 11:43 AM, Edward Cherlin echer...@gmail.com wrote:

  SNIP 


 I mean the Calculator activity in Sugar, or gcalctool.


 Our use Pippy maybe?

We have lost the context of the discussion. The question was not which
tools to use in the classroom, but whether programming is the
appropriate term to use for processes that can be done on a calculator
(physical or virtual), or on pencil and paper.

Of course we should use Pippy. And Turtle Art, and Calc, and Etoys and...

 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584
 2 8 34 144 610 2584
 2 10 44 188 798 3382, ok, 4 more terms...Third grade paper and pencil
 arithmetic for the rest.

 Recent meeting with Anna Roys, TECC/Alaska (tecc-alaska.org):

 Lesson plan:  On-line Dictionary of Integer Sequences, enter 1, 12, 42, 92...

Wonderful site. Major professional tool that children can learn from.

 Follow some links, to my page included, even if just for the pictures
 (good Virus from Life -- made out of metal nuts it looks like).
 Treasure hunt?

 We're focused on linking algebraic sequences, generator type stuff, to
 visual imagery,

So if we tell the turtle to set v=5, and at every successive step to
put down a dot, move by v, and set v =. v+a =. 10, we get dots at

0 5 15 25 35 45 55

Dividing by five, or alternatively using the first interval as a unit, we get

0 1 3 5 7 9 11

with partial sums

0 1 4 9 16 25 36

Very good. The next day, take the students outside with XOs and have
them take videos of someone dropping a ball from the roof. Pick frames
at some suitable interval and overlay them. Tell students to turn
their XOs sideways, and ask if they recognize the dot pattern. Thus,
in two lessons, uniform gravity means constant acceleration. This is
Alan Kay's favorite demo.

 imaginary content, like we do later with coordinate
 systems (XYZ, spherical...), but figurate numbers (polyhedral
 numbers) are a first bridge between algebra and geometry, coordinates
 be damned (until later).

 Glue four ping pong balls together:  voila, a tetrahedron (your unit
 of volume in some curriculum segments, unless your school is some kind
 of joke -- Alaska leading the pack here in some ways).

With 20, you can do a dissection of a tetrahedron into four pieces.
Two consist of four balls in a row. Two consist of six balls in a two
by three arrangement. Most people have a lot of trouble reassembling
them.

 I think the word programming is misleading in some contexts.

 I don't use the word for anything that can easily be done on a
 non-programmable calculator, an abacus, or a half sheet of paper by
 one with the skills commonly taught (though not very often learned in
 full) for each.

 I'm not that impressed by commonly taught skills i.e. if a kid knows
 how to use a TI, but not Python, I'm inclined to move on to the next
 candidate.

 ! No! Pencil and paper arithmetic skills, not gadgetry. Multiple
 column addition, subtraction, multiplication.

 It's not either/or, but if it's between a TI and Python, then I say Python.

 Either way, you'll need paper and pencil skills too.

 A quick challenge:

 Spheres packing around a nuclear sphere go 1, 12, 42, 92... 10*L*L +
 2, where L is the layer number, except where L = 1 we have just the
 one ball (the shape is a cuboctahedron).  So how many balls total?
 Add up all the layers.  Yes, very easy to do in APL.

 In Python:

 def cubocta( layer ):
if layer == 1:  return 1
return 10 * layer ** 2 + 2

 def total_balls( layer ):
total = 0
for i in range(1, layer + 1):
total = total + cubocta( i )
return total

 But isn't there a closed form algebraic expression for total_balls
 that doesn't require cumulative adding?  Damn straight.  We'll get to
 it.

 Don't forget to watch the cartoons!  This isn't Bourbaki.
 Visualizations encouraged!  This is MVC.


 Using Python as a calculator is what Guido mentions in his tutorial.

 Python or TI?

 XO or TI?

 Similarly for APL and J.


 Yes, as I've mentioned, APL was my first language and I've worked with
 Iverson himself on a paper about J.  I heard from Roger Hui just the
 other day.  Part of why I fell in love with Python is because of its
 orthogonal primitives, feels like APL in some ways.  Plus the whole OO
 thing is way cool, highly accessible.

 My oft stated preference is to NOT ever (ever) get stuck in teaching
 just one language, even if one emphasizes just one in this or that
 classroom or on-line session.

 We have to get away from the notion that teaching programming =
 teaching language syntax. That's why I am working on a set of
 demonstrations of programming and Computer Science ideas in Turtle
 Art, where children can create programs directly as trees, not linear
 texts that a parser turns into a tree for execution.

 I'm just interested in teaching math.  I don't give a rip about
 Computer Science (just kidding, I care plenty

Re: [Edu-sig] project Euler

2009-02-12 Thread Edward Cherlin
2009/2/11 michel paul mpaul...@gmail.com:
 This is a pretty cool site:  Project Euler.

 It's a list of problems that can't be solved using mathematical cleverness
 alone - they require programming.

Not so, according to the examples below.

 After you solve a problem, you then get
 access to the list of previous solutions.

 The first one - Add all the natural numbers below one thousand that are
 multiples of 3 or 5. - is just a Python one-liner.

It's a shorter APL one-liner, but so what?

Sum of multiples of three (3-999), plus multiples of five (5-995),
minus multiples of 15 (15-990). No programming required.

 The second - Find the sum of all the even-valued terms in the Fibonacci
 sequence which do not exceed four million.

Sum of every third term in the sequence. Set x=phi^3 and sum 2×(1 + x
+ x^2...) up to floor log 4e6 base x, and round the result. Also no
programming.

 It's fun looking at the previous solutions in all kinds of other languages.
 Really shows the elegance of Python.

 It reminds me somewhat of JavaBat.  There was some discussion earlier about
 doing something similar in Python?

 - Michel

 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig





-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://wiki.sugarlabs.org/go/User:Mokurai (Ed Cherlin)
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Topics for CS2

2009-01-22 Thread Edward Cherlin
On Thu, Jan 15, 2009 at 3:09 PM, David MacQuigg
macqu...@ece.arizona.edu wrote:
 I'm putting together a list of topics for a proposed course entitled 
 Programming for Scientists and Engineers.  See the link to CS2 under 
 http://ece.arizona.edu/~edatools/index_classes.htm.  This is intended as a 
 follow-on to an introductory course in either Java or C, so the students will 
 have some exposure to programming, but the Java students won't know 
 machine-level programming, and the C students won't have any OOP.  For the 
 proposed course, we will use the example programs as a way to introduce these 
 topics.

Earth Treasury might be interested in working with you on this, if you
are willing to have it distributed under a Free license in multiple
languages. We are working on teaching Computer Science ideas in an
age-appropriate manner on the OLPC XO starting in third grade, or if
possible earlier, using Smalltalk, Turtle Art, Logo, Python, and other
powerful tools, and continuing through 12th grade at least. We will
also be using the XO's digital oscilloscope capability (Measure
Activity) to teach science and engineering.

The outline of our project, with the names of our confirmed partners
and a few prospective partners we are talking with, is at
http://wiki.sugarlabs.org/go/Creating_textbooks. We will have more
announcements of partners, resources, projects, and so forth fairly
soon.

 As you can see from the very few links to completed examples, this is just a 
 start.  Many of the links are only to discussions on this list, and I really 
 appreciate the suggestions I have received so far.  Also, it is far from a 
 representative survey or optimum sample, rather just a random sample of 
 topics that I found interesting.  Some of the topics may be out of reach for 
 students at this level, but that is the challenge.  Figure out a way to 
 present a complex or theoretically difficult topic in a way that is simple 
 and intuitive and will whet the students appetite for further study.

 Additional suggestions are welcome.

 -- Dave


 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://wiki.sugarlabs.org/go/User:Mokurai
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] ACM Urges Obama to Include CS as Core Component ofScience, Math Education

2008-12-29 Thread Edward Cherlin
On Fri, Dec 26, 2008 at 11:18 AM, gerry_lowry (alliston ontario
canada) gerry.lo...@abilitybusinesscomputerservices.com wrote:
 Edward Cherlin, in part:  APL is coming.

NumPy is heavily influenced by APL, as are the math parts of Ada,
Common LISP, FORTRAN 90 and beyond, and all functional programming
languages.

 Therefore, J, APL'S successor in ASCII, makes sense in this regard.

 J has a small footprint and is brilliantly programmed by Roger Hui et al.

I have a copy of their published source code from several versions
back. It is amazing how Roger used the C preprocessor so that he could
write much of J in APL style, essentially giving an object definition
for nested arrays containing data of any mixture of types.

 Further, Ken Iverson was a teacher until his last breath*.

With constant insistence that the right way to learn is by
exploration. Try to invent tests that tell you what a function is and
does before you read the definition.

 The J IDE makes a great environment for teacher and student experimentation.

+1 from me, of course.

The big question is whether Eric and Roger would be willing to GPL
some version of J. The computational core would do nicely for many
purposes, although I would far rather have the complete system,
including object-oriented programming, graphics, and GUI development.

Both Alan Graham and Arthur Whitney are working on enhanced APLs under
a Free license, and have offered them for the XO.

 Regards, Gerry (Lowry)

 Best wishes to all for a healthy, happy, and safe holiday season.


 References:

   http://sugarlabs.org/go/Creating_textbooks

   http://en.wikipedia.org/wiki/OLPC_XO-1

 * http://objectmix.com/apl/152815-ken-iverson-dead-83-a.html

 __
 Gerry Lowry, Principal
 Ability Business Computer Services  ~~ Because it's your Business, our 
 Experience Counts!
 68 John W. Taylor Avenue
 Alliston · Ontario · Canada · L9R 0E1
 gerry.lo...@abilitybusinesscomputerservices.com





-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://wiki.sugarlabs.org/go/User:Mokurai
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] ACM Urges Obama to Include CS as Core Component of Science, Math Education

2008-12-29 Thread Edward Cherlin
On Thu, Dec 25, 2008 at 8:24 PM, Ivan Krstić
krs...@solarsail.hcs.harvard.edu wrote:
 On Dec 25, 2008, at 5:52 PM, Bert Freudenberg wrote:

 Right, a nice Logo is the one missing piece of the programming
 environments officially supported by OLPC


 I talked to Walter (Bender) about a week ago, and he's working on this. We
 looked at PyLogo together, but it doesn't seem like it'll make a good first
 pass choice.

I see that UCBLogo is packaged in a .xo file for the XO, and that an
earlier version was licensed under GPL, although Brian Harvey says,
Berkeley Logo is a freeware interpreter that I wrote along with
several students. So, Brian, what's the deal with that?

http://www.cs.berkeley.edu/~bh/logo.html
A version for the One Laptop Per Child XO is here
ftp://ftp.cs.berkeley.edu/pub/ucblogo/ucblogo-4.xo

http://freshmeat.net/projects/ucblogo/
[License]OSI Approved :: GNU General Public License (GPL)

 --
 Ivan Krstić krs...@solarsail.hcs.harvard.edu | http://radian.org

 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://wiki.sugarlabs.org/go/User:Mokurai
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] ACM Urges Obama to Include CS as Core Component ofScience, Math Education

2008-12-29 Thread Edward Cherlin
On Mon, Dec 29, 2008 at 3:37 PM, kirby urner kirby.ur...@gmail.com wrote:
 Yeah, lots of pro J sentiment on this list, including by me, author of
 'Jiving in J' (got some help with typos from Kenneth, though I think
 there're still a couple):  http://www.4dsolutions.net/ocn/cp4e.html

 There's a bit of a disconnect with the XO in that I really do think of
 it as for pre-teens, given the small keys and appearance, was thinking
 bold designs building on XO would be in the wings by now, but
 apparently that's too hard a project.

Actually, it's more that the computer companies don't believe in the
developing country market yet, and don't take its requirements
seriously.

 The idea of a Richard Stallings

Stallman

 type geek using the XO as his main
 laptop just fills me with evil glee, I'm sorry, such an absurd image.

 The idea of hitting a pre-teen with Erlang and J, whereas most adults
 I know are still stuck on Access and Excel, is just a wee bit
 ludicrous, even for the child prodigy cult people (lots of
 Smalltalkers in that camp).  Let's get a little more real, shall we?

Ken would have disagreed strongly with you. He got IBM to loan a
school a 360 to teach elementary arithmetic with.

 What laptop would you give a Peruvian or Cambodian teen, if not an XO?
  Of course it should run Python, and of course it shouldn't ignore the
 serious advances the XO represents.

Take a look at the Encore Mobilis. Brazil is buying them. I worked for
Encore at one time. I'm asking them about putting Sugar on it.

 Kirby

-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://wiki.sugarlabs.org/go/User:Mokurai
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] ACM Urges Obama to Include CS as Core Component of Science, Math Education

2008-12-25 Thread Edward Cherlin
On Thu, Dec 25, 2008 at 8:38 AM, Daniel Ajoy da.a...@gmail.com wrote:
 On Thu, 25 Dec 2008 06:00:02 -0500, edu-sig-requ...@python.org wrote:

 From: Edward Cherlin

 2008/12/23 michel paul :
 http://www.acm.org/press-room/news-releases/obama-education

 Computing education benefits all students, not just those interested in
 pursuing computer science or information technology careers, said Bobby
 Schnabel, chair of ACM's Education Policy Committee (EPC).

 Thanks. I'll invite them to join Earth Treasury's digital textbook
 project for the OLPC XO + Sugar. We have Smalltalk, Python, and FORTH
 standard on the XO, and we can add anything else of interest. Well,
 not Ada or C++, but those aren't of interest to third graders.

 http://wiki.sugarlabs.org/go/Creating_textbooks


 I don't think FORTH comes with the XO by default. I've the Mexico and Uruguay 
 images and I haven't seen it. What's the name of it's executable?

Open Firmware.

http://wiki.laptop.org/go/OLPC_Firmware_q2c27#How_to_get_the_ok_prompt

How to get the ok prompt

Press the ESC key (upper left on the keyboard) during the countdown.

 Smalltalk only comes if Etoys is installed.

 What does come is another very nice language, in my opinion. It is
 * typeless
 * interpreted
 * small
 * manages memory automatically
 * does conversions between numbers and strings automatically
 * can connect to the internet
 * can pipe in and out of commands and files.
 * it has hashes, and arrays are just hashes of numbers.

 the language is called awk, and the interpreter gawk

 now that I think of it, there is another programming language that comes by 
 default: javascript.


 APL is
 coming. Scheme is pretty easy. What else would you like?

 UCBLogo is Scheme without parethesis (and with dynamic scope, instead of 
 lexical scope)
 http://wiki.laptop.org/images/e/e5/Ucblogo-4.xo

 The problem is that is it not sugarized yet.

We talked about it in July. Somebody needs to step up to drive it, or
maybe just to get Brian Harvey involved.

There is also an extension being developed for TurtleArt to let it
save in UCBLogo file format.

http://wiki.laptop.org/go/Logo discusses the options
http://n2.nabble.com/Sugar-Labs,-LOGO-and-Brian-Harvey-td474434.html (July 2008)
http://lists.sugarlabs.org/archive/iaep/2008-December/003393.html

 and the LogoFE library for Logo makes is very much like APL. LogoFE is 
 already in Spanish the language spoken in Uruguay, Colombia and Perú, where 
 the XO has had deployments.

Excellent. We must see about an English translation.

 Daniel

 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://wiki.sugarlabs.org/go/User:Mokurai
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] ACM Urges Obama to Include CS as Core Component of Science, Math Education

2008-12-25 Thread Edward Cherlin
Wait, I'm wrong. Brian Harvey's home page has a link for UCBLogo for the XO.

http://www.cs.berkeley.edu/~bh/
ftp://ftp.cs.berkeley.edu/pub/ucblogo/ucblogo-4.xo

I'll go try it out.

On Thu, Dec 25, 2008 at 8:38 AM, Daniel Ajoy da.a...@gmail.com wrote:
 On Thu, 25 Dec 2008 06:00:02 -0500, edu-sig-requ...@python.org wrote:

 From: Edward Cherlin

 2008/12/23 michel paul :
 http://www.acm.org/press-room/news-releases/obama-education

 Computing education benefits all students, not just those interested in
 pursuing computer science or information technology careers, said Bobby
 Schnabel, chair of ACM's Education Policy Committee (EPC).

 Thanks. I'll invite them to join Earth Treasury's digital textbook
 project for the OLPC XO + Sugar. We have Smalltalk, Python, and FORTH
 standard on the XO, and we can add anything else of interest. Well,
 not Ada or C++, but those aren't of interest to third graders.

 http://wiki.sugarlabs.org/go/Creating_textbooks


 I don't think FORTH comes with the XO by default. I've the Mexico and Uruguay 
 images and I haven't seen it. What's the name of it's executable?

 Smalltalk only comes if Etoys is installed.

 What does come is another very nice language, in my opinion. It is
 * typeless
 * interpreted
 * small
 * manages memory automatically
 * does conversions between numbers and strings automatically
 * can connect to the internet
 * can pipe in and out of commands and files.
 * it has hashes, and arrays are just hashes of numbers.

 the language is called awk, and the interpreter gawk

 now that I think of it, there is another programming language that comes by 
 default: javascript.


 APL is
 coming. Scheme is pretty easy. What else would you like?

 UCBLogo is Scheme without parethesis (and with dynamic scope, instead of 
 lexical scope)
 http://wiki.laptop.org/images/e/e5/Ucblogo-4.xo

 The problem is that is it not sugarized yet.


 and the LogoFE library for Logo makes is very much like APL. LogoFE is 
 already in Spanish the language spoken in Uruguay, Colombia and Perú, where 
 the XO has had deployments.


 Daniel

 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://wiki.sugarlabs.org/go/User:Mokurai
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] ACM Urges Obama to Include CS as Core Component of Science, Math Education

2008-12-24 Thread Edward Cherlin
2008/12/23 michel paul mpaul...@gmail.com:
 http://www.acm.org/press-room/news-releases/obama-education

 Computing education benefits all students, not just those interested in
 pursuing computer science or information technology careers, said Bobby
 Schnabel, chair of ACM's Education Policy Committee (EPC).

Thanks. I'll invite them to join Earth Treasury's digital textbook
project for the OLPC XO + Sugar. We have Smalltalk, Python, and FORTH
standard on the XO, and we can add anything else of interest. Well,
not Ada or C++, but those aren't of interest to third graders. APL is
coming. Scheme is pretty easy. What else would you like?

http://wiki.sugarlabs.org/go/Creating_textbooks

 Yes we can!  Yes we can!  Yes we can!

 - Michel


-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://wiki.sugarlabs.org/go/User:Mokurai
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Relevance of education

2008-12-19 Thread Edward Cherlin
2008/12/19 Warren Sande warren.sa...@rogers.com:
 One of my favourite web comics, XKCD, has a great one today:

 http://www.xkcd.com/519/

+1

I sent the link to some friend yesterday.

 (You could, of course, substitute Python for Perl...)

Instead of Perl in 11th grade, iconic Turtle Art in Kindergarten! No
text, no syntax errors.

 The previous one on flowcharts was a gem, too.

Mine is an O'Doul's.

 Warren Sande

-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://wiki.sugarlabs.org/go/User:Mokurai
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] music:piano :: math:laptop ?

2008-12-16 Thread Edward Cherlin
On Mon, Dec 15, 2008 at 11:16 PM, kirby urner kirby.ur...@gmail.com wrote:
 Edward Cherlin's insistent pointing to the XO is helping turn some
 wheels on my end...

It doesn't actually have to be an XO. We have projects forming up to
use Sugar on a Stick with diskless computers. That will allow us to
take almost all of the discards from the computer refurbishing
centers.

 Way cool that Gibson Guitar was a sponsor of OSCON that time, shows
 how geeks are being seen from a Nashville angle:  have laptop will
 travel, the solo musician model, except we also form bands.  Really,
 so many analogies, between musicians and coders.

Also math and science.

 What calculators, slide rules before 'em, have gotten us used to, is
 this idea that mathematics comes with devices, gizmos, more than just
 chalk or pencil.  We need machinery! (a slide rule has moving parts,
 c'mon).

 What's interesting is how reluctant the marketing groups have been, to
 link their brands to something so Buck Rogers and futuristic as the
 XO, or even to the basic idea of giving kids laptops.

 It has all the elements:  breakthrough technologies, hero developers
 (many genders and ethnicities), adorable children, cool interface...
 you'd think the cereal companies would be all over it, giving kids
 something to marvel at while crunching on wholesome grains.

We're definitely getting uptake among basketball, football, and soccer players.

 How about we start a campaign among tweens and teens called Where's
 My Laptop?

I wanted to offer child-size t-shirts along with Give One Get One, for
the point where orders outstrip production. Then you could buy your
grandchild or whomever a shirt saying Grandma bought me an XO for
Christmas, but all I have so far is this funny t-shirt. And then
offer transfers with the late laptops, for crossing out the complaint
and saying, I got it! I got it!

 Let's encourage that sense of entitlement we get listening to R0ml,
 who says gnu math, CP4E, computer literacy (lots of words for it) is
 what in the old days would be called basic rhetoric.

 To participate in civic life, you needed to know how to structure an
 argument, defend a position.  Well, you still need those skills, but
 you also need that laptop.  How else do you expect to patch in,
 participate in the life of democracy.

Not just that. You have to have a story, like Walt Whitman or Mark
Twain or Carl Sandburg telling Americans who they are. So far we have
a hope. But there are stories. Doug Engelbart's hero story leading up
to The Mother of All Demos, Alan Kay and Seymour Papert as the
prophets in the wilderness, and a few others.

 What do we want?  Laptop!  When do we want it?  Now!

I don't think that this will be a matter of defiant public
demonstrations. My story (and I'm sticking to it) is that Sugar's
virtues can sneak into the schools where there isn't even a crack in
the doors, unnoticed until after they have taken over, and that there
will be no way to undo the changes, because they make students,
teachers, and parents happier and more productive.

 Kirby
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig


-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://wiki.sugarlabs.org/go/User:Mokurai
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Fwd: The 'Certified' Teacher Myth (long)

2008-12-14 Thread Edward Cherlin
On Sun, Dec 14, 2008 at 11:27 AM, kirby urner kirby.ur...@gmail.com wrote:
 I'm forwarding this, enqueued with Math Forum moderators, as it gives
 some background perspective of potential utility to edu-sig
 subscribers, plus indirectly expresses my gratitude to Stef Mientki
 for his promising project.

 If you're embroiled in USA math wars at all and want to do
 background reading on this thread, here's a link:
 http://mathforum.org/kb/thread.jspa?threadID=1869138tstart=0

 I'd recommend staying blissfully ignorant of a lot of it though,

+1

 lest
 you get caught up in dinosaur flavors of should we allow calculators
 in math class? kinds of debates (nothing at all about computer
 languages), angry mud slinging that's been going on for decades and
 going nowhere (lots of energy sinks, time sucks, not worth your
 attention).

Now that we are embarked on creating interactive textbooks for the
OLPC XO project, (_not_ CAI-style, but more along the lines described
in Seymour Papert's book Mindstorms: Children, Computers, and Powerful
Ideas), all of those arguments are irrelevant.


 On Sun, Dec 14, 2008 at 10:42 AM, Michael Paul Goldenberg wrote:

  SNIP 

  As we prepare for what well may another world-wide depression thanks to the
 GRUNCH of the giants that Haim doesn't want to discuss here (we're supposed
 to believe that it's teachers' unions that got us where we are, I suppose),
 we should be spitting in the faces of people like Haim and their
 self-serving, utterly bankrupt views and policies.
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig

Plenty of people can be blamed for the current mess in education
worldwide. I have a better idea. Let's invent something that they
can't prevent infiltrating the system. Wait, we've done that. Well
then, let's get on with it.

Living well is the best revenge.--George Herbert

Genius is 1% inspiration and 99% perspiration.--Thomas Edison, who
was evidently an optimist. Really good ideas can take the rest of your
life to work out, or in the truly exceptional cases, the lives of
multitudes for centuries, even millennia to come.
-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://wiki.sugarlabs.org/go/User:Mokurai
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Programming in High School

2008-12-10 Thread Edward Cherlin
On Mon, Dec 8, 2008 at 6:57 AM, David MacQuigg [EMAIL PROTECTED] wrote:
 Kirby,

 This is very well written appeal, but in this mailing list, you may be 
 preaching to the choir.  What I would like to see is a discussion of *why* 
 there is not more teaching of programming in high school.  I can't seem to 
 get an answer from the few high-school teachers and students I have asked. I 
 suspect it has something to do with requiring all kids to have their own 
 computers, not wanting the rich to have an advantage over the poor, etc.  
 I've thought about teaching high school myself, but the bureaucracy seems 
 overwhelming.

It is a much more systemic problem than that. I put a lot of blame on
the anti-intellectual forces in society that want education dumbed
down so that they can lie to their own children, and then to the
general public that grows up on this pablum. The fundamental problem
is the insistence on factory-style efficiency in education, a trend
started by Prussia in the 18th century. The result is that schools
nearly always teach only material for which there is an official right
answer, while in real life, whether business, government, the arts, or
politics, all of the interesting questions have no right answer.

The education of teachers was also radically dumbed-down in the
Prussian system. Teachers were expected to know no more than was in
the textbooks they would teach from, except at the highest levels in
research universities. In this view of society, those who needed to
deal with the unanswered questions on a daily basis (other than
scientists and engineers) were to be children of the elite class who
could afford to send them to private schools to receive an entirely
different sort of education. The sort of exceedingly unpleasant system
for generating leaders within an Empire that Kipling described in
Stalky  Co. http://www.geocities.com/Athens/Academy/6422/rev0882.html

The Prussian system was put in place by a King who wanted a compliant
public that would make no attempt to interfere in his planning of the
next war, and by a right-wing Calvinist church movement that the King
preferred over the more liberal-minded Lutherans. _All_ of the
Imperial powers and the churches and business interests that supported
them supported this system for public education at home and abroad.
Japan and the State Shinto authorities particularly loved the German
educational system. Plus ça change, plus ç'est la même chose.

To come back to programming, what we have had since the introduction
of personal computers in the 1970s has not been programming but
so-called computer literacy, in which children might get as much as
an hour or two a week in the computer lab. As an immediate
consequence, nothing they learned about computers, or from using
computers, could have any relevance to the curriculum. It is only now,
with the advent of one-to-one computing, that we can even think of
addressing this problem.

If we compare the computer literacy approach to programming with the
actual idea of literacy, we see that what we have been doing is
pretending to think we are teaching reading and writing if we have one
room in a school with 30 pencils and pads of paper, but no library,
and we let kids practice handwriting for as much as an hour a week.
But not at home, or in public, no of course not. But what would
schools do with programming in a one-to-one computing environment?
Well, I predict that if left to themselves, they would mess it up as
badly as we mess up literacy, or math and science, or indeed any
subject today. We only let students have access to an utterly boring
and stultifying version. It is just like exposing children to killed
or attenuated viruses in order to make them immune to those viral
diseases. Our schoolbooks contain nothing like the versions of any of
these fields that made the practitioners fall in love with the
possibilities enough to put forth the effort to master some part of
it, and our schools make far too many children immune to learning
anything ever again.

Earth Treasury has just recently, actually just yesterday, come to the
conclusion that we are ready to rethink the notion of a textbook, and
to rework the curriculum from top to bottom, in order to integrate
Free Software into every aspect of every subject. Some things in
education actually take place in the material world, of course,
including gym, manual training, art, and music. Even there, the
computer is an important tool. Think of all of the computerized
athletic training and analysis systems of Olympic athletes and the
pros; or of CAD/CAM; or digital art and electronic music.

The occasion yesterday was the Program for the Future conference at
the Tech Museum (San Jose CA), Adobe Systems, and Stanford, and the
celebration of the 40th anniversary of Doug Engelbart's Mother of All
Demos (look it up and watch the video), which laid the foundations for
all modern user interfaces, and much else in software engineering,
innovation 

Re: [Edu-sig] Reinventing the classroom...

2008-11-24 Thread Edward Cherlin
On Sun, Nov 16, 2008 at 12:20 PM, kirby urner [EMAIL PROTECTED] wrote:
 So once we agree we want some kind of computer lab, the question is, what 
 kind?

That's a pretty strong assumption, and one that the 1-1 computing
community would strongly take issue with. I haven't noticed much good
from computer labs, while I have seen quite remarkable results
reported from One Laptop Per Child deployments in Peru, Ethiopia, and
elsewhere, where the children not only have the use of a computer
throughout the school day, but take them home to work on homework
jointly over the wireless network, and teach their parents about
computers and the Internet.

The computer lab strikes us as exactly analogous to a writing lab in
which children would have access to paper and pencil for an hour a
week.
-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://wiki.sugarlabs.org/go/User:Mokurai
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] More preaching to the choir...

2008-11-01 Thread Edward Cherlin
On Sun, Oct 19, 2008 at 4:41 PM, kirby urner [EMAIL PROTECTED] wrote:

 Yes, not that hard, agreed.  I think we're in the right headspace, here on
 edu-sig, re teaching physics / math and so on with all this well known
 content, plus adding more experimental fun around the edges, ala programming
 just for the fun of it (ab attitude we highly encourage).

 Given how OO makes objects so concrete (per Concrete Mathematics) it's not
 so unrealistic to suggest adding some quaternions to the mix, just one more
 animal in our zoomorphic kingdom (or queendom, not pretending to know).

Well, once you get to that point, you can easily add octonions,
spinors, tensors, operators, crystallographic groups, and quantum
groups. ^_^

However, I have started a project at EduForge.org that I call
Kindergarten Calculus, to approach the issues from the opposite
direction. The question is how to demonstrate the fundamental concepts
of calculus visually to preschool children with no numbers and no
symbols. Limits, tangents, maxima and minima, definite integrals (area
under a curve), and other materials.  I know how to start, but not how
far we can go. I can certainly show the Fundamental Theorem of
Calculus and the Mean Value Theorems. There are some simple cases of
Calculus of Variations that have physics equivalents. We have to think
about what has an algorithmic equivalent that we can program visually.

Anyone interested is welcome to join the project.

 Given XO is hardware with access to the cloud (by design) it's unnecessary
 to map curriculum to it or any other hardware device, as this isn't about
 hardware in the first place, but curriculum, and there's so much already out
 there, much of it very pre-computer in flavor, yet nevertheless relevant,
 Hamilton's brief included, Kepler's and so on.

I would like to factor each of those lessons into concepts that can be
taught at different ages, and to introduce them in sequence at the
appropriate ages. This should produce much deeper understanding than
waiting until students are supposed to be able to do it all at once.
Thus Galilean gravity in a uniform field can be demonstrated via
programming to third graders, while full Newtonian gravity requires
calculus.

 That being said, I like the idea of equipment especially designed with the
 needs of young children in mind.  I was gleeful that so many adults found
 the XO frustrating to use because of the tiny keys.  That's the whole point
 -- it's for them, not you.  Of course in this sense there's a need for Sugar
 friendly apps, and/or new kinds of Sugar.  I'm eager to find out more.

 All that's really needed, in terms of equipment, is a decent browser and
 Python itself (if teaching Python).  In addition to writing stuff for
 laptops (multiple platform), I'm aiming at the LCD (or flatscreen) market,
 piping directly to coffee shops (e.g. booths), so an intimate group might
 study together without bringing any hardware whatsoever.  The same LCD plays
 music and does Apple style visualizations i.e. isn't just for study hall
 activities (these might be small screens, between HD and iPod, XO a source
 of ideas).

 So now that we know what the future looks like, I'm wondering how geeks will
 spontaneously self-organize to deliver a quality product.  I imagine more
 Rich Data Structures will be a part of it, as in canned Periodic Table
 modules, with XML i/o if not natively XML -- I'm somewhat influenced by
 Ruby's anti-XMLism, GIS data re cities (example @ my site), insectavora and
 so on.

 However, I'm not expected all the stress of development to fall on open
 source developers.  Much of this stuff will be kept under wraps and niche
 marketed under more restrictive licensing, simply because there's a market
 for it and open source isn't the answer to every prayer, even if it is to so
 many.  Several of us here wear multiple hats in that regard e.g. contribute
 to open source yet support clients who don't choose to compete in that arena
 -- describes my situation at least.

 I'll be interested to hear more about what develops in those projects I
 learned about at the most recent OSCON, as many of those *were* open source,
 just not based anywhere close to Portland.  As you might imagine, I have a
 hard time keeping up even just with what goes on in my home town.

 Kirby Urner
 Fine Grind Productions


 On Sun, Oct 19, 2008 at 3:30 PM, Edward Cherlin [EMAIL PROTECTED] wrote:

 2008/10/19 kirby urner [EMAIL PROTECTED]:
 
 
  Here's a pointer to some related writings @ Math Forum, which I used to
  tell
  Arthur S. (this archive) was more like center ring in my circus, i.e.
  where math teachers meet irrespective of caring about geek subculture,
  computers etc.:
 
  http://mathforum.org/kb/thread.jspa?threadID=1845616tstart=0
 
  Re planets in orbit, another interesting implementation, already field
  tested, multiplies complex numbers of unit radius, begetting rotation,
  then
  scales appropriately.  Of course these orbits

Re: [Edu-sig] More preaching to the choir...

2008-10-19 Thread Edward Cherlin
2008/10/19 kirby urner [EMAIL PROTECTED]:


 Here's a pointer to some related writings @ Math Forum, which I used to tell
 Arthur S. (this archive) was more like center ring in my circus, i.e.
 where math teachers meet irrespective of caring about geek subculture,
 computers etc.:

 http://mathforum.org/kb/thread.jspa?threadID=1845616tstart=0

 Re planets in orbit, another interesting implementation, already field
 tested, multiplies complex numbers of unit radius, begetting rotation, then
 scales appropriately.  Of course these orbits are merely circular, so not
 that realistic, so apply some field distortion if wanting elliptic (not
 something we tried).

I did a simulation of elliptical orbits in TutSim on the Apple II in
1982. It isn't that hard. I know of several different ways of
programming it, using inverse-square gravity, Kepler's law of equal
areas, and other equivalent mathematical representations. I set up a
three-body simulation in which one object was thrown out and the other
two settled into elliptical orbits around their barycenter, after a
chaotic early period. There are such simulations in a number of
languages, including Python and Smalltalk, where students can vary
parameters and watch the results. Some of this is in the Sugar
software for the OLPC XO.

A. K. Dewdney's book The Planiverse describes simulations of inverse
linear gravity in 2D, and others have done inverse cube gravity in 4D.
You can get weird weather, seasons, and climate effects on planets in
4D with two independent axes of rotation, depending in particular on
whether the rotation periods and the revolution period are close to or
far from simple integer ratios.

 Here's some code:
 http://www.4dsolutions.net/ocn/python/orbits.py

 Kirby
 4D

 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig





-- 
Edward Mokurai Cherlin
http://wiki.sugarlabs.org/go/User:Mokurai
http://www.amazon.com/xo
Give One, Get One, from Nov. 17
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] [Tutor] school physics/math courses

2008-10-18 Thread Edward Cherlin
On Sat, Oct 18, 2008 at 9:06 AM, bob gailer [EMAIL PROTECTED] wrote:
 Edward Cherlin wrote:

 [snip]

 As a teacher, I know very well what it means. Some representations are
 easier to understand, or easier to work with, or easier to learn from.
 Various thinkers, including Babbage, Whitehead, and Iverson, have
 commented on the effects of the way we represent problems on our
 ability to think about them, and not only they but luminaries from
 Fibonacci to Einstein have labored to invent or teach new notations
 and representations.


 I'm glad to see Iverson amongst Babbage and Whitehead.

Turing Award lecture, Notation as a Tool of Thought.

 In 1974 I was
 introduced to his invention: APL. That transformed how I thought about
 problems and expressed algorithms. I still wish for some way to bring some
 of that magic into Python.

See NumPy and SciPy, which used APL for some design ideas. If we can
get some people together on this idea, we can add more APL to Python.

Perl6 will have some of this, but that's a knotty business that I am
staying out of.

I'm working on getting a GPLed APL for the OLPC XO. Arthur Whitney is
writing one. I was the founder of I-APL, Ltd, and Managing Editor of
APL News for Springer-Verlag. I have the copyrights on Iverson's
textbooks for Arithmetic, Algebra, and Calculus, and intend to put
them out under Creative Commons licenses.

I need to recruit more people--mathematicians, teachers, APLers, and
others--to work on these projects.

 I found it interesting to hear (in the migration to Python 3) that the
 Python reduce function was not used a lot or well understood. I certainly
 use and understand it.

 A brief tutorial for any who have read this far and are curious: In
 Python one may combine the elements of a list using sum() (if the
 sum is desired). For other functions one uses reduce. To get the
 product of the elements of a list Y: reduce(operator.mul, Y). In APL
 reduce is / and multiply is x so one writes x/Y. (Classic APL had only
 upper case for names).

And underscored upper-case. Y̲

The XO has a ×÷ key, so we can write this correctly: ×/Y

   ÷/3 4
0.75


 I can write and comprehend x/Y much faster than the wordy equivalent.

 And Y can  be an array of 0 or more dimensions. +/Y computes the row sum
 giving an array of one less dimensions*. So if Y were:
 1 2 3
 4 5 6
 the row sum is 6 15.
 * if the number of dimensions is 0 (a scalar value) the result is the
 scalar value unchanged.

We also have primitives for matrix products, evaluating polynomials,
matrix inverse, least squares, and a good deal more. Most people hate
APL, because it exposes the math inherent in programming, and most
people assume that for that reason they cannot learn APL. However,
Iverson wrote his Arithmetic textbook for an IBM-funded experiment in
using APL as the math notation in an elementary school.

 --
 Bob Gailer
 Chapel Hill NC 919-636-4239

 When we take the time to be aware of our feelings and needs we have more
 satisfying interactions with others.

That's what we call meditation in Buddhism.

 Nonviolent Communication provides tools for this awareness.

 As a coach and trainer I can assist you in learning this process.

 What is YOUR biggest relationship challenge?





-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज ) is my name
And Children are my nation.
The Cosmos is my dwelling place,
The Truth my destination.
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] school physics/math courses

2008-10-17 Thread Edward Cherlin
On Thu, Oct 16, 2008 at 4:15 AM, roberto [EMAIL PROTECTED] wrote:
 hello
 (i am rather new in python ...)

Have you looked at NumPy and SciPy yet? Or anything written using them?

 i am about to start a course of physics and math for students aged
 14-17 (high school)
 and i am deeply interested in the possibilty of teaching fundamental
 concepts of these subjects via teaching programming;
 i chose python (i won't change my mind ...)

 so i am looking for resources on how to deal with these topics via
 this great programming language;

 i need some help from you and moreover if you are aware of books
 already covering these need

 thank you in advance
 --
 roberto
 OS: GNU/Linux, Debian
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Don't panic.--HHGTTG, Douglas Adams
fivethirtyeight.com, 3bluedudes.com Obama still moving ahead in EC!
http://www.obamapedia.org/page/Smears Join us!
http://wiki.sugarlabs.org/go/User:Mokurai For the children

Silent Thunder (默雷/धर्ममेघशब्दगर्ज ) is my name
And Children are my nation.
The Cosmos is my dwelling place,
The Truth my destination.
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] school physics/math courses

2008-10-17 Thread Edward Cherlin
2008/10/17 michel paul [EMAIL PROTECTED]:
 We should abandon the vision that physicists seek an ultimate mathematical
 description of the universe since it is not obvious that it exists.

I disagree with this attitude. We can seek an ultimate mathematical
description, since it is not obvious that it does not exist. We should
also be aware that we do not have one, and have some idea of the range
of validity of our models. This will help us to avoid mathematical
absurdities, particularly the infinities that result from calculations
on unphysical point masses and point charges.

 The job
 of the physicist is that of modeling phenomena within the physical scales of
 observed events.

True much of the time. Another part of the job is to model outside the
scale of the observed, and go make the new observations needed, as in
the case of General Relativity.

 For some systems, the modeling can be done more effectively
 using algorithms.

As a mathematician, I don't know what that means. Every algorithm can
be represented by a system of equations in a number of ways, and every
system of equations can be solved, at least approximately, by various
algorithms.

As a teacher, I know very well what it means. Some representations are
easier to understand, or easier to work with, or easier to learn from.
Various thinkers, including Babbage, Whitehead, and Iverson, have
commented on the effects of the way we represent problems on our
ability to think about them, and not only they but luminaries from
Fibonacci to Einstein have labored to invent or teach new notations
and representations.

 This is very interesting.  Thanks for sending it.

 On Thu, Oct 16, 2008 at 7:14 PM, Massimo Di Pierro [EMAIL PROTECTED]
 wrote:

 Hi Paul,
 this is a document I write as a summary of a meeting I attended in 2006 at
 Argonne National Laboratory about revising the Physics curriculum. If it is
 of any use you can do anything you want with it.
 Massimo



 On Oct 16, 2008, at 5:55 PM, michel paul wrote:

 This would be a great text for a high school math/CS class:  Math for the
 Digital Age.

 - Michel

 On Thu, Oct 16, 2008 at 4:15 AM, roberto [EMAIL PROTECTED] wrote:

 hello
 (i am rather new in python ...)

 i am about to start a course of physics and math for students aged
 14-17 (high school)
 and i am deeply interested in the possibilty of teaching fundamental
 concepts of these subjects via teaching programming;
 i chose python (i won't change my mind ...)

 so i am looking for resources on how to deal with these topics via
 this great programming language;

 i need some help from you and moreover if you are aware of books
 already covering these need

 thank you in advance
 --
 roberto
 OS: GNU/Linux, Debian
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig

 ATT1.txt



 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig





-- 
Don't panic.--HHGTTG, Douglas Adams
fivethirtyeight.com, 3bluedudes.com Obama still moving ahead in EC!
http://www.obamapedia.org/page/Smears Join us!
http://wiki.sugarlabs.org/go/User:Mokurai For the children

Silent Thunder (默雷/धर्ममेघशब्दगर्ज ) is my name
And Children are my nation.
The Cosmos is my dwelling place,
The Truth my destination.
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


[Edu-sig] Python 2.6 Turtle module and Sugar TurtleArt (was Re: Edu-sig Digest, Vol 63, Issue 11)

2008-10-08 Thread Edward Cherlin
How would you compare this turtle module with the TurtleArt activity
in Sugar? It is available in .deb and .rpm packages for Ubuntu,
Debian, and Fedora, and also in .xo bundles, installable with
xo-get.py. Sugar Labs is working with other Linux distributions to
make Sugar packages available as widely as possible.

http://wiki.laptop.org/go/TurtleArt
http://wiki.laptop.og/go/Xo-get

On Wed, Oct 8, 2008 at 1:14 PM, John Posner [EMAIL PROTECTED] wrote:
 Miguel,


 Python 2.6, which was released one week ago, comes with a new turtle
 module. Perhaps this is something, you and your kids would like as it
 is pure educational Python software based on Tkinter. One of it's design
 goals was to provide easy access to graphics ...


 Gregor's new Turtle module is, indeed, terrific. If some students need a
 gentler introduction, take a look at the point-and-click front end that I
 added (ClixTur at http://www.geocities.com/jjphoogrp).

 Students can begin by creating drawings pretty much as they would in KidPix
 or Paint or Visio. (OK, it's a bit more primitive, because there are no
 dragging operations). As they click, a transcript of the Python code being
 executed appears in a separate window. The students can use this code to:

 * play back the transcript, to recreate their drawings

 This is very simple, but it gets across the idea of a stored program. And
 the high speed of the playback will be fun for younger students.

 * make revisions to the Python/Turtle code, and see what differences they
 produce in the drawing

 This kind of introduction to programming is much less intimidating than
 starting with a blank page. And it's just about as satisfying, especially if
 you generated the original code yourself with the point-and-click interface.

 Best of luck,
 John Posner






 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Don't panic.--HHGTTG, Douglas Adams
fivethirtyeight.com, 3bluedudes.com Obama still moving ahead in EC!
http://www.obamapedia.org/ Join us!
http://wiki.sugarlabs.org/go/User:Mokurai For the children
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Algorithms Animator Open Sourced

2008-09-14 Thread Edward Cherlin
Thank you. Presumably we could apply the same approach to teaching
elementary-school arithmetic algorithms, maze traversal algorithms,
and the like for One Laptop Per Child. I have suggested this to their
Education mailing list.

On Sun, Sep 14, 2008 at 1:14 PM, DiPierro, Massimo
[EMAIL PROTECTED] wrote:
 I open sourced this. In the hope it is useful to some of you.

 Algorithms Animator

 https://launchpad.net/algorithms-animator

 Python application that implements and animates interactively those 
 algorithms that are normally covered in an undergraduate course on the topic. 
 It includes Insertion Sort, Quicksort, Mergesort, AVL Tree 
 Search/Insert/Rebalance, Depth First Search, Breadth First Search, 
 Topological Sort, Prim, Kruskal, Dijkstra, LCS, Huffman-Fano, and more. It is 
 extensible. All the API are exposed. It includes a ready-to-run Windows 
 executable (bin/AlgorithmsAnimator.exe), some documentation and a short 
 tutorial about running time analysis (doc/csc321notes.pdf). This program was 
 originally designed in 2003 for teaching Design and Analysis of Algorithms 
 at DePaul University. All the algorithms in the source code 
 (src/csc321algorithms.py) are equivalent line-by-line to the pseudo-code in 
 the MIT CLRS Introduction to Algorithms book.

 Massimo
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Don't panic.--HHGTTG, Douglas Adams
fivethirtyeight.com, 3bluedudes.com Obama by 70 in EC!
http://www.obamapedia.org/ Join us!
http://wiki.sugarlabs.org/go/User:Mokurai For the children
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] nouns and verbs

2008-08-24 Thread Edward Cherlin
On Tue, Aug 5, 2008 at 10:32 PM, Yoshiki Ohshima [EMAIL PROTECTED] wrote:
 At Sun, 3 Aug 2008 20:03:03 -0700,
 michel paul wrote:

 In secondary math classes we often say Math is a language, but we really 
 don't teach it that way.

 The closest we get to that is calling the comparison operators 'verbs' and 
 the various kinds of values that can be
 combined into expressions 'nouns'.

  I enjoyed reading your lines of thought, and Edward has a good
 observation.  But I also have to point out that when people say math
 is a language, it means that Math is a language to describe what it
 can describe well.  But trying to make an analogy to English doesn't
 get you go too far.  After all, why does it have to have anything to
 do with the English syntax?  It is not a great language to express
 what you would like to do over weekend either.

  The language-ness is not in whether it has verbs and nouns, but
 the relationship between the target concept (Idea) and the description
 to mean it, and also something to think in.

Most of math uses quite other forms of language, including equations
and relations. It turns out that math for imperative programming is
the kind that makes the best use of the noun-verb-adverb-pronoun
family of distinctions. On the other hand, there are math languages
important for computing that are analogous to quite different human
languages. Among them is relational algebra, which can express all
standard relational database operations, and can be expressed quite
directly in Lojban, which has relation words but no separate nouns,
verbs, or adjectives. There are also declarative languages such as
Prolog that do not specify how to carry out a computation, but do give
sets of constraints on the solution that a Prolog engine can process.

The question is not, Which language is best? but, Which is best for
this purpose? Which is not only a question of inherent mathematics,
but of external network effects and ecologies and of available
hardware.

  And, the language-ness is not in these mathematical symbols and
 syntax, either.  It would be possible to write equations in
 English-like syntax (like your sum of 2 and 3 example).  But the
 aspiration of preciseness compactness tends to favor a simpler and
 less ambiguious notation.

The solution of the cubic equation was discovered and presented in
this sort of language. Florian Cajori wrote an excellent History of
Mathematical Notation that talks about the relationship between
notations and discoveries in considerable detail.

  So, it would be appropriate to say math is a language for of
 physics but saying math is a language doesn't sound like a complete
 sentence to me.  Is math a language of math? would be an interesting
 question^^;

There are many languages in math.

  Now, computer languages are like mathematics, but much more complex
 in many ways.  It is built on top of some axioms, but the set of
 axioms tends to be very big.  The notation is less ambiguous than
 typical mathematics one because one of the intended readers of the
 notation is the computer.

Actually, to the mathematician, programming is a fairly simple concept
that can be expressed in several different ways as the working out of
only two basic concepts, such as the S and K combinators (Unlambda or
J), or Lambda expressions and application (LISP and many related
languages). Most programming languages have a good deal of unneeded
and counterproductive complexity added on, like C++.

To the non-mathematician, these simpler solutions seem harder than
memorizing the complex syntax of conventional languages, as was often
borne in upon Computer Scientist Edsger Dijkstra. He spent much of his
career trying to make programming easier to do well, and was regularly
told by practitioners that he had made it harder instead.

The same principle applies with even greater force in education.
Don't do us no favors, teachers seem to say. if you make it so that
we can really teach this stuff, then we will all have to go learn it
ourselves, and we can't. This is a delusion in a way, but not the
delusion of the teachersthemselves. It is a delusion enforced by the
social system they work in. Like Ethiopian teachers treating questions
from students as personal insults, until they get XOs. There
experience suggests that there is hope for the profession as a whole.

 -- Yoshiki
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Silent Thunder [ 默雷 / शब्दगर्ज ] is my name,
And Children are my nation.
The Cosmos is my dwelling place,
And Truth my destination.
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] after-school python, age 11+

2008-08-21 Thread Edward Cherlin
You guys and kids are all so great. How would some of you like to
speak and do demos at a future PyCon? Next year will be in Chicago,
and for the year after that I am heading the bid to get it in the San
Francisco Bay Area. The other possibilities are Atlanta and Cleveland.
If you are interested, I can introduce you all to the PyCon staff and
to the OLPC Grassroots list, and we can organize something for lots of
children all over the world. There are a lot of other conferences that
should see your work up close. Software, hardware, education, economic
development...

Also, how would you and your publishers like to have classroom-tested
Spanish and other translations of your books?

2008/8/21 Warren Sande [EMAIL PROTECTED]:
 Jeremy,

 I was at the same point a couple years ago, and reached the same
 conclusion.  Long story short, the end result is  Hello World!  Computer
 Programming for Kids and Other Beginners  which I wrote with my son.  It
 will be released in a few weeks.  Some edu-sig folks were involved in the
 review process (Thanks, all!)

 You can see the publisher's page here: http://www.manning.com/sande/.

 You can pre-order it on Amazon here.

 It uses Python (and Pygame and PythonCard).  Some examples are games, but
 many more are not.  It takes a fairly traditional approach to teaching
 beginning programming.  I think the presentation, writing style,
 illustrations, and examples make it suitable for kids 10 and up.  Several
 adults who reviewed it said they would use it, too, which I was really happy
 to hear.  We absolutely tried to avoid talking down to the reader, while
 also trying to make it fun.


 Regards,
 Warren Sande



 - Original Message 
 From: Jeremy Gray [EMAIL PROTECTED]
 To: edu-sig@python.org
 Sent: Tuesday, August 19, 2008 12:44:41 PM
 Subject: [Edu-sig] after-school python, age 11+

 Hi all,

 This is my first post to edu-sig, and its sort of long. In a nutshell:
 a) I have developed and posted a few new material for kids getting started
 with programming, e.g., for an after-school club, at
 http://afterschoolpython.pbwiki.com/  Its free (no advertising ever,
 open-source recommended), and will be so forever.
 b) I am interested in collaborating with or sharing notes with others, to
 make it even better.

 Being new to this interesting forum, I'll introduce myself briefly. I'm a
 dad (two kids, age 11 and 5), and have always been a geek at heart. I do
 science for a living (human brain imaging and psychology, using computers
 for everything), and have interests in education (including National Science
 Foundation grants related to education research). I'm not an elementary-age
 educator, although have family members who are educators. So it seems
 inevitable that I'd end up lurking on python edu-sig :o) I've seen some
 fairly long posts, so I'll take the plunge with a longish one myself.
 Apologies if that's frowned on.

 Basically, I want to teach my 6th grader how to program this coming year.
 We've fooled around with logo / turtle graphics and like it, and are ready
 for a real language. I was quickly sold on python as the way to go, despite
 never having used it myself (or any OO language ... or maybe in part because
 of that--I want to learn something too!). I looked around for existing
 materials, and am really impressed by how much is out there for python (one
 of several selling points). yet I did not find anything I was that
 completely happy with. I looked carefully at the following, and learned a
 lot, and like a great many things about them:
 - Snake Wrangling for Kids
 - LiveWires summer program
 - other resources linked on Beginner's Guide to Python for non-programmers
 - A byte of python
 - J. Miller's 2004 PhD dissertation. his analysis of posts on what the
 community thinks about desirable features in using python in education is
 really helpful. one point that caught my eye was the dearth of intro
 curriculum materials.

 So, I took the plunge and have started to write something up myself. Its
 well underway, but is a work in progress, at
 http://afterschoolpython.pbwiki.com/
 My goal is to have it be an experience in learning how a computer can
 enhance your mind, using a real language, aimed at a young audience without
 talking down to them. (Young but able to read, type using a text editor, and
 do some elementary-school math). I tried to follow Miller's guidelines on
 desirable features, but have not followed them all (not yet at least,
 graphics is a glaring example).

 The key thing that motivated me to put effort into yet-another-free-resource
 for learning python was to try to focus on problem solving as enhanced by a
 computer, for this age group. Plus sneaking in some geek tidbits here and
 there, like a few linux command-line tools (e.g., top), so that they are not
 seen as exotic or weird or hard. A few of the activities are basically
 cognitive science, and a few are more or less math.

 I'm posting for two main reasons.
 1. The 

Re: [Edu-sig] Free Software in Africa

2008-07-23 Thread Edward Cherlin
 here at OSCON).  Word
 for framework in Malawi.  Chisimba is highly modular, per Debian
 community (ala Synaptic), includes a package management system.
 Implements MVC.  Yes, there's Python involved, hooked to gstreamer.
 Also:  CURL, FFmpeg, Java... lots of toyz, went by pretty fast.

 Now Keats is demoing the remote package management component.

 You can start a new eLearning environment in just minutes, given
 enough bandwidth.  Everything else is component based, e.g. adding a
 blog or some other resource is a matter of mouse clicks.  Some
 components allow real time audio, shared white board annotation,
 filtering.  With cut and paste, you can embed the live component in a
 blog, in a moodle or whatever.  www.dkeats.com for more examples.

 USAID, Sun Microsystems, Geek Corps are part of the alliance somehow
 (USAID focused on animal health).  University of Nairobi, NOLNET in
 Namibia are working on implementing AVOIR, as is National University
 of Rwanda.  Electronic Thesis and Dissertation system is another of
 the components.  Sun is providing hardware in six of the thirteen
 partner institutions so far.

 Social Content and Networking for Schools connects like 50 schools in
 poor areas to create an intranet (not connected to Internet) with
 social networking and eLearning.  Social tools help curriculum content
 to grow.

 Chisimba reminds me of Plone, sort of, but it's built very
 specifically for customized eLearning environments.  Sometimes
 Chisimba users become potential interns, helping with Chisimba's
 development.  Those who've become interns have contributed usable code
 without exception.

 Realtime podcasting application is a 3-click process.  Start, Stop, Publish.

 Bandwidth is the biggest challenge.  Some institutions don't realize
 the value of networks.  Culturally, there's often a tendency to
 keeping quiet, to be deferential, whereas on the Internet you're
 encouraged to be more egalitarian (out of necessity in a lot of ways).
  Salary structures and high turnover are other problems.  People move
 on before they have time to become Chisimba developers.

 Questions:  what about OLPC (one laptop per child).  Getting computing
 resources to students is a good thing, not limited to the XO
 initiative.  Providing labs on a massive scale is the only way to
 provide a lot of access in many cases, as the students have no access
 to laptops.  This is where Sun comes in, in some cases.

 Government funding has been problematic in that the South African
 department with jurisdiction has had some turnover, some friends have
 left.

 Why start a new framework?  In part to encourage local participation,
 hard to break in to ongoing open source projects in some cases.  A
 goal here was to be self-managing, running all aspects, including the
 version control, servers.  Sometimes it's just easier to start from
 scratch.  AVOIR is about developing competence and confidence among
 young African software developers.  It's an exercise in community
 building, as well as a project aimed at producing quality software
 (they go together).

 I asked about fonts, internationalization.  A lot of the languages
 just use Latin-1 characters, but in Afghanistan they're working on the
 Farsi translation (of Chisimba).  The Chisimba package itself is
 sophisticated about language issues, uses UTF-8.

 The animal health project has a mobile devices API although Dr. Keats
 isn't sure how far they've come along with that.

 Kirby
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig

-- 
Edward Cherlin
End Poverty at a Profit by teaching children business
http://www.EarthTreasury.org/
The best way to predict the future is to invent it.--Alan Kay
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] alpha release of carcode (v3)

2008-07-17 Thread Edward Cherlin
On Thu, Jul 17, 2008 at 1:52 PM, Toby Donaldson [EMAIL PROTECTED] wrote:
 Carcode, a project aimed at helping beginners learn to program by
 controlling an animated robot car, has just been released in alpha:

How does this differ from the animated robot car in Etoys, which can
be programmed using snap-together tiles?

 http://code.google.com/p/carcode/wiki/README

 Here are some screenshots:

 http://code.google.com/p/carcode/wiki/Screenshots

 This release is entirely the work of Carlos Daniel Ruvalcaba
 Valenzuela, who has been doing a great job on carcode as part of this
 year's Google Summer of Code.

 Toby
 --
 Dr. Toby Donaldson
 School of Computing Science
 Simon Fraser University (Surrey)
 ___
 Edu-sig mailing list
 Edu-sig@python.org
 http://mail.python.org/mailman/listinfo/edu-sig




-- 
Edward Cherlin
End Poverty at a Profit by teaching children business
http://www.EarthTreasury.org/
The best way to predict the future is to invent it.--Alan Kay
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Pygame etc.

2008-06-27 Thread Edward Cherlin
 at the end.

We could use an Othello in Sugar, and lots of other games. I have
books and books full of card games, board games, math games...African
games like Mancala and Mlabalaba, classic games like Go, any of the
games already available as Free Software...Anybody who is short of
ideas for themselves or for students can ask me about them. We also
need people to work on game infrastructure, like a collaboration
framework that supports viewing and kibitzing without the players
seeing the comments. Something that many online game servers provide
for chess, go, bridge...

 Just a thought...   I should read it more closely to give you some
 more detailed feedback.

 Cheers,

 André


 Thank you!
 Al Sweigart

-- 
Edward Cherlin
End Poverty at a Profit by teaching children business
http://www.EarthTreasury.org/
The best way to predict the future is to invent it.--Alan Kay
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Pygame etc.

2008-06-27 Thread Edward Cherlin
On Fri, Jun 27, 2008 at 5:34 PM, kirby urner [EMAIL PROTECTED] wrote:
 On Fri, Jun 27, 2008 at 4:11 PM, Edward Cherlin [EMAIL PROTECTED] wrote:
 2008/6/19 kirby urner [EMAIL PROTECTED]:

  SNIP 

 PS:  the Europython list is making me homesick for Vilnius,

 My grandfather was from Vilnius. You might like to check out Andrius
 Kulikauskus's Minciu Sodas, which is based there.


 Hey thanks for that informative posting Edward, lots I didn't know
 mixed with some familiar stuff I enjoy revisiting.

A pleasure.

 My overlap with Alan Kay was courtesy of Mark Shuttleworth who threw
 together this high powered meeting in London aimed at thinking through
 a strategy for South Africa (some government representation, other
 private sector).

Andrius, I, and a fairly high-powered group of others have been
working on a strategy for the world. The basic elements that I am
working on right now are renewable electric power, WiMax for Internet
connections, microfinance, and OLPC. Later I propose to work on
linking schools around the world and teaching the students how to go
into business together. Each component supports the others better than
linearly to increase the community's total access to economic
opportunity even in the poorest and most remote villages. We have
others working on community, agriculture, health, and various other
components of a complete set of solutions.

 We pow wowed for about 2.5 days, Gunner clerking.[1]

Your plan looks interesting. I have Wikied some thoughts about what
textbooks should turn into when we have a known software base
including SciPy, and also some thoughts about what should happen to
the curriculum as we find out more about how to make subjects
accessible at ever-earlier ages. There is some work on Kindegarten
Calculus, for example, teaching the concepts but not the apparatus.
Alan Kay has a demo in which ten-year olds are pointed in two
directions, in simulation and in real life, and then encouraged to
combine the results in order to figure out that Galilean gravity means
constant acceleration. If you then get children to look at water
fountains (something the Greeks failed to notice properly) and show
them how to model Galilean relativity with constant horizontal motion,
they get to discover parabolic motion. Relating that to conic sections
visually is easy, but the proofs have to wait until later.

 I blogged about it live at the time [2] plus have had some time to
 reflect since then, lots of field testing ideas.

 I haven't been the South Africa in the interim (used to go there more
 often when my parents lived in Lesotho) but do check on Kusasa from
 time to time, to see how it's going.[3]  Love them Freedom Toasters!
 [4]

 Kirby

 [1] http://www.facebook.com/profile.php?id=708462278
 [2] http://controlroom.blogspot.com/2006/04/shuttleworth-summit-day-two.html
 [3] http://www.kusasa.org/
 [4] http://controlroom.blogspot.com/2008/05/legally-free.html




-- 
Edward Cherlin
End Poverty at a Profit by teaching children business
http://www.EarthTreasury.org/
The best way to predict the future is to invent it.--Alan Kay
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


  1   2   >