[Edu-sig] Python Epistemology
kurner at oreillyschool.com
Sun Mar 17 06:07:23 CET 2013
On Sat, Mar 16, 2013 at 8:14 PM, michel paul <pythonic.math at gmail.com>wrote:
> This was the title of a 5-minute 'lightening talk' by Allen Downey, author
> of Think Python <http://www.greenteapress.com/thinkpython/html/index.html>, during
> the educational summit here at PyCon. Main points:
> - Nat
> ural L
> : expressive and readable, but verbose and imprecise.
> - Math
> ematical notation
> : concise and precise, but not readable or executable.
> - M
> programming languages: precise and executable, but verbose and not
> Hmmm ... can anyone think of an expressive, readable, concise, precise,
> and executable symbolic language? : )
Yes. I introduced myself to Allen later during coffee break, saying I
recommend his book rather frequently to my students (an O'Reilly book after
all, though also free on the web). I was thinking of 'Thinking Python'
which inherits though 'How to Think...' and Jeff Elkner's edition.
However, I should also be reading, then recommending his 'Thinking
Complexity' as I think that whole field, of fractals, butterfly effects,
cellular automata, is providing that wealth of material we need wherein
pre-computer mathematics stays relevant for sure, but needs our new tools
and notations in addition.
I'm not saying that to be exclusive of other areas of mathematics. Those
of us old enough remember the big splash fractals made, because of their
merit as art objects, by which I mean nothing dismissive either. Suddenly,
our computer graphics capabilities were being exercised to their max. Plus
now there's the Mandelbulb.
> He went on to show a traditional mathematical formula representing
> Bayesian inference and compared it to the corresponding Python code. The
> Python code was similar to natural language and represented a flow of
> ideas. It was comprehensible. His point was that we often think we need to
> first express our ideas in traditional mathematical notation and then
> translate the math into executable code. But his point was no, we can code
> our ideas directly. It is a new kind of mathematical expression.
Even just a single Sigma becomes more comprehensible as a for loop, or even
a generator where infinite sequences and series are concerned.
> I was so delighted to hear this, as these are the conclusions I have come
> to as well. It's absolutely true that coding reflectively helps clarify
> one's ideas, and this is why it belongs in education. I've repeatedly had
> the experience that coding something I had long taken for granted in math
> got me to see it in a new light. I've come to view traditional math syntax
> as a kind of clever shorthand we developed before we had computers. I think
> the traditional syntax creates a kind of cognitive illusion in students and
> teachers that that's 'really' the math.
> And then throwing calculators into the mix just solidifies the illusion.
> Everyone in K-12, students and teachers, thinks that the math is 'really'
> on a piece of paper, in traditional notation, and that the technology is
> something on the side we turn to in order to help us get the math onto the
> paper when the calculations get too tough. I think that picture is flawed
> and antiquated. The technology itself is the new paper. Computational
> languages are the new algebra.
We're on the same page as the Mathematica people here, and I don't think we
should worry about any winner-take-all, king-of-the-hill story here.
IPython Notebook has a Mathematica flavor and that's fine, so does Sage.
We're in a synergy relationship.
That's especially true in the space of my workplace, where a lot of the
brain cycles have been committed to Hilbert, software that brings in
Mathematica over the server to a browser-based client. Others of us teach
Python and other executable notations. Per your integrating vision, it's
all one domain.
http://www.makingmath.com/ (same group as O'Reilly School)
> PyCon was amazing. It was my first one. Very inspiring. Time definitely
> well spent.
Glad we got to meet.
I know my little talk was kinda quirky, and that sometimes worries newbies
(my somewhat stream of consciousness style...), but they tend to be
reassured that I'm a known quantity, my quirkiness just part of my style.
I gave my talk again with different emphasis in the Great Hall on Saturday
morning. My gave more focus to my "generator tractor" and the fact that it
takes data in through yield, doesn't just give data out.
This proved to be a good segue to Raymond Hettinger's keynote I thought.
He was likewise extolling the virtues of the keyword 'yield' as among
Python's salient and cutting-edge features.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Edu-sig