From urnerk at qwest.net Sat Oct 1 00:54:13 2005 From: urnerk at qwest.net (Kirby Urner) Date: Fri, 30 Sep 2005 15:54:13 -0700 Subject: [Edu-sig] Rich Data Structures Message-ID: <20050930225415.698D81E4002@bag.python.org> So I'm meditating on pedagogy again, having signed up for quite a few hours of presentation time, regarding Python etc. I've got a PSU class (high schoolers my target audience), and a volunteer gig with PPS, teaching math/CS to 8th graders (under a union member's supervision). For a long time, I've felt some frustration with published CS teaching texts because they don't put much textured information into their example data structures, by which I mean, I've never seen the Roman emperors, in chrono order, or the succession of rock bands played in by drummer X or guitarist Y. Not much about the history of trains, pre or post diesel. Or lets compile some data on Barbie's boy friends (just Ken?) -- or Buffy's (most of them vampires). Here's an opportunity to impart the humanities entirely tangentially to the engineering curriculum. As drivers of a new math/CS hybrid, I think we now realize that such opportunities for orthogonality should be prized, not sneezed at. Retaining student attention and interest, a precious commodity, is a worthy goal, and if a percentage of your student gain most from gazing absently at your wall posters, then at least make sure you've got some interesting wall posters (like, have you considered plasma?). Pile on opportunities for your lurker/auditors to jump to a higher bandwidth, even at the risk of pointing to content beyond your own specific scope (e.g. I'm no pro astronomer, but I'm happy and eager to share the experience with my students). So like here's what I mean (somewhat decayed fragment, imagine found in some archeological dig): moons = { 'Jupiter': ['Metis','Adrastea','Amalthea','Thebe', 'Leda','Ananke','Himalia','Carme', 'Lysithea','Pasiphae','Elara','Sinope', 'Io','Europa','Ganymede','Callisto'], 'Saturn': ['Pan','Atlas','Prometheus','Pandora', 'Epimetheus','Janus','Mimas','Enceladus', 'Tethys','Telesto','Calypso','Dione', 'Helene','Rhea','Titan','Hyperion', 'Iapetus','Phoebe'], 'Uranus': ['Cordelia','Ophelia','Bianca','Cressida', 'Desdemonia','Juliet','Portia','Rosalind', 'Belinda','Puck' There're a few goals here, not just to impress ourselves with the number of moons Jupiter's got, or Saturn. And pretty cool how much Shakespeare got mapped, at least in this particular namespace. We also want to demonstrate nesting, and here in this example I've not yet gone very deep: string-indexed lists of strings, basically. But of course we could go with things like lists of tuples of dictionaries of tuples of named functions (one could write some algorithm to randomly deepen nesting, always/only per the grammar of the language, e.g. per Python in this case). The push here is towards ultra-fluency when first learning the language, and then it's OK when adult-minded rust sets in, and one's data structures retreat to sane depths. That comes later, in the workaday world, when we've got weekend plans and want to get home and don't necessarily have time to appreciate some geek's damnably clever code. We acknowledge extreme fluency as a phase in the training, yet we don't insist these standards be met in the average workaday world. On the contrary, we insist on more a mellow programming style -- and that's both reasonable and right. Overly clever code is simply overly taxing to decipher and debug. Yet sometimes we need it and use it. We like our clowns to stay clever over time, true, however not every Python programmer should come to work wearing big shoes and a red nose. At least, not all at the same time. Vary your diet -- the usual middle way type teaching, as relevant in CS as in everyday living. Kirby From cyberweb at rocketmail.com Sun Oct 2 02:50:29 2005 From: cyberweb at rocketmail.com (CyberWeb Consulting) Date: Sat, 1 Oct 2005 17:50:29 -0700 (PDT) Subject: [Edu-sig] Rich Data Structures In-Reply-To: Message-ID: <20051002005030.82774.qmail@web30705.mail.mud.yahoo.com> i think this is a great idea. parallel learning is useful, and there should be no reason why it can't be done on a regular basis. in fact, it'll make it easier to come up with coding examples *and* help the kids with their other subjects at the same time. i did something similar a few years back ( http://www2.linuxjournal.com/article/5597 -- see Listing 1 ), but alas, the intention, however, was wrong. it wasn't as grand a scheme as you describe. rather, it was just a half-baked attempt to pay homage to my favorite rock band. :-) cheers, -wesley > Date: Fri, 30 Sep 2005 15:54:13 -0700 > From: "Kirby Urner" > Subject: [Edu-sig] Rich Data Structures > To: edu-sig at python.org > > Here's an opportunity to impart the humanities entirely tangentially > to the > engineering curriculum. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "Core Python Programming", Prentice Hall, (c)2001 http://www.corepython.com wesley.j.chun :: cyberweb at rocketmail.com cyberweb.consulting :: silicon.valley, ca http://www.cyberwebconsulting.com From guido at python.org Mon Oct 3 23:13:58 2005 From: guido at python.org (Guido van Rossum) Date: Mon, 3 Oct 2005 14:13:58 -0700 Subject: [Edu-sig] Microsoft's KPL Message-ID: Has anyone looked at this yet? http://msdn.microsoft.com/coding4fun/ http://www.computerworld.com/developmenttopics/development/story/0,10801,105100,00.html -- --Guido van Rossum (home page: http://www.python.org/~guido/) From delza at livingcode.org Tue Oct 4 03:42:19 2005 From: delza at livingcode.org (Dethe Elza) Date: Mon, 3 Oct 2005 18:42:19 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: References: Message-ID: <9B7B6D76-83ED-431C-A20C-7ED28075B5EA@livingcode.org> I've taken a cursory look at KPL. It appear very similar to Basic, but exposing the .Net libraries. I guess now that VisualBasic has become another syntax for C#, they needed a new Basic for scripting. It has top-level functions for playing sounds, getting screen information, handling sprites, math, pen (shapes and color). Kind of like combining a subset of DrawBot and PyGame, but backed by .Net instead of the Standard Library. --Dethe "We realize you had a choice betwen several bankrupt airlines to fly today, and we thank you for choosing our bankrupt airline." --Delta Airlines pilot From ajsiegel at optonline.net Tue Oct 4 15:17:03 2005 From: ajsiegel at optonline.net (Arthur) Date: Tue, 04 Oct 2005 09:17:03 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <9B7B6D76-83ED-431C-A20C-7ED28075B5EA@livingcode.org> Message-ID: <000001c5c8e5$f0b755a0$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Dethe Elza > Sent: Monday, October 03, 2005 9:42 PM > To: Guido van Rossum > Cc: edu-sig at python.org > Subject: Re: [Edu-sig] Microsoft's KPL > > I've taken a cursory look at KPL. It appear very similar to Basic, > but exposing the .Net libraries. I guess now that VisualBasic has > become another syntax for C#, they needed a new Basic for scripting. > It has top-level functions for playing sounds, getting screen > information, handling sprites, math, pen (shapes and color). Kind of > like combining a subset of DrawBot and PyGame, but backed by .Net > instead of the Standard Library. I just devoted a few minutes to downloading it for a look see. It seemed to install flawlessly. The first thing I did was pull up the BouncingBall.kpl "learning program" and hit the "go" icon. And it bombed. """ Checking your programs for erros No errors found Running program BouncingBall.kpl BouncingBal.kpl Line 26 - Main->LoadSprite Method not found.... """ Of course in this kind of heavyweight environment I don't have a clue of what the issue is and - more significantly - a clue on how to get a clue. I find it hateful, but was expecting to. I've uninstalled. Art > > --Dethe > > "We realize you had a choice betwen several bankrupt airlines to fly > today, and we thank you for choosing our bankrupt airline." --Delta > Airlines pilot > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig From ajsiegel at optonline.net Tue Oct 4 15:30:22 2005 From: ajsiegel at optonline.net (Arthur) Date: Tue, 04 Oct 2005 09:30:22 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <9B7B6D76-83ED-431C-A20C-7ED28075B5EA@livingcode.org> Message-ID: <000001c5c8e7$c6156a60$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Dethe Elza > > I've taken a cursory look at KPL. It appear very similar to Basic, > but exposing the .Net libraries. I guess now that VisualBasic has > become another syntax for C#, they needed a new Basic for scripting. > It has top-level functions for playing sounds, getting screen > information, handling sprites, math, pen (shapes and color). Kind of > like combining a subset of DrawBot and PyGame, but backed by .Net > instead of the Standard Library. I would also mention effbots recently released wrapper to the AGG library: http://effbot.org/zone/pythondoc-aggdraw.htm pen, brushes, colors, lines and a host of other 2d primitives --) extremely high-end rendering accessed in a lightweight environment - say IDLE - without the burden of type declarations (which have to hurdle to kids). It simply better for the job - if that still counts for anything. Art > > --Dethe > > "We realize you had a choice betwen several bankrupt airlines to fly > today, and we thank you for choosing our bankrupt airline." --Delta > Airlines pilot > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig From ajsiegel at optonline.net Tue Oct 4 16:19:05 2005 From: ajsiegel at optonline.net (Arthur) Date: Tue, 04 Oct 2005 10:19:05 -0400 Subject: [Edu-sig] OT: googling "logo" Message-ID: <000001c5c8ee$93fe10c0$1702a8c0@BasementDell> Kids Programming Language comes up. And I did recently find out that my "ideal" of the elementary school teacher (in my own experience) - Mr. B. - did eventually incorporate Logo into his curriculum. So I just googled "Logo". The first hit is the homepage of Sourceforge (which I find encouraging), but the 4th hit the homepage of Mircosoft (which I find confusing). Turns out "edit -> Find on this page" for either has no hits for "logo". I have to assume that Google is getting the hits from the html source - though I can't find a "logo" on the current Sourceforge homepage source. I guess I never thought about the possibility that Google gets fooled by reference in html source that is not at all relevant to the actual public page and the basis on which it is visited. If true, isn't that subject to all kinds of abuse? The other "hits" are a collection of the most visited sights on the web, e.g. ebay. Presumably they all have logos and a reference in their html source to a logo. But is Sourceforge more visited than Microsoft and Ebay? Googling "Logo Software" helps a bit, but since many of the most visited sites have something to do with software and have logos, not a very sensible selection comes back. Its pretty rare - in my experience - to find a circumstance in which Google seems quite broken. I guess there are always corner cases. Art From janc13 at gmail.com Tue Oct 4 18:25:29 2005 From: janc13 at gmail.com (JanC) Date: Tue, 4 Oct 2005 18:25:29 +0200 Subject: [Edu-sig] OT: googling "logo" In-Reply-To: <000001c5c8ee$93fe10c0$1702a8c0@BasementDell> References: <000001c5c8ee$93fe10c0$1702a8c0@BasementDell> Message-ID: <984838bf0510040925l2ef5affhf8e21ae86107a249@mail.gmail.com> On 10/4/05, Arthur wrote: [...] > So I just googled "Logo". > > The first hit is the homepage of Sourceforge (which I find encouraging), but > the 4th hit the homepage of Mircosoft (which I find confusing). [...] > Googling "Logo Software" helps a bit, but since many of the most visited > sites have something to do with software and have logos, not a very sensible > selection comes back. > > Its pretty rare - in my experience - to find a circumstance in which Google > seems quite broken. Just ask google (or any other search engine) what you're looking for: http://www.google.com/search?q=logo+programming+language -- JanC From ajsiegel at optonline.net Tue Oct 4 23:26:47 2005 From: ajsiegel at optonline.net (Arthur) Date: Tue, 04 Oct 2005 17:26:47 -0400 Subject: [Edu-sig] OT: googling "logo" In-Reply-To: <984838bf0510040925l2ef5affhf8e21ae86107a249@mail.gmail.com> Message-ID: <000601c5c92a$53bf42e0$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of JanC > Just ask google (or any other search engine) what you're looking for: > http://www.google.com/search?q=logo+programming+language Google on "python" and the first hit (not too surprising) is www.python.org If the gif image around which organizations built their identity was called a "python", it apparently would be otherwise. Just a curiosity of the new age. I am sure good marketing types now give such matters Deep Thought. Art From urnerk at qwest.net Wed Oct 5 01:22:54 2005 From: urnerk at qwest.net (Kirby Urner) Date: Tue, 4 Oct 2005 16:22:54 -0700 Subject: [Edu-sig] OT: googling "logo" In-Reply-To: <000601c5c92a$53bf42e0$1702a8c0@BasementDell> Message-ID: <20051004232258.7047B1E4004@bag.python.org> > I am sure good marketing types now give such matters Deep Thought. > > Art I know I don't, but others might. I'm at least OK at marketing. Kirby From ajsiegel at optonline.net Wed Oct 5 16:16:02 2005 From: ajsiegel at optonline.net (Arthur) Date: Wed, 05 Oct 2005 10:16:02 -0400 Subject: [Edu-sig] OT: googling "logo" In-Reply-To: <20051004232258.7047B1E4004@bag.python.org> Message-ID: <000001c5c9b7$524c7df0$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Kirby Urner > Subject: Re: [Edu-sig] OT: googling "logo" > > > I am sure good marketing types now give such matters Deep Thought. > > > > Art > > I know I don't, but others might. I'm at least OK at marketing. > > Kirby Well I thought there was a bit of an industry growing up around the idea of psyching out Google. I had the opportunity to chat with the lead of a project (with an underlying profit motive) that is perennially in the Sourceforge "most active" top ten, who was a little more unashamed then you might expect to explain how to me how he assures himself that ranking. Whatever. Art From john.zelle at wartburg.edu Wed Oct 5 17:24:15 2005 From: john.zelle at wartburg.edu (John Zelle) Date: Wed, 05 Oct 2005 10:24:15 -0500 Subject: [Edu-sig] OT: googling "logo" In-Reply-To: <000001c5c9b7$524c7df0$1702a8c0@BasementDell> References: <000001c5c9b7$524c7df0$1702a8c0@BasementDell> Message-ID: <4343F01F.6040708@wartburg.edu> Guido must be a whiz at marketing. Look what happens when you google: programming language :-) --Z Arthur wrote: > >>-----Original Message----- >>From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On >>Behalf Of Kirby Urner >>Subject: Re: [Edu-sig] OT: googling "logo" >> >> >>>I am sure good marketing types now give such matters Deep Thought. >>> >>>Art >> >>I know I don't, but others might. I'm at least OK at marketing. >> >>Kirby > > > Well I thought there was a bit of an industry growing up around the idea of > psyching out Google. > > I had the opportunity to chat with the lead of a project (with an underlying > profit motive) that is perennially in the Sourceforge "most active" top ten, > who was a little more unashamed then you might expect to explain how to me > how he assures himself that ranking. > > Whatever. > > Art > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > -- John M. Zelle, Ph.D. Wartburg College Professor of Computer Science Waverly, IA john.zelle at wartburg.edu (319) 352-8360 From ajsiegel at optonline.net Wed Oct 5 19:22:35 2005 From: ajsiegel at optonline.net (ajsiegel@optonline.net) Date: Wed, 05 Oct 2005 13:22:35 -0400 Subject: [Edu-sig] OT: googling "logo" In-Reply-To: <4343F01F.6040708@wartburg.edu> References: <000001c5c9b7$524c7df0$1702a8c0@BasementDell> <4343F01F.6040708@wartburg.edu> Message-ID: ----- Original Message ----- From: John Zelle Date: Wednesday, October 5, 2005 11:24 am Subject: Re: [Edu-sig] OT: googling "logo" > Guido must be a whiz at marketing. Look what happens when you > google: > programming language :-) > > --Z No argument here. But the extremes he goes to. The @decorator thing was clearly a ploy to build the traffic statistics for comp.lang.python.. the devil ;). Art From urnerk at python.org Wed Oct 5 20:51:09 2005 From: urnerk at python.org (Kirby Urner) Date: Wed, 5 Oct 2005 11:51:09 -0700 Subject: [Edu-sig] Rich Data Structures In-Reply-To: <20050930225415.698D81E4002@bag.python.org> Message-ID: <20051005185113.3DC511E4005@bag.python.org> > 'Saturn': ['Pan','Atlas','Prometheus','Pandora', > 'Epimetheus','Janus','Mimas','Enceladus', > 'Tethys','Telesto','Calypso','Dione', > 'Helene','Rhea','Titan','Hyperion', > 'Iapetus','Phoebe'], > 'Uranus': ['Cordelia','Ophelia','Bianca','Cressida', > 'Desdemonia','Juliet','Portia','Rosalind', > 'Belinda','Puck' > We might further enrich this module with additional lookup tables. Now that we know how to get the moons of Saturn i.e. solarsystem.moons['Saturn'] -- case sensitive -- we could consult a lookup table of URIs: >>> solarsystem.getlookuptable('moonurls')['Mimas'] # function returns dict 'http://ksiezyce.republika.pl/saturn/mimas_en.html' We might then invoke the Standard Library to pull down actual source HTML and/or embedded images (if any). We could use the pictures in later exercises. Or maybe not. Lots of ways to go. One module could be about solar system data structures. All these nested objects, maybe with numerical data involving diameters, distances, periods of orbit and rotation, average surface temperatures -- there's no upper limit on how detailed one might want to get. But for ordinary classroom use, there's no need to parse through a whole gigabyte of solar system data structures, as we still have mammals and species of phytoplankton to consider. So I imagine CDs with tons of already defined rich data structures, in the form of Python modules, plus other languages could do it too. The CDs would be a convenience for when you're not on the web, but would mirror content at websites. This way, tutorial writers, book authors, could reference these standard in-common data sources, even while doing original writing for compensation, i.e. here's a mix of for-profit and in-common code. And profiteers give back to the in-commons, having seen how useful it's been. Kirby From david at handysoftware.com Wed Oct 5 21:38:32 2005 From: david at handysoftware.com (David Handy) Date: Wed, 5 Oct 2005 15:38:32 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: References: Message-ID: <20051005193832.GA19563@arno2> Microsoft's "Coding 4 Fun" website referenced below is ostensibly intended to boost hobby coding on the MS platform. But my understanding is that Microsoft has one of those "we own you, body and soul, and everything you create is owned by us" employee contracts. So you can't code for fun and release the code if you are a Microsoft employee, unless you can somehow get through the MS legal department. Therefore KPL was not developed by Microsoft employees. And it doesn't appear to be open source, either. (No source code available, and I couldn't find any explicit license, other than a statement that it was "freeware".) David H On Mon, Oct 03, 2005 at 02:13:58PM -0700, Guido van Rossum wrote: > Has anyone looked at this yet? > > http://msdn.microsoft.com/coding4fun/ > > http://www.computerworld.com/developmenttopics/development/story/0,10801,105100,00.html > > -- > --Guido van Rossum (home page: http://www.python.org/~guido/) > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -- David Handy Computer Programming is Fun! Beginning Computer Programming with Python http://www.handysoftware.com/cpif/ From ajsiegel at optonline.net Thu Oct 6 15:26:29 2005 From: ajsiegel at optonline.net (Arthur) Date: Thu, 06 Oct 2005 09:26:29 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <20051005193832.GA19563@arno2> Message-ID: <000301c5ca79$8fc31eb0$1702a8c0@BasementDell> > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of David Handy > And it doesn't appear to be open source, either. (No source code > available, and I couldn't find any explicit license, other than a > statement that it was "freeware". Nor - of course - is it cross platform. I agree that is a relevant concern - but articulating why is somewhat difficult. I have little such concerns related to software for business use - for example. Nor am I unconcerned about the Open Source community's tendency to be uncritical of efforts to distribute "educational software" - based on little more than the merit of being cross platform and Open Source. The best I can do is trying to make the analogy of the reaction to a release of a scientific or academic paper that withheld citations and bibliography - as confidential. But of course -having them there does not make it a sound scientific or academic paper. I - like many others- welcome much of the disruption of the disruptive technologies. On the other hand - disruption is disruption. And part of what can and does get disrupted are sound common sense notions. A company like Microsoft would be ashamed - based on more traditional notions - of publicly promoting a position that the realization of the potential of our children is part of their mission. The reality is they spend enormous dollars promoting just such a position - with little general reaction. If there was truth to such an assertion they should (and would) be satisfied to let uninterested others find it, and promote it. Quite possibly this concern/phobia/paranoia of mine is a tempest in a teapot. A stage of be disruption will pass, and thinking around such issues of children's education and the profit motive's of $multibillion business enterprises will return to where common sense concerns regain their footing. But I still see the jury as out. So a few paragraphs sent into cyberspace still seems worth the effort. Art From ajsiegel at optonline.net Thu Oct 6 16:54:39 2005 From: ajsiegel at optonline.net (Arthur) Date: Thu, 06 Oct 2005 10:54:39 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000301c5ca79$8fc31eb0$1702a8c0@BasementDell> Message-ID: <000001c5ca85$e11be510$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces+ajsiegel=optonline.net at python.org [mailto:edu-sig- > To: 'David Handy'; 'Guido van Rossum' > Cc: edu-sig at python.org > Subject: Re: [Edu-sig] Microsoft's KPL > > A company like Microsoft would be ashamed - based on more traditional > notions - of publicly promoting a position that the realization of the > potential of our children is part of their mission. I think I understated my position, a bit - in an effort to sound "reasonable". One should not expect a large corporation to have an emotion like "shame" - that's clearly a form a anthropomorphism. One should expect such an enterprise to act in a strategically sound manner. And one might expect that it would be strategically unsound for an organization like Microsoft or Disney or IBM or etc, and etc. to attempt to promote themselves as having an altruistically based concern about "learning" and "education". Because it might well look ridiculous - and as the movie producer in The Godfather says - "a man in my position can not afford to be made to look ridiculous". One would expect the most potent fire to come from the educational community, the academic community. But groundwork has been laid. It seems to me that the Microsofts and Disneys and etc. and etc. go forward on these issues with some confidence that the fire coming from those communities will be muted = at best. By understanding the current dynamics - and survival modes - in those communities. Yuck - its ugly. Art From urnerk at qwest.net Fri Oct 7 01:52:22 2005 From: urnerk at qwest.net (Kirby Urner) Date: Thu, 6 Oct 2005 16:52:22 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000301c5ca79$8fc31eb0$1702a8c0@BasementDell> Message-ID: <20051006235226.C73781E4005@bag.python.org> Hi Arthur -- I really do try to understand your concerns about businesses touting their efforts in the education arena, and how much that concerns you. For me it's more about recruiting i.e. for Microsoft to keep a new generation of talent working in Redmond, it needs to have appeal as an employer, plus needs kids growing up to know something of the Microsoft way and lore. Windows, X-Box and such. If all home schoolers use are Linux and OS X, and same for a generous pie slice of school computer labs, that's maybe not so good, in terms of attracting future talented, fun & friendly coworkers. But Microsoft is not so narrow as to only care about Windows or Office or SQL Server. The .NET technology, which we've been discussing in this thread, is a promising platform for Python, and .NET has a footprint in Linux, in the form of Mono. The technology is, once again, cross platform, and that has a lot of appeal (I can even run Mono on Windows -- have it on my Toshiba A60 WinXP laptop in fact, left over from OSCON 2005). Having lots of options is generally good for client businesses such as mine. We don't like getting locked in to pricing structures, not Microsoft's, not anyone's. Open source often looks a lot less predatory to small businesses, even if harder to grok. The programmer you hire is surviving on the basis of skills, not secret access to back door source code. The code is in the open. Kung fu is on merit, not unfair advantage. Python, for its part, tends to go cross-platform because of its VM architecture. Like Java, it's designed to leave interpretation of the low level byte codes to something native, written in something fast. C, Java and C#/CIL have been the VM source languages so far -- at least those are the ones I know a little about (I'm not so sure what's in that Nokia cell phone). I'd be concerned if just one or two big companies felt they could hijack and control our curriculum, but having thousands upon millions of competing firms hawking their education-relevance doesn't so far bother me. Free speech and all that. If you want to position as a friendly-to-kids, yet commercially minded education company, go right ahead. There's nothing sleazy about that in pure principle (you're just recruiting coworkers), and sure, there're lots of opportunities to mess up. Conclusion: there's no promise you'll succeed, but you do have the right to try, is my attitude. Kirby From ajsiegel at optonline.net Fri Oct 7 13:12:14 2005 From: ajsiegel at optonline.net (Arthur) Date: Fri, 07 Oct 2005 07:12:14 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <0INY00L3HQBDAJR0@mta13.srv.hcvlny.cv.net> Message-ID: <000301c5cb2f$f9673840$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > > Hi Arthur -- > > I really do try to understand your concerns about businesses touting their > efforts in the education arena, and how much that concerns you. Maybe you are trying too hard. In my mind, I am only stating the obvious. And wondering why it seems to have become acceptable and common to ignore it. Maybe you are looking for more than the obvious. > > I'd be concerned if just one or two big companies felt they could hijack > and > control our curriculum, but having thousands upon millions of competing > firms hawking their education-relevance doesn't so far bother me. Are there thousands upon millions of firms in a position to compete with Microsoft, Disney and IBM? More fundamentally, when was it that we decided that the kind of market forces which work to bring us ketchup, work to bring us education. The U.S. - perhaps the most free-market force ever - had, until the technological disruption, understood the importance of making one very fundamental exception to the general rule that the markets rule - and that has been in education. And I think that is largely because it has been understood that there has to be decisions as to what education *is* before it - education - can be accomplished. And it has been understood that it would be irresponsible to let the markets *define* education. That wisdom is in grave jeopardy. As we see, the market defines education as - what it can deliver. Perhaps it's not. Art From lac at strakt.com Fri Oct 7 15:26:16 2005 From: lac at strakt.com (Laura Creighton) Date: Fri, 07 Oct 2005 15:26:16 +0200 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: Message from Arthur of "Fri, 07 Oct 2005 07:12:14 EDT." <000301c5cb2f$f9673840$1702a8c0@BasementDell> References: <000301c5cb2f$f9673840$1702a8c0@BasementDell> Message-ID: <200510071326.j97DQGrc028007@theraft.strakt.com> Part of our problem is that the development of 'education for all' has historically happened in the economic climate where the great need was to convert surplus farm-labour into industrial workers. Thus the sort of things that were considered essential to a 'good education' was the sort of things that may you _employable_. (Before then, a huge number of people didn't have _jobs_, simply a huge amount of work they needed to do. Housewives are in a similar position today.) For better and for worse, this has produced an educational infrastructure which is driven by the demands of the employers on soon-to-become workers. This works fairly poorly when combined with advanced high-technology consumerism. What happens when what your potential employers want most from the soon-to-be workers is 'to not have to employ them at all'? As long as consumers keep spending, that is their only real value. This is decidedly at variance with historical precident, where one's value was as a _producer_, and where consumption merely happened to balance the books, so to speak. (_Lack_ of consumption mattered, in that if you produced something that nobody wanted, you would end up with surplus stock, and the indication that something was terribly wrong with your business model. Or maybe the harvest was extra good this year ....) Scarcity was the norm. Forgetting the problems of 'my factory won't scale' and 'my product is so expensive that I have very few potential customers', you could build a working business model based on the idea that you could sell all that you could produce. Thus converting all the farm workers into producers made sense. But with prosperity came an end to scarcity. The first manufacturers ran into it when they discovered that the cost in transportng their good to new customers made their prices uncompetitive. At this point in time, improvements in transportation technology drove the ability of large firms to increase their markets. Current technology is so advanced that you can pick up raw materials from Canada, ship them to South East Asia, make cars out of them, and ship the cars back. It is one big global market now. The attempts to sell in China is the pushing back of the last -- admittedly huge -- frontier. But the upshot of all of this is that scarcity is over. The market in goods and services are saturated with offerings. It doesn't do you any good to make any more, since all you will do is waste money and add to the glut. Indeed, you are better off spending your money in advertising, trying to promote averice, and 'stimulate demand'. And where human beings really shine is at unskilled labour. If you invest heavily in touch screens and bar code readers, you can lower the skills needed for a checkout clerk. But they are cheaper than robots at picking up goods and passing them over the sensors. And it makes sense to pay them, at rates which exceed the value of the service they provide. You just pass on their costs onto the price of the goods. Because what keeps this over-balanced system running at all is amount of circulation that the money does. Impoverishing the check out clerks to the point where they can no longer function as consumers does not serve the interests of the market as a whole. But this means that the whole 'what is the purpose of education' question is in serious need of revision. It used to be that preparing people for productive lives was enough. These days a productive life may not be what is wanted. Perhaps a meaningful one would be a better goal to strive for. Laura From david at handysoftware.com Fri Oct 7 18:10:01 2005 From: david at handysoftware.com (David Handy) Date: Fri, 7 Oct 2005 12:10:01 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <200510071326.j97DQGrc028007@theraft.strakt.com> References: <000301c5cb2f$f9673840$1702a8c0@BasementDell> <200510071326.j97DQGrc028007@theraft.strakt.com> Message-ID: <20051007161001.GA30816@arno2> I find Laura's analysis of social and educational trends to be insightful and accurate, but it doesn't go quite far enough in exploring the question "what is the purpose of education in today's society?" I find this to be on-topic, as it gets at the root of why I wrote a programming textbook for teenage youth, instead of all the other things I could have done with my spare time. I'll only speak for U.S. society as that is what I know; all others apply whatever fits. In addition to the trend of mindless consumerism that Laura described so well, there have been two additional trends contributing to changes in education: the weakening of family (parental) influence and the growing role of schools as the tool of social engineering. The family: Since the early 1900s women have been given the additional role of working jobs outside the home as well everything they do inside the home. Public schools now assume the role of babysitter and caregiver, at the expense of education. Also there is a growing trend of children being raised without fathers; the resulting social and behavioral problems of children are an additional burden on schools, further hindering education. Social engineering: Everyone who wants to change the world starts by trying to get control of the public schools so as to influence young minds in their direction. I have noticed even on this list many wanting to get Python/whatever into the official curriculum; it seems so much easier to get one small group of government officials to push your agenda than to pursuade parents and teachers. Unfortunately, the public schools then become the battleground of ideologies, in the same way that government-run media becomes the first target of any would-be revolutionary junta. Politics rules the schools, and education suffers. With all of this going on, it is a wonder that anyone learns anything useful in school. Indeed, I have memories even from my elementary school days of feeling that my time was being wasted, that I could be learning a lot more and a lot faster, and that I was just being "babysat". So where do I fit in here? I'm trying to be part of the solution, not part of the problem. I don't have grandiose ideas about changing the course of world events, but I think each one of us can change the lives of individuals around us. I was greatly benefited by mentoring from engineers as a teenager. I'm just trying to give back, by trying to give my own children and others the same opportunities that I had. We on this list are mostly self-taught, independent-minded people. We believe that people *can* rise above mindless consumerism, that they can do something significant. I believe that young people (and all people) are capable of doing a lot more with their minds than what they currently do; that's why I believe that they can learn, among other things, programming with Python. David H. On Fri, Oct 07, 2005 at 03:26:16PM +0200, Laura Creighton wrote: > Part of our problem is that the development of 'education for all' has > historically happened in the economic climate where the great need was > to convert surplus farm-labour into industrial workers. Thus the sort > of things that were considered essential to a 'good education' was the > sort of things that may you _employable_. (Before then, a huge number > of people didn't have _jobs_, simply a huge amount of work they needed > to do. Housewives are in a similar position today.) For better and > for worse, this has produced an educational infrastructure which is > driven by the demands of the employers on soon-to-become workers. > > This works fairly poorly when combined with advanced high-technology > consumerism. What happens when what your potential employers want > most from the soon-to-be workers is 'to not have to employ them at > all'? As long as consumers keep spending, that is their only real value. > > This is decidedly at variance with historical precident, where one's > value was as a _producer_, and where consumption merely happened to > balance the books, so to speak. (_Lack_ of consumption mattered, > in that if you produced something that nobody wanted, you would end > up with surplus stock, and the indication that something was terribly > wrong with your business model. Or maybe the harvest was extra good > this year ....) Scarcity was the norm. Forgetting the problems > of 'my factory won't scale' and 'my product is so expensive that > I have very few potential customers', you could build a working > business model based on the idea that you could sell all that you > could produce. Thus converting all the farm workers into producers > made sense. > > But with prosperity came an end to scarcity. The first manufacturers > ran into it when they discovered that the cost in transportng their > good to new customers made their prices uncompetitive. At this point > in time, improvements in transportation technology drove the ability > of large firms to increase their markets. Current technology is so > advanced that you can pick up raw materials from Canada, ship them to > South East Asia, make cars out of them, and ship the cars back. It is > one big global market now. The attempts to sell in China is the > pushing back of the last -- admittedly huge -- frontier. > > But the upshot of all of this is that scarcity is over. The market in > goods and services are saturated with offerings. It doesn't do you > any good to make any more, since all you will do is waste money and > add to the glut. Indeed, you are better off spending your money in > advertising, trying to promote averice, and 'stimulate demand'. > > And where human beings really shine is at unskilled labour. If you > invest heavily in touch screens and bar code readers, you can lower > the skills needed for a checkout clerk. But they are cheaper than > robots at picking up goods and passing them over the sensors. > > And it makes sense to pay them, at rates which exceed the value of > the service they provide. You just pass on their costs onto the > price of the goods. Because what keeps this over-balanced system > running at all is amount of circulation that the money does. > Impoverishing the check out clerks to the point where they can no > longer function as consumers does not serve the interests of the > market as a whole. > > But this means that the whole 'what is the purpose of education' > question is in serious need of revision. It used to be that preparing > people for productive lives was enough. These days a productive life > may not be what is wanted. Perhaps a meaningful one would be a better > goal to strive for. > > Laura > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -- David Handy Computer Programming is Fun! Beginning Computer Programming with Python http://www.handysoftware.com/cpif/ From urnerk at qwest.net Fri Oct 7 18:52:09 2005 From: urnerk at qwest.net (Kirby Urner) Date: Fri, 7 Oct 2005 09:52:09 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000301c5cb2f$f9673840$1702a8c0@BasementDell> Message-ID: <20051007171927.54CEB1E4005@bag.python.org> > Maybe you are trying too hard. In my mind, I am only stating the obvious. But you *always* seem to think you're stating the obvious. That's probably why it's so hard to understand you. > And wondering why it seems to have become acceptable and common to ignore > it. Maybe you are looking for more than the obvious. > Maybe, maybe... > > > > I'd be concerned if just one or two big companies felt they could hijack > > and control our curriculum, but having thousands upon millions of > > competing firms hawking their education-relevance doesn't so far bother > > me. > > Are there thousands upon millions of firms in a position to compete with > Microsoft, Disney and IBM? Certainly. Because these stock market ticker decals you mention have a way of going up and down in an ocean of others, which also go up and down. In education, being a really small company is what's ultra cool. Because your students think they might want to be private, independent entrepreneurs like you someday. > More fundamentally, when was it that we decided that the kind of market > forces which work to bring us ketchup, work to bring us education. The > U.S. - perhaps the most free-market force ever - had, until the > technological disruption, understood the importance of making one very > fundamental exception to the general rule that the markets rule - and > that has been in education. Do you want to cite some sources here? IBM is not in the ketchup business. It has committed to supporting the Linux kernel, which got SCO all excited because surely ownership of the Unix trademark counts for something (unless that's Novell's). But no, it's hours of original man hour that counts, and geeks have their memories, their lore, their admiration structures. They know the Linux of today is no cheap rip off of some ancient Bell Labs source code (which was actually pretty cool, but that didn't rub off on SCO). In adding to the kernel, IBM is acting in an educational capacity as well. It's a two way street however: it was an eye-opener for IBM lifers to "get it" about open source culture. The point of all this smalltalk: where've you been Arthur? We who bring you ketchup bring you all that engineering you pay for and enjoy. Your car, your skyscrapers, your computer. Since when aren't we in the education business? We taught you all you know. Bucky had a name for us: the Grunch. > And I think that is largely because it has been understood that there has > to be decisions as to what education *is* before it - education - can be > accomplished. And it has been understood that it would be irresponsible > to let the markets *define* education. > > That wisdom is in grave jeopardy. > > As we see, the market defines education as - what it can deliver. > > Perhaps it's not. > > > Art But a lot of those IBM lifers and open source snake charmers, perl divers, gemologists and so on, went to schools to learn CS, and still recognize names like Princeton, Stanford, MIT, Caltech... and so on. Behind the big name companies are the big name schools, and cool little ones, less well known, but with dynamite reputations among disciplined insiders. Are these the institutions you think are being usurped by the free market? But they're still players too, and usually get major influence over alumni, well before the employers do. I don't think Princeton feels eclipsed by any "market force" -- not even Microsoft. I think IBM and Microsoft and any number of education-minded firms, should rev their engines as much as they like in the "we're helping kids learn" marketing department. Then back up those claims by delivering the goods or take your hit on the big board. It's not like the universities will thereby become slaves to corporate masters, nor even that government agencies will bow out of providing training. Private individuals have tremendous impact as well, acting as authors, creative geniuses. Just look at Harry Potter. Bugs Bunny did more to educate America than most. He had a few people behind him, not millions, yet our media culture has indeed millions of these powerful stars (consider cartoon figures alone, not forgetting Pokeman). So no, I'm not worried that IBM will eclipse the vast forest of other trees that is our Education Planet. Nor do I have any problem with IBM standing strong and tall for a long while, the way trees tend to do. Kirby From ajsiegel at optonline.net Fri Oct 7 20:53:14 2005 From: ajsiegel at optonline.net (Arthur) Date: Fri, 07 Oct 2005 14:53:14 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <200510071326.j97DQGrc028007@theraft.strakt.com> Message-ID: <000001c5cb70$60eeb700$1702a8c0@BasementDell> > From: Laura Creighton [mailto:lac at strakt.com] > Sent: Friday, October 07, 2005 9:26 AM > To: Arthur > Cc: edu-sig at python.org > Subject: Re: [Edu-sig] Microsoft's KPL > > Part of our problem is that the development of 'education for all' has > historically happened in the economic climate where the great need was > to convert surplus farm-labour into industrial workers. I don't know, Laura. You paint a coherent picture. But one considerably more clinical than anything I can relate to from my own frame of reference. And in that sense cynical. In these kinds of discussions I find it difficult and unwise to move outside my own frame of reference - what I know first hand. As a historian or economist I have nothing to contribute. As an observer - and a decent one, I think - perhaps I do. Some good ol' (perhaps unexpected) flag waving: I am one generation away from "your not wanted here", nothing but the shirts on our backs, arrival here through Ellis Island. >From there it's been right out the civic books, the ones we are supposed to be too sophisticated and cynical to take seriously. Opportunity. Reward for hard work. Recognition for merit. No limits. None. My older sister has fun from time to time introducing me to people you read about in history books, or will. She might be one herself. And in the middle of this - and essential to it - has been free public education, with enough high-minded people contributing enough high-minded effort to move my friends and family along in no particularly direction beyond that which we have had the opportunity to chart for ourselves. *That* is why I get emotional at threats to it - perceived or real. Art Thus the sort > of things that were considered essential to a 'good education' was the > sort of things that may you _employable_. (Before then, a huge number > of people didn't have _jobs_, simply a huge amount of work they needed > to do. Housewives are in a similar position today.) For better and > for worse, this has produced an educational infrastructure which is > driven by the demands of the employers on soon-to-become workers. > > This works fairly poorly when combined with advanced high-technology > consumerism. What happens when what your potential employers want > most from the soon-to-be workers is 'to not have to employ them at > all'? As long as consumers keep spending, that is their only real value. > > This is decidedly at variance with historical precident, where one's > value was as a _producer_, and where consumption merely happened to > balance the books, so to speak. (_Lack_ of consumption mattered, > in that if you produced something that nobody wanted, you would end > up with surplus stock, and the indication that something was terribly > wrong with your business model. Or maybe the harvest was extra good > this year ....) Scarcity was the norm. Forgetting the problems > of 'my factory won't scale' and 'my product is so expensive that > I have very few potential customers', you could build a working > business model based on the idea that you could sell all that you > could produce. Thus converting all the farm workers into producers > made sense. > > But with prosperity came an end to scarcity. The first manufacturers > ran into it when they discovered that the cost in transportng their > good to new customers made their prices uncompetitive. At this point > in time, improvements in transportation technology drove the ability > of large firms to increase their markets. Current technology is so > advanced that you can pick up raw materials from Canada, ship them to > South East Asia, make cars out of them, and ship the cars back. It is > one big global market now. The attempts to sell in China is the > pushing back of the last -- admittedly huge -- frontier. > > But the upshot of all of this is that scarcity is over. The market in > goods and services are saturated with offerings. It doesn't do you > any good to make any more, since all you will do is waste money and > add to the glut. Indeed, you are better off spending your money in > advertising, trying to promote averice, and 'stimulate demand'. > > And where human beings really shine is at unskilled labour. If you > invest heavily in touch screens and bar code readers, you can lower > the skills needed for a checkout clerk. But they are cheaper than > robots at picking up goods and passing them over the sensors. > > And it makes sense to pay them, at rates which exceed the value of > the service they provide. You just pass on their costs onto the > price of the goods. Because what keeps this over-balanced system > running at all is amount of circulation that the money does. > Impoverishing the check out clerks to the point where they can no > longer function as consumers does not serve the interests of the > market as a whole. > > But this means that the whole 'what is the purpose of education' > question is in serious need of revision. It used to be that preparing > people for productive lives was enough. These days a productive life > may not be what is wanted. Perhaps a meaningful one would be a better > goal to strive for. > > Laura From lac at strakt.com Fri Oct 7 21:13:34 2005 From: lac at strakt.com (Laura Creighton) Date: Fri, 07 Oct 2005 21:13:34 +0200 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: Message from "Kirby Urner" of "Fri, 07 Oct 2005 09:52:09 PDT." <20051007171927.54CEB1E4005@bag.python.org> References: <20051007171927.54CEB1E4005@bag.python.org> Message-ID: <200510071913.j97JDYtF028433@ratthing-b246.strakt.com> In a message of Fri, 07 Oct 2005 09:52:09 PDT, "Kirby Urner" writes: >In education, being a really small company is what's ultra cool. Because >your students think they might want to be private, independent entrepreneurs >like you someday. This might be a better model for a general education -- instead of training people to be factory workers, we might try training them to be small business owners and entrepreneurs. It would certainly be an interesting way to build a curriculum. Laura From urnerk at qwest.net Fri Oct 7 21:51:01 2005 From: urnerk at qwest.net (Kirby Urner) Date: Fri, 7 Oct 2005 12:51:01 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <200510071913.j97JDYtF028433@ratthing-b246.strakt.com> Message-ID: <20051007195108.9C52B1E4005@bag.python.org> > In a message of Fri, 07 Oct 2005 09:52:09 PDT, "Kirby Urner" writes: > > >In education, being a really small company is what's ultra cool. Because > >your students think they might want to be private, independent > entrepreneurs > >like you someday. > > This might be a better model for a general education -- instead of > training people to be factory workers, we might try training them > to be small business owners and entrepreneurs. It would certainly > be an interesting way to build a curriculum. > > Laura Yes. Here in Portland we have a new charter school working through the bureaucracy, trying to set up on just this model: a high school that turns out entrepreneurs, ready for college, but also ready to go into business (maybe in part to pay for college). Koreducators.org is the org behind it. I testified at the hearing, have been invited to do so again. Kirby From urnerk at qwest.net Fri Oct 7 21:27:09 2005 From: urnerk at qwest.net (Kirby Urner) Date: Fri, 7 Oct 2005 12:27:09 -0700 Subject: [Edu-sig] is CP4E aiming to be "official" ? In-Reply-To: <20051007161001.GA30816@arno2> Message-ID: <20051007195352.DEB6B1E4005@bag.python.org> > Social engineering: Everyone who wants to change the world starts by > trying to get control of the public schools so as to influence young > minds in their direction. I have noticed even on this list many wanting > to get Python/whatever into the official curriculum; it seems so much > easier to get one small group of government officials to push your agenda > than to pursuade parents and teachers. Unfortunately, the public schools > then become the battleground of ideologies, in the same way that > government-run media becomes the first target of any would-be > revolutionary junta. Politics rules the schools, and education suffers. I'm not sure how exemplary Portland is, but in volunteering to teach Python at my daughter's school, it's parents and teachers I'm working to persuade, by earning positive reviews from their children and students. I'm not so much focused on government officials in distal or proximal bureaucracies. I'm where the tire meets the road (one of several) doing Python in the classroom. Books like yours will help. It's not a matter of making it "official" but of just making it happen (unofficially will do). > So where do I fit in here? I'm trying to be part of the solution, not part > of the problem. I don't have grandiose ideas about changing the course of > world events, but I think each one of us can change the lives of > individuals around us. I was greatly benefited by mentoring from engineers > as a teenager. I'm just trying to give back, by trying to give my own > children and others the same opportunities that I had. We on this list > are mostly self-taught, independent-minded people. We believe that people > *can* rise above mindless consumerism, that they can do something > significant. I believe that young people (and all people) are capable of > doing a lot more with their minds than what they currently do; that's why > I believe that they can learn, among other things, programming with > Python. > > David H. Well done and well put. I've got two new Python + POV-Ray renderings hot off the screen this morning: http://www.4dsolutions.net/satacad/pythonicmath/icosa_in_holder.jpg http://www.4dsolutions.net/satacad/pythonicmath/icosa_no_holder.jpg I did these under contract. How to do stuff like this is part of what I teach when I teach Python. Kirby From ajsiegel at optonline.net Fri Oct 7 21:56:40 2005 From: ajsiegel at optonline.net (Arthur) Date: Fri, 07 Oct 2005 15:56:40 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <200510071913.j97JDYtF028433@ratthing-b246.strakt.com> Message-ID: <000001c5cb79$3dd6dd20$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Laura Creighton > To: Kirby Urner > > In a message of Fri, 07 Oct 2005 09:52:09 PDT, "Kirby Urner" writes: > > >In education, being a really small company is what's ultra cool. Because > >your students think they might want to be private, independent > entrepreneurs > >like you someday. > > This might be a better model for a general education -- instead of > training people to be factory workers, we might try training them > to be small business owners and entrepreneurs. It would certainly > be an interesting way to build a curriculum. That *is* the education "we" got - or what many I know were able to make of it. Thinking about it - I am the only one in my immediate family, for 3 generations, that has ever drawn a paycheck for an extended period from a profit making organization. Either they have run their own small businesses or worked for non-profits - religious or secular. And only my grandmothers *didn't* work - for money. I eventually got out of the "affiliated" life. And devoting some energy to learning Python was indirectly connected to getting me out. The other Python connection that comes to mind: I happen to know that Guido's old boss at CNRI was out of the same free City College that was my father. I remember that because I had noticed it on his bio and used it as a schmooze point when I had written to him as part of the campaign to do what needed to get done to have JPython freed up when Guido left there. A free City College that produced more than its fair share of Laureate level scientists. Though that was certainly not my Dad's crowd - his being more the jock/mid-brow/prepare me for small business crowd. For which that college provided an enormously effective curriculum. Which is the kind of fact *within* my frame of reference that conspires to make me more the reactionary than the visionary. Why is it so important to not look more admiringly at the past, in mapping the future? Beyond - of course - the fact that suggesting such tends to make one sound like a dolt. I have reached the blissful state of non-affiliation. And can afford not to care that he sounds like a dolt. The affiliated world more respects the visionary, who knows we have had it all wrong for all time. We need new paradigms, of course. We buy into to his program - and in three month he has skipped town. Art From ajsiegel at optonline.net Sat Oct 8 00:01:46 2005 From: ajsiegel at optonline.net (Arthur) Date: Fri, 07 Oct 2005 18:01:46 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <20051007161001.GA30816@arno2> Message-ID: <000001c5cb8a$b662c9a0$1702a8c0@BasementDell> > -----Original Message----- > From: David Handy [mailto:david at handysoftware.com] > Sent: Friday, October 07, 2005 12:10 PM > To: Laura Creighton > Cc: Arthur; edu-sig at python.org > Subject: Re: [Edu-sig] Microsoft's KPL > Unfortunately, the public schools then become the > battleground of ideologies, in the same way that government-run media > becomes the first target of any would-be revolutionary junta. Politics > rules the schools, and education suffers. I understand the point, but think that stating it the way that you do implies the possibility of a better alternative. I myself am a reformed school voucher, get the government off our back kind of guy. Personal frame of reference - My youngest first cousin - the product of the identical public schools as myself - ends up in an Iowa city because of her husband's university affiliation, spends 2 years as a desperately out-of-place New Yorker and 2 years later wins the election as head of the city's School Board, with no particular agenda beyond - let's make things work the best we can within the limits of available resources and accommodating diverse sensibilities on topics of sensitivity as best we can. Its legit. And I guess that if Microsoft wants to undertake a campaign to suggest that their business agenda and the realization of my son's potential are cosmically related, I should, since I don't particularly admire the organization welcome their right to spend good money to make themselves LOOK RIDICULOUS. Art From urnerk at qwest.net Sat Oct 8 00:26:02 2005 From: urnerk at qwest.net (Kirby Urner) Date: Fri, 7 Oct 2005 15:26:02 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000001c5cb79$3dd6dd20$1702a8c0@BasementDell> Message-ID: <20051007225308.E27AD1E4006@bag.python.org> Just a footnote to signal Arthur's concerns were both timely and topical. Grunch was indeed moving to shake things up in the education sector. And in PDX news of the day: OMSI was partnering with television to make cartoon production a featured exhibit (and implicitly a kid-friendly recruiting exhibit -- the sciences want people too, and deserve good ones). Kirby Abbreviations: OMSI = Oregon Museum of Science and Industry; PDX = Portland, OR; Grunch = GRUNCH as in Gross Universal Cash Heist as in 'Grunch of Giants' a book by RBF; OR = Oregon; RBF = R. Buckminster Fuller, R = Richard. =========================== NATIONAL ALLIANCE OF STATE SCIENCE AND MATHEMATICS COALITIONS News Brief #3285 Category: Business Role in Education TITLE: "Companies Unveil Projects to Improve Math, Science Learning" Two major corporations are investing millions of dollars in programs intended to improve math and science learning. The General Electric Foundation will distribute $100 million in grants over the next five years to raise math and science scores in up to five school districts. The Jefferson County, Kentucky school district is the first to receive a $25-million grant. The district plans to use the money for a new districtwide curriculum, additional professional development, and community engagement efforts. The IBM International Foundation will pay college tuition costs for up to 100 employees who want to train as math and science teachers. In order to participate in the "Transition to Teaching" program, employees will have to have a bachelor's degree in math or science (or a higher degree in a related field), some teaching experience, and at least 10 years of employment at IBM. The U.S. Department of Labor has predicted a 51-percent increase in jobs related to science, engineering and technology between 1998 and 2008. More than a quarter-million secondary math and science teachers will be needed by the 2008-09 school year, according to the U.S. Department of Education. SOURCE: Education Week, 28 September 2005 (p. 06) WEBSITE: http://www.edweek.org/ew/articles/2005/09/28/05ibm.h25.html -------------------------------------------- The NASSMC Briefing Service (NBS) is supported in part by the International Technology Education Association and Triangle Coalition for Science and Technology Education. Briefs reflect only the opinions, findings, conclusions, or recommendations expressed in the source articles. Click http://nbs.nassmc.org to SUBSCRIBE, COMMENT, or FIND archived NBS briefs. Click http://www.nassmc.org for information about NASSMC. Permission is granted to re-distribute NBS briefs in unmodified form, including header and footer. From urnerk at qwest.net Sat Oct 8 01:01:13 2005 From: urnerk at qwest.net (Kirby Urner) Date: Fri, 7 Oct 2005 16:01:13 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000001c5cb8a$b662c9a0$1702a8c0@BasementDell> Message-ID: <20051007232757.771811E4006@bag.python.org> > And I guess that if Microsoft wants to undertake a campaign to suggest > that > their business agenda and the realization of my son's potential are > cosmically related, I should, since I don't particularly admire the > organization welcome their right to spend good money to make themselves > > LOOK RIDICULOUS. > > Art > Microsoft already has a track record. KPL is not the first move in any chess game. It's like the 45th or 46th. Look at the 'Magic School Bus' series of CD ROM titles, the encyclopedias. Yes, it's less involved with direct teaching of CS and job-related skills, but Ms. Frizzle is a recruiter nonetheless, for a way of life, an attitude towards science (embrace it, get messy). For older people, there's Microsoft University and MCSE. I'm not extolling, not trying to hype MSFT or IBM, just pointing out the obvious: given a big computer company and a huge target market of people wanting to someday be desirable as coworkers in Silicon Valley, Redmond, wherever, it's not surprising that a relationship develops. We see the same phenomenon around Google, and its sometimes clever recruiting campaigns. This design pattern is not inherently ridiculous, but can become so, especially if it's a circus recruiting for clowns. In the Middle Ages, and Renaissance, we had these guilds, offering apprenticeships, and doing obvious work in the community (blacksmiths, artisans, moneychangers and what have you). Today, kids carry laptops like musical instruments and want to learn to play them. Is school teaching this kind of music? A little, some more than others. And home internet is great. To me it's not surprising when young talents start dreaming of what they could learn if allowed to wander the halls of a computer giant -- like little Bachs yearning to hear real organ music. I realize this makes corporations sound sort of like religions in their outreaching for new lifers. And it's true. Some companies are really cultures, sometimes global in scope. They enter the public school system and form push/pull relationships with other clients of that system, setting up interesting cross-currents. That's partly why I think public school stands up well over time, perhaps best of all in urban settings. Too many of the private academies over-protect their bumpkins, in the name of some purist ideology, usually as professed by key faculty -- and so they miss a lot of what goes on in the big outside world. Life goes on without 'em. Public schools tend to be more like Grand Central, especially in a state with a big city like yours, the Empire State (not called that for nuthin'). Cosmopolis, Gotham, whatever. Kirby From ajsiegel at optonline.net Sat Oct 8 01:27:04 2005 From: ajsiegel at optonline.net (Arthur) Date: Fri, 07 Oct 2005 19:27:04 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <0IO000DP5IM5MBM0@mta17.srv.hcvlny.cv.net> Message-ID: <000001c5cb96$a0ac0c50$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > Sent: Friday, October 07, 2005 7:01 PM > To: 'Arthur'; 'David Handy'; 'Laura Creighton' > Cc: edu-sig at python.org > Subject: RE: [Edu-sig] Microsoft's KPL > > > And I guess that if Microsoft wants to undertake a campaign to suggest > > that > > their business agenda and the realization of my son's potential are > > cosmically related, I should, since I don't particularly admire the > > organization welcome their right to spend good money to make themselves > > > > LOOK RIDICULOUS. > > > > Art > > > > Microsoft already has a track record. FWIW, I am more referencing - and what more sets me off - is their recent advertising campaigns. Especially the one I see constantly with kids in it. Which are substanceless and insulting (I get insulted easily) mind games - kids doing stuff, musical notes floating in mid-air and some voice over about Microsoft's mission to realize our potential. If you have something to say, say it. What's on sale this week at ShopRite. *That's* advertising Stop playing with minds. DAMN IT! Art From urnerk at qwest.net Sat Oct 8 01:58:24 2005 From: urnerk at qwest.net (Kirby Urner) Date: Fri, 7 Oct 2005 16:58:24 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000001c5cb96$a0ac0c50$1702a8c0@BasementDell> Message-ID: <20051007235856.4FDF21E4006@bag.python.org> OK, Art, I'll be on the look out. I'm not necessarily up to date on MSFT ad campaigns. Yet it's very clear to me, what with earth.google.com, what Google is up to: bringing global data close to home (a mission close to my heart). Marketing may get very distant from the founding parent vision, that's for sure. Look what happened to Epcot. Spaceship Earth they still call it. Like that'd explain the giant arm with the wand? http://controlroom.blogspot.com/2005/09/return-to-moon.html Kirby > Stop playing with minds. > > DAMN IT! > > Art > > > From ajsiegel at optonline.net Sat Oct 8 01:56:09 2005 From: ajsiegel at optonline.net (Arthur) Date: Fri, 07 Oct 2005 19:56:09 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <0IO0007XAH04P5P1@mta23.srv.hcvlny.cv.net> Message-ID: <000001c5cb9a$b1196200$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > Sent: Friday, October 07, 2005 6:26 PM > To: 'Arthur'; 'Laura Creighton' > > NATIONAL ALLIANCE OF STATE SCIENCE AND MATHEMATICS COALITIONS > News Brief #3285 Category: Business Role in Education > TITLE: "Companies Unveil Projects to Improve Math, Science Learning" > > Two major corporations are investing millions of dollars in programs > intended to improve math and science learning. > > The General Electric Foundation will distribute $100 million in grants > over > the next five years to raise math and science scores in up to five school > districts. Maybe the GE Foundation is a legitimate foundation doing legitimate foundation work. Great the ways those things happen. Henry Ford was a dangerous anti-Semite. He assured his right to free speech by buying a newspaper just for that purpose. God bless him. The Ford Foundation does consistently interesting things. But is the GE Foundation contributing to gender unfairness by directing its largess toward math and science curriculum ;) Perhaps the fact that we will apparently have what I think is our 1st mathematician on the Supreme Court (undergraduate degree of Miers) who is also our second women on the Supreme Court will play some small part in muting that nonsense. Back to David's point. There is no denying that there is politics alive in the public schools hurting education. As a damn good "for example" would be the notion that math and science, according to some vocal segment, needing to be de-emphasized in the interest of gender fairness. I have heard that in PythonLand as well. Arghhh. Certainly I would not be in a position to be the kind of administrator willing to work with and within *everybody's* sensitivities. Again, personal frame of reference: I have a sister who can out think me as a mathematician while whistling Dixie. Art > > The Jefferson County, Kentucky school district is the first to receive a > $25-million grant. The district plans to use the money for a new > districtwide curriculum, additional professional development, and > community > engagement efforts. > > The IBM International Foundation will pay college tuition costs for up to > 100 employees who want to train as math and science teachers. In order to > participate in the "Transition to Teaching" program, employees will have > to > have a bachelor's degree in math or science (or a higher degree in a > related > field), some teaching experience, and at least 10 years of employment at > IBM. > > The U.S. Department of Labor has predicted a 51-percent increase in jobs > related to science, engineering and technology between 1998 and 2008. More > than a quarter-million secondary math and science teachers will be needed > by > the 2008-09 school year, according to the U.S. Department of Education. > > SOURCE: Education Week, 28 September 2005 (p. 06) > WEBSITE: http://www.edweek.org/ew/articles/2005/09/28/05ibm.h25.html > > -------------------------------------------- > The NASSMC Briefing Service (NBS) is supported in part by the > International > Technology Education Association and Triangle Coalition for Science and > Technology Education. Briefs reflect only the opinions, findings, > conclusions, or recommendations expressed in the source articles. Click > http://nbs.nassmc.org to SUBSCRIBE, COMMENT, or FIND archived NBS briefs. > Click http://www.nassmc.org for information about NASSMC. Permission is > granted to re-distribute NBS briefs in unmodified form, including header > and > footer. From urnerk at qwest.net Sat Oct 8 19:21:13 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sat, 8 Oct 2005 10:21:13 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <631812239.20051008111137@freshsources.com> Message-ID: <20051008172114.43D3A1E4006@bag.python.org> Thanks Chuck, good info and insights. I think a lot of CS degree paths featured watered down material. In a way that's good for philo majors like me -- easier to compete with the grads of those programs when doing job interviews around getting work with computer giants. Kirby From chuck at freshsources.com Sat Oct 8 19:11:37 2005 From: chuck at freshsources.com (Chuck Allison) Date: Sat, 8 Oct 2005 11:11:37 -0600 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <20051007232757.771811E4006@bag.python.org> References: <000001c5cb8a$b662c9a0$1702a8c0@BasementDell> <20051007232757.771811E4006@bag.python.org> Message-ID: <631812239.20051008111137@freshsources.com> Hello Kirby et al, Here in Utah we have the newly formed Neumont University, which is largely supported by MSFT and IBM. In 2.5 years students get a "bachelors" in CS. I put it in quotes because, having visited them and heard their spiel and studied their offerings, I believe they are skimping on the liberal arts side (and even the theoretical CS side) of the baccalaureate and churning out recruits for said companies above (the ever-tempting "short cut"). While their graduates will indeed be effective in some technical workplaces, I think the slanted education will take its toll. As a college professor, I am concerned for people who go that fit-a-mold route. About Arthur's "affiliated" comments, having been both affiliated and non, I've found that I personally can make a greater contribution as an affiliated worker (I sensed some cynical disapproval thereof from Arthur). That doesn't stop me from publishing, lecturing, and doing many other things on the side, while leveraging the benefits and resources of the affiliation. One can be a "team player" and an independent thinker simultaneously. I believe I will soon be successful in making Python our introductory CS language (for CS0, though, not CS1). I still use it in upper division courses whenever possible. (It's a delight in an advanced Programming languages course - a natural to illustrate closures, delegation, etc., and as a bridge to functional programming.) -- Best regards, Chuck From chuck at freshsources.com Sat Oct 8 19:26:04 2005 From: chuck at freshsources.com (Chuck Allison) Date: Sat, 8 Oct 2005 11:26:04 -0600 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000001c5cb9a$b1196200$1702a8c0@BasementDell> References: <0IO0007XAH04P5P1@mta23.srv.hcvlny.cv.net> <000001c5cb9a$b1196200$1702a8c0@BasementDell> Message-ID: <1473841844.20051008112604@freshsources.com> Hello Arthur, Friday, October 7, 2005, 5:56:09 PM, you wrote: A> Back to David's point. There is no denying that there is politics alive in A> the public schools hurting education. As a damn good "for example" would be A> the notion that math and science, according to some vocal segment, needing A> to be de-emphasized in the interest of gender fairness. I have heard that A> in PythonLand as well. Arghhh. Certainly I would not be in a position to be A> the kind of administrator willing to work with and within *everybody's* A> sensitivities. Definitely nonsense. But the current emphasis in the mathematical and CS societies is to enable that gender towards math and science. I get articles almost weekly on that subject, and our college would love to decrease the imbalance. But that is a Big Mystery (why most females shy away from math and hard science nowadays). Certainly the last thing we should do is lower the bar in the secondary schools to hide the imbalance. That's what happened when they wanted students to not feel so bad about how they do all the way through school - they made it easier for them to graduate without knowing how to read or count (stretching the case a little here for emphasis). That is the biggest thing I notice of incoming freshmen: they think we're going to give them busy work instead of challenging them to think. They're shocked we could be so insensitive. When a student in my discrete math course come up after class one day asking, "What can I do to get a better grade in this class," I simply said, "Do better." He was crestfallen. It didn't take long for students to stop asking me if there as going to be any extra credit. (There idea of "extra credit" is to do busy work and get an A - mine is I stretch you above and beyond the call of duty, but those students who survive that are getting A's already). A> Again, personal frame of reference: A> I have a sister who can out think me as a mathematician while whistling A> Dixie. A data point of one is not very efficacious. For every one of your sister there seem to be many more on the other end. Wish I knew why and what to do about it, but then I remind myself that there is thing called free will that allows people to follow their own bliss. Mathematicians are not a superior race (although I almost thought so when I was a math undergraduate :-). -- Best regards, Chuck From ajsiegel at optonline.net Sat Oct 8 21:25:44 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 08 Oct 2005 15:25:44 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <631812239.20051008111137@freshsources.com> Message-ID: <000001c5cc3e$14f275c0$1702a8c0@BasementDell> > -----Original Message----- > From: Chuck Allison [mailto:chuck at freshsources.com] > Sent: Saturday, October 08, 2005 1:12 PM > To: Kirby Urner > Cc: 'Arthur'; 'David Handy'; 'Laura Creighton'; edu-sig at python.org > Subject: Re[2]: [Edu-sig] Microsoft's KPL > > > About Arthur's "affiliated" comments, having been both affiliated and > non, I've found that I personally can make a greater contribution as > an affiliated worker (I sensed some cynical disapproval thereof from > Arthur). I recently read Paul Graham's "Hackers and Painters" - which was not the book I was expecting it to be. It was more a book about business, and organization to do business - and less a book about programming. He talks unabashedly from his own frame of reference (good approach ;))- which happens to be the frame of reference of a talented programmer looking to use his talent to put himself beyond the clutches of financial insecurity. He had much to say relevant to a few strains of this discussion (small business vs. large, affiliation vs., non-affiliation, etc.). But as much as I enjoy (and employ) the "personal frame of reference approach", the book is also a frustrating read on that account. Kind of like it's a 3 step approach: 1) Become a world class programmer.. Thanks. Not too surprising I lost some focus when it came to the discussion of points 2 and 3. ;) Art From chuck at freshsources.com Sat Oct 8 22:01:21 2005 From: chuck at freshsources.com (Chuck Allison) Date: Sat, 8 Oct 2005 14:01:21 -0600 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000001c5cc3e$14f275c0$1702a8c0@BasementDell> References: <631812239.20051008111137@freshsources.com> <000001c5cc3e$14f275c0$1702a8c0@BasementDell> Message-ID: <1410252473.20051008140121@freshsources.com> Hello Arthur, Saturday, October 8, 2005, 1:25:44 PM, you wrote: A> I recently read Paul Graham's "Hackers and Painters" - which was not the A> book I was expecting it to be. It was more a book about business, and A> organization to do business - and less a book about programming. He talks A> unabashedly from his own frame of reference (good approach ;))- which A> happens to be the frame of reference of a talented programmer looking to use A> his talent to put himself beyond the clutches of financial insecurity. Which I think those of us on this list are (although money is not my main focus - programming and teaching are). A> He had much to say relevant to a few strains of this discussion (small A> business vs. large, affiliation vs., non-affiliation, etc.). A> But as much as I enjoy (and employ) the "personal frame of reference A> approach", the book is also a frustrating read on that account. A> Kind of like it's a 3 step approach: A> 1) Become a world class programmer.. A> Thanks. A> Not too surprising I lost some focus when it came to the discussion of A> points 2 and 3. Ironically, my local reading group is reading that book *right now*. I loved Chapter 1, as it does expose a thing or two about our secondary educational environments. -- Best regards, Chuck From ajsiegel at optonline.net Sat Oct 8 22:31:53 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 08 Oct 2005 16:31:53 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <1410252473.20051008140121@freshsources.com> Message-ID: <000001c5cc47$54254480$1702a8c0@BasementDell> > -----Original Message----- > From: Chuck Allison [mailto:chuck at freshsources.com] > To: Arthur > Cc: 'Kirby Urner'; 'David Handy'; 'Laura Creighton'; edu-sig at python.org > Subject: Re[4]: [Edu-sig] Microsoft's KPL > > Hello Arthur, > > Saturday, October 8, 2005, 1:25:44 PM, you wrote: > > A> I recently read Paul Graham's "Hackers and Painters" - which was not > the > A> book I was expecting it to be. It was more a book about business, and > A> organization to do business - and less a book about programming. He > talks > A> unabashedly from his own frame of reference (good approach ;))- which > A> happens to be the frame of reference of a talented programmer looking > to use > A> his talent to put himself beyond the clutches of financial insecurity. > > Which I think those of us on this list are. Not all of us ;) I know more about programming that about anyone I know in a day-to-day sort of way. I get paid to do development (having a decent grasp of database and an excellent grasp of certain problem domains). I was recently pleased, and a little surprised, when an IBM consultant working on a project at a client where I am doing other development work came to pick my brain on something and I was able to help him out. But, no, I don't consider myself to be a talented programmer. I in fact the consider myself the voice of the less than talented programmer. But don't think that is an inappropriate voice for this particular list. Though maybe the tone of voice of that particular voice could stand adjustment, at times. Art > > A> He had much to say relevant to a few strains of this discussion (small > A> business vs. large, affiliation vs., non-affiliation, etc.). > > A> But as much as I enjoy (and employ) the "personal frame of reference > A> approach", the book is also a frustrating read on that account. > > A> Kind of like it's a 3 step approach: > > A> 1) Become a world class programmer.. > > A> Thanks. > > A> Not too surprising I lost some focus when it came to the discussion of > A> points 2 and 3. > > Ironically, my local reading group is reading that book *right now*. I > loved Chapter 1, as it does expose a thing or two about our secondary > educational environments. > > -- > Best regards, > Chuck From lac at strakt.com Sat Oct 8 23:47:48 2005 From: lac at strakt.com (Laura Creighton) Date: Sat, 08 Oct 2005 23:47:48 +0200 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: Message from Chuck Allison of "Sat, 08 Oct 2005 11:11:37 MDT." <631812239.20051008111137@freshsources.com> References: <000001c5cb8a$b662c9a0$1702a8c0@BasementDell> <20051007232757.771811E4006@bag.python.org> <631812239.20051008111137@freshsources.com> Message-ID: <200510082147.j98LlmrI001655@ratthing-b246.strakt.com> Do you know about PyPy? http://codespeak.net/pypy/dist/pypy/doc/news.html It sounds to me as if you have the sort of upper level students that would appreciate a compiler they can hack. We like students. JIT goes in this week. unashamed product announcement, Laura In a message of Sat, 08 Oct 2005 11:11:37 MDT, Chuck Allison writes: >Hello Kirby et al, > >Here in Utah we have the newly formed Neumont University, which is >largely supported by MSFT and IBM. In 2.5 years students get a >"bachelors" in CS. I put it in quotes because, having visited them and >heard their spiel and studied their offerings, I believe they are >skimping on the liberal arts side (and even the theoretical CS side) >of the baccalaureate and churning out recruits for said companies >above (the ever-tempting "short cut"). While their graduates will >indeed be effective in some technical workplaces, I think the slanted >education will take its toll. As a college professor, I am concerned >for people who go that fit-a-mold route. > >About Arthur's "affiliated" comments, having been both affiliated and >non, I've found that I personally can make a greater contribution as >an affiliated worker (I sensed some cynical disapproval thereof from >Arthur). That doesn't stop me from publishing, lecturing, and doing >many other things on the side, while leveraging the benefits and >resources of the affiliation. One can be a "team player" and an >independent thinker simultaneously. > >I believe I will soon be successful in making Python our introductory >CS language (for CS0, though, not CS1). I still use it in upper >division courses whenever possible. (It's a delight in an advanced >Programming languages course - a natural to illustrate closures, >delegation, etc., and as a bridge to functional programming.) > >-- >Best regards, > Chuck From lac at strakt.com Sun Oct 9 01:01:16 2005 From: lac at strakt.com (Laura Creighton) Date: Sun, 09 Oct 2005 01:01:16 +0200 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: Message from Chuck Allison of "Sat, 08 Oct 2005 11:26:04 MDT." <1473841844.20051008112604@freshsources.com> References: <0IO0007XAH04P5P1@mta23.srv.hcvlny.cv.net> <000001c5cb9a$b1196200$1702a8c0@BasementDell> <1473841844.20051008112604@freshsources.com> Message-ID: <200510082301.j98N1Gc2002621@ratthing-b246.strakt.com> Why females shy away from math and science is no big mystery. It is deemed 'not useful' by them. See many posts by Anna Ravenscoft on the subject here in edu.sig archives. These days she is 'Anna Ravenscroft Martelli' having married Alex Martelli. (Hi Anna. cc'd to you so as to not talk behind your back, and in case you want to comment.) I'm a mutant. I think that mathematical beauty is _the most important cool thing_. All things I love share in it, including wine-making and gourmet food preparing. The same burning fire I get in me when I get a perfect bite of the best food perfectly matched with best suited wine -- I get when I get a new mathematical insight. And they feed each other. I write new mathematical ideas down on restuarant papers because I get them because the food has stimulated me in interesting ways. Mentioning sex sounds crude, but my poor lover has had to put up with countless versions of the 'Eureka' principle -- I need to leap out of bed, not bath, naked screaming that 'I have found it' -- and to write it down before it is gone again. But most women are not like this. They want concrete usefulness. Here at Chalmers in Sweden the women students outnumber the men in all the Chemistry departments. Chemistry is presented as concretely useful. When I offered a night-course of three weeks at the Chalmers computer society (all chalmers students are automatically members) on compiler design, pypy, and how to hack ... only got 4 takers, and all male. A different 4 week course -- 'how to build a bot to take care of seeing if your favourite websites are announcing the things you want to know about -- NO PREVIOUS PROGRAMMING SKILLS NECESSARY' got me 57 takers, 35 of which were women. Women are not programming because they do not see it as Art, Joy, and a worthwhile selfish pleasure. But also because they do not see it as useful. I have no idea why this is a mystery to the educators. They must not speak to many women. In Sweden we have laws preventing the sort of advertising that I think MSFT is doing in the USA -- targetting children is illegal. But given that you are stuck with it, I would be very interested in seeing if it has an effect in student sex ratios. Laura From lac at strakt.com Sun Oct 9 01:54:50 2005 From: lac at strakt.com (Laura Creighton) Date: Sun, 9 Oct 2005 01:54:50 +0200 Subject: [Edu-sig] just got this as part of an email answer to a debian-kde problem Message-ID: <200510082354.j98Nsomu003564@ratthing-b246.strakt.com> that I had. ----------- Wulfmann Wulf Credo: Respect the elders. Teach the young. Co-operate with the pack. Play when you can. Hunt when you must. Rest in between. Share your affections. Voice your opinion. Leave your Mark. --------- I think it misses 'appreciate beauty, defend the weak and opressed' and I think that 'respect everybody' is a better rule. I think that the idea that 'respect must be earned' is poison. On the other hand, forfeiting respect is something that happens all the time. 'Consider your respect' seems a little less old-fashioned than 'be prudent' or 'be respectable' but is this enough? Otherwise, this is a fairly nice set of rules that would be nice to teach our youth. If as teachers, we got to teach them, what else would you suggest. Laura Creighton From ajsiegel at optonline.net Sun Oct 9 02:18:24 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 08 Oct 2005 20:18:24 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <200510082301.j98N1Gc2002621@ratthing-b246.strakt.com> Message-ID: <000001c5cc66$f6e59a20$1702a8c0@BasementDell> > -----Original Message----- > From: Laura Creighton [mailto:lac at strakt.com] > Sent: Saturday, October 08, 2005 7:01 PM > To: Chuck Allison > Cc: Arthur; 'Kirby Urner'; 'Laura Creighton'; edu-sig at python.org; > rev_anna_r at yahoo.com > Subject: Re: Re[2]: [Edu-sig] Microsoft's KPL > In Sweden we have laws preventing the sort of advertising that > I think MSFT is doing in the USA -- targetting children is > illegal. But given that you are stuck with it, I would be > very interested in seeing if it has an effect in student sex > ratios. I promise you that Microsoft is not promoting to children or their parents an idea that creating technology would be of any interest to them. That of course is why we have Microsoft, in fact. And why we should duly appreciate that fact. The *boys* at Microsoft have our best interests in mind. They are the providers. We only need to show our appreciation by consuming appropriately. All will be well. Art From john.zelle at wartburg.edu Sun Oct 9 02:31:46 2005 From: john.zelle at wartburg.edu (John Zelle) Date: Sat, 08 Oct 2005 19:31:46 -0500 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <200510082301.j98N1Gc2002621@ratthing-b246.strakt.com> References: <0IO0007XAH04P5P1@mta23.srv.hcvlny.cv.net> <000001c5cb9a$b1196200$1702a8c0@BasementDell> <1473841844.20051008112604@freshsources.com> <200510082301.j98N1Gc2002621@ratthing-b246.strakt.com> Message-ID: <434864F2.9050406@wartburg.edu> As usual, I don't have time to comment on all the intriguing things that have come out of this thread. But gender balance is something that I've spent a lot of time thinking about and working on as regards our own program. So I felt compelled to say something. Laura Creighton wrote: > Why females shy away from math and science is no big mystery. It is > deemed 'not useful' by them. See many posts by Anna Ravenscoft on the > subject here in edu.sig archives. These days she is 'Anna Ravenscroft > Martelli' having married Alex Martelli. (Hi Anna. cc'd to you so as > to not talk behind your back, and in case you want to comment.) > I hear researchers say this at conferences, and I read it in the literature about gender balance in computer science, but I still don't understand it. Can you explain why when selecting majors women consider CS as "not useful" and therefore to be avoided when they seem to have no such qualms about, say, history or English literature? Here in the states, women are also severely underrepresented in natural sciences and engineering, also areas of obvious utility. Speaking specifically to CS, both boys and girls are heavy users of computers now (although girls tend to start a bit later). So why don't girls perceive computing as a useful field of study? I don't think it's because it involves mathematics, because frankly, most entering CS majors (male or female) have no idea that CS involves much mathematics. I can understand this "usefulness" argument to some extent for mathematics majors, but at our institution (liberal arts school in rural, midwest US), we have little trouble attracting female math majors. On the other hand, it is extremely rare to find a female interested in CS, period. Virtually all of our female majors are recruited when they take our CS1 class as either a Gen Ed. class or a requirement for another major. To my mind, the "useful" argument is a nonstarter. There must be something else going on. Any ideas on what that is? > But most women are not like this. They want concrete usefulness. > Here at Chalmers in Sweden the women students outnumber the men in all > the Chemistry departments. Chemistry is presented as concretely > useful. As I mentioned above, this is not the case in the US. Chemistry is still one of the fields where women are underrepresented. >When I offered a night-course of three weeks at the Chalmers > computer society (all chalmers students are automatically members) on > compiler design, pypy, and how to hack ... only got 4 takers, and all > male. A different 4 week course -- 'how to build a bot to take care > of seeing if your favourite websites are announcing the things you > want to know about -- NO PREVIOUS PROGRAMMING SKILLS NECESSARY' got me > 57 takers, 35 of which were women. > This is interesting. But is the real difference here practicality, or is it something else like the web (i.e. communication) or the NO PREVIOUS SKILLS NECESSARY? > Women are not programming because they do not see it as Art, Joy, > and a worthwhile selfish pleasure. But also because they do not > see it as useful. I have no idea why this is a mystery to the > educators. They must not speak to many women. > I speak to women all the time, and when I ask them why they're not in CS, they tell me it's because they don't like computers. I've never ever had one tell me they didn't find computers or computer progams useful. As to why they don't see the Art and Joy, it's probably because they've never been exposed to it. It seems as if boys like using computers, and many of them, for whatever reason, are motivated to take a peek underneath and end up hooked on programming. Girls are using computers just as much, but don't seem to go that next step and try to see what makes them tick. Why? I don't know. Someone please tell me so that I can get my daughter interested in programming some day. (Not too soon though; I don't think there's a need for any kid to spend much time with a computer before at least Jr. High. But that's another thread entirely...) > In Sweden we have laws preventing the sort of advertising that > I think MSFT is doing in the USA -- targetting children is > illegal. Then how do your kids know what their parents need to buy for them ;-) >But given that you are stuck with it, I would be > very interested in seeing if it has an effect in student sex > ratios. > Perhaps that's one good thing that could come out of KPL-type efforts--- getting some girls to see the Art and Joy. Though I'm not holding my breath. --John -- John M. Zelle, Ph.D. Wartburg College Professor of Computer Science Waverly, IA john.zelle at wartburg.edu (319) 352-8360 From ajsiegel at optonline.net Sun Oct 9 02:27:41 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 08 Oct 2005 20:27:41 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <200510082301.j98N1Gc2002621@ratthing-b246.strakt.com> Message-ID: <000101c5cc68$432720b0$1702a8c0@BasementDell> > -----Original Message----- > From: Laura Creighton [mailto:lac at strakt.com] > Sent: Saturday, October 08, 2005 7:01 PM > To: Chuck Allison > Cc: Arthur; 'Kirby Urner'; 'Laura Creighton'; edu-sig at python.org; > rev_anna_r at yahoo.com > Subject: Re: Re[2]: [Edu-sig] Microsoft's KPL > > > Why females shy away from math and science is no big mystery. It is > deemed 'not useful' by them. Not getting it. Beauty is beauty, and is never useful. Why is there a rejection in the women's culture of this particular form of useless beauty? But there are 2 important things to reject, I believe: That women are somehow less capable in this area. That something has been or is being done to them - by someone or something that isn't them - to exclude them. Then a conversation can be had, at least. I think we got the gender neutral word problems in all the textbooks. Unless there's one non-neutral one in a textbook used in some Alabama counties that is still causing all the problems. Art From lac at strakt.com Sun Oct 9 02:44:19 2005 From: lac at strakt.com (Laura Creighton) Date: Sun, 09 Oct 2005 02:44:19 +0200 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: Message from Arthur of "Sat, 08 Oct 2005 20:27:41 EDT." <000101c5cc68$432720b0$1702a8c0@BasementDell> References: <000101c5cc68$432720b0$1702a8c0@BasementDell> Message-ID: <200510090044.j990iJoI004466@ratthing-b246.strakt.com> In a message of Sat, 08 Oct 2005 20:27:41 EDT, Arthur writes: > > >> -----Original Message----- >> From: Laura Creighton [mailto:lac at strakt.com] >> Sent: Saturday, October 08, 2005 7:01 PM >> To: Chuck Allison >> Cc: Arthur; 'Kirby Urner'; 'Laura Creighton'; edu-sig at python.org; >> rev_anna_r at yahoo.com >> Subject: Re: Re[2]: [Edu-sig] Microsoft's KPL >> >> >> Why females shy away from math and science is no big mystery. It is >> deemed 'not useful' by them. > >Not getting it. Beauty is beauty, and is never useful. Why is there a >rejection in the women's culture of this particular form of useless beauty? There is particular rejection of _all_ useless beauty. Other beauty is marketted as 'saving time', or 'will catch you a proper man' or 'will save you from embarassment'. Caring about beauty, on its own, is considered _irresponsible_ for women. You have to hide it. I'm a mutant because I basically do not give a damn if Algebraic Topology is useful, and whehter my life is wasted. I am damn selfish enough to do it because I love the feelings I get in myself for doing so. This is very unfeminine. My most recent idea: boys are taught to earn the respect of their peers. girls are taught to be respectable by their peers. Thus respect -- for men -- is a small starting sum that can only increase. For women, there is no way to increase it, but only to decrease it through error -- unless you cross the sex barrier and start doing things that earn you respect. Therefore, at some point, it is inevitable that people who have not striven to increase their respect have 'problems with self esteem'. They aren't producers, but consumers of respect. The nice thing is that we could change this. This thinking is only 3 hours old, thus could stand a lot of modification. Thank you wulfmann again. Laura > >But there are 2 important things to reject, I believe: > >That women are somehow less capable in this area. > >That something has been or is being done to them - by someone or somethi >ng >that isn't them - to exclude them. > >Then a conversation can be had, at least. > >I think we got the gender neutral word problems in all the textbooks. >Unless there's one non-neutral one in a textbook used in some Alabama >counties that is still causing all the problems. > >Art > > > From ajsiegel at optonline.net Sun Oct 9 02:54:14 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 08 Oct 2005 20:54:14 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <434864F2.9050406@wartburg.edu> Message-ID: <000001c5cc6b$f8505b70$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of John Zelle > I speak to women all the time, and when I ask them why they're not in > CS, they tell me it's because they don't like computers. I've never ever > had one tell me they didn't find computers or computer progams useful. Seems to me that the analogies with "car culture" are too close to ignore. Women drive cars to pretty much the same extent as men but few care much about the operating system. How many megahertz do you got under the hood of that baby? What's your baud? It was a great day for me when I went from 1400 to 2800. Not a joy I could share with my wife. The question is are these phenomenon related by having the same parent class, or is computer culture - for whatever reason - something that subclassed directly from car culture. Art From chuck at freshsources.com Sun Oct 9 03:00:34 2005 From: chuck at freshsources.com (Chuck Allison) Date: Sat, 8 Oct 2005 19:00:34 -0600 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <200510082301.j98N1Gc2002621@ratthing-b246.strakt.com> References: <0IO0007XAH04P5P1@mta23.srv.hcvlny.cv.net> <000001c5cb9a$b1196200$1702a8c0@BasementDell> <1473841844.20051008112604@freshsources.com> <200510082301.j98N1Gc2002621@ratthing-b246.strakt.com> Message-ID: <10266510.20051008190034@freshsources.com> Hello Laura, Saturday, October 8, 2005, 5:01:16 PM, you wrote: LC> Why females shy away from math and science is no big mystery. It is LC> deemed 'not useful' by them. See many posts by Anna Ravenscoft on the LC> subject here in edu.sig archives. These days she is 'Anna Ravenscroft LC> Martelli' having married Alex Martelli. (Hi Anna. cc'd to you so as LC> to not talk behind your back, and in case you want to comment.) I met Anna and Alex at PyCon this year. LC> I'm a mutant. I think that mathematical beauty is _the most important LC> cool thing_. All things I love share in it, including wine-making and LC> gourmet food preparing. The same burning fire I get in me when I get LC> a perfect bite of the best food perfectly matched with best suited LC> wine -- I get when I get a new mathematical insight. And they feed LC> each other. I write new mathematical ideas down on restuarant papers LC> because I get them because the food has stimulated me in interesting LC> ways. Mentioning sex sounds crude, but my poor lover has had to put LC> up with countless versions of the 'Eureka' principle -- I need to leap LC> out of bed, not bath, naked screaming that 'I have found it' -- and to LC> write it down before it is gone again. Ahem. Well, you are unique :-)! LC> But most women are not like this. They want concrete usefulness. LC> Here at Chalmers in Sweden the women students outnumber the men in all LC> the Chemistry departments. Chemistry is presented as concretely LC> useful. When I offered a night-course of three weeks at the Chalmers LC> computer society (all chalmers students are automatically members) on LC> compiler design, pypy, and how to hack ... only got 4 takers, and all LC> male. A different 4 week course -- 'how to build a bot to take care LC> of seeing if your favourite websites are announcing the things you LC> want to know about -- NO PREVIOUS PROGRAMMING SKILLS NECESSARY' got me LC> 57 takers, 35 of which were women. LC> Women are not programming because they do not see it as Art, Joy, LC> and a worthwhile selfish pleasure. But also because they do not LC> see it as useful. I have no idea why this is a mystery to the LC> educators. They must not speak to many women. I find this very illuminating. To be frank, I've suspected some of this but we dare not say things like this in public because of the inflamed rhetoric of feminists. We are skewered if we suggest that there is a difference between men and women. Keep the insights coming! -- Best regards, Chuck From chuck at freshsources.com Sun Oct 9 03:06:17 2005 From: chuck at freshsources.com (Chuck Allison) Date: Sat, 8 Oct 2005 19:06:17 -0600 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000101c5cc68$432720b0$1702a8c0@BasementDell> References: <200510082301.j98N1Gc2002621@ratthing-b246.strakt.com> <000101c5cc68$432720b0$1702a8c0@BasementDell> Message-ID: <1405344301.20051008190617@freshsources.com> Hello Arthur, Saturday, October 8, 2005, 6:27:41 PM, you wrote: A> Not getting it. Beauty is beauty, and is never useful. Why is there a A> rejection in the women's culture of this particular form of useless beauty? A> But there are 2 important things to reject, I believe: A> That women are somehow less capable in this area. I've thought they just weren't interested. A> That something has been or is being done to them - by someone or something A> that isn't them - to exclude them. This claim has been made, but, like you, I don't buy it. But I have read plenty of research through math society publications that suggests that perhaps there is a genetic difference mathematically. The jury is still out, of course, but the numbers point that way. That's what the Harvard president in trouble, but the numbers are in his favor. It would be nice to figure all this out someday. I have only one female out of three classes I'm teaching this semester. Pretty status quo. -- Best regards, Chuck From ajsiegel at optonline.net Sun Oct 9 03:25:43 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 08 Oct 2005 21:25:43 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <1405344301.20051008190617@freshsources.com> Message-ID: <000001c5cc70$5ede7d50$1702a8c0@BasementDell> > -----Original Message----- > From: Chuck Allison [mailto:chuck at freshsources.com] > Sent: Saturday, October 08, 2005 9:06 PM > To: Arthur > Cc: 'Laura Creighton'; 'Kirby Urner'; edu-sig at python.org; > rev_anna_r at yahoo.com > Subject: Re[4]: [Edu-sig] Microsoft's KPL Chuck writes - > That's what the Harvard president in trouble, but the > numbers are in his favor. It would be nice to figure all this out > someday. I didn't follow it very closely, but I think the Harvard president deserves to be in a little trouble. Because even if he is right, he is wrong. The broad statistics don't really matter, I don't think. It certainly wouldn't justify making a math class a locker room. So it soen't get us anywhere. The statistics I am pretty sure of is that I have better math aptitude than 2 of my 3 sisters. What does that tell us? And of the two sisters who I consider myself to have better math aptitude - one outscored me the last time we went bowling. That was 35 years ago. And it's no accident it's the last time we went bowling ;). Art From radenski at chapman.edu Sun Oct 9 03:25:57 2005 From: radenski at chapman.edu (Radenski, Atanas) Date: Sat, 8 Oct 2005 18:25:57 -0700 Subject: [Edu-sig] Microsoft's KPL Message-ID: > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Arthur > Beauty is beauty, and is never useful. 'Beautiful' is what gives us pleasure. (Things that give us pleasure can be useful at times, perhaps.) I am curious why computers do not seem to give enough pleasure to most women. I do not know. Atanas From lac at strakt.com Sun Oct 9 03:31:07 2005 From: lac at strakt.com (Laura Creighton) Date: Sun, 09 Oct 2005 03:31:07 +0200 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: Message from John Zelle of "Sat, 08 Oct 2005 19:31:46 CDT." <434864F2.9050406@wartburg.edu> References: <0IO0007XAH04P5P1@mta23.srv.hcvlny.cv.net> <000001c5cb9a$b1196200$1702a8c0@BasementDell> <1473841844.20051008112604@freshsources.com> <200510082301.j98N1Gc2002621@ratthing-b246.strakt.com> <434864F2.9050406@wartburg.edu> Message-ID: <200510090131.j991V79Y005229@ratthing-b246.strakt.com> In a message of Sat, 08 Oct 2005 19:31:46 CDT, John Zelle writes: >As usual, I don't have time to comment on all the intriguing things that >have come out of this thread. But gender balance is something that I've >spent a lot of time thinking about and working on as regards our own >program. So I felt compelled to say something. > >Laura Creighton wrote: >> Why females shy away from math and science is no big mystery. It is >> deemed 'not useful' by them. See many posts by Anna Ravenscoft on the >> subject here in edu.sig archives. These days she is 'Anna Ravenscroft >> Martelli' having married Alex Martelli. (Hi Anna. cc'd to you so as >> to not talk behind your back, and in case you want to comment.) >> > >I hear researchers say this at conferences, and I read it in the >literature about gender balance in computer science, but I still don't >understand it. Can you explain why when selecting majors women consider >CS as "not useful" and therefore to be avoided when they seem to have no >such qualms about, say, history or English literature? Here in the >states, women are also severely underrepresented in natural sciences and >engineering, also areas of obvious utility. When we interviewed the chemistry students here at Chalmers, as to why they were 'bucking the trend' -- last years, decades, worth of female students who lead the way seemed to be the answer. I think that your question indicates your problem. It is not that women start with a list of 'everything is worthwhile' and cross things out. Rather, they start with a list of a few things that are worthwhile. Those not on the list are assumed to be worthless. The problem is to get programming (you will never get computer science as I know it on the list, since it is only done for the sheer joy of it, and is mostly unuseful) on the list of _useful applied sciences where women do well_. For some strange and largely not undserstood reason that happened here in Sweden about Chemistry. Lots of us are trying to understand this. >>Speaking specifically to CS, both boys and girls are heavy users of >computers now (although girls tend to start a bit later). So why don't >girls perceive computing as a useful field of study? I don't think it's >because it involves mathematics, because frankly, most entering CS >majors (male or female) have no idea that CS involves much mathematics. This is a new thing in the USA, then, and it has not spread here where 'you have to be good at math' is seen as necessary for a CS major. >I can understand this "usefulness" argument to some extent for >mathematics majors, but at our institution (liberal arts school in >rural, midwest US), we have little trouble attracting female math >majors. On the other hand, it is extremely rare to find a female >interested in CS, period. Virtually all of our female majors are >recruited when they take our CS1 class as either a Gen Ed. class or a >requirement for another major. > >To my mind, the "useful" argument is a nonstarter. There must be >something else going on. Any ideas on what that is? > > > >> But most women are not like this. They want concrete usefulness. >> Here at Chalmers in Sweden the women students outnumber the men in all >> the Chemistry departments. Chemistry is presented as concretely >> useful. > >As I mentioned above, this is not the case in the US. Chemistry is still >one of the fields where women are underrepresented. Yes. But what we see is that chemistry is here perceived as 'being useful' while Computer Science is not. It is around here called -- 'Mental Masturbation' -- though actually something that is plenty ruder and less alliterative. I do not think that you understand the viceral dislike that many women have of girls who do things, selfishly, for no reason beyond that they enjoy them. I think that only girls who have fought this understand it, and for most, the path of 'make sure that what you do is immediately justifiable in terms of benefitting others' makes immediate sense. Most women have mothers who ingrain this overcompensation to prevent selfishness into all girls. But I was raised by my father and my grandfather. When Catholic Girls School was teaching me that I was being Selfish and Wrong, my elders were teaching me that as long as I did not actively hurt anybody, it was OK for me to be selfish. This is a very male thing. So -- math is cool, and dear God I am Good at it, so why not persue it? This is male thinking. For hundreds of thousand of years, the job for all women has been the raising of their own children. Childraising is difficult, and very few women have the natural talents to do this well. Thus the futhering of civilisation required the convincing of women that their best interests involved sitting around doing something they do not particularly enjoy and which they do poorly. There is a two proned attack on this. The first is to tell women that 'raising children takes no skill, or training, only love and unselfishness'. This is wrong. The second is to convince women that being selfish is the ultimate evil. >>When I offered a night-course of three weeks at the Chalmers >> computer society (all chalmers students are automatically members) on >> compiler design, pypy, and how to hack ... only got 4 takers, and all >> male. A different 4 week course -- 'how to build a bot to take care >> of seeing if your favourite websites are announcing the things you >> want to know about -- NO PREVIOUS PROGRAMMING SKILLS NECESSARY' got me >> 57 takers, 35 of which were women. >> > >This is interesting. But is the real difference here practicality, or is >it something else like the web (i.e. communication) or the NO PREVIOUS >SKILLS NECESSARY? I don't know. But we have had other NO SKILLS NECESSARY courses without the turnout. This was a large shocker. >I speak to women all the time, and when I ask them why they're not in >CS, they tell me it's because they don't like computers. I've never ever >had one tell me they didn't find computers or computer progams useful. What did they say to you when you asked them why they did not like computers? If your experience is like mine you will get some version of 'they are useful, yes, to other people but not useful to me'. Which counts as not useful in my books. Perhaps my questioning biases the sample about utility, though. This effect -- even if you try to not have leading questions, are you leading anyhow? -- is hard to measure. > >As to why they don't see the Art and Joy, it's probably because they've >never been exposed to it. It seems as if boys like using computers, and >many of them, for whatever reason, are motivated to take a peek >underneath and end up hooked on programming. Girls are using computers >just as much, but don't seem to go that next step and try to see what >makes them tick. Why? I don't know. Someone please tell me so that I can >get my daughter interested in programming some day. (Not too soon >though; I don't think there's a need for any kid to spend much time with >a computer before at least Jr. High. But that's another thread entirely.. >.) When I was 3 I took apart my first clock 'to find out why it worked'. Over the next 4 years my grandfather taught me what it was that I broke and why I could not fix it. For my seventh birthday we celebrated by having the repaired clock, repaired by us, with mostly made by us pieces -- one cog had to be ordered special. I took this to catholic girls school. I was terribly proud of it, and was at the age when 'show and tell' was a common feature of class. So I 'showed and telled'. And was told that what I had done was prideful, and unchristrian. It seems that it was selfish to repair the clock rather than confess my sin to have broken it (somehow, in the breaking, it had never been a sin with my father or grandfather, just a very serious mistake and bad error of judgement on my part). I resolved at this point and time to be prideful in all things. But secretly. I think that this is the make legacy, what all boys are obligated to do -- but secretly. correct? > >> In Sweden we have laws preventing the sort of advertising that >> I think MSFT is doing in the USA -- targetting children is >> illegal. > >Then how do your kids know what their parents need to buy for them ;-) Exactly. However, 'my freind xxx has one' is still a good argument. > >>But given that you are stuck with it, I would be >> very interested in seeing if it has an effect in student sex >> ratios. >> > >Perhaps that's one good thing that could come out of KPL-type efforts--- >getting some girls to see the Art and Joy. Though I'm not holding my brea >th. > >--John >-- >John M. Zelle, Ph.D. Wartburg College >Professor of Computer Science Waverly, IA >john.zelle at wartburg.edu (319) 352-8360 >_______________________________________________ >Edu-sig mailing list >Edu-sig at python.org http://mail.python.org/mailman/listinfo/edu-sig Take care all, Laura From lac at strakt.com Sun Oct 9 03:37:49 2005 From: lac at strakt.com (Laura Creighton) Date: Sun, 09 Oct 2005 03:37:49 +0200 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: Message from Arthur of "Sat, 08 Oct 2005 20:54:14 EDT." <000001c5cc6b$f8505b70$1702a8c0@BasementDell> References: <000001c5cc6b$f8505b70$1702a8c0@BasementDell> Message-ID: <200510090137.j991bn2a005273@ratthing-b246.strakt.com> In a message of Sat, 08 Oct 2005 20:54:14 EDT, Arthur writes: > > >> -----Original Message----- >> From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On >> Behalf Of John Zelle > >> I speak to women all the time, and when I ask them why they're not in >> CS, they tell me it's because they don't like computers. I've never eve >r >> had one tell me they didn't find computers or computer progams useful. > >Seems to me that the analogies with "car culture" are too close to ignore >. > >Women drive cars to pretty much the same extent as men but few care much >about the operating system. > >How many megahertz do you got under the hood of that baby? > >What's your baud? > >It was a great day for me when I went from 1400 to 2800. > >Not a joy I could share with my wife. > >The question is are these phenomenon related by having the same parent >class, or is computer culture - for whatever reason - something that >subclassed directly from car culture. > >Art > > >_______________________________________________ >Edu-sig mailing list >Edu-sig at python.org >http://mail.python.org/mailman/listinfo/edu-sig It is about control. Women are trained to be controlled and to shun all activity that gives them more direct control. Indirect control -- manipulating others -- is possibly ok, but all the rest is dangerous selfishness. Laura - who also helped make the fastest MG in Toronto-area proven in our local race track by helping to 'stack' the exhaust system. Designing that was cool. Power is cool. But very unfeminine. From lac at strakt.com Sun Oct 9 03:51:51 2005 From: lac at strakt.com (Laura Creighton) Date: Sun, 09 Oct 2005 03:51:51 +0200 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: Message from "Radenski, Atanas" of "Sat, 08 Oct 2005 18:25:57 PDT." References: Message-ID: <200510090151.j991ppLx005365@ratthing-b246.strakt.com> In a message of Sat, 08 Oct 2005 18:25:57 PDT, "Radenski, Atanas" writes: >> -----Original Message----- >> From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] >On >> Behalf Of Arthur > > >> Beauty is beauty, and is never useful. > >'Beautiful' is what gives us pleasure. (Things that give us pleasure can >be useful at times, perhaps.) > >I am curious why computers do not seem to give enough pleasure to most >women. I do not know. > >Atanas Part of the answer is that women are trained to not 'over indulge' in pleasures that do not directly benefit other people. But why the message 'fractals are cool' only translates to some women (and men) is a puzzle I will never understand. The notion that all nature shows itself _fractally_ is just too fundamentally way cool ??? Laura From urnerk at qwest.net Sun Oct 9 03:59:39 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sat, 8 Oct 2005 18:59:39 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <1405344301.20051008190617@freshsources.com> Message-ID: <20051009015943.406101E4006@bag.python.org> > But I have read plenty of research through math society publications > that suggests that perhaps there is a genetic difference > mathematically. The jury is still out, of course, but the numbers > point that way. That's what the Harvard president in trouble, but the > numbers are in his favor. It would be nice to figure all this out > someday. > My view is closer to: IF there is a genetic difference of such chasmic proportions as to forever put math on the male side, THEN there'll inevitably by another math that's more female in its operations, i.e. you'll get a parallel technology, not a imbalanced monopoly. That's just speculation, as we're still considered two halves of the one species (but will that change?). > I have only one female out of three classes I'm teaching this > semester. Pretty status quo. > I've taught large roomfuls of women only for years at a time. One of my more pleasant jobs. Kirby From ajsiegel at optonline.net Sun Oct 9 04:04:04 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 08 Oct 2005 22:04:04 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <10266510.20051008190034@freshsources.com> Message-ID: <000001c5cc75$ba0707b0$1702a8c0@BasementDell> > -----Original Message----- > From: Chuck Allison [mailto:chuck at freshsources.com] > Sent: Saturday, October 08, 2005 9:01 PM > To: Laura Creighton > Cc: Arthur; 'Kirby Urner'; edu-sig at python.org; rev_anna_r at yahoo.com > Subject: Re[4]: [Edu-sig] Microsoft's KPL > > I find this very illuminating. To be frank, I've suspected some of this > but we dare not say things like this in public because of the inflamed > rhetoric of feminists. We are skewered if we suggest that there is a > difference between men and women. Yup. You're affiliated. ;) But sincere sympathies on this point. Thank God I no longer have to read through memos about to behave appropriately inauthentic. Boy we've taken a strange turn regarding all this business. Did I say "boy". Sorry. Actually I can try to squeeze out some sense of humor on these matters because I feel we are coming out the other end of the worst of the Cultural Revolution. And I will promise to swear that we are all the better for having been through it - once someone can promise me its over ;). Art From ajsiegel at optonline.net Sun Oct 9 04:15:15 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 08 Oct 2005 22:15:15 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <200510090151.j991ppLx005365@ratthing-b246.strakt.com> Message-ID: <000001c5cc77$49fbcb20$1702a8c0@BasementDell> > -----Original Message----- > From: Laura Creighton [mailto:lac at strakt.com] > Sent: Saturday, October 08, 2005 9:52 PM > To: Radenski, Atanas > Cc: Arthur; Laura Creighton; Chuck Allison; edu-sig at python.org; > rev_anna_r at yahoo.com; Kirby Urner; lac at strakt.com > Subject: Re: [Edu-sig] Microsoft's KPL > > Part of the answer is that women are trained to not 'over indulge' > in pleasures that do not directly benefit other people. Yes. And women outperform men in school these days because one is no longer judged by performance on exams - but by "projects", i.e. the effort one is willing to extend to please teacher. So the feminists have rearranged the system to better reward a subservient attitude. Not what they were going for, think I. Art From ajsiegel at optonline.net Sun Oct 9 04:32:01 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 08 Oct 2005 22:32:01 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000001c5cc77$49fbcb20$1702a8c0@BasementDell> Message-ID: <000001c5cc79$a24e0b60$1702a8c0@BasementDell> > -----Original Message----- > From: Arthur [mailto:ajsiegel at optonline.net] > > > -----Original Message----- > > From: Laura Creighton [mailto:lac at strakt.com] > > Sent: Saturday, October 08, 2005 9:52 PM > > To: Radenski, Atanas > > Cc: Arthur; Laura Creighton; Chuck Allison; edu-sig at python.org; > So the feminists have rearranged the system to better reward a subservient > attitude. Perhaps someone as unaffiliated as myself can suggest that perhaps math and science seem too hard, in that sense. Not intellectually - but the performance criteria are not the one's women prefer. The standards by which one is judged to have or have not absorbed the material are too objective. There is no one to please. Art From lac at strakt.com Sun Oct 9 04:53:09 2005 From: lac at strakt.com (Laura Creighton) Date: Sun, 09 Oct 2005 04:53:09 +0200 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: Message from Arthur of "Sat, 08 Oct 2005 22:32:01 EDT." <000001c5cc79$a24e0b60$1702a8c0@BasementDell> References: <000001c5cc79$a24e0b60$1702a8c0@BasementDell> Message-ID: <200510090253.j992r9ow006358@ratthing-b246.strakt.com> In a message of Sat, 08 Oct 2005 22:32:01 EDT, Arthur writes: > > >> -----Original Message----- >> From: Arthur [mailto:ajsiegel at optonline.net] >> >> > -----Original Message----- >> > From: Laura Creighton [mailto:lac at strakt.com] >> > Sent: Saturday, October 08, 2005 9:52 PM >> > To: Radenski, Atanas >> > Cc: Arthur; Laura Creighton; Chuck Allison; edu-sig at python.org; > > >> So the feminists have rearranged the system to better reward a subservi >ent >> attitude. > >Perhaps someone as unaffiliated as myself can suggest that perhaps math a >nd >science seem too hard, in that sense. Not intellectually - but the >performance criteria are not the one's women prefer. > >The standards by which one is judged to have or have not absorbed the >material are too objective. > >There is no one to please. > > >Art This is extremely well known by women. It is a mystery to me why this simple truth is not well known by men. Actually, the problem is not 'there is no one to please' but rather 'you have to please yourself'. External objective validation of math is all well and good, but the first inkling you must have in order to develop a mathematical intuition is the 'this feels good -- like the correct way to proceed' feeling. Then, if you get rewarded when you get the correct answer, thus validating your 'mathematical workmanship' all is well. But only some people develop a mathematical intuition, given mathematical problems to solve. The rest seem to learn how to solve them by rote learning, memorization of techniques, and things that do not involve the mathematical intuition at all. I think that only people who thrive on playing with their mathematical intuition will love computer science and all higher math. But most women do not work on developing one. Laura From chuck at freshsources.com Sun Oct 9 05:16:45 2005 From: chuck at freshsources.com (Chuck Allison) Date: Sat, 8 Oct 2005 21:16:45 -0600 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <200510090253.j992r9ow006358@ratthing-b246.strakt.com> References: <000001c5cc79$a24e0b60$1702a8c0@BasementDell> <200510090253.j992r9ow006358@ratthing-b246.strakt.com> Message-ID: <60595845.20051008211645@freshsources.com> Hello Laura, Saturday, October 8, 2005, 8:53:09 PM, you wrote: LC> I think that only people who thrive on playing with their LC> mathematical intuition will love computer science and all LC> higher math. But most women do not work on developing one. This is complicated nowadays by the fact that computer-related fields have multiplied, and only some of them involve much in the way of mathematical intuition. Core CS is very much a mathematical exercise. We have many students who balk at the mathematical part of our program, and they bail to IS or IT or Multimedia, etc. That's fine - we all should be so lucky to find where we belong - but once again mathematics becomes the crux of the issue. Kinda makes me feel good that I have 3 degrees in math. All those years of geekdom are finally paying off :-). I discovered programming in a FORTRAN in my senior year at college and knew I found my thing. The other two subsequent degrees were mainly because I didn't want to back up and retool in undergraduate CS - but my last degree was in Applied Math with an emphasis in CS. Yet I wonder if the likes of us are becoming very much a minority, in the U.S., at least, since our math skills as a nation are falling dramatically. "Knuth alone hath gazed on beauty bare." I think that's what Edna St. Vincent Millay would've written if she wrote that poem today. Few there be that find it, eh? I have an artist relative that thinks I'm a narrow left-brained nerd. When I try to discuss the beauties of design and problem solving and clean code, etc., I get blank stares and condescending disbelief. Sheesh! He thinks he has a monopoly on dealing with beauty. -- Best regards, Chuck From ajsiegel at optonline.net Sun Oct 9 05:21:22 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 08 Oct 2005 23:21:22 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <200510090253.j992r9ow006358@ratthing-b246.strakt.com> Message-ID: <000001c5cc80$87e0e430$1702a8c0@BasementDell> > -----Original Message----- > From: Laura Creighton [mailto:lac at strakt.com] > To: Arthur > Cc: 'Laura Creighton'; 'Radenski, Atanas'; 'Chuck Allison'; edu- > I think that only people who thrive on playing with their > mathematical intuition will love computer science and all > higher math. But most women do not work on developing one. But why? Haven't we gone around in a circle. Is it a moral or other obligation of men to ruminate on this matter? Can we (men) move on - until someone gets back to us. And prove that we are liberated men, not believing that all problems are ours to solve? Art From delza at livingcode.org Sun Oct 9 05:54:10 2005 From: delza at livingcode.org (Dethe Elza) Date: Sat, 8 Oct 2005 20:54:10 -0700 Subject: [Edu-sig] Gender and Programming (was: Microsoft's KPL) In-Reply-To: <200510090131.j991V79Y005229@ratthing-b246.strakt.com> References: <0IO0007XAH04P5P1@mta23.srv.hcvlny.cv.net> <000001c5cb9a$b1196200$1702a8c0@BasementDell> <1473841844.20051008112604@freshsources.com> <200510082301.j98N1Gc2002621@ratthing-b246.strakt.com> <434864F2.9050406@wartburg.edu> <200510090131.j991V79Y005229@ratthing-b246.strakt.com> Message-ID: <33628B32-FBC3-4940-9764-DF714370E931@livingcode.org> Just a couple of data points for the discussion. My eight-year-old daughter loves math and computers and has asked me how she can make her own computer games. I've tried showing her what goes into making games and she lost interest for now. She also writes stories, draws beautifully, invents constantly (including how- to step-by-step sketches), and prefers to play roughhouse (and chess) with the boys than to hang out with the girls, who (at least last year) were more into psychological games and popularity contests than actual play. I also recently worked with a practicum student from Chile who was suprised to find her IT classes mainly full of boys here in Vancouver, apparently in Chile mostly girls study computer science and IT. On the rare occasion that I go to parties, men are more likely to be talking about computers than women, even if the women are programmers. Boys and their toys, I guess. I know a lot of great women programmers and women who like to *use* computers, but not very many women who are into computers for the sake of computers or who treat them as attractive gadgets. When I switched from the Creative Writing department to the Computer Science department, I found there was far *more* freedom of expression and creativity allowed, but I don't think that's widely known, and it may not be common in other schools. The women in my CS classes (not universally, but mostly) treated the classes as classes, and only did what was required to get through the class. Some of the men were the same, but a substantial proportion programmed because they loved computers and loved to make them do things. Computer programming was the closest thing they'd found to magic. Overall, I think there are a lot of reasons why boys choose CS more than girls, but I think they are culturally dependent, not universal, and I think some of it is just that both boys and girls have a poor understanding of what computer programming is (or can be) all about. --Dethe The laws of nature were not repealed on September 11. --Kathleen Tierney -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2488 bytes Desc: not available Url : http://mail.python.org/pipermail/edu-sig/attachments/20051008/0feceb1f/smime.bin From john.zelle at wartburg.edu Sun Oct 9 06:06:18 2005 From: john.zelle at wartburg.edu (John Zelle) Date: Sat, 08 Oct 2005 23:06:18 -0500 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <200510090131.j991V79Y005229@ratthing-b246.strakt.com> References: <0IO0007XAH04P5P1@mta23.srv.hcvlny.cv.net> <000001c5cb9a$b1196200$1702a8c0@BasementDell> <1473841844.20051008112604@freshsources.com> <200510082301.j98N1Gc2002621@ratthing-b246.strakt.com> <434864F2.9050406@wartburg.edu> <200510090131.j991V79Y005229@ratthing-b246.strakt.com> Message-ID: <4348973A.3020406@wartburg.edu> OK, I think I'm getting some insight here, but something still doesn't quite ring true for me. I said: >>I hear researchers say this at conferences, and I read it in the >>literature about gender balance in computer science, but I still don't >>understand it. Can you explain why when selecting majors women consider >>CS as "not useful" and therefore to be avoided when they seem to have no >>such qualms about, say, history or English literature? Here in the >>states, women are also severely underrepresented in natural sciences and >>engineering, also areas of obvious utility. > > Laura responded: > When we interviewed the chemistry students here at Chalmers, as to > why they were 'bucking the trend' -- last years, decades, worth of > female students who lead the way seemed to be the answer. > > I think that your question indicates your problem. It is not that > women start with a list of 'everything is worthwhile' and cross > things out. Rather, they start with a list of a few things that > are worthwhile. Those not on the list are assumed to be worthless. > I think I understand what you're saying, but what I still don't understand is how majors like English lit and history _do_ get on the list. There are many "non-service" majors that do not seem to have this problem with gender balance. How are women getting the message that it's OK to pursue a "selfish" interest in literature? The obvious answer to me that they must get more enjoyment from literature than from computing. The question is why? Is it cultural, or is it a natural male/female distinction? > The problem is to get programming (you will never get > computer science as I know it on the list, since it is only done > for the sheer joy of it, and is mostly unuseful) > on the list of > _useful applied sciences where women do well_. For some > strange and largely not undserstood reason that happened here > in Sweden about Chemistry. > > Lots of us are trying to understand this. > Computer science to you must only be theory. That's fine, but for the record, there's plenty of practical and applied CS as well. I think in Europe CS tends to be much more theory laden than it is here. Anyway, I think you are probably right that trying to understand why CS is not on the "useful list" is the key here (at least for me). Substitute programming and the problem is the same. > >>>Speaking specifically to CS, both boys and girls are heavy users of >> >>computers now (although girls tend to start a bit later). So why don't >>girls perceive computing as a useful field of study? I don't think it's >>because it involves mathematics, because frankly, most entering CS >>majors (male or female) have no idea that CS involves much mathematics. > > > This is a new thing in the USA, then, and it has not spread here > where 'you have to be good at math' is seen as necessary for a > CS major. > Again, I suspect this is a US/Europe distinction. CS here tends to be a mix of theory and practice that is much more "career oriented." > > For hundreds of thousand of years, the job for all women has > been the raising of their own children. Childraising is > difficult, and very few women have the natural talents to do > this well. Thus the futhering of civilisation required > the convincing of women that their best interests involved > sitting around doing something they do not particularly enjoy > and which they do poorly. This seems way too strong to me. I find it highly unlikely that humans would have survived if women weren't damn good at raising children. And I doubt that civilization would ever have evolved if it required somehow "brainwashing" women against their natural characters to take care of the children. Certainly, plenty of women (and men) find having and raising children to be enormously rewarding. > > There is a two proned attack on this. The first is to tell > women that 'raising children takes no skill, or training, only > love and unselfishness'. This is wrong. The second is to > convince women that being selfish is the ultimate evil. > Warning, I'm _way_ out of my element here. It seems to me that learning to raise a family only requires that people can learn how to raise children based on their experiences of how they were raised. Larger societal messages are only strictly necessary to learn things that can't be directly experienced by individuals. But everyone was raised in some way. How is the message about selfishness differentially taught to boys and girls? I certainly try to teach both my son and my daughter to behave unselfishly. And, of course, I encourage them both to pursue what interests them. I don't feel any compulsion whatsoever to treat them differently in this respect. Where is the coercive power structure that instills such apparently different values in boys and girls in our modern society? If I as a parent don't feel it, what causes it? If anything, it seems that men have traditionally had the burden of "having" to pursue externally useful skills because they were expected to be the bread winners. I just don't think it's as simple as girls being "taught" that they must always serve others. There still must be a reason that they prefer not to serve others by studying English lit rather than helping others by creating new technologies. Or maybe I'm missing something in this argument. It is true that I have no firsthand experience of the societal pressures that girls/women feel. --John -- John M. Zelle, Ph.D. Wartburg College Professor of Computer Science Waverly, IA john.zelle at wartburg.edu (319) 352-8360 From urnerk at qwest.net Sun Oct 9 06:23:27 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sat, 8 Oct 2005 21:23:27 -0700 Subject: [Edu-sig] Basic dictionary question Message-ID: <20051009042329.04D3D1E4007@bag.python.org> So here's my situation. I have a set of XYZ tuples that'll come very close to matching, most of them in pairs, but thanks to floating point, I can only rely on "fuzzy equality" i.e. within a tolerance of say |e| per each x,y,z. In other words, for all intents and purposes, I could consider (1.0, 0.0, 0.0) and (1.001, 0.0, 0.0) to be the same. My thought was to use a dictionary, indexing with these tuples. Except they wouldn't be primitive tuples, I'd define an object with fuzzy equality implemented as __eq__. Then (1.0, 0.0, 0.0) and (1.001, 0.0, 0.0) would both key to the same value, cuz they're equal i.e. are both the same key, right? Wrong I think, per the session below. The one object (1.0, 0.0, 0.0) is "in" a list of other objects (o1), thanks to fuzzy equality, but in adding to a dictionary, they key separately. Instead of figuring it all out, lemme just put this out and there see if I fish up any expert patter. Kirby >> class Sometuple(object): e = 0.01 def __init__(self,value): self.thetuple = value def __eq__(self, other): if abs(self.thetuple[0]-other.thetuple[0])>> o0 = Sometuple((1,0,0)) >>> o1 = Sometuple((1.001,0,0)) >>> o0==o1 True >>> thedict = {o0:'a'} >>> thedict {<__main__.Sometuple object at 0x00C93B90>: 'a'} >>> thedict[o1]='b' >>> thedict {<__main__.Sometuple object at 0x00C93B90>: 'a', <__main__.Sometuple object at 0x00C93D10>: 'b'} >>> o0 in [o1,o1,01] True >>> o0 in [o1,o1,o1] True >>> o1 in thedict.keys() True >>> o0 in thedict.keys() True From guido at python.org Sun Oct 9 06:52:07 2005 From: guido at python.org (Guido van Rossum) Date: Sat, 8 Oct 2005 21:52:07 -0700 Subject: [Edu-sig] Basic dictionary question In-Reply-To: <20051009042329.04D3D1E4007@bag.python.org> References: <20051009042329.04D3D1E4007@bag.python.org> Message-ID: Alas, you can't do that, and the problem isn't a deficiency of dicts, but the fact that "almost equal" is not a transitive relationship. Think about it. (Boy that brings back memories of math classes in college, way, way, back, where a professor pointed this out casually as an counter-illustration of transitive relationships.) Superficially, the problem you have is that you're overriding __eq__ without __hash__. The dict implementation uses the __hash__ method partitions objects into (conceptual) buckets with the same hash value, so that if two objects are equal, they occur in the same hash bucket, but not necessarily the other way around -- two objects in the same hash bucket may still be unequal. But because you're defining equality in the peculiar way that you do, it's impossible to create a non-trivial __hash__ method that satisfies this requirement. A near-solution would be to make __hash__ return a constant; that will cause you a serious degradation of the dict performance, but more seriously, it will cause undefined behavior. Here's why. Consider three numbers A, B and C such that A == B == B but A != C. In your example, where e is 0.01, we could pick A = 1, B = 1.007, C = 1.014 in one dimension, and equal in the others. Now if you put A and C in the dict, the dict will have two keys. But when you add B, will it map to A or to C? That depends on the order in which the dict probes the values! You never said what you wanted to do with these points -- are you looking to find which points are in fact close enough to be considered the same point? I suppose you could sort them by the vector length (sqrt(x**2 + y**2 + z**2), that sort of thing) and then you only have to compare points that are close together in the sorted list (as long as the abs values are closer than your epsilon). Or you could divide 3-space up into cubes with sides equal epsilon, and then you'd only have to look for points that end up in the same or in adjacent cubes. --Guido On 10/8/05, Kirby Urner wrote: > > So here's my situation. I have a set of XYZ tuples that'll come very close > to matching, most of them in pairs, but thanks to floating point, I can only > rely on "fuzzy equality" i.e. within a tolerance of say |e| per each x,y,z. > In other words, for all intents and purposes, I could consider (1.0, 0.0, > 0.0) and (1.001, 0.0, 0.0) to be the same. > > My thought was to use a dictionary, indexing with these tuples. Except they > wouldn't be primitive tuples, I'd define an object with fuzzy equality > implemented as __eq__. Then (1.0, 0.0, 0.0) and (1.001, 0.0, 0.0) would > both key to the same value, cuz they're equal i.e. are both the same key, > right? > > Wrong I think, per the session below. The one object (1.0, 0.0, 0.0) is > "in" a list of other objects (o1), thanks to fuzzy equality, but in adding > to a dictionary, they key separately. Instead of figuring it all out, lemme > just put this out and there see if I fish up any expert patter. > > Kirby > > > > >> class Sometuple(object): > e = 0.01 > def __init__(self,value): > self.thetuple = value > def __eq__(self, other): > if abs(self.thetuple[0]-other.thetuple[0]) and abs(self.thetuple[1]-other.thetuple[1]) and abs(self.thetuple[2]-other.thetuple[2]) return True > else: > return False > > > >>> o0 = Sometuple((1,0,0)) > >>> o1 = Sometuple((1.001,0,0)) > >>> o0==o1 > True > >>> thedict = {o0:'a'} > >>> thedict > {<__main__.Sometuple object at 0x00C93B90>: 'a'} > >>> thedict[o1]='b' > >>> thedict > {<__main__.Sometuple object at 0x00C93B90>: 'a', <__main__.Sometuple object > at 0x00C93D10>: 'b'} > > >>> o0 in [o1,o1,01] > True > >>> o0 in [o1,o1,o1] > True > > >>> o1 in thedict.keys() > True > >>> o0 in thedict.keys() > True > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -- --Guido van Rossum (home page: http://www.python.org/~guido/) From urnerk at qwest.net Sun Oct 9 07:54:39 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sat, 8 Oct 2005 22:54:39 -0700 Subject: [Edu-sig] Basic dictionary question In-Reply-To: Message-ID: <20051009055443.59A131E4008@bag.python.org> Talk about fishing for expert help! Thanks Guido. It's a pruning algorithm where I strip way pieces that don't meet up at (x,y,z) bridge points. Lots of symmetry about the origin so just pure distance won't work (not unique enough). I think might still get away with a tuple-indexed dict (tallying for pairs, pruning the rest) if I boil my floating points down to fixed decimals -- a chance to play with the new decimal type perhaps. I appreciate the quick lecture on intransitive nature of fuzzy equality and __hash__ vs. __eq__. Helps me think. Kirby > You never said what you wanted to do with these points -- are you > looking to find which points are in fact close enough to be considered > the same point? I suppose you could sort them by the vector length > (sqrt(x**2 + y**2 + z**2), that sort of thing) and then you only have > to compare points that are close together in the sorted list (as long > as the abs values are closer than your epsilon). Or you could divide > 3-space up into cubes with sides equal epsilon, and then you'd only > have to look for points that end up in the same or in adjacent cubes. > > --Guido From peter at mapledesign.co.uk Sun Oct 9 10:39:59 2005 From: peter at mapledesign.co.uk (Peter Bowyer) Date: Sun, 09 Oct 2005 09:39:59 +0100 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <631812239.20051008111137@freshsources.com> References: <000001c5cb8a$b662c9a0$1702a8c0@BasementDell> <20051007232757.771811E4006@bag.python.org> <631812239.20051008111137@freshsources.com> Message-ID: <6.2.3.4.0.20051009093338.02507368@127.0.0.1> At 18:11 08/10/2005, Chuck Allison wrote: >While their graduates will >indeed be effective in some technical workplaces, I think the slanted >education will take its toll. As a college professor, I am concerned >for people who go that fit-a-mold route. I've been keeping quiet on this thread, but I don't think you can blame fit-a-mould students on programs formed by corporate sponsors. Most university departments (excepting those in the arts I guess) produce fit-a-mould students. I study physics in the UK and guess what? Most graduates will go on to do physics research or work in the city of London on financial models. Most students do fit a mould, they're not being taught to, but to think outside the mould requires effort and time both on your part and that of a mentor in the department. Added to that the pressures for the students to be 'employable' afterwards influence how the study is geared (we now do poster presentation and power point presentation modules and write reports - usually without any guide of what should be produced - as employers used to complain physicists didn't have these skills) No doubt CS is different because you are being prepared for one industry, but I wanted to make the point it happens without corporate sponsors just as much. One other point: I think in the US you have a great benefit in having a spread of subjects in your university degrees (I'm right in thinking you major and minor in different subjects?). That's something I'd have loved to do. Peter -- Maple Design - quality web design and programming http://www.mapledesign.co.uk From lac at strakt.com Sun Oct 9 12:34:35 2005 From: lac at strakt.com (Laura Creighton) Date: Sun, 09 Oct 2005 12:34:35 +0200 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: Message from Arthur of "Sat, 08 Oct 2005 23:21:22 EDT." <000001c5cc80$87e0e430$1702a8c0@BasementDell> References: <000001c5cc80$87e0e430$1702a8c0@BasementDell> Message-ID: <200510091034.j99AYZ07014580@ratthing-b246.strakt.com> In a message of Sat, 08 Oct 2005 23:21:22 EDT, Arthur writes: > > >> -----Original Message----- >> From: Laura Creighton [mailto:lac at strakt.com] >> To: Arthur >> Cc: 'Laura Creighton'; 'Radenski, Atanas'; 'Chuck Allison'; edu- > > >> I think that only people who thrive on playing with their >> mathematical intuition will love computer science and all >> higher math. But most women do not work on developing one. > >But why? > >Haven't we gone around in a circle. > >Is it a moral or other obligation of men to ruminate on this matter? > >Can we (men) move on - > >until someone gets back to us. > >And prove that we are liberated men, not believing that all problems are >ours to solve? > >Art This isn't a problem for men to solve as men. It is a problem for educators to solve, as educators. But that shoe fits most people around here ... Laura From lac at strakt.com Sun Oct 9 13:37:25 2005 From: lac at strakt.com (Laura Creighton) Date: Sun, 09 Oct 2005 13:37:25 +0200 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: Message from John Zelle of "Sat, 08 Oct 2005 23:06:18 CDT." <4348973A.3020406@wartburg.edu> References: <0IO0007XAH04P5P1@mta23.srv.hcvlny.cv.net> <000001c5cb9a$b1196200$1702a8c0@BasementDell> <1473841844.20051008112604@freshsources.com> <200510082301.j98N1Gc2002621@ratthing-b246.strakt.com> <434864F2.9050406@wartburg.edu> <200510090131.j991V79Y005229@ratthing-b246.strakt.com> <4348973A.3020406@wartburg.edu> Message-ID: <200510091137.j99BbPZM004842@theraft.strakt.com> In a message of Sat, 08 Oct 2005 23:06:18 CDT, John Zelle writes: >OK, I think I'm getting some insight here, but something still doesn't >quite ring true for me. > >I said: >>>I hear researchers say this at conferences, and I read it in the >>>literature about gender balance in computer science, but I still don't >>>understand it. Can you explain why when selecting majors women consider > >>>CS as "not useful" and therefore to be avoided when they seem to have n >o >>>such qualms about, say, history or English literature? Here in the >>>states, women are also severely underrepresented in natural sciences an >d >>>engineering, also areas of obvious utility. >> >> > >Laura responded: >> When we interviewed the chemistry students here at Chalmers, as to >> why they were 'bucking the trend' -- last years, decades, worth of >> female students who lead the way seemed to be the answer. >> >> I think that your question indicates your problem. It is not that >> women start with a list of 'everything is worthwhile' and cross >> things out. Rather, they start with a list of a few things that >> are worthwhile. Those not on the list are assumed to be worthless. >> > >I think I understand what you're saying, but what I still don't >understand is how majors like English lit and history _do_ get on the >list. There are many "non-service" majors that do not seem to have this >problem with gender balance. How are women getting the message that it's >OK to pursue a "selfish" interest in literature? The obvious answer to >me that they must get more enjoyment from literature than from >computing. The question is why? Is it cultural, or is it a natural >male/female distinction? No. This is completely false. Start with the premise that a woman will never, ever, ever do something because she enjoys it. (This is also false, but a lot closer to reality than where you are standing.) Thus there are some women who persue literature 'because it is an accepted thing for women to do' and discover to their joy that they enjoy it. They are therefore able to get away with doing something enjoyable. The rest of them are not enjoying it. But they aren't necessarily aware of the fact -- and if they are they most likely consider it irrelevant. Whatever they were doing, they would not expect it to be enjoyable. >Computer science to you must only be theory. That's fine, but for the >record, there's plenty of practical and applied CS as well. I think in >Europe CS tends to be much more theory laden than it is here. It is indeed, and you have pegged me quite correctly. The practical stuff I call 'programming' and not 'computer science'. >This seems way too strong to me. I find it highly unlikely that humans >would have survived if women weren't damn good at raising children. And >I doubt that civilization would ever have evolved if it required somehow >"brainwashing" women against their natural characters to take care of >the children. Certainly, plenty of women (and men) find having and >raising children to be enormously rewarding. No, the problem is that my standards of 'good child raising' are very high. When actually, any fool can get pregnant, and then, provided that you don't destroy your children, they will survive however wretchedly you raise them. >> There is a two proned attack on this. The first is to tell >> women that 'raising children takes no skill, or training, only >> love and unselfishness'. This is wrong. The second is to >> convince women that being selfish is the ultimate evil. >> > >Warning, I'm _way_ out of my element here. It seems to me that learning >to raise a family only requires that people can learn how to raise >children based on their experiences of how they were raised. Larger >societal messages are only strictly necessary to learn things that can't >be directly experienced by individuals. But everyone was raised in some >way. > >How is the message about selfishness differentially taught to boys and >girls? I certainly try to teach both my son and my daughter to behave >unselfishly. And, of course, I encourage them both to pursue what >interests them. I don't feel any compulsion whatsoever to treat them >differently in this respect. Where is the coercive power structure that >instills such apparently different values in boys and girls in our >modern society? If I as a parent don't feel it, what causes it? If >anything, it seems that men have traditionally had the burden of >"having" to pursue externally useful skills because they were expected >to be the bread winners. Oh women brainwash their daughters. > >I just don't think it's as simple as girls being "taught" that they must >always serve others. There still must be a reason that they prefer not >to serve others by studying English lit rather than helping others by >creating new technologies. Or maybe I'm missing something in this >argument. It is true that I have no firsthand experience of the societal >pressures that girls/women feel. > >--John A think that you have missed is that a large number of women define their own value by how much they are 'suffering' and 'sacrificing' for others. This keeps them very far away from careers which are seen as self-serving. And if you do not know whether a course of study is selfish, then you can always count the number of women in it. If there aren't lots, then there must be something wrong with it. Thus lit gets people, not because women decide that it is an unselfish way to live their lives, but because they think that lots of women in it IMPLIES it is an unselfish and good way to live their lives. This is part of the chemistry story. it attracts women who say the only important reason for them to become chemists is that 'there were a lot of women in it'. Which is rather hard on those of us who would like to spread the succcess elsewhere. It means that if we could get even moderately successful, we could probably snowball, but the first step seems as hard as ever. Laura From ajsiegel at optonline.net Sun Oct 9 16:40:23 2005 From: ajsiegel at optonline.net (Arthur) Date: Sun, 09 Oct 2005 10:40:23 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <200510091034.j99AYZ07014580@ratthing-b246.strakt.com> Message-ID: <000801c5ccdf$62027a30$1702a8c0@BasementDell> > -----Original Message----- > From: Laura Creighton [mailto:lac at strakt.com] > This isn't a problem for men to solve as men. It is a problem for > educators to solve, as educators. Well - let me be the reactionary, again. With some reference back to David's point about "social engineering" and its deleterious effect on education. There is a long history of literature on the subject of the inevitable destructiveness of just these kinds of engineering efforts - mostly an outgrowth of the intellectual minority mustering some effort to confront the intellectual majority's pussyfooting on subjects like Marxism. Educators have done enough harm to boys already by trying to solve these problems (in an atmosphere of duress), and more abstract, but real, harm to girls as well. More efforts will bring us more of the same. As a good reactionary, I actually wish we could - for the good of all - roll things back a bit. But will settle for a moratorium. A good, long moratorium. Art From ajsiegel at optonline.net Sun Oct 9 17:14:30 2005 From: ajsiegel at optonline.net (Arthur) Date: Sun, 09 Oct 2005 11:14:30 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000801c5ccdf$62027a30$1702a8c0@BasementDell> Message-ID: <000901c5cce4$26202da0$1702a8c0@BasementDell> > -----Original Message----- > From: Arthur [mailto:ajsiegel at optonline.net] > Sent: Sunday, October 09, 2005 10:40 AM > To: 'Laura Creighton'; 'Arthur' > > Well - let me be the reactionary, again. Only because this subject is *so* significant to me, and I understand that I am subverting that seriousness by being the tongue-in-cheek "reactionary", let me restate and add some personal frame of reference. The elder sister I refer to, the one perhaps in the "history books", has not simply been among the women of her generation who have broken new ground for women in education and in the professions, she has applied her education and devoted a good deal of her professional life to the cause of women, particularly in giving women the ammunition they need to defend themselves as members of the workforce, in various ways, and on various fronts. And while I am not on board with every word of every law, and I recognize that this ammunition, like all ammunition, can be misdirected - I am certainly generally supportive of what she and her colleagues have accomplished. So again, I didn't want it be too easy to dismiss as the tongue-in-cheek reactionary. But.... First do no harm. Everything we can look to with any objective eye should tell us that it is the boys who are suffering most under the current atmosphere of our schools. And I see that absolutely clearly from my personal frame of reference. My feminist sisters see it absolutely clearly with their own children. And it is largely because the engineers have seen fit to denigrate the things boys gravitate toward, and the ways that they gravitate towards doing it. And that has been done largely in the interests of achieving fairness for girls - of the shallowest kind. By in fact making strengths of the exact weaknesses of women's culture that Laura articulates so well. Hardening those problems, rather than confronting and solving them. All done with the best of intentions, by human beings of various and sundry genders who have no right to expect otherwise - no right to expect that your ape of more than average intelligence would have be equipped to get this effort right. We are achieving shallow fairness at the expense of a deeper pervasive unfairness. Yes, and feminization. But feminization in the sense of what feminists are not supposed to want it to mean. Moratorium, at least until we get our heads on straight. Art > > With some reference back to David's point about "social engineering" and > its > deleterious effect on education. > > There is a long history of literature on the subject of the inevitable > destructiveness of just these kinds of engineering efforts - mostly an > outgrowth of the intellectual minority mustering some effort to confront > the > intellectual majority's pussyfooting on subjects like Marxism. > > Educators have done enough harm to boys already by trying to solve these > problems (in an atmosphere of duress), and more abstract, but real, harm > to > girls as well. > > More efforts will bring us more of the same. > > As a good reactionary, I actually wish we could - for the good of all - > roll > things back a bit. > > But will settle for a moratorium. > > A good, long moratorium. > > Art > > > > > From urnerk at qwest.net Sun Oct 9 17:37:40 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 9 Oct 2005 08:37:40 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000801c5ccdf$62027a30$1702a8c0@BasementDell> Message-ID: <20051009153741.695261E4008@bag.python.org> > But will settle for a moratorium. > > A good, long moratorium. > > Art > Just trying to get clear what there's a moratorium on. Educators doing something to right an imbalance of some kind? Sounds like we might want to be doing that, not slamming a door shut on. And your objection is something about pussyfooting and Marxism? Kirby From urnerk at qwest.net Sun Oct 9 17:54:43 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 9 Oct 2005 08:54:43 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000901c5cce4$26202da0$1702a8c0@BasementDell> Message-ID: <20051009155445.746031E4008@bag.python.org> > Moratorium, at least until we get our heads on straight. > > Art > OK, Art, much clearer that time. Amazing what a change in frequency will do. I want to back up and start earlier: there's not really a problem here, with women and math. They're good at it, period. In all dimensions. They just have a different trick set than boyz, because, like boyz, they've been around the block a number of times, but a lot of them were different blocks. We're not two species, as biologists understand the term, but those from Venus from Mars type books sell well for a reason: we're a somewhat different mix of ethnologies, on top of being different genetically. We're rather different distros of a same OS (however, the same could be said for ourselves as individuals -- we're unique on several different levels, yet have in common our human nature (although existentialists argued against there being one)). As a boy, I'm looking at a different rebalancing act: CS infuses math with new blood, changing its sex appeal in the process, and pretty much erasing the so-called "gender gap" -- however at a cost of making what boyz and girlz learn tomorrow, in terms of content-wise distance from what you learned when you and I were little, pretty vast. GPS starting 2nd grade, with earth.google.com. Stellarium. Celestia. You and I picked it up from reading, then looked up and saw light pollution and forgot the constellations. We were ignorant, and then we died. Cheerily, Kirby From ajsiegel at optonline.net Sun Oct 9 17:55:02 2005 From: ajsiegel at optonline.net (Arthur) Date: Sun, 09 Oct 2005 11:55:02 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <0IO300LPKNES5FC0@mta20.srv.hcvlny.cv.net> Message-ID: <000501c5cce9$d09d4060$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > Sent: Sunday, October 09, 2005 11:38 AM > To: 'Arthur'; 'Laura Creighton' > > > But will settle for a moratorium. > > > > A good, long moratorium. > > > > Art > > > > Just trying to get clear what there's a moratorium on. Educators doing > something to right an imbalance of some kind? Sounds like we might want > to > be doing that, not slamming a door shut on. And your objection is > something > about pussyfooting and Marxism? Am I incomprehensible to you because I talk over your head, or under it? Do you bother to read what I write? I am quite sure that there are intelligent responses to what I am trying to say. I am also just an ape of more than average intelligence. Your's doesn't qualify as an intelligent response. But you are denigrating, not responding. And - yes - as usual I think I am speaking at a level of substance that deserves more than that. And yes, I am taking the kind of counter position against which it is easy enough to take cheap shots - and sound like the one "in the loop". I would appreciate it if you resisted. Or at lest, first, made some effort to indicate you actual read what I wrote with some sensitivity. As a prelude to your denigrating response. But as you have said, you read what I write with a sense of from where it comes. And you have a right to (to be wrong) about that. Art From urnerk at qwest.net Sun Oct 9 18:34:50 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 9 Oct 2005 09:34:50 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <200510091137.j99BbPZM004842@theraft.strakt.com> Message-ID: <20051009163452.CB9B81E4026@bag.python.org> > This is part of the chemistry story. it attracts women who say the only > important reason for them to become chemists is that 'there were a lot > of women in it'. Which is rather hard on those of us who would like to > spread the succcess elsewhere. It means that if we could get even > moderately successful, we could probably snowball, but the first > step seems as hard as ever. > > Laura Hey Laura, I enjoy your bold pen stroke sketches of a female psyche and find the descriptions quite compelling, even in the presence of so many exceptions, i.e. women who don't fit that mold. That's not the point of stereotypes, and stereotypes have a way of being useful even as they quickly get obsolete (we diss them so strongly because they do, in fact, become highly misleading, as a culture evolves away from them). The movie and music club cultures that knit young people around memepools, have ways of changing the mix pretty significantly over fairly long periods of time. TV audiences of the 1960s would have been shocked at the antics on The Simpsons, but by now these characters treasured members of our human family. Generations fly by, and the dance between the sexes changes in the flow. Some futurists paint this ship-style ethic with males and females in unisex uniforms, the hierarchy just as obviously unisex, and blind to other such superficial differences (skin color, eye shape etc.). That brand of futurism reflects a present that's now past. Been there done that. Now we're more likely to see ourselves surviving in a remote, reality-TV wilderness, more like Indiana Jones than Star Trek, or more like Jacques Cousteau, with lots of high tech (aqua lungs and so forth). No, not neo-colonial. More like the aliens have landed (i.e. a next generation has come to mommy, aka to our shared Spaceship Earth). Happy landings kids. Kirby From ajsiegel at optonline.net Sun Oct 9 19:03:50 2005 From: ajsiegel at optonline.net (Arthur) Date: Sun, 09 Oct 2005 13:03:50 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <0IO300GZJO78GW31@mta15.srv.hcvlny.cv.net> Message-ID: <000501c5ccf3$6caccb70$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > Sent: Sunday, October 09, 2005 11:55 AM > To: 'Arthur'; 'Laura Creighton' > Cc: edu-sig at python.org; rev_anna_r at yahoo.com > Subject: RE: [Edu-sig] Microsoft's KPL > As a boy, I'm looking at a different rebalancing act: CS infuses math > with > new blood, changing its sex appeal in the process, and pretty much erasing > the so-called "gender gap" -- however at a cost of making what boyz and > girlz learn tomorrow, in terms of content-wise distance from what you > learned when you and I were little, pretty vast. GPS starting 2nd grade, > with earth.google.com. Stellarium. Celestia. You and I picked it up > from > reading, then looked up and saw light pollution and forgot the > constellations. We were ignorant, and then we died. Can't quite make you out, but do suspect that we remain on very different Celestia. In my world, we forgot to give enough attention to what, for example, a Mr. Felix Klein (1849-1925) was trying to tell us. We in fact consistently misread, misunderstand, misrepresent and misapply the potential of the best of the past to inform and map the future. In my program, we correct that mistake - letting the gender chips fall where they may, but strongly suspecting - done correctly (i.e. beautifully) they will fall where they should and to everyone's satisfaction. I have no place for GPS in my program. Art From urnerk at qwest.net Sun Oct 9 19:10:29 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 9 Oct 2005 10:10:29 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000501c5cce9$d09d4060$1702a8c0@BasementDell> Message-ID: <20051009171031.40BD91E4008@bag.python.org> > I would appreciate it if you resisted. > I *am* resisting. It sounds to me like you want to block important processing among expert educators by raising irrelevant specters, or rather, relevant specters in an irrelevant fashion. It is you who bring in Marxism as a key word, without context, and expect that to mean something to others. You presume a shared namespace. I find that presumptuous on your part. That's why I prefer when you delve into personal autobiography. Then you start to make a little more sense to me. > Or at lest, first, made some effort to indicate you actual read what I > wrote with some sensitivity. As a prelude to your denigrating response. It's not denigrating. More like: unless you can prove your desire to impose a moratorium is well founded, your wish may be ignored. On the other hand, maybe there's something important here. But you don't do enough to flesh it out (in this first post). You do better later. But if you think a word like "Marxism" is going to close an argument with me, think again. > But as you have said, you read what I write with a sense of from where it > comes. And you have a right to (to be wrong) about that. > > Art > > Yes, I have a right to be wrong. I also have a right to not include your code in my running version of the source, which is often copied by others, if I think your viewpoint is overly obstructive and/or obnoxious. But for now, I'm paused, waiting to see what your proposed moratorium might look like, whether it would interfere, assist or whatever. I'm still evaluating. Do you have any brand of futurism you could share, some scifi about what tomorrow should/could be like, were your desires met in higher degree? For my part, I do go public with a brand of futurism. I practice what I preach. And I tend to dismiss ideological camps unable to produce such scenery, even in sketch. Kirby From urnerk at qwest.net Sun Oct 9 19:20:59 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 9 Oct 2005 10:20:59 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000501c5ccf3$6caccb70$1702a8c0@BasementDell> Message-ID: <20051009172101.B3D251E4009@bag.python.org> > I have no place for GPS in my program. > > Art > That's perfectly fine, and so we compete, counter-recruit. You fill your school, I'll fill mine, and like that. GPS is important when driving a [Google?] bizmo to a point of interest. We train faculty in that skill, starting at a young age. "Earth awareness" is critical in the new curriculum, and segues to polyhedra, networks, ip protocols, shipping lines. Exercises involve knowing what time it is in Tokyo, when it's midnight in New York (reflexively, like the multiplication table used to be) -- so you don't wake someone asleep, so you don't miss your plane to OSCON or whatever. You and I never grew up with this kind of earth awareness. A kid in my tomorrow will be able point to the moon without hesitation, even when it's between his or her feet. More like airline pilots (which is why more of them will have pilot licenses, percentage-wise, than did those early car-driving kids). Kirby From ajsiegel at optonline.net Sun Oct 9 19:35:20 2005 From: ajsiegel at optonline.net (Arthur) Date: Sun, 09 Oct 2005 13:35:20 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000501c5ccf3$6caccb70$1702a8c0@BasementDell> Message-ID: <000001c5ccf7$d2811330$1702a8c0@BasementDell> > -----Original Message----- > From: Arthur [mailto:ajsiegel at optonline.net] > Sent: Sunday, October 09, 2005 1:04 PM > To: 'Kirby Urner'; 'Arthur'; 'Laura Creighton' > > I have no place for GPS in my program. Not never, BTW. It needs the proper gestation period before we can find beautiful things to do with it to enhance the educational experience. Maybe about the same 100 years we have given Klein. Heh - I should to leave something on the table for my great granddaughter to get to work on. Art From ajsiegel at optonline.net Sun Oct 9 19:44:03 2005 From: ajsiegel at optonline.net (Arthur) Date: Sun, 09 Oct 2005 13:44:03 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <0IO300F6ES70GNU1@mta30.srv.hcvlny.cv.net> Message-ID: <000101c5ccf9$0c385ab0$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > Sent: Sunday, October 09, 2005 1:21 PM > To: 'Arthur'; 'Laura Creighton' > Cc: edu-sig at python.org; rev_anna_r at yahoo.com > Subject: RE: [Edu-sig] Microsoft's KPL > knowing what time it is in Tokyo, when it's midnight in New York > (reflexively, like the multiplication table used to be) -- so you don't > wake > someone asleep, so you don't miss your plane to OSCON or whatever. What time it is in Tokyo, when it's midnight in New York? Outside the context the concept of the history of our confrontation with time and timekeeping, you are talking about trivialities. When my students have begun to understand something of the hidden depth connected to these questions, as for example as presented interestingly in "Einstein's Clocks, Poincare's Maps - Empires of Time" by Peter Galison 2003 and only then, might I allow a one word answer to the question of what time is it in Tokyo? Do you understand what time it is in Tokyo? According to whom? Art From urnerk at qwest.net Sun Oct 9 19:49:20 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 9 Oct 2005 10:49:20 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000001c5ccf7$d2811330$1702a8c0@BasementDell> Message-ID: <20051009174922.ED0A21E4008@bag.python.org> > Heh - I should to leave something on the table for my great granddaughter > to get to work on. > > Art > This work is too primal to just leave undone for another 100 years. What were we proposing to do in the meantime, just sit back and make money, watch people starve? They'd never forgive us, those grandchildren, rightfully. Kirby From ajsiegel at optonline.net Sun Oct 9 19:51:20 2005 From: ajsiegel at optonline.net (Arthur) Date: Sun, 09 Oct 2005 13:51:20 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <0IO300EJGTI9GZK1@mta22.srv.hcvlny.cv.net> Message-ID: <000201c5ccfa$0f59f090$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > Sent: Sunday, October 09, 2005 1:49 PM > > This work is too primal to just leave undone for another 100 years. What > were we proposing to do in the meantime, just sit back and make money, > watch > people starve? They'd never forgive us, those grandchildren, rightfully. The beautiful things that we are actually more than equipped to do now, as I have said, and as you pass over. Art From urnerk at qwest.net Sun Oct 9 19:52:47 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 9 Oct 2005 10:52:47 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000101c5ccf9$0c385ab0$1702a8c0@BasementDell> Message-ID: <20051009175248.8790F1E400A@bag.python.org> > What time it is in Tokyo, when it's midnight in New York? > I can't point to the moon either, but I'm working on it. Stellarium and Celestia a big help. OMSI too. > Outside the context the concept of the history of our confrontation with > time and timekeeping, you are talking about trivialities. > As in Trivium? Not really. Astra, along with Angulos (angles, geometry) was a Quadrivium subject. Still is. > When my students have begun to understand something of the hidden depth > connected to these questions, as for example as presented interestingly > in "Einstein's Clocks, Poincare's Maps - Empires of Time" by Peter Galison > 2003 and only then, might I allow a one word answer to the question of > what time is it in Tokyo? > > Do you understand what time it is in Tokyo? > > According to whom? > > Art > According to a network of atomic clocks synched with GPS satellites and monitored in Japan as surely as in Colorado. Kirby From urnerk at qwest.net Sun Oct 9 19:54:52 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 9 Oct 2005 10:54:52 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000201c5ccfa$0f59f090$1702a8c0@BasementDell> Message-ID: <20051009175453.988EF1E4009@bag.python.org> > The beautiful things that we are actually more than equipped to do now, as > I have said, and as you pass over. > > Art > We're equipped to rescue people from disaster now. There's nothing beautiful in not doing that. I'm not interested in your curriculum at this point. Nuff said. Kirby From ajsiegel at optonline.net Sun Oct 9 20:12:31 2005 From: ajsiegel at optonline.net (Arthur) Date: Sun, 09 Oct 2005 14:12:31 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <0IO300KSJTNZMKA1@mta30.srv.hcvlny.cv.net> Message-ID: <000001c5ccfd$04c70070$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > Sent: Sunday, October 09, 2005 1:53 PM > To: 'Arthur'; 'Laura Creighton' > According to a network of atomic clocks synched with GPS satellites and > monitored in Japan as surely as in Colorado. Triviality - outside of the history. My answer to your moral activist concerns, which I like to think I share in my way, is "mindfulness". Mindfulness depends on an appreciation of the evolution of things. The "Empires of Time" subheading to the Galison's book is somewhat a play on words, but in the most basic sense he means Empire, as in Roman Empire, British Empire. There is nothing at all inevitable - or scientific (ask the French revolutionists who tried to influence things otherwise) - about how we have come to express what time it is in Tokyo. What time is it in Tokyo? Have a year or two to discuss it? Art From urnerk at qwest.net Sun Oct 9 20:30:53 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 9 Oct 2005 11:30:53 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000001c5ccfd$04c70070$1702a8c0@BasementDell> Message-ID: <20051009183056.F0F701E4009@bag.python.org> > My answer to your moral activist concerns, which I like to think I share > in my way, is "mindfulness". > > Mindfulness depends on an appreciation of the evolution of things. > I can't help but translate this into some Buddhist namespace -- several are familiar to me. > The "Empires of Time" subheading to the Galison's book is somewhat a play > on words, but in the most basic sense he means Empire, as in Roman Empire, > British Empire. In Fuller's (RBF's) lexicon, some of which I've adopted, per Synergetics Dictionary (EJA), we speak of the East India Company, which his father worked for. Fuller himself drank tea to excess. I'm more inclined towards coffee (plus am also sometimes excessive). Speaking of coffee, I meant to include 'coffee drinkers' in my list of programmer nicknames: gemologists (Ruby), perl divers (duh), snake charmers (double duh), and now Java programmers. > There is nothing at all inevitable - or scientific (ask the French > revolutionists who tried to influence things otherwise) - about how we > have come to express what time it is in Tokyo. > > What time is it in Tokyo? > > Have a year or two to discuss it? > > Art You want this to be poetry or something? Airplanes have to land, computers have to communicate, phone calls have to occur. The details were worked out years ago, and are now basic infrastructure. To me, it sounds like you're saying we shouldn't teach basic infra to 2nd graders, by showing 'em their school via Google Earth. No, we have to wait for some teacher to wax poetic in like 10th grade, where they maybe give it some existentialist spin (all highly irrelevant). I'm not talking about airy fairy stuff, I'm talking basic logistics. Think of Dutch kids learning about dikes. "This is why we're not all under water kids." If GPS is off by a second of an arc, a lot of people could die. Remember in Louisiana when that guy on the porch shouted to CBS News that they should turn on the pumps. He was right, and that's what the military was working on (generals got involved). But first the pumps hadda be pumped out by other pumps, pumps that got floated into place by boat. Then Rita hit. Kirby From ajsiegel at optonline.net Sun Oct 9 21:22:08 2005 From: ajsiegel at optonline.net (Arthur) Date: Sun, 09 Oct 2005 15:22:08 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <0IO300K2BRPIYJT0@mta20.srv.hcvlny.cv.net> Message-ID: <000001c5cd06$bf18d260$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > Sent: Sunday, October 09, 2005 1:10 PM > To: 'Arthur'; 'Laura Creighton' > > It is you who bring in Marxism as a key word, without context, and expect > that to mean something to others. You presume a shared namespace. I find > that presumptuous on your part. > > That's why I prefer when you delve into personal autobiography. Then you > start to make a little more sense to me. Without going into great autobiographical detail - I suspect that I have in fact had more potato pancakes prepared for me by and have spoken at more gravesides of folks who had been members of the Communist Party in its heyday - then most people on the list. So the understanding and respect I developed for the intellectual enemies of who these folks close to me at least at one time were, is not something that came overly lightly to me. And yes I see some relevance between my respect for those thinkers and the rejection of certain kinds of engineering efforts, that include a good deal of the engineering efforts made in the interests of gender fairness. No bogeymen. Just some intellectual honesty. Art From urnerk at qwest.net Sun Oct 9 21:36:26 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 9 Oct 2005 12:36:26 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000001c5cd06$bf18d260$1702a8c0@BasementDell> Message-ID: <20051009193627.DB1FE1E4009@bag.python.org> > Just some intellectual honesty. > > Art > Yes, and all highly ethnographic and not necessarily relevant history to others on this list, either. And me? I grew up in Rome, with the Communist Party just another decal, with candidates, rhetoric and so on, along with whatever exotic anarcho-crypto-fascist-christo-maniacal cults or whatever. It'd be like having a Gothic Party in some teen wasteland cross-national namespace of today (lotsa web sites), one that keeps running Batman for president (and sometimes he wins). Election day was always a zoo in Rome. Later I moved to the Philippines. Martial law government, lots of quiet American types yukking it up by the Embassy pool (US marines'd salute our car as we drove onto base, Clark or Subic, in search of cheap scuba, given our high civilian ranking). I do like potato pancakes and eat them with liberal Jewish and Buddhist families sometimes. I also eat falafel, Mexican, and lots of Thai. A bumper sticker around here: Keep Portland Weird. Kirby From ajsiegel at optonline.net Sun Oct 9 21:38:19 2005 From: ajsiegel at optonline.net (Arthur) Date: Sun, 09 Oct 2005 15:38:19 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <0IO300GO2VFJ77G0@mta13.srv.hcvlny.cv.net> Message-ID: <000001c5cd09$012b1e90$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > Sent: Sunday, October 09, 2005 2:31 PM > To: 'Arthur'; 'Laura Creighton' > > In Fuller's (RBF's) lexicon, some of which I've adopted, per Synergetics > Dictionary (EJA), we speak of the East India Company Yeah those folks are a big part of the story. It would probably be some other time in Tokyo, as we speak (at least in a manner of speaking) were that history not there. Come on - work it in somewhere to your GPS story ;) Art From ajsiegel at optonline.net Sun Oct 9 21:41:44 2005 From: ajsiegel at optonline.net (Arthur) Date: Sun, 09 Oct 2005 15:41:44 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <0IO300GTVYGQTJN0@mta13.srv.hcvlny.cv.net> Message-ID: <000101c5cd09$7bce13f0$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > Sent: Sunday, October 09, 2005 3:36 PM > To: 'Arthur'; 'Laura Creighton' > Cc: edu-sig at python.org; rev_anna_r at yahoo.com > Subject: RE: [Edu-sig] Microsoft's KPL > > > Just some intellectual honesty. > > > > Art > > > > Yes, and all highly ethnographic and not necessarily relevant history to > others on this list, either. Well you've just earned a "fuck you". Fuck you. I never thought it was, but you specifically asked for the autobiographical content. So I gave it to you The content of relevance is intellectual. I can't help that you don't comprehend it. Art From urnerk at qwest.net Sun Oct 9 21:53:26 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 9 Oct 2005 12:53:26 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000101c5cd09$7bce13f0$1702a8c0@BasementDell> Message-ID: <20051009195329.90CED1E4009@bag.python.org> > > > Just some intellectual honesty. > > > > > > Art > > > > > > > Yes, and all highly ethnographic and not necessarily relevant history to > > others on this list, either. > > Well you've just earned a "fuck you". > > Fuck you. > > I never thought it was, but you specifically asked for the > autobiographical content. So I gave it to you Yes I specifically asked, and as I suspected, it turned out to be highly relevant. You make no sense without autobiography, is my point. Then I turn around and point that out. And you say fuck you, like it's not the same with me (but I gave you my autobio too, just as interesting and relevant as yours, and not presuming anything much about Marxism). > The content of relevance is intellectual. I can't help that you don't > comprehend it. > > Art Your mind is one of the many beautiful. That doesn't mean you get to go around declaring moratoria for fatwahs or whatever it is -- at least not in such a way that I have to listen (like, I will if it fits into my schedule). People are free to walk out on my lectures, or check email while half-listening. I'm not saying my opinions are gold compared to yours. I'm saying I don't have to share them, and I *especially* don't have to when you expect your meanings to be crystal clear when they're so obviously not. You still haven't shared a scifi vision. Point to some movie already made if that's not too much trouble. What is your preferred near future outcome? How are you invested? All I know so far is you plan to have grandchildren, or already have them, and you want her to read Klein. Not clear about potato pancakes -- probably OK right? My kid eats mangos. My cupboard contains dried bananas and seaweed sometimes. Kirby From urnerk at qwest.net Sun Oct 9 22:09:13 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 9 Oct 2005 13:09:13 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000001c5cd09$012b1e90$1702a8c0@BasementDell> Message-ID: <20051009200917.8A31A1E400B@bag.python.org> > > In Fuller's (RBF's) lexicon, some of which I've adopted, per Synergetics > > Dictionary (EJA), we speak of the East India Company > > Yeah those folks are a big part of the story. > Correctamundo. Especially in Japan. Kirby From ajsiegel at optonline.net Sun Oct 9 22:15:58 2005 From: ajsiegel at optonline.net (Arthur) Date: Sun, 09 Oct 2005 16:15:58 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000101c5cd09$7bce13f0$1702a8c0@BasementDell> Message-ID: <000001c5cd0e$43c223c0$1702a8c0@BasementDell> > -----Original Message----- > From: Arthur [mailto:ajsiegel at optonline.net] > Sent: Sunday, October 09, 2005 3:42 PM > To: 'Kirby Urner'; 'Arthur'; 'Laura Creighton' > > > > Yes, and all highly ethnographic and not necessarily relevant history to > > others on this list, either. > > Well you've just earned a "fuck you". > > Fuck you. > > I never thought it was, but you specifically asked for the > autobiographical > content. So I gave it to you > > The content of relevance is intellectual. I can't help that you don't > comprehend it. The fact that most of what I have tried to read of Fuller sounds to me like ego-centric gibberish - in the course of this discussion I looked in again at the Grunch book and find it mostly unreadable, and to the extent comprehensible, not worth comprehending because it only states the obvious in unobvious ways --- I toss it off to the fact that I have not made enough of an effort to study the man's thought to be in a position to say much, and my definite impressions - though there - are not been worthy of mention. Take a clue. Art From urnerk at qwest.net Sun Oct 9 22:29:49 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 9 Oct 2005 13:29:49 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000001c5cd0e$43c223c0$1702a8c0@BasementDell> Message-ID: <20051009202954.761891E4009@bag.python.org> > I toss it off to the fact that I have not made enough of an effort to > study the man's thought to be in a position to say much, and my definite > impressions - though there - are not been worthy of mention. > > Take a clue. > > Art > But I'm a walking prickly pear of clues, so if you'd wanted to delve deeply, I'm pretty much out there, and have been for years. My OSCON 2005 presentation for starters, heavily promoted on this very list: includes some EJA bio, plus RBF in a 2 minute video segment (at the event, in our Portland Convention Center venue, an MPEG played via some Windows version of Pygame, on my Toshiba A60, hooked to speakers). I don't suppose everyone else makes the same choices you do. Here on edu-sig, I'm more about Python than Fuller, though of late our scope has somewhat broadened to include some twilight zone irrelevancies, plus of course I've edu-sig.saved('a lot of pro synergetics concentric hierarchy') polemics over the years. Kirby From ajsiegel at optonline.net Sun Oct 9 22:36:23 2005 From: ajsiegel at optonline.net (Arthur) Date: Sun, 09 Oct 2005 16:36:23 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <0IO300ASVZZGRD31@mta25.srv.hcvlny.cv.net> Message-ID: <000001c5cd11$1e9d2380$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > Sent: Sunday, October 09, 2005 4:09 PM > To: 'Arthur'; 'Laura Creighton' > > > > In Fuller's (RBF's) lexicon, some of which I've adopted, per > Synergetics > > > Dictionary (EJA), we speak of the East India Company > > > > Yeah those folks are a big part of the story. > > > > Correctamundo. Especially in Japan. What it boiled down to is the in the time these shots were getting called the most advanced technology available to allow a decent determination of what was when, which is intimately tied to the question of what is where (longitude measurement, etc.) - was the underwater cabling. The history of the East India Company was the main reason that the Brits laid and controlled the bulk of those cables. So that even the French had in the end to go to through the Brits infrastructure when they wanted to map there own Empire. Which in the end gave the Brits the power to call the shots as to what time it is in Tokyo today. All of which - BTW - is only a sub-thread of the Galison book. Which is more directly about the efforts to apply technology to precision timekeeping and its direct relation to the formation of theoretical physics - most directly the contributions of Poincare and Einstein. 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. Which doesn't even yet touch on the Poincare thread - which is the heart of the book. Good read. Art From chandrakirti at gmail.com Sun Oct 9 22:36:52 2005 From: chandrakirti at gmail.com (Lloyd Hugh Allen) Date: Sun, 9 Oct 2005 16:36:52 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000101c5cd09$7bce13f0$1702a8c0@BasementDell> References: <0IO300GTVYGQTJN0@mta13.srv.hcvlny.cv.net> <000101c5cd09$7bce13f0$1702a8c0@BasementDell> Message-ID: <24d253d90510091336n3e35779bw4ea137ac3f8ef505@mail.gmail.com> On 10/9/05, Arthur wrote: > > > > -----Original Message----- > > From: Kirby Urner [mailto:urnerk at qwest.net] > > Sent: Sunday, October 09, 2005 3:36 PM > > To: 'Arthur'; 'Laura Creighton' > > Cc: edu-sig at python.org; rev_anna_r at yahoo.com > > Subject: RE: [Edu-sig] Microsoft's KPL > > > > > Just some intellectual honesty. > > > > > > Art > > > > > > > Yes, and all highly ethnographic and not necessarily relevant history to > > others on this list, either. > > Well you've just earned a "fuck you". > > Fuck you. Children! Can you please chill out until I get my email filters to work correctly so that threads that include both Arthur and Kirby automatically bypass the inbox? Please? From ajsiegel at optonline.net Sun Oct 9 22:54:55 2005 From: ajsiegel at optonline.net (Arthur) Date: Sun, 09 Oct 2005 16:54:55 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <24d253d90510091336n3e35779bw4ea137ac3f8ef505@mail.gmail.com> Message-ID: <000001c5cd13$b50b8170$1702a8c0@BasementDell> > > Fuck you. > > Children! > > Can you please chill out until I get my email filters to work > correctly so that threads that include both Arthur and Kirby > automatically bypass the inbox? Please? Timing issue. How we will when that is? Art From dreedmac at columbus.rr.com Sun Oct 9 22:59:42 2005 From: dreedmac at columbus.rr.com (David Reed) Date: Sun, 9 Oct 2005 16:59:42 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <24d253d90510091336n3e35779bw4ea137ac3f8ef505@mail.gmail.com> References: <0IO300GTVYGQTJN0@mta13.srv.hcvlny.cv.net> <000101c5cd09$7bce13f0$1702a8c0@BasementDell> <24d253d90510091336n3e35779bw4ea137ac3f8ef505@mail.gmail.com> Message-ID: On Oct 9, 2005, at 4:36 PM, Lloyd Hugh Allen wrote: > On 10/9/05, Arthur wrote: > >> >> >> >>> -----Original Message----- >>> From: Kirby Urner [mailto:urnerk at qwest.net] >>> Sent: Sunday, October 09, 2005 3:36 PM >>> To: 'Arthur'; 'Laura Creighton' >>> Cc: edu-sig at python.org; rev_anna_r at yahoo.com >>> Subject: RE: [Edu-sig] Microsoft's KPL >>> >>> >>>> Just some intellectual honesty. >>>> >>>> Art >>>> >>>> >>> >>> Yes, and all highly ethnographic and not necessarily relevant >>> history to >>> others on this list, either. >>> >> >> Well you've just earned a "fuck you". >> >> Fuck you. >> > > Children! > > Can you please chill out until I get my email filters to work > correctly so that threads that include both Arthur and Kirby > automatically bypass the inbox? Please? This thread appears to have gotten seriously off-topic. Art & Kirby, will the two of you please take these exchanges off the list? Both of you contribute useful information much of the time, but I'm afraid many people (including myself) will filter both of you into their trash and miss those if you can't keep these more "personal" off- topic exchanges off the list. Thanks, Dave From urnerk at qwest.net Mon Oct 10 00:15:17 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 9 Oct 2005 15:15:17 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <24d253d90510091336n3e35779bw4ea137ac3f8ef505@mail.gmail.com> Message-ID: <20051009221519.30AAD1E4077@bag.python.org> > > Well you've just earned a "fuck you". > > > > Fuck you. > > Children! > > Can you please chill out until I get my email filters to work > correctly so that threads that include both Arthur and Kirby > automatically bypass the inbox? Please? First, I'm not responsible for the above language (even through I spun it in my reply). Second, I don't care if you filter, that doesn't concern me, sorry they're not working for you now. I've seen this behavior in Arthur on another list (he said the same thing to Gerald) and this time I've decided not to ignore it. My apologies if it's a problem for you. I agree it's far from Python per se (but not from Pythonic Mathematics of the type I promote), but I don't get off topic all that often and feel I'm within my rights to archive a little more in this thread. Then I'll quit, don't you worry. I need to establish, for future reference, why I don't have to read Arthur's stuff if he always assumes we (he and I) share a namespace (which we do not, in large degree -- I think that much is by now obvious, my investment in the Fuller lexicon, or his lack thereof, a part of the explanation). Kirby From urnerk at qwest.net Mon Oct 10 00:21:58 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 9 Oct 2005 15:21:58 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: Message-ID: <20051009222159.66EC51E4009@bag.python.org> > This thread appears to have gotten seriously off-topic. Art & Kirby, > will the two of you please take these exchanges off the list? Both of > you contribute useful information much of the time, but I'm afraid > many people (including myself) will filter both of you into their > trash and miss those if you can't keep these more "personal" off- > topic exchanges off the list. > > Thanks, > Dave > I think I'm done now, but I don't particularly appreciate these inept efforts to moderate by spectator/lurkers. If you were following more closely, you'd understand there were implications for Python, in that I use both it and the CP4E moniker (cp4d.html @ 4dsolutions.net, Oregon Curriculum Network) to spin a certain style of curriculum (what I call Pythonic Mathematics), and this is making waves in some bathtubs & teapots. *Some* readers, I'll hazard, will someday be *glad* Arthur and I duked it out in public a little. It'll help 'em think about the actions that followed. Anyway, let's be glad edu-sig isn't just a bunch of computer nerds with no clue. At least *I'm* happy. Kirby From urnerk at qwest.net Mon Oct 10 00:46:55 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 9 Oct 2005 15:46:55 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000001c5cd11$1e9d2380$1702a8c0@BasementDell> Message-ID: <20051009224658.9010B1E4009@bag.python.org> > Good read. > > Art > Thanks for the summary. Sounds like an ISEPP lecture (isepp.org). Speaking of ISEPP, I've got a boat meeting set up with the Wanderers CEO, Don Wardwell (wwwanderers.org). Gonna float on Meliptus near PDX out on the Columbia 'til mom calls, flying in from SoCal, at which point I'll pick her up in the Subaru. So I'm outta here. Then I've got to get back to that pruning algorithm for Lanahan of Flextegrity, as 4D Solutions is being paid a commission for Python + POV-Ray work. Lanahan was Fuller's traveling companion that time they were guests at Malaca?ang Palace -- Imelda made sure they got some better shoes [1]. More details on Synergeo (@ groups.yahoo). Or find me on wittgenstein-dialognet if you want to talk philosophy. I'll try to be a good boy now. Urner out. [1] http://worldgame.blogspot.com/2005/08/flextegrity_18.html From Scott.Daniels at Acm.Org Mon Oct 10 02:48:56 2005 From: Scott.Daniels at Acm.Org (Scott David Daniels) Date: Sun, 09 Oct 2005 17:48:56 -0700 Subject: [Edu-sig] Basic dictionary question In-Reply-To: <20051009055443.59A131E4008@bag.python.org> References: <20051009055443.59A131E4008@bag.python.org> Message-ID: Kirby Urner wrote: > Talk about fishing for expert help! > > Thanks Guido. > > It's a pruning algorithm where I strip way pieces that don't meet up at > (x,y,z) bridge points. Lots of symmetry about the origin so just pure > distance won't work (not unique enough). > > I think might still get away with a tuple-indexed dict (tallying for pairs, > pruning the rest) if I boil my floating points down to fixed decimals -- a > chance to play with the new decimal type perhaps. Beware: 1.999999999999999 and 2.000000000001 likely won't lie in the same bin. You'll need to check neighbors for candidates, unless your fixed point stuff reflects an underlying granularity. -- Scott David Daniels Scott.Daniels at Acm.Org From radenski at chapman.edu Mon Oct 10 05:42:22 2005 From: radenski at chapman.edu (Radenski, Atanas) Date: Sun, 9 Oct 2005 20:42:22 -0700 Subject: [Edu-sig] Microsoft's KPL Message-ID: ________________________________ From: Anna Martelli Ravenscroft [mailto:rev_anna_r at yahoo.com] >On Sat, 2005-10-08 at 18:25 -0700, Radenski, Atanas wrote: >> > -----Original Message----- >> > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] >> On > > Behalf Of Arthur >> > Beauty is beauty, and is never useful. >> >> 'Beautiful' is what gives us pleasure. (Things that give us pleasure can >> be useful at times, perhaps.) > >It is selfish to do thing simply for pleasure. It is not necessarily selfish to do things simply for pleasure. It can be a most natural, harmless, and acceptable activity. Imagine I am looking at a flower, the flower is beautiful, looking at it gives me pleasure, so I continue looking just for the pleasure of it, but why should that be called 'selfish'? >Women are raised to be unselfish. Really? All of them? >Anna Atanas From urnerk at qwest.net Mon Oct 10 06:56:52 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 9 Oct 2005 21:56:52 -0700 Subject: [Edu-sig] Basic dictionary question In-Reply-To: Message-ID: <20051010045652.D66881E4009@bag.python.org> > Beware: > 1.999999999999999 and 2.000000000001 likely won't lie in the same > bin. You'll need to check neighbors for candidates, unless your fixed > point stuff reflects an underlying granularity. > > -- Scott David Daniels > Scott.Daniels at Acm.Org Thanks for the heads up Scott. I'm translating a volume 3 cube around in a 3D checkerboard, trying to flag all kitty-corner mid-edges (my bridge points), but not flagging border-line edges where the connector tabs shouldn't appear -- some large borg-like array of icosahedra connected by zig-zag tensed bands (Lanahan's patent pending). See http://www.4dsolutions.net/satacad/pythonicmath/icosa_in_holder.jpg for a picture of a unit cell (the array might contain thousands). So the XYZ tuples of interest are indeed highly distinct and in a regular grid pattern. It's just that there're a whole lot of them, and if I could find a hash key that'd keep only the unique ones unique and ignore floating point fuzz, I'd be set. Any pairing/doubling would define a bridge point, and therefore a green light to render a tab connector. I think the key is probably to transform the grid by scaling, such that my mid-edge points of interest get expressed using all integer coordinates. Even though my actual map is floating point, the isomorphism will work for pruning, and the tuples'll be easy to manage (so maybe scratch the decimal type idea for now). I'll post again when I have more research behind me and either a solution or concrete frustration in sight -- not before. Kirby From ajsiegel at optonline.net Mon Oct 10 07:12:03 2005 From: ajsiegel at optonline.net (Arthur) Date: Mon, 10 Oct 2005 01:12:03 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <0IO4002L37A9D221@mta20.srv.hcvlny.cv.net> Message-ID: <000001c5cd59$27a5fc20$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > > Speaking of ISEPP, I've got a boat meeting set up with the Wanderers CEO, > Don Wardwell (wwwanderers.org). Maybe you should invite Dave and Lloyd to the Wanderers homepage as well: """ Science would be ruined if it were to withdraw entirely into narrowly defined specialties. The rare scholars who are wanderers-by-choice are essential to the intellectual welfare of the settled disciplines -- Benoit Mandelbrot """ Art From guido at python.org Mon Oct 10 16:42:34 2005 From: guido at python.org (Guido van Rossum) Date: Mon, 10 Oct 2005 07:42:34 -0700 Subject: [Edu-sig] Basic dictionary question In-Reply-To: <20051010045652.D66881E4009@bag.python.org> References: <20051010045652.D66881E4009@bag.python.org> Message-ID: On 10/9/05, Kirby Urner wrote: > I'll post again when I have more research behind me and either a solution or > concrete frustration in sight -- not before. I think you should just sort them by (x, y, z) and then comb through the list looking for near-adjacent matches. Basically you have to compare each point to all points following it in the list until the x coordinate is more than epsilon away. -- --Guido van Rossum (home page: http://www.python.org/~guido/) From Scott.Daniels at Acm.Org Mon Oct 10 19:17:48 2005 From: Scott.Daniels at Acm.Org (Scott David Daniels) Date: Mon, 10 Oct 2005 10:17:48 -0700 Subject: [Edu-sig] Basic dictionary question In-Reply-To: <20051010045652.D66881E4009@bag.python.org> References: <20051010045652.D66881E4009@bag.python.org> Message-ID: Kirby Urner wrote: > I'm translating a volume 3 cube around in a 3D checkerboard, trying to flag > all kitty-corner mid-edges (my bridge points), but not flagging border-line > edges where the connector tabs shouldn't appear -- some large borg-like > array of icosahedra connected by zig-zag tensed bands (Lanahan's patent > pending). > > See http://www.4dsolutions.net/satacad/pythonicmath/icosa_in_holder.jpg for > a picture of a unit cell (the array might contain thousands). > > So the XYZ tuples of interest are indeed highly distinct and in a regular > grid pattern. It's just that there're a whole lot of them, and if I could > find a hash key that'd keep only the unique ones unique and ignore floating > point fuzz, I'd be set. Any pairing/doubling would define a bridge point, > and therefore a green light to render a tab connector. > > I think the key is probably to transform the grid by scaling, such that my > mid-edge points of interest get expressed using all integer coordinates. > Even though my actual map is floating point, the isomorphism will work for > pruning, and the tuples'll be easy to manage (so maybe scratch the decimal > type idea for now). > > I'll post again when I have more research behind me and either a solution or > concrete frustration in sight -- not before. > > Kirby Does something like this work? The idea is two exact matches on the discretization and one off-by-one on the third discretization merits a check. discrete(point) gives the "integer-ized" coordinates. There is some fancy dancing to avoid the distance check (done as the square just to avoid a few square roots) unless possibly helpful. It only tries to solve "near-misses" (skips exact matches) on the theory you can already get the exact matches from a dictionary. def clustered(source_of_points, threshold2) xy = {} xz = {} yz = {} for point in source_of_points: ix, iy, iz = discrete(point) xy.setdefault([]).append((iz, point)) xz.setdefault([]).append((iy, point)) yz.setdefault([]).append((ix, point)) for collection in (xy, xz, yz): for parts in collection.itervalues(): if len(parts) > 1: parts.sort() for (da, a), (db, b) in zip(parts, parts[1:]): if 0 <= db - da <= 1: if 0 < dist2(a, b) < threshold2: yield a, b -- -- Scott David Daniels Scott.Daniels at Acm.Org From urnerk at qwest.net Mon Oct 10 21:28:08 2005 From: urnerk at qwest.net (Kirby Urner) Date: Mon, 10 Oct 2005 12:28:08 -0700 Subject: [Edu-sig] Basic dictionary question In-Reply-To: <20051010045652.D66881E4009@bag.python.org> Message-ID: <20051010192855.92B851E4007@bag.python.org> > I'll post again when I have more research behind me and either a solution > or concrete frustration in sight -- not before. > > Kirby OK, I've got a solution working. Here's an interim result: http://www.4dsolutions.net/satacad/pythonicmath/connectorstudy2.jpg Notice how the zigzag metal bands connect jade icosahedra and don't clutter the unit cell otherwise, i.e. no extra tabs that don't go through bridge points. I ended up using a feature specific to my vector class: the bridge points all had 4-tuple signatures with floats = multiples of 1/2. So I used a little round and chop function that appears to have worked: @staticmethod def _mktuple(qray): thecoords = qray.coords thelist = [] for c in thecoords: t = float(str(round(c,5))[:4]) thelist.append(t) return tuple(thelist) The 4-tuples are all positive, even in xyz octants w/ negatives, thanks to quadray vector algebra. I stuffed 'em into a dict like this: def add2pairs(adict, thekeys): for newkey in thekeys: adict[newkey] = adict.get(newkey,0) + 1 return addict ...then permitted only those with value = 2 to render. Special thanks to Guido and Scott for helping me grabble with this issue. Kirby Note: Here's the stuff photographed in time/size (vs. rendered): http://www.4dsolutions.net/satacad/pythonicmath/lanahan_artifact.jpg (photo by Dave Ulmer @ Linus Pauling House, wwwanderers.org) From john.zelle at wartburg.edu Mon Oct 10 23:41:39 2005 From: john.zelle at wartburg.edu (John Zelle) Date: Mon, 10 Oct 2005 16:41:39 -0500 Subject: [Edu-sig] Basic dictionary question In-Reply-To: <20051010192855.92B851E4007@bag.python.org> References: <20051010192855.92B851E4007@bag.python.org> Message-ID: <434AE013.3070605@wartburg.edu> Kirby, Do you have a left and right stereo pair on that rendering? I just can't make heads or tails of it w/o true 3D :-) --John Kirby Urner wrote: >>I'll post again when I have more research behind me and either a solution >>or concrete frustration in sight -- not before. >> >>Kirby > > > OK, I've got a solution working. Here's an interim result: > http://www.4dsolutions.net/satacad/pythonicmath/connectorstudy2.jpg > > Notice how the zigzag metal bands connect jade icosahedra and don't clutter > the unit cell otherwise, i.e. no extra tabs that don't go through bridge > points. > > I ended up using a feature specific to my vector class: the bridge points > all had 4-tuple signatures with floats = multiples of 1/2. So I used a > little round and chop function that appears to have worked: > > @staticmethod > def _mktuple(qray): > thecoords = qray.coords > thelist = [] > for c in thecoords: > t = float(str(round(c,5))[:4]) > thelist.append(t) > return tuple(thelist) > > The 4-tuples are all positive, even in xyz octants w/ negatives, thanks to > quadray vector algebra. I stuffed 'em into a dict like this: > > def add2pairs(adict, thekeys): > for newkey in thekeys: > adict[newkey] = adict.get(newkey,0) + 1 > return addict > > ...then permitted only those with value = 2 to render. > > Special thanks to Guido and Scott for helping me grabble with this issue. > > Kirby > > Note: > > Here's the stuff photographed in time/size (vs. rendered): > http://www.4dsolutions.net/satacad/pythonicmath/lanahan_artifact.jpg > (photo by Dave Ulmer @ Linus Pauling House, wwwanderers.org) > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > -- John M. Zelle, Ph.D. Wartburg College Professor of Computer Science Waverly, IA john.zelle at wartburg.edu (319) 352-8360 From urnerk at qwest.net Tue Oct 11 16:51:30 2005 From: urnerk at qwest.net (Kirby Urner) Date: Tue, 11 Oct 2005 07:51:30 -0700 Subject: [Edu-sig] Basic dictionary question In-Reply-To: <434AE013.3070605@wartburg.edu> Message-ID: <20051011145132.EE94F1E400A@bag.python.org> I know there's an easy POV-Ray solution to create cross-eyed stereo, or parallax, for free viewing (no glasses). I've trafficked in those a lot, am pretty good looking cross-eyed. I might post my POV-Ray source over in Synergeo and see if Brawley might re-render it for me, in stereo mode. Or better, I should restudy the technique and learn it meself. Rrrrrrr. Kirby > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of John Zelle > Sent: Monday, October 10, 2005 2:42 PM > To: edu-sig at python.org > Subject: Re: [Edu-sig] Basic dictionary question > > Kirby, > > Do you have a left and right stereo pair on that rendering? I just can't > make heads or tails of it w/o true 3D :-) > > --John From ajsiegel at optonline.net Tue Oct 11 16:51:37 2005 From: ajsiegel at optonline.net (Arthur) Date: Tue, 11 Oct 2005 10:51:37 -0400 Subject: [Edu-sig] Microsoft's KPL Message-ID: <000001c5ce73$49d6ec30$1702a8c0@BasementDell> 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 From urnerk at qwest.net Tue Oct 11 17:27:14 2005 From: urnerk at qwest.net (Kirby Urner) Date: Tue, 11 Oct 2005 08:27:14 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <000001c5ce73$49d6ec30$1702a8c0@BasementDell> Message-ID: <20051011152716.048BB1E400A@bag.python.org> > >office in Switzerland - where the timekeeping action has always been - Wait a minute, isn't Kirby secretly Swiss? Or was that Bill Mahrer (HBO)? Uh, ok, not so secret then. Kirby From ajsiegel at optonline.net Wed Oct 12 03:16:51 2005 From: ajsiegel at optonline.net (Arthur) Date: Tue, 11 Oct 2005 21:16:51 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <0IO700CSDC9E3FF0@mta13.srv.hcvlny.cv.net> Message-ID: <003301c5ceca$a089d3b0$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > To: 'Arthur'; edu-sig at python.org > Subject: RE: [Edu-sig] Microsoft's KPL > > > >office in Switzerland - where the timekeeping action has always been - > > > > Wait a minute, isn't Kirby secretly Swiss? Or was that Bill Mahrer (HBO)? > > > > Uh, ok, not so secret then. > > More ethnographic irrelevancy? Great. ;) (I think, see below) The most accomplished and devoted clocksmith within my frame of reference is an old friend, and high school teacher. He would expose his industrial arts students to some of this craft and his passion for it, until he was closed down and retrained into a craftless and passionless Java teacher. Which I guess is progress to the extent we insist on measuring progress in terms of technological content, and weight technological content by year, such that anything from 2000 and before is multiplied by Zero. Note: >From Kirby's follow-up measure to my blowing my cool, I am suspecting that he did not mean to berate me for offering the (irrelevant to the list) information he had asked me to offer. So I accept the probability that there was a misunderstanding involved. But at least we learned the further irrelevant fact of the kind of thing of which I am capable. But certainly not generally in response to criticism of the irrelevancy of something I might post - except should it come from someone who asked me to post it. Art From ajsiegel at optonline.net Wed Oct 12 03:27:41 2005 From: ajsiegel at optonline.net (Arthur) Date: Tue, 11 Oct 2005 21:27:41 -0400 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <003301c5ceca$a089d3b0$1702a8c0@BasementDell> Message-ID: <000001c5cecc$24337710$1702a8c0@BasementDell> > -----Original Message----- > From: Arthur [mailto:ajsiegel at optonline.net] > -- except should it come from someone who asked me to > post it. > My irrelevancies are almost exclusively self-propelled. So everyone who ever was - except for Kirby, once - is quite safe. Art From urnerk at qwest.net Wed Oct 12 06:30:00 2005 From: urnerk at qwest.net (Kirby Urner) Date: Tue, 11 Oct 2005 21:30:00 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <003301c5ceca$a089d3b0$1702a8c0@BasementDell> Message-ID: <20051012043004.1FBAA1E4002@bag.python.org> > From Kirby's follow-up measure to my blowing my cool, I am suspecting > that he did not mean to berate me for offering the (irrelevant to the > list) information he had asked me to offer. So I accept the probability > that there was a misunderstanding involved. Exactly right. I was saying: look, your background as former CP indoctrinated or whatever can't possibly be common knowledge to people on this list (we simply mustn't presume this shared context/namespace) and so please, in future, if at all possible, supply ample autobio and fleshing out, especially when asking for moratoria or fatwahs, as we cannot possibly be expected to just absorb such context from the ether, as if every intellectual alive "just knows" what Marxism is about etc. etc. Forty years ago maybe, but not now. Not even then (a lot of innocent people got caught in the cross-fire and *still* don't know what hit 'em). So what I'm saying is, again: autobio is NOT irrelevant. That's why I've been offering mine, that's why I encourage you to keep offering yours. My "not of interest to the list" was not a put-down, just meant "this is not shared background, not everybody-knows stuff." You need to fill us in. You need to see that as your responsibility, and no one else's. I think you leave too much out, try too hard to be pithy. We can't be expected to track. That's all I was saying. Kirby From urnerk at qwest.net Wed Oct 12 16:14:39 2005 From: urnerk at qwest.net (Kirby Urner) Date: Wed, 12 Oct 2005 07:14:39 -0700 Subject: [Edu-sig] Microsoft's KPL In-Reply-To: <20051012043004.1FBAA1E4002@bag.python.org> Message-ID: <20051012141442.588DE1E4002@bag.python.org> > My "not of interest to the list" was not a put-down, just meant "this > is not shared background, not everybody-knows stuff." Note: My exact words were: "not necessarily relevant history to others on this list, either." I was NOT saying: therefore shut up about it (even though I'd encouraged you to share your history). I was saying: more please, if you're going to keep taking strong positions and emphasizing how strongly you feel about them. Because you can't rightly expect your version of history to be what others on this list have considered as a relevant telling, me included. All this applies to me as well. I need to publish my version of history too, for context -- and do, though more at my web sites than here. OK, I think that must be crystal clear. Of course you don't have to follow my advice, and of course I'm free, if you don't, to stop trying to understand your posts, or even read them. Kirby From ajsiegel at optonline.net Wed Oct 12 16:48:00 2005 From: ajsiegel at optonline.net (Arthur) Date: Wed, 12 Oct 2005 10:48:00 -0400 Subject: [Edu-sig] Uniform Access Principle confusion In-Reply-To: <000001c5ce73$49d6ec30$1702a8c0@BasementDell> Message-ID: <000301c5cf3b$f17eb440$1702a8c0@BasementDell> > Behalf Of Arthur > > 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. Clarifying what I mean here, and asking some real questions at the same time. No, I don't think writing code in Python is so free as to be more subject to the problems of programmer error, but that's OK because it is good for learning. What I do mean perhaps goes back to the discussion of properties and the Uniform Access Principle. There are languages that believe so strongly in the importance of the UAP, that it is imposed within the design of the language - from what I see Ruby and Eiffel offering the strictest implementations. But if one were to be learning programming from, say Ruby, it seems to me that there are at least two things that it will be near impossible to discover: 1) The basis for a conclusion that the Uniform Access Principle should be considered an inviolate principle. 2) The basis for a conclusion that it should not be. Because one cannot explore the possibilities (and problems) of working both within and outside of it. The Python environment - providing properties as a convenience for exploring the possibilities of working within it, and the ability to ignore them for exploring the possibilities of working without - seems optimum. For learners/explorers - for sure. But I would expect for fully grown-up programmers as all. That being said - still not getting the UAP thing. Which seems to be saying that distinguishing between assigned attributes and methods that do not take parameters is an implementation detail, and hiding it, benefits (is essential to) API design flexibility - via a decoupling. But why is distinguishing between methods that do and do not take parameters any more justified, and isn't doing so its own kind of violation of a principle of decoupling. None of this questioning coming from the abstract realm - because I am exploring in a language that does inhibit exploration. If anyone is still reading... One of the cases in which I used properties and thought I had it right - on the getting of a vector I wanted the return, for purposed of drawing, to be constrained to some MAX value, which is a module level constant. So I had a method that would return a constrained vector, and since the vector itself was a plain attribute, it felt right to flatten this constrained version of a vector via a property. Now I find there are advantages to having the MAX value be sensitive to certain conditions of the caller. And I want the caller to call the method with a MAX value that is appropriate to its needs. So I have no choice but to de-propertize the method. In the case of Kirby's Triangle angle, might it be wise to avoid the possibility of exploding any spacecraft, and insist that a contract be formed with the caller so that the caller must specify whether they are expecting the return value in radians or degrees? Seems maybe yes. But that requires a parameter, though changes nothing else about what the angle is in relation to the Triangle. So the UAP is not getting through here. Art From urnerk at qwest.net Wed Oct 12 20:24:58 2005 From: urnerk at qwest.net (Kirby Urner) Date: Wed, 12 Oct 2005 11:24:58 -0700 Subject: [Edu-sig] Uniform Access Principle confusion In-Reply-To: <000301c5cf3b$f17eb440$1702a8c0@BasementDell> Message-ID: <20051012182458.CD7511E4002@bag.python.org> > In the case of Kirby's Triangle angle, might it be wise to avoid the > possibility of exploding any spacecraft, and insist that a contract be > formed with the caller so that the caller must specify whether they are > expecting the return value in radians or degrees? Seems maybe yes. But > that requires a parameter, though changes nothing else about what the > angle is in relation to the Triangle. > > So the UAP is not getting through here. > > Art Note that passing an argument is not the only way to tell an object stuff like "my preferred unit of measure." That could also be regarded as a change in state, and be handled with another attribute, e.g.: >>> Triangle.anglemeasure = 'degrees' # set default class attribute >>> mytri = Triangle((30,60,90)) # instantiate using degrees >>> mytri.anglemeasure = 'radians' # change state on instance >>> mytri.C # consult angle 1.5707963267948966 >>> mytri = mytri * 2 # double size -- angles unaffected >>> mytri.anglemeasure = 'degrees' # change reporting unit >>> mytri.C # consult angle (again) 90.0 I'm not claiming this approach is in any ultimate sense better. I'm merely pointing out that this is another approach. Kirby From chuck at freshsources.com Thu Oct 13 04:25:56 2005 From: chuck at freshsources.com (Chuck Allison) Date: Wed, 12 Oct 2005 20:25:56 -0600 Subject: [Edu-sig] Low Enrollments In-Reply-To: <20051012182458.CD7511E4002@bag.python.org> References: <000301c5cf3b$f17eb440$1702a8c0@BasementDell> <20051012182458.CD7511E4002@bag.python.org> Message-ID: <1104941339.20051012202556@freshsources.com> Hello EDU-SIG, CS enrollments seem to be dropping drastically everywhere. Many factors probably are at fault (dot-com bust, off-shoring hype), but there seem to be others. One in particular is that so few HS graduates seem ready analytically to join in. This is a problem to discuss elsewhere, I suppose, but I was wondering if you could point me to info (such as cp4e - I've only heard the name) that can be considered to help the cause. I'd like to know how to better recruit from the secondary schools, and also how to influence them to better prepare students. I know Kirby is deep into this. I'd like to know what I can do as a college professor. The demand for CS expertise isn't going away, and the jobs are starting to come back now, but with fewer locals to fill them, off-shoring will only increase. I'd like to see our citizens consider CS as viable as business or law. I mean, someone has to do the "real work" :-). Honestly, I can't imagine a field that better combines both sides of the brain with a service ethic and a dimension of fun than CS. But it looks like so much nerd-ness or drivel to the uninitiated. Any ideas would be appreciated. -- Best regards, Chuck From cpif at handysoftware.com Thu Oct 13 05:45:02 2005 From: cpif at handysoftware.com (David Handy) Date: Wed, 12 Oct 2005 23:45:02 -0400 Subject: [Edu-sig] Low Enrollments In-Reply-To: <1104941339.20051012202556@freshsources.com> References: <000301c5cf3b$f17eb440$1702a8c0@BasementDell> <20051012182458.CD7511E4002@bag.python.org> <1104941339.20051012202556@freshsources.com> Message-ID: <20051013034502.GC1521@arno2> On Wed, Oct 12, 2005 at 08:25:56PM -0600, Chuck Allison wrote: > Hello EDU-SIG, > > CS enrollments seem to be dropping drastically everywhere. Many > factors probably are at fault (dot-com bust, off-shoring hype), but > there seem to be others. One in particular is that so few HS > graduates seem ready analytically to join in. > ... > > Honestly, I can't imagine a field that better combines both sides of > the brain with a service ethic and a dimension of fun than CS. But > it looks like so much nerd-ness or drivel to the uninitiated. > > Any ideas would be appreciated. I noticed a profound shift occur at Glencoe High School in Hillsboro, Oregon between 1985 (when I graduated from there) and 1995-1998 when I visited there to give talks for national engineering week. In one memorable experience, I spoke to the Biochemistry students, in the same classroom where I had taken that same class a decade earlier. These were the top 20 math and science students in the school. I asked how many of them wanted to become engineers. I got zero responses. I was floored. Based on my experience of the past, I had expected least a handful! I said "engineering is a good career, it pays good money, why are you not interested?" One kid raised his hand and said "It's too hard." Another volunteered, "Yeah, I have a friend who is an engineering student and he has to work all the time." I was dumbfounded. It appeared as if these kids thought there was a hard road to success and an easy road to the same success, so planned to take the easy road. Chuck, we are up against a more difficult problem than just making CS look cool. CS is fun, of course, but it is also hard work, there is no disguising that. If the rising generation doesn't have the work ethic, there is really no substitute. In my experience, I noticed that among the successful American-born engineering students, a significant number of them had been raised on farms, where they had to get up at 5am every morning to milk the cows. In other words, they knew how to work. So what did I do? When I lived back in Oregon, we moved out to the country and we had goats and chickens, and my boys went out with me morning and evening to milk the goats. Now that we live in a different environment in North Carolina, I have taken a different route and have the boys help me in our home publishing business. They have gotten pretty good at binding books. (Just a little plug: anyone who buys my book is contributing to my children's education in multiple ways.) David H -- David Handy Computer Programming is Fun! Beginning Computer Programming with Python http://www.handysoftware.com/cpif/ From chuck at freshsources.com Thu Oct 13 06:01:31 2005 From: chuck at freshsources.com (Chuck Allison) Date: Wed, 12 Oct 2005 22:01:31 -0600 Subject: [Edu-sig] Low Enrollments In-Reply-To: <20051013034502.GC1521@arno2> References: <000301c5cf3b$f17eb440$1702a8c0@BasementDell> <20051012182458.CD7511E4002@bag.python.org> <1104941339.20051012202556@freshsources.com> <20051013034502.GC1521@arno2> Message-ID: <92193025.20051012220131@freshsources.com> Hello David, This makes so much sense it's scary. Except I don't know how to explain myself. I was a deprived city-slicker who did not know how to work. College woke me up. But to be brutally honest, I didn't have anything else to do but go to college, and I had no other area of strength besides mathematics, so that's where I started. Not typical, I suppose. But I totally agree - the work ethic is diminishing. But if we can "wake some up" like I was awakened, we can grab a few good ones, no? Now that you mention it, we took special pains to teach our children to work (without a farm - they had to earn what they got). My son is now a stellar Ph.D. candidate in M.E. at U. of Mich. My daughter is a devoted mother of two and a culinary artist. Food for thought (sic). As an interesting data point, most of our students are older and/or married and/or working, so we're doing okay there. It's getting them into the program in the first place that's the problem. But I'm sure that across the country many bail because of the work issue. Good insight. Wednesday, October 12, 2005, 9:45:02 PM, you wrote: DH> On Wed, Oct 12, 2005 at 08:25:56PM -0600, Chuck Allison wrote: >> Hello EDU-SIG, >> >> CS enrollments seem to be dropping drastically everywhere. Many >> factors probably are at fault (dot-com bust, off-shoring hype), but >> there seem to be others. One in particular is that so few HS >> graduates seem ready analytically to join in. >> DH> ... >> >> Honestly, I can't imagine a field that better combines both sides of >> the brain with a service ethic and a dimension of fun than CS. But >> it looks like so much nerd-ness or drivel to the uninitiated. >> >> Any ideas would be appreciated. DH> I noticed a profound shift occur at Glencoe High School in Hillsboro, Oregon DH> between 1985 (when I graduated from there) and 1995-1998 when I visited DH> there to give talks for national engineering week. In one memorable DH> experience, I spoke to the Biochemistry students, in the same classroom DH> where I had taken that same class a decade earlier. These were the top 20 DH> math and science students in the school. I asked how many of them wanted to DH> become engineers. I got zero responses. I was floored. Based on my DH> experience of the past, I had expected least a handful! I said "engineering DH> is a good career, it pays good money, why are you not interested?" One kid DH> raised his hand and said "It's too hard." Another volunteered, "Yeah, I have DH> a friend who is an engineering student and he has to work all the time." I DH> was dumbfounded. It appeared as if these kids thought there was a hard road DH> to success and an easy road to the same success, so planned to take the easy DH> road. DH> Chuck, we are up against a more difficult problem than just making CS look DH> cool. CS is fun, of course, but it is also hard work, there is no disguising DH> that. If the rising generation doesn't have the work ethic, there is really DH> no substitute. DH> In my experience, I noticed that among the successful American-born DH> engineering students, a significant number of them had been raised on farms, DH> where they had to get up at 5am every morning to milk the cows. In other DH> words, they knew how to work. So what did I do? When I lived back in DH> Oregon, we moved out to the country and we had goats and chickens, and my DH> boys went out with me morning and evening to milk the goats. Now that we DH> live in a different environment in North Carolina, I have taken a different DH> route and have the boys help me in our home publishing business. They have DH> gotten pretty good at binding books. (Just a little plug: anyone who buys my DH> book is contributing to my children's education in multiple ways.) DH> David H -- Best regards, Chuck From wescpy at gmail.com Thu Oct 13 06:15:28 2005 From: wescpy at gmail.com (w chun) Date: Wed, 12 Oct 2005 21:15:28 -0700 Subject: [Edu-sig] Low Enrollments In-Reply-To: <20051013034502.GC1521@arno2> References: <000301c5cf3b$f17eb440$1702a8c0@BasementDell> <20051012182458.CD7511E4002@bag.python.org> <1104941339.20051012202556@freshsources.com> <20051013034502.GC1521@arno2> Message-ID: <78b3a9580510122115v115dd8actc3c6b0e4c81d42ca@mail.gmail.com> On 10/12/05, David Handy wrote: > On Wed, Oct 12, 2005 at 08:25:56PM -0600, Chuck Allison wrote: > > > > CS enrollments seem to be dropping drastically everywhere. Many > > factors probably are at fault (dot-com bust, off-shoring hype), but > > there seem to be others. One in particular is that so few HS > > graduates seem ready analytically to join in.. > > I noticed a profound shift occur at Glencoe High School... > ... > I asked how many of them wanted to > become engineers. I got zero responses. I was floored. > ... > Chuck, we are up against a more difficult problem than just making CS look > cool. CS is fun, of course, but it is also hard work, there is no disguising > that. If the rising generation doesn't have the work ethic, there is really > no substitute. > > In my experience, I noticed that among the successful American-born > engineering students, a significant number of them had been raised on farms, > > David H chuck, david, yes, this is very disturbing indeed. as a society, i think we are definitely "falling behind." it's true that most HS grads are *not* ready for the rigors of engineering in college. i too, graduated HS in 1985 when it wasn't all that bad. when i completed grad school 10 years later, i did notice that the *majority* of graduate students in the CS dept were born overseas. it's not that we *don't* have the talent, but that they have been diverted elsewhere. sadly, i don't see this trend reversing anytime soon, and yes, this will make offshoring even more attractive to employers. i (mostly) joke that in 20 years from now, i'll be flipping burgers. i hope that it doesn't get to that point. if we lose our ability to innovate, that's the end of the US as we know it. this country is founded on innovation and hard work -- does this come from the farmland too? i feel that we are definitely losing the edge in everything science and math-oriented. people are not taking care of themselves... we are getting fat and lazy, letting other people do the dirty work for us. in a way, this applies to your argument. why should i do the hard work when someone else will do it for me (and more cheaply). we can only slow it down with wonderful tools like python. jeffrey elkner and other educators have seen better retention rates in their classes, but still, i don't want this to be just a stem in the tide. somehow, good-paying, hard-working, and smart need to be attractive to people as something that they want to be. we don't offshore our medical services right? there still need to be doctors; their presense is locally required. unfortunately, that isn't necessarily true for engineering. oh, and to answer your original inquiry, here's a link to CP4E: http://www.python.org/cp4e/ -- wesley - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "Core Python Programming", Prentice Hall, (c)2006,2001 http://corepython.com wesley.j.chun :: wescpy-at-gmail.com cyberweb.consulting : silicon valley, ca http://cyberwebconsulting.com From tjd at sfu.ca Thu Oct 13 08:35:36 2005 From: tjd at sfu.ca (Toby Donaldson) Date: Wed, 12 Oct 2005 23:35:36 -0700 Subject: [Edu-sig] Low Enrollments Message-ID: >I noticed a profound shift occur at Glencoe High School in Hillsboro, > Oregon between 1985 (when I graduated from there) and 1995-1998 when > I visited there to give talks for national engineering week. In one > memorable experience, I spoke to the Biochemistry students, in the > same classroom where I had taken that same class a decade > earlier. These were the top 20 math and science students in the > school. I asked how many of them wanted to become engineers. I got > zero responses. I was floored. Based on my experience of the past, I > had expected least a handful! I said "engineering is a good career, > it pays good money, why are you not interested?" One kid raised his > hand and said "It's too hard." Another volunteered, "Yeah, I have a > friend who is an engineering student and he has to work all the > time." I was dumbfounded. It appeared as if these kids thought there > was a hard road to success and an easy road to the same success, so > planned to take the easy road. Hmm, is this just the "kids today are lazy and didn't work as hard as I did in my day" argument? I don't buy that one. Kids today are no less lazy than at any other time in history. Perhaps they have more opportunity for leisure, but many still say they want to become doctors or nurses or lawyers --- careers that require lots of education and hard work. I think when a kid says "engineering is too hard", they are also saying that they don't see the rewards of engineering as very significant. I really don't see kids as being afraid to work hard; quite the opposite, I am often amazed at how hard students will work on something that is interesting and valuable to them. Doctors and nurses make a difference every day. This is why they put up with grueling work schedules. They love their jobs, and they see first-hand the difference they make. The rewards are tangible and obvious ("for every death a birth, for every sickness a cure"). Do programmers make a difference? Not according to the typical CS PR: programming is something that is "fun", "cool", and so easy to do that anyone can master it. You know, like bowling. A fun, rewarding activity that anyone can get good at with a little practice. I think the rhetoric of "cool" and "fun" is a fine way to get younger kids interested in programming, but it depresses me to see university CS programs advertise the same way. It's like a medical school enticing students to take their program by showing you how cool it is to be a Beverley Hills plastic surgeon. I think CS is a field that makes a difference; I just don't think CS educators (such as myself) communicate this very well. Or maybe the answer is simply that the 50-year bubble that CS has been riding has finally popped? Maybe we are just in the middle of an inevitable "correction"? It's not like CS saw the web coming! Toby From peter at mapledesign.co.uk Thu Oct 13 09:57:04 2005 From: peter at mapledesign.co.uk (Peter Bowyer) Date: Thu, 13 Oct 2005 08:57:04 +0100 Subject: [Edu-sig] Low Enrollments In-Reply-To: References: Message-ID: <6.2.3.4.0.20051013085000.03d422d8@127.0.0.1> At 07:35 13/10/2005, Toby Donaldson wrote: >I think when a kid says "engineering is too hard", they are also >saying that they don't see the rewards of engineering as very >significant. I really don't see kids as being afraid to work hard; >quite the opposite, I am often amazed at how hard students will work >on something that is interesting and valuable to them. Could it also be because Engineering is never advertised as being creative? Certainly when I was looking at doing civil & environmental engineering it was sold as "You get to direct large machines, follow someone else's plans, and make sure the concrete is poured in the right place". OK a bit of an overexaggeration, but no creativity or innovation appeared in the description. I would have loved to study cartography or photography which would satisfy my creativity, but neither had good job prospects, so I did physics instead (which is supposed to - if you want to employ a masters graduate who's done his project on teaching programming to unwilling physics undergraduates, contact me). >Doctors and nurses make a difference every day. This is why they put >up with grueling work schedules. They love their jobs, and they see >first-hand the difference they make. The rewards are tangible and >obvious ("for every death a birth, for every sickness a cure"). Mind you that applies to most jobs, from journalist to author to teacher to musician. I've yet to meet a passionate accountant, which leads me back to the role of creativity in a job. Peter -- Maple Design - quality web design and programming http://www.mapledesign.co.uk From ajsiegel at optonline.net Thu Oct 13 10:08:36 2005 From: ajsiegel at optonline.net (Arthur) Date: Thu, 13 Oct 2005 04:08:36 -0400 Subject: [Edu-sig] Low Enrollments In-Reply-To: <92193025.20051012220131@freshsources.com> Message-ID: <000001c5cfcd$50f0a280$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Chuck Allison > Sent: Thursday, October 13, 2005 12:02 AM > To: David Handy > > As an interesting data point, most of our students are older and/or > married and/or working, so we're doing okay there. It's getting them > into the program in the first place that's the problem. But I'm sure > that across the country many bail because of the work issue. Good > insight. I think this is an interesting datapoint. Kids grow up in the US, just slower. Among the reasons, I think, that things like Law attract so many brighter students is that no commitment to it is required before graduate school. One can be a sort of dissolute undergraduate dabbling in any of the softer, less demanding Liberal Arts, knowing that one is not ready to commit to any difficult and demanding course of study - and then "hit a books" in a serious way first as a graduate student. Business School is another example. There is nothing equivalent in the sciences. The structure is such that one can only go down that road if one makes the decision to do so early - as a practical matter before many students are ready to make such a commitment/decision. Even if, given time, that is the decision they might be likely to make. Because by the time they might, they are prerequisited out of the game. Science programs, including computer science programs, that kicked in later in a student's career might help as a work-around. Art From ajsiegel at optonline.net Thu Oct 13 16:11:55 2005 From: ajsiegel at optonline.net (Arthur) Date: Thu, 13 Oct 2005 10:11:55 -0400 Subject: [Edu-sig] Low Enrollments In-Reply-To: <6.2.3.4.0.20051013085000.03d422d8@127.0.0.1> Message-ID: <000001c5d000$119b6060$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Peter Bowyer > Sent: Thursday, October 13, 2005 3:57 AM > To: edu-sig at python.org > Subject: Re: [Edu-sig] Low Enrollments > > > Could it also be because Engineering is never advertised as being > creative? Certainly when I was looking at doing civil & > environmental engineering it was sold as "You get to direct large > machines, follow someone else's plans, and make sure the concrete is > poured in the right place". OK a bit of an overexaggeration, but no > creativity or innovation appeared in the description. Like learning Java. Art From david at handysoftware.com Thu Oct 13 17:47:49 2005 From: david at handysoftware.com (David Handy) Date: Thu, 13 Oct 2005 11:47:49 -0400 Subject: [Edu-sig] Low Enrollments In-Reply-To: References: Message-ID: <20051013154749.GA4649@arno2> On Wed, Oct 12, 2005 at 11:35:36PM -0700, Toby Donaldson wrote: > > It appeared as if these kids thought there was a hard road to success > > and an easy road to the same success, so planned to take the easy road. > > Hmm, is this just the "kids today are lazy and didn't work as hard as > I did in my day" argument? I don't buy that one. Kids today are no > less lazy than at any other time in history. Perhaps they have more > opportunity for leisure, but many still say they want to become > doctors or nurses or lawyers --- careers that require lots of > education and hard work. I wasn't speaking about all kids everywhere in the world. But unfortunately I have several more data points to show there really was a problem among American kids in Oregon in the 1990's. I read reported statistics that said Oregon was one of the bottom states of the US in terms of kids wanting to go into *any* technical profession. I saw reports in the media of scholarship programs and training programs with seats going empty for lack of interest. The programming and electronics classes at Glencoe High were both canceled for lack of interest. Kirby is in better touch with the pulse of things back in Oregon now than I am. Hopefully he has witnessed a rebound, hopefully things have gotten better. But I believe there really was a dip in the 1990's. > I think when a kid says "engineering is too hard", they are also > saying that they don't see the rewards of engineering as very > significant. I really don't see kids as being afraid to work hard; > quite the opposite, I am often amazed at how hard students will work > on something that is interesting and valuable to them. Yes it is true that people find ways to work hard at things that interest them; somehow many have a hard time finding something that is interesting and valuable to them! Unfortunately, the majority of this group told me that they were "undecided" on what they wanted to major in. In particular I don't remember any saying they wanted to become doctors, etc. It seemed like we had a group of kids who were college-bound because their parents had money, but they were unmotivated. Hopefully they became "late-bloomers" and "found themselves" later on. I didn't want to come across as saying "kids today are lazy" so much as to emphasize that I've seen the correlation between a willingness to work -- including physical labor -- and entering and succeeding in technical fields of study. Good parents take note and prepare your children accordingly. On a related note, I have also noticed a lack of confidence, a fear of failure, contributing to people being unwilling to try difficult technical studies. Somehow someone has to convince them they can do it. In my case it was my father who boosted my confidence. The parents' attitude makes a big difference. I remember teaching a programming seminar to a group of 12-year-olds as part of a Boy Scouts activity. One young man kept saying over and over "I'm just no good at this stuff" even though (1) he had never tried before, so how did he know he wasn't good at it? and (2) he understood and followed all the directions perfectly. But I know why he said he was "no good at this stuff" -- I had overheard his father saying that exact same thing. David H From ajsiegel at optonline.net Thu Oct 13 18:33:33 2005 From: ajsiegel at optonline.net (Arthur) Date: Thu, 13 Oct 2005 12:33:33 -0400 Subject: [Edu-sig] Uniform Access Principle confusion In-Reply-To: <0IO9005R6F5LKAR7@mta23.srv.hcvlny.cv.net> Message-ID: <000001c5d013$db8e0180$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > Sent: Wednesday, October 12, 2005 2:25 PM > To: 'Arthur'; edu-sig at python.org > Subject: RE: [Edu-sig] Uniform Access Principle confusion > > > Note that passing an argument is not the only way to tell an object stuff > like "my preferred unit of measure." That could also be regarded as a > change in state, and be handled with another attribute, e.g.: > > >>> Triangle.anglemeasure = 'degrees' # set default class attribute > >>> mytri = Triangle((30,60,90)) # instantiate using degrees But in my (perhaps overly strict) way of OO thinking the unit of measure is an attribute of the angle, not of the Triangle. Is there a way to a accomplish a "change of state" of the angle "attribute", other by sending it a parameter? Art From ajsiegel at optonline.net Thu Oct 13 19:25:35 2005 From: ajsiegel at optonline.net (Arthur) Date: Thu, 13 Oct 2005 13:25:35 -0400 Subject: [Edu-sig] Low Enrollments In-Reply-To: <20051013154749.GA4649@arno2> Message-ID: <000001c5d01b$1ff6f5a0$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of David Handy > Sent: Thursday, October 13, 2005 11:48 AM > To: Toby Donaldson > Cc: edu-sig at python.org > Subject: Re: [Edu-sig] Low Enrollments > > It seemed like we had a group of kids who were college-bound because their > parents had money, but they were unmotivated. Hopefully they became > "late-bloomers" and "found themselves" later on. Which is consistent with the point of my previous post - once they might bloom a bit, technical subjects no longer seem like an option. They just reconcile to the "fact" that they have missed the boat, unless they are unusual enough to be willing to in some sense "start over". Can't help thinking that a program geared to older students, on a graduate school level, that assumed little in the way of accomplished pre-requisites, would help the cause. I don't think this is totally unrealistic since, on the graduate school level, a degree of commitment and maturity of the students can be assumed that is not so at the undergraduate level. So the intensiveness of what might need to be accomplished to get somewhere substantial in, say, a 3 year program is not necessarily be pie-in-the-sky. Law School tends to be intense in that way. But my sense that those schools are filled with late-bloomers looking/wanting to get intensive - but with no particular commitment to the study of Law. Its just that, as things are, that seems to be a path accepting of their previous educational background, whatever that might happen to be. Though it is certainly true that folks at this stage are quite career oriented, and that if the root problem is connected to off-shoring, maybe nothing will help. One of the founders of Intel gave an long interview on public television last night, and spoke extensively on this subject. He considers himself a pessimist on this subject, at least as to where the US is going. Though I felt his ire was quite misdirected, seeming to be pointing the finger at the religionists influence on the respect for science. I guess only those of us truly unaffiliated can wonder out loud how much of the disrespect for science is a (certainly unintended) side effect of the efforts to engineer gender fairness. Art From ajsiegel at optonline.net Thu Oct 13 19:51:26 2005 From: ajsiegel at optonline.net (Arthur) Date: Thu, 13 Oct 2005 13:51:26 -0400 Subject: [Edu-sig] Low Enrollments In-Reply-To: <000001c5d01b$1ff6f5a0$1702a8c0@BasementDell> Message-ID: <000001c5d01e$bcdeee10$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Arthur > Sent: Thursday, October 13, 2005 1:26 PM > To: 'David Handy'; 'Toby Donaldson' > Though I felt his ire was quite misdirected, seeming to be pointing the > finger at the religionists influence on the respect for science. The sense of him be off-base here not totally uninfluenced by having recently browsed a book of Donald Knuth's MIT lectures on Christian belief. Art From urnerk at qwest.net Thu Oct 13 23:01:07 2005 From: urnerk at qwest.net (Kirby Urner) Date: Thu, 13 Oct 2005 14:01:07 -0700 Subject: [Edu-sig] Low Enrollments In-Reply-To: <20051013154749.GA4649@arno2> Message-ID: <20051013210112.12FC41E4002@bag.python.org> > Kirby is in better touch with the pulse of things back in Oregon now than > I am. Hopefully he has witnessed a rebound, hopefully things have gotten > better. But I believe there really was a dip in the 1990's. > Not sure about a rebound yet. Free Geek (freegeek.org) has been an important influence in Greater Portland, in getting a lot of kids through the Build Program and onto Linux. I think that's a good route, as the Build Program is also about recycling and community service. Plus it's very hands on and Free Geek has way of making technology accessible -- lots of interesting junk to play with, friendly people to answer questions. I often see lots of kids there (including last Tuesday -- for our Portland Python Interest Group meeting). More NGOs like Free Geek are sorely needed IMO if only to cut down on recyclable stuff going to landfills. I have two blog entries of possible interest on this theme (each fairly short). This very recent entry re Saturday Academy summarizes a 20 year attempt to recruit more native engineering talent in Oregon (mentions "work ethic"): http://worldgame.blogspot.com/2005/10/saturday-academy.html And then there's this older one about a visit from Dr. Wulf, president of the National Academy of Engineering (about creativity): http://mybizmo.blogspot.com/2005/04/last-isepp-lecture-2005.html howtoons.org and Make: Magazine (O'Reilly) represent attempts to counter technophobia among the young. Probably another factor behind technophobia is fewer teens work on their own cars anymore (engines have gotten more complicated), plus we don't fix so much as replace electronic components (there's less to repair). Another take: http://chronicle.com/forums/colloquy/read.php?f=1&i=5123&t=5092 That's me replying to Chris Stephenson, head of Computer Science Teachers Association, his post being here: http://chronicle.com/forums/colloquy/read.php?f=1&i=5109&t=5092 (The article we're referring to is I think only available to subscribers) Kirby From urnerk at qwest.net Fri Oct 14 01:34:34 2005 From: urnerk at qwest.net (Kirby Urner) Date: Thu, 13 Oct 2005 16:34:34 -0700 Subject: [Edu-sig] Uniform Access Principle confusion In-Reply-To: <000001c5d013$db8e0180$1702a8c0@BasementDell> Message-ID: <20051013233440.068581E4002@bag.python.org> > But in my (perhaps overly strict) way of OO thinking the unit of measure > is an attribute of the angle, not of the Triangle. > I think of the unit of measure more as an attribute of the viewer, so if this were MVC-style OO, we'd probably keep the model in some internal unit, perhaps integer, while translating to time/size units (e.g. ergs) per some request into the model by a view, as mediated by the controller. For example, with the Triangle class, we might just define __slots__ for 3 xyz tuples (per your point re __slots__, yes, for economy in memory) -- and that's it. A viewer class might glom on and suck down a reference to a triangle object, and from self's three slots spit back all angle and edge measures, in whatever language or units. A French Imperial bot could spit back in French. > Is there a way to a accomplish a "change of state" of the angle > "attribute", other by sending it a parameter? > > Art > Well, you could do as follows: >>> mytri = Triangle() >>> mytri.C.degrees 90 >>> mytri.C.radians 1.5707963267948966 In this case, the angles are thought of as "sub objects" each with their own sets of attributes, in this case both radian and angle measure. The subobjects might also support actions, e.g. mytri.C.break() or mytri.C.colorize('Red') -- note verbs. Just mytri.Cd and mytri.Cr would likely be less confusing (degrees and radians respectively -- we maybe don't know if these are implemented as properties unless we have access to the source code). Note that many programmers visualize a GUI on an object, when coding with it, i.e. they'll translate the published API, all spelled out in formal syntax, in terms of slider bars, popup menus, other widgets (it's like the cockpit of an airplane, once the objects get complicated and plentiful enough). That's like a customized "programmer specific" view *into* a model. The model itself contains to views. I saw some examples of this the other night at PORPIG. Dylan projected some Zope 3 off his Linux laptop, showing a simple 'hello world' object being defined in terms of MVC. A .py file defines M. V is handled by interfaces (links to another template XML: .zcml). These go in product subdirectories. C (the Controller) is Zope itself in this case i.e. py classes + interfaces + Zope = MVC. Kirby From urnerk at qwest.net Fri Oct 14 01:49:35 2005 From: urnerk at qwest.net (Kirby Urner) Date: Thu, 13 Oct 2005 16:49:35 -0700 Subject: [Edu-sig] Uniform Access Principle confusion In-Reply-To: <20051013233440.068581E4002@bag.python.org> Message-ID: <20051013234939.A782C1E4002@bag.python.org> > model. The model itself contains to views. That should have been: "The model itself contains NO views." I was doing MVC earlier a bit on this list: http://mail.python.org/pipermail/edu-sig/2005-August/005087.html To see where our discussion of the Triangle class begins check: http://mail.python.org/pipermail/edu-sig/2005-August/005057.html (this later became a discussion of the Python properties feature, plus decorators). For a good example of a Zope 3 project check out SchoolTool: http://www.schooltool.org/ Kirby From ajsiegel at optonline.net Fri Oct 14 02:35:47 2005 From: ajsiegel at optonline.net (Arthur) Date: Thu, 13 Oct 2005 20:35:47 -0400 Subject: [Edu-sig] Uniform Access Principle confusion In-Reply-To: <0IOB00AJQO5QH6D1@mta17.srv.hcvlny.cv.net> Message-ID: <000a01c5d057$3a87fd10$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > Sent: Thursday, October 13, 2005 7:35 PM > To: 'Arthur'; edu-sig at python.org > Subject: RE: [Edu-sig] Uniform Access Principle confusion > > > >>> mytri = Triangle() > >>> mytri.C.degrees > 90 > >>> mytri.C.radians > 1.5707963267948966 Well that looks simple, elegant, and straightforward enough for my purposes. Is there a simple elegant and straightforward way to implement this API in Python that I am missing? I know better than to assume that I don't miss the obvious when it comes to this stuff. Art From urnerk at qwest.net Fri Oct 14 03:32:36 2005 From: urnerk at qwest.net (Kirby Urner) Date: Thu, 13 Oct 2005 18:32:36 -0700 Subject: [Edu-sig] Uniform Access Principle confusion In-Reply-To: <000a01c5d057$3a87fd10$1702a8c0@BasementDell> Message-ID: <20051014013248.ED80F1E4002@bag.python.org> > > >>> mytri = Triangle() > > >>> mytri.C.degrees > > 90 > > >>> mytri.C.radians > > 1.5707963267948966 > > Well that looks simple, elegant, and straightforward enough for my > purposes. > > > Is there a simple elegant and straightforward way to implement this API in > Python that I am missing? I know better than to assume that I don't miss > the obvious when it comes to this stuff. > > Art > > >>> class Angle (object): def __init__(self, thevalue): self.value = float(thevalue) @property def degrees(self): return self.value @property def radians(self): return math.radians(self.value) >>> class Triangle (object): def __init__(self, A=30, B=60, C=90): self.A = Angle(A) self.B = Angle(B) self.C = Angle(C) >>> mytri = Triangle() >>> mytri.C.degrees 90.0 >>> mytri.C.radians 1.5707963267948966 >>> mytri.A.degrees 30.0 >>> mytri.A.radians 0.52359877559829882 Kirby From ajsiegel at optonline.net Fri Oct 14 04:30:01 2005 From: ajsiegel at optonline.net (Arthur) Date: Thu, 13 Oct 2005 22:30:01 -0400 Subject: [Edu-sig] Uniform Access Principle confusion In-Reply-To: <0IOB0080BTMN1YP1@mta19.srv.hcvlny.cv.net> Message-ID: <000001c5d067$30242050$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > > >>> class Angle (object): > > def __init__(self, thevalue): > self.value = float(thevalue) > > @property > def degrees(self): > return self.value > > @property > def radians(self): > return math.radians(self.value) > > >>> class Triangle (object): > > def __init__(self, A=30, B=60, C=90): > self.A = Angle(A) > self.B = Angle(B) > self.C = Angle(C) Works for me. And I think pedagogically valuable as an approach. For an (embarrassingly) long time I had complicated my class hierarchies by not seeing the simple possibilities of creating classes to act as attributes of more far-reaching classes. Its simple and obvious - once it's simple and obvious. Downsides, warnings? Art From urnerk at qwest.net Fri Oct 14 06:46:56 2005 From: urnerk at qwest.net (Kirby Urner) Date: Thu, 13 Oct 2005 21:46:56 -0700 Subject: [Edu-sig] Uniform Access Principle confusion In-Reply-To: <000001c5d067$30242050$1702a8c0@BasementDell> Message-ID: <20051014044702.C5FDE1E4002@bag.python.org> > Its simple and obvious - once it's simple and obvious. > > Downsides, warnings? > > Art > So far we're looking at pretty straightforward composition of objects (less an inheritance pattern), i.e. angle objects composed in a triangle. However, it could easily needlessly complexify, the bane of good style. Keeping it simple is actually harder than giving in to tempting clevernesses. There's nothing here yet to stop an uninitiated user from trying to start a new triangle with radian inputs. I should post a guard, or at least better document the API (perhaps using __doc__ strings). Also, AAA (angle-angle-angle) isn't usually considered a sufficient criterion for congruence (in topology it might), as no edge size has been specified (i.e. only similarity has been established). So the above Triangle class more defines an equivalence class than a template for any one triangle. That may lead to confusion down the road. That's all I can think of at the moment. When it comes to finding weaknesses, that's generally a drawn-out process. Thanks for asking though -- you helped me get thoughtful. Kirby From ajsiegel at optonline.net Fri Oct 14 15:59:23 2005 From: ajsiegel at optonline.net (Arthur) Date: Fri, 14 Oct 2005 09:59:23 -0400 Subject: [Edu-sig] Uniform Access Principle confusion In-Reply-To: <0IOC007UT2MDXRH1@mta28.srv.hcvlny.cv.net> Message-ID: <000001c5d0c7$7c850990$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > Sent: Friday, October 14, 2005 12:47 AM > To: 'Arthur'; edu-sig at python.org > Subject: RE: [Edu-sig] Uniform Access Principle confusion > > > Its simple and obvious - once it's simple and obvious. > > > > Downsides, warnings? > > > > Art > > > > So far we're looking at pretty straightforward composition of objects > (less > an inheritance pattern), i.e. angle objects composed in a triangle. > > However, it could easily needlessly complexify, the bane of good style. > Keeping it simple is actually harder than giving in to tempting > clevernesses. OK. But there are lessons attached - something to the effect of "exploring freedoms". Which is what I think makes Python a pithy environment in which to learn about programming. And part of what connects programming, in general, to - for me - the development of mindfulness. Perhaps stated in my usual inappropriately pithy manner. Art From urnerk at qwest.net Fri Oct 14 19:07:32 2005 From: urnerk at qwest.net (Kirby Urner) Date: Fri, 14 Oct 2005 10:07:32 -0700 Subject: [Edu-sig] Uniform Access Principle confusion In-Reply-To: <000001c5d0c7$7c850990$1702a8c0@BasementDell> Message-ID: <20051014170732.992FA1E400A@bag.python.org> > Perhaps stated in my usual inappropriately pithy manner. > > Art > Not too pythy, as we both know 'bout Python. Kirby From urnerk at qwest.net Sat Oct 15 01:14:50 2005 From: urnerk at qwest.net (Kirby Urner) Date: Fri, 14 Oct 2005 16:14:50 -0700 Subject: [Edu-sig] More pythonic math Message-ID: <20051014231457.1ACE51E4002@bag.python.org> Another example of Pythonic mathematics, two posts so far at: http://mathforum.org/kb/message.jspa?messageID=4019537&tstart=0 Here's a new edition, better formatting, typo fixed: ======== I've got a gig coming up, so thought I'd do some notes here. It's a Python class, and I'll be using math topics to motivate problem solving. For example, there's no factorial built-in = an opportunity to program: from operator import mul def factorial(n): return reduce(mul, range(1,n+1)) >>> factorial(10) 3628800 >>> factorial(100) 93326215443944152681699238856266700490715968264381621468592963 89521759999322991560894146397615651828625369792082722375825118 5210916864000000000000000000000000L The course starts out with data structures, a foundation on which to build. Data structures are for storing and later accessing information. In Python, this might involve pickling, i.e. serialization of objects. Or we might write out to text files, use a SQL engine, save to the ZODB, or pipe out through sockets to some unspecified receiver with a TCP/IP address (an IP number). We might use Twisted for this latter purpose. On the math side, the data structure we call a dictionary is a collection type known as a mapping, in that it associates or pairs keys with values. We may pick our keys and values from the same domain and codomain, in which case we have a mapping of maybe integers into integers, or floats into floats, or characters into characters. This last mapping (characters into characters) is a jumping off point to simple encryption by means of letter substitution (we treat the space as just one more letter): >>> import string >>> string.uppercase 'ABCDEFGHIJKLMNOPQRSTUVWXYZ\x8a\x8c\x8e\x9f\xc0\xc1\xc2\xc3\xc4\xc5\xc6\ xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd8\xd9\ xda\xdb\xdc\xdd\xde' >>> myset = string.uppercase[:26]+' ' >>> myset 'ABCDEFGHIJKLMNOPQRSTUVWXYZ ' >>> from random import shuffle >>> domain = list(myset) >>> shuffle(myset) Traceback (most recent call last): File "", line 1, in -toplevel- shuffle(myset) File "c:\python24\lib\random.py", line 269, in shuffle x[i], x[j] = x[j], x[i] TypeError: object does not support item assignment >>> shuffle(list(myset)) >>> myset 'ABCDEFGHIJKLMNOPQRSTUVWXYZ ' >>> outputs = domain[:] >>> shuffle(outputs) >>> myfunc = dict(zip(domain,outputs)) >>> myfunc {' ': 'C', 'A': 'R', 'C': 'V', 'B': 'P', 'E': 'N', 'D': 'I', 'G': 'K', 'F' : 'A', 'I': 'Q', 'H': 'Y', 'K': 'X', 'J': 'G', 'M': 'D', 'L': 'O', 'O': 'W', 'N': 'F', 'Q': 'S', 'P': 'J', 'S': ' ', 'R': 'E', 'U': 'B', 'T': 'U', 'W': 'Z', 'V': 'L', 'Y': 'H', 'X': 'M', 'Z': 'T'} >>> p = 'THE RAIN IN SPAIN STAYS MAINLY IN THE PLAIN' >>> def encrypt(p, subdict): e = '' for c in p: e = e + subdict[c] return e >>> encrypt(p) Traceback (most recent call last): File "", line 1, in -toplevel- encrypt(p) TypeError: encrypt() takes exactly 2 arguments (1 given) >>> encrypt(p, myfunc) 'UYNCERQFCQFC JRQFC URH CDRQFOHCQFCUYNCJORQF' Where we're going with this is towards the relations and functions concepts. Relations pair members in two sets, perhaps the same key (domain element) with two or more different values (range element), while functions guarantee a unique and determined value for a given key. OK for Relation, but not Function: R(r) --> b R(r) --> c OK for Function, and for Relation: f(r) --> b f(s) --> b In addition to defining functions by roster (explicit pairing), we'll be defining functions according to rules, which is where we transition from exploring data structures to writing short top-level functions. Or functions will often be about sequences, e.g. figurate and polyhedral, Fibonacci, maybe chaotic.[1] ===== ADDENDUM: Note to the Teacher ====== [2] The Python community is in a sense an ethnicity, in that there's a lot of shared jargon and concepts. This is true in mathematics as well (sub-ethnicities within ethnicities, e.g. topologists). Per an earlier thread here at the Math Forum: all math is ethnomath. This math/CS hybrid involves mixing heroes from disparate domains. We learn about Descartes and Fermat, sure, but also about Von Neumann, Dijkstra, Ada Byron. http://ei.cs.vt.edu/~history/VonNeumann.html http://en.wikipedia.org/wiki/Edsger_Dijkstra http://www.google.com/search?hl=en&q=Ada+Byron&btnG=Google+Search We will also explore the historical beginnings of the World Wide Web: e.g. Vannevar Bush (MEMEX), Ted Nelson (Xanadu), and Tim Berners-Lee (W3).[3] http://en.wikipedia.org/wiki/Vannevar_Bush http://xanadu.com/ http://www.w3.org/People/Berners-Lee/ I'm suggesting this as an alternative to precalc/calc, i.e. a discrete math track in K-12, perhaps leading to a different mix of majors, but still college prep and still an on ramp into engineering and the sciences for the most part, although these skills also transfer to art/design majors in other departments as well. Kirby [1] added paragraph for edu-sig edition [2] this was a separate post, originally. [3] http://worldgame.blogspot.com/2004/12/dj-vu.html From ajsiegel at optonline.net Sat Oct 15 17:04:48 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 15 Oct 2005 11:04:48 -0400 Subject: [Edu-sig] Low Enrollments In-Reply-To: <000001c5d000$119b6060$1702a8c0@BasementDell> Message-ID: <001801c5d199$cb754970$1702a8c0@BasementDell> > > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > > Behalf Of Peter Bowyer > > Sent: Thursday, October 13, 2005 3:57 AM > > To: edu-sig at python.org > > Subject: Re: [Edu-sig] Low Enrollments > > > > > > Could it also be because Engineering is never advertised as being > > creative? Certainly when I was looking at doing civil & > > environmental engineering it was sold as "You get to direct large > > machines, follow someone else's plans, and make sure the concrete is > > poured in the right place". OK a bit of an overexaggeration, but no > > creativity or innovation appeared in the description. It seems to me the issues here are all tied together quite neatly with some of the discussion of the previous thread - small business vs. large business, the impact of companies like Microsoft (well maybe mostly just Microsoft) in the marketplace and on traditional notions of the relationship of large companies to educational institutions, etc. Though, unfortunately, I don't see a way to make these tie-ins in a few words. Suffice it to say that there is zero question, none - that Microsoft's tactics over the last 15 years have had the effect of stifling the impetus of smaller players to direct efforts towards innovation in a very wide swatch of the potential area for such innovation. This isn't a quirky, iconoclastic view of things. The fact is certainly getting noticed in very mainstream industry analysis. And at Microsoft, I'm sure. The days of the creative, innovative, entrepreneurial developer allowing themselves to spend their energies to become the uncompensated market research department of a Microsoft are over. A whole vibrant market segment has simply dried up and gone away. Which doesn't yet touch on Microsoft's ability to influence agendas in academic settings. I could go for pages, talking to a good degree from a personal frame of reference, talking about circumstances that I have been close enough to observe where Microsoft has seen fit to assert its clout, and managed to move mountains that by the charters and mission statements of the organizations involved should have been quite unmovable. To the extent that the CS departments have allowed, and continue to allow, themselves to be company towns for the major industry players, they deserve what they get. And if what they get is a lack of interest, maybe that is saying something optimistic about who our kids are today. Art From chuck at freshsources.com Sat Oct 15 18:16:21 2005 From: chuck at freshsources.com (Chuck Allison) Date: Sat, 15 Oct 2005 10:16:21 -0600 Subject: [Edu-sig] Low Enrollments In-Reply-To: <001801c5d199$cb754970$1702a8c0@BasementDell> References: <000001c5d000$119b6060$1702a8c0@BasementDell> <001801c5d199$cb754970$1702a8c0@BasementDell> Message-ID: <505159013.20051015101621@freshsources.com> Hello Arthur, Saturday, October 15, 2005, 9:04:48 AM, you wrote: A> It seems to me the issues here are all tied together quite neatly with some A> of the discussion of the previous thread - small business vs. large A> business, the impact of companies like Microsoft (well maybe mostly just A> Microsoft) in the marketplace and on traditional notions of the A> relationship of large companies to educational institutions, etc. Microsoft's affect on our CS department is noticeable. It mainly consists of giving us Visual Studio and other software for free, and that a small number of our faculty are stricken by Microsoft worship. A> Suffice it to say that there is zero question, none - that Microsoft's A> tactics over the last 15 years have had the effect of stifling the impetus A> of smaller players to direct efforts towards innovation in a very wide A> swatch of the potential area for such innovation. This isn't a quirky, A> iconoclastic view of things. The fact is certainly getting noticed in very A> mainstream industry analysis. And at Microsoft, I'm sure. The days of the A> creative, innovative, entrepreneurial developer allowing themselves to spend A> their energies to become the uncompensated market research department of a A> Microsoft are over. A whole vibrant market segment has simply dried up and A> gone away. I have witnessed this and agree. A> Which doesn't yet touch on Microsoft's ability to influence agendas in A> academic settings. A> To the extent that the CS departments have allowed, and continue to allow, A> themselves to be company towns for the major industry players, they deserve A> what they get. And if what they get is a lack of interest, maybe that is A> saying something optimistic about who our kids are today. I have been a force for company independence, and our department has pretty much remained so. However, just Thursday we had our semi-annual advisory meeting with representatives from local industry, including small companies as well as Symantec and Novell. They are pretty much unanimous in their excitement for .NET. They want more C# programmers. Interesting. They did get excited about my bringing up Python though - as a first language, and also for workplace use (I teach Python at Symantec). -- Best regards, Chuck From ajsiegel at optonline.net Sat Oct 15 19:16:24 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 15 Oct 2005 13:16:24 -0400 Subject: [Edu-sig] Low Enrollments In-Reply-To: <505159013.20051015101621@freshsources.com> Message-ID: <000001c5d1ac$2bc3a7b0$1702a8c0@BasementDell> > -----Original Message----- > From: Chuck Allison [mailto:chuck at freshsources.com] > Sent: Saturday, October 15, 2005 12:16 PM > To: Arthur > Cc: 'Peter Bowyer'; edu-sig at python.org > Subject: Re[2]: [Edu-sig] Low Enrollments > They are pretty much > unanimous in their excitement for .NET. They want more C# programmers. > Interesting. The best thing that could happen, from my point of view, is for all the major industry players to commit together to the wrong technology. Could open things up, again. I am hoping that *that* is the role that .Net ends up playing. And by wrong technology, it doesn't mean that the technology is wrong. Just means that there end up being forces beyond their control (there still are a few things like that ;)) that ending up working against its acceptance. When the French revolutionists sort to decimalize time, they had both absolute power and a good deal of logic on their side. And failed nonetheless. Art From urnerk at qwest.net Sat Oct 15 20:07:15 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sat, 15 Oct 2005 11:07:15 -0700 Subject: [Edu-sig] Low Enrollments In-Reply-To: <001801c5d199$cb754970$1702a8c0@BasementDell> Message-ID: <20051015180718.645731E4011@bag.python.org> > To the extent that the CS departments have allowed, and continue to allow, > themselves to be company towns for the major industry players, they > deserve what they get. And if what they get is a lack of interest, maybe > that is saying something optimistic about who our kids are today. > > Art Vilification of Microsoft is one way to go, certainly. Not an especially original approach. As I sometimes think of you as an investor, I'm somewhat surprised that your alternative to "bad companies" is "no companies" i.e. "because some companies exert a negative influence in the classroom, classrooms should be company-free zones." There's a leap in logic there, which a capitalist should not miss: why not just go with other companies? Why not make schools freer to choose collaborator firms, by ending any kind of top-down "district wide" or "state wide" sweetheart wheeling and dealing? That'd be a reform in the government sector, which a governor might get behind and even get re-elected on (people get suspicious of large bureaucracies with good reason). Like, a board made up of Franklin High's teachers, parents, and principal, might make a deal with Naked Ape, part of the POSSE here in Portland [1], to supplement Franklin High's Scheme training (already well-known and prized) with some Perl training (one of Naked Ape's specialties). Maybe a certified union teacher supervises the guest trainer, or maybe a trainer is on part time payroll in a charter school, with more lenient certification requirements, and is supervised by the principal. Or maybe the training is just for faculty (teacher in-service), and they pass their new knowledge on to their students (a well-known design pattern). As a small business with an interest in education, I have no problem walking into a local school and putting my spin on things, as any parent would. I'll openly talk up relevant community-based NGOs (e.g. Free Geek's Build Program), but I'll also share history. We're proud of our Oregon pioneers: Tek, HP, ESI... ISEPP/Wanderers wouldn't exist in its present shape without Mentor Graphics. Saturday Academy: another Silicon Forest creature and valued institution within our ecosystem. In my typical classroom gig, I'll talk about my adventures with Design Science Toys and StrangeAttractors (I used Python to develop the packaging). I talk up this or that Linux distro as being more user friendly and/or intelligently designed (some distros come from for-profit companies, with stock and everything). Maybe I'll mention my contract with Lawson and Associates, to do renderings of Flextegrity (another Python project, shared about here). And yes, I expect to talk about Microsoft technology, in the form of IronPython, plus share my high opinion of where .NET and Mono are going. I'm considering diving into IronPython with this group of 8th graders, maybe in 2006, even as I talk up Linux as a kick ass developers' platform. IronPython also runs on Linux. Kirby PS: Notice all this autobio. Makes more sense because yes, we really do have a Franklin High that teaches Scheme, a Naked Ape, Flextegrity. [1] http://www.possepdx.com/ From ajsiegel at optonline.net Sat Oct 15 20:07:14 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 15 Oct 2005 14:07:14 -0400 Subject: [Edu-sig] Low Enrollments In-Reply-To: <000001c5d1ac$2bc3a7b0$1702a8c0@BasementDell> Message-ID: <000001c5d1b3$479649f0$1702a8c0@BasementDell> > -----Original Message----- > From: Arthur [mailto:ajsiegel at optonline.net] > When the French revolutionists sort to decimalize time, they had both > absolute power and a good deal of logic on their side. And failed > nonetheless. Of course they only had such power within their own domain, and - particularly since they were most definitely not playing nice with others, not to mention a significant portion of themselves - much of the monarchist rest of civilization was quite in the mood to say black should they happen to say white. No matter how white and right they might have been on some particular point. So that decimalized time was stillborn. If .Net meets an unhappy fate for no better reason that it is a Microsoft initiative, and there are enough forces aligned (internationally) to reject its adoption for no better reason than that - I'm OK with it. Art From urnerk at qwest.net Sat Oct 15 20:30:54 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sat, 15 Oct 2005 11:30:54 -0700 Subject: [Edu-sig] Low Enrollments In-Reply-To: <000001c5d1ac$2bc3a7b0$1702a8c0@BasementDell> Message-ID: <20051015183054.001971E4004@bag.python.org> > I am hoping that *that* is the role that .Net ends up playing. Sounds like you're praying for a very expensive train wreck. Just to make education better? Pretty high price tag. If .NET is slated to go down the tubes, then kiss good-bye your online eticketing and ebanking sites that use it (many already do, more will). Do you have any strong feelings about J2EE? We should teach Sun's Java exclusively? > And by wrong technology, it doesn't mean that the technology is wrong. > Just means that there end up being forces beyond their control (there > still are a few things like that ;)) that ending up working against its > acceptance. That'd be bad for Python, given its great promise as a key dynamic language in upcoming Novell distros, as part of the GNOME desktop, and running atop Mono.[1] > When the French revolutionists sort to decimalize time, they had both > absolute power and a good deal of logic on their side. And failed > nonetheless. > > Art Decimal time is not unfamiliar in many technical applications. A common mistake is to think either/or. Not "astronomical OR atomic time" -- we can have both standards in play.[2] Kirby [1] http://linuxdevices.com/news/NS7372554664.html [2] http://worldgame.blogspot.com/2005/09/wanderers-200597.html From chuck at freshsources.com Sat Oct 15 20:51:58 2005 From: chuck at freshsources.com (Chuck Allison) Date: Sat, 15 Oct 2005 12:51:58 -0600 Subject: [Edu-sig] Low Enrollments In-Reply-To: <000001c5d1ac$2bc3a7b0$1702a8c0@BasementDell> References: <000001c5d1ac$2bc3a7b0$1702a8c0@BasementDell> Message-ID: <1964597122.20051015125158@freshsources.com> Hello Kirby/Arthur, Saturday, October 15, 2005, 12:30:54 PM, you wrote: FWIW, I see .NET catching on practically *everywhere*, and it doesn't seem like it's because it's hyped like Java was. It seems like developers and managers alike are genuinely happy with it. It seems like Microsoft finally got something right (first time - took them over twenty years). Personally, I'm happy with C++ and Python, but the .NET framework is a good piece of work. C++ is woefully lacking in support for threading, networking, web services, etc. Python is great but not fast enough. It was inevitable that Redmond would eventually do something good. Their support for Web Services is hard to beat, and that's the way of things these days. -- Best regards, Chuck From ajsiegel at optonline.net Sat Oct 15 21:05:17 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 15 Oct 2005 15:05:17 -0400 Subject: [Edu-sig] Low Enrollments In-Reply-To: <0IOE00FV6ZFHGP62@mta28.srv.hcvlny.cv.net> Message-ID: <000001c5d1bb$65accc40$1702a8c0@BasementDell> > From: Kirby Urner [mailto:urnerk at qwest.net] > To: 'Arthur'; 'Chuck Allison' > > > I am hoping that *that* is the role that .Net ends up playing. > > Sounds like you're praying for a very expensive train wreck. What I happen to feel on these matters is actually quite complicated - beyond what even I could justify trying to lay out here. Points of note: I have a good deal more expertise in some Microsoft technologies and offerings than I do in, for example, Python. And that expertise contributes much more directly to my ability to make a living than does, for example, Python. And... I think that one of the major factors working against Microsoft at this point in the game is a general anti-American sentiment - particularly in Europe. I feel much of that sentiment is perverse (let's *not* get into it). But I see a perverse silver lining in it to the extent it might help level the technology playing field, by humbling Microsoft. Given some of the complexities... I should try to content myself by focusing on the concrete and unassailable issues - like the notion that institutions that have charters and mission statements should live within them. But to lend evidence to the notion that even this concrete and unassailable notion is no longer taken very seriously - when it comes to technology and under the influence of Industry efforts - would require a lot more chapter and verse recitation than would be appropriate here. But how seriously does this issue concern you? Art From ajsiegel at optonline.net Sat Oct 15 21:35:34 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 15 Oct 2005 15:35:34 -0400 Subject: [Edu-sig] Low Enrollments In-Reply-To: <1964597122.20051015125158@freshsources.com> Message-ID: <000001c5d1bf$9d18bcd0$1702a8c0@BasementDell> > -----Original Message----- > From: Chuck Allison [mailto:chuck at freshsources.com] > Sent: Saturday, October 15, 2005 2:52 PM > To: Kirby Urner > Cc: 'Arthur'; edu-sig at python.org > It was inevitable that Redmond would eventually do something good. And wouldn't it be wonderfully ironic if it's the first time they fail, big time. Not making a prediction. But some disruption to my online eticketing service would be worth the price of admission to a view of such an event unfolding. But if Kirby comes back with the argument that .Net is necessary to world peace, the elimination of hunger, and the realization of my son's potential - yes, I might bust. Watching *that* could be worth the price of admission, as well. ;) Art From ajsiegel at optonline.net Sat Oct 15 21:37:34 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 15 Oct 2005 15:37:34 -0400 Subject: [Edu-sig] Low Enrollments In-Reply-To: <0IOF00J071O3P200@mta20.srv.hcvlny.cv.net> Message-ID: <000101c5d1bf$e51b2f90$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > Sent: Saturday, October 15, 2005 3:19 PM > To: 'Arthur'; 'Chuck Allison' > Cc: edu-sig at python.org > Subject: RE: [Edu-sig] Low Enrollments > > > But how seriously does this issue concern you? > > > > Art > > > > I think I spelled it out pretty clearly already, in terms of my own > situation: a small business aiming to make a difference in the education > sector. I am much more concerned about what is happening at the Unvirsity of Virginia (just a name out of the hat) than in Kirby world. But that's just me. Art From urnerk at qwest.net Sat Oct 15 21:43:10 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sat, 15 Oct 2005 12:43:10 -0700 Subject: [Edu-sig] Low Enrollments In-Reply-To: <000001c5d1bf$9d18bcd0$1702a8c0@BasementDell> Message-ID: <20051015194315.113991E4002@bag.python.org> > But if Kirby comes back with the argument that .Net is necessary to world > peace, the elimination of hunger, and the realization of my son's > potential - yes, I might bust. > I'd just like to keep my eticketing and ebanking services undisrupted, thanks. I use them frequently. Your need to see Microsoft suffer disgrace is irrelevant in Kirby world. Kirby From urnerk at qwest.net Sat Oct 15 21:19:10 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sat, 15 Oct 2005 12:19:10 -0700 Subject: [Edu-sig] Low Enrollments In-Reply-To: <000001c5d1bb$65accc40$1702a8c0@BasementDell> Message-ID: <20051015194555.72DFA1E4002@bag.python.org> > But how seriously does this issue concern you? > > Art > I think I spelled it out pretty clearly already, in terms of my own situation: a small business aiming to make a difference in the education sector. I'm not experiencing Microsoft as a big threat; have already mentioned how I use its products in a hospital setting (plus Python); I pretty much share Chuck's read on .NET and Mono. You're way over there on the east coast, worried about Europe and such. I'm more Asia-facing. There may be too wide a geographic difference between us for a shared detailed analysis to make sense. We're in different ecosystems. I'll continue reporting on my progress on edu-sig from time to time. How you want to arrange things or exert influence around New York is really none of my business. I just hope you're wrong about .NET, for Python's sake. Kirby From ajsiegel at optonline.net Sat Oct 15 21:55:34 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 15 Oct 2005 15:55:34 -0400 Subject: [Edu-sig] Low Enrollments In-Reply-To: <0IOF00IYW2S2RMJ3@mta17.srv.hcvlny.cv.net> Message-ID: <000001c5d1c2$67fad6c0$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > > Your need to see Microsoft suffer disgrace is irrelevant in Kirby world. Well I happen to put some importance to small matters like the integrity of institutions. Not a story probably "relevant to the members of this list". But a Big story nonetheless: I had a pretty good ring side seat to the demise of Arthur Anderson - which was indeed the Microsoft of the world I was then inhabiting. I felt for some time it deserved to happen, and was - in the appropriate forums - vocal on the matter. And was considered to have been pissing in the wind. Yes. I enjoyed the view probably more than I should have. Left with nothing else, interests rallied to the defense of Anderson on the grounds that disrupting it would disrupt international economics to everyone's disadvantage. Did you notice anything? Art From urnerk at qwest.net Sat Oct 15 22:09:05 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sat, 15 Oct 2005 13:09:05 -0700 Subject: [Edu-sig] Low Enrollments In-Reply-To: <000001c5d1c2$67fad6c0$1702a8c0@BasementDell> Message-ID: <20051015200909.4D4531E4002@bag.python.org> > Did you notice anything? > > Art > The saga of Arthur Anderson is not topical on edu-sig @ python.org. Maybe you and I should take it to some other list? How 'bout Geodesic @ University of Buffalo? Tends to be more financial thanks to Hutchings & Co., plus is sometimes used by Fuller Schoolers, i.e. is actually relevant to Kirby world. Kirby From ajsiegel at optonline.net Sun Oct 16 00:02:27 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 15 Oct 2005 18:02:27 -0400 Subject: [Edu-sig] Low Enrollments In-Reply-To: <0IOF00FRQ3XEIZ70@mta11.srv.hcvlny.cv.net> Message-ID: <000001c5d1d4$23cdd0d0$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > Sent: Saturday, October 15, 2005 4:09 PM > To: 'Arthur'; 'Chuck Allison' > > The saga of Arthur Anderson is not topical on edu-sig @ python.org. Maybe > you and I should take it to some other list? > > How 'bout Geodesic @ University of Buffalo? Cryptic to say the least. But perhaps more on topic in Arthur world then intended - as I will be at the University of Buffalo next month to hear Brian Greene (of The Elegant Universe) speak, and to visit a young man to whom I have some attachment. Should I being saying hello to anybody? Art From ajsiegel at optonline.net Sun Oct 16 00:34:26 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 15 Oct 2005 18:34:26 -0400 Subject: [Edu-sig] Low Enrollments In-Reply-To: <000001c5d1d4$23cdd0d0$1702a8c0@BasementDell> Message-ID: <000001c5d1d8$9a5eeaa0$1702a8c0@BasementDell> > -----Original Message----- > From: Arthur [mailto:ajsiegel at optonline.net] > > Sent: Saturday, October 15, 2005 4:09 PM > > To: 'Arthur'; 'Chuck Allison' > > > > The saga of Arthur Anderson is not topical on edu-sig @ python.org. Maybe it is, at least a little more than you suppose. I happen to have been placed in a position to know that the industry body whose charter and mission statement was exactly to oversee and regulate the likes of Anderson (playing a role in the US economy proportional to that scale of mission) had not long before the Enron shit hit the fan, put out at an RFQ in connection with the revamping of its internal technological needs that made the use of an all Microsoft solution a condition of the RFQ. And I know that it was not a decision based on anybody's perception of the merit of the Microsoft solutions vs. alternative solutions. That fact and the Anderson saga are not directly causally related, but they are facts that I think are certainly substantively related, nonetheless. But you would have to have seen 30 years of industry evolution close up, as I had, to believe me, or even know what I might mean. Can't help it, that I did. Art From urnerk at qwest.net Sun Oct 16 00:39:37 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sat, 15 Oct 2005 15:39:37 -0700 Subject: [Edu-sig] Low Enrollments In-Reply-To: <000001c5d1d4$23cdd0d0$1702a8c0@BasementDell> Message-ID: <20051015223941.84C191E4002@bag.python.org> > Cryptic to say the least. But perhaps more on topic in Arthur world then > intended - as I will be at the University of Buffalo next month to hear > Brian Greene (of The Elegant Universe) speak, and to visit a young man to > whom I have some attachment. > I saw Brian Greene at the ISEPP lecture last year, including in the subsequent dinner @ Heathman Hotel: http://www.isepp.org/Pages/04-05%20Pages/Series04-05.html > Should I being saying hello to anybody? > > Art Geodesic is just a listserv hosted there: http://listserv.acsu.buffalo.edu/archives/geodesic.html E.g. I posted to this list earlier today, responding to a different Brian: http://listserv.acsu.buffalo.edu/cgi-bin/wa?A2=ind0510&L=geodesic&T=0&F=&S=& P=8250 Kirby From urnerk at qwest.net Sun Oct 16 00:53:35 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sat, 15 Oct 2005 15:53:35 -0700 Subject: [Edu-sig] Low Enrollments In-Reply-To: <000001c5d1d8$9a5eeaa0$1702a8c0@BasementDell> Message-ID: <20051015225339.D9C141E4002@bag.python.org> > Can't help it, that I did. > > Art I liked that documentary about the rise and fall of Enron OK. Fascinating, that undeclared war between California and Texas: http://www.imdb.com/title/tt0413845/ Never mind about switching this thread to Geodesic. I just realized I don't care to think about it anymore. Only so many stories I have the patience to care about at any one time. Sad but true. Call me bandwidth deprived. Computer giants are more fun to think about than accounting firms. Kirby From ajsiegel at optonline.net Sun Oct 16 01:03:26 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 15 Oct 2005 19:03:26 -0400 Subject: [Edu-sig] Low Enrollments In-Reply-To: <20051015225339.D9C141E4002@bag.python.org> Message-ID: <000001c5d1dc$a6b3f8f0$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Kirby Urner > > Computer giants are more fun to think about than accounting firms. How about the intersection thereof. As the world, not too long ago, turned: http://www.itworldcanada.com/a/Network-World/c9da5e1f-7530-498a-bb1a-6d081ce 2f024.html Art From urnerk at qwest.net Sun Oct 16 05:34:36 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sat, 15 Oct 2005 20:34:36 -0700 Subject: [Edu-sig] Low Enrollments In-Reply-To: <000001c5d1dc$a6b3f8f0$1702a8c0@BasementDell> Message-ID: <20051016033438.3CFA41E4002@bag.python.org> > How about the intersection thereof. > Yeah, that's kinda interesting. I've been spelling it wrong I see: Andersen. Anyway, as you say, that's yesteryear's soap. Kirby > As the world, not too long ago, turned: > > http://www.itworldcanada.com/a/Network-World/c9da5e1f-7530-498a-bb1a- > 6d081ce2f024.html > > Art > From vincent.rioux at no-log.org Mon Oct 17 10:55:50 2005 From: vincent.rioux at no-log.org (vincent rioux) Date: Mon, 17 Oct 2005 10:55:50 +0200 Subject: [Edu-sig] unicode/tkinter difficulties on macosx Message-ID: <43536716.8050708@no-log.org> Dear list, sorry if you find this subject slightly out of the scope of this list. Well, I have hard time finding documentation on how to display correctly unicode characters with a basic Tkinter widget on Macosx. from Tkinter import * root = Tk() w = Label(root, text=u'\u0254') w.pack() root.mainloop() This should display an 'open o' of the IPA. It happens to work with python from FINK (hence using x11) but I just can't get it to work on pythonw2.4/tcl-tk acqua. It will only display an empty square. I also noticed that i could display characters up to \xFF but it seems that i don't manage to access to characters starting from /x0100... any ideas, redirections or solutions are welcome by advance many thanks, vincent From guido at python.org Mon Oct 17 17:32:23 2005 From: guido at python.org (Guido van Rossum) Date: Mon, 17 Oct 2005 08:32:23 -0700 Subject: [Edu-sig] unicode/tkinter difficulties on macosx In-Reply-To: <43536716.8050708@no-log.org> References: <43536716.8050708@no-log.org> Message-ID: Sounds like a font problem. You're probably better off asking the Tcl/Tk list about that. On 10/17/05, vincent rioux wrote: > Dear list, > sorry if you find this subject slightly out of the scope of this list. > > Well, I have hard time finding documentation on how to display correctly > unicode characters with a basic Tkinter widget on Macosx. > > from Tkinter import * > root = Tk() > w = Label(root, text=u'\u0254') > w.pack() > root.mainloop() > > This should display an 'open o' of the IPA. > It happens to work with python from FINK (hence using x11) but I just > can't get it to work on pythonw2.4/tcl-tk acqua. It will only display an > empty square. I also noticed that i could display characters up to \xFF > but it seems that i don't manage to access to characters starting from > /x0100... > > any ideas, redirections or solutions are welcome > by advance many thanks, > vincent > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > -- --Guido van Rossum (home page: http://www.python.org/~guido/) From ajsiegel at optonline.net Mon Oct 17 17:16:20 2005 From: ajsiegel at optonline.net (Arthur) Date: Mon, 17 Oct 2005 11:16:20 -0400 Subject: [Edu-sig] Low Enrollments. Message-ID: <000001c5d32d$bba41950$1702a8c0@BasementDell> >> To the extent that the CS departments have allowed, and continue to >> allow, themselves to be company towns for the major industry players, >> they deserve what they get. And if what they get is a lack of interest, >> maybe that is saying something optimistic about who our kids are today. > > Art >Vilification of Microsoft is one way to go, certainly. Not an especially >original approach. I not vilifying Microsoft as generally as you seem to make out (or, taking some responsibility, as I might sound to be). >As I sometimes think of you as an investor, I'm somewhat surprised that >your alternative to "bad companies" is "no companies" i.e. "because some >companies exert a negative influence in the classroom, classrooms should be >company-free zones." I don't know where you are getting either of these ideas. a) I am not an investor. I am, in fact, a "failure". Browsing the business section of a book store yesterday I came across the acronym FISO for the first time. Stands for a concept of making it in a large enterprise - Fit In and Stand Out. I personally was unable to navigate that. I was good at one - or the other, at different points. Never simultaneously, I "fit in" only late in my (large) corporate career - when I had lost all interest and passion for what I was doing. I was a charm to get along with. Earlier I was working in small business environments where I stood out, and was impossible. I did nothing in particular to go from one environment to the other. It's the way things tend to go these day. By simply standing flat, after having chosen a career devoted to working in the environment of small business, I found myself working for a subsidiary of an enormous Stock Exchange conglomerate. They made us a (financial) offer we could not refuse. Just got the last piece of my sliver of the buy-out money. More financial insecurity ahead. I could have survived in that financially secure mode indefinitely, had I chosen. Couldn't stand it. More irrelevancy? To an extent. Though Paul Graham - a notorious hacker (and PyCon featured speaker) - chooses to spend a good deal of his book meditating on these same issues along side his meditations on educational issues. Yahoo made him the offer he couldn't refuse (which was his plan all along). But he did not last long as a member of the Yahoo team. Just says that there are different legitimate sensibilities alive and well. Yes, there is some legitimate resentment I think toward Microsoft for narrowing the playing field for certain types of passionate and productive personality types. But no I don't consider myself a Paul Graham. But I *am* willing to follow his lead in connecting dots of relevancy. And see nothing wrong with edu-sig collecting frames of reference on these kind on these issues. If others don't want to play, I can't help it. I *can* be reasoned with, I believe. But 2 sentence potshots from folks not making any other noticeable effort, isn't reason enough. To the extent that *I* am making a effort, it is going to take more effort than that to convince me to make less of one here. b) I accept that there is quite legitimate business to be done in the area of education. But what is Microsoft's agenda? It is intangible, and therefore hard to confront. It is just to be present and accounted for in a student's day-to-day life. It is the kind of agenda that only comes with a concern for hegemony. They are probably correct in concluding that, as a long-term business matter, it is important that the business machine or entertainment box destined to be on every child's desktop be running their software. Even if they have to give it away. Does somebody's business machine or entertainment box need to be on every child's desk? Apparently so. It's - apparently - just a matter of working out the few tweaks needed to turn them into Education Blasters. I'm waiting. But nobody can convince me they are there yet. With any amount of advertising spending. Art From csotelop at yahoo.es Mon Oct 17 18:04:30 2005 From: csotelop at yahoo.es (Carlos Eduardo Sotelo Pinto) Date: Mon, 17 Oct 2005 11:04:30 -0500 (CDT) Subject: [Edu-sig] Python as a first language for computer sciencist Message-ID: <20051017160430.48050.qmail@web26601.mail.ukl.yahoo.com> Hi people i was making a researching about python for computer science students as a first language, and it coul be good in Peruvian Universities and Colleges, may you have some experiences, or articles or ideas about it. Coul you send me to my personal email address. Also I propose to you to began a discussion about this topic. I think in my personal opinion, python could be better for students, for one so imoprtant reazon: Python is clearly and powerfull; and because of it, students just think in solve problems and learning programming, and the language could be an excellent easy learning progamming tool. Also teachers can use the power of python for making good problems for the students. -- Atentamente: *------------------------------------* ,= ,-_-. =. |Carlos E. Sotelo Pinto(KrLoS) | ((_/)o o(\_)) |GNU/Linux User Registered # 379182 | `-'(. .)`-' |Tildes omitidas voluntariamente | \_/ *------------------------------------* Bitacora de Vuelo Sociedad Peruana de Computacion Grupo de Usuarios GNU/Linux Arequipa Grupo de Usuarios Debian Arequipa Grupo de Usuarios Debian Peru ------------------------------------------------------------------------ La actitud del hacker: Los hackers resuelven problemas y construyen cosas, y creen en la libertad y la ayuda voluntaria mutua. Para ser aceptado como hacker, deber?s comportarte como si tuvieras esta actitud en tu interior. Y para comportarte como si tuvieras esta actitud, deber?s creerte de verdad dicha actitud. __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ?gratis! Reg?strate ya - http://correo.espanol.yahoo.com/ From john.zelle at wartburg.edu Mon Oct 17 19:45:41 2005 From: john.zelle at wartburg.edu (John Zelle) Date: Mon, 17 Oct 2005 12:45:41 -0500 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <20051017160430.48050.qmail@web26601.mail.ukl.yahoo.com> References: <20051017160430.48050.qmail@web26601.mail.ukl.yahoo.com> Message-ID: <4353E345.7050702@wartburg.edu> Carlos, I doubt that you'll get much disagreement on this list about Python being an excellent first language choice. Hence, there is unlikely to be much of a "discussion." I wrote a paper titled "Python as a First Language" back in 1998, you can find it at: http://mcsp.wartburg.edu/zelle/python Carlos Eduardo Sotelo Pinto wrote: > Hi people > i was making a researching about python for computer > science students as a first language, and it coul be > good in Peruvian Universities and Colleges, may you > have some experiences, or articles or ideas about it. > Coul you send me to my personal email address. > Also I propose to you to began a discussion about this > topic. > > I think in my personal opinion, python could be better > for students, for one so imoprtant reazon: Python is > clearly and powerfull; and because of it, students > just think in solve problems and learning programming, > and the language could be an excellent easy learning > progamming tool. Also teachers can use the power of > python for making good problems for the students. > Based on my actual experience, I can say that Python _is_ a much better first language choice than C, C++, Java, or Visual Basic. It has most of the advantages of Scheme, but with a smoother transition to more traditional languages. More and more CS programs are discovering the joy of teaching Python first. So far, I've not heard of any program that tried Python and then went back to something like C++ or Java. Incidentally, I think Python is a marvelous tool throughout the CS curriculum. It's a language that gets out of your way so that you can concentrate on fundamental concepts. I even use Python in my Op Systems class, something I'm frequently told Python isn't good for. Not true. Python is (arguably) the simplest vehicle that allows my students to program directly with underlying Posix system calls. It's simpler than doing systems programming in C or C++. To say nothing of trying to access the OS in Java... While I would not try to write an OS in Python, it sure is a lot easier for teaching _about_ them. That is, I am using the programming as a learning tool, not trying to teach them how to program an OS. --John -- John M. Zelle, Ph.D. Wartburg College Professor of Computer Science Waverly, IA john.zelle at wartburg.edu (319) 352-8360 From bmiller at luther.edu Mon Oct 17 20:00:07 2005 From: bmiller at luther.edu (Brad Miller) Date: Mon, 17 Oct 2005 13:00:07 -0500 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <4353E345.7050702@wartburg.edu> References: <20051017160430.48050.qmail@web26601.mail.ukl.yahoo.com> <4353E345.7050702@wartburg.edu> Message-ID: <89139CFB-8682-4EA2-8822-CDD0E1ED5B95@luther.edu> On Oct 17, 2005, at 12:45 PM, John Zelle wrote: > Carlos, > > I doubt that you'll get much disagreement on this list about Python > being an excellent first language choice. Hence, there is unlikely > to be > much of a "discussion." I wrote a paper titled "Python as a First > Language" back in 1998, you can find it at: > http://mcsp.wartburg.edu/zelle/python > Carlos, John also has an excellent textbook: Python Programming: An Introduction to Computer Science. We are in our second year of using this book in our CS1 class and are very happy with it. Because of its power and simplicity we have found that students enjoy the class and can do more interesting projects in their first course than they could with Java. For example my students are now (in week 7 of the semester) writing functions to enlarge images, smooth the enlarged images, and do edge detection on the images the image library is so simple that the students can really concentrate on the problem solving parts of the exercise. For me these are great introductory exercises that get them using nested loops, simple conditionals, and functions. I think the students have more fun and are more successful when they can see the results of their work visually. We also use Python in our CS2 course which focuses on data structures, and one of our colleagues is using Python in his advanced data structures course this year. The great thing about using Python in a data structures course is that there is almost a one-to-one mapping from pseudocode to Python. So the students can really see the how the concepts get mapped to code without all the extra overhead that a language like Java imposes. Of course we also teach and use Java but we don't introduce our students to Java until the third course in our introductory sequence. The nice thing about holding off on Java until the third course is that the students now know enough computer science that we can work on bigger and more interesting problems while they are learning Java. In addition I can now use Python to compare and contrast as I introduce new language concepts in Java. Brad -- Brad Miller, PhD Assistant Professor Luther College http://www.cs.luther.edu/~bmiller jabber: bnmnetp at jabber.org > Carlos Eduardo Sotelo Pinto wrote: > >> Hi people >> i was making a researching about python for computer >> science students as a first language, and it coul be >> good in Peruvian Universities and Colleges, may you >> have some experiences, or articles or ideas about it. >> Coul you send me to my personal email address. >> Also I propose to you to began a discussion about this >> topic. >> >> I think in my personal opinion, python could be better >> for students, for one so imoprtant reazon: Python is >> clearly and powerfull; and because of it, students >> just think in solve problems and learning programming, >> and the language could be an excellent easy learning >> progamming tool. Also teachers can use the power of >> python for making good problems for the students. >> >> > > Based on my actual experience, I can say that Python _is_ a much > better > first language choice than C, C++, Java, or Visual Basic. It has > most of > the advantages of Scheme, but with a smoother transition to more > traditional languages. More and more CS programs are discovering > the joy > of teaching Python first. So far, I've not heard of any program that > tried Python and then went back to something like C++ or Java. > > Incidentally, I think Python is a marvelous tool throughout the CS > curriculum. It's a language that gets out of your way so that you can > concentrate on fundamental concepts. I even use Python in my Op > Systems > class, something I'm frequently told Python isn't good for. Not true. > Python is (arguably) the simplest vehicle that allows my students to > program directly with underlying Posix system calls. It's simpler than > doing systems programming in C or C++. To say nothing of trying to > access the OS in Java... While I would not try to write an OS in > Python, > it sure is a lot easier for teaching _about_ them. That is, I am using > the programming as a learning tool, not trying to teach them how to > program an OS. > > --John > > -- > John M. Zelle, Ph.D. Wartburg College > Professor of Computer Science Waverly, IA > john.zelle at wartburg.edu (319) 352-8360 > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20051017/a34c8dfd/attachment.html -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part Url : http://mail.python.org/pipermail/edu-sig/attachments/20051017/a34c8dfd/PGP-0001.pgp From tjd at sfu.ca Mon Oct 17 21:11:16 2005 From: tjd at sfu.ca (Toby Donaldson) Date: Mon, 17 Oct 2005 12:11:16 -0700 Subject: [Edu-sig] Python as a first language for computer sciencist Message-ID: Python's a good choice of language when you want to talk about "programming as computation" to people who don't have a lot of CS or math background. It's also good for talking about algorithm correctness. And I use it all the time as pseudocode and one-shot scripts. It's not so good for talking about "programming as exploiting your computer", i.e. when it comes time to implement an algorithm *efficiently*. Toby > On Oct 17, 2005, at 12:45 PM, John Zelle wrote: > > > Carlos, > > > > I doubt that you'll get much disagreement on this list about Python > > being an excellent first language choice. Hence, there is unlikely > > to be > > much of a "discussion." I wrote a paper titled "Python as a First > > Language" back in 1998, you can find it at: > > http://mcsp.wartburg.edu/zelle/python > > > > Carlos, > > John also has an excellent textbook: Python Programming: An > Introduction to Computer Science. We are in our second year of using > this book in our CS1 class and are very happy with it. Because of > its power and simplicity we have found that students enjoy the class > and can do more interesting projects in their first course than they > could with Java. > > For example my students are now (in week 7 of the semester) writing > functions to enlarge images, smooth the enlarged images, and do edge > detection on the images the image library is so simple that the > students can really concentrate on the problem solving parts of the > exercise. For me these are great introductory exercises that get > them using nested loops, simple conditionals, and functions. I think > the students have more fun and are more successful when they can see > the results of their work visually. > > We also use Python in our CS2 course which focuses on data > structures, and one of our colleagues is using Python in his advanced > data structures course this year. The great thing about using Python > in a data structures course is that there is almost a one-to-one > mapping from pseudocode to Python. So the students can really see > the how the concepts get mapped to code without all the extra > overhead that a language like Java imposes. > > Of course we also teach and use Java but we don't introduce our > students to Java until the third course in our introductory > sequence. The nice thing about holding off on Java until the third > course is that the students now know enough computer science that we > can work on bigger and more interesting problems while they are > learning Java. In addition I can now use Python to compare and > contrast as I introduce new language concepts in Java. > > > Brad > -- > Brad Miller, PhD > Assistant Professor > Luther College > http://www.cs.luther.edu/~bmiller > jabber: bnmnetp at jabber.org > > > Carlos Eduardo Sotelo Pinto wrote: > > > >> Hi people > >> i was making a researching about python for computer > >> science students as a first language, and it coul be > >> good in Peruvian Universities and Colleges, may you > >> have some experiences, or articles or ideas about it. > >> Coul you send me to my personal email address. > >> Also I propose to you to began a discussion about this > >> topic. > >> > >> I think in my personal opinion, python could be better > >> for students, for one so imoprtant reazon: Python is > >> clearly and powerfull; and because of it, students > >> just think in solve problems and learning programming, > >> and the language could be an excellent easy learning > >> progamming tool. Also teachers can use the power of > >> python for making good problems for the students. > >> > >> > > > > Based on my actual experience, I can say that Python _is_ a much > > better > > first language choice than C, C++, Java, or Visual Basic. It has > > most of > > the advantages of Scheme, but with a smoother transition to more > > traditional languages. More and more CS programs are discovering > > the joy > > of teaching Python first. So far, I've not heard of any program that > > tried Python and then went back to something like C++ or Java. > > > > Incidentally, I think Python is a marvelous tool throughout the CS > > curriculum. It's a language that gets out of your way so that you can > > concentrate on fundamental concepts. I even use Python in my Op > > Systems > > class, something I'm frequently told Python isn't good for. Not true. > > Python is (arguably) the simplest vehicle that allows my students to > > program directly with underlying Posix system calls. It's simpler than > > doing systems programming in C or C++. To say nothing of trying to > > access the OS in Java... While I would not try to write an OS in > > Python, > > it sure is a lot easier for teaching _about_ them. That is, I am using > > the programming as a learning tool, not trying to teach them how to > > program an OS. > > > > --John > > > > -- > > John M. Zelle, Ph.D. Wartburg College > > Professor of Computer Science Waverly, IA > > john.zelle at wartburg.edu (319) 352-8360 > > _______________________________________________ > > Edu-sig mailing list > > Edu-sig at python.org > > http://mail.python.org/mailman/listinfo/edu-sig > > > > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: http://mail.python.org/pipermail/edu-sig/attachments/20051017/a34c8dfd/attachment.htm > -------------- next part -------------- > A non-text attachment was scrubbed... > Name: PGP.sig > Type: application/pgp-signature > Size: 186 bytes > Desc: This is a digitally signed message part > Url : http://mail.python.org/pipermail/edu-sig/attachments/20051017/a34c8dfd/PGP.pgp > > ------------------------------ > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > > End of Edu-sig Digest, Vol 27, Issue 29 > *************************************** > > -- Dr. Toby Donaldson School of Computing Science Simon Fraser University (Surrey) From urnerk at qwest.net Mon Oct 17 21:16:43 2005 From: urnerk at qwest.net (Kirby Urner) Date: Mon, 17 Oct 2005 12:16:43 -0700 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <4353E345.7050702@wartburg.edu> Message-ID: <20051017191644.406531E4002@bag.python.org> > Incidentally, I think Python is a marvelous tool throughout the CS > curriculum. It's a language that gets out of your way so that you can > concentrate on fundamental concepts. I even use Python in my Op Systems > class, something I'm frequently told Python isn't good for. Not true. > Python is (arguably) the simplest vehicle that allows my students to > program directly with underlying Posix system calls. It's simpler than > doing systems programming in C or C++. To say nothing of trying to > access the OS in Java... While I would not try to write an OS in Python, > it sure is a lot easier for teaching _about_ them. That is, I am using > the programming as a learning tool, not trying to teach them how to > program an OS. > > --John I echo John's sentiments. There's something very satisfying about being able to use Python bindings to the SDL library (C++) to make a CD tray pop open, or make your animation go full screen vs. in a window. You can do these things with PyGame.[1] Using win32all, you can get into the guts of Windows more specifically, calling up Microsoft Foundation Classes (MFC) and defining COM objects. These powers will only increase, plus become more standardized across platforms, with the spread of .NET/Mono (this is a Linux-friendly technology, is not just about Windows or Microsoft).[2] Python lets you define a web server with just a few lines of code, as the Standard Library includes one -- it'll even run your cgi scripts for ya.[3] This is a wonderful resource for future web programmers, as they pursue a gentle intro to server side programming. Why start by tackling Apache's httpd daemon head on, complete with mod-rewrite? South America has already made significant contributions to Python world. Facundo Batista of Argentina is one of the brains behind the new decimal type [4] and Brazil is known for providing a lot of Plone and Zope brilliance.[5] Lima could be a new Python capital (like Prague is for FoxPro people -- or so they tell me).[6] Kirby [1] http://www.pygame.org/docs/ref/cdrom.html#CD.eject [2] http://mail.python.org/pipermail/edu-sig/2005-October/005374.html (Chuck re wide adoption of .NET and/or Mono) [3] http://www.4dsolutions.net/ocn/geoquiz.html (mentions CGIHTTPServer) [4] http://pycon.blogspot.com/2005/03/david-ascher-and-facundo-batista-with.html (picture of Facundo) [5] http://www.tchezope.org/ [6] http://mybizmo.blogspot.com/2005/03/pycon-2005.html (re FoxPro) From urnerk at qwest.net Mon Oct 17 21:45:48 2005 From: urnerk at qwest.net (Kirby Urner) Date: Mon, 17 Oct 2005 12:45:48 -0700 Subject: [Edu-sig] Low Enrollments. In-Reply-To: <000001c5d32d$bba41950$1702a8c0@BasementDell> Message-ID: <20051017201231.9925E1E4002@bag.python.org> Hey Art, I actually do appreciate all the autobio and think it relevant, to me at least. I thought you were some kind of financial advisor before and individual clients and/or pension fund managers might knock on your door looking for safe ways to grow their money, a rate of return -- but then again, who isn't looking for such opportunities, when it comes to moneymaking. Anyway, you still didn't grapple with my question, which I'll now direct to some random capitalist: if you think some companies have a negative influence on education, is the answer to purge the education sector of all company influence, or is the answer to free schools to be more autonomous and savvy when it comes to picking and choosing vendors and service providers? As a small business person, I want to be an attractive candidate when bidding on school-related contracts. I don't mind competing with Microsoft, and/or partnering with it (could go both ways in different contexts e.g. MSFT competes with Apple, but also writes software that Apple users buy, e.g. Office). Worse than Microsoft up to its usual dirty tricks would be some government edict from on high that says thou shalt not do business with private for-profit companies if thou art a public school. That'd be a disaster for me, personally, and for just about any for-profit company that produces merchandize or curriculum materials (e.g. text book publishers like McGraw-Hill, a former employer). I want to encourage some uses of Python in schools, and among home-based scholars (who may be adults as well as kids), that I'm sometimes rewarded for demonstrating and promulgating (i.e. professing, teaching, delivering). In microcosm, I suppose I'm not that different from Microsoft (I'm just a lot smaller). I want to survive in a business that interests me. So that brings me to a philosophical question: what's wrong with that? I don't see my goal as in principle unethical. It's what teachers have always wanted: to teach, to have brilliant students who make a difference in the world, and to receive food and shelter while doing some honest work. Kirby 4D Solutions PDX OR USA From urnerk at qwest.net Mon Oct 17 21:44:03 2005 From: urnerk at qwest.net (Kirby Urner) Date: Mon, 17 Oct 2005 12:44:03 -0700 Subject: [Edu-sig] Low Enrollments. In-Reply-To: <000001c5d32d$bba41950$1702a8c0@BasementDell> Message-ID: <20051017201355.E9C371E4002@bag.python.org> Hey Art, I actually do appreciate all the autobio and think it relevant, to me at least. I thought you were some kind of financial advisor before and individual clients and/or pension fund managers might knock on your door looking for safe ways to grow their money, a rate of return -- but then again, who isn't looking for such opportunities, when it comes to moneymaking. Anyway, you still didn't grapple with my question, which I'll now direct to some random capitalist: if you think some companies have a negative influence on education, is the answer to purge the education sector of all company influence, or is the answer to free schools to be more autonomous and savvy when it comes to picking and choosing vendors and service providers? As a small business person, I want to be an attractive candidate when bidding on school-related contracts. I don't mind competing with Microsoft, and/or partnering with it (could go both ways in different contexts e.g. MSFT competes with Apple, but also writes software that Apple users buy, e.g. Office). Worse than Microsoft up to its usual dirty tricks would be some government edict from on high that says thou shalt not do business with private for-profit companies if thou art a public school. That'd be a disaster for me, personally, and for just about any for-profit company that produces merchandize or curriculum materials (e.g. text book publishers like McGraw-Hill, a former employer). I want to encourage some uses of Python in schools, and among home-based scholars (who may be adults as well as kids), that I'm sometimes rewarded for demonstrating and promulgating (i.e. professing, teaching, delivering). In microcosm, I suppose I'm not that different from Microsoft (I'm just a lot smaller). I want to survive in a business that interests me. So that brings me to a philosophical question: what's wrong with that? I don't see my goal as in principle unethical. It's what teachers have always wanted: to teach, to have brilliant students who make a difference in the world, and to receive food and shelter while doing some honest work. Kirby 4D Solutions PDX OR USA From delza at livingcode.org Mon Oct 17 23:16:11 2005 From: delza at livingcode.org (Dethe Elza) Date: Mon, 17 Oct 2005 14:16:11 -0700 Subject: [Edu-sig] Low Enrollments. In-Reply-To: <20051017201231.9925E1E4002@bag.python.org> References: <20051017201231.9925E1E4002@bag.python.org> Message-ID: <9F0B056F-CFE6-4FD4-AE3E-42CE5FAA79CA@livingcode.org> On 17-Oct-05, at 12:45 PM, Kirby Urner wrote: > In microcosm, I suppose I'm not that different from Microsoft (I'm > just a > lot smaller). I want to survive in a business that interests me. > So that > brings me to a philosophical question: what's wrong with that? There is a difference across such differences in scale. Microsoft is a convicted, but unpunished and unrepentant, monopolist with goals which go beyond simply making money (i.e., extending their monopoly further to make more money in the future, as well as ideological goals of having a Microsoft computer on every desk). > I don't see my goal as in principle unethical. It's what teachers > have > always wanted: to teach, to have brilliant students who make a > difference > in the world, and to receive food and shelter while doing some > honest work. It is not unethical to earn an honest living from honest work. Many of Microsoft's business practices *are* unethical, and sometimes illegal (i.e., a former Microsoft accountant was fired when he revealed some of their shady bookkeeping). I don't view that as Microsoft-bashing, just old news. On the other hand, I have no interest in using Microsoft products or building on their platforms as I would personally feel like I was enhancing their monopoly and abetting known criminals. And yet, that's exactly what I do at my day job. Apple has also been less than ethical at times, certainly they have been known to prey on their own developers, but they don't operate from a position of monopoly, they contribute back to the open-source community, and they genuinely innovate, so while I think Jobs is kind of a jerk and wouldn't want to hang out with him (no risk there!), I don't mind building on their platform. IBM went through its own monopoly trial and was found not guilty, but they changed their business practices anyway. They also innovate and give back to the open source community. I don't have a problem with writing for them or getting paid to do it. Maybe I should, because of the part they played in the Holocaust, but it's hard for me to make the connection between today's management and business practices and those of 60 years ago. Everyone has a different place where they draw the line between ethics and making a living. I don't like where Microsoft draws theirs, although there are certainly worse corporations in the world. But I don't refuse to drive a Ford because Henry Ford was a flaming anti-Semite (I refuse to drive a Ford because they make crap cars). Hmmm, starting to ramble. I think there was a point in there, I hope you can find it. --Dethe "All spiritual paths have four steps: show up, pay attention, tell the truth, and don't be attached to the results." Angeles Arien From urnerk at qwest.net Mon Oct 17 23:41:52 2005 From: urnerk at qwest.net (Kirby Urner) Date: Mon, 17 Oct 2005 14:41:52 -0700 Subject: [Edu-sig] Low Enrollments. In-Reply-To: <9F0B056F-CFE6-4FD4-AE3E-42CE5FAA79CA@livingcode.org> Message-ID: <20051017214155.831CA1E4002@bag.python.org> > -----Original Message----- > From: Dethe Elza [mailto:dethe.elza at gmail.com] On Behalf Of Dethe Elza > Sent: Monday, October 17, 2005 2:16 PM > To: Kirby Urner > Cc: 'Arthur'; edu-sig at python.org > Subject: Re: [Edu-sig] Low Enrollments. > > > On 17-Oct-05, at 12:45 PM, Kirby Urner wrote: > > In microcosm, I suppose I'm not that different from Microsoft (I'm > > just a > > lot smaller). I want to survive in a business that interests me. > > So that > > brings me to a philosophical question: what's wrong with that? > > There is a difference across such differences in scale. Microsoft is > a convicted, but unpunished and unrepentant, monopolist with goals > which go beyond simply making money (i.e., extending their monopoly > further to make more money in the future, as well as ideological > goals of having a Microsoft computer on every desk). The standard capitalist response: so don't pin your business plans on Microsoft. Use their products if you must, on a pick-and-choose basis, but develop expertise in other technologies and invest in those. Schools should feel free and empowered to do so, just as ordinary consumers and small businesses should. In other words, why not let market forces "punish" Microsoft (which is currently getting its ass whipped in personal music/video devices, i.e. it's way behind Apple when it comes to iTunes and iPod). In other words, I never disputed that we might have a problem with some company's ethics and practices. I'm just saying we should solve that by working with *other* companies, not saying we're too good, too pure, to every have friends in the for-profit sector. > > I don't see my goal as in principle unethical. It's what teachers > > have > > always wanted: to teach, to have brilliant students who make a > > difference > > in the world, and to receive food and shelter while doing some > > honest work. > > It is not unethical to earn an honest living from honest work. Many > of Microsoft's business practices *are* unethical, and sometimes > illegal (i.e., a former Microsoft accountant was fired when he > revealed some of their shady bookkeeping). > > I don't view that as Microsoft-bashing, just old news. On the other > hand, I have no interest in using Microsoft products or building on > their platforms as I would personally feel like I was enhancing their > monopoly and abetting known criminals. And yet, that's exactly what > I do at my day job. So it's to your advantage to keep investing in projects, products and technologies which free you from any ties to Microsoft. I understand that. I'm saying schools should be free in the same way. > Apple has also been less than ethical at times, certainly they have > been known to prey on their own developers, but they don't operate > from a position of monopoly, they contribute back to the open-source > community, and they genuinely innovate, so while I think Jobs is kind > of a jerk and wouldn't want to hang out with him (no risk there!), I > don't mind building on their platform. > > IBM went through its own monopoly trial and was found not guilty, but > they changed their business practices anyway. They also innovate and > give back to the open source community. I don't have a problem with > writing for them or getting paid to do it. Maybe I should, because > of the part they played in the Holocaust, but it's hard for me to > make the connection between today's management and business practices > and those of 60 years ago. > > Everyone has a different place where they draw the line between > ethics and making a living. I don't like where Microsoft draws > theirs, although there are certainly worse corporations in the > world. But I don't refuse to drive a Ford because Henry Ford was a > flaming anti-Semite (I refuse to drive a Ford because they make crap > cars). And I'm all in support of letting people vote with their dollars based on just such ethical considerations. > Hmmm, starting to ramble. I think there was a point in there, I hope > you can find it. > > --Dethe I understand your point -- you don't like Microsoft and wish you were more free of it, including in your day job. My question was: is the only way to keep nugatory businesses out of the classroom to erect some wall or barrier between schools on the one side, and the business world on the other. Arthur seems nostalgic for some mythical time when this wall existed. I don't think it ever existed, at least not in capitalist society, wherein business have always (a) built schools (b) recruited from schools (c) influenced the curricula at schools and (d) had their technologies used within the schools. What I want to do: field a fleet of cybervans to roam the country, coming to town in circus mode, and staging educational knock-your-socks-off events, or inservice trainings with less fanfare, then leave. Schools exposed to this new curriculum will usually wanting more -- it's an exciting future we're advertising. I've already made a lot of progress in this direction. So what if some of these cybervans have a Google decal on the side? Or 4D Solutions. Or Global Data Corporation. All good companies. And if Microsoft wants to field similar assets? Well, why not. We'll compete. We believe in a level playing field. Kirby From delza at livingcode.org Tue Oct 18 00:03:00 2005 From: delza at livingcode.org (Dethe Elza) Date: Mon, 17 Oct 2005 15:03:00 -0700 Subject: [Edu-sig] Low Enrollments. In-Reply-To: <20051017214154.9B075111DD4@decker.dreamhost.com> References: <20051017214154.9B075111DD4@decker.dreamhost.com> Message-ID: <509D94CF-DF37-4846-9FE7-350F544F1234@livingcode.org> Kirby, I think we're largely in agreement here, it just seemed that you were saying that what you do as a small business and what Microsoft does is ethically equivalent, which I don't agree with. I do agree that the solution is not to legislate business out of schools. I think the solution is to a) ignore Microsoft, and b) make Microsoft irrelevant (they are allowed to help with this, and have been making great progress %-) > What I want to do: field a fleet of cybervans to roam the country, > coming > to town in circus mode, and staging educational knock-your-socks- > off events, > or inservice trainings with less fanfare, then leave. Schools > exposed to > this new curriculum will usually wanting more -- it's an exciting > future > we're advertising. Where do I sign up? I'd seriously like to hear more about this. My wife is doing her Ph.D. in Education right now, and keeps asking herself (and me), "why am I doing this?" We're looking for more signs of progressive change. > I've already made a lot of progress in this direction. So what if > some of > these cybervans have a Google decal on the side? Or 4D Solutions. Or > Global Data Corporation. All good companies. And if Microsoft > wants to > field similar assets? Well, why not. We'll compete. We believe > in a level > playing field. I also want to start teaching Python in the community, but am having trouble starting (both figuring out a good starting point, and freeing time from other commitments). I'd like to hear more about your progress, maybe I can get inspired to join you. --Dethe Choosing software is not a neutral act. It must be done consciously; the debate over free and proprietary software can?t be limited to the differences in the applications? features and ergonomics. To choose an operating system, or software, or network architecture is to choose a kind of society. --Lemaire and Decroocq (trans. by Tim Bray) From urnerk at qwest.net Tue Oct 18 01:24:40 2005 From: urnerk at qwest.net (Kirby Urner) Date: Mon, 17 Oct 2005 16:24:40 -0700 Subject: [Edu-sig] Low Enrollments. In-Reply-To: <509D94CF-DF37-4846-9FE7-350F544F1234@livingcode.org> Message-ID: <20051017232443.6C7C41E4002@bag.python.org> > Where do I sign up? I'd seriously like to hear more about this. My > wife is doing her Ph.D. in Education right now, and keeps asking > herself (and me), "why am I doing this?" We're looking for more > signs of progressive change. > My hope is a lot of people will be looking where to sign up for this lifestyle, which would suit many just fine. However, it'll be up to each company doing a fleet to screen applicants using inhouse criteria. The government may also choose to field fleets (you know how the Pentagon tends to be gung ho on recruiting). [KU: Some schools in Portland have been barring recruiters from campus because of their homophobia, but that's another story]. There won't be one centralized sign up sheet, trust me on this. My role of late is in brainstorming the suite of artifacts that go into a bizmo (business mobile) and that includes curriculum software. For some overview on the whole idea, check this blog entry: http://mybizmo.blogspot.com/2005/09/rethinking-cyberbookmobile-concept.html > I also want to start teaching Python in the community, but am having > trouble starting (both figuring out a good starting point, and > freeing time from other commitments). I'd like to hear more about > your progress, maybe I can get inspired to join you. > > --Dethe > I just met with my counterpart in Portland Public Schools. My gig will be on a volunteer basis, but for me that's OK. I'm field testing, getting feedback. It'll look good on my resume, that I've had all this real world experience. He wants a GIS slant, which is good, cuz I've trained ESRI people in Python and know something about that knowledge domain. > Choosing software is not a neutral act. It must be done consciously; > the debate over free and proprietary software can't be limited to the > differences in the applications' features and ergonomics. To choose > an operating system, or software, or network architecture is to > choose a kind of society. --Lemaire and Decroocq (trans. by Tim Bray) > I'm OK with this philosophy. On the other hand, schools of thought are not fixed in stone. Microsoft could someday turn around and start doing a Linux distro, complete with all kinds of proprietary goodies on top of Linux. A lot of other stuff'd be totally open (BSD type). Same deal with IBM: it loves Linux and contributes openly to the kernel, *and* it loves running proprietary stuff on top of Linux, and earns profits doing so. So, given this imaginary scenario, I expect you'd have the following two camps (among others): "OK, Microsoft is good now, I'll use its stuff and promote it among friends" vs. "Microsoft hasn't paid a high enough price for its previously bad behavior, this distro is totally lame, like Windows was." Since I'm already using Microsoft stuff today (not even under protest), I'm more likely heading towards that first camp, unless I discover something really heinous I don't already know about in the lore and history. I drive a Subaru these days, but in Europe we had Fords (Cortina, Taunus). In the Philippines we had a Chevy Nova. Bhutan was a Gypsy (Suzuki-based), Lesotho a Kia (these are all parent-owned vehicles). I've owned Honda and Toyota as well, no complaints. I do have some moral qualms about Subarus sharing a dealership with Hummers @ Dick Hannah (but not enough to keep me from going there). I don't think of hummers as ethical vehicles, given who used them in wartime (no, I'm not talking about the soldiers ordered to drive them -- many of whom were/are blameless, ethical, kind). Kirby From ajsiegel at optonline.net Tue Oct 18 02:43:06 2005 From: ajsiegel at optonline.net (Arthur) Date: Mon, 17 Oct 2005 20:43:06 -0400 Subject: [Edu-sig] Low Enrollments. In-Reply-To: <0IOI001V3SARR070@mta14.srv.hcvlny.cv.net> Message-ID: <001801c5d37c$e8820e10$1702a8c0@BasementDell> > From: Kirby Urner [mailto:urnerk at qwest.net] > To: 'Arthur'; edu-sig at python.org > Subject: RE: [Edu-sig] Low Enrollments. > In microcosm, I suppose I'm not that different from Microsoft (I'm just a > lot smaller). I want to survive in a business that interests me. So that > brings me to a philosophical question: what's wrong with that? Why do I have to explain to a Fullerite the difference between a human being and a Corporate Giant? Microsoft is beyond a certain kind of criticism, in that acting so as to maximize profits is not only within their mission statement, it is their fiduciary responsibility. > I don't see my goal as in principle unethical. It's what teachers have > always wanted: to teach, to have brilliant students who make a difference > in the world, and to receive food and shelter while doing some honest > work. Food and shelter is good. Seeking that, and acting in concert as an organization with the mission of maximizing profits are apples and oranges motivating factors and can only and necessarily lead to apple and orange approaches and decisions. You can try to collaborate with Microsoft, but I can't see the basis to believe it will be a workable collaboration. I would hate to see them using you the way they would tend to, point to a small scale pilot project for its PR effect and to justify more dubious claims and assertions. Microsoft is well past the food and shelter stage of things, and for them to collaborate with you they would have to be doing so in a context with an ultimate goal of profit maximization. Otherwise they are not acting within the terms of their charter and mission statement. And nobody is accusing them of that. It might be in your own self-interest to not look too deeply into the fuller agenda motivating any support you might get from them, or think too deeply about it. Up to you. Art From dblank at brynmawr.edu Tue Oct 18 19:44:48 2005 From: dblank at brynmawr.edu (Douglas S. Blank) Date: Tue, 18 Oct 2005 13:44:48 -0400 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: References: Message-ID: <1129657488.1298.147.camel@mightymouse.brynmawr.edu> On Mon, 2005-10-17 at 12:11 -0700, Toby Donaldson wrote: [snip] > [Python]'s not so good for talking about "programming as exploiting your > computer", i.e. when it comes time to implement an algorithm > *efficiently*. I know what you mean, but I think that this point can be misinterpreted by those that want to object to Python for the wrong reasons. First, 99.9% of programming (or even computer science) isn't about getting 100% efficiency out of the computer. We are happy not writing programs in machine code to get the benefits of C, although there are some efficiency trade-offs. We are happy to use objects as abstractions in C++, even though there are even more efficiency trade-offs. We are happy to use the high-level abstractions in Python, even though there are even more efficiency trade-offs. Python is in good company with the likes of Java and Scheme as far as being efficient. Second, you still need to worry about exponential explosions when coding in any language, but it is a question of what level you want to focus on. Most programming is about the Big-O efficiency, not the constants that C, C++, or Python add to the processing. That puts the science in programming. There *are* some legitimate concerns with using Python as the first language, but I think that they actually have little to do with Python. For example, you need to think about how this is going to impact the other courses. If a graphics course assumes memory management, where are they going to learn that? If you are moving from Java to Python, there may not be any major concerns then. I think a good set of courses will include C, Python, Scheme, and Java---and Python makes a good introduction. The question is how to fit everything in together. Good luck, -Doug PS - John's book looks like a winner! > Toby > > > On Oct 17, 2005, at 12:45 PM, John Zelle wrote: > > > > > Carlos, > > > > > > I doubt that you'll get much disagreement on this list about Python > > > being an excellent first language choice. Hence, there is unlikely > > > to be > > > much of a "discussion." I wrote a paper titled "Python as a First > > > Language" back in 1998, you can find it at: > > > http://mcsp.wartburg.edu/zelle/python > > > > > > > Carlos, > > > > John also has an excellent textbook: Python Programming: An > > Introduction to Computer Science. We are in our second year of using > > this book in our CS1 class and are very happy with it. Because of > > its power and simplicity we have found that students enjoy the class > > and can do more interesting projects in their first course than they > > could with Java. > > > > For example my students are now (in week 7 of the semester) writing > > functions to enlarge images, smooth the enlarged images, and do edge > > detection on the images the image library is so simple that the > > students can really concentrate on the problem solving parts of the > > exercise. For me these are great introductory exercises that get > > them using nested loops, simple conditionals, and functions. I think > > the students have more fun and are more successful when they can see > > the results of their work visually. > > > > We also use Python in our CS2 course which focuses on data > > structures, and one of our colleagues is using Python in his advanced > > data structures course this year. The great thing about using Python > > in a data structures course is that there is almost a one-to-one > > mapping from pseudocode to Python. So the students can really see > > the how the concepts get mapped to code without all the extra > > overhead that a language like Java imposes. > > > > Of course we also teach and use Java but we don't introduce our > > students to Java until the third course in our introductory > > sequence. The nice thing about holding off on Java until the third > > course is that the students now know enough computer science that we > > can work on bigger and more interesting problems while they are > > learning Java. In addition I can now use Python to compare and > > contrast as I introduce new language concepts in Java. > > > > > > Brad > > -- > > Brad Miller, PhD > > Assistant Professor > > Luther College > > http://www.cs.luther.edu/~bmiller > > jabber: bnmnetp at jabber.org > > > > > Carlos Eduardo Sotelo Pinto wrote: > > > > > >> Hi people > > >> i was making a researching about python for computer > > >> science students as a first language, and it coul be > > >> good in Peruvian Universities and Colleges, may you > > >> have some experiences, or articles or ideas about it. > > >> Coul you send me to my personal email address. > > >> Also I propose to you to began a discussion about this > > >> topic. > > >> > > >> I think in my personal opinion, python could be better > > >> for students, for one so imoprtant reazon: Python is > > >> clearly and powerfull; and because of it, students > > >> just think in solve problems and learning programming, > > >> and the language could be an excellent easy learning > > >> progamming tool. Also teachers can use the power of > > >> python for making good problems for the students. > > >> > > >> > > > > > > Based on my actual experience, I can say that Python _is_ a much > > > better > > > first language choice than C, C++, Java, or Visual Basic. It has > > > most of > > > the advantages of Scheme, but with a smoother transition to more > > > traditional languages. More and more CS programs are discovering > > > the joy > > > of teaching Python first. So far, I've not heard of any program that > > > tried Python and then went back to something like C++ or Java. > > > > > > Incidentally, I think Python is a marvelous tool throughout the CS > > > curriculum. It's a language that gets out of your way so that you can > > > concentrate on fundamental concepts. I even use Python in my Op > > > Systems > > > class, something I'm frequently told Python isn't good for. Not true. > > > Python is (arguably) the simplest vehicle that allows my students to > > > program directly with underlying Posix system calls. It's simpler than > > > doing systems programming in C or C++. To say nothing of trying to > > > access the OS in Java... While I would not try to write an OS in > > > Python, > > > it sure is a lot easier for teaching _about_ them. That is, I am using > > > the programming as a learning tool, not trying to teach them how to > > > program an OS. > > > > > > --John > > > > > > -- > > > John M. Zelle, Ph.D. Wartburg College > > > Professor of Computer Science Waverly, IA > > > john.zelle at wartburg.edu (319) 352-8360 > > > _______________________________________________ > > > Edu-sig mailing list > > > Edu-sig at python.org > > > http://mail.python.org/mailman/listinfo/edu-sig > > > > > > > -------------- next part -------------- > > An HTML attachment was scrubbed... > > URL: http://mail.python.org/pipermail/edu-sig/attachments/20051017/a34c8dfd/attachment.htm > > -------------- next part -------------- > > A non-text attachment was scrubbed... > > Name: PGP.sig > > Type: application/pgp-signature > > Size: 186 bytes > > Desc: This is a digitally signed message part > > Url : http://mail.python.org/pipermail/edu-sig/attachments/20051017/a34c8dfd/PGP.pgp > > > > ------------------------------ > > > > _______________________________________________ > > Edu-sig mailing list > > Edu-sig at python.org > > http://mail.python.org/mailman/listinfo/edu-sig > > > > > > End of Edu-sig Digest, Vol 27, Issue 29 > > *************************************** > > > > > > > -- > Dr. Toby Donaldson > School of Computing Science > Simon Fraser University (Surrey) > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -- Douglas S. Blank Computer Science Assistant Professor Bryn Mawr College (610)526-6501 http://cs.brynmawr.edu/~dblank From cben at users.sf.net Tue Oct 18 21:57:10 2005 From: cben at users.sf.net (Beni Cherniavsky) Date: Tue, 18 Oct 2005 21:57:10 +0200 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <89139CFB-8682-4EA2-8822-CDD0E1ED5B95@luther.edu> References: <20051017160430.48050.qmail@web26601.mail.ukl.yahoo.com> <4353E345.7050702@wartburg.edu> <89139CFB-8682-4EA2-8822-CDD0E1ED5B95@luther.edu> Message-ID: <1129665430.11027.16.camel@localhost.cherniavsky.homelinux.net> On Mon, 2005-10-17 at 13:00 -0500, Brad Miller wrote: > [...Luther College using Python for CS1, CS2 and data structures...] > > Of course we also teach and use Java but we don't introduce our > students to Java until the third course in our introductory sequence. > The nice thing about holding off on Java until the third course is > that the students now know enough computer science that we can work on > bigger and more interesting problems while they are learning Java. In > addition I can now use Python to compare and contrast as I introduce > new language concepts in Java. Do you tell them about Jython? Do you have data on how they use Jython? I guess that with such prior Python experience, they should be very comfortable mixing the languages. From bmiller at luther.edu Tue Oct 18 22:31:29 2005 From: bmiller at luther.edu (Brad Miller) Date: Tue, 18 Oct 2005 15:31:29 -0500 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <1129665430.11027.16.camel@localhost.cherniavsky.homelinux.net> References: <20051017160430.48050.qmail@web26601.mail.ukl.yahoo.com> <4353E345.7050702@wartburg.edu> <89139CFB-8682-4EA2-8822-CDD0E1ED5B95@luther.edu> <1129665430.11027.16.camel@localhost.cherniavsky.homelinux.net> Message-ID: <565CC27D-8848-423B-9FF3-2ED8335D3A5A@luther.edu> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Oct 18, 2005, at 2:57 PM, Beni Cherniavsky wrote: > On Mon, 2005-10-17 at 13:00 -0500, Brad Miller wrote: > >> [...Luther College using Python for CS1, CS2 and data structures...] >> >> Of course we also teach and use Java but we don't introduce our >> students to Java until the third course in our introductory sequence. >> The nice thing about holding off on Java until the third course is >> that the students now know enough computer science that we can >> work on >> bigger and more interesting problems while they are learning >> Java. In >> addition I can now use Python to compare and contrast as I introduce >> new language concepts in Java. >> > > Do you tell them about Jython? Do you have data on how they use > Jython? > I guess that with such prior Python experience, they should be very > comfortable mixing the languages. > > I have not told them about Jython, mainly because my own impression was that Jython was not really going anywhere. I tried a couple of simple graphics programs that didn't work.... After reading your message I went to www.jython.org and I still get mixed signals about whats happening. Apparently there is a new alpha release of Jython 2.2, but the Wiki is broken, the developer blog comes up blank. I don't see any plans about making Jython compatible with Python 2.4.x.... If it does turn out that Jython becomes a thriving, active version of Python then I think it would be very interesting to investigate. Have you used Jython? What has been your experience? Maybe others are more in the know about the future prospects of Jython? Brad -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (Darwin) iD8DBQFDVVumt6pClM1VKiYRAqgnAKCAJl03D7KerKOtmcj49cL5gLktegCeLhBv QW3zaT33uIrpRH6TEUz/cPg= =QF+q -----END PGP SIGNATURE----- From cben at users.sf.net Wed Oct 19 01:38:53 2005 From: cben at users.sf.net (Beni Cherniavsky) Date: Wed, 19 Oct 2005 01:38:53 +0200 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <565CC27D-8848-423B-9FF3-2ED8335D3A5A@luther.edu> References: <20051017160430.48050.qmail@web26601.mail.ukl.yahoo.com> <4353E345.7050702@wartburg.edu> <89139CFB-8682-4EA2-8822-CDD0E1ED5B95@luther.edu> <1129665430.11027.16.camel@localhost.cherniavsky.homelinux.net> <565CC27D-8848-423B-9FF3-2ED8335D3A5A@luther.edu> Message-ID: <1129678734.11027.38.camel@localhost.cherniavsky.homelinux.net> On Tue, 2005-10-18 at 15:31 -0500, Brad Miller wrote: > I have not told them about Jython, mainly because my own impression > was that Jython was not really going anywhere. I tried a couple of > simple graphics programs that didn't work.... > > After reading your message I went to www.jython.org and I still get > mixed signals about whats happening. Apparently there is a new alpha > release of Jython 2.2, but the Wiki is broken, the developer blog > comes up blank. I don't see any plans about making Jython compatible > with Python 2.4.x.... > > If it does turn out that Jython becomes a thriving, active version of > Python then I think it would be very interesting to investigate. > Have you used Jython? What has been your experience? Maybe others > are more in the know about the future prospects of Jython? > I didn't use Jython myself (beyond checking that 2+3 works) for lack of need. Some months ago a co-worker asked me for advice on metaclasses in Jython, which didn't work as they do inCPython 2.2+. After meditating on the code for 2-3 weeks, I came up with the right 2-line fix -- the worst lines/time ratio [1] in my life I suppose -- but one of the more enlightening [2]. During my study, that file was heavily updated to implement new-style classes in Jython's CVS and the problem was fixed independently :-). [1] "if we wish to count lines of code, we should not regard them as "lines produced" but as "lines spent"" -- E.W.Dijksta [2] Jython is quite mind-bending: turns out you can introspect the Jython implementation from the Jython prompt! This is possible because Java has introspection and Jython transparently access it when doing things like dir(). I don't know what's up with the site not being updated, wiki and blog down, etc... The last I see is the alpha release in the blog's cache http://216.239.59.104/search?q=cache%3Ahttp%3A%2F%2Fwww.ziclix.com% 2Fbzimmer%2F From ajsiegel at optonline.net Wed Oct 19 03:22:31 2005 From: ajsiegel at optonline.net (Arthur) Date: Tue, 18 Oct 2005 21:22:31 -0400 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <565CC27D-8848-423B-9FF3-2ED8335D3A5A@luther.edu> Message-ID: <000001c5d44b$948afea0$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Brad Miller > I have not told them about Jython, mainly because my own impression > was that Jython was not really going anywhere. I tried a couple of > simple graphics programs that didn't work.... Some evidence that Jython has some industrial strength in its present incarnation would be the fact that it seems to be central to the development process at Propylon: http://www.propylon.com/ I was aware of this by following Sean McGrath's - the Propylon CTO - always interesting writings digested at www.planetpython.com. It is confirmed by the fact that their current opening for Software Engineer lists Python/Jython experience first under Technical Requirements for the position. Art From mark.engelberg at alumni.rice.edu Wed Oct 19 07:31:41 2005 From: mark.engelberg at alumni.rice.edu (Mark Engelberg) Date: Tue, 18 Oct 2005 22:31:41 -0700 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: References: <565CC27D-8848-423B-9FF3-2ED8335D3A5A@luther.edu> <000001c5d44b$948afea0$1702a8c0@BasementDell> Message-ID: In my mind, one important feature of a first programming language is that it must provide meaningful error messages for every common error a student might make. Bugs that are easy to make and hard to track down are a surefire way to turn kids off of programming. Python falls short in this respect. Consider this program: def plus2(realNumber): raelNumber = realNumber+2 return realNumber The problem, of course, is that when you intended to assign a value to a variable, you actually created a new one. It is very bad that a minor typo can really mess with the semantics of your code. Similar situations crop up when you intend to modify a global variable in one of your functions, but forget (or are unaware of) the global keyword, and end up creating a new local variable. Also, this problem happens all the time within objects, in which you try to assign a property, but because you misspell the property, it just creates a new property for the object. Typed languages, of course, don't have this problem, because you have to declare the types of everything you use, before you use them. But this is not the only way to solve this problem. For example, Scheme, as I recall, won't allow you to modify a variable (using set!) that has not already been bound to some initial value (using let). I think this is Python's greatest weakness as an educational language. In a lot of other ways, however, it is very nice. --Mark From peter at mapledesign.co.uk Wed Oct 19 10:25:12 2005 From: peter at mapledesign.co.uk (Peter Bowyer) Date: Wed, 19 Oct 2005 09:25:12 +0100 Subject: [Edu-sig] Why choose Python (subtitled: the lure of the tool) Message-ID: <6.2.3.4.0.20051018223659.04bec0d8@127.0.0.1> Hi, As you may remember from previous posts, I am researching ways to improve the teaching of programming to physics students. In the past as with most physics departments the course was taught as an introduction to C or Basic. This worked fine up to the late 90s when most students had experience of programming. The structure here has been to have an introductory course in the 2nd year teaching people how to program, and then an optional course in the 3rd year introducing computational physics. My idea was to teach the basics using Python and scientific modules. However, the question I am consistently coming up against is "Why not teach the students Matlab?". It's a very good point and one I can think up no clear answer for. If the students stay in Physics or a related field they will be using Matlab (and C/C++/Fortran if needed). therefore is there any reason not to teach this as the introduction to programming? My arguments at present are that Matlab is a proprietary tool so the cost to students in obtaining copies will be not inconsiderable (considering it will only be used for a short course), and that Matlab is a specialised tool, so those not interested in going on into a physics related field will not find it of any use (unlike Python). The arguments for Matlab are stronger: 1) It's a standard tool, widely used 2) It is easier to install and maintain (discounting the Enthought edition for a moment, Python is CRAP compared with other langauges - where is the Package manager to make life easier?) 3) The editor has a good interface (v7 and above) which IDLE lacks (no data inspector 'right there') 4) Integrated help for all the scientific functions Are there any reasons you can think of that Python makes a better choice than Matlab? I myself would far rather use Python (I have ideas about how VPython can help the students understand Python) but need a more robust reason than a handwaving argument about "3D...easier for students to visualise...". Toby Donaldson made a good point in his post on 17/10/05: >Python's a good choice of language when you want to talk about >"programming as computation" to people who don't have a lot of CS or >math background. It's also good for talking about algorithm >correctness. And I use it all the time as pseudocode and one-shot >scripts. > >It's not so good for talking about "programming as exploiting your >computer", i.e. when it comes time to implement an algorithm >*efficiently*. The people doing my course know absolutely nothing about programming, but at the same time being physics, every member of staff mentions efficiency in the same sentence as programming :-) With that said, now the grounds are switched from teaching C/Python to Matlab/Python it doesn't appear to be such a valid argument. Regards Peter -- Maple Design - quality web design and programming http://www.mapledesign.co.uk From pdfernhout at kurtz-fernhout.com Wed Oct 19 15:26:02 2005 From: pdfernhout at kurtz-fernhout.com (Paul D. Fernhout) Date: Wed, 19 Oct 2005 09:26:02 -0400 Subject: [Edu-sig] On Jython for education In-Reply-To: <565CC27D-8848-423B-9FF3-2ED8335D3A5A@luther.edu> References: <20051017160430.48050.qmail@web26601.mail.ukl.yahoo.com> <4353E345.7050702@wartburg.edu> <89139CFB-8682-4EA2-8822-CDD0E1ED5B95@luther.edu> <1129665430.11027.16.camel@localhost.cherniavsky.homelinux.net> <565CC27D-8848-423B-9FF3-2ED8335D3A5A@luther.edu> Message-ID: <4356496A.4000700@kurtz-fernhout.com> Brad Miller wrote: > If it does turn out that Jython becomes a thriving, active version of > Python then I think it would be very interesting to investigate. > Have you used Jython? What has been your experience? Maybe others > are more in the know about the future prospects of Jython? We're using Jython for a medium sized commercial project (using the latest stuff from CVS) and it seems to be working quite well. However, whether it is easy enough for learning is a different matter. The value of Jython (to us) is in the ability to use Python syntax and features and yet access a huge array of Java class libraries and then be able to say to a client we are "using Java" without suffering through endless braces and casts and type declarations and so on. (And realistically, Java does provide a lot of enterprise level libraries, or at least says it does.) Personally, I prefer the Swing API to wxWindows (what I use under CPython), however the cost of that is not being truly open source (Google on "The Java Trap") if you use Sun's class libraries and JRE stuff and also having a huge footprint in memory use (30MB+) whereas python + wxWindows is much smaller (both memory and installation needs). Of course that is slowly being balanced by the fact that if someone already has a JRE (Java runtime environment) installed, which is more and more common, all you need to give them is a 1.5MB or so Jython jar file. Supposedly JRE 1.5 does a better job of sharing memory for common code across all JRE users. And GNU classpath (free as in freedom Java libraries) is moving along. As for Jython's support, it does have some active users, but obviously it does not have the volume of posts to the mailing lists that Python has. Also unlike the Python mailing list there have been quite a few unanswered questions especially in the past (i.e. I sometimes Google on some Jython issue and find someone else asked it but there was not a reply, whereas Python rarely has that). However, many questions related to Jython in terms of how to use widgets can instead be answered by looking at Java forums for ideas. There really isn't that much Jython specific stuff (as opposed to Java specific stuff) to know unless you are hacking the Jython codebase, and that one of the beauties of Jython (for people comfortable with Java). And despite the limited volume of the mailing list, except for missing features of later Pythons, Jython 2.1 from a couple years back seems to have a good reputation for stability. Due to the Python Software Foundation's wisdom in funding work on Jython it is moving along towards later Python compatibility and at least for a short time better supported. I think that was an excellent choice by the PSF (and I say that seriously as someone who had a rejected proposal [Delphi -> Python conversion]; investing in Jython was a better choice, and even I am now benefiting from it). I think Jython will remain an excellent place to invest Python-related money and effort -- it really does open Python up to a broad spectrum of situations. I think Jython could be made into an excellent educational environment (including being usable in later web browsers linked to a late model JRE, which would be a big deal for use in schools!) but it would take some work. The biggest issue is that to use most common Swing classes in Jython like JLabel and JTree and JList, you need to read and mentally translate to Python syntax the Java documentation (sort of like how in wxWindows you need to read the C documentation, but wxPython at least has a nice demo of all widgets and Jython Swing does not). This is quite a bit of a hurdle, though not that bad for an experienced or motivated programmer, especially if you already know Java. That issue might be solved by just making better documentation of Swing for Jython (though who would want to maintain is, if it wasn't generated automatically?). [There are also some Jython idioms which make the code smaller than straight Java to Jython translation by dropping all the typecasts and type declarations which are not obvious at the start.] Or alternatively, one could just make special educational classes for novices which would be like training wheels (think 2D turtle, etc.) until kids could start using Swing. There are two Jython related IDEs now for eclipse, so perhaps one of them could be modified for education use as well (though Eclipse has its own learning curve). And for learning, as in another post in this thread, some issues like the ease of making typos might need to be addressed somehow. Smalltalk, another flexible system designed for kids, requires local variable declarations as names to prevent typos (which I like, personally, as opposed to mandatory type declarations) and warns you when you save code that uses an undefined function (actually,undefined "selector" of a method, in Smalltalk jargon). Given the source is there, it might be possible to add this requirement somehow to Jython, but that would break some Python compatibility? I would not mind this typo problem so much if Jython, like most Smalltalk, allowed you to easily modify running code in the debugger. So, that would be another approach to making the type problem less of a bother -- adding better support for modifying code while running (and I have made some experiments in that direction). However, for small learning programs, rerunning the code from scratch (especially under JRE 1.5 with quicker subsequent startup) might not be such a big deal. As an aside, I was posting against Java (in favor of Smalltalk) in the newsgroups when Java came out, as I thought it was marketing hype and unneeded. And it was. But now, eight years or so later, Sun and cohorts finally have a lot of the bugs out (and have added so many features from Smalltalk like Swing and hot spot technology), so, given you can use all that stuff from Python with Jython, it isn't that bad a platform anymore (ignoring "The JavaTrap" license issue). --Paul Fernhout From urnerk at qwest.net Wed Oct 19 20:11:00 2005 From: urnerk at qwest.net (Kirby Urner) Date: Wed, 19 Oct 2005 11:11:00 -0700 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: Message-ID: <20051019181303.BFCDE1E4003@bag.python.org> > Python falls short in this respect. Consider this program: > > def plus2(realNumber): > raelNumber = realNumber+2 > return realNumber > IDLE 1.1 >>> def plus2(realNumber): raelNumber = realNumber+2 return realNumber >>> gimme = plus2(10) >>> gimme 10 I seem to recall some external module that's paw through code looking for potential problems of this kind. Technically speaking, there's no mistake here. The coder created a local variable that went out of scope. He could always say "I meant to do that." Kirby From urnerk at qwest.net Wed Oct 19 20:13:25 2005 From: urnerk at qwest.net (Kirby Urner) Date: Wed, 19 Oct 2005 11:13:25 -0700 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: Message-ID: <20051019181436.8D6AF1E4003@bag.python.org> > Python falls short in this respect. Consider this program: > > def plus2(realNumber): > raelNumber = realNumber+2 > return realNumber > IDLE 1.1 >>> def plus2(realNumber): raelNumber = realNumber+2 return realNumber >>> gimme = plus2(10) >>> gimme 10 I seem to recall some external module that's paw through code looking for potential problems of this kind. Technically speaking, there's no mistake here. The coder created a local variable that went out of scope. He could always say "I meant to do that." Kirby From urnerk at python.org Wed Oct 19 20:55:38 2005 From: urnerk at python.org (Kirby Urner) Date: Wed, 19 Oct 2005 11:55:38 -0700 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <565CC27D-8848-423B-9FF3-2ED8335D3A5A@luther.edu> Message-ID: <20051019185541.EF3D81E4003@bag.python.org> > I have not told them about Jython, mainly because my own impression > was that Jython was not really going anywhere. I tried a couple of > simple graphics programs that didn't work.... > Re Jython etc., in a pure CS context we don't have to care if the language is dead, e.g. Algol might still be nit-picked, to learn more about compilers, and we might do a unit on FORTRAN (which is still used BTW, on fancy Crays doing highly optimized linear algebra 24/7 -- I've had beers with some of those guys). Conway did a good talk on dead languages @ OSCON 2005, and their ongoing utility as play-things, toyz, e.g. you can learn a lot from C++. :-D [1] The supervising faculty member at the school where I'm teaching has asked me to mix a lot of GIS/GPS into my Python, which I'm happy to do (having taught Python to ESRI product users, spent time milling about the various booths).[2] I'll be opening with Google Earth, with Stellarium and Celestia for context. Part of the storyline: Google uses Python a lot, internally (true fact!), and these two astronomy programs well illustrate the state of the art when it comes to open source (quality code really does bubble up in the bazaar, not just in cathedrals). Kirby [1] http://worldgame.blogspot.com/2005/08/oscon-day-2-wanderers.html (see last paragraph for mention of the dead languages talk, which included many slogans in Latin, in which Damian is expert. [2] http://mybizmo.blogspot.com/2005/03/python-for-gis-experts.html From mark.engelberg at alumni.rice.edu Wed Oct 19 22:07:39 2005 From: mark.engelberg at alumni.rice.edu (Mark Engelberg) Date: Wed, 19 Oct 2005 13:07:39 -0700 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: References: Message-ID: On 10/19/05, Kirby Urner wrote: > Technically speaking, there's no mistake here. The coder created a local > variable that went out of scope. He could always say "I meant to do that." Well, that's the point. Python doesn't recognize it as a mistake. Clearly, in my example, the programmer intended to assign a new value to an existing variable, rather than create a new variable. Some languages make a distinction between these two concepts, so the language can flag this as an error. Python doesn't make a distinction, and therefore, a beginner programmer (and sometimes even an advanced programmer) can create a semantic bug through a syntactic mistake, and have an extraordinarily difficult time tracking down the error. This is not a desirable trait in a "first programming language" for teaching computer science. --Mark P.S. For what it's worth, Python is the language I choose to use on a daily basis, because I mainly write short programs to analyze various puzzles I'm working on. It's a great tool for fast and practical programming. But I think it would be very hard to write a bug-free large-scale project in Python. (Granted, it's hard to write a bug-free large-scale project in any language, but Python lacks the facilities for verifying even the rudiments of correctness without extensive run-time testing). I'm undecided about how useful Python would be as an educational tool. Seems like it has some pros and cons. Since the pros have already been talked about, I thought it was worth bringing up one of the major cons that I perceive. From guido at python.org Wed Oct 19 22:12:06 2005 From: guido at python.org (Guido van Rossum) Date: Wed, 19 Oct 2005 13:12:06 -0700 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: References: Message-ID: On 10/19/05, Mark Engelberg wrote: > This is not a desirable trait in a "first programming language" for > teaching computer science. There are many desirable and undesirable traits for "first programming languages'. I doubt you'll find a language without undesirable traits. Is this undesirable trait so bad that it removes Python from the competition? Many people here seem think it doesn't. -- --Guido van Rossum (home page: http://www.python.org/~guido/) From rsenra at acm.org Wed Oct 19 23:00:34 2005 From: rsenra at acm.org (Rodrigo Senra) Date: Wed, 19 Oct 2005 19:00:34 -0200 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: References: Message-ID: [ Mark Engelberg ]: > P.S. For what it's worth, Python is the language I choose to use on a > daily basis, because I mainly write short programs to analyze various > puzzles I'm working on. It's a great tool for fast and practical > programming. Indeed. > But I think it would be very hard to write a bug-free > large-scale project in Python. I beg to differ. I have been doing that for the last 5 years in Python. But our definitions of "large-scale" might be different ;o) Moreover, any large-scale project becomes "less large" (in KLOC) when ported to Python. Last but not least, I' ve **never** seen a bug-free large-scale project in any language. > (Granted, it's hard to write a bug-free large-scale project in any > language, I truly believe that is an understatement. > but Python lacks the facilities for verifying even the rudiments of > correctness without extensive run-time testing). Wouldn' t you agree that even statically-compiled languages also need extensive run-time testing in order to verify its correctness ? > I'm undecided about how useful Python would be as an educational > tool. I, amongst others, have given a speech in the last Europython (Sweden 2005) about that. IMHO, Python allows the students to feel successful during the learning process. They can concentrate on problems, algorithms and logic, instead of struggling with a tool most of the time. Python (==any language) should never be the only educational tool. Nevertheless, Python is definetely useful in any context I can think of. best regards, Senra Rodrigo Senra ______________ rsenra @ acm.org http://rodrigo.senra.nom.br From ajsiegel at optonline.net Wed Oct 19 23:02:23 2005 From: ajsiegel at optonline.net (Arthur) Date: Wed, 19 Oct 2005 17:02:23 -0400 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: Message-ID: <000901c5d4f0$67c9dfd0$1702a8c0@BasementDell> Mark writes - > This is not a desirable trait in a "first programming language" for > teaching computer science. Because we need to teach the programmers early on that they are not responsible for their mistakes? It's the tool's fault. Not sure why that line of reasoning gets to me the way it does. Although the point you raise certainly gets enough attention - for example a recent 140 message thread on python-list. And certainly I am not criticizing for laying it on the table here. In fact on such a thread a few months ago, I got upset with Alex Martelli for roughly bashing someone who was pressing this point. (and let him know so) But you should realize how strongly some folks who understand Python deeply feel about the issue. No declarations. Alex goes a step further, feeling that "global" in Python is a serious wart because it is itself a declaration. Being the easy going guy that I am ;), I am usually OK with Python as it happens to be, and usually get a little confused (and upset) when I am informed (by the defenders of the faith, no less) that I am being complacent, and that things need to change - again. At this point, most of the things that I would think would be most difficult to understand about Python - for someone coming to it fresh - would be the artifacts of transitions and changes. i.e. new style and old style classes, list comprehension vs generator comprehensions, div old vs div new, @property, and I am sure many others that don't come to me off the top of my head. All theses changes are understandable, standalone. But sometimes I do feel that the people who want them, are greedy for them. And like to sell them as freebies. No change is a freebie at this stage. Art From bmiller at luther.edu Wed Oct 19 23:05:22 2005 From: bmiller at luther.edu (Brad Miller) Date: Wed, 19 Oct 2005 16:05:22 -0500 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: References: Message-ID: <8B8D70B5-5F2E-4373-A576-98EF48CB7AFA@luther.edu> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Oct 19, 2005, at 3:07 PM, Mark Engelberg wrote: > On 10/19/05, Kirby Urner wrote: > >> Technically speaking, there's no mistake here. The coder created >> a local >> variable that went out of scope. He could always say "I meant to >> do that." >> > > Well, that's the point. Python doesn't recognize it as a mistake. > Clearly, in my example, the programmer intended to assign a new value > to an existing variable, rather than create a new variable. Some > languages make a distinction between these two concepts, so the > language can flag this as an error. Python doesn't make a > distinction, and therefore, a beginner programmer (and sometimes even > an advanced programmer) can create a semantic bug through a syntactic > mistake, and have an extraordinarily difficult time tracking down the > error. > > This is not a desirable trait in a "first programming language" for > teaching computer science. > Mark, I understand that you see this as a risk, and as a downside to using Python. However, I rarely see these kinds of errors in the programs that my students are writing in CS1 and CS2. As you point out below, Python is a good tool for writing short programs that are focused on problem solving. Well, those are the kinds of programs that students write in CS1. Learning to program Large scale bug free systems is an important part of the curriculum, but I would argue that students need to walk before they can run in this regard. I'm curious to hear from others that use Python for introductory computer science. How often do these 'semantic bugs' crop up for your students? Brad > --Mark > > P.S. For what it's worth, Python is the language I choose to use on a > daily basis, because I mainly write short programs to analyze various > puzzles I'm working on. It's a great tool for fast and practical > programming. But I think it would be very hard to write a bug-free > large-scale project in Python. (Granted, it's hard to write a > bug-free large-scale project in any language, but Python lacks the > facilities for verifying even the rudiments of correctness without > extensive run-time testing). I'm undecided about how useful Python > would be as an educational tool. Seems like it has some pros and > cons. Since the pros have already been talked about, I thought it was > worth bringing up one of the major cons that I perceive. > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (Darwin) iD8DBQFDVrUYt6pClM1VKiYRAld3AJ97HNc8wcFsI7sEMJDmS0HDkNbPLwCggWEY SZt3LuW5gBSnjawPTy/nowY= =uZLU -----END PGP SIGNATURE----- From radenski at chapman.edu Wed Oct 19 23:11:27 2005 From: radenski at chapman.edu (Radenski, Atanas) Date: Wed, 19 Oct 2005 14:11:27 -0700 Subject: [Edu-sig] Python as a first language for computer sciencist Message-ID: > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Mark Engelberg > Subject: Re: [Edu-sig] Python as a first language for computer sciencist > In my mind, one important feature of a first programming language is > that it must provide meaningful error messages for every common error > a student might make. Unfortunately, there is no language that can provide meaningful error messages for every common error a student might make, except in one's dreams. Consider this program that is intended to calculate the area of a triangle, given its sides, s1, s2, s3. It is written in a statically typed language. It gives you a good headache with a simple typo (s2 accidentally typed instead of s3). float triangleArea(float s1, float s2, float s3) { float p = (s1 + s2 + s3) / 2; // triangle perimeter return Math.sqrt (p*(p-s1)*(p-s2)*(p-s2)); // s2 typed instead of s3 } Or consider this (3.1514 typed instead of 3.1415): float circleArea(float r) { float pi = 3.1514; // pi value mistyped return pi*r*r; } > It is very bad that a minor typo can really mess with the semantics of your code. Certainly, I agree. But this cannot be avoided. > Typed languages, of course, don't have this problem, because you have > to declare the types of everything you use, before you use them. Python is a typed language, too. Do you mean 'statically typed languages'? Atanas Atanas Radenski mailto:radenski at chapman.edu http://www.chapman.edu/~radenski/ From rsenra at acm.org Wed Oct 19 23:50:59 2005 From: rsenra at acm.org (Rodrigo Senra) Date: Wed, 19 Oct 2005 19:50:59 -0200 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <8B8D70B5-5F2E-4373-A576-98EF48CB7AFA@luther.edu> References: <8B8D70B5-5F2E-4373-A576-98EF48CB7AFA@luther.edu> Message-ID: [ Brad Miller ] > > I'm curious to hear from others that use Python for introductory > computer science. How often do these 'semantic bugs' crop up for > your students? Brad, at the time I was teaching undergraduate courses that was not an issue, mainly because Python has such wonderful debugging tools: interactive console, dir()/type(), pdb. What I did was to play with them exploring Python' s reflective tools, so they could learn early on how _survive_ by themselves. But I always gave strong emphasis on Python scoping rules, that might have helped to avoid that particular issue. Or maybe they stumbled in it, and never let me know ;o) best regards, Senra Rodrigo Senra ______________ rsenra @ acm.org http://rodrigo.senra.nom.br From ajsiegel at optonline.net Thu Oct 20 00:23:29 2005 From: ajsiegel at optonline.net (Arthur) Date: Wed, 19 Oct 2005 18:23:29 -0400 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <8B8D70B5-5F2E-4373-A576-98EF48CB7AFA@luther.edu> Message-ID: <000001c5d4fb$bde1f870$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Brad Miller > > I understand that you see this as a risk, and as a downside to using > Python. However, I rarely see these kinds of errors in the programs > that my students are writing in CS1 and CS2. I try to be the voice of the student, rather than the teacher - as I in fact was introduced to programming with Python. And though I certainly cannot say that I never made this kind of error, and can say that I never made this kind of error that was at all difficult to trace to its source. Which is not something I kind say about many other kinds of errors that I have made. As others have pointed out, the potential different kinds of errors one might make are essentially infinite, and one quickly learns which relatively small population of those the language is deigned to capture on your behalf, and those for which one must take responsibility. It always seems to me that it is folks coming from languages that include this kind of error in their "catch" list for whom this is a major deal. It's not like Python hasn't thought of it. The trade-offs are well understood I would think, and eyes-open decisions have been made. OTOH, in designing by own API for PyGeo, where there is a long list of potential keyword arguments that a class constructor make accept, it was child's play (I did it ;) ) to design a mechanism to catch and report keyword arguments that the class was not designed to accept. I spell "color" my way, and if you try to spell "colour" your way, you will be told that *you* are spelling it wrong, not I. Art From ajsiegel at optonline.net Thu Oct 20 01:03:54 2005 From: ajsiegel at optonline.net (Arthur) Date: Wed, 19 Oct 2005 19:03:54 -0400 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <000001c5d4fb$bde1f870$1702a8c0@BasementDell> Message-ID: <000001c5d501$62abd880$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Arthur > Sent: Wednesday, October 19, 2005 6:23 PM > To: 'Brad Miller'; 'Mark Engelberg' > > > > I understand that you see this as a risk, and as a downside to using > > Python. However, I rarely see these kinds of errors in the programs > > that my students are writing in CS1 and CS2. > > I try to be the voice of the student, rather than the teacher - as I in > fact > was introduced to programming with Python. And I think it fair to Python to mention that I was certainly like "this" before trying to learn to program via a dynamically typed language that has little use for declarations. Though from this small a sample we cannot rule out the possibility that learning to program with Python only works for folks who, as kids, handled (out of curiosity) more beads of mercury than was probably good for them. Art From urnerk at qwest.net Thu Oct 20 01:13:38 2005 From: urnerk at qwest.net (Kirby Urner) Date: Wed, 19 Oct 2005 16:13:38 -0700 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: Message-ID: <20051019231422.678BC1E4003@bag.python.org> > On 10/19/05, Kirby Urner wrote: > > Technically speaking, there's no mistake here. The coder created a > > local variable that went out of scope. He could always say "I meant > > to do that." > > Well, that's the point. Python doesn't recognize it as a mistake. > Clearly, in my example, the programmer intended to assign a new value > to an existing variable, rather than create a new variable. Some > languages make a distinction between these two concepts, so the > language can flag this as an error. Python doesn't make a > distinction, and therefore, a beginner programmer (and sometimes even > an advanced programmer) can create a semantic bug through a syntactic > mistake, and have an extraordinarily difficult time tracking down the > error. > > This is not a desirable trait in a "first programming language" for > teaching computer science. > > --Mark I think you've nailed a usefully generic use case in which compile time checking of enforced declarations (of types) might save one from a common enough type of bug: the stray typo defines some new thing into existence, whereas the programmer meant to mention only-already-declared objects (an intention a compiler presumably supports). I don't believe a lack of this kind of compile time checking disqualifies a language from being a desirable first. Rather, we need to compensate by emphasizing a different kind of checking: programmer-defined checking (and not just type checking), built around a large number of runtime tests (more below). > P.S. For what it's worth, Python is the language I choose to use on a > daily basis, because I mainly write short programs to analyze various > puzzles I'm working on. It's a great tool for fast and practical > programming. But I think it would be very hard to write a bug-free > large-scale project in Python. (Granted, it's hard to write a > bug-free large-scale project in any language, but Python lacks the > facilities for verifying even the rudiments of correctness without > extensive run-time testing). I'm undecided about how useful Python > would be as an educational tool. Seems like it has some pros and > cons. Since the pros have already been talked about, I thought it was > worth bringing up one of the major cons that I perceive. I think your input is valuable in this regard: you've described a kind of error trapping which Python doesn't feature, plus given a sense of how programmers have historically relied on such "spell checking" to catch egregious, hard-to-find bugs. With the rise of dynamic or agile languages (not just Python), new developer practices have gained in importance, with the eXtreme Programming (XP) philosophy being a chief exponent of same. Per XP, your above function would have had a test written for it, perhaps embedded directly in its documentation (Python supports this). A runtime assertion should have failed, and flagged the problem. As Bruce Eckel likes to point out, compiler-dependent programmers often think their job is over once the code compiles, but of course the fun has only begun. Runtime checks are the job of both breeds of coder. I believe that large scale, robust Python projects manifestly exist. They're not 100% bug free, but nor are they insufficient; they're strong enough for whatever big important job they're doing (in many use cases). And many satisfied customers thank their lucky stars they could get so much for so little, given how productive good Python developers tend to be. All that being said, yes, sometimes *Python* is NOT the right tool for the job. Sometimes raw machine language IS. To say Python could be your first (computer language) is not to say it either could or should be your last. Kirby From chuck at freshsources.com Thu Oct 20 01:25:14 2005 From: chuck at freshsources.com (Chuck Allison) Date: Wed, 19 Oct 2005 17:25:14 -0600 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: References: Message-ID: <1255758222.20051019172514@freshsources.com> Hello Rodrigo, Wednesday, October 19, 2005, 3:00:34 PM, you wrote: >> I'm undecided about how useful Python would be as an educational >> tool. RS> I, amongst others, have given a speech in the last Europython RS> (Sweden 2005) about that. IMHO, Python allows the students to feel RS> successful during the learning process. They can concentrate on RS> problems, algorithms and logic, instead of struggling with a tool RS> most of the time. I have not mentioned it here, but I taught both C++ and Python at Symantec this past summer. I wrote an article about it: (http://www.artima.com/simple.html). I was amazed at what we accomplished with Python. And I'm a C++ guy. And a veteran teacher and developer. It was awesome. -- Best regards, Chuck From guido at python.org Thu Oct 20 01:28:50 2005 From: guido at python.org (Guido van Rossum) Date: Wed, 19 Oct 2005 16:28:50 -0700 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <1255758222.20051019172514@freshsources.com> References: <1255758222.20051019172514@freshsources.com> Message-ID: On 10/19/05, Chuck Allison wrote: > I have not mentioned it here, but I taught both C++ and Python at > Symantec this past summer. I wrote an article about it: > (http://www.artima.com/simple.html). I was amazed at what we > accomplished with Python. And I'm a C++ guy. And a veteran teacher and > developer. It was awesome. Cool! I think you meant this url: http://www.artima.com/cppsource/simple.html -- --Guido van Rossum (home page: http://www.python.org/~guido/) From chuck at freshsources.com Thu Oct 20 01:29:25 2005 From: chuck at freshsources.com (Chuck Allison) Date: Wed, 19 Oct 2005 17:29:25 -0600 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <1255758222.20051019172514@freshsources.com> References: <1255758222.20051019172514@freshsources.com> Message-ID: <508791995.20051019172925@freshsources.com> Wednesday, October 19, 2005, 5:25:14 PM, you wrote: CA> Hello Rodrigo, CA> Wednesday, October 19, 2005, 3:00:34 PM, you wrote: >>> I'm undecided about how useful Python would be as an educational >>> tool. RS>> I, amongst others, have given a speech in the last Europython RS>> (Sweden 2005) about that. IMHO, Python allows the students to feel RS>> successful during the learning process. They can concentrate on RS>> problems, algorithms and logic, instead of struggling with a tool RS>> most of the time. CA> I have not mentioned it here, but I taught both C++ and Python at CA> Symantec this past summer. I wrote an article about it: CA> (http://www.artima.com/simple.html). I was amazed at what we CA> accomplished with Python. And I'm a C++ guy. And a veteran teacher and CA> developer. It was awesome. Bad link. Here's the real one: http://www.artima.com/cppsource/index.html Sorry -- Best regards, Chuck From david at boddie.org.uk Thu Oct 20 02:01:03 2005 From: david at boddie.org.uk (David Boddie) Date: Thu, 20 Oct 2005 02:01:03 +0200 Subject: [Edu-sig] Why choose Python (subtitled: the lure of the tool) Message-ID: <200510200201.04414.david@boddie.org.uk> On Wed Oct 19 10:25:12, Peter Bowyer wrote: > As you may remember from previous posts, I am researching ways to > improve the teaching of programming to physics students. [...] > My idea was to teach the basics using Python and scientific > modules. However, the question I am consistently coming up against > is "Why not teach the students Matlab?". It's a very good point and > one I can think up no clear answer for. If the students stay in > Physics or a related field they will be using Matlab (and > C/C++/Fortran if needed). therefore is there any reason not to teach > this as the introduction to programming? The question is: would you use Matlab in an introductory programming course for students in other disciplines? I think it's worth separating general programming skills from computational techniques. > My arguments at present are that Matlab is a proprietary tool so the > cost to students in obtaining copies will be not inconsiderable > (considering it will only be used for a short course), and that > Matlab is a specialised tool, so those not interested in going on > into a physics related field will not find it of any use (unlike Python). I think these are both strong arguments against it, though you might find some resistance to the second. After all, these students are being educated as physicists in the assumption that at least some of them will stay in the profession. > The arguments for Matlab are stronger: > 1) It's a standard tool, widely used > 2) It is easier to install and maintain (discounting the Enthought > edition for a moment, Python is CRAP compared with other langauges - > where is the Package manager to make life easier?) Are you talking about distributions of the actual language runtime and standard library, or installing packages, or something else? > 3) The editor has a good interface (v7 and above) which IDLE lacks > (no data inspector 'right there') > 4) Integrated help for all the scientific functions It sounds like you need some kind of IDE, with possibly specialized support for scientific or mathematical computing. I'm afraid I'd can't suggest one for Python, although I'd be interested in hearing just which features you think it would require. > Are there any reasons you can think of that Python makes a better > choice than Matlab? I myself would far rather use Python (I have > ideas about how VPython can help the students understand Python) but > need a more robust reason than a handwaving argument about > "3D...easier for students to visualise...". I keep coming back to the licensing issue. The most motivated students will want to experiment in their own time. If they have to spend that time in a computer lab then that might impact their motivation. > Toby Donaldson made a good point in his post on 17/10/05: [...] > >It's not so good for talking about "programming as exploiting your > >computer", i.e. when it comes time to implement an algorithm > >*efficiently*. You can still learn about efficiency in Python. The result just might not be as fast as you would like. :-) > The people doing my course know absolutely nothing about programming, > but at the same time being physics, every member of staff mentions > efficiency in the same sentence as programming :-) With that said, > now the grounds are switched from teaching C/Python to Matlab/Python > it doesn't appear to be such a valid argument. I don't believe that I was all that great at physics or mathematics at university, but I found that I enjoyed experimenting with different programming languages. As a physics student, I was initially taught Pascal, then Fortran, and finally 8086 assembler and the language used in Maple, but none of these have been particularly useful. Later on, I needed to use Matlab and found my way to RLaB, which I'm happy to see has recently been brought back to life as a different project: http://rlabplus.sourceforge.net/ In the end, I went from RLaB to Python precisely because Python is a more general purpose and extensible language. For anything that required intensive computation, I used C with the help of the Numerical Recipes book and processed the results with Python. In an ideal world, I'd have used an ODE solver from Python. To conclude, I'd say that Python gives you lots of opportunities to experiment with non-scientific libraries and tools (such as GUIs and web interfaces) while still supporting some scientific computing. Matlab may cover the scientific domain more extensively, but it might be tricky to integrate with other tools (assuming that you have the time and inclination to explore that avenue). I still think that RLaB is worth checking out. Although it didn't have the integrated environment that you presumably get with Matlab, I seem to remember that it was fairly nice to use, and it provided some reasonable basic visualization (plotting) facilities. David From urnerk at qwest.net Thu Oct 20 02:01:27 2005 From: urnerk at qwest.net (Kirby Urner) Date: Wed, 19 Oct 2005 17:01:27 -0700 Subject: [Edu-sig] Python as a first language for computer scientist In-Reply-To: <000901c5d4f0$67c9dfd0$1702a8c0@BasementDell> Message-ID: <20051020000132.8A2851E4003@bag.python.org> > At this point, most of the things that I would think would be most > difficult to understand about Python - for someone coming to it fresh - > would be the artifacts of transitions and changes. i.e. new style and old > style classes, list comprehension vs generator comprehensions, div old vs > div new, @property, and I am sure many others that don't come to me off > the top of my head. My inclination is to from __future__ import everything in the default startup module, i.e. just use the new / and // without telling the history. 1/2 returns 0.5 (float type), 1//2 returns 0 (integer type) 'nuff said. There's also a module-level directive for globally making all classes inherit from 'object' I think -- or am I dreaming? @property, like @classmethod and @staticmethod, is just syntax for wrapping a function around another function defined right after, according to the pattern: @xxx def function(): pass => def function(): pass function = xxx(function) The bottom pattern was being frustrating because you'd do this critical operation *after* a (perhaps lengthy) function def. Top-down parsing demanded that. The decorator was a solution and parsing is still top down. Advanced topic: Sometimes Scott and friends like to add another layer of indirection, i.e. have @xxx(args) return a function that *then in turn* wraps the following function. I'm OK with 'global' so far (haven't seen the Alex Martelli thread you mention). But hey, I'm coming from FoxPro, which is really heavy on its use of 'public' (vs. 'local'). Kirby From ajsiegel at optonline.net Thu Oct 20 02:19:07 2005 From: ajsiegel at optonline.net (Arthur) Date: Wed, 19 Oct 2005 20:19:07 -0400 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <20051019231422.678BC1E4003@bag.python.org> Message-ID: <000001c5d50b$e3724300$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces+ajsiegel=optonline.net at python.org [mailto:edu-sig- > bounces+ajsiegel=optonline.net at python.org] On Behalf Of Kirby Urner > Sent: Wednesday, October 19, 2005 7:14 PM > To: 'Mark Engelberg'; edu-sig at python.org > Subject: Re: [Edu-sig] Python as a first language for computer sciencist > > With the rise of dynamic or agile languages (not just Python), new > developer > practices have gained in importance, with the eXtreme Programming (XP) > philosophy being a chief exponent of same. Per XP, your above function > would have had a test written for it, perhaps embedded directly in its > documentation (Python supports this). A runtime assertion should have > failed, and flagged the problem. Love disagreeing with Kirby. When do we get to play, to hack around. I think emphasizing unit testing, too early, is really no better than emphasizing access modification, too early. And the advantage of working, early, with a language like Python begins to loose its luster. Let's not make learning to program all make-believe, all the time. When students have something substantial enough, and intricate enough, where unit testing is a real solution to a real problem - yes. But that's probably a few years in. Art From Scott.Daniels at Acm.Org Thu Oct 20 02:23:22 2005 From: Scott.Daniels at Acm.Org (Scott David Daniels) Date: Wed, 19 Oct 2005 17:23:22 -0700 Subject: [Edu-sig] Python as a first language for computer scientist In-Reply-To: <20051020000132.8A2851E4003@bag.python.org> References: <000901c5d4f0$67c9dfd0$1702a8c0@BasementDell> <20051020000132.8A2851E4003@bag.python.org> Message-ID: Kirby Urner wrote: > Advanced topic: Sometimes Scott and friends like to add another layer of > indirection, i.e. have @xxx(args) return a function that *then in turn* > wraps the following function. Right. And, be sure, I believe this technique is only a good idea if it makes a lot of other code much easier to read. I understand such code is usually trickier than useful, but sometimes (and hypertoons was one of those times) you can _greatly_ simplify a lot of code by having a single small harder-to-understand section replace a larger structure of "boilerplate." My aesthetic is that the code you write should all "mean" something, and you should get "itchy" when you start a round of cut-paste-edit. --Scott David Daniels Scott.Daniels at Acm.Org From ajsiegel at optonline.net Thu Oct 20 02:41:14 2005 From: ajsiegel at optonline.net (Arthur) Date: Wed, 19 Oct 2005 20:41:14 -0400 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <000001c5d50b$e3724300$1702a8c0@BasementDell> Message-ID: <000001c5d50e$fad66460$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Arthur > Sent: Wednesday, October 19, 2005 8:19 PM > To: 'Kirby Urner'; 'Mark Engelberg'; edu-sig at python.org > Subject: Re: [Edu-sig] Python as a first language for computer sciencist > > Love disagreeing with Kirby. > > When do we get to play, to hack around. Testing appropriate to a particular application needs to be thought of creatively, not as formula. My test suite for PyGeo is very much my own, but it is there. And the feedback - in conformity with the thinking behind the application - is purely visual. If I have a point that is supposed to be harmonic to 3 others on a line, I have a test that constructs the harmonic point "classically", and I test to see that the harmonic calculated algebraically coincides with it. And so on. The test suite has in fact gotten fairly elaborate - I did find it essential once the application had reached a certain level of complexity - especially since I am constantly refactoring and may not be able to see up front all the implications of a change. But it took some time before that was true, and the testing grew organically with the application. My point being that I think you need to be pretty deep into an application before you can understand what kind of testing is most appropriate for it, and getting at it too early is its own kind of premature optimization. I am certainly not saying it is not important. In fact, in my way, quite the opposite. Art From urnerk at qwest.net Thu Oct 20 03:11:10 2005 From: urnerk at qwest.net (Kirby Urner) Date: Wed, 19 Oct 2005 18:11:10 -0700 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <000001c5d50b$e3724300$1702a8c0@BasementDell> Message-ID: <20051020011112.DCBD61E4003@bag.python.org> > But that's probably a few years in. > > Art > > My inclination is to introduce testing pretty early, treating tests like comments -- a good habit, supporting what in some situations is essential practice. Unit testing frameworks tend to be overkill though, on a first pass. I was thinking more in terms of doctest: http://docs.python.org/lib/module-doctest.html This lets us promote commenting and testing at the same time, i.e. document your function with a couple use cases (as if this were a shell session) and be done with it. In general, I believe in using pre-written code, not starting from a blank page. This is how we learn to read human languages to: we get finished examples to parse, don't have to write in a vacuum. So, a first exposure to tests will be in the form of already-working code. Sometimes we make some changes to *intentionally break* working code. Kirby From ajsiegel at optonline.net Thu Oct 20 03:12:16 2005 From: ajsiegel at optonline.net (Arthur) Date: Wed, 19 Oct 2005 21:12:16 -0400 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <000001c5d50b$e3724300$1702a8c0@BasementDell> Message-ID: <000001c5d513$4fdff760$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Arthur > When students have something substantial enough, and intricate enough, > where > unit testing is a real solution to a real problem - yes. > > But that's probably a few years in. Just as I believe students looking to construct a Triangle should *not* be thinking about API issues. You are making them make-believe, solve problems *they* don't have. Let them solve the problems they *do* have. Like understanding a triangle, units of measure, hundreds of things, before they are worried about exposing their Triangle's API. I feel strongly about this in part from undertaking the study of mathematics as well as from undertaking the study of programming. Learning mathematics from a mathematician/teacher who starts from the premise that each mathematical idea must be rigorously stated, is - in my experience - next to impossible. I am not yet up to appreciating the abstraction behind that rigorous statement of things, and unless someone comes down to talk to *me*, I never will. Luckily for me, enough of the greater mathematicians understood who they were, and did not feel obliged to communicate in ways that other of their colleagues apparently felt themselves to be professionally bound. Art From urnerk at qwest.net Thu Oct 20 03:18:23 2005 From: urnerk at qwest.net (Kirby Urner) Date: Wed, 19 Oct 2005 18:18:23 -0700 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <000001c5d50e$fad66460$1702a8c0@BasementDell> Message-ID: <20051020011830.568901E4003@bag.python.org> > I am certainly not saying it is not important. In fact, in my way, quite > the opposite. > > Art > I'm sure you're aware of the XP approach: write a test, just a simple one, showing what you want your function to do: assert 4 == add2(2) OK, *now* write add2 (write a test *first*!). I plan to explain to students that this is a purposely extreme philosophy, and it grew up in tandem with increased emphasis on runtime checking, less compile time checking. Even if they don't practice it, they should know it's a practice. Even if you don't insist on lots of tests, make sure they know in advance that in some coding environments, rigorous tests will be required, no exceptions. And that's OK. Kirby From ajsiegel at optonline.net Thu Oct 20 03:24:03 2005 From: ajsiegel at optonline.net (Arthur) Date: Wed, 19 Oct 2005 21:24:03 -0400 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <0IOM00GOIWYTMTJ2@mta15.srv.hcvlny.cv.net> Message-ID: <000001c5d514$f585b550$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > > assert 4 == add2(2) > > OK, *now* write add2 (write a test *first*!). > > I plan to explain to students that this is a purposely extreme philosophy, > and it grew up in tandem with increased emphasis on runtime checking, less > compile time checking. Very rigorous of you, but I doubt you will be talking to *them*. Art From delza at livingcode.org Thu Oct 20 06:19:01 2005 From: delza at livingcode.org (Dethe Elza) Date: Wed, 19 Oct 2005 21:19:01 -0700 Subject: [Edu-sig] Why choose Python (subtitled: the lure of the tool) In-Reply-To: <200510200201.04414.david@boddie.org.uk> References: <200510200201.04414.david@boddie.org.uk> Message-ID: On 19-Oct-05, at 5:01 PM, David Boddie wrote: > You can still learn about efficiency in Python. The result just > might not > be as fast as you would like. :-) Coding in Python and using external libraries is pretty damn fast. I know of one government physics lab that uses Python wrappers around their Fortran libraries, for instance. > In the end, I went from RLaB to Python precisely because Python is > a more > general purpose and extensible language. For anything that required > intensive computation, I used C with the help of the Numerical > Recipes book > and processed the results with Python. In an ideal world, I'd have > used > an ODE solver from Python. I don't know if it includes an ODE solver (since I don't know what that is), but have you checked out Matplotlib (http:// matplotlib.sourceforge.net/), which aims to reproduce at least some of the functionality of a Matlab/Mathematica/Maple? It is also part of the larger SciPy project (http://www.scipy.org/About/) which appears to be even closer to your "ideal world." HTH --Dethe "And you think you're so clever and classless and free" ? John Lennon on prototype-based programming From mark.engelberg at alumni.rice.edu Thu Oct 20 06:22:46 2005 From: mark.engelberg at alumni.rice.edu (Mark Engelberg) Date: Wed, 19 Oct 2005 21:22:46 -0700 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: References: Message-ID: Lots of interesting comments. A few responses: 1. I'm not saying that Python is infeasible as an introductory language. One of the things I really like about the idea of Python for educational purposes is that you can do complex things fairly simply, and at the end of the course, you have also learned a language that is practical for day-to-day use. However, I do feel that the drawback I pointed out is a legitimate one. It is through discussions like this that perhaps Python or a derivative language can one day be made an even better tool for educational purposes (although as I understand it, there is no longer any funding for exploring an educational-specific environment for Python). 2. My teaching experience is limited, but I did teach one programming class to a group of middle-schoolers. The most common mistake was, by far, simple misspellings of variable names (usually capitalization confusion). When a compiler catches this, it's no big deal. When a compiler reports cryptic error messages, or none at all, for such a common mistake, that can be a big problem. So I'm not making up this example out of thin air. I have seen this as a common problem (in younger children who have limited typing experience). I can imagine that a different class of errors might be more prevalent in high schoolers or college students. 3. I stated an opinion that I would be reluctant to use Python for a large-scale project. A number of people objected. It appears that the philosophy of the Python community (speaking in generalizations) can be summarized as, "We have to do runtime testing anyway, so there's no need for any compile-time checking." I disagree. I feel that every little bit helps. And in my opinion, the future of programming will rely on highly intelligent compilers which ensure that the code is as correct as its specifications. The functional programming academicians have made quite a bit of progress in this direction, and I've heard some amazing stories about the robustness of code written in a language called 001. Nevertheless, I acknowledge that _at the current time_, Python's design decision to gain flexibility at the expense of additional safety checks is a reasonable one. But I also believe that it is possible to have our cake and eat it too. An ideal educational language (and perhaps the language of the future, incorporating everything we now know about building robust code), will have both. 4. Arthur felt I was suggesting that "we need to teach the programmers early on that they are not responsible for mistakes". Well, yes and no. Let's say you designed a spaceship, and put a big red "self-destruct" button right by the pilot's knee. You told him over and over again, "Remember, when you sit in the chair, whatever you do, don't bump the button." You train him over and over again not to hit the button. But then, sure enough, one day he bumps the button by accident with his knee, and the spaceship explodes. Is that the pilot's fault, or the designer's? Surely some of the blame rests with the designer, who should design a system that takes into account the fact that to err is human. 5. We all carry a certain amount of baggage and bias to this discussion. In the interest of full disclosure, here's mine: I learned programming through a progression of Scheme followed by C++ (and of course dabbled in Basic and Logo as a kid). I have tried programming in dozens of languages, just for fun, because I love programming languages of all breeds. My favorite language is Dylan, which I think best demonstrates the "have your cake and eat it too philosophy" of providing dynamic AND static typing, object-oriented AND functional programming styles, an interpreted interactive environment AND native-compilation, and so on. (Unfortunately, the language has very little support or active development, and so it isn't a very practical choice right now). I think objects are overrated, but certainly useful. I think functional programming is extremely powerful, but I wouldn't want to have to use it for everything. I use Python as my primary programming language, because it has most of the features I want, an extremely practical set of libraries, and a syntax and primitives that I can easily remember (which is important because I program infrequently these days, and don't want to have to look everything up each time I come back to programming). If I were to teach a class to middle-schoolers or high-schoolers (which I hope to do soon), Python probably wouldn't be my first choice (although I'd be sorely tempted). I'd probably lean toward Scheme for high-schoolers (the DrScheme environment is quite impressive from an educational standpoint), and Squeak for middle-schoolers. I joined this list because I genuinely want to engage in discussion about how to make Python more suited for education. 6. I want to wrap this up with one more point that I'd love to see discussed here. It seems to me that ideally, an educational programming language should emphasize one of the dominant programming paradigms in a very "pure" fashion. But Python, as useful as it is, is anything but "pure". Although I'm not an OO expert, I suspect that there are a number of features in Python that have OO-purists shaking their heads. And I know that Python also holds several disappointments for FP-purists (lack of tail recursion, for example). Because Python is a pragmatic hybrid approach to programming, it can give you some sense for OO, and some sense for FP, but I worry that it's not really pure enough in either respect to get to the heart of either. --Mark From urnerk at qwest.net Thu Oct 20 06:24:24 2005 From: urnerk at qwest.net (Kirby Urner) Date: Wed, 19 Oct 2005 21:24:24 -0700 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <000001c5d514$f585b550$1702a8c0@BasementDell> Message-ID: <20051020042427.6673B1E4003@bag.python.org> > Very rigorous of you, but I doubt you will be talking to *them*. > > Art > We'll see. I need more field experience, to find out what works. I'll let you know how it goes when I get to Day 4. Quoting from my current class outline: === Day 4: Programming Functions Now that we have variables down, let's look at saving reusable code that makes use of these variables. Functions likely (not always) accept arguments and likely (not always) return some result. Activity: investigate Python functions designed to extend numeric sequences. These sequences will be found in Sloane's data base. See The Book of Numbers by Conway and Guy for more mathematical background, also Synergetics by Fuller & Company. === Except I think I'll rename it to Day 3, and rename Day 1 to Day 0. Kirby From lac at strakt.com Thu Oct 20 07:32:18 2005 From: lac at strakt.com (Laura Creighton) Date: Thu, 20 Oct 2005 07:32:18 +0200 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: Message from Mark Engelberg of "Wed, 19 Oct 2005 21:22:46 PDT." References: Message-ID: <200510200532.j9K5WIIi013336@theraft.strakt.com> I've had the opposite problem that you mention teaching the grade school aged. That is to say they greatly prefer a language which does not raise syntax errors when they mistype variable names to one that does. They are interested in a language that 'always does something'. The notion that you have to fix your syntax errors before you can get around to thinking about your problem is enough of a frustration that many children quit and find something else to do. They'd rather watch their program doing something poorly than fix another syntax error, which is why they never were able to learn any languages with type declarations. Given that their programs typically have lots of errors, they want to fix them in the order that makes sense for the way they are modelling the problem in their brains, rather than the order the compiler demands you to solve them before 'the stupid compiler will do anything'. A syntax aware editor that colours the first usage of a variable a different colour than subsequent usages cuts down on this sort of error a lot. Laura From tjd at sfu.ca Thu Oct 20 12:42:53 2005 From: tjd at sfu.ca (Toby Donaldson) Date: Thu, 20 Oct 2005 03:42:53 -0700 Subject: [Edu-sig] Edu-sig Digest, Vol 27, Issue 36 In-Reply-To: References: Message-ID: > 6. I want to wrap this up with one more point that I'd love to see > discussed here. It seems to me that ideally, an educational > programming language should emphasize one of the dominant programming > paradigms in a very "pure" fashion. But Python, as useful as it is, > is anything but "pure". Although I'm not an OO expert, I suspect that > there are a number of features in Python that have OO-purists shaking > their heads. And I know that Python also holds several > disappointments for FP-purists (lack of tail recursion, for example). > Because Python is a pragmatic hybrid approach to programming, it can > give you some sense for OO, and some sense for FP, but I worry that > it's not really pure enough in either respect to get to the heart of > either. To paraphrase Stroustrup: if you want to program in Smalltalk, then program in Smalltalk. Toby -- Dr. Toby Donaldson School of Computing Science Simon Fraser University (Surrey) From rsenra at acm.org Thu Oct 20 14:26:04 2005 From: rsenra at acm.org (Rodrigo Senra) Date: Thu, 20 Oct 2005 10:26:04 -0200 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: References: Message-ID: <87F63E12-9A2C-454D-ACC5-813F31926B45@acm.org> [ Mark Engelberg ]: > 2. My teaching experience is limited, but I did teach one programming > class to a group of middle-schoolers. The most common mistake was, by > far, simple misspellings of variable names (usually capitalization > confusion). When a compiler catches this, it's no big deal. When a > compiler reports cryptic error messages, or none at all, for such a > common mistake, that can be a big problem. Point taken. Even though this was not a big issue in my also limited teaching experience, I agree that there is room for improvement. One way to tackle the problem (when it is a problem), could be to introduce PyChecker in the loop: def foo(bar): x = 2*bar y = X+bra return x+y $ pychecker bla.py Processing bla... Warnings... bla.py:3: No global (X) found bla.py:3: No global (bra) found This could also be improved if PyChecker suggested a *potential* spelling mistake, drawing attention to a small edit-distance[1,2] between bra<->bar or x<->X. I'm not saying this *should* be added to Pychecker, but definetely *could* ;o) > So I'm not making up this example out of thin air. At least from my part, there were no itentions to imply that. > 3. I stated an opinion that I would be reluctant to use Python for a > large-scale project. A number of people objected. It appears that > the philosophy of the Python community (speaking in generalizations) > can be summarized as, "We have to do runtime testing anyway, so > there's no need for any compile-time checking." I disagree. I feel > that every little bit helps. Since I was one of those objecting voices, I' d like to clarify my opinion on this matter. The development of large-scale projects in Python is *not* limited by its dynamic typing nature, even though the latter does limit what can be solved at compile-time. But I agree with you that the amount of compile time checking that can be done is helpful. > And in my opinion, the future of programming will rely on highly > intelligent compilers which ensure that the code is as correct as > its specifications. One lesson I learned from Python and the Python Community is that developer happiness lies in the Zen path [3]. A highly intelligent programmer can do better with a dumb compiler, than a dumb programmer with a highly intelligent compiler. And since we are in the context of edu-sig, we should definetely aim for the former! I know you agree with this, I just could not resist saying it. > 4. Arthur felt I was suggesting that "we need to teach the > programmers early on that they are not responsible for mistakes". > Well, yes and no. Let's say you designed a spaceship, and put a big > red "self-destruct" button right by the pilot's knee. You told him > over and over again, "Remember, when you sit in the chair, whatever > you do, don't bump the button." You train him over and over again not > to hit the button. But then, sure enough, one day he bumps the button > by accident with his knee, and the spaceship explodes. I know exactly what you mean. Possible labels for the red button: if (x=y) {...} for(x=0;x If I were to teach a class to middle-schoolers or > high-schoolers (which I hope to do soon), Python probably wouldn't be > my first choice (although I'd be sorely tempted). I'd probably lean > toward Scheme for high-schoolers (the DrScheme environment is quite > impressive from an educational standpoint), and Squeak for > middle-schoolers. I joined this list because I genuinely want to > engage in discussion about how to make Python more suited for > education. I could certainly try Scheme and Squeak in a pedagogical context. Right now, I can give only my testimony that Python syntax and rich library support makes it an adequate tool for introductory CS and Computer Engineering courses. It is a much better choice than C or Java, that are currently largely adopted here in Brazil. And I am fighting to change that. > 6. I want to wrap this up with one more point that I'd love to see > discussed here. It seems to me that ideally, an educational > programming language should emphasize one of the dominant programming > paradigms in a very "pure" fashion. But Python, as useful as it is, > is anything but "pure". "Although practicality beats purity." [3] > Although I'm not an OO expert, I suspect that > there are a number of features in Python that have OO-purists shaking > their heads. And I know that Python also holds several > disappointments for FP-purists (lack of tail recursion, for example). > Because Python is a pragmatic hybrid approach to programming, it can > give you some sense for OO, and some sense for FP, but I worry that > it's not really pure enough in either respect to get to the heart of > either. But since Python should never be the *only* tool to be taught, when purity matters the teacher can fall back to the usual suspects. best regards, Senra [1] http://www.csse.monash.edu.au/~lloyd/tildeAlgDS/Dynamic/Edit/ [2] http://ruby.brian-schroeder.de/editierdistanz/ [3] >>> import this Rodrigo Senra ______________ rsenra @ acm.org http://rodrigo.senra.nom.br From ajsiegel at optonline.net Thu Oct 20 15:58:25 2005 From: ajsiegel at optonline.net (Arthur) Date: Thu, 20 Oct 2005 09:58:25 -0400 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <87F63E12-9A2C-454D-ACC5-813F31926B45@acm.org> Message-ID: <000b01c5d57e$578fe1d0$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Rodrigo Senra > Sent: Thursday, October 20, 2005 8:26 AM > To: Mark Engelberg > Cc: edu-sig at python.org > Subject: Re: [Edu-sig] Python as a first language for computer sciencist > > > [ Mark Engelberg ]: > > 2. My teaching experience is limited, but I did teach one programming > > class to a group of middle-schoolers. The most common mistake was, by > > far, simple misspellings of variable names (usually capitalization > > confusion). When a compiler catches this, it's no big deal. When a > > compiler reports cryptic error messages, or none at all, for such a > > common mistake, that can be a big problem. There is certainly a *lot* that has been said on this point in the Python archives. Do you know that Guido was at one point contemplating making Python case insensitive based on prior reports of just this issue in just this age group? It always seemed to me that doing so would perhaps get us to the point that we began to better understood the *next* major stumbling block of middle-schoolers trying to learn to program in Pytthon. And if we then addressed them one by one in this manner we would end up with a language that was not Python, had little utility for real programmers, with the pay-off being discovering that middle-schoolers (in general, there are certainly going to be exceptions) had limited ability to absorb the intricacies of what could be called "programming" in a real world sense. I don't actually know much about Logo. But do know it has something of a grand enough history, active supporting communities, lots of curriculum support, field testing, etc. And never quite understood on what basis the Python community felt the need to contend with it head-to-head. Python's (and Guido's) ABC heritage seems a factor here. But I never quite understand on what basis. Guido has said (I believe) that the audience he had in mind when designing Python was the C programmer - though certainly using some technical and usability lessons he learned in his ABC days. It certainly would be wonderful if a few tweaks of a language designed for C programmers could become the perfect thing for middle-schoolers. But lots of things would be wonderful, if... Have fallacies in the Logo approach been identified as some starting point? Art From ajsiegel at optonline.net Thu Oct 20 16:46:07 2005 From: ajsiegel at optonline.net (Arthur) Date: Thu, 20 Oct 2005 10:46:07 -0400 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <000b01c5d57e$578fe1d0$1702a8c0@BasementDell> Message-ID: <000001c5d585$0181d620$1702a8c0@BasementDell> > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Arthur > > [ Mark Engelberg ]: > > > 2. My teaching experience is limited, but I did teach one programming > > > class to a group of middle-schoolers. The most common mistake was, by > > > far, simple misspellings of variable names (usually capitalization > > > confusion). When a compiler catches this, it's no big deal. When a > > > compiler reports cryptic error messages, or none at all, for such a > > > common mistake, that can be a big problem. > > There is certainly a *lot* that has been said on this point in the Python > archives. BTW, I can promise you the same Alex Martelli would bring the same level of vehemence to an argument *for* case insensitivity that he would bring to an argument *against* variable declarations. I've never actually heard the 2 issues tied together before (doesn't mean it hasn't been) - but there maybe a intuitive connection - the forgivingness of case-insensitivity offering some practical mitigation of the potential issues of a language that disallows variable declaration. Martelli will be speaking at a NY Linux event next week. If my schedule allows I hope to be there, and will perhaps take the opportunity to ask him (if he decides we are on speaking terms) if he thinks there is any intuitive connection between these vehement positions of his. I think we can agree off-hand that there is no strictly logical connection. Art From Scott.Daniels at Acm.Org Thu Oct 20 17:51:56 2005 From: Scott.Daniels at Acm.Org (Scott David Daniels) Date: Thu, 20 Oct 2005 08:51:56 -0700 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <000001c5d513$4fdff760$1702a8c0@BasementDell> References: <000001c5d50b$e3724300$1702a8c0@BasementDell> <000001c5d513$4fdff760$1702a8c0@BasementDell> Message-ID: Arthur wrote: > ... I believe students looking to construct a Triangle should *not* be > thinking about API issues. > > You are making them make-believe, solve problems *they* don't have. Let > them solve the problems they *do* have. Like understanding a triangle, units > of measure, hundreds of things, before they are worried about exposing their > Triangle's API. OK, here's the other side of that coin: unit tests are just as malleable as the rest of the code. If your first cut is wrong, you change the tests. You can teach the tests as a way of breaking down a problem into parts. A Unit test is a lemma on the way to a proof. Not much by itself, but easier to attack than the whole proof. --Scott David Daniels Scott.Daniels at Acm.Org From urnerk at qwest.net Thu Oct 20 18:17:56 2005 From: urnerk at qwest.net (Kirby Urner) Date: Thu, 20 Oct 2005 09:17:56 -0700 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: Message-ID: <20051020161800.239341E4015@bag.python.org> Hey Mark, good stuff. I'll respond to abbreviated versions to your points. > A few responses: > > 1. I'm not saying that Python is infeasible as an introductory > language. And in point of fact, it's used in this way by an increasing number of schools. For many of us, the judgment has already been returned. Of course this doesn't mean Python is the *only* good candidate for a first language. In my own virtual reality, the competition isn't other languages so much, as competing hardware: calculators (TI, Sharp, HP...). But that's cuz I'm focusing on using programming in math class, i.e. I'm using Python to teach math. I'm somewhat ambivalent about "teaching environments" and "teaching languages" in general. But that's a whole other discussion. I acknowledge the importance of simulators for airplane pilots. Perhaps my position is internally inconsistent. > 2. My teaching experience is limited, but I did teach one programming > class to a group of middle-schoolers. The most common mistake was, by > far, simple misspellings of variable names (usually capitalization > confusion). I agree with another poster: maybe pychecker should be brought in: http://pychecker.sourceforge.net/ > > 3. I stated an opinion that I would be reluctant to use Python for a > large-scale project. A number of people objected. I wouldn't put it this way. You're entitled to your reluctance and shouldn't be pushed into any large-scale project with a language you consider unsuitable. I don't object to your reluctance. However, others have chosen Python for large-scale projects and found it suitable, often as a glue language. Python needn't be used in isolation and very often isn't. A good CS sequence might be: Python first, followed by some system language that may be used to extend Python (e.g. C, C++, Java, C#), followed by a course in which we actually extend Python (e.g. using SWIG). A very common use of Python is to work with system language components though an easy, interactive shell, and/or to write scripts using these components. The important point is: Python, an agile language, is implemented in a system language under the hood. If you plan to be a hard core programmer, you should study Python's own implementation. [saving room for remarks about Pypy]. > 4. Arthur felt I was suggesting that "we need to teach the > programmers early on that they are not responsible for mistakes". I agree with you that language designers have a role to play. > 5. We all carry a certain amount of baggage and bias to this > discussion. Very true. I started in FORTRAN (had one paying gig using it), though my first love was APL (which explains my later foray into J). I still do a lot of coding in FoxPro (in the xBase lineage), which is object oriented by now, and is integral with its own IDE (but not part of Visual Studio). I've played with other languages: e.g. SmallTalk, LISP, Scheme (including Dr. Scheme), C/C++ and Java (SNOBOL, PL/1, Assembler, Logo...). I used to be a high school math teacher. Plus I worked on computer literacy text books for McGraw-Hill. > 6. I want to wrap this up with one more point that I'd love to see > discussed here. It seems to me that ideally, an educational > programming language should emphasize one of the dominant programming > paradigms in a very "pure" fashion. I guess it depends on the track or course students are on. If it's purist CS, then maybe so. My focus tends to be people who will use programming in their lives, but maybe don't intend to make it their chief or major focus (i.e. I focus primarily on non-CS majors, while perhaps recruiting some new CS majors in the process). I do think it's useful to discuss the various paradigms and to expose even non-CS types to the great wonder and variety that's already out there, with more to come. Re Squeak, I'd like to sit in on a few classes by someone experienced at teaching it, and see what I think afterwards. Until then, I don't attach much value to my opinions about Squeak. Kirby PS: have you looked at Dr. Python? It somewhat emulates the Dr. Scheme learning environment. From peter at mapledesign.co.uk Thu Oct 20 18:23:28 2005 From: peter at mapledesign.co.uk (Peter Bowyer) Date: Thu, 20 Oct 2005 17:23:28 +0100 Subject: [Edu-sig] Why choose Python (subtitled: the lure of the tool) In-Reply-To: <200510200201.04414.david@boddie.org.uk> References: <200510200201.04414.david@boddie.org.uk> Message-ID: <6.2.3.4.0.20051020134555.03f6bb80@127.0.0.1> At 01:01 20/10/2005, David Boddie wrote: >The question is: would you use Matlab in an introductory programming >course for students in other disciplines? I think it's worth separating >general programming skills from computational techniques. Good point >Are you talking about distributions of the actual language runtime and >standard library, or installing packages, or something else? I'm talking about packages. Coming from PHP with a package manager, and having used Debian, the lack of this hurts! It makes upgrading on Windows something to be dreaded rather than welcomed - which is why I'm still on 2.3. >It sounds like you need some kind of IDE, with possibly specialized >support for scientific or mathematical computing. I'm afraid I'd can't >suggest one for Python, although I'd be interested in hearing just >which features you think it would require. I really appreciate having an inspector window to show me the values of variables, either all of them or ones I've asked it specifically to watch. This saves me from having to put in print statements or (at the interactive shell) to keep typing the variable names to see what happened after the last equation was executed. I'll think about the rest, there have been other things. I like an integrated searchable manual for a number of reasons. >You can still learn about efficiency in Python. The result just might not >be as fast as you would like. :-) Heh, very true although I hold the learning will not be similar to the optimising needed for a C program! >...I needed to use Matlab and found >my way to RLaB, which I'm happy to see has recently been brought back to >life as a different project: > > http://rlabplus.sourceforge.net/ There seem to be a lot of these around, Scilab and Octave just to mention two others. This always annoyed us, as one professor would make us use Scilab while another used a very old version of Matlab (not teaching the syntax for either). It's one reason I support a one tool fits all situation. >In an ideal world, I'd have used an ODE solver from Python. How about scipy.integrate.odeint :) Peter -- Maple Design - quality web design and programming http://www.mapledesign.co.uk From Scott.Daniels at Acm.Org Thu Oct 20 18:39:29 2005 From: Scott.Daniels at Acm.Org (Scott David Daniels) Date: Thu, 20 Oct 2005 09:39:29 -0700 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <000001c5d585$0181d620$1702a8c0@BasementDell> References: <000b01c5d57e$578fe1d0$1702a8c0@BasementDell> <000001c5d585$0181d620$1702a8c0@BasementDell> Message-ID: Arthur wrote: >>>[ Mark Engelberg ]: >>> >>>>2. My teaching experience is limited, but I did teach one programming >>>>class to a group of middle-schoolers. The most common mistake was, by >>>>far, simple misspellings of variable names (usually capitalization >>>>confusion).... > > BTW, I can promise you the same Alex Martelli would bring the same level of > vehemence to an argument *for* case insensitivity that he would bring to an > argument *against* variable declarations. > > I've never actually heard the 2 issues tied together before (doesn't mean it > hasn't been) - but there maybe a intuitive connection - the forgivingness of > case-insensitivity offering some practical mitigation of the potential > issues of a language that disallows variable declaration. > > Martelli will be speaking at a NY Linux event next week. If my schedule > allows I hope to be there, and will perhaps take the opportunity to ask him > (if he decides we are on speaking terms) if he thinks there is any intuitive > connection between these vehement positions of his. I think we can agree > off-hand that there is no strictly logical connection. Here's a guess: Both declarations and case-sensitivity are catering to the machine rather than to the programmer. There have been both case-sensitive and case-insensitive languages. The advantage of a case-insensitive language is that when we are taught to read, we are taught that, for example, "f" and "F" are the same letter. Eventually we learn that. Then we eventually have to learn that "not really, for programming you need to be aware of the case." An argument _for_ case sensitivity involves Python's "practicality." Many languages _are_ cases sensitive. In particular CPython's C language, Jython's Java language, and IronPython's C#. In interfacing to those languages, you'd need to invent some mechanism to get to interface functions name "abc", "Abc", and "ABC". Much easier to "go with the flow" on this one to than swim upstream. A second argument for case sensitivity is related to the invention (and use) of CamelCaseIdentifiers. "Bight" might be a knot identifier, but "BigHt" looks like an adjective and a noun. Enough experience shows it is a bad idea to use two distinct "spellings" of the same identifier in code -- it at least makes it easier to mis-read code. So, your style guide reads, "always use the same cases for identifiers". If you have ever done support over the phone, you will realize that nobody speaks code in way that you can unambiguously write down the case. For this single reason, if no other, your style guide should say, "never name two identifiers so the only distinction is case". Yes, it is "cute" to be able to have "e" and "E" in physics distinct, but the problems you run into are much more damaging than than the advantages gained. I don't need my language to enforce my style guide, but you'll notice careful use of the guide prohibits your discovering whether the language has case-insensitive identifiers. --Scott David Daniels Scott.Daniels at Acm.Org From chuck at freshsources.com Thu Oct 20 19:38:17 2005 From: chuck at freshsources.com (Chuck Allison) Date: Thu, 20 Oct 2005 11:38:17 -0600 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <87F63E12-9A2C-454D-ACC5-813F31926B45@acm.org> References: <87F63E12-9A2C-454D-ACC5-813F31926B45@acm.org> Message-ID: <1356953088.20051020113817@freshsources.com> RS> A highly intelligent programmer can do better with a dumb compiler, than RS> a dumb programmer with a highly intelligent compiler. Great quote! May I reuse it? >> If I were to teach a class to middle-schoolers or high-schoolers >> (which I hope to do soon), Python probably wouldn't be my first >> choice (although I'd be sorely tempted). I'd probably lean toward >> Scheme for high-schoolers (the DrScheme environment is quite >> impressive from an educational standpoint), and Squeak for >> middle-schoolers. I joined this list because I genuinely want to >> engage in discussion about how to make Python more suited for >> education. RS> I could certainly try Scheme and Squeak in a pedagogical context. RS> Right now, I can give only my testimony that Python syntax and rich RS> library support makes it an adequate tool for introductory CS and RS> Computer Engineering courses. It is a much better choice than C or Java, RS> that are currently largely adopted here in Brazil. And I am fighting RS> to change RS> that. I have in recent years taught Python, Scheme (DrScheme), ML (SML), SmallTalk (Squeak), and Prolog (SWI) to college seniors in a Programming Languages course. Without any scientific "evidence", I can only tell you that they *loved* Python and tolerated the rest. But of course, how this would apply to a less sophisticated audience I cannot say. >> 6. I want to wrap this up with one more point that I'd love to see >> discussed here. It seems to me that ideally, an educational >> programming language should emphasize one of the dominant >> programming paradigms in a very "pure" fashion. But Python, as >> useful as it is, is anything but "pure". RS> "Although practicality beats purity." [3] This is an important consideration. How many "pure" languages can you use and get paid? Our focus at UVSC is to prepare graduates for useful employment, while at the same time not skimping one whit on theory and still requiring them to think. There's nothing like solving real problems. One must emerge from Toyland eventually. It should be before graduation. RS> But since Python should never be the *only* tool to be taught, RS> when purity matters the teacher can fall back to the usual RS> suspects. Indeed. -- Best regards, Chuck From rsenra at acm.org Thu Oct 20 20:09:57 2005 From: rsenra at acm.org (Rodrigo Senra) Date: Thu, 20 Oct 2005 16:09:57 -0200 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <1356953088.20051020113817@freshsources.com> References: <87F63E12-9A2C-454D-ACC5-813F31926B45@acm.org> <1356953088.20051020113817@freshsources.com> Message-ID: <81E490A7-609B-4DEA-A273-2D246B5505F7@acm.org> On 20Oct 2005, at 3:38 PM, Chuck Allison wrote: > > RS> A highly intelligent programmer can do better with a dumb > compiler, than > RS> a dumb programmer with a highly intelligent compiler. > > Great quote! May I reuse it? Sure. Say no to intelectual property, unless it becomes property of us all. (us does not mean U.S. !!!!) cheers, Senra Rodrigo Senra ______________ rsenra @ acm.org http://rodrigo.senra.nom.br From urnerk at qwest.net Thu Oct 20 20:32:05 2005 From: urnerk at qwest.net (Kirby Urner) Date: Thu, 20 Oct 2005 11:32:05 -0700 Subject: [Edu-sig] Python as a first language for computer scientist In-Reply-To: Message-ID: <20051020183212.352D91E4004@bag.python.org> > Right. And, be sure, I believe this technique is only a good idea if it > makes a lot of other code much easier to read. I understand such code > is usually trickier than useful, but sometimes (and hypertoons was one > of those times) you can _greatly_ simplify a lot of code by having a > single small harder-to-understand section replace a larger structure > of "boilerplate." My aesthetic is that the code you write should all > "mean" something, and you should get "itchy" when you start a round > of cut-paste-edit. > > > --Scott David Daniels > Scott.Daniels at Acm.Org Yes, I thought your use of decorators in hypertoons24.py was pretty cool and wrote it up as such.[1] I've seen similar techniques in one of the new Python frameworks I was reading about, but don't recall the name. But studying your code was my entry point -- gave me new insights about the power of functional programming (I think of decorators as a nudge in that direction, given their job is to feed functions to other functions). Kirby [1] http://www.4dsolutions.net/ocn/cp4e.html (link to Hypertoons! PDF in Python section). From ajsiegel at optonline.net Thu Oct 20 20:32:40 2005 From: ajsiegel at optonline.net (ajsiegel@optonline.net) Date: Thu, 20 Oct 2005 14:32:40 -0400 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: References: <000b01c5d57e$578fe1d0$1702a8c0@BasementDell> <000001c5d585$0181d620$1702a8c0@BasementDell> Message-ID: >. The advantage of a case- > insensitive language is that when we are taught to read, we > are taught that, for > example, "f" and "F" are the same letter. Eventually we > learn that. I have had problems with that argument. We learn that they are the same letter, *different cases*. And we learn that there is significance to different cases, and there is nothing new to learn, IMO, in learning that that may be so in the context of programming as well. They *are* pronounced the same. I happen to appreciate the visual clues that case-sensitivty provides. Others find difficulty with the oral ambiguity. My theory is that this is largely how this issue cuts, the visually inclined versus the orally inclined. Someone loses. Art From ajsiegel at optonline.net Thu Oct 20 20:43:31 2005 From: ajsiegel at optonline.net (ajsiegel@optonline.net) Date: Thu, 20 Oct 2005 14:43:31 -0400 Subject: [Edu-sig] Python as a first language for computer sciencist Message-ID: ----- Original Message ----- From: Scott David Daniels Date: Thursday, October 20, 2005 11:51 am Subject: Re: [Edu-sig] Python as a first language for computer sciencist > OK, here's the other side of that coin: unit tests are just as > malleableas the rest of the code. If your first cut is wrong, you > change the > tests. You can teach the tests as a way of breaking down a > problem into > parts. A Unit test is a lemma on the way to a proof. Not much by > itself, but easier to attack than the whole proof. Can't argue. Fully intelligently, that is. OTOH, there doesn't seem much in the world of programming where the coin has less than two sides. As a practical matter, in some circumstances, I think that too much attention to testing and documentation - up front - could get one over-invested in bad ideas, and is the anti-thesis of methodology that might be associated with agility. For myself - valuing intuition as part of the development process - it is not unusual, at an early stage of some "innovation" to my code, to not be in a position to explain to myself precisely what avenue I have gone down and why, much less to somebody else. Hopefully, I get there eventually - and, if we have a keeper - it is indeed a good discipline to get it down, then. Ultimately I do take testing and documentation seriously enough - I think. Were PyGeo not, for example, dynamic by design I could not accept the possibility that my visual tests would be conclusive enough and not lead to false positives. But since I have the ability to put constructions through dynamic paces, and push them to extremes, I am able to become satisfied. Of course this means eye-balling - not very sophisticated by usual standards. But I am not convinced there is a better way to go that is proportional to the application itself. Naive testing, appropriate to the school of Naive Programming. But if we agree that there are (at least) 2 sides to many of these coins, should we not resist the temptation to present things otherwise. CS is not S proportional to the extent that it cannot resist the temptation to imply there is more S to it than there demonstrably is. IMO. Art From lac at strakt.com Thu Oct 20 20:53:23 2005 From: lac at strakt.com (Laura Creighton) Date: Thu, 20 Oct 2005 20:53:23 +0200 Subject: [Edu-sig] Why choose Python (subtitled: the lure of the tool) In-Reply-To: Message from Peter Bowyer of "Thu, 20 Oct 2005 17:23:28 BST." <6.2.3.4.0.20051020134555.03f6bb80@127.0.0.1> References: <200510200201.04414.david@boddie.org.uk> <6.2.3.4.0.20051020134555.03f6bb80@127.0.0.1> Message-ID: <200510201853.j9KIrNKs028598@theraft.strakt.com> Given that you are talking about enriching the experience for the physics student, be advised that they use computers in two very different ways. The first way works fine living inside a closed system such as SAS, Matlab or whatever. You have your data, and you take it into the world-of-matlab, and then you do whatever it is that the designers of Matlab thought would be cool and useful things to do. Courses such as 'how to get the most out of Matlab' are extremely useful and justifiably popular. But the other thing to use computers for is to build our own models, libraries, worlds and what-have-you. This, be definition, cannot be done in sombody else's world. The skills to do this have to come from somewhere else -- and this is where a course in Python might be most useful. But they are different skills. And the baby-step things they have in common mostly don't have to be taught at all -- physics students can learn these things by reading the appropriate manuals. My person al belief is that most physicists would get more joy out writing programs and get better results if they learned to do test driven development when they wrote their own code, so if your goal is to improve the experience for the physics major, I would start there. Laura From urnerk at qwest.net Thu Oct 20 21:19:04 2005 From: urnerk at qwest.net (Kirby Urner) Date: Thu, 20 Oct 2005 12:19:04 -0700 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: Message-ID: <20051020191908.1F1D81E4004@bag.python.org> > Someone loses. > > Art > It's possible to have good programming tools which ignore case. FoxPro ignores case, http ignores case (e.g. wWW.PYthon.ORg works fine). Note that "case insensitive" doesn't mean the *human reader* has to ignore case, e.g. I might use all caps for a constant, even though the engine I'm using doesn't give a rip. Another example: the Windows file systems: FAT32 or NTFS. \MyDocuments and \mydocuments are the same location, but users still get to choose a preferred style (a style unenforced by the OS). Python had the choice to be case insensitive and in some parallel universe maybe it is. It wouldn't have been a lesser language, just a slightly different one. Kirby From ajsiegel at optonline.net Thu Oct 20 21:21:06 2005 From: ajsiegel at optonline.net (ajsiegel@optonline.net) Date: Thu, 20 Oct 2005 15:21:06 -0400 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: <0IOO0013JAZVG750@mta14.srv.hcvlny.cv.net> References: <0IOO0013JAZVG750@mta14.srv.hcvlny.cv.net> Message-ID: ----- Original Message ----- From: Kirby Urner > Python had the choice to be case insensitive and in some parallel > universemaybe it is. It wouldn't have been a lesser language, > just a slightly > different one. No argument, believe it or not. Art From lac at strakt.com Thu Oct 20 21:32:50 2005 From: lac at strakt.com (Laura Creighton) Date: Thu, 20 Oct 2005 21:32:50 +0200 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: Message from ajsiegel@optonline.net of "Thu, 20 Oct 2005 15:21:06 EDT." References: <0IOO0013JAZVG750@mta14.srv.hcvlny.cv.net> Message-ID: <200510201932.j9KJWoLQ030590@theraft.strakt.com> >From: Kirby Urner > >> Python had the choice to be case insensitive and in some parallel >> universemaybe it is. It wouldn't have been a lesser language, >> just a slightly different one. And in it, the parallel edu-sig is discussing the fact that Middle Schoolers are getting confused because when they type 'Cat' and 'cat' they expect two different variables to be bound, and are having terrible trouble understanding why their second statement keeps clobbering the first ... :-) Laura From tjd at sfu.ca Thu Oct 20 22:11:27 2005 From: tjd at sfu.ca (Toby Donaldson) Date: Thu, 20 Oct 2005 13:11:27 -0700 Subject: [Edu-sig] Python as a first language for computer sciencist Message-ID: > I have in recent years taught Python, Scheme (DrScheme), ML (SML), > SmallTalk (Squeak), and Prolog (SWI) to college seniors in a > Programming Languages course. Without any scientific "evidence", I can > only tell you that they *loved* Python and tolerated the rest. But of > course, how this would apply to a less sophisticated audience I cannot > say. In support of this, I've taught Python and Java to hundreds of students in the last few years, and most really like Python. There are definitely some who prefer Java, in part because the development tools are better (e.g. Eclipse) and the community is bigger. Toby -- Dr. Toby Donaldson School of Computing Science Simon Fraser University (Surrey) From david at boddie.org.uk Thu Oct 20 22:45:42 2005 From: david at boddie.org.uk (David Boddie) Date: Thu, 20 Oct 2005 22:45:42 +0200 Subject: [Edu-sig] Why choose Python (subtitled: the lure of the tool) In-Reply-To: References: <200510200201.04414.david@boddie.org.uk> Message-ID: <200510202245.43614.david@boddie.org.uk> On Thursday 20 October 2005 06:19, Dethe Elza wrote: > On 19-Oct-05, at 5:01 PM, David Boddie wrote: > > You can still learn about efficiency in Python. The result just > > might not be as fast as you would like. :-) > > Coding in Python and using external libraries is pretty damn fast. I > know of one government physics lab that uses Python wrappers around > their Fortran libraries, for instance. Sure, but then you're learning about efficiency with Fortran. :-) > > In the end, I went from RLaB to Python precisely because Python is > > a more general purpose and extensible language. For anything that > > required intensive computation, I used C with the help of the > > Numerical Recipes book and processed the results with Python. In an > > ideal world, I'd have used an ODE solver from Python. Just to add an explanation: Wikipedia appears to have a fair amount of material on ordinary differential equations (ODEs). I suppose the following page would be a fairly good place to start reading about them: http://en.wikipedia.org/wiki/Ordinary_differential_equation > I don't know if it includes an ODE solver (since I don't know what > that is), but have you checked out Matplotlib (http:// > matplotlib.sourceforge.net/), which aims to reproduce at least some > of the functionality of a Matlab/Mathematica/Maple? It is also part > of the larger SciPy project (http://www.scipy.org/About/) which > appears to be even closer to your "ideal world." I don't do this sort of thing much any more. I think it doesn't really need to be said but, if I was to repeat the university experience, I'd use Python a lot more. :-) At this point, I don't even know whether the original poster is still reading, or whether he's already resigned himself to teaching programming with Matlab. David From urnerk at qwest.net Thu Oct 20 23:26:52 2005 From: urnerk at qwest.net (Kirby Urner) Date: Thu, 20 Oct 2005 14:26:52 -0700 Subject: [Edu-sig] Python as a first language for computer sciencist In-Reply-To: Message-ID: <20051020212654.382081E405E@bag.python.org> > Dr. Toby Donaldson: > There are definitely some who prefer Java, My friend Gerald would count as one. He wrote close-to-the-metal C for years, and despaired of finding a language that'd be up to realizing his day dreams, inspired by Snelson, then Fuller (he called it Elastic Interval Geometry or EIG). Then Java came along, and a primitive AWT. Everything started working. A dream come true. And the tools have been improving ever since (JBoss etc.). Gerald became an excellent Java programmer, used his skills to carve a brilliant paying career -- *and* in his spare time he wrote Fluidiom.[1] Whereas Gerald might empathize with those who use Python for the most part, he has no need of it. He's got it made. More power to him. I salute the Java juggernaut and wish all aboard her safe passage.[2] Kirby [1] http://worldgame.blogspot.com/2005/10/wanderers-20051018.html (Addendum) [2] my daughter was learning the word 'juggernaut' the other day; I'll show her my using it in this sentence. From peter at mapledesign.co.uk Fri Oct 21 00:25:13 2005 From: peter at mapledesign.co.uk (Peter Bowyer) Date: Thu, 20 Oct 2005 23:25:13 +0100 Subject: [Edu-sig] Why choose Python (subtitled: the lure of the tool) In-Reply-To: <200510202245.43614.david@boddie.org.uk> References: <200510200201.04414.david@boddie.org.uk> <200510202245.43614.david@boddie.org.uk> Message-ID: <6.2.3.4.0.20051020232427.03e682a0@127.0.0.1> At 21:45 20/10/2005, you wrote: >At this point, I don't even know whether the original poster is still >reading, or whether he's already resigned himself to teaching programming >with Matlab. Still here. I posted a reply to your previous message, have you not seen it on the list? The threading for this particular thread appears pretty messed up in Eudora, not sure what's happened there. Peter -- Maple Design - quality web design and programming http://www.mapledesign.co.uk From david at boddie.org.uk Fri Oct 21 02:03:23 2005 From: david at boddie.org.uk (David Boddie) Date: Fri, 21 Oct 2005 02:03:23 +0200 Subject: [Edu-sig] Why choose Python (subtitled: the lure of the tool) Message-ID: <200510210203.23197.david@boddie.org.uk> On Thu Oct 20 18:23:28, Peter Bowyer wrote: [IDE features] > I really appreciate having an inspector window to show me the values > of variables, either all of them or ones I've asked it specifically > to watch. This saves me from having to put in print statements or > (at the interactive shell) to keep typing the variable names to see > what happened after the last equation was executed. > > I'll think about the rest, there have been other things. I like an > integrated searchable manual for a number of reasons. It would be good to have a decent general IDE to use as a platform on which to add more specialized features. I imagine that most IDEs have some kind of plugin architecture to allow this. > > http://rlabplus.sourceforge.net/ > > There seem to be a lot of these around, Scilab and Octave just to > mention two others. This always annoyed us, as one professor would > make us use Scilab while another used a very old version of Matlab > (not teaching the syntax for either). It's one reason I support a > one tool fits all situation. Yes, it may be difficult to justify choosing any given Matlab-like environment over the others. > >In an ideal world, I'd have used an ODE solver from Python. > > How about scipy.integrate.odeint :) That would probably have done the trick, but I can't remember if that was available at the time. David From urnerk at qwest.net Fri Oct 21 19:09:26 2005 From: urnerk at qwest.net (Kirby Urner) Date: Fri, 21 Oct 2005 10:09:26 -0700 Subject: [Edu-sig] python versus __python__ Message-ID: <20051021170948.B00301E4004@bag.python.org> Going into my new presentation manager materials (perhaps using the same Pygame engine I used at OSCON, but as a general purpose module, i.e. not tied up in that specific content) is the distinction between two kinds of Python: Python and __Python__. You really get to a new level with Python when you start using its underunder. And that occurs, for many, right when they define a first class (or user type): in the form of __init__. __new__ comes even later (a paradox). Another fissure defining beginner and advanced: operator overloading. That's how it was in C++ books: we'll get to that later. Considered an advanced feature, not even featured in the original Java from Sun. So a logical course progression might involve doing a lot of non-underunder stuff at first, exploring but without much introspecting. Because as soon as you introspect, ala dir(1), you're into underunder land, and that takes advanced thinking to negotiate.[1] Now, just saying there're these two levels isn't to say we can't be up front about their being there. I'll tell a class we're tackling Python in two goes, saving __python__ for Part 2. I look at Wittgenstein's PI the same way. Part 2 is more subtle, and you get more power. You get to redefine what you mean by + and *. Wow. Snake charmers enter here. Now there's another way Python gets advanced, which is less about getting more deeply into Python, and more about getting more deeply into something else, *using* Python. That's like when we import a module giving us a wrap of some external game engine, wherein to construct simulations and so on ala that project to teach Arabic to soldiers at West Point -- a demo at Pycon 2005 in DC. So you have different ways of advancing in Python: into the language more deeply, to mastery of underunder, metaclasses and beyond; and into foreign territory, but with Python as your guidebook and phrase book, giving you confidence amidst all these alien-seeming APIs. I suppose poking around under the hood, looking at the C or whatever's puppeting the Python interpreter, is yet a third direction in which to advance. You'll see how underunder is implemented under the hood. But it won't be in Python per se, but in Python byte code on a VM (Python-the-agile skins many a system language -- including in cell phones). Kirby [1] IDLE 1.1 >>> dir(1) ['__abs__', '__add__', '__and__', '__class__', '__cmp__', '__coerce__', '__delattr__', '__div__', '__divmod__', '__doc__', '__float__', '__floordiv__', '__getattribute__', '__getnewargs__', '__hash__', '__hex__', '__init__', '__int__', '__invert__', '__long__', '__lshift__', '__mod__', '__mul__', '__neg__', '__new__', '__nonzero__', '__oct__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdiv__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__str__', '__sub__', '__truediv__', '__xor__'] From ajsiegel at optonline.net Fri Oct 21 19:37:18 2005 From: ajsiegel at optonline.net (Arthur) Date: Fri, 21 Oct 2005 13:37:18 -0400 Subject: [Edu-sig] python versus __python__ In-Reply-To: <20051021170948.B00301E4004@bag.python.org> References: <20051021170948.B00301E4004@bag.python.org> Message-ID: <4359274E.30309@optonline.com> Kirby Urner wrote: >Going into my new presentation manager materials (perhaps using the same >Pygame engine I used at OSCON, but as a general purpose module, i.e. not >tied up in that specific content) is the distinction between two kinds of >Python: Python and __Python__. > > The ego and the id of it... is how I sometimes think of it. >You really get to a new level with Python when you start using its >underunder. And that occurs, for many, right when they define a first class >(or user type): in the form of __init__. __new__ comes even later (a >paradox). > > Just posted to python-list on this, having found that subclassing numeric types is done at the __new__ level, not the __init__ level. I see __init__ as everyday waking consciousness, and __new__ inhabiting the netherworld. But making the subconscious conscious leads to good mental health. Of which I am th strongest of advocates. And I am trying to dredge up __new__ to the conscious level. >Another fissure defining beginner and advanced: operator overloading. >That's how it was in C++ books: we'll get to that later. Considered an >advanced feature, not even featured in the original Java from Sun. > > This is something I felt comfortable exploring very early on - to the extent of having overused it. I would hate to see you back-end that, as I think it is kind of fun to play with. "let's change the boring old rules of math..." kind of thing. I understand where you are going ,I think, but I would advocate being a bit less literal in finding the demarcation at __xxx__. You see properties as above ground, and everyday - I still see them as convenience for some once-in-a-while-necessary magic calls to __xxx__ fairies. I think the dividing line has something more to do with the degree of introspection that one undertakes. Deeper levels of introspection provokes one into a confrontation with one's Pythonic mortality ;) Art From urnerk at qwest.net Sat Oct 22 01:22:13 2005 From: urnerk at qwest.net (Kirby Urner) Date: Fri, 21 Oct 2005 16:22:13 -0700 Subject: [Edu-sig] python versus __python__ In-Reply-To: <4359274E.30309@optonline.com> Message-ID: <20051021232219.140C61E4004@bag.python.org> > This is something I felt comfortable exploring very early on - to the > extent of having overused it. I would hate to see you back-end that, as > I think it is kind of fun to play with. "let's change the boring old > rules of math..." kind of thing. > Yes, operator overloading is a big part of my "math through programming" curriculum. You want your * and + operators to be "modulo N" for example, the better to appreciate group theory. Or we might use * to mean 'compose' as in: >>> def f(x): return 2*x + 1 >>> def g(x): return x**2 >>> class F(object): def __init__(self, func): self.func = func def __mul__(self, other): return F(lambda x: self.func(other.func(x))) def __call__(self,x): return self.func(x) >>> of = F(f) >>> og = F(g) >>> of(2) 5 >>> f(g(2)) 9 >>> h = of*og >>> h(2) 9 >>> j = og*of >>> j(2) 25 I think where a lot of kids will first encounter underunder is not in __init__ but in __name__, as in that "__name__ == '__main__'" trick for getting scripts to run at the command line, even as they also serve as class & function repositories for snake charmers in a Python shell. Kirby PS: since you've been studying subclassing primitive types using __new__, maybe you could show us a user-defined floating point type that reports two numbers equal if their absolute value difference is less than e. Anyone? From ajsiegel at optonline.net Sat Oct 22 13:54:34 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 22 Oct 2005 07:54:34 -0400 Subject: [Edu-sig] python versus __python__ Message-ID: <435A287A.30700@optonline.com> Kirby - >PS: since you've been studying subclassing primitive types using __new__, >maybe you could show us a user-defined floating point type that reports two >numbers equal if their absolute value difference is less than e. Anyone? My studies on the subject of subclassing the complex type have been quickly abandoned - it becoming clear that the fact the .real and .imag are read-only defeats the ideas I had for it. I guess I might have tried harder to see if one could override that behavior in a subclass, but my decision to move on is based on the fact that if what I like to think I am pursuing is simplicity, changing the fundamental behavior of a built-in, even if doable, would not seem to be a path to it. But as these dead-end explorations usually do, got me thinking about things not previously confronted. Like the simple question of what is "float" fundamentally, a function - as in float(1) - or a numeric type. And by subclassing "float", is one subclassing a function or a type. Is just some shadowing of a name going on in the netherworld, or are the function and type more intimately related in that realm? Us non C programmers look forward to PyPy for the view of the netherworld it will give us. In truth I expect PyPy to bring a new burst of creative energy to the Python world, just by opening up the possibility of lower level exploration to a wider group of folks. As the answer to most of the "why Python" questions that we all try to answer on some technical level, in the end - IMO - boil done to largely that, the creative energy surrounding it. Perhaps that understanding should provoke me into whining less about the moving target that Python seems sometimes to be. Perhaps Guido understands either consciously or intuitively that less openness to change - with all the downsides of such change - would subvert that essential energy aura in which Python persists. Art From ajsiegel at optonline.net Sun Oct 23 18:01:12 2005 From: ajsiegel at optonline.net (Arthur) Date: Sun, 23 Oct 2005 12:01:12 -0400 Subject: [Edu-sig] python versus __python__ In-Reply-To: <435A287A.30700@optonline.com> References: <435A287A.30700@optonline.com> Message-ID: <435BB3C8.2010306@optonline.com> Arthur wrote: >Us non C programmers look forward to PyPy for the view of the netherworld it will >give us. In truth I expect PyPy to bring a new burst of creative energy to the >Python world, just by opening up the possibility of lower level exploration to >a wider group of folks. > > So I go the next step, download PyPy, and get at app_complex.py - which is the pypy implementation of the Python complex function, implemented in Python - all as advertised. Which is nicely transparent to someone who can read Python well-enough - as advertised. Not too surprisingly, it uses our friend property to implement the read only aspect of .real and .imag, so that by simply commenting out the property functions I seem to have what I think I want, the ability to work with a complex number object, with the ability to write directly to .real and .imag. Probably from there I rename it from "complex" to "Complex" - I like case sensitivity for these kind of reasons - so that I remember I am working with the Python function not the built-in function, then inherit from it as I was intending to do with the builtin, and then plug it into PyGeo. Sacrificing performance - no doubt - with the upside of running it through some paces (the pypy module acknowledges it is not well tested, and if there are any issues perhaps they will be uncovered, and contributing to pypy in any small way seems worthwhile), seeing if the architecture I had in mind is actually sensible, and seeing if I discover why there was a decision to make .real,.imag read only as to the builtin. Yup - pypy is going to change things. Art From ajsiegel at optonline.net Sun Oct 23 18:14:57 2005 From: ajsiegel at optonline.net (Arthur) Date: Sun, 23 Oct 2005 12:14:57 -0400 Subject: [Edu-sig] python versus __python__ In-Reply-To: <435BB3C8.2010306@optonline.com> References: <435A287A.30700@optonline.com> <435BB3C8.2010306@optonline.com> Message-ID: <435BB701.4010803@optonline.com> Arthur wrote: > Arthur wrote: > >> Us non C programmers look forward to PyPy for the view of the >> netherworld it will >> give us. In truth I expect PyPy to bring a new burst of creative >> energy to the >> Python world, just by opening up the possibility of lower level >> exploration to a wider group of folks. >> >> > So I go the next step, download PyPy, and get at app_complex.py - > which is the pypy implementation of the Python complex function, > implemented in Python - all as advertised. > > Which is nicely transparent to someone who can read Python well-enough > - as advertised. And which, BTW, serves as a nice reference for techniques of operator overloading - which I have always found get a bit tricky once one gets beyond the simplest form of it. I had used what I find in Numeric's UserArray as my previous reference - nice to have something else to study a bit. Art From Scott.Daniels at Acm.Org Sun Oct 23 21:19:57 2005 From: Scott.Daniels at Acm.Org (Scott David Daniels) Date: Sun, 23 Oct 2005 12:19:57 -0700 Subject: [Edu-sig] python versus __python__ In-Reply-To: <435A287A.30700@optonline.com> References: <435A287A.30700@optonline.com> Message-ID: Arthur wrote: > My studies on the subject of subclassing the complex type have been quickly > abandoned - it becoming clear that the fact the .real and .imag are read-only > defeats the ideas I had for it. Ahh: complex is (as are bool, int, long, string, and unicode) immutable. Changing such types to be mutable is "nasty" -- reuse of an immutable is done by referring to the same object, while reuse of an immutable needs a copy. If you do make one of these mutable, be sure to eliminate the hash function, or you won't be able to have it a key in a dictionary. Typically immutables are considered "identical" if they have identical state. Conceptually there should be no way to tell the difference between two distinct but equal immutables and the same immutable used twice. In fact, you can just check if id(one) == id(other), but that is "cheating" -- the "no way to tell" avoids precisely this trick. By the way, before you get too involved in playing with this stuff, there is a nasty surprise waiting to bite you. When you are comparing ids, be sure to compare ids of named things, not expressions. You might be surprised to learn: id(math.log(math.pi)) == id(math.log(math.e))! It is fun to try to figure out why. I'll post the answer tomorrow if nobody gets it by then. > But as these dead-end explorations usually do, got me thinking about things > not previously confronted. Like the simple question of what is "float" > fundamentally, a function - as in float(1) - or a numeric type. And by > subclassing "float", is one subclassing a function or a type. > Is just some shadowing of a name going on in the netherworld, or are > the function and type more intimately related in that realm? If you define a class named PyGeoTriangle, you create new instances with PyGeoTriangle(). Same with types (especially as we head into the brave new world of "new-style objects"). The changes in Python are heading towards a unification of types and classes, but that cannot fully happen until Python 3.0 (at least). Why not? -- old-style classes and new-style classes behave differently under the covers. So eventually (and in many cases now), a type name is just a predefined new-style class name. New-style classes and standard types can be made to behave quite the same, but old-style classes cannot. Unfortunately, some basic parts of Python (Exception comes to mind) use old-style classes. Code that people have written to run with Exception, living in some dark lab in northern New Jersey (for example), would break if Exception were a new-style class. We cannot make the change except when we declare an "incompatible change". The reason for making the change to new-style classes throughout is to simplify Python's design (and the model the user must have in his head). > Us non C programmers look forward to PyPy for the view of the netherworld it will > give us. In truth I expect PyPy to bring a new burst of creative energy to the > Python world, just by opening up the possibility of lower level exploration to > a wider group of folks. > > As the answer to most of the "why Python" questions that we all try to answer > on some technical level, in the end - IMO - boil done to largely that, the creative > energy surrounding it. > > Perhaps that understanding should provoke me into whining less about the moving > target that Python seems sometimes to be. Perhaps Guido understands either consciously or > intuitively that less openness to change - with all the downsides of such change - > would subvert that essential energy aura in which Python persists. --Scott David Daniels Scott.Daniels at Acm.Org From ajsiegel at optonline.net Sun Oct 23 23:23:20 2005 From: ajsiegel at optonline.net (Arthur) Date: Sun, 23 Oct 2005 17:23:20 -0400 Subject: [Edu-sig] python versus __python__ In-Reply-To: References: <435A287A.30700@optonline.com> Message-ID: <435BFF48.7040007@optonline.com> Scott David Daniels wrote: >Arthur wrote: > > >>My studies on the subject of subclassing the complex type have been quickly >>abandoned - it becoming clear that the fact the .real and .imag are read-only >>defeats the ideas I had for it. >> >> >Ahh: complex is (as are bool, int, long, string, and unicode) immutable. >Changing such types to be mutable is "nasty" -- reuse of an immutable is >done by referring to the same object, while reuse of an immutable needs >a copy. > Getting one's arms around all the practical implications of these issues related to mutable, immutable - understanding when one should want to retain object identity, and when one should want to break it, the full implications of these decisions, howto implement one's intentions - is, on one hand - I find, fundamental to getting things to actually happen in Python as one intends, and on the other hand , challenging. It is the fundamental reason I chafe a bit when Python is described as "easy". Because I have had trouble with these issues from day one, it ain't day one anymore, I still have some troubles with them and I prefer to think that it is challenging over thinking that I am dumb. I am going down the road of the mutable complex number with my eyes (half) open precisely because I want the ability to change the value of a complex number object (and it's subclasses), without changing the identity of the object. Is that so wrong ;) >If you define a class named PyGeoTriangle, you create new instances with >PyGeoTriangle(). > The connection of what you are saying here to the issue on which I am particularly confused is - well - confusing, to me. In Arthur's head there is the numeric type "float", and there is the function float() - both built in. And in Arthur's head, while functions are first class objects in Python they are objects of a different nature than type in the sense of numeric type. So in some sense what I am not grasping is how class/type unification can be inclusive of verb - i.e, float(1) - and noun - i.e., type(1.) - unification - which in Arthur's head, is something else again. Art From urnerk at qwest.net Mon Oct 24 01:32:38 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 23 Oct 2005 16:32:38 -0700 Subject: [Edu-sig] python versus __python__ In-Reply-To: <20051021232219.140C61E4004@bag.python.org> Message-ID: <20051023233240.4D8A71E4004@bag.python.org> > Kirby > > PS: since you've been studying subclassing primitive types using __new__, > maybe you could show us a user-defined floating point type that reports > two numbers equal if their absolute value difference is less than e. > Anyone? > Like this I guess: >>> class Fuzzy(float): tol = 1e-8 def __new__(cls, arg=0.0): return float.__new__(cls, arg) def __eq__(self, other): if abs(self-other)>> j = Fuzzy(10) >>> type(j) >>> k = Fuzzy(10.000000001) >>> j == k True >>> k = Fuzzy(10.01) >>> j == k False Kirby From Scott.Daniels at Acm.Org Mon Oct 24 01:58:37 2005 From: Scott.Daniels at Acm.Org (Scott David Daniels) Date: Sun, 23 Oct 2005 16:58:37 -0700 Subject: [Edu-sig] python versus __python__ In-Reply-To: <20051023233240.4D8A71E4004@bag.python.org> References: <20051021232219.140C61E4004@bag.python.org> <20051023233240.4D8A71E4004@bag.python.org> Message-ID: Kirby Urner wrote: >>Kirby >> >>PS: since you've been studying subclassing primitive types using __new__, >>maybe you could show us a user-defined floating point type that reports >>two numbers equal if their absolute value difference is less than e. >>Anyone? >> > Fuzzy redone a breath: class Fuzzy(float): tol = 1e-8 def __new__(cls, arg=0.0): return float.__new__(cls, arg) def __eq__(self, other): return abs(self - other) < self.tol > ... Here's the problem: Your notion of equality is not transitive. That's tough -- it invalidates the assumptions of the float type (and all basic types). Also, you didn't tweak hash, so a dictionary with these things in them would not find entries that turn out to be equal. --Scott David Daniels Scott.Daniels at Acm.Org From Scott.Daniels at Acm.Org Mon Oct 24 02:28:14 2005 From: Scott.Daniels at Acm.Org (Scott David Daniels) Date: Sun, 23 Oct 2005 17:28:14 -0700 Subject: [Edu-sig] python versus __python__ In-Reply-To: <435BFF48.7040007@optonline.com> References: <435A287A.30700@optonline.com> <435BFF48.7040007@optonline.com> Message-ID: Arthur wrote: > Scott David Daniels wrote: > ... > Getting one's arms around all the practical implications of these issues > related to mutable, immutable - understanding when one should want to > retain object identity, and when one should want to break it, the full > implications of these decisions, howto implement one's intentions - > is, on one hand - I find, fundamental to getting things to actually > happen in Python as one intends, and on the other hand , challenging. It > is the fundamental reason I chafe a bit when Python is described as "easy". Ah, but you are concentrating on fundamental issues of language design which are, in fact, subtle. Normally the user of a language simply accepts the determination of the designer about what is mutable and what is not, and goes on from there. I think these issues are indeed fascinating, but they are issues of language design, not even issues for the __python__ class. Python allows you to play with these issues in your own classes, few other languages allow you that freedom. > Because I have had trouble with these issues from day one, it ain't day > one anymore, I still have some troubles with them and I prefer to think > that it is challenging over thinking that I am dumb. Well, you are right. > I am going down the road of the mutable complex number with my eyes > (half) open precisely because I want the ability to change the value of > a complex number object (and it's subclasses), without changing the > identity of the object. In the first Fortran (and for a number of versions later), you called "subroutines" with all arguments "by reference." There were people who would abuse this ability to change constants (which were shared across a single "compilation unit") to find compact ways to alter things that were not properly variables. This brings new meaning to "1+1=4 for sufficiently large values of 1". >>If you define a class named PyGeoTriangle, you create new instances with >>PyGeoTriangle(). > > The connection of what you are saying here to the issue on which I am > particularly confused is - well - confusing, to me. I'm trying to point out that you understand perfectly that some things are both objects and callable; you just don't realize that you do. The most obvious example is a class, while the second (and far less) obvious is an instance of a class with a __call__ method. In the case of a class that you have defined, you can use the class name itself in calls to things like "isinstance," > In Arthur's head there is the numeric type "float", and there is the > function float() - both built in. And in Arthur's head, while > functions are first class objects in Python they are objects of a > different nature than type in the sense of numeric type. > So in some sense what I am not grasping is how class/type unification > can be inclusive of verb - i.e, float(1) - and noun - i.e., type(1.) > - unification - which in Arthur's head, is something else again. The magic trick of class / type unification is: we both need to name types (they must have existence as objects) for use in some functions, and we need to provide constructors for instances of that type. This is the same situation we are in about classes. The class situation is resolved by making "special" methods that get invoked when the class is used to call --Scott David Daniels Scott.Daniels at Acm.Org From urnerk at qwest.net Mon Oct 24 02:30:09 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 23 Oct 2005 17:30:09 -0700 Subject: [Edu-sig] python versus __python__ In-Reply-To: Message-ID: <20051024003012.5DCE01E4004@bag.python.org> > Here's the problem: > Your notion of equality is not transitive. That's tough -- it > invalidates the assumptions of the float type (and all basic types). > Also, you didn't tweak hash, so a dictionary with these things in them > would not find entries that turn out to be equal. > > --Scott David Daniels > Scott.Daniels at Acm.Org Yes, good tweak, and fair warnings (GvR warned me earlier). Fuzzy is no doubt pretty useless, plus I solved my earlier problem a different way. This thread has been helpful nonetheless. I've learned more __python__. Kirby From ajsiegel at optonline.net Mon Oct 24 15:18:27 2005 From: ajsiegel at optonline.net (Arthur) Date: Mon, 24 Oct 2005 09:18:27 -0400 Subject: [Edu-sig] python versus __python__ In-Reply-To: <20051024003012.5DCE01E4004@bag.python.org> Message-ID: <000c01c5d89d$6c73f150$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces+ajsiegel=optonline.net at python.org [mailto:edu-sig- > bounces+ajsiegel=optonline.net at python.org] On Behalf Of Kirby Urner > Sent: Sunday, October 23, 2005 8:30 PM > To: 'Scott David Daniels'; edu-sig at python.org > Subject: Re: [Edu-sig] python versus __python__ > > Fuzzy is no doubt pretty useless, plus I solved my earlier problem a > different way. > > This thread has been helpful nonetheless. I've learned more __python__. Funny the connection. We're both going off doing useless things with numeric builtins, and playing around to try to solve some perceived "identity crisis". Just very different kinds of ones. Art From Scott.Daniels at Acm.Org Tue Oct 25 05:24:17 2005 From: Scott.Daniels at Acm.Org (Scott David Daniels) Date: Mon, 24 Oct 2005 20:24:17 -0700 Subject: [Edu-sig] python versus __python__ In-Reply-To: References: <435A287A.30700@optonline.com> Message-ID: Scott David Daniels wrote: > By the way, before you get too involved in playing with this stuff, > there is a nasty surprise waiting to bite you. When you are comparing > ids, be sure to compare ids of named things, not expressions. You might > be surprised to learn: id(math.log(math.pi)) == id(math.log(math.e))! > It is fun to try to figure out why. I'll post the answer tomorrow if > nobody gets it by then. With CPython, expressions, once used and dereferenced, recycle their objects. If you don't hold a reference to the value created by calculating the log of pi, it will get recycled once id is done with is arg. The available storage is lying around when log(e) is calculated and so is reused. Such things don't happen when working with small integers, because Python caches them to save some creation time. So, id(math.pi + 1.0) == id(29. / 7.) but then again: id(math.pi + 5280.0) == id(1. / 9.) --Scott David Daniels Scott.Daniels at Acm.Org From ajsiegel at optonline.net Tue Oct 25 22:26:26 2005 From: ajsiegel at optonline.net (Arthur) Date: Tue, 25 Oct 2005 16:26:26 -0400 Subject: [Edu-sig] Python as Application Message-ID: <435E94F2.6030007@optonline.com> A Python quote I liked by, I think, Michael Hudson was, (loose quote, I can't dig it up): "Python blurs the line between programming a computer, and using a computer". Relevant, as I realize that my approach to learning Python has been closer to learning a software application than the traditional approach to learning to program and learning a programming language. For better and worse, I guess. Probably because I learned a number of software applications - some complex - before I ever sat down to learn "to program". And in thinking back, I think what worked for me about Python - and why I found myself comfortable with it quickly - was that it seemed to respond to that approach. Treat it as an application and I am not doing anything I haven't done before - just learning a different kind of application. And maybe that's were I fell off the "Python is easy" bus - it's a relatively hard application to learn. But for me - at least - a hard application is easier to learn than an easy programming language ;) I focus on having a dialog with Python's behavior. And that is conducted mostly by throwing code at it, and then registering the result - until I zone in more and more finely on controlling the result by controlling the code I throw at it. effbot once accused me of not understanding Python because I said something that indicated I didn't understand duck typing - at least in the way he understands it should be understood. And my feeling was that to the extent I understand how Python behaves, given code as input, and if Python is behaving in a manner that is called duck typing - then I understand duck typing. I felt this is worth posting/ thinking about - because as it is, most folks have learned some relatively complex applications before ever thinking about programming. My son has, my wife has - personal frame of reference-wise. And it seems to me that if the approach to teaching Python was more toward Python as an application, than as a "programming language", better results might be achievable for a wider range of people. FWIW. Art From david at handysoftware.com Tue Oct 25 22:35:49 2005 From: david at handysoftware.com (David Handy) Date: Tue, 25 Oct 2005 16:35:49 -0400 Subject: [Edu-sig] Python as Application In-Reply-To: <435E94F2.6030007@optonline.com> References: <435E94F2.6030007@optonline.com> Message-ID: <20051025203549.GA13260@arno2> On Tue, Oct 25, 2005 at 04:26:26PM -0400, Arthur wrote: > ... I realize that my approach to learning Python has been closer to > learning a software application than the traditional approach to learning > to program and learning a programming language. > > ... > > I focus on having a dialog with Python's behavior. And that is > conducted mostly by throwing code at it, and then registering the result > - until I zone in more and more finely on controlling the result by > controlling the code I throw at it. > > ... > > And it seems to me that if the approach to teaching Python was more > toward Python as an application, than as a "programming language", > better results might be achievable for a wider range of people. > > FWIW. Thank you for your comments, that is worth something to me. Question for you: How much did Python's interactive mode (the >>> prompt thingy) help you in your explorations? As you threw code at Python, how often did you create scratch .py files and run them, vs. trying something at the interactive prompt? -- David Handy Computer Programming is Fun! Beginning Computer Programming with Python http://www.handysoftware.com/cpif/ From ajsiegel at optonline.net Tue Oct 25 22:45:58 2005 From: ajsiegel at optonline.net (Arthur) Date: Tue, 25 Oct 2005 16:45:58 -0400 Subject: [Edu-sig] Python as Application In-Reply-To: <20051025203549.GA13260@arno2> References: <435E94F2.6030007@optonline.com> <20051025203549.GA13260@arno2> Message-ID: <435E9986.5010809@optonline.com> David Handy wrote: >Thank you for your comments, that is worth something to me. > >Question for you: How much did Python's interactive mode (the >>> prompt >thingy) help you in your explorations? As you threw code at Python, how >often did you create scratch .py files and run them, vs. trying something at >the interactive prompt. > > At the early stages *extremely* important. At the early stage my "programs" were nothing more than scratch files themselves, and even then I would tend to have both a prompt and an editor open, conducting some form of an interactive dialog before "committing to paper".. Art From ajsiegel at optonline.net Wed Oct 26 00:26:21 2005 From: ajsiegel at optonline.net (Arthur) Date: Tue, 25 Oct 2005 18:26:21 -0400 Subject: [Edu-sig] Python as Application In-Reply-To: <435E94F2.6030007@optonline.com> References: <435E94F2.6030007@optonline.com> Message-ID: <435EB10D.2010302@optonline.com> Arthur wrote: >Relevant, as I realize that my approach to learning Python has been >closer to learning a software application than the traditional approach >to learning to program and learning a programming language. > Relevant autobiographical note is the fact that what has me focusing on this distinction is a recent conversation with my son wherein he told me how much he is enjoying a class that has him digging into learning Excel. And I cannot help posting a cry into cyberspace on this point. My son is learning something about using a spreadsheet - extremely useful and I support it 100%. That he thinks what he is learning is Excel is absolutely unforgivable, in terms of my understanding of ethical norms that once prevailed in an institute of higher education. We understand how derivative Excel is of others' important work. He apparently never will - unless I intercede. The institution I am supporting by tuition and the taxpayer is subsidizing, is collaborating with a mega-corporation's branding strategies. For no good reason. We understand that all the functionality he will ever need from Excel is available for free in other spreadsheet software. He apparently never will - unless I intercede. Do I care that he is using Excel rather than an open source alternative. Not really. Do I care that he is within an institution that has lost its bearings on fundamental matters of academic ethics. Immensely. Do I care that I am made to feel that this point of view is somehow radical on a educational forum that is an offshoot of an open source software community. It scares me, frankly. ARt From ajsiegel at optonline.net Wed Oct 26 01:12:54 2005 From: ajsiegel at optonline.net (Arthur) Date: Tue, 25 Oct 2005 19:12:54 -0400 Subject: [Edu-sig] Python as Application In-Reply-To: <435EB10D.2010302@optonline.com> References: <435E94F2.6030007@optonline.com> <435EB10D.2010302@optonline.com> Message-ID: <435EBBF6.6040307@optonline.com> Arthur wrote: > Do I care that he is within an institution that has lost its bearings > on fundamental matters of academic ethics. > Last consecutive post - promise. What the early (Unix shell) 'net meant to someone like myself more than anything else was access to the connected academic world for someone who was otherwise cut off from it. What the last ten years seems to have brought to me is a graphical interface to that world, and a lot fewer reasons to want to access it. Art From cben at users.sf.net Wed Oct 26 01:36:01 2005 From: cben at users.sf.net (Beni Cherniavsky) Date: Wed, 26 Oct 2005 01:36:01 +0200 Subject: [Edu-sig] python versus __python__ In-Reply-To: References: <435A287A.30700@optonline.com> Message-ID: <1130283361.24092.7.camel@localhost.cherniavsky.homelinux.net> On Mon, 2005-10-24 at 20:24 -0700, Scott David Daniels wrote: > With CPython, expressions, once used and dereferenced, recycle their > objects. If you don't hold a reference to the value created by > calculating the log of pi, it will get recycled once id is done > with is arg. The available storage is lying around when log(e) > is calculated and so is reused. Such things don't happen when > working with small integers, because Python caches them to save > some creation time. > > So, > id(math.pi + 1.0) == id(29. / 7.) > > but then again: > id(math.pi + 5280.0) == id(1. / 9.) > Neat :-) Of course, the proper way to compare object identity is not the __low_level__ `id()` function but the ``is`` operator: >>> (math.pi + 1.0) is (29. / 7.) False >>> int('99') is int('99') # small integer True >>> int('100') is int('100') # big integer False [``is`` works properly because both expressions are evaluted before the ``is`` operator is evaluted and only then the 2 values are garbage-collected. With `id()`, the 2 values could be reclaimed immediately because only the address is needed for the ``==`` comparison. The fact that `id(foo)` does not reference `foo` is the #1 source of confusion regarding `id()`.] From chuck at freshsources.com Wed Oct 26 08:05:12 2005 From: chuck at freshsources.com (Chuck Allison) Date: Wed, 26 Oct 2005 00:05:12 -0600 Subject: [Edu-sig] Python as Application In-Reply-To: <435EB10D.2010302@optonline.com> References: <435E94F2.6030007@optonline.com> <435EB10D.2010302@optonline.com> Message-ID: <91834118.20051026000512@freshsources.com> Hello Arthur, Tuesday, October 25, 2005, 4:26:21 PM, you wrote: A> We understand that all the functionality he will ever need from Excel is A> available for free in other spreadsheet software. A> He apparently never will - unless I intercede. Does it really matter where the software came from, especially if the open-source version is made to be a virtual copy of Excel (as Open Office is)? He's learning Good Stuff. Why muddy the waters with orthogonal political and business issues? What difference will this make to your son's software/programming experience? Especially at his age (I assume he's not in college by your description), why not let him explore with the tools he has. (And please don't swear at me.) -- Best regards, Chuck From ajsiegel at optonline.net Wed Oct 26 09:00:33 2005 From: ajsiegel at optonline.net (Arthur) Date: Wed, 26 Oct 2005 03:00:33 -0400 Subject: [Edu-sig] Python as Application In-Reply-To: <91834118.20051026000512@freshsources.com> Message-ID: <000001c5d9fa$f78977c0$1702a8c0@BasementDell> > -----Original Message----- > From: Chuck Allison [mailto:chuck at freshsources.com] > Sent: Wednesday, October 26, 2005 2:05 AM > To: Arthur > Cc: edu-sig at python.org > Subject: Re[2]: [Edu-sig] Python as Application > > Hello Arthur, > > Tuesday, October 25, 2005, 4:26:21 PM, you wrote: > > A> We understand that all the functionality he will ever need from Excel > is > A> available for free in other spreadsheet software. > > A> He apparently never will - unless I intercede. > > Does it really matter where the software came from, especially if the > open-source version is made to be a virtual copy of Excel (as Open > Office is)? He's learning Good Stuff. Why muddy the waters with > orthogonal political and business issues? What difference will this > make to your son's software/programming experience? Especially at his > age (I assume he's not in college by your description), why not let > him explore with the tools he has. > > (And please don't swear at me.) Chuck, I am trying to be a good boy. In replying to David's question about how important the interactive prompt was to my learning experience, I edited out my blast at the educator who got himself granted to maintain VPython. For distributing it bundled in such a way that - at least on Windows - there is a conscious decision to override the expressed will of the author of IDLE (a Mr. Guido somethingorother), and fuck with its configuration files (I cursed) in a way that good etiquette dictates one does not fuck with someone else's configuration files (I cursed again) - so as to obscure the existence of the silly interactive prompt. I guess you provoked me enough to un-edit it out, and at least to get some curses out of my system. And what was Excel a virtual copy of? I honestly don't feel our society survives a moratorium on matters of principle - even in the interests of the advancement of technology. Though there is good enough evidence that there is little appetite for discussion of these things here, and I will try to accept the judgment that one man's apples and apples may be other folks apples and oranges. Art From awaludin at jtk.polban.ac.id Wed Oct 26 09:26:35 2005 From: awaludin at jtk.polban.ac.id (Iwan Awaludin) Date: Wed, 26 Oct 2005 14:26:35 +0700 (WIT) Subject: [Edu-sig] Python as Application In-Reply-To: <000001c5d9fa$f78977c0$1702a8c0@BasementDell> References: <000001c5d9fa$f78977c0$1702a8c0@BasementDell> Message-ID: > > > > -----Original Message----- > > From: Chuck Allison [mailto:chuck at freshsources.com] > > Sent: Wednesday, October 26, 2005 2:05 AM > > To: Arthur > > Cc: edu-sig at python.org > > Subject: Re[2]: [Edu-sig] Python as Application > > > > Hello Arthur, > > > > Tuesday, October 25, 2005, 4:26:21 PM, you wrote: > > > > A> We understand that all the functionality he will ever need from Excel > > is > > A> available for free in other spreadsheet software. > > > > A> He apparently never will - unless I intercede. > > Sometimes we use Visual Basic for Application in Excel to teach digital image processing, or digital speech processing. I never found powerfull tools such as VBA in any free spreadsheet software. Iwan Awaludin From chandrakirti at gmail.com Wed Oct 26 12:14:39 2005 From: chandrakirti at gmail.com (Lloyd Hugh Allen) Date: Wed, 26 Oct 2005 06:14:39 -0400 Subject: [Edu-sig] Python as Application In-Reply-To: <000001c5d9fa$f78977c0$1702a8c0@BasementDell> References: <91834118.20051026000512@freshsources.com> <000001c5d9fa$f78977c0$1702a8c0@BasementDell> Message-ID: <24d253d90510260314l6a6e923ax44a711a1a1e30a54@mail.gmail.com> On 10/26/05, Arthur wrote: > And what was Excel a virtual copy of? > Art I actually do have a copy of VisiCalc lying around, but I need a new power supply for my Apple ][e so that I can run it (http://oldapples.blogspot.com). I find Excel (or the TI-83, or other spreadsheet tool) to be a decent planning tool, and then once the project exceeds Excel's capabilities, I turn it into a relational database in Python. One huge thing to beware: Excel doesn't use the proper order of operations -- it evaluates exponents from left to right rather than from the top expression down. That is, 4^3^2 in Excel is (4^3)^2 where in Python, 4 ** 3 ** 2 is (properly) 4 ** (3 ** 2) the moral of the story is that programmers should ALWAYS use parentheses to avoid rude surprises. From ajsiegel at optonline.net Wed Oct 26 15:21:40 2005 From: ajsiegel at optonline.net (Arthur) Date: Wed, 26 Oct 2005 09:21:40 -0400 Subject: [Edu-sig] Python as Application In-Reply-To: <24d253d90510260314l6a6e923ax44a711a1a1e30a54@mail.gmail.com> Message-ID: <000001c5da30$34b771d0$1702a8c0@BasementDell> > -----Original Message----- > From: Lloyd Hugh Allen [mailto:chandrakirti at gmail.com] > Sent: Wednesday, October 26, 2005 6:15 AM > To: Arthur > Cc: Chuck Allison; edu-sig at python.org > Subject: Re: [Edu-sig] Python as Application > > > I find Excel (or the TI-83, or other spreadsheet tool) to be a decent > planning tool, and then once the project exceeds Excel's capabilities, > I turn it into a relational database in Python. I appreciate Excel in one respect. You recognize when a project exceeds Excel's capabilities, and have a "next step". Most folks - in the real business world (at least in the world of midsize and small business), don't. I am quite convinced I can go into 90% of the businesses out there, and improve processes, efficiencies, and organizational dynamics by analyzing how Excel is being used, and replace it with more appropriate technology. That's in fact largely how I make my living. I don't see many matters "matters of principle" in terms of technology selection in the business environment. But am part of the problem in some respect by, so far, sticking with "name brand" technologies. I know Python decently, and databases decently - but oddly have not done much database work, with Python. I would be quite interested in hearing about your path from Excel to relational database with Python. Can you describe your toolset more completely. Art From Scott.Daniels at Acm.Org Wed Oct 26 18:13:15 2005 From: Scott.Daniels at Acm.Org (Scott David Daniels) Date: Wed, 26 Oct 2005 09:13:15 -0700 Subject: [Edu-sig] python versus __python__ In-Reply-To: <1130283361.24092.7.camel@localhost.cherniavsky.homelinux.net> References: <435A287A.30700@optonline.com> <1130283361.24092.7.camel@localhost.cherniavsky.homelinux.net> Message-ID: Beni Cherniavsky wrote: > On Mon, 2005-10-24 at 20:24 -0700, Scott David Daniels wrote: > > Of course, the proper way to compare object identity is not the > __low_level__ `id()` function but the ``is`` operator: > >>>>(math.pi + 1.0) is (29. / 7.) > > False > >>>>int('99') is int('99') # small integer > > True > >>>>int('100') is int('100') # big integer > > False > > [``is`` works properly because both expressions are evaluted before the > ``is`` operator is evaluted and only then the 2 values are > garbage-collected. With `id()`, the 2 values could be reclaimed > immediately because only the address is needed for the ``==`` > comparison. The fact that `id(foo)` does not reference `foo` is the #1 > source of confusion regarding `id()`.] That won't save you from surprises when walking in subtle territory. For example: # Distributive law >>> -(-3 - 7) is (- -3) - -7 True But: >>> -(3 + 7) is -3 - -7 False The difference is the aforementioned caching trick -- small positive (and a few negative) integers are cached, the exact range is, I think -5 : 100, but it is subject to change and should _not_ be remembered (Python is free to change the number at any time; caching is an optimization, not meant to affect the meaning of the language). In general the "is" operator is asking about internals you should seldom be poking around inside (playing with magic) except for the incantation "is None" and "is not None" since there is one and only one None. There are, of course, times when you are concerned about "exactly this object" and those times are when is is proper, (and id(obj) might well be a perfectly fine value supplying a total order on such objects). The main reason I am belaboring the point is the recent mutable / immutable discussion: you should never concern yourself with the identity of an immutable; they are "values" to be compared using equality or ordering comparisons. Two immutables built the same way should be indistinguishable from two references to the same immutable in properly written code. You need immutables for dictionary keys, because (in the implementation) structure is built based on values of the keys. If the values changed by mutating, your structure would no longer reflect the values it contains (so some data would become unreachable). storage = {3+4j : 1, 4+3j : 2} Suppose you negated the imaginary part of the object which is the key to the value 1. What should storage[3+4j] (where 3+4j is freshly calculated) return? What should storage[3-4j] (where 3-4j is freshly calculated) return? Such problems are not so much implementation issues (although they do reveal the implementation) as problems with the definition of the language. That's why this is subtle territory. --Scott David Daniels Scott.Daniels at Acm.Org From ajsiegel at optonline.net Wed Oct 26 21:58:18 2005 From: ajsiegel at optonline.net (Arthur) Date: Wed, 26 Oct 2005 15:58:18 -0400 Subject: [Edu-sig] Python as Application In-Reply-To: Message-ID: <000001c5da67$9d753cc0$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Iwan Awaludin > Sent: Wednesday, October 26, 2005 3:27 AM > To: edu-sig at python.org > Subject: Re: [Edu-sig] Python as Application > Sometimes we use Visual Basic for Application in Excel to teach digital > image processing, or digital speech processing. I never found powerfull > tools such as VBA in any free spreadsheet software. > > Iwan Awaludin My comments on these matters are really only focused on matters as they stand and have stood in the U.S.. I don't have expectations as to the academic traditions in other places, so that I am beyond being offended by seeing them become - as we say - as mutable as they have seem to have become here. Though if you exposed further what you were trying to accomplish for students in terms of digital image processing via VBA, I would most certainly bet that we can find you a good/better alternative using Python and tools. I understand the practical realm of things quite well, and am pretty effective with VBA myself. My problem was I didn't have the stomach to sit down to make a project of learning it. Clever guy that I am, I reasoned that if I undertook to do something a bit more serious - like learning Python - then what I needed to know to do what I need to do in VBA would get thrown in for free. Which is pretty much as things have worked out. Art From chandrakirti at gmail.com Thu Oct 27 03:14:36 2005 From: chandrakirti at gmail.com (Lloyd Hugh Allen) Date: Wed, 26 Oct 2005 21:14:36 -0400 Subject: [Edu-sig] Fwd: Python as Application In-Reply-To: <24d253d90510261814m39d5f094o53d1193c1494df64@mail.gmail.com> References: <24d253d90510260314l6a6e923ax44a711a1a1e30a54@mail.gmail.com> <000001c5da30$34b771d0$1702a8c0@BasementDell> <24d253d90510261814m39d5f094o53d1193c1494df64@mail.gmail.com> Message-ID: <24d253d90510261814x22c83458kc84850d27bd628d@mail.gmail.com> Oops --- forgot to reply-to-all ---------- Forwarded message ---------- From: Lloyd Hugh Allen Date: Oct 26, 2005 9:14 PM Subject: Re: [Edu-sig] Python as Application To: Arthur On 10/26/05, Arthur wrote: > > > > -----Original Message----- > > From: Lloyd Hugh Allen [mailto:chandrakirti at gmail.com] > > Sent: Wednesday, October 26, 2005 6:15 AM > > To: Arthur > > Cc: Chuck Allison; edu-sig at python.org > > Subject: Re: [Edu-sig] Python as Application > > > > > > I find Excel (or the TI-83, or other spreadsheet tool) to be a decent > > planning tool, and then once the project exceeds Excel's capabilities, > > I turn it into a relational database in Python. > > I appreciate Excel in one respect. You recognize when a project exceeds > Excel's capabilities, and have a "next step". Most folks - in the real > business world (at least in the world of midsize and small business), don't. > I am quite convinced I can go into 90% of the businesses out there, and > improve processes, efficiencies, and organizational dynamics by analyzing > how Excel is being used, and replace it with more appropriate technology. > That's in fact largely how I make my living. ... > I would be quite interested in hearing about your path from Excel to > relational database with Python. Can you describe your toolset more > completely. The guidance departments for the school district in which I teach use a proprietary, specially written database from the '80s or so in order to keep track of student records (names, addresses, schedules, etc.). The county's official policy is that all computers should be running WinXP, but ironically, this database runs on computers with a maximum of Win2k because too much DOS has fallen out of XP. This database program has lots of capabilities, but it is difficult to set up custom reports for it. It is easy, though, to get the database to toss out nine huge fixed-width text files with such things as the course name for each course number, the students' id and name, the students' id and each course number and section that they are enrolled in, etc. I set up an object-oriented database which links the students, the classes in which they are enrolled, the rooms in which the classes are held, and the teachers who teach the classes. This allows me to generate such custom reports as how many students each room and each teacher will have, say, when the seniors are gone; or on days when all of the students enrolled in biology will be taking the state biology assessment. The latter is important because if the biology test is going on, it's helpful to lump the classes that have three or four student NOT enrolled in biology together so that only one teacher has to babysit them for the duration of the test administration. As a side benefit, my program is able to export the students' schedules and contact information into Palmpilot format, so that the assistant principals can ensure that students in the halls are being truthful when they say that they are in the vicinity of their third-floor social studies class, and so that they can have the student's parent's name and phone number at hand when it turns out that the student was less truthful. To be fair, my work is derivative of another district employee's work in perl intended only to do that stuff from the last paragraph. I can't read perl, especially someone else's perl, so I looked at a few lines of sample output, at each of the input files, and then sat down and wrote 1500 lines of code (adding a feature here or there periodically). It's probably close to time to sit down, start from scratch, and write 900 lines of code to do the same thing. As a side note, I generally have to take the text file output from my program and import it into Excel before anyone else in the building can use it...I mean, csv is nice and all, but tabbed worksheets can be really handy for keeping related items together. From missive at hotmail.com Thu Oct 27 03:32:52 2005 From: missive at hotmail.com (Lee Harr) Date: Thu, 27 Oct 2005 06:02:52 +0430 Subject: [Edu-sig] Python as Application Message-ID: Wups. Sorry to those also reading tutor at . I always mix up these 2 lists. >My son is learning something about using a spreadsheet - extremely >useful and I support it 100%. That he thinks what he is learning is >Excel is absolutely unforgivable, in terms of my understanding of >ethical norms that once prevailed in an institute of higher education. > I guess it depends on whether that is what he was taught or if he was ever taught about alternatives. If this is an advanced class and was billed as "learn all the details about Excel" that's fine. If this is an introductory course I believe it should really start off with ... Excel is a spreadsheet. There are many spreadsheet applications available. All spreadsheets share these common traits .... >We understand that all the functionality he will ever need from Excel is >available for free in other spreadsheet software. > Probably. Anything beyond the common spreadsheet functions is almost certainly better done another way. >Do I care that he is within an institution that has lost its bearings on >fundamental matters of academic ethics. > Of course. More frightening to me than the ubiquitous use of MS Office is the omnipresence of windows. Every time a student sits down in front of KDE in our lab and says "Where is the internet?" I can only cringe. Microsoft may not own the internet, but that is not what we are teaching. I seriously get about 10% of users who are unable to see any other browser as performing the same function as internet explorer. If "what is a spreadsheet?" is pretty scary. "What is a browser?" is downright terrifying. >Do I care that I am made to feel that this point of view is somehow >radical on a educational forum that is an offshoot of an open source >software community. > Hmm... more like "preaching to the choir" isn't it? _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ From ajsiegel at optonline.net Thu Oct 27 13:42:53 2005 From: ajsiegel at optonline.net (Arthur) Date: Thu, 27 Oct 2005 07:42:53 -0400 Subject: [Edu-sig] Python as Application In-Reply-To: <000001c5da67$9d753cc0$1702a8c0@BasementDell> Message-ID: <000001c5daeb$92617f40$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Arthur > Clever guy that I am, I reasoned that if I undertook to do something a bit > more serious - like learning Python - then what I needed to know to do > what > I need to do in VBA would get thrown in for free. Which is pretty much as > things have worked out. Sorry to comment on my own comment, again - but I want to expand this thought a bit. When looked at from my personal frame of reference and the experience, among other things, as a business person - it is the old rules that work. My route to a practical, business-oriented understanding of technology included - probably as its most important effort - undertaking the effort of learning abstract mathematics with the help of a multi-paradigm Open Source programming language. If industry wants sharp C# folks, they are not going to get them by turning CS department into C# training grounds. They are industry - not their job to understand that. It is educators' job to understand that. Played by what I consider to be the older rules of the game, everybody wins. Art From dooms at info.ucl.ac.be Thu Oct 27 15:29:01 2005 From: dooms at info.ucl.ac.be (=?ISO-8859-1?Q?Gr=E9goire_Dooms?=) Date: Thu, 27 Oct 2005 15:29:01 +0200 Subject: [Edu-sig] Python as Application In-Reply-To: <000001c5daeb$92617f40$1702a8c0@BasementDell> References: <000001c5daeb$92617f40$1702a8c0@BasementDell> Message-ID: <4360D61D.4030403@info.ucl.ac.be> Arthur wrote: > >My route to a practical, business-oriented understanding of technology >included - probably as its most important effort - undertaking the effort of >learning abstract mathematics with the help of a multi-paradigm Open Source >programming language. > > Seeing multi-paradigm triggers the tought of Oz/Mozart in my brain. Do you know Mozart? http://www.mozart-oz.org/ ? It is a Opens-Source multiparadigm language with functional programming (including terminal recursivity), logic (single-assignment) variables, dataflow concurrency (through suspending thread on undetermined variables), object-orientation, transparent distribution, and constraint programming (did I forget one ? :-) A recent very good introductory book uses it to travel among the world of the different programming paradigms: "Concepts, Techniques, and Models of Computer Programming" http://mitpress.mit.edu/0262220695 I found many things similar to Python stuff in there and I think both languages could benefit from each other. Best, -- Gr?goire Dooms From ajsiegel at optonline.net Thu Oct 27 16:24:31 2005 From: ajsiegel at optonline.net (Arthur) Date: Thu, 27 Oct 2005 10:24:31 -0400 Subject: [Edu-sig] Python as Application In-Reply-To: <4360D61D.4030403@info.ucl.ac.be> References: <000001c5daeb$92617f40$1702a8c0@BasementDell> <4360D61D.4030403@info.ucl.ac.be> Message-ID: <4360E31F.7020803@optonline.com> Gr?goire Dooms wrote: >I found many things similar to Python stuff in there and I think both >languages could benefit from each other. >Best, >-- >Gr?goire Dooms > > I actually have looked at it top-level fairly recently. But the little time I have to explore new things is being spent exploring old things - Lisp. Reading -slowly - Paul Graham's classic On Lisp http://www.paulgraham.com/onlisp.html Not very far into it but have been influenced already by the "bottom-up" approach which he talks about as Lisp's strength - the concept of building layers of a domain specific "programming language" appropriate to an application. Wasn't really conscious of it, but that is I think how I got to the concept of the mutable complex number - if that's what I think my program needs (I am not convinced yet it does, but what the heck, let's look at it), build the mutable complex number. Love this stuff. Art From ajsiegel at optonline.net Thu Oct 27 16:36:56 2005 From: ajsiegel at optonline.net (Arthur) Date: Thu, 27 Oct 2005 10:36:56 -0400 Subject: [Edu-sig] Python as Application In-Reply-To: <4360E31F.7020803@optonline.com> Message-ID: <000501c5db03$e2cb5b50$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces+ajsiegel=optonline.net at python.org [mailto:edu-sig- > bounces+ajsiegel=optonline.net at python.org] On Behalf Of Arthur > Sent: Thursday, October 27, 2005 10:25 AM > To: Gr?goire Dooms > But the little time I have to explore new things is being spent > exploring old things - Lisp. Those, BTW, are very related issues. With little time, I feel I only have time to explore things that have withstood the test of time. Novels, poetry and programming languages Art From ajsiegel at optonline.net Fri Oct 28 16:05:35 2005 From: ajsiegel at optonline.net (Arthur) Date: Fri, 28 Oct 2005 10:05:35 -0400 Subject: [Edu-sig] Python as Application In-Reply-To: Message-ID: <000001c5dbc8$ac26c010$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Lee Harr > If "what is a spreadsheet?" is pretty scary. "What is a browser?" is > downright terrifying. Interesting how they cornered the market. A good browser - costing millions of dollars to development - has a retail value of zero, by the rules of the game set by Microsoft. What is actually amazing is that there remains as much substantial competition as there is, and that this is the first area where Microsoft has shown its vulnerability and began to loose market share. Though I don't fully understand what drives the Mozilla project, for example. Is there a business model there? My best sense is that it is supported by industry sources in a brilliant counter-offensive - delivering the message in concrete terms that Microsoft will *not* realize potentials. Setting the stage for other counter-offensives. This together with the fact that Microsoft has never been technological innovators, but consolidators and packagers who have now driven the innovators away from innovating in any way that is vulnerable to their reach - leaving them with little new to consolidate and package - my investment advise is to short Microsoft. > >Do I care that I am made to feel that this point of view is somehow > >radical on a educational forum that is an offshoot of an open source > >software community. > > > > Hmm... more like "preaching to the choir" isn't it? One would think. But my disappointment with the Open Source movement is the extent to which it can be literalist and legalistic. When Alan Kay takes the stage from the Disney pulpit as the educator of the new age, he should be universally be booed off the stage - as a matter of principle, principle being a very practical thing. I don't need to read the Squeak license to know that. Others seem to get distracted by that issue. Art From winstonw at stratolab.com Fri Oct 28 16:21:24 2005 From: winstonw at stratolab.com (Winston Wolff) Date: Fri, 28 Oct 2005 10:21:24 -0400 Subject: [Edu-sig] Simple IDE for Mac Message-ID: I read a while back some people asking about a good IDE for teaching Python. Well, I've written one and I'm offering it up to the public. It runs only on the Macintosh (OSX 10.3 and 10.4). It's basically got one window to write code, and another window to see the output, and a Run button. Since it's running regular python, you can do anything you would in a normal program so I used it with PyGame and it made a very compelling way to learn. http://stratolab.com/misc/makebot -Winston ______________________________________________________ winston wolff - (646) 827-2242 - http://www.stratolab.com learning by creating - video game courses for kids in new york -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20051028/ba823cb6/attachment.htm From ajsiegel at optonline.net Fri Oct 28 16:35:30 2005 From: ajsiegel at optonline.net (Arthur) Date: Fri, 28 Oct 2005 10:35:30 -0400 Subject: [Edu-sig] Python as Application In-Reply-To: <000001c5dbc8$ac26c010$1702a8c0@BasementDell> Message-ID: <000901c5dbcc$d8f4a450$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Arthur > Sent: Friday, October 28, 2005 10:06 AM > To: 'Lee Harr'; edu-sig at python.org > Subject: Re: [Edu-sig] Python as Application > > When Alan Kay takes the stage from the Disney pulpit as the educator of > the > new age, he should be universally be booed off the stage - as a matter of > principle, principle being a very practical thing. I don't need to read > the > Squeak license to know that. Others seem to get distracted by that issue. The point here, BTW, not being that large corporations are evil. The point more being that Kay was presenting Big Ideas about education, but was purposefully developing and presenting them through a delivery mechanism that was an end run around the kind of peer review, debate, countervailing evidence, etc. that his ideas would necessarily (one would think at least) be subject to in an academic setting. The idea of making an end run around review, debate and evidence - call me old fashion - doesn't seem to me like a good idea. Art From ajsiegel at optonline.net Fri Oct 28 17:02:13 2005 From: ajsiegel at optonline.net (Arthur) Date: Fri, 28 Oct 2005 11:02:13 -0400 Subject: [Edu-sig] Python as Application In-Reply-To: <000901c5dbcc$d8f4a450$1702a8c0@BasementDell> Message-ID: <000001c5dbd0$94f2fc80$1702a8c0@BasementDell> > -----Original Message----- > From: Arthur [mailto:ajsiegel at optonline.net] > The idea of making an end run around review, debate and evidence - call > me old fashion - doesn't seem to me like a good idea. Trying to find my own theme. The recent technological burst of energy has created exciting new possibilities, and, with it - in my view - an overpopulation of MUHs - Men of Unfathomable Hubris. Seems to me we have the possibility of accepting the one, and rejecting the other. Art From urnerk at qwest.net Sat Oct 29 22:31:26 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sat, 29 Oct 2005 13:31:26 -0700 Subject: [Edu-sig] Python as Application In-Reply-To: <000001c5dbd0$94f2fc80$1702a8c0@BasementDell> Message-ID: <20051029203129.EBCE11E4009@bag.python.org> > > The idea of making an end run around review, debate and evidence - > > call me old fashion - doesn't seem to me like a good idea. > > Trying to find my own theme. The recent technological burst of energy has > created exciting new possibilities, and, with it - in my view - an > overpopulation of MUHs - Men of Unfathomable Hubris. > > Seems to me we have the possibility of accepting the one, and rejecting > the other. > > Art There's nothing to stop academia from commenting upon, debating, field testing Alan Kay's ideas. Just because he's sometimes behind a corporate podium (Xerox, Atari, HP, Apple, Disney) instead of a university one doesn't impress me much, given the highly permeable membrane between private think tanks, research companies, and graduate schools. I reserve the right to stand behind a company podium, if invited to do so by a company I respect. I'd rather *not* have Alan booed off stage, given I'd like to hear what he has to say. Fortunately, given the Internet, it's not a matter of stages, podiums, and obnoxious audiences. I'm able to access the guy's thinking rather more directly: >From this Wikipedia article [1] I went to the streaming video [2], which was plenty interesting. Synopsis: Developing fluency in math and science is tough fun, like learning a musical instrument, and is what kids need to do to access the somewhat invisible, non-telegenic world of science-minded adults. Computers can help provide this access, for example by making clear the distinction between real mathematics, which is not about anything physical, and the sciences, which use mathematics to investigate and model the physical. They're a great tool for scientific visualization and probing -- but only a tool, reflective of human thought. music:piano :: language:computer. He talks about what a benevolent despot might do to improve education, but acknowledges a top-down approach would be unpalatable in a democracy, and prone to failure anyway. He sees the Internet and personal computers as contributing to a bottom-up approach. Lots of autobio mixed in (an advanced reader early on, alienated by school, with a scientist dad, musician mom, and author granddad with thousands of books). Fun quote (some Englishwoman prodding USAers): "The USA offers the best high school education in the world... too bad you have to go to college to get one." Anyway, I have no intention of pursuing your strategy of vilifying Kay simply on the basis of how he gets his funding, and with almost no discussion of his actual ideas. I do agree with your earlier point, that students shouldn't confuse classes of application (e.g. spreadsheet, word processor, database, browser), with special case implementations or instantiations thereof (e.g. Excel, MySQL). That would seem an easy point to communicate, especially by projecting some examples. Kirby [1] http://en.wikipedia.org/wiki/Alan_Kay [2] http://www.csupomona.edu/%7eitac/mediavision/streaming/tae/alan_kay.html From urnerk at qwest.net Sun Oct 30 00:34:26 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sat, 29 Oct 2005 15:34:26 -0700 Subject: [Edu-sig] Rich Data Structures (cont.) Message-ID: <20051029223432.25C5D1E4009@bag.python.org> """ A rich data structure: lists of lat/long tuples in a city indexed dictionary. Distance function provided. Could be used to introduce data structures in Python. Although spherical trig gets used, lessons needn't focus on that. Typical exercise: write getkms(citya, cityb) to return distance in kilometers. Typical usage: >>> from uscan import cities, getmiles >>> pdx = cities['Portland, Ore.'] >>> miami = cities['Miami, Fla.'] >>> sea = cities['Seattle, Wash.'] >>> getmiles(pdx, sea) 146.20520973103621 >>> getmiles(pdx, miami) 2707.8603168909253 """ from math import acos, cos, sin, radians cities = { 'Albany, N.Y.': [(42, 40, 'W'), (73, 45, 'N')], 'Albuquerque, N.M.': [(35, 5, 'W'), (106, 39, 'N')], 'Amarillo, Tex.': [(35, 11, 'W'), (101, 50, 'N')], 'Anchorage, Alaska': [(61, 13, 'W'), (149, 54, 'N')], 'Atlanta, Ga.': [(33, 45, 'W'), (84, 23, 'N')], 'Austin, Tex.': [(30, 16, 'W'), (97, 44, 'N')], 'Baker, Ore.': [(44, 47, 'W'), (117, 50, 'N')], 'Baltimore, Md.': [(39, 18, 'W'), (76, 38, 'N')], 'Bangor, Maine': [(44, 48, 'W'), (68, 47, 'N')], 'Birmingham, Ala.': [(33, 30, 'W'), (86, 50, 'N')], 'Bismarck, N.D.': [(46, 48, 'W'), (100, 47, 'N')], 'Boise, Idaho': [(43, 36, 'W'), (116, 13, 'N')], 'Boston, Mass.': [(42, 21, 'W'), (71, 5, 'N')], 'Buffalo, N.Y.': [(42, 55, 'W'), (78, 50, 'N')], 'Calgary, Alba., Can.': [(51, 1, 'W'), (114, 1, 'N')], 'Carlsbad, N.M.': [(32, 26, 'W'), (104, 15, 'N')], 'Charleston, S.C.': [(32, 47, 'W'), (79, 56, 'N')], 'Charleston, W. Va.': [(38, 21, 'W'), (81, 38, 'N')], 'Charlotte, N.C.': [(35, 14, 'W'), (80, 50, 'N')], 'Cheyenne, Wyo.': [(41, 9, 'W'), (104, 52, 'N')], 'Chicago, Ill.': [(41, 50, 'W'), (87, 37, 'N')], 'Cincinnati, Ohio': [(39, 8, 'W'), (84, 30, 'N')], 'Cleveland, Ohio': [(41, 28, 'W'), (81, 37, 'N')], 'Columbia, S.C.': [(34, 0, 'W'), (81, 2, 'N')], 'Columbus, Ohio': [(40, 0, 'W'), (83, 1, 'N')], 'Dallas, Tex.': [(32, 46, 'W'), (96, 46, 'N')], 'Denver, Colo.': [(39, 45, 'W'), (105, 0, 'N')], 'Des Moines, Iowa': [(41, 35, 'W'), (93, 37, 'N')], 'Detroit, Mich.': [(42, 20, 'W'), (83, 3, 'N')], 'Dubuque, Iowa': [(42, 31, 'W'), (90, 40, 'N')], 'Duluth, Minn.': [(46, 49, 'W'), (92, 5, 'N')], 'Eastport, Maine': [(44, 54, 'W'), (67, 0, 'N')], 'Edmonton, Alb., Can.': [(53, 34, 'W'), (113, 28, 'N')], 'El Centro, Calif.': [(32, 38, 'W'), (115, 33, 'N')], 'El Paso, Tex.': [(31, 46, 'W'), (106, 29, 'N')], 'Eugene, Ore.': [(44, 3, 'W'), (123, 5, 'N')], 'Fargo, N.D.': [(46, 52, 'W'), (96, 48, 'N')], 'Flagstaff, Ariz.': [(35, 13, 'W'), (111, 41, 'N')], 'Fort Worth, Tex.': [(32, 43, 'W'), (97, 19, 'N')], 'Fresno, Calif.': [(36, 44, 'W'), (119, 48, 'N')], 'Grand Junction, Colo.': [(39, 5, 'W'), (108, 33, 'N')], 'Grand Rapids, Mich.': [(42, 58, 'W'), (85, 40, 'N')], 'Havre, Mont.': [(48, 33, 'W'), (109, 43, 'N')], 'Helena, Mont.': [(46, 35, 'W'), (112, 2, 'N')], 'Honolulu, Hawaii': [(21, 18, 'W'), (157, 50, 'N')], 'Hot Springs, Ark.': [(34, 31, 'W'), (93, 3, 'N')], 'Houston, Tex.': [(29, 45, 'W'), (95, 21, 'N')], 'Idaho Falls, Idaho': [(43, 30, 'W'), (112, 1, 'N')], 'Indianapolis, Ind.': [(39, 46, 'W'), (86, 10, 'N')], 'Jackson, Miss.': [(32, 20, 'W'), (90, 12, 'N')], 'Jacksonville, Fla.': [(30, 22, 'W'), (81, 40, 'N')], 'Juneau, Alaska': [(58, 18, 'W'), (134, 24, 'N')], 'Kansas City, Mo.': [(39, 6, 'W'), (94, 35, 'N')], 'Key West, Fla.': [(24, 33, 'W'), (81, 48, 'N')], 'Kingston, Ont., Can.': [(44, 15, 'W'), (76, 30, 'N')], 'Klamath Falls, Ore.': [(42, 10, 'W'), (121, 44, 'N')], 'Knoxville, Tenn.': [(35, 57, 'W'), (83, 56, 'N')], 'Las Vegas, Nev.': [(36, 10, 'W'), (115, 12, 'N')], 'Lewiston, Idaho': [(46, 24, 'W'), (117, 2, 'N')], 'Lincoln, Neb.': [(40, 50, 'W'), (96, 40, 'N')], 'London, Ont., Can.': [(43, 2, 'W'), (81, 34, 'N')], 'Long Beach, Calif.': [(33, 46, 'W'), (118, 11, 'N')], 'Los Angeles, Calif.': [(34, 3, 'W'), (118, 15, 'N')], 'Louisville, Ky.': [(38, 15, 'W'), (85, 46, 'N')], 'Manchester, N.H.': [(43, 0, 'W'), (71, 30, 'N')], 'Memphis, Tenn.': [(35, 9, 'W'), (90, 3, 'N')], 'Miami, Fla.': [(25, 46, 'W'), (80, 12, 'N')], 'Milwaukee, Wis.': [(43, 2, 'W'), (87, 55, 'N')], 'Minneapolis, Minn.': [(44, 59, 'W'), (93, 14, 'N')], 'Mobile, Ala.': [(30, 42, 'W'), (88, 3, 'N')], 'Montgomery, Ala.': [(32, 21, 'W'), (86, 18, 'N')], 'Montpelier, Vt.': [(44, 15, 'W'), (72, 32, 'N')], 'Montreal, Que., Can.': [(45, 30, 'W'), (73, 35, 'N')], 'Moose Jaw, Sask., Can.': [(50, 37, 'W'), (105, 31, 'N')], 'Nashville, Tenn.': [(36, 10, 'W'), (86, 47, 'N')], 'Nelson, B.C., Can.': [(49, 30, 'W'), (117, 17, 'N')], 'New Haven, Conn.': [(41, 19, 'W'), (72, 55, 'N')], 'New Orleans, La.': [(29, 57, 'W'), (90, 4, 'N')], 'New York, N.Y.': [(40, 47, 'W'), (73, 58, 'N')], 'Newark, N.J.': [(40, 44, 'W'), (74, 10, 'N')], 'Nome, Alaska': [(64, 25, 'W'), (165, 30, 'N')], 'Oakland, Calif.': [(37, 48, 'W'), (122, 16, 'N')], 'Oklahoma City, Okla.': [(35, 26, 'W'), (97, 28, 'N')], 'Omaha, Neb.': [(41, 15, 'W'), (95, 56, 'N')], 'Ottawa, Ont., Can.': [(45, 24, 'W'), (75, 43, 'N')], 'Philadelphia, Pa.': [(39, 57, 'W'), (75, 10, 'N')], 'Phoenix, Ariz.': [(33, 29, 'W'), (112, 4, 'N')], 'Pierre, S.D.': [(44, 22, 'W'), (100, 21, 'N')], 'Pittsburgh, Pa.': [(40, 27, 'W'), (79, 57, 'N')], 'Portland, Maine': [(43, 40, 'W'), (70, 15, 'N')], 'Portland, Ore.': [(45, 31, 'W'), (122, 41, 'N')], 'Providence, R.I.': [(41, 50, 'W'), (71, 24, 'N')], 'Quebec, Que., Can.': [(46, 49, 'W'), (71, 11, 'N')], 'Raleigh, N.C.': [(35, 46, 'W'), (78, 39, 'N')], 'Reno, Nev.': [(39, 30, 'W'), (119, 49, 'N')], 'Richfield, Utah': [(38, 46, 'W'), (112, 5, 'N')], 'Richmond, Va.': [(37, 33, 'W'), (77, 29, 'N')], 'Roanoke, Va.': [(37, 17, 'W'), (79, 57, 'N')], 'Sacramento, Calif.': [(38, 35, 'W'), (121, 30, 'N')], 'Salt Lake City, Utah': [(40, 46, 'W'), (111, 54, 'N')], 'San Antonio, Tex.': [(29, 23, 'W'), (98, 33, 'N')], 'San Diego, Calif.': [(32, 42, 'W'), (117, 10, 'N')], 'San Francisco, Calif.': [(37, 47, 'W'), (122, 26, 'N')], 'San Jose, Calif.': [(37, 20, 'W'), (121, 53, 'N')], 'San Juan, P.R.': [(18, 30, 'W'), (66, 10, 'N')], 'Santa Fe, N.M.': [(35, 41, 'W'), (105, 57, 'N')], 'Savannah, Ga.': [(32, 5, 'W'), (81, 5, 'N')], 'Seattle, Wash.': [(47, 37, 'W'), (122, 20, 'N')], 'Shreveport, La.': [(32, 28, 'W'), (93, 42, 'N')], 'Sioux Falls, S.D.': [(43, 33, 'W'), (96, 44, 'N')], 'Sitka, Alaska': [(57, 10, 'W'), (135, 15, 'N')], 'Spokane, Wash.': [(47, 40, 'W'), (117, 26, 'N')], 'Springfield, Ill.': [(39, 48, 'W'), (89, 38, 'N')], 'Springfield, Mass.': [(42, 6, 'W'), (72, 34, 'N')], 'Springfield, Mo.': [(37, 13, 'W'), (93, 17, 'N')], 'St. John, N.B., Can.': [(45, 18, 'W'), (66, 10, 'N')], 'St. Louis, Mo.': [(38, 35, 'W'), (90, 12, 'N')], 'Syracuse, N.Y.': [(43, 2, 'W'), (76, 8, 'N')], 'Tampa, Fla.': [(27, 57, 'W'), (82, 27, 'N')], 'Toledo, Ohio': [(41, 39, 'W'), (83, 33, 'N')], 'Toronto, Ont., Can.': [(43, 40, 'W'), (79, 24, 'N')], 'Tulsa, Okla.': [(36, 9, 'W'), (95, 59, 'N')], 'Vancouver, B.C., Can.': [(49, 13, 'W'), (123, 6, 'N')], 'Victoria, B.C., Can.': [(48, 25, 'W'), (123, 21, 'N')], 'Virginia Beach, Va.': [(36, 51, 'W'), (75, 58, 'N')], 'Washington, D.C.': [(38, 53, 'W'), (77, 2, 'N')], 'Wichita, Kan.': [(37, 43, 'W'), (97, 17, 'N')], 'Wilmington, N.C.': [(34, 14, 'W'), (77, 57, 'N')], 'Winnipeg, Man., Can.': [(49, 54, 'W'), (97, 7, 'N')]} def rads(degs, mins, compass): r = radians(degs + (mins/60.0)) if compass in ['S','W']: r = -r return r def distance(lat1, lon1, lat2, lon2, r): return acos( cos(lat1)*cos(lon1) * cos(lat2)*cos(lon2) + \ cos(lat1)*sin(lon1) * cos(lat2)*sin(lon2) + \ sin(lat1)*sin(lat2) ) * r def getmiles(citya, cityb): lat1, lon1 = rads(*citya[0]), rads(*citya[1]) lat2, lon2 = rads(*cityb[0]), rads(*cityb[1]) return distance(lat1, lon1, lat2, lon2, 3963.1) From ajsiegel at optonline.net Sun Oct 30 02:04:32 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 29 Oct 2005 21:04:32 -0400 Subject: [Edu-sig] Python as Application In-Reply-To: <20051029203129.EBCE11E4009@bag.python.org> Message-ID: <000001c5dced$e4490e00$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Kirby Urner > Sent: Saturday, October 29, 2005 4:31 PM > To: edu-sig at python.org > Subject: Re: [Edu-sig] Python as Application > There's nothing to stop academia from commenting upon, debating, field > testing Alan Kay's ideas. Just because he's sometimes behind a corporate > podium (Xerox, Atari, HP, Apple, Disney) instead of a university one > doesn't > impress me much, given the highly permeable membrane between private think > tanks, research companies, and graduate schools. And family entertainment companies and consumer electronic companies and fast food restaurant chains. And there are no lines to be drawn anywhere? Putting aside the question of whether my concerns are well founded or not, do you see anything to my sense of things that part of the disruption of disruptive technologies has been to move this line significantly beyond where it has once been drawn? Just curious. Art From ajsiegel at optonline.net Sun Oct 30 02:46:26 2005 From: ajsiegel at optonline.net (Arthur) Date: Sat, 29 Oct 2005 21:46:26 -0400 Subject: [Edu-sig] Python as Application In-Reply-To: <20051029203129.EBCE11E4009@bag.python.org> Message-ID: <000101c5dcf3$bdb3fba0$1702a8c0@BasementDell> > -----Original Message----- > From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On > Behalf Of Kirby Urner > > There's nothing to stop academia from commenting upon, debating, field > testing Alan Kay's ideas. Nor is there anything to stop the company with an interest in his ideas from spending a $100 million or so to make sure his ideas get a fair hearing. Where do I get my $100 million to help make sure his ideas do not get *too* fair a hearing. Doesn't matter to you as much as it does to me. It is mystery why not. But that's OK. Art From urnerk at qwest.net Sun Oct 30 18:06:50 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 30 Oct 2005 09:06:50 -0800 Subject: [Edu-sig] Python as Application In-Reply-To: <000001c5dced$e4490e00$1702a8c0@BasementDell> Message-ID: <20051030170654.257921E4009@bag.python.org> > Putting aside the question of whether my concerns are well founded or not, > do you see anything to my sense of things that part of the disruption of > disruptive technologies has been to move this line significantly beyond > where it has once been drawn? > > Just curious. > > Art > I'd like edu-sig to be a lot about Python. Doesn't mean we can't discuss "big issues". Scenario: Microsoft realizes IronPython has great potential for recruiting future knowledge workers to the .NET development platform and launches an advertising campaign to that effect, focusing on a few showcase high schools and colleges that have incorporated IronPython into their curricula, thanks to generous grants from Microsoft for teacher training at Microsoft University. Microsoft also boosts the staff and development budget for this product, but continues to use a "Shared Source License" making reference to Microsoft patents.[1] Note that IronPython also runs on Mono on the Linux platform and that IronPython, including source code, remains a free download. Linux developers start seeing ways to write cross-platform Python GUI apps that work much better than before. IronPython also runs faster than CPython in many contexts. Microsoft signs on as a major sponsor for Pycon2008. How do you respond? Kirby [1] http://www.gotdotnet.com/workspaces/License.aspx?id=ad7acff7-ab1e-4bcb-99c0- 57ac5a3a9742 From ajsiegel at optonline.net Sun Oct 30 20:04:01 2005 From: ajsiegel at optonline.net (Arthur) Date: Sun, 30 Oct 2005 14:04:01 -0500 Subject: [Edu-sig] Python as Application In-Reply-To: <0IP600GJDNJGR8X0@mta29.srv.hcvlny.cv.net> Message-ID: <000001c5dd84$b231d900$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > Sent: Sunday, October 30, 2005 12:07 PM > To: 'Arthur'; edu-sig at python.org > Subject: RE: [Edu-sig] Python as Application > > "big issues". > > Scenario: > > Microsoft realizes IronPython has great potential for recruiting future > knowledge workers to the .NET development platform and launches an > advertising campaign to that effect, focusing on a few showcase high > schools > and colleges that have incorporated IronPython into their curricula, > thanks > to generous grants from Microsoft for teacher training at Microsoft > University. No. Absolutely not. Bad. Bad. Our schools are not "worker training" institutions. Never have been - overtly. They are educational institutions. Knowledge transfer of the kind that is appropriate to high school is by its nature more generic and general than then anything the .Net platform is about. We are in fundamental disagreement about what is and is not appropriate - and all we are doing is flushing out the fact that our disagreement is fundamental, rather than rhetorical. Except that you got $100 million to play with that "we" don't. "We" need to look for a way to disarm you - so as to be in a position to have a competition of ideas on the merits. And if that means going to find a way to get to the Feds, or the Teachers Union or the UN to kvetch about how the game is being played and why the game played in that way is not in anyone's interest - well I am expecting that is what things will come to in the next five years or so, unless enough people are successfully lulled into passivity by the "tsunami" argument - and reconcile themselves that tsunamis have become good. > Microsoft signs on as a major sponsor for Pycon2008. Google, I know, sponsored Alex Martelli's appearance at a Linux Users event this week in New York. Wonderful for Python, and wonderfully appropriate in any case. But I am a schoolmarm, when it comes to schools. The entire point of my relentless efforts to reach you is that what is appropriate in Industry and the Market Place is not what is appropriate in the context of education and schooling. And making great headway in my efforts to be convincing, I sense ;) Art From urnerk at qwest.net Sun Oct 30 21:47:02 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 30 Oct 2005 12:47:02 -0800 Subject: [Edu-sig] Python as Application In-Reply-To: <000001c5dd84$b231d900$1702a8c0@BasementDell> Message-ID: <20051030204703.4D18C1E4009@bag.python.org> > We are in fundamental disagreement about what is and is not appropriate - > and all we are doing is flushing out the fact that our disagreement is > fundamental, rather than rhetorical. Note that I didn't say anything approving about the scenario I sketched. My goal was to provide some fairly realistic science fiction to keep our discussion concrete and Python focused. In actual fact, Texas Instruments (TI) has a pretty strong grip in K-12 in the USA these days, and in community colleges. Many teachers require that students have a calculator, and they specify the brand, because that's what's used in the course materials. There's no such thing as a generic, no-brand calculator. It'll be either TI, Sharp, Casio... Should these devices be banned from math and science classes? > > Microsoft signs on as a major sponsor for Pycon2008. > > Google, I know, sponsored Alex Martelli's appearance at a Linux Users > event this week in New York. > I notice Google's share price is doing wonderfully of late. That company has some serious capital. > Wonderful for Python, and wonderfully appropriate in any case. > > But I am a schoolmarm, when it comes to schools. The entire point of my > relentless efforts to reach you is that what is appropriate in Industry > and the Market Place is not what is appropriate in the context of > education and schooling. So is it OK with you if I share Google Earth with 8th graders in a public school next month? I intend to do precisely that, in a curriculum segment about latitude and longitude, GIS and GPS, and as a lead-in to Python. We'll be using that latitude/longitude data structure I just posted, or something like it. I shared Microsoft's Terraserver with Saturday Academy high school aged kids at Oregon Graduate Institute last time I taught Python and mathematics. We zoomed in on the campus, then I let the kids go looking for their own homes and haunts. One student mentioned he thought Keyhole was better (a team Google teamed up with). What a wonderful way to start seeing the whole earth and one's place upon it (a curriculum goal -- not a new one). I use a spherical earth to set the stage for systems thinking (per my Fuller School: systems connect around in all circumferential directions). > And making great headway in my efforts to be convincing, I sense ;) > > Art I think you're in a bind: 1. For students to think more like computer scientists, engineers, mathematicians, what have you, they need to get a feel for the tools, not just the concepts (in fact, there's no wall separating the two). 2. Private industry is a major source for these tools (as well as concepts). 3. Ergo: we can't pass on our culture without using commercial products. But how new is this, really? Is it a new thing for marketers to cultivate brand loyalty among faculty and students around school supplies, including text books? Isn't education, like health care, a huge business, with lots of vendors? I say it's important to provide students with choices, alternatives, access to competing world views and information. Critical thinking is key. Don't take everything they tell you on faith. Question authority. Think for yourself. Learn how to learn. Use the library. Study for the fun of it. Indulge your curiosity. Students should take an active role in selecting what they want to expose themselves to. They should remain open to new experience. Overspecialization is debilitating. But there's just no way to stop recruiting in general. I see the fact of competing ideologies, religious, political and so on, as a permanent feature of human existence. Cultures have a natural desire to propagate, and education is a principal means for doing that. Nor do I see evidence of some simple rule that those with the most money inevitably win the most recruits. It ain't that easy. Kirby From ajsiegel at optonline.net Sun Oct 30 23:57:07 2005 From: ajsiegel at optonline.net (Arthur) Date: Sun, 30 Oct 2005 17:57:07 -0500 Subject: [Edu-sig] Python as Application In-Reply-To: <0IP600HWDXQERLR2@mta14.srv.hcvlny.cv.net> Message-ID: <000001c5dda5$419b3440$1702a8c0@BasementDell> > -----Original Message----- > From: Kirby Urner [mailto:urnerk at qwest.net] > Sent: Sunday, October 30, 2005 3:47 PM > To: 'Arthur'; edu-sig at python.org > Subject: RE: [Edu-sig] Python as Application > I notice Google's share price is doing wonderfully of late. That company > has some serious capital. I can't say I understand the business model very well. But they seem to be spending their money wisely - on Python expertise ;). Alex's trip to NY - according to public information - was focused on recruiting for Google, as well as passing on some of his perspective on the Python object model. Worth mentioning here as it might help educators help their colleagues understand they are not leading the more practically minded astray in suggesting that Python has s real place in the curriculum. Google is clearly becoming a very major force, and, clearly, Python is part of their strategy. With these developments at Google, PyPy moving toward realization, Python being distributed with the Apple operating system, ubuntu becoming a major force as a Linux distribution - short Microsoft, go long on Python. Python on .Net I happen not to see as anything very significant - despite being a big fan of Jim Huginin's prior efforts (and suspecting that he is scary smart). Not surprised, for example, to find on a quick check that the IronPython mailing list is pretty quiet. I can see Python becoming an option on .Net, but would be surprised to see it become a real good option, except in limited circumstances. Which is more a reflection on .Net than on Python. Art From urnerk at qwest.net Mon Oct 31 01:49:23 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 30 Oct 2005 16:49:23 -0800 Subject: [Edu-sig] Python as Application In-Reply-To: <000001c5dda5$419b3440$1702a8c0@BasementDell> Message-ID: <20051031004928.2509F1E4009@bag.python.org> > I can see Python becoming an option on .Net, but would be surprised to see > it become a real good option, except in limited circumstances. Which is > more a reflection on .Net than on Python. > > Art I expect you'll be proved wrong on this prediction, especially if Mono, backed by Novell, keeps pace in parallel. Kirby From chuck at freshsources.com Mon Oct 31 02:42:47 2005 From: chuck at freshsources.com (Chuck Allison) Date: Sun, 30 Oct 2005 18:42:47 -0700 Subject: [Edu-sig] Python as Application In-Reply-To: <000001c5dd84$b231d900$1702a8c0@BasementDell> References: <0IP600GJDNJGR8X0@mta29.srv.hcvlny.cv.net> <000001c5dd84$b231d900$1702a8c0@BasementDell> Message-ID: <76205685.20051030184247@freshsources.com> Hello Arthur, Sunday, October 30, 2005, 12:04:01 PM, you wrote: A> Our schools are not "worker training" institutions. Never have been - A> overtly. They are educational institutions. Knowledge transfer of the kind A> that is appropriate to high school is by its nature more generic and general A> than then anything the .Net platform is about. A> But I am a schoolmarm, when it comes to schools. The entire point of my A> relentless efforts to reach you is that what is appropriate in Industry and A> the Market Place is not what is appropriate in the context of education and A> schooling. A> And making great headway in my efforts to be convincing, I sense ;) I feel a need to weigh in here, even before reading any further responses in this thread. I agree very strongly with Arthur's statements. I think it's okay for a company to give donations to education, provided no strings are attached, but I would be happier if there were no need for such grants in the first place. Education, especially prior to the junior year of college, is about developing generalists. We need more wide-world-view thinkers everywhere. I didn't realize how strongly I felt about this until I visited a Microsoft/IBM sponsored "university" in Salt Lake a year ago February. They give students a B.S. in CS after 2.5 years of close to full-time work (and charge an arm and a leg to do it). They prepare people tailor-trained for Microsoft and IBM. I left thinking how much they miss of a well-balanced, liberal arts flavor education that is appropriate for a baccalaureate, even a traditional one in CS. They skimp so much on non-technical subjects that it's criminal, in my opinion. I'm a dyed-in-the-wool software developer (20+ years of industrial experience), but I would never trade my broad undergraduate experience for anything (I took so many extra non-technical courses that it took me 5 years - I had 160 semester hours on my transcript). It's so important that we don't throw growing minds in to a technical tunnel. Of course, from were I sit, few want to go into technical pursuits anyway :-(. -- Best regards, Chuck From chuck at freshsources.com Mon Oct 31 02:47:46 2005 From: chuck at freshsources.com (Chuck Allison) Date: Sun, 30 Oct 2005 18:47:46 -0700 Subject: [Edu-sig] Python as Application In-Reply-To: <76205685.20051030184247@freshsources.com> References: <0IP600GJDNJGR8X0@mta29.srv.hcvlny.cv.net> <000001c5dd84$b231d900$1702a8c0@BasementDell> <76205685.20051030184247@freshsources.com> Message-ID: <92192271.20051030184746@freshsources.com> Sunday, October 30, 2005, 6:42:47 PM, I wrote: Please let me clarify that in my comments below, I don't mean that CS students shouldn't be trained in CS! (Good grief, I'm now a CS professor!). But they shouldn't get short shrift on everything else as they do in the "school" I refer to below. It sounds too Orwellian to me. CA> I feel a need to weigh in here, even before reading any further responses in CA> this thread. CA> I agree very strongly with Arthur's statements. I think it's okay for CA> a company to give donations to education, provided no strings are CA> attached, but I would be happier if there were no need for such grants CA> in the first place. Education, especially prior to the junior year of CA> college, is about developing generalists. We need more wide-world-view CA> thinkers everywhere. CA> I didn't realize how strongly I felt about this until I visited a CA> Microsoft/IBM sponsored "university" in Salt Lake a year ago February. CA> They give students a B.S. in CS after 2.5 years of close to full-time CA> work (and charge an arm and a leg to do it). They prepare people CA> tailor-trained for Microsoft and IBM. I left thinking how much they CA> miss of a well-balanced, liberal arts flavor education that is CA> appropriate for a baccalaureate, even a traditional one in CS. They CA> skimp so much on non-technical subjects that it's criminal, in my CA> opinion. I'm a dyed-in-the-wool software developer (20+ years of CA> industrial experience), but I would never trade my broad undergraduate CA> experience for anything (I took so many extra non-technical courses CA> that it took me 5 years - I had 160 semester hours on my transcript). CA> It's so important that we don't throw growing minds in to a technical CA> tunnel. CA> Of course, from were I sit, few want to go into technical pursuits CA> anyway :-(. -- Best regards, Chuck From urnerk at qwest.net Mon Oct 31 06:22:58 2005 From: urnerk at qwest.net (Kirby Urner) Date: Sun, 30 Oct 2005 21:22:58 -0800 Subject: [Edu-sig] Python as Application In-Reply-To: <76205685.20051030184247@freshsources.com> Message-ID: <20051031052259.C1CE91E4009@bag.python.org> > They prepare people tailor-trained for Microsoft and IBM. <> > It's so important that we don't throw growing minds in to a technical > tunnel. > To take a different point of view: If a person *wants* a narrow, specialized training, very vocational, precisely to be attractive to a Microsoft or IBM, and to pay for the privilege, is it wrong to make that opportunity available, perhaps somewhere in Utah? Like, maybe the enrollee already has a degree in French literature, plays the flute, but wants the security of a well paying job. OK, an unlikely scenario. I'm a liberal arts guy too and wouldn't recommend a mind-numbing strait-jacketing course of study to others. But should I forbid them the option? Real freedom to choose means we don't choose for them. Plus I think higher ups in Microsoft or IBM know it's perilous to hire only a few types of worker thereby turning themselves into conformist mono-cultures, armies of clones. That's a recipe for disaster over the long haul. And what if they *don't* know that? OK then, they'll stop being relevant in due course. Again, it's not for me to choose their fates. Let companies learn from their own mistakes. Students too. And me from mine. Kirby From ajsiegel at optonline.net Mon Oct 31 14:47:02 2005 From: ajsiegel at optonline.net (Arthur) Date: Mon, 31 Oct 2005 08:47:02 -0500 Subject: [Edu-sig] Python as Application In-Reply-To: <000001c5dda5$419b3440$1702a8c0@BasementDell> Message-ID: <000301c5de21$934f9340$1702a8c0@BasementDell> > -----Original Message----- > From: Arthur [mailto:ajsiegel at optonline.net] > Alex's trip to NY - according to public information - was focused on > recruiting for Google, as well as passing on some of his perspective on > the Python object model. Worth mentioning here as it might help > educators >help their colleagues understand > they are not leading the more practically minded astray in suggesting that > Python has s real place in the curriculum. Google is clearly becoming a > very major force, and, clearly, Python is part of their strategy.\ Perhaps worth noting further that I missed the Martelli presentation because when I went to register for it a good week before the event I learned that they were oversubscribed, and registration had been closed. Suspect that is highly unusual for a NY Linux Users event. And the NY Linux Users Group is not of the character that what some might think - their events normally held at IBM's NYC headquarters ... not at an espresso caf? between beatnik poetry readings. ;) >...ubuntu becoming a major force as a Linux distribution - Worth noting that ubuntu has just come out with a companion edubuntu distribution. Haven't explored it yet. I do know I have the goal of getting PyGeo into it at some point - but that would mean getting myself comfortable with PyGeo. Have gotten more than a little neurotic about it I have been futzing with it for the last 2 years and can't say exactly what I have accomplished. Little concrete, but a significant improvements in the maturity of the design in a wide variety of ways. One of the things I *did* do is develop my own kind of test suite - having come to understand the importance of doing so, for a futzer. On the other hand there isn't that there are significant tests being passed now that wouldn't have been passed in an earlier iteration. The tests are there mostly as an assurance that my refactoring does not have me going backward. But offer no particular clue about how to go forward. So, my kneejerk reaction to test based development is some fear that it would lead to a development style that makes passing tests good enough. On the other hand, I don't fully understand the workflow that test based development recommends and where it leads. When I do commercial work I have a pretty good idea where "good enough" is - would the client (who doesn't really understand my process) want to pay for further refinement (if they did understand my process). When I come to a "no" - I stop. It's never that there aren't further refinements that could be accomplished. PyGeo is largely exploratory in nature, and I learn something even from my false starts - so I can't seem to find the "good enough". Ramble... Ramble... Ramble... Art > > short Microsoft, go long on Python. > > Python on .Net I happen not to see as anything very significant - despite > being a big fan of Jim Huginin's prior efforts (and suspecting that he is > scary smart). > > Not surprised, for example, to find on a quick check that the IronPython > mailing list is pretty quiet. > > I can see Python becoming an option on .Net, but would be surprised to see > it become a real good option, except in limited circumstances. Which is > more a reflection on .Net than on Python. > > Art > > > From ajsiegel at optonline.net Mon Oct 31 15:17:09 2005 From: ajsiegel at optonline.net (Arthur) Date: Mon, 31 Oct 2005 09:17:09 -0500 Subject: [Edu-sig] Python as Application In-Reply-To: <76205685.20051030184247@freshsources.com> Message-ID: <000001c5de25$c87f4f70$1702a8c0@BasementDell> > -----Original Message----- > From: Chuck Allison [mailto:chuck at freshsources.com] > > It's so important that we don't throw growing minds in to a technical > tunnel. > > Of course, from were I sit, few want to go into technical pursuits > anyway :-(. Yeah. But it does bring to mind a point I tried to make earlier - that there seems to be no "road back" to anything technical for those who spend their undergraduate years in general exploratory mode. A point of sensitivity to myself since my undergraduate degree is in Literature - not that I was even a serious student of literature, but one had to major. Law school, Business school were options when deciding to resume my studies. There were no options, other than picking things up at the undergraduate level again, if I wanted to go into something more technical. The barrier being more "psychological" - a sense of having to start over. I, for one, couldn't adjust to that. But in getting my MBA I was nonetheless covering a lot of territory on a graduate level, that others - more directed toward business related studies earlier - had covered as undergraduates. An MBA is a bit of a "gimmick" in that respect - but an effective gimmick. I had not too long ago explored what it might take to get a graduate level degree in mathematics. It was within the realm of possibility only because my PyGeo adventures had led me to developing a relationship with the head of the math department at a technical college. He seemed willing to work with me - but in the end it seemed unrealistic on a number of fronts. Art From chuck at freshsources.com Mon Oct 31 20:40:46 2005 From: chuck at freshsources.com (Chuck Allison) Date: Mon, 31 Oct 2005 12:40:46 -0700 Subject: [Edu-sig] Python as Application In-Reply-To: <76205685.20051030184247@freshsources.com> References: <76205685.20051030184247@freshsources.com> Message-ID: <483798444.20051031124046@freshsources.com> Hello Kirby, Sunday, October 30, 2005, 10:22:58 PM, you wrote: >> They prepare people tailor-trained for Microsoft and IBM. KU> <> >> It's so important that we don't throw growing minds in to a technical >> tunnel. >> KU> To take a different point of view: KU> If a person *wants* a narrow, specialized training, very vocational, KU> precisely to be attractive to a Microsoft or IBM, and to pay for the KU> privilege, is it wrong to make that opportunity available, perhaps somewhere KU> in Utah? That's fine, but call a spade a spade. I don't like seeing technical programs masquerading as bachelor's degrees. We have plenty of technical colleges people can go to for that sort of thing. It's the deception I object to. -- Best regards, Chuck