I had written re: Galison's book >Turns out that the fact that Einstein happened to get a day job in a patent >office in Switzerland - where the timekeeping action has always been - >seems to have been the kind of serendipity that contributes to a Leap >Forward. That day job got him to where he got much more directly than it >is generally understood.
I would like to complete a circle here. And relate it back to the learning and teaching of programming (and mathematics). The most general point of the Galison book is that the general meme about how science progresses needs some adjusting. One way to state the prevailing meme - is that, say, abstract mathematicians work in an atmosphere of pure inquiry playing with ideas, and then at some point those ideas, thought to be purely abstract, are found to have some application to some real problem in, say, physics. The meme - according to the history lessons discussed in this book - underplays the extent to which the abstract ideas are informed in the first case by the efforts of the practical scientists and engineers (and politicians and businessmen) to solve very worldly problems. Like how do we sync our clocks in remote locations so that train schedules make sense. Programming. Personal frame of reference: My interest in mathematics is purely in the abstract - my goal is to gain mindfulness. But I find that goal is only achievable by working in the concrete, and I have found that the best concrete approach - for myself - has been in the practical practice of solving problems in the context of programming. Setting out to make concrete things occur, and struggling toward the solution that will induce them to incur. My interest in programming in purely practical. As above - making concrete things occur. And I find that my efforts to do so inform a whole level of unanticipated appreciation of a different kind of abstract thinking - connected to the abstractions that computer scientists and programming language designers live within and develop. When I say that I want to learn to *program*, not "learn to program", I think I am meaning that I want my struggles to induce the practical to allow me to discover on my own the abstract issues. Which is another way of insisting on being allowed to make my own mistakes. Guido is quoted somewhere recently (I did not see the quote first hand and cannot vouch for its authenticity) that Python is an experiment in how much freedom to give programmers. Many people seem to object to Python in the real world, "business critical" environment, because by some standards it allows programmers too much freedom to make mistakes. I don't need to join that debate, nor am I qualified to participate in it. But I am certainly convinced that the freedom to make mistakes is unassailable as part of a learning process. And therefore conclude that programming in the style that Python allows is an unassailable and under-utilized educational resource. The end. Art _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig