From echerlin at gmail.com Thu Oct 1 02:21:46 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Wed, 30 Sep 2009 17:21:46 -0700 Subject: [Edu-sig] Geometries, irrationals (was Re: thought re graphing calculators ...) Message-ID: >>> Could we develop a geometry which does not depend on the metaphysics >>> of real numbers, continuity, infinity? ?Or still have infinity, but >>> make it more like Poincare's, a direction (like a time axis). >> >> There are vast realms of such geometries, going back to projective >> geometries over finite fields and the like, and to general topology. >> Lie groups (including the one-point compactification of the complex >> plane) and Lie algebras. Banach spaces. Measure theory. Spaces of >> fractal dimension. Minkowski space. Differential geometry of >> Einsteinian spacetime. Non-commutative geometries in quantum mechanics >> (von Neumann algebras over Hilbert space). Many more. > > A feature we're looking for is "accessible to grade schoolers" i.e. we > don't want you already out the other end of some lengthy pipeline > wherein brainwashing has already occurred. Spherical geometry. The trig gets a bit complicated, but even in kindergarten children can see that an octant of a sphere is a triangle with three right angles. As long as you don't bring in the big words. > I understand that some > elite schools get into jiggering with the fifth postulate (Euclid's) > even pre-college, That's doing it the hard way. > > > Resolved: ?"Irrational numbers are of course morally superior to the > rationals as all the best constants (e, phi, pi) are irrational, even > transcendental if we're lucky." I'll see your e, phi, and pi, and raise you 0, 1, -1, and i. e^i*pi + 1 = 0 Die ganzen Zahlen hat der liebe Gott gemacht, alles andere ist Menschenwerk. The integers were made by God. All else is the work of man.--Kronecker > Pro, con or stand aside? ?Come prepared next Tuesday. > > >>> Kirby > > Or you could say Phi (golden mean) is the Phirst Phractal (certainly > the recursivity is there in the algebra). > > Kirby Urner > ?????? ??ss > >> >> -- >> Edward Mokurai (??/???????????????/????????????? ?) Cherlin >> Silent Thunder is my name, and Children are my nation. >> The Cosmos is my dwelling place, the Truth my destination. >> http://earthtreasury.org/ >> > -- Edward Mokurai (??/???????????????/????????????? ?) Cherlin Silent Thunder is my name, and Children are my nation. The Cosmos is my dwelling place, the Truth my destination. http://earthtreasury.org/ From echerlin at gmail.com Thu Oct 1 02:39:02 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Wed, 30 Sep 2009 17:39:02 -0700 Subject: [Edu-sig] thought re graphing calculators ... In-Reply-To: References: <4AC11CF5.1080305@aon.at> Message-ID: On Wed, Sep 30, 2009 at 3:04 AM, Brian Blais wrote: > On Sep 28, 2009, at 16:30 , Gregor Lingl wrote: > > Brian Blais schrieb: > > ?However, as I think > about it, I can not think of a single problem where I *needed* the > graphic calculator, or where it gave me more insight than I could do > by hand. > > I think I have a counterexample. > Run the script, that you can find here: > http://svn.python.org/view/*checkout*/python/branches/release26-maint/Demo/turtle/tdemo_chaos.py?revision=73559&content-type=text%2Fplain > What do you think? The Logistic Map x-->rx(1-x) for varying values of r is easy to examine on a calculator, but excessive by hand. Feigenbaum discovered its periodicities on a calculator without any graphing capability, but having graphs makes insight much easier, in the same way that the Mandelbrot set was discovered mathematically in the 1920s, but became of major interest only after computers permitted it to be visualized. Of course, with a computer, you can visualize the entire bifurcation diagram in a few seconds. http://en.wikipedia.org/wiki/Logistic_map http://en.wikipedia.org/wiki/Bifurcation_diagram The bifurcation diagram of the logistic map is related to the Mandelbrot set, http://www.math.lsa.umich.edu/mmss/coursesONLINE/chaos/chaos6/index.html and has applications in physics, such as a dripping faucet. -- Edward Mokurai (??/???????????????/????????????? ?) Cherlin Silent Thunder is my name, and Children are my nation. The Cosmos is my dwelling place, the Truth my destination. http://earthtreasury.org/ From kirby.urner at gmail.com Thu Oct 1 19:56:17 2009 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 1 Oct 2009 10:56:17 -0700 Subject: [Edu-sig] Fwd: Geometries, irrationals (was Re: thought re graphing calculators ...) In-Reply-To: References: Message-ID: From: kirby urner Date: Wed, Sep 30, 2009 at 8:00 PM Subject: Re: Geometries, irrationals (was Re: [Edu-sig] thought re graphing calculators ...) To: Edward Cherlin Cc: Gregor Lingl , edu-sig at python.org On Wed, Sep 30, 2009 at 5:21 PM, Edward Cherlin wrote: << trim >> >> A feature we're looking for is "accessible to grade schoolers" i.e. we >> don't want you already out the other end of some lengthy pipeline >> wherein brainwashing has already occurred. > > Spherical geometry. The trig gets a bit complicated, but even in > kindergarten children can see that an octant of a sphere is a triangle > with three right angles. As long as you don't bring in the big words. > Yes, given our geometry - geography tie-in, with GIS/GPS front and center in a lot of course work, it makes sense to return to the good old days. ?Joe Clinton, one of the chief geodesic dome guys out of Carbondale, showed me some old high school text books from before the calculus tsunami. ?Looks like that might be the tough final topic before college. ?And with Python to help... takes the drudgery out of all that omni-triangulation. Caveats apply though, in that there's nothing especially non-Euclidean about a beach ball, unless you zoom out to show that these "infinite planes" these Euclid folks scribed on, proving their theorems, were only locally flat, took advantage of the relatively small size of humans relative to Planet Earth. ?Once you start defining infinite planes out of your geometry, then you're actually reality checking creaky old greek metaphysics, which is what I'm suggesting we *should* be doing. There's room for a math without continua. ?There's room for a math closer to following Karl Menger's suggestion that we just think of points, lines and planes as finite blobs, in a geometry of blobs, no distinction as to dimension, more topological in some ways, as this same blob of dough stretches to become this that or the other (it's a cloud of points though, not a continuum, with no ultimate resolution to anything more primitive (than blobs, always more subdivisible)). It's not like we need to start over from scratch to scrounge together a geometry of this nature, accessible to children. ?The work is already done, and has many more features and practical applications to boast of, including those geodesic domes I mentioned. http://worldgame.blogspot.com/2009/09/random-posting.html >> I understand that some >> elite schools get into jiggering with the fifth postulate (Euclid's) >> even pre-college, > > That's doing it the hard way. > >> >> >> Resolved: ?"Irrational numbers are of course morally superior to the >> rationals as all the best constants (e, phi, pi) are irrational, even >> transcendental if we're lucky." > > I'll see your e, phi, and pi, and raise you 0, 1, -1, and i. > > e^i*pi + 1 = 0 > > Die ganzen Zahlen hat der liebe Gott gemacht, alles andere ist Menschenwerk. > > The integers were made by God. All else is the work of man.--Kronecker > Kronecker had a big problem with Cantor throwing in all those monkey wrenches. Whereas people glommed on to Cantor's inventions around infinity, fewer are aware of Cantor's polemics against established dimension concepts. Did Menger comment on Cantor's thinking on this topic? ?I have no idea. The fact that we have a whole branch with defined fractional dimensions proves this language is tractable (amenable to innovation). ?What we want students to appreciate is that maths is something of a playground, an amusement park, not some oppressive monolith that weighs on one and drags one under, like some dead albatross around one's neck. Kirby >> Pro, con or stand aside? ?Come prepared next Tuesday. >> >> > >>>> Kirby >> >> Or you could say Phi (golden mean) is the Phirst Phractal (certainly >> the recursivity is there in the algebra). >> >> Kirby Urner >> ?????? ??ss >> >>> >>> -- >>> Edward Mokurai (??/???????????????/????????????? ?) Cherlin >>> Silent Thunder is my name, and Children are my nation. >>> The Cosmos is my dwelling place, the Truth my destination. >>> http://earthtreasury.org/ >>> >> > > > > -- > Edward Mokurai (??/???????????????/????????????? ?) Cherlin > Silent Thunder is my name, and Children are my nation. > The Cosmos is my dwelling place, the Truth my destination. > http://earthtreasury.org/ > From lac at openend.se Mon Oct 5 18:10:16 2009 From: lac at openend.se (Laura Creighton) Date: Mon, 05 Oct 2009 18:10:16 +0200 Subject: [Edu-sig] Elevator Demo for Python In-Reply-To: Message from Phil Wagner of "Mon, 10 Aug 2009 18:58:10 CDT." References: Message-ID: <200910051610.n95GAGr8017447@theraft.openend.se> In a message of Mon, 10 Aug 2009 18:58:10 CDT, Phil Wagner writes: >--===============1754152315== >Content-Type: multipart/alternative; boundary=001485f80f0aa9546d0470d25bc >3 > >--001485f80f0aa9546d0470d25bc3 >Content-Type: text/plain; charset=ISO-8859-1 >Content-Transfer-Encoding: 7bit > >Often I am asked for a quick demonstration about the power of Python, >sometimes for people with no computer science background. . What can I s >how >them that doesn't take too much time but gets the point across that Pytho >n >is a good fit for math/education? > > Phil list comprehensions are the single thing that 'do it' for people around here. Laura From roberto03 at gmail.com Mon Oct 5 20:24:17 2009 From: roberto03 at gmail.com (roberto) Date: Mon, 5 Oct 2009 20:24:17 +0200 Subject: [Edu-sig] help and suggestions Message-ID: <4bcde3e10910051124u4e192aa0n5bb2071b850fb3be@mail.gmail.com> Hello, this post is a request of a mix of: your help (one half) your scientific experience (one half) i plan to ground my math teaching experience on an inquiry based approach to learning (i think you know definitely better than me what it is). My first inspiration on this topic came the way back in 1994, when i was a high school student and i came accross to Polya approach to math education. (This is the request for your experience) Is there anyone there who is using it in his/her classroom ? Also, i want to support this way of working with extensive programming activities, mainly based on python and python-grounded tools. (This is the request for help) Now, the point is that tons of materials do exist and i do not know how to choose the most reliable and scientifically supported. Is there anyone who can point me to documents, guidelines or whatever resource which implement this way of teaching/learning math ? I thank you very much, again. -- roberto From kirby.urner at gmail.com Mon Oct 5 20:09:09 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 5 Oct 2009 11:09:09 -0700 Subject: [Edu-sig] poking some dying logs... In-Reply-To: <48AAF0D003D67944931DDDC72D022F1218EA6D46@exchangedb.wfo.linfield.edu> References: <48AAF0D003D67944931DDDC72D022F1218EA6D46@exchangedb.wfo.linfield.edu> Message-ID: On Mon, Aug 3, 2009 at 8:11 AM, Daniel Ford wrote: > I met Maria Litvin at SIGCSE 2008 where she gave a very introductory workshop on Python and math based on this book. She is the coach of the high school programming team at Phillips Academy. She introduced me to JavaBat.com and was trying to persuade Nick Parlante and Stuart Reges to translate JavaBat and "Building Java Programs A Back to Basics Approach" respectively into Python. She was very approachable and can be reached via http://www.andover.edu/Academics/Mathematics/Faculty/Pages/MathematicsFaculty.aspx. > > Daniel Ford > Linfield College > Good hearing from Linfield, thanks for writing. Our own Chris Brooks waved the Litvins text (paperback copy) at our planning meeting on Aug 7 of this year, Sherwood High School. I attended, with associate Lindsey Walker, from our Portland-based think tank at Linus Pauling property on SE 40st and Hawthorne (three-building campus with back parking lot, see Google Earth for more info). I've promoted this text a lot in this archive, nudging for a listing on the official Edu-SIG home page @ Python.org and was gratified to finally see that change, notified Chris of our Silicon Forest small victory (one small step for Python, one big step for more programming in mathematics classrooms). My own curriculum writing complements the Litvins quite a bit. I think we'll want to do more with the Decimal type and extended precision in general, given the focus on RSA. I've been spelling out this program on the Diversity list in more detail, given my interest in pilots around Southeast Asia, in connection with the upcoming ap.pycon. It's the convergent sequence and series stuff that grabs me the most, along with the chaos stuff more like Gregor was showing us in the last week or so. I look forward to continuing to promote the Litvins books as a valuable resource. I also like the Sandes one and its work the PyGame. We haven't seen a strong VPython text yet, though it has a strong web presence, thanks in part to my stickworks stuff. I count on Turtle Graphics and Turtle Art staying strong, both in 2D and 3D versions. Kirby Planning meeting, Aug 7, 2009 (more in this archive): http://worldgame.blogspot.com/2009/08/education-planning.html Meeting with Chris Brooks @ Bagdad > -----Original Message----- > From: edu-sig-bounces+ford=linfield.edu at python.org [mailto:edu-sig-bounces+ford=linfield.edu at python.org] On Behalf Of Edward Cherlin > Sent: Sunday, August 02, 2009 11:06 AM > To: kirby urner > Cc: edu-sig at python.org > Subject: Re: [Edu-sig] poking some dying logs... > > On Fri, Jul 31, 2009 at 4:36 PM, kirby urner wrote: >> I'd like to make another plug for including this title on the edu-sig home page: >> >> http://www.skylit.com/mathandpython.html >> >> Ian thought it was too much a hybrid of CS and math, not an elegant >> amalgamation, though I don't have has remarks in front of me at the >> moment. ?Steve was gonna get back to us. ?Andre thought he might work >> it onto the page... > > I like the concept but not the execution. The student doesn't find out > what properties of various data structures and mathematical objects > are fundamental. There is too much of the old style of telling > students what to learn, and neither explaining why nor allowing > students to discover. I find it annoying that the book gives complex > number examples, but shies away from actually using complex > arithmetic. Far more CS could be introduced at the level of the math > being used. > > The book uses Python, but none of the very capable math software > available beyond graphing calculators. I prefer Ken Iverson's > approach, in which he taught how to write programs to do algebraic > manipulations and symbolic differentiation. > > Does anybody know these authors? Can we engage them in a process to > improve what they have done? > > ? ? ? ? ? ? ? ? ? ? ? ? ?Maria Litvin > Phillips Academy, Andover, Massachusetts > ? ? ? ? ? ? ? ? ? ? ? ? ?Gary Litvin > ? ? ? ? ? ? ? ? ? ?Skylight Software, Inc. > > >> That was all months ago by now, so it make sense to raise the issue >> again, as the title does break new ground in some ways, has claim to >> being a math teaching book, yet uses a computer language (one most of >> us know). >> >> 'Concrete Mathematics' and 'The Art of Computer Programming' are both >> math books of course, amenable to a "through programming" approach. >> Jsoftware folks implemented the former in J, whereas the latter is in >> MMX already. >> >> Another hot button issue in Portland these days is whether families >> have the right to demand a PDF version of any assigned textbook, >> versus a hardcopy edition. ?We have lots of tree huggers around here, >> worried about "green" and unsustainability. ?To quote one of my >> colleagues (from her blog): >> >> "We need the text book companies to print thousands of copies of new >> textbooks every year, not so the authors can make money, though they >> make a little, but so the companies can make money... Do some central >> planning, and if the government can't do that without going through >> corporations, then it is time to [do it ourselves]". >> >> Anyway, just wanted to re-raise that as well. >> >> I mostly do my computer / technical reading on Safari, have no problem >> with recycling already printed books, have no problem with small press >> runs. ?But I can see where truck loads of spanking new 400 page math >> books, hot off the press, none containing any computer programming to >> speak of, let alone Mites, Sytes or Kites (honeycomb stuff, important >> to gnu-bees), would provoke a crisis in conscience for our more >> ethical. >> >> This is the kind of thing 15 year olds talk about. ?They're suspicious >> of adults who can't follow their logic (about saving trees), >> undermines adult authority to not have a response. ?So do we all favor >> an "opt out" option for hard copy textbooks? ?Say aye? ?Say nay? >> >> Kirby >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig at python.org >> http://mail.python.org/mailman/listinfo/edu-sig >> > > > > -- > Silent Thunder (??/???????????????/????????????? ?) is my name > And Children are my nation. > The Cosmos is my dwelling place, The Truth my destination. > http://earthtreasury.org/worknet (Edward Mokurai Cherlin) > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From kirby.urner at gmail.com Mon Oct 5 20:13:17 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 5 Oct 2009 11:13:17 -0700 Subject: [Edu-sig] Crunchy and Sphinx? In-Reply-To: <7528bcdd0906221218l69de7c38o48c6314974fdeeab@mail.gmail.com> References: <37fa1dfb0906221153x80fc8cpb8a4f270d7a4aa31@mail.gmail.com> <7528bcdd0906221218l69de7c38o48c6314974fdeeab@mail.gmail.com> Message-ID: I have high regard for Crunchy Frog, another Monty Python allusion (I make sure kids learn). I also met a music band recently by that name, includes didgeridoo playing. Perhaps we'll see some YouTube commercials for this free product soon? I encourage open source developers to create demand for their products just like car companies do (whiskey companies etc.), not so much to generate profit (the product is free after all) but to motivate geeks to participate and contribute, as field testers and power users at first, some graduating to become core committers if passionate and skilled enough. So more like the army maybe, in terms of what the commercials accomplish. Kirby 4D From echerlin at gmail.com Mon Oct 5 22:24:17 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Mon, 5 Oct 2009 13:24:17 -0700 Subject: [Edu-sig] Elevator Demo for Python In-Reply-To: References: Message-ID: On Mon, Aug 10, 2009 at 4:58 PM, Phil Wagner wrote: > Often I am asked for a quick demonstration about the power of Python, > sometimes for people with no computer science background. What can I show > them that doesn't take too much time but gets the point across that Python > is a good fit for math/education? The two Python-programmable tiles in Turtle Art, one for expressions, and one for arbitrary programs that can be created and tested in Pippy. http://wiki.sugarlabs.org/go/Activities/Turtle_Art#Programmable_Brick http://tonyforster.blogspot.com/2009/02/using-python-blocks-in-turtleart.html I just gave a presentation on this and Pippy to a group of children, parents, and teachers at Silicon Valley Code Camp. I need to write an article on all of this with math, physics, and Computer Science examples, and share it here. For example, I have a graphing program in TA, where users can change the function in the Python tile, and if necessary the ranges, and graph any function. We can work up from there through the Pippy examples, Sugar Activity source code, and on up to NumPy and SciPy. Of course, we can do much the same with Smalltalk, Logo/LISP, APL/J, and other languages that provide decent numeric capabilities (built-in or through libraries), and also sufficiently flexible data structures. I leave the argument about which is Best to others. My notion is that all children should be exposed to at least three or four languages of radically different kinds. I would prefer not to raise another generation of programmers with nothing in their toolboxes other than a single hammer, no matter how big. %-[ "I invented Object-Oriented Programming, and C++ is not what I had in mind."--Alan Kay "The best way to predict the future is to prevent it."--Alan Kay > ?Phil > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > -- Edward Mokurai (??/???????????????/????????????? ?) Cherlin Silent Thunder is my name, and Children are my nation. The Cosmos is my dwelling place, the Truth my destination. http://earthtreasury.org/ From kirby.urner at gmail.com Mon Oct 5 23:36:11 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 5 Oct 2009 14:36:11 -0700 Subject: [Edu-sig] Elevator Demo for Python In-Reply-To: References: Message-ID: Me: > Also, J is significantly different from APL, just just in terms of > using ASCII instead of those non-Latin-1 operators, however once again > the family grouping is correct. > "not just in terms of" ... here's a link to that paper Iverson helped me with: http://www.4dsolutions.net/ocn/Jlang.html Kenneth Iversion is also given prominent focus in my Pycon 2009 Blip TV presentation, for which the following handout was developed: http://www.4dsolutions.net/presentations/p4t_notes.pdf (handout) http://worldgame.blogspot.com/search?q=Urner-Holden (Blip TV) Kirby From kirby.urner at gmail.com Mon Oct 5 23:31:38 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 5 Oct 2009 14:31:38 -0700 Subject: [Edu-sig] Elevator Demo for Python In-Reply-To: References: Message-ID: On Mon, Oct 5, 2009 at 1:24 PM, Edward Cherlin wrote: > On Mon, Aug 10, 2009 at 4:58 PM, Phil Wagner wrote: >> Often I am asked for a quick demonstration about the power of Python, >> sometimes for people with no computer science background. What can I show >> them that doesn't take too much time but gets the point across that Python >> is a good fit for math/education? > > The two Python-programmable tiles in Turtle Art, one for expressions, > and one for arbitrary programs that can be created and tested in > Pippy. > For those who might not know: Pippy is akin to IDLE but designed to run with Sugar, the OLPC OS developed for the XO, an esoteric piece of machinery that's a rarity in the Lower48, not to mention elsewhere in the world. I have a lending library with two of them. I mostly won't lend them to anyone over 10-12 in age as when it comes to One Laptop per Child, adults take a back seat. > http://wiki.sugarlabs.org/go/Activities/Turtle_Art#Programmable_Brick > http://tonyforster.blogspot.com/2009/02/using-python-blocks-in-turtleart.html > > I just gave a presentation on this and Pippy to a group of children, > parents, and teachers at Silicon Valley Code Camp. > > I need to write an article on all of this with math, physics, and > Computer Science examples, and share it here. For example, I have a > graphing program in TA, where users can change the function in the > Python tile, and if necessary the ranges, and graph any function. We > can work up from there through the Pippy examples, Sugar Activity > source code, and on up to NumPy and SciPy. > > Of course, we can do much the same with Smalltalk, Logo/LISP, APL/J, > and other languages that provide decent numeric capabilities (built-in > or through libraries), and also sufficiently flexible data structures. > I leave the argument about which is Best to others. My notion is that > all children should be exposed to at least three or four languages of > radically different kinds. I would prefer not to raise another > generation of programmers with nothing in their toolboxes other than a > single hammer, no matter how big. %-[ > Although Logo/LISP is a correct grouping by language family, Logo is a far cry from a full implementation of LISP. Also, J is significantly different from APL, just just in terms of using ASCII instead of those non-Latin-1 operators, however once again the family grouping is correct. I have a paper on J at my website that the late Kenneth Iverson helped me with, in terms of catching a few errors. I favor J as my other language besides Python, buying into the premise that we want a minimum of two languages for projecting around the campfire (girl scouts or whatever -- boys too sometimes). > "I invented Object-Oriented Programming, and C++ is not what I had in > mind."--Alan Kay > Good thing we have C++ though, with Python bindings ala Boost. http://www.boost.org/doc/libs/1_40_0/libs/python/doc/index.html > "The best way to predict the future is to prevent it."--Alan Kay > Good thing Alan failed to prevent C++. He'd probably never have come up with C# either. I enjoyed meeting Alan for 2.5 days, with plenty of breaks, well treated by The Shuttleworth Foundation, me more as Guido's side kick. I also came via having given a talk to London Knowledge Lab (LKL), whereas Guido had recently been a guest of Goldman & Sachs I think it was (adding a decimal type made Python more usable in the financial world where the IEEE floating point standard isn't insufficient for serious accounting work). Some of the tidbits I learned about Alan: (a) he had a healthy respect for JavaScript, and that focus has proved prescient, as I mention in my blog. I also dig up this paragraph, perhaps no longer as true as it once was (posted April13, 2007)? """ Alan Kay of Smalltalk fame, friend of Seymour Papert of Logo, champion of One Laptop per Child (OLPC) has become our new keynote speaker (EuroPython by transmission) and provider of new hope to many a would be Python learner. That's right, Alan has adopted Python as his new pet language, or so he told us at the Shuttleworth Summit in London last April, hosted by Mark (Shuttleworth) in hopes of taking what's right about the CP4E dream, and adapting it for his home country of South Africa where it became the Kusasa Project (kusasa.org). """ (b) It was more the immersive environment than any specific implementation that drew his focus and attention i.e. he wasn't ideologically committed to Smalltalk above all languages or anything like that. Kirby >> ?Phil >> >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig at python.org >> http://mail.python.org/mailman/listinfo/edu-sig >> >> > > > > -- > Edward Mokurai (??/???????????????/????????????? ?) Cherlin > Silent Thunder is my name, and Children are my nation. > The Cosmos is my dwelling place, the Truth my destination. > http://earthtreasury.org/ > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From kirby.urner at gmail.com Mon Oct 5 19:45:24 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 5 Oct 2009 10:45:24 -0700 Subject: [Edu-sig] Slope Art In-Reply-To: References: Message-ID: Yes sir, good use of gcurve to keep it simple (don't need much VPython code). In my stickworks.py, I get only Vectors and Edges (vector pairs) at the end of the day, so when it comes to plotting, I'm drawing the individual edges between plotting points (what gcurve is doing under the hood) and so expose at that code in the context of a "__ribs__ first" approach (= "ObjectsFirst [tm]"). In general, I like using a "3D" graphical engine for all my "2D" work, as that gives you the freedom to rotate the camera position. POV-Ray and x3d (= VRML + XML) would be another two formats. Kirby Urner 4Dsolutions.net On Mon, Aug 10, 2009 at 4:48 PM, Phil Wagner wrote: > Here is a protect located for my algebra students involving Python Python I > would appreciate your feedback. > > http://staff.hthcv.hightechhigh.org/~pwagner/Files/Project Files/Slope > Art/SlopeArtProject.html > > Phil > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > From kirby.urner at gmail.com Tue Oct 6 08:08:56 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 5 Oct 2009 23:08:56 -0700 Subject: [Edu-sig] help and suggestions In-Reply-To: <4bcde3e10910051124u4e192aa0n5bb2071b850fb3be@mail.gmail.com> References: <4bcde3e10910051124u4e192aa0n5bb2071b850fb3be@mail.gmail.com> Message-ID: On Mon, Oct 5, 2009 at 11:24 AM, roberto wrote: > Hello, this post is a request of a mix of: > your help (one half) > your scientific experience (one half) > > i plan to ground my math teaching experience on an inquiry based > approach to learning (i think you know definitely better than me what > it is). > > My first inspiration on this topic came the way back in 1994, when i > was a high school student and i came accross to Polya approach to math > education. > > (This is the request for your experience) > Is there anyone there who is using it in his/her classroom ? > Also, i want to support this way of working with extensive programming > activities, mainly based on python and python-grounded tools. > My experience has been to teach a blend of mathematics and Python. However, I also weave in a lot of storytelling including by showing excerpts from DVDs, such as 'Revolution OS', and projecting YouTubes. When talking about Python culture, I immediately mention PEPs and the recent leap from 2.x to 3.x. However I make sure to cover more general topics such as GNU/Linux, gcc, emacs vs. vi (as a religious war), FOSS vs. SCO, other geek lore. This design pattern deviates from standard mathematics which is resolutely ahistorical except in the sidebars i.e. textbooks customarily pack little human interest stories around the edges, but students are rarely responsible for any of this material on tests (that would be considered history after all, not math). How I managed to get away with this radical departure is we have an elite academy with Silicon Forest backing and a soft spot for software development. We also talk a lot about infrastructure such as TCP/IP and the different protocols that make up the Internet, such as NNTP, FTP, SMTP, HTTP etc. What are RFPs? What are the various standards bodies (WWW etc.)? What is Unicode? > (This is the request for help) > Now, the point is that tons of materials do exist and i do not know > how to choose the most reliable and scientifically supported. > Is there anyone who can point me to documents, guidelines or whatever > resource which implement this way of teaching/learning math ? > My recommendation is teachers should have a free hand in experimenting with different solutions and sharing their success stories, as well as their failures, other war stories, on-line. This was the approach we developed in theory during a meeting with Guido, Alan Kay, Mark Shuttleworth, Helen King and other luminaries, education experts etc. I'm pretty sure any group of smart people would have arrived at something similar as it's simply the open source process applied to curriculum writing, making use of our new global telecommunications systems. What's important in developing teacher effectiveness is that we each develop mastery over a suite of tools of pedagogical value and relevance to students. Knowledge of Python is one example, of VPython a more specific example i.e. once you get into Python you have diverse set of libraries and 3rd party modules. There's turtle stuff, Crunchy Frog, the Litvins text, PyGame lit (Sandes)... really, there's a wealth of resources already out there. But as a teacher, you're under no obligation to be stellar or even proficient with every tool. The constructivist approach encourages students to explore into areas beyond the teacher's comfort zone or time constraints (life is short -- that's a constraint). There's no sense of "threatened authority" when students do lightning talks on topics or tools the teacher has not had much opportunity to explore. Encourage students to explore in pairs or small teams. Don't forget Pygeo as a possible resource. Go turtles! Go fractals! PIL is cool. I've used POV-Ray a lot, plan to keep doing that (along with VPython of course). But that's just me, YMMV (your mileage may vary). Kirby > I thank you very much, again. > -- > roberto > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From jurgis.pralgauskis at gmail.com Thu Oct 8 10:01:45 2009 From: jurgis.pralgauskis at gmail.com (Jurgis Pralgauskis) Date: Thu, 8 Oct 2009 11:01:45 +0300 Subject: [Edu-sig] can IDLE editor show line numbers? Message-ID: <34f4097d0910080101w144dbffbide8409fc972e30ad@mail.gmail.com> hello, would be usefull thing as when I get error it is easier to find the place of course I can use Alt+G, but linenumbers by side would be more intuitive... any ideas, where should I direct this feature request? -- Jurgis Pralgauskis tel: 8-616 77613; Don't worry, be happy and make things better ;) http://kompiuterija.pasimokom.lt From kirby.urner at gmail.com Thu Oct 8 22:36:57 2009 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 8 Oct 2009 13:36:57 -0700 Subject: [Edu-sig] recent curriculum writing (Urner) Message-ID: What do we mean by "computer language"? One could answer in terms of using text to control electronics, and that would be accurate. However there's also the goal of a philosophical logic: to express situations in the world, to mirror them for the purposes of simulation. The veteran programmer of the late 1900s experienced a number of twists and turns in the art of computer programming. This field has evolved quickly. Early machines had to be programmed "close to the metal" meaning a deep understanding of hardware internals was needed to even begin to write code. Today's computer languages haven't completely divorced themselves from hardware concerns, but the higher level ones are freer to concentrate on what we sometimes call "knowledge domains" such as cellular automata, molecular biology, zoology, telescopy etc. When talking about human languages, we have something we call grammar. It helps to know the difference between a verb and an adjective, an adjective and a noun. In many of today's computer languages, nouns name objects which have attributes (like adjectives) and behaviors (like verbs). Here's an idea of what computer code might look like: anAnt = Ant() critter = AntEater() critter.color = 'brown' critter.walk(paces=10) critter.eat(anAnt) If you've studied some mathematics, you may be used to reading "=" as "equals". You're free to keep doing that, but add the thought that "=" is an "assignment operator" and what it does is bind a name to an object. In the above segment of code, the Ant and AntEater types are instantiated and assigned to names. These names are then operated upon using "dot notation" such that attributes get set and behaviors such as eating invoked. Notice that we already have a tendency to think in terms of things (a very generic statement). Think of an airport. What "things" do you suppose it would have? Runways and taxiways would define paths for the airplanes. There might be a control tower. Lots of things have come to mind already. A single airplane has many attributes and behaviors. pdx = Airport() nw = Runway() pdx.add(nw) myplane = Gulfstream() myplane.takeoff(nw) myplane.land(nw) We also have an engrained concept of the more general versus the more specific. There's the generic idea of a house, animal, airport. Then we get more specific, getting to some individual instance of example of any of these types of object. A computer language might have this same idea: there's a type of thing called a Number, and then we have individual instances of Number, such as 3, -1 or 2.12 or whatever. Suppose you had a generic blueprint for a robot dog. You could create an instance of this blueprint at any time, and then modify the specifics to give yourself an individual dog. Each "instance" would take up its own place in memory, even though the blueprint is shared among all these instances. Imagine a snake named Selma, maybe a cute cartoon snake. She has a sister named Bella. Creating these two snakes from the Snake template might look like this: selma = Snake() bella = Snake() At this point, all that differentiates these two snakes are their names. Two snake objects have been born, and assigned to names. Now we might modify each snake separately: selma.color = 'red and brown stripes' bella.color = 'various shades of gray' One might eat a mouse, the other might eat a cupcake: selma.eat('mouse') bella.eat('cupcake') Notice our "dot notation" has so far mostly followed these grammatical patterns: noun = Type() noun.adjective = value noun.verb() It maybe help to think of open-close parentheses as a "mouth". Think of emoticons like :-) or :-(). The () is clearly a mouth. A mouth eats or takes in. We call often call the things a mouth eats its "arguments". An event such as noun = Type() is akin to the birth of a creature or instance from its generic type. Then we make our noun do things or define its attributes, with noun.verb(arguments) or noun.adjective = value. Also, we don't just set attributes (store them), but we also get them (retrieve them). What's important to realize about the above quick run through is we've nowhere had to discuss the internals of a computer or how it works. Writing scripts will require naming our actors and defining their behaviors, their interactions. Writing a program is a lot like scripting for theater. We need to know how to express ourselves grammatically in a computer language. But that's the same with ordinary human languages, so this need shouldn't seem too alien or unfamiliar. Now, the grammar suggested above is characteristic of several computer languages, but certainly not all of them. Given we're heading into a study of the Python computer language, all of the above is apropos (relevant). This way of thinking, using dot notation, will also serve you when learning JavaScript, Java, C#, Ruby and several other languages, should you choose to develop your skills in any of these directions. From kirby.urner at gmail.com Thu Oct 8 01:46:22 2009 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 7 Oct 2009 16:46:22 -0700 Subject: [Edu-sig] more fun with cards Message-ID: The code below isn't stellar, but has some pedagogical value nevertheless. In general, I'm looking at constituting a deck of 52 cards, or 54 with two jokers, this time with each card an object. In a C struct, you could imagine the suit (e.g. Diamond), rank (e.g. Jack) and value (e.g. 11) all having their own slots, which is pretty much what we're doing here. A Deck object is a list of cards, not a dictionary, as sequence matters. Shuffling is automatic upon deck creation, which somewhat deviates from brick and mortar cards, but oh well. Other features: use of break keyword to escape from a loop in a loop, difference twixt __str__ and __repr__ ribs. I'd call this intermediate Python in that we're assuming fluency with modules like random and native functions like zip, also show off a privacy feature (using _ and/or __ as a method prefix). Use of decorators might be a next topic, starting with @property. As I've been discussing off list, I'm vested in going with cards, dice, games of chance often associated with gambling. I am well aware that a home schooling minority don't want their kids exposed to a shady underworld associated with Prohibition and Chicago gangsters. I suggest Ruby might be better for those households. When I mailed PSF snake back to Virginia yesterday, the UPS clerk shuddered in horror, didn't want to look in the satchel even when I told her what was in it, a quite harmless stuffed totem (she was in Portland for DjangoCon, to meet Django Pony). The baby Adonis (by now a lanky lad given how snake years fly by) is staying behind in Portland to learn more from our team. He's currently studying the J language, having semi-mastered his native tongue. http://www.flickr.com/photos/17157315 at N00/3951018867/in/photostream (One Laptop per Snake -- OLPS). Kirby ================== from random import shuffle thesuits = ['Hearts','Diamonds','Clubs','Spades'] theranks = ['Ace'] + [str(v) for v in range(2,11)] + ['Jack','Queen','King'] thevalues = zip(theranks, range(1,14)) class Card: def __init__(self, suit, (rank, value)): self.suit = suit self.rank = rank self.value = value def __repr__(self): return "Card(%s, %s)" % (self.suit, (self.rank, self.value)) def __str__(self): return "%s of %s" % (self.rank, self.suit) class Deck: def __init__(self, numcards = 52): self.numcards = numcards self.cards = [] self._populate() shuffle(self.cards) def _populate(self): have = 0 self.cards = [] for suit in thesuits: for value in thevalues: self.cards.append( Card(suit, value)) have += 1 if have == self.numcards: break if have == self.numcards: break def __repr__(self): return "Deck(%s)" % self.numcards def __str__(self): return str([str(card) for card in self.cards]) def test(): thedeck = Deck() print str(thedeck) if __name__ == '__main__': test() From echerlin at gmail.com Thu Oct 15 09:51:23 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Thu, 15 Oct 2009 00:51:23 -0700 Subject: [Edu-sig] recent curriculum writing (Urner) In-Reply-To: References: Message-ID: Computer languages in use can be as different as FORTH, APL, LISP, Smalltalk, C++, Python...In principle, any symbolic system that is Turing-complete can serve as a general-purpose computer programming language with a suitable compiler or interpreter. Jean Sammet wrote a summary of all computer languages up to the mid-1960s, called Programming Languages: History and Fundamentals. She wanted to do a new version later, but found that she couldn't possibly keep up with them all any more. A fairly recent compendium listed more than 8500. See also The Next 700 Programming Languages, by P. J. Landin, http://www.scribd.com/doc/12878059/The-Next-700-Programming-Languages the Parrot languages page, http://www.parrot.org/languages and the Esoteric Languages page http://esoteric.sange.fi/orphaned/obslang.html Sadly, the Random Languages/Obfuscated Languages page is no longer online, but you can still see it through the Internet Archive's Wayback Machine. http://web.archive.org/web/*/http://esoteric.sange.fi/orphaned/obslang.html http://web.archive.org/web/20080417042236/http://esoteric.sange.fi/orphaned/obslang.html These last are where you find the weird languages, such as Fromage, Intercal, Befunge, Unlambda, Malbolge, and many more, some designed to be fun, some just to prove it could be done, and some to be evil. On Thu, Oct 8, 2009 at 13:36, kirby urner wrote: > What do we mean by "computer language"? What do we mean by "computer"? > One could answer in terms of > using text to control electronics, and that would be accurate. > However there's also the goal of a philosophical logic: ?to express > situations in the world, to mirror them for the purposes of > simulation. > > The veteran programmer of the late 1900s experienced a number of > twists and turns in the art of computer programming. ?This field has > evolved quickly. ?Early machines had to be programmed "close to the > metal" meaning a deep understanding of hardware internals was needed > to even begin to write code. > > Today's computer languages haven't completely divorced themselves from > hardware concerns, although Virtual Machines are increasingly common, including the Java VM, the I-APL 8-bit VM, the Smalltalk VM, Parrot, and so on. > but the higher level ones are freer to concentrate > on what we sometimes call "knowledge domains" such as cellular > automata, molecular biology, zoology, telescopy etc. > > When talking about human languages, we have something we call grammar. See also the Chomsky hierarchy of languages and the corresponding hierarchy of machine types. http://en.wikipedia.org/wiki/Chomsky_hierarchy >?It helps to know the difference between a verb and an adjective, an > adjective and a noun. ?In many of today's computer languages, nouns > name objects More often pronouns that name different things at different times. Nouns would be constants. > which have attributes (like adjectives) and behaviors > (like verbs). And APL/J and some functional programming languages have adverbs to make new verbs from old! > Here's an idea of what computer code might look like: > > anAnt = Ant() > > critter = AntEater() > critter.color = 'brown' > critter.walk(paces=10) > critter.eat(anAnt) Or possibly mean =. +/ % # i. 10 0 1 2 3 4 5 6 7 8 9 +/ i. 10 45 # i. 10 10 mean i. 10 4.5 or The following Unlambda program calculates and prints the Fibonacci numbers (as lines of asterisks) ```s``s``sii`ki `k.*``s``s`ks ``s`k`s`ks``s``s`ks``s`k`s`kr``s`k`sikk `k``s`ksk > If you've studied some mathematics, you may be used to reading "=" as > "equals". ?You're free to keep doing that, but add the thought that > "=" is an "assignment operator" and what it does is bind a name to an > object. In languages where = is assignment, equality is usually ==. Other conventions are used. > In the above segment of code, the Ant and AntEater types are > instantiated and assigned to names. ?These names are then operated > upon using "dot notation" such that attributes get set and behaviors > such as eating invoked. > > Notice that we already have a tendency to think in terms of things (a > very generic statement). ?Think of an airport. ?What "things" do you > suppose it would have? ?Runways and taxiways would define paths for > the airplanes. ?There might be a control tower. ?Lots of things have > come to mind already. > > A single airplane has many attributes and behaviors. > > pdx = Airport() > nw ?= Runway() > pdx.add(nw) > myplane = Gulfstream() > myplane.takeoff(nw) > myplane.land(nw) > > We also have an engrained concept of the more general versus the more > specific. ?There's the generic idea of a house, animal, airport. ?Then > we get more specific, getting to some individual instance of example > of any of these types of object. > > A computer language might have this same idea: ?there's a type of > thing called a Number, and then we have individual instances of > Number, such as 3, -1 or 2.12 or whatever. > > Suppose you had a generic blueprint for a robot dog. ?You could create > an instance of this blueprint at any time, and then modify the > specifics to give yourself an individual dog. ?Each "instance" would > take up its own place in memory, even though the blueprint is shared > among all these instances. > > Imagine a snake named Selma, maybe a cute cartoon snake. ?She has a > sister named Bella. ?Creating these two snakes from the Snake template > might look like this: > > selma = Snake() > bella = Snake() > > At this point, all that differentiates these two snakes are their > names. ?Two snake objects have been born, and assigned to names. ?Now > we might modify each snake separately: > > selma.color = 'red and brown stripes' > bella.color = 'various shades of gray' > > One might eat a mouse, the other might eat a cupcake: > > selma.eat('mouse') > bella.eat('cupcake') > > Notice our "dot notation" has so far mostly followed these grammatical patterns: > > noun = Type() > noun.adjective = value > noun.verb() > > It maybe help to think of open-close parentheses as a "mouth". ?Think > of emoticons like :-) or :-(). ?The () is clearly a mouth. ?A mouth > eats or takes in. ?We call often call the things a mouth eats its > "arguments". > > An event such as noun = Type() is akin to the birth of a creature or > instance from its generic type. > > Then we make our noun do things or define its attributes, with > noun.verb(arguments) or noun.adjective = value. ?Also, we don't just > set attributes (store them), but we also get them (retrieve them). > > What's important to realize about the above quick run through is we've > nowhere had to discuss the internals of a computer or how it works. > Writing scripts will require naming our actors and defining their > behaviors, their interactions. ?Writing a program is a lot like > scripting for theater. > > We need to know how to express ourselves grammatically in a computer > language. ?But that's the same with ordinary human languages, so this > need shouldn't seem too alien or unfamiliar. > > Now, the grammar suggested above is characteristic of several computer > languages, but certainly not all of them. ?Given we're heading into a > study of the Python computer language, all of the above is apropos > (relevant). > > This way of thinking, using dot notation, will also serve you when > learning JavaScript, Java, C#, Ruby and several other languages, > should you choose to develop your skills in any of these directions. > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -- Edward Mokurai (??/???????????????/????????????? ?) Cherlin Silent Thunder is my name, and Children are my nation. The Cosmos is my dwelling place, the Truth my destination. http://earthtreasury.org/ From roberto03 at gmail.com Thu Oct 15 16:53:43 2009 From: roberto03 at gmail.com (roberto) Date: Thu, 15 Oct 2009 16:53:43 +0200 Subject: [Edu-sig] help and suggestions In-Reply-To: References: <4bcde3e10910051124u4e192aa0n5bb2071b850fb3be@mail.gmail.com> Message-ID: <4bcde3e10910150753u7a30d726gc7740741b890ef34@mail.gmail.com> On Tue, Oct 6, 2009 at 8:08 AM, kirby urner wrote: > But as a teacher, you're under no obligation to be stellar or even > proficient with every tool. ?The constructivist approach encourages > students to explore into areas beyond the teacher's comfort zone or > time constraints (life is short -- that's a constraint). > > There's no sense of "threatened authority" when students do lightning > talks on topics or tools the teacher has not had much opportunity to > explore. > > Encourage students to explore in pairs or small teams. ?Don't forget > Pygeo as a possible resource. > > Go turtles! ?Go fractals! ?PIL is cool. ?I've used POV-Ray a lot, plan > to keep doing that (along with VPython of course). ?But that's just > me, YMMV (your mileage may vary). > > Kirby thanks a lot for sharing your thoughts ! -- roberto From kirby.urner at gmail.com Thu Oct 15 19:37:18 2009 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 15 Oct 2009 10:37:18 -0700 Subject: [Edu-sig] recent curriculum writing (Urner) In-Reply-To: References: Message-ID: On Thu, Oct 15, 2009 at 12:51 AM, Edward Cherlin wrote: << cool lore snipped>> > and the Esoteric Languages page > > http://esoteric.sange.fi/orphaned/obslang.html > > Sadly, the Random Languages/Obfuscated Languages page is no longer > online, but you can still see it through the Internet Archive's > Wayback Machine. > > http://web.archive.org/web/*/http://esoteric.sange.fi/orphaned/obslang.html > http://web.archive.org/web/20080417042236/http://esoteric.sange.fi/orphaned/obslang.html > > These last are where you find the weird languages, such as Fromage, > Intercal, Befunge, Unlambda, Malbolge, and many more, some designed to > be fun, some just to prove it could be done, and some to be evil. > << thanks! >> > On Thu, Oct 8, 2009 at 13:36, kirby urner wrote: >> What do we mean by "computer language"? > > What do we mean by "computer"? > Right here we could fork off a discussion along these lines: do we care more about the single computer or computers in the plural? I think we'd be better off with a minimum of two computers right from the start, so that we might talk about cooperation over a network, later to morph into a cloud. When I collaborated with Jerritt, a brilliant hacker, on teaching open source through the Hillsboro Police Department, he dove into tcp/ip the very first day, as the most important thing to start thinking about, over and above RAM, ROM, CPU or anything else. Given you have to dive in somewhere, I don't fault him for making that choice and pursuing it wholeheartedly. I was pleased to bring 'Warriors of the Net' to the table, which I don't think he'd seen. We projected it, used decent speakers. http://www.warriorsofthe.net/ This is an example of where ontogeny need not recapitulate phylogeny i.e. just because we geezer-senior-boomers think in terms of mainframes later splintering out into workstations (dumb terminals) in a time sharing environment (IBM 360/370 era, birth of Unix), doesn't mean a child today needs to learn it in that order. The very first day you might write "Hello World" and make it like a coiled spring of DNA encapsulated in a virus (icosahedrons a lot of 'em). That's called a packet, this being a cartoon version, check out this to/from IP address, this TTL, start alluding to postal service, mail routing, connecting to earlier institutions where package routing is the name of the game. Watch old black and white documentaries about the post office, as a way of making computers come alive why not? Kirby PS: for those who made it this far: http://mybizmo.blogspot.com/2009/10/from-lyrik.html (shows a screen shot from SugarLabs in the context of yesterday's webinar -- click picture at bottom for larger view). From kirby.urner at gmail.com Sat Oct 17 20:01:45 2009 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 17 Oct 2009 11:01:45 -0700 Subject: [Edu-sig] more fun with cards In-Reply-To: References: Message-ID: On Wed, Oct 7, 2009 at 4:46 PM, kirby urner wrote: > The code below isn't stellar, but has some pedagogical value nevertheless. > Indeed the code was far from stellar, however it gave some direction. The version below is in Python 3.1 and demonstrates primitive conditionals and exception handling, too often postponed because of that "phylogeny problem" (older languages just crashed or tried to catch everything at compile time, so we didn't see try/except syntax until relatively newer languages). In the Game of War (a silly game), each player gets a deck. Our Deck class is able to hand back a smaller sample from an already-shuffled deck of 52 (no jokers). They each then turn over the top card and see which has the higher value, scoring accordingly. Our Deck class spits a random card from anywhere in the deck, which would be another way to play (as if fanning the cards and picking any at will). >>> A's King of Diamonds beats B's Ace of Hearts B's 9 of Spades beats A's 5 of Clubs A's 10 of Clubs beats B's 2 of Hearts B's Ace of Diamonds matches A's Ace of Hearts B's 7 of Clubs beats A's 5 of Hearts B's 10 of Diamonds beats A's 9 of Hearts B's King of Hearts beats A's 6 of Spades A's King of Hearts beats B's Jack of Hearts A's 9 of Diamonds beats B's 4 of Clubs B's King of Spades beats A's 2 of Diamonds Game Over: B wins >>> What's demonstrated in the code, besides exception handling and flow (in a somewhat pedantic and repetitive style) is (a) use of shuffle and randint from random module and (b) __rib__ syntax for > < ==. The Card type gets the logic for comparing any two card instances. The Deck is innocent of such logic, just needs to manage "how many" and "which cards". from random import shuffle, randint thesuits = ['Hearts','Diamonds','Clubs','Spades'] theranks = ['Ace'] + [str(v) for v in range(2,11)] + ['Jack','Queen','King'] rank_values = list(zip(theranks, range(1,14))) class Card: def __init__(self, suit, rank_value ): self.suit = suit self.rank = rank_value[0] self.value = rank_value[1] def __lt__(self, other): if self.value < other.value: return True else: return False def __gt__(self, other): if self.value > other.value: return True else: return False def __eq__(self, other): if self.value == other.value: return True else: return False def __repr__(self): return "Card(%s, %s)" % (self.suit, (self.rank, self.value)) def __str__(self): return "%s of %s" % (self.rank, self.suit) class Deck: def __init__(self, numcards = 52): # build a complete deck then slice try: assert 0 < numcards <= 52 except: raise ValueError() self.numcards = numcards self.cards = [Card(suit, rank_value) for rank_value in rank_values for suit in thesuits ] shuffle(self.cards) self.cards = self.cards[ : self.numcards] def spit_card(self): try: assert self.numcards > 0 except: raise AssertionError() some_card = self.cards.pop( randint( 0, self.numcards - 1 )) self.numcards = len(self.cards) return some_card def __repr__(self): return "Deck(%s)" % self.numcards def __str__(self): return str([str(card) for card in self.cards]) def test(): thedeck = Deck() print (str(thedeck)) def game_of_war(): deckA = Deck(10) deckB = Deck(10) PlayerA_score = 0 PlayerB_score = 0 try: assert deckA.numcards == deckB.numcards except: raise AssertionError() for i in range(deckA.numcards): playerA_card = deckA.spit_card() playerB_card = deckB.spit_card() if playerA_card > playerB_card: PlayerA_score += 1 print("A's %s beats B's %s" % (playerA_card, playerB_card)) if playerA_card < playerB_card: PlayerB_score += 1 print("B's %s beats A's %s" % (playerB_card, playerA_card)) if playerA_card == playerB_card: print("B's %s matches A's %s" % (playerB_card, playerA_card)) if PlayerA_score > PlayerB_score: print("Game Over: A wins") if PlayerA_score < PlayerB_score: print("Game Over: B wins") if PlayerA_score == PlayerB_score: print("Game Over: it's a draw!") if __name__ == '__main__': # test() game_of_war() A subtle error I was having, which took me back to Steve Holden's workshop at Pycon 2009 (Chicago) was this line below: rank_values = list(zip(theranks, range(1,14))) At first I just returned the zip without making it a list. But in 3.1 that's a "zip object" and gets exhausted through iteration. In creating a first deck object from this global variable, it'd exhaust the zip object, leaving nothing for the next deck to iterate against upon instantiation. Coercing to a list forces a static object on the heap, suitable for continued reiteration. I should give more explicit error messages and have more interesting tests. This is still in need of some spit and polish, but is already suitable as a lesson plan for gnu math teachers. Kirby From kirby.urner at gmail.com Mon Oct 19 18:17:02 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 19 Oct 2009 09:17:02 -0700 Subject: [Edu-sig] Touting edu-sig as role model for diversity-sig Message-ID: FYI, the appended belongs in an open archive as a snap shot of a work in progress (Diversity @ Python.org). I've fixed a couple typos (no wording changes). The list of list owners is public already, so I'm not divulging anything confidential. Given I'm proud of our work here on edu-sig, I think this is an appropriate filing for this group. Note: the current diversity at python.org list is closed archive and closely moderated. Anyone can subscribe though. Advance warning: you'll need to bone up on a lot of terminology if you want to sound inner circle (e.g. read up on "spoons"). See the 'Terminology' section on the DiversityInPython page below. There's also a cardinal sin, called "derailing" which will get you an undisclosed amount of time in the penalty box if admin finds you guilty as charged (no rules or due process, welcome to the Wild West!). I've recently been on PSF-members recruiting more people to join threads about developing international signing conventions (giving conference goers a heads up as to content so they don't stumble in to a presentation featuring R-rated cartoons about computer science topics if a minor, to give just one example). We've also been discussing how to accommodate diverse spiritual traditions in the context of Pycons. I've been working with Carl Trachte some on showing off Python's new Unicode abilities (not all text editors are created equal when it comes to exploiting these features). There's also this web page (which I've so far had nothing to do with): http://wiki.python.org/moin/DiversityInPython (pointers to a lot of the standard "diversity lit" -- very little about Python per se) And this one (which I have had something to do with): http://wiki.python.org/moin/CategoryUnicode (way more about Python here -- substantive and relevant) Kirby Urner PSF 09 ---------- Forwarded message ---------- From: kirby urner Date: Sun, Oct 18, 2009 at 7:30 PM Subject: Re: Re: Your message to Diversity awaits moderator approval To: Catherine Devlin Cc: Aahz , diversity-owner at python.org On Sun, Oct 18, 2009 at 5:56 PM, Catherine Devlin wrote: << trim >> > > ?Because all groups are voluntary, nobody's trapped in a group when it doesn't run their way; the decision on whether to tolerate rules you don't like, or start up a similar group on a different operating basis, or wash your hands of the whole business is yours. > I've already come out in favor of diversity-sig, as have several others, including some of our core players.? Have you been paying enough attention to catch those cues?? They're subtle sometimes. I don't know what kind of moderation diversity-sig might need, if any. If there's going to be a moderator, we should maybe discuss how to rotate the role.? We don't need some Benevolent Diversity Guru for Life certainly (clearly the board has voted on no such position). edu-sig at python.org, which I've voluntarily contributed to for many years, along with Guido, Tim Peters, David Scott-Daniels, Laura Creighton, Gregor Lingl and many others, has Timothy Wilson listed as listowner. Even though we've had many fierce debates and arguments, I can't recall anyone ever being placed on moderation or being banned on that list (even when Arthur started saying "fuck you" a few times). There's probably some outright spam that gets cleaned out (for Viagra or whatever). I designed much of the edu-sig page itself then we handed it off to Andre Roberge, the current manager, in the course of a BOF @ Pycon / Chicago this year. http://www.python.org/community/sigs/current/edu-sig/ The archive is open, leaving a valuable legacy.? There's no concern about being behind closed doors as a semi-private cocktail party and its easy for bloggers, columnists, emailers, to simply link to any post, without necessitating some login/subscribe process. Various crawlers subscribe to edu-sig and our work has propagated all over the Internet by this means.? John Miller's PhD dissertation focuses on edu-sig for its raw material (there's a link to the PDF from that page). Way cool.? Successful! Because CP4E stands for "computer programming for *everybody*" you might imagine that diversity has been a theme from the beginning on some levels. > > If the group's goals are important to you, you have to decide whether to tolerate mechanisms you don't like for the sake of the goal.? You can certainly ask for a change to the mechanisms, but the answer might be "no". Increasing diversity is definitely a worthy goal and I feel we pursue that on edu-sig and other venues. My impression is that now that we have an official diversity statement, this particular list is not taken seriously and has been marginalized to the point of irrelevance.? People post here for entertainment only.? No work is getting done. This won't be fixable as long as the current closed archive and capricious admin machinery is left to run in a vacuum without reality checks. That I was suddenly put on moderation over the objections of the very people I was conversing with is of course ridiculous and is further corroding this list's ability to gain traction. The only justification offered to date is the diversity statement itself, which was not yet crafted or voted on when admin started its program of targeted harassment against me. > > Kirby, do you think that having your posts go up immediately and without review is *the* key to having a worthwhile diversity list?? If so, I don't think your goals and intents for the list align very well with, well, anybody else's. > I don't think you should be interrogating me in some back office accessible only to list owners.? This is inappropriate harrassment of a PSF member.? I am keeping this exchange as a souvenir, a fond memory of the ineffective early days when Diversity had no idea how to conduct itself appropriately. > > Some people think the list would work better with you occasionally restrained.? I wouldn't really expect you to agree.? The question is, do you want to continue cooperating with other people on the diversity topic, even people who think that your participation needs limits to remain positive?? "Yes" or "No" are both legitimate answers to that question; the only answer we can't accept is, "No, and the group has to run my way." > > General awesomeness is not the question.? We're all awesome people here and we all contribute to the community.? (I really REALLY should have spent this time on PyCon publicity instead.)? I'm going to stop here.? Every minute of argument about list governance is a minute spent not learning, coding, teaching, encouraging, publicizing, or anything else.? If "how the diversity list operates" becomes the main topic of the diversity list (and this is the Nth time we have approached that), I will be facing my own decision about whether to just quit... > diversity-sig might possibly undo some of the damage.? I remain hopeful that our community will develop more maturity and do the right thing.? Make this an open archive endeavor and start with light to no moderation.? Use edu-sig as your model (a clearly successful list which I'm proud to have helped keep alive and kicking). > > (If I seem extra-grumpy tonight, sorry; had a laptop smash-and-grab stolen this week, GRRRRR) > Bummer!? A friend of mine had his $5K Powerbook stolen when his back was turned from a coffee shop recently.? Carrying around expensive equipment is like wearing expensive jewelry, an enticement to muggers. I'm carrying around an Ubuntu Netbook these days (Starling-1 from System76), which goes for under $400, so less heartbreak if it's stolen (or in my case, if I simply lose it or drop it -- the more likely scenario). Kirby > > -- > - Catherine > http://catherinedevlin.blogspot.com/ > *** PyCon * Feb 17-25, 2010 * Atlanta, GA * us.pycon.org *** From kirby.urner at gmail.com Mon Oct 19 18:59:50 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 19 Oct 2009 09:59:50 -0700 Subject: [Edu-sig] Followup re Diversity Message-ID: Here's another thread for an open archive. You'll notice this was censored in its original context (couldn't get past the admin group -- four individuals spread across time zones). Academic freedom ala liberal arts culture means edu-sig is actually more open to diverse points of view. Given Pycon Atlanta is swiftly approaching, the idea of a prayer room makes some sense. Kirby ======== ---------- Forwarded message ---------- From: Date: Sun, Oct 18, 2009 at 2:50 PM Subject: Request to mailing list Diversity rejected To: kirby.urner at gmail.com Your request to the Diversity mailing list Posting of your message titled "Re: [Diversity] Admin: Kirby Urner now moderated" has been rejected by the list moderator. The moderator gave the following reason for rejecting your request: "Your message was deemed inappropriate by the moderator. Aahz: I was going to approve this message -- borderline as it was -- until I got to "dweeb". Feel free to edit and resubmit." Any questions or comments should be directed to the list administrator at: diversity-owner at python.org ---------- Forwarded message ---------- From: kirby urner Date: Mon, Oct 19, 2009 at 8:51 AM Subject: Re: Prayer room LCD To: diversity at python.org Note: this message was at first rejected by Aahz because of the expletive in the last sentence, which I have removed. It should now be suitable for publication. Kirby ---------- Forwarded message ---------- From: Date: Mon, Oct 19, 2009 at 9:06 AM Subject: Request to mailing list Diversity rejected To: kirby.urner at gmail.com Your request to the Diversity mailing list Posting of your message titled "Re: Prayer room LCD" has been rejected by the list moderator. The moderator gave the following reason for rejecting your request: "Your message was deemed inappropriate by the moderator. Aahz: Sorry, if I have to reject what is otherwise a borderline message because you crossed the line, you need to rewrite it to be well within the borderline." Any questions or comments should be directed to the list administrator at: diversity-owner at python.org ---------- Forwarded message ---------- From: kirby urner Date: Sun, Oct 18, 2009 at 1:33 PM Subject: Re: [Diversity] Admin: Kirby Urner now moderated To: Rami Chowdhury Cc: diversity at python.org On Sun, Oct 18, 2009 at 2:47 AM, Rami Chowdhury wrote: > > On Saturday 17 October 2009 13:52:35 kirby urner wrote: > > If you get an LCD going, you could rotate through the religious icons > > depending on what's on the schedule, with time booked for Subgenius of > > course > What, you mean like a crescent popping up five times a day? I don't think that > would work, personally, although I am definitely pro a prayer room. Can anyone > suggest who I need to approach with the prayer room suggestion? > The point is to show off how geeks are able to share their spiritual side in a conference setting in a smooth multi-cultural way that accepts diversity i.e. if you end up with a separate room for each tradition, that'd probably represent a failure (wasteful, poor design, ineffective). It was already suggested on this list that people coordinate amongst themselves if wanting to visit a local religious establishment e.g. if there's a synagogue or mosque or even Christian church in Atlanta, maybe people could organize going together.? Atheists might get together at the same time, along with Rastafarians or whatever. Conference management would have little to do with this, but could at least mention the possibility in the printed program, maybe simply list a few religious institutions nearby, much as many programs already list eateries (restaurants) and pubs -- again, showing some official acknowledgment that geeks have a spiritual side (I'm sorry if the word "geek" is an offense word to some here, however my plan is to keep using it as that's how I talk and I don't think diversity always means giving up one's own native language in exchange for some corporate sani-speak). Intelligent use of LCDs seems a hallmark of the future of geekdom i.e. these conferences are going to make more and better use of them no matter what.? Whether this extends to a prayer room setting I have no idea, but it's worth talking about, that's what partly this list is for (right?).? In my work with Vern Ceder on the posters (including submissions from user groups, even school children), we've talked about using LCDs more effectively. I brought up Subgenius as one of the traditions I'm involved with and which is already good at producing LCD content in some venues (e.g. the recent Devival I attended here in Portland with some of my friends).? Some Python-related events I attend have LCD stuff going (not talking about a usa.pycon necessarily, more home grown, yet perhaps of interest to PSF anyway?? Our PPUG meets at WebTrends and the LCDs there show company stuff, in between showing geek slides). Your idea of a crescent popping up five times a day sounds a tad dismissive and if I chose to feel offended, I could easily.? I've been to a synagogue that doubles as a Christian church, and the appropriate religious icons come to the foreground just for that service, then go back into their compartments (this is easy because Jews meet on Saturdays and Christians on Sundays). We could have an LCD do somewhat the same thing (time share among traditions) -- really not such a bad idea, especially when it comes to opening one's mind to other traditions besides one's own (the whole point of some conferences) but yes, this idea may be beyond the imaginations of corporate dolts aka pointy haired bosses. I did request of the admin group that I be released from the penalty box (moderation) as many here thought that was a silly development and said so JFTR. Checking my personal email, I so far see no indication that my request has been honored.? No one had the common decency to get back to me about my request except to complain that I'd bothered them, apparently during not working hours. I am a PSF member in good standing and know a lot of Pythonistas personally.? I take offense at how shabbily I've been treated by this admin group and I must say I've rarely if ever encountered a more amateurishly managed list. If I get another bounce message when I press the send button, then this is further confirmation that diversity at python.org is and was a Bad Idea, though it may still have potential if we ever decide to it right and more seriously.? diversity-sig anyone? In my view you can't have it both ways:? if this is some kind of semi-private "cocktail party" as many claim, then it's not ipso facto and by the same token a policy-making body that should be sending guidelines to speakers, building up stress levels about whether material is "appropriate" or not. I give the PSF list credit for coming up with the Diversity Statement we actually used, with this group doing rather minor word-smithing. The contrast between the two lists is quite interesting, in terms of traffic and what gets done.? I think the PSF is already way ahead of this list, in terms of thinking about Diversity (if you haven't been reading my blogs on this topic, then you probably don't know what I'm talking about -- and that's OK). Having "guidelines" show up out of nowhere, with the implication that your career could be damaged if you don't take them seriously, starts to sound Orwellian and many geeks don't take well to having nebulous behind-the-scenes others, just more geeks like themselves, trying to manage content, even in the form of guidelines. By what process were these developed?? If it's not perfectly transparent, then maybe it's simply oppressive and should be resisted, not encouraged? The ApacheCon thing didn't look especially welcoming or well thought out.? This sense of a lurking "we" that knows everything, is acting as Big Brother when it comes to what's offensive, may be an aspect of that subculture we *don't* want to imitate? We should debate this things, openly (with a public archive bloggers can link to directly), before we simply choose to imitate or copy. Original thinking on diversity issues is what we should be encouraged, not "hey, let's just do what everyone else is doing".? We're proud Pythonistas, not dweebs, right? Kirby Urner PSF 09 > > ---- > Rami Chowdhury > "Passion is inversely proportional to the amount of real information > available." -- Benford's Law of Controversy > 408-597-7068 (US) / 07875-841-046 (UK) / 0189-245544 (BD) > _______________________________________________ > Diversity mailing list > Diversity at python.org > http://mail.python.org/mailman/listinfo/diversity From kirby.urner at gmail.com Mon Oct 19 21:07:14 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 19 Oct 2009 12:07:14 -0700 Subject: [Edu-sig] [Diversity] diversity-sig In-Reply-To: <20091019181038.GA7314@panix.com> References: <20091019111228.BRB53863@ms19.lnh.mail.rcn.net> <4ADCA3C3.9000106@holdenweb.com> <20091019181038.GA7314@panix.com> Message-ID: On Mon, Oct 19, 2009 at 11:10 AM, Aahz wrote: > On Mon, Oct 19, 2009, Steve Holden wrote: >> >> A little discussion is indeed in order - including when we are going to >> start up the diversity-SIG list to run along the lines of other Python >> SIGs. > > Starting diversity-sig has stalled because of the demands of some people > for clearer rules about list policy. ?Writing good rules takes time, lots > of time (think about how long it took to create the diversity statement). > If I get a sense that except for the few complainers people are overall > happy with the operation of this list and simply want an open archive, we > can move forward with diversity-sig. I would like some background on what the other SIGs are like besides edu-sig with which I am personally familiar. I think if we already have a semi-closed, semi-private (?) moderated list, then diversity-sig should not just be the same thing all over again with a public archive. Steve's suggestion that we have both lists running in parallel makes a lot of sense. Lets keep this experiment alive. This list (diversity at python.org) can stay tightly moderated and clamped down according to some lengthy set of rules that might take a long time to hammer out. It'd be fun for the people here to play by those rules and develop their own little ingrown cocktail party, where they talk about spoons and stuff, develop their own terminology (hard to break into if you're not an insider sometimes). This list is very like a BOF. diveristy-sig, running in parallel, might have no such moderation or rule book. What other SIGs are tightly moderated? edu-sig never has been, since its inception, and is a highly successful list, one of the best. edu-sig does have a community page explaining what the list is about, topic-wise, and does give some background reading and links (so is similar to DiversityInPython in that way, though better organized). I certainly don't think we need the same admin team in charge of both lists! The people who choose one list and not the other are maybe precisely those people wanting to escape the perceived tyranny of the "cocktail party" subculture. If you want Diversity, don't insist on uniformity at the management level. I've posted more about using edu-sig as a role model on edu-sig itself. Kirby > -- > Aahz (aahz at pythoncraft.com) ? ? ? ? ? <*> ? ? ? ? http://www.pythoncraft.com/ > > Member of the Groucho Marx Fan Club > _______________________________________________ > Diversity mailing list > Diversity at python.org > http://mail.python.org/mailman/listinfo/diversity > From kirby.urner at gmail.com Thu Oct 22 03:07:54 2009 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 21 Oct 2009 18:07:54 -0700 Subject: [Edu-sig] test pattern... Message-ID: 1-2-3 testing. Just testing the archives, seeing how it looks when it gets there. Some thought going into making another Python list with English not the official language (there's only one other meeting that description according to my sources). This might be a good test of anyone's email client. These are working in Gmail (Arabic, Russian, Korean respectively -- feel free to reverse translate using that Google utility -- they all say the same thing supposedly). ??? ????? ??? ?? ???? ????? ?????????? ??????? ?????? ?? ????? ?????? ? ?????? ?? ????? ??? ?????? ???????? ???? ????? ??? ????? ????? ?????? : ????? ??????? ?????? ????????? ????? ??????? ??????? ???????? ??? ???????? ?? ??? ??????. ??????? ?? ????? ??? ???????? ???????? ? ???????? ? ???????? ? ???? ???? ??? ?????? ????? ????? ???? ??? ??? ???????. ??? ???? ???????? ?? ???? ???? ????? : ????? ?? ??? ? ????? ???? ??????? ?????? ?? ? ???? ???? ???. ??????????, ??? ??? ??????? ????????? ????????? ????????????, ? ???????????? ??? ?? ???????? ?? ??????????????? ????????? ?????????????? ??????? ???????????? ??????: Python Software Foundation ? ??????? ?????????? Python ?????????????? ? ???????? ??????? ???????. ???? ???????? ???????? ?? ???????? ????????, ?????????? ? ?????????, ? ?? ????????, ????? ?????? ???? ????? ???? ?? ???? ?????????. ?? ?????, ????? ???? ?????????? ???? ????? ??????????????: ??? ?? ? ?????? ???? ????, ?? ???????????? ???. PSF? ??? ?? ???? ??? ??, ?? ? ?? ??? ???? ??? ???? ?? ?? ??? ?? ??? ?? ?? : ??? ????? ??? ??? ?? ??? ?? ?? ?? ??? ?? ????? ????. ?? ??? ?? ??, ??? ?????? ??, ??? ??? ??? ??? ??? ?? ?? ??? ?? ????????. ?? ??? ? ?? ????? ?? : ??, ??? ??? ??? ???????, ??? ??? ?????. Kirby From roys.anna at gmail.com Fri Oct 23 01:10:18 2009 From: roys.anna at gmail.com (Anna Roys) Date: Thu, 22 Oct 2009 16:10:18 -0700 Subject: [Edu-sig] Archives of messages? Message-ID: Just wondering about how to poke around in archived messages? Searchable? Curiosity compels me to ask.... 8) Anna -------------- next part -------------- An HTML attachment was scrubbed... URL: From andre.roberge at gmail.com Fri Oct 23 01:14:58 2009 From: andre.roberge at gmail.com (Andre Roberge) Date: Thu, 22 Oct 2009 20:14:58 -0300 Subject: [Edu-sig] Fwd: Archives of messages? In-Reply-To: <7528bcdd0910221614s3fee550dq2ab1147b7ca58822@mail.gmail.com> References: <7528bcdd0910221614s3fee550dq2ab1147b7ca58822@mail.gmail.com> Message-ID: <7528bcdd0910221614t55743d19lee659e1867aa3c56@mail.gmail.com> Sorry - I meant to send this to the list... ---------- Forwarded message ---------- From: Andre Roberge Date: Thu, Oct 22, 2009 at 8:14 PM Subject: Re: [Edu-sig] Archives of messages? To: Anna Roys On Thu, Oct 22, 2009 at 8:10 PM, Anna Roys wrote: > Just wondering about how to poke around in archived messages? Searchable? > Curiosity compels me to ask.... 8) > > One way is to use Google with the site specified as follows: search terms here site:mail.python.org/pipermail/edu-sig Andr? > Anna > > > > _______________________________________________ > 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: From lac at openend.se Fri Oct 23 03:37:27 2009 From: lac at openend.se (Laura Creighton) Date: Fri, 23 Oct 2009 03:37:27 +0200 Subject: [Edu-sig] Fwd: Archives of messages? In-Reply-To: Message from Andre Roberge of "Thu, 22 Oct 2009 20:14:58 -0300." <7528bcdd0910221614t55743d19lee659e1867aa3c56@mail.gmail.com> References: <7528bcdd0910221614s3fee550dq2ab1147b7ca58822@mail.gmail.com> <7528bcdd0910221614t55743d19lee659e1867aa3c56@mail.gmail.com> Message-ID: <200910230137.n9N1bROh029471@theraft.openend.se> A freind of mine put searching into his mailmain archives. see: http://infothecary.org/jordan/mailman.html If you click on the link to lbo-talk there you can see how it works. It looks as if it would only search one year at a time; this is a mistake, just play with it and see. I'd sort of like to get this kind of functionality into mailman, but i never have the time to get around to it. Laura From kirby.urner at gmail.com Sat Oct 24 01:11:59 2009 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 23 Oct 2009 16:11:59 -0700 Subject: [Edu-sig] Summarizing some threads (KIrby again)... Message-ID: Those of you frequenting this list for some years will recognize most of these themes. From time to time I like to archive a summary. Principal themes: I. Math Objects (an approach to learning math) II. Objects First (an approach to learning programming) These two go hand-in-hand. Math Objects are traditional concepts such as polynomials, polyhedra, vectors, integers, treated as Types of Thing, i.e. we're making math concepts concrete by distilling the "things" or "types" people have invented over the centuries. One place to begin, familiar to computer science, is to differentiate alpha from numeric types. Objects First means taking the object-oriented philosophy seriously, meaning we're mining everyday (ordinary) human language semantics, wherein we already think in terms of named things (nouns) having behaviors (verbs) and attributes (adjectives). My curriculum anchors Objects (things) in the biological world of biota, animals, creatures, flora and fauna. Then we move to the more abstract types of object of interest in mathematics, polyhedra especially because these are also visible and tangible, forming a bridge to that biological world. Python is especially cool as an OO language because when building a biological creature as a template, one has these special names that look somewhat like __ribs__. The methods stack up providing a backbone or rack of ribs i.e. there's a visual analogy to a creature, a snake in particular, right in the language itself. The Objects First approach doesn't buy into the "ontogeny recapitulated phylogeny" ideology, by which I mean: just because programming languages evolved a certain way doesn't mean newcomers have to traverse the discipline in that same order. Regions new to telephony don't need to install land lines before they go with cell phones -- go straight to cell (straight to OO). Another theme: III. streamlining the teaching of spatial geometry I've separated this last theme out of the mix because it's what sets me apart more than the above and makes me a marginal figure, apparently off my rocker in some way. I passionately believe that we should be taking greater advantage of the streamlining done by the geodesic dome guy, Bucky Fuller, regarding how to compact a lot of geometric information into a compressed data structure he named the concentric hierarchy of polyhedra (meaning you include them inside each other, sort of like Russian dolls -- not a new idea, but the devil is in the details). I won't go into some verbose presentation of III in this post. However I do think when you move from calculators to full fledged computers, then it's time to get off the plane and start taking advantage of those much bigger and more colorful screens. So even if you're highly skeptical of the Bucky Fuller bit, you might stay with me on this notion the polyhedra and spatial geometry will naturally come into vogue as we move beyond calculators and start taking more advantage of computers. I've invested many years developing these ideas and presenting them in cogent form. The materials are open source and on the Internet. Again, it's III that makes me moves me into the "esoteric" category, where I start questioning only using a Euclidean set of axioms, start taking up a "geometry of lumps" and making all sorts of high level connections to Karl Menger (dimension theorist) and Ludwig Wittgenstein (philosopher). I also tend to get polemical, as a lot of positive futurism attaches here, and to the extent the world seems unnecessarily hellish, I get exercised about wasting already stockpiled assets that might make a big positive difference. I inherited this long-running campaign from an earlier generation and have a lot of loyalty to some of my mentors in this area, including but not limited to Bucky Fuller himself. Kirby From echerlin at gmail.com Sat Oct 24 02:51:29 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Fri, 23 Oct 2009 17:51:29 -0700 Subject: [Edu-sig] Summarizing some threads (KIrby again)... In-Reply-To: References: Message-ID: Yes, you're on the right track. All of schooling is based on medieval metaphors (such as the lecture, originally for purposes of dictation in the days before printing) and the history of thought, instead of the logic of the subject matter or of the reasons for learning anything. We are still teaching pre-calculator, pre-computer math as though there was some special virtue in hand calculation with paper and pencil, instead of recognizing that the days of the counting house are over and are not coming back. (There is a virtue in understanding how arithmetic works. It is better acquired by having students teach computers how to do it, that is, by learning how to program accurately and effectively.) Also, geometry is not the only realm where we need to take a fresh look. All of math has been restructured in the last century in terms not just of objects, but of systems. Axiom systems, structures, symmetries, relationships between seemingly different branches of math, or math and an application area such as physics or crytography or...we don't even know what, yet. Category theory attempted to generalize everything by looking at systems of objects and mappings between them. It has been superseded by the even more general topose theory, which starts from your lumpengeometrie and turns into a Theory of Nearly Everything in math. I will not attempt to explain this all today, because I am supposed to be writing a book. More later. On Fri, Oct 23, 2009 at 16:11, kirby urner wrote: > Those of you frequenting this list for some years will recognize most > of these themes. ?From time to time I like to archive a summary. > > Principal themes: > > I. ?Math Objects (an approach to learning math) > II. Objects First (an approach to learning programming) > > These two go hand-in-hand. > > Math Objects are traditional concepts such as polynomials, polyhedra, > vectors, integers, treated as Types of Thing, i.e. we're making math > concepts concrete by distilling the "things" or "types" people have > invented over the centuries. ?One place to begin, familiar to computer > science, is to differentiate alpha from numeric types. > > Objects First means taking the object-oriented philosophy seriously, > meaning we're mining everyday (ordinary) human language semantics, > wherein we already think in terms of named things (nouns) having > behaviors (verbs) and attributes (adjectives). > > My curriculum anchors Objects (things) in the biological world of > biota, animals, creatures, flora and fauna. ?Then we move to the more > abstract types of object of interest in mathematics, polyhedra > especially because these are also visible and tangible, forming a > bridge to that biological world. > > Python is especially cool as an OO language because when building a > biological creature as a template, one has these special names that > look somewhat like __ribs__. ?The methods stack up providing a > backbone or rack of ribs i.e. there's a visual analogy to a creature, > a snake in particular, right in the language itself. > > The Objects First approach doesn't buy into the "ontogeny > recapitulated phylogeny" ideology, by which I mean: ?just because > programming languages evolved a certain way doesn't mean newcomers > have to traverse the discipline in that same order. ?Regions new to > telephony don't need to install land lines before they go with cell > phones -- go straight to cell (straight to OO). > > Another theme: > > III. ?streamlining the teaching of spatial geometry > > I've separated this last theme out of the mix because it's what sets > me apart more than the above and makes me a marginal figure, > apparently off my rocker in some way. > > I passionately believe that we should be taking greater advantage of > the streamlining done by the geodesic dome guy, Bucky Fuller, > regarding how to compact a lot of geometric information into a > compressed data structure he named the concentric hierarchy of > polyhedra (meaning you include them inside each other, sort of like > Russian dolls -- not a new idea, but the devil is in the details). > > I won't go into some verbose presentation of III in this post. > However I do think when you move from calculators to full fledged > computers, then it's time to get off the plane and start taking > advantage of those much bigger and more colorful screens. ?So even if > you're highly skeptical of the Bucky Fuller bit, you might stay with > me on this notion the polyhedra and spatial geometry will naturally > come into vogue as we move beyond calculators and start taking more > advantage of computers. > > I've invested many years developing these ideas and presenting them in > cogent form. ?The materials are open source and on the Internet. > > Again, it's III that makes me moves me into the "esoteric" category, > where I start questioning only using a Euclidean set of axioms, start > taking up a "geometry of lumps" and making all sorts of high level > connections to Karl Menger (dimension theorist) and Ludwig > Wittgenstein (philosopher). > > I also tend to get polemical, as a lot of positive futurism attaches > here, and to the extent the world seems unnecessarily hellish, I get > exercised about wasting already stockpiled assets that might make a > big positive difference. ?I inherited this long-running campaign from > an earlier generation and have a lot of loyalty to some of my mentors > in this area, including but not limited to Bucky Fuller himself. > > Kirby > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -- Edward Mokurai (??/???????????????/????????????? ?) Cherlin Silent Thunder is my name, and Children are my nation. The Cosmos is my dwelling place, the Truth my destination. http://www.earthtreasury.org/ From kirby.urner at gmail.com Sat Oct 24 06:15:17 2009 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 23 Oct 2009 21:15:17 -0700 Subject: [Edu-sig] Summarizing some threads (KIrby again)... In-Reply-To: References: Message-ID: On Fri, Oct 23, 2009 at 5:51 PM, Edward Cherlin wrote: > Yes, you're on the right track. All of schooling is based on medieval > metaphors (such as the lecture, originally for purposes of dictation > in the days before printing) and the history of thought, instead of > the logic of the subject matter or of the reasons for learning > anything. We are still teaching pre-calculator, pre-computer math as > though there was some special virtue in hand calculation with paper > and pencil, instead of recognizing that the days of the counting house > are over and are not coming back. (There is a virtue in understanding > how arithmetic works. It is better acquired by having students teach > computers how to do it, that is, by learning how to program accurately > and effectively.) > That's an interesting point about how form trumps substance. Students would show up with note books and attempt to transcribe verbatim as the lecturer spoke slowly and pedantically, at a bandwidth suitable for keeping up. Turning to the board and writing some of the notes is an exercise in transcription: the notebooks would all contain those same notes from the teacher. Fast forward to 'Sesame Street' and you get video shorts, basically YouTube clips, on the numbers 1-12 and letters A-Z -- a large and growing database with each TV show containing a mix of old and new material. Repetition is not a bad thing. Changes in topic, a kind of disjointed approach, requires viewers to connect the dots in their own minds. In philosophy, we have the aphoristic writers such as Nietzsche (in Will to Power especially) and Wittgenstein (the investigations). This is early hypertext in the sense that the reader needs to make links, find meaning in the relationships. The number of edges (relationships) between N vertices is N(N-1)/2 i.e. I shake hands with every other person here except me, but then me shaking hands with you, and you with me, is the same edge, so divide by 2. The so-called MTV generation is used to short aphoristic video clips with implied hyperlinks. When they encounter the chalk 'n talk lecture style of say Renaissance Italy (University of Bologna) it seems like a drastic drop in bandwidth sometimes. Ergo, I think to regalvanize computer science, other technical subjects, we need to put less emphasis on lecture and more on videography, computer animation. It's a positive feedback cycle in that the skills required to make these video presentations are likewise the skills we seek to transmit e.g. how to apply a rotation matrix to a set of vectors from the origin, to make a given polyhedron rotate on screen. This could be your high school math class, with vectors, polyhedra expressed as objects in Python. > Also, geometry is not the only realm where we need to take a fresh > look. All of math has been restructured in the last century in terms > not just of objects, but of systems. Axiom systems, structures, > symmetries, relationships between seemingly different branches of > math, or math and an application area such as physics or crytography > or...we don't even know what, yet. Category theory attempted to > generalize everything by looking at systems of objects and mappings > between them. It has been superseded by the even more general topose > theory, which starts from your lumpengeometrie and turns into a Theory > of Nearly Everything in math. > A key word here is accessibility. The math pipeline is considered broken in that relatively few students stick with it or choose technical fields, thanks to feeling turned off in high school. Turtle Art is supposed to help fix this. Ray tracing could be considered like Turtle Art in that each beam of light is the path of some turtle. Front loading with better eye candy and better audio, returning music to the math curriculum (rhythm as fractions, intervals, the various scales and their frequencies) is a way to keep the bandwidth closer to what students are getting from television. Teachers may object that this is just fluff, pandering to attention spans made short by television. This is where computer programming comes in, requiring concentration and focus. The math lab is closer to an art studio. Students build a portfolio, using open source tools. VRML (x3D), Anti-Prism by Adrian Rossiter, Springie by Tim Tyler, your Turtle Art, Gregor's turtle module, Qhull, various Java applets. Speaking of Java applets, here's an interesting one in that it's written in Java but then run through GWT (Google Widgets Toolkit) so that what's running in your browser is actually Javascript. You don't need Java runtime to use this: http://interisland.net/johngilbrough/Space/ (features different ways of achieving stereo) The teacher still has a role of course, as lesson planner, transmitter of skills, tour guide to this huge world of free resources. A teacher is but another student further along in mastery, role modeling life-long learning. The ideal math lab has a projector, is connected to the Internet. Students take turns giving presentations as well. Show and Tell. Lightning talks. > I will not attempt to explain this all today, because I am supposed to > be writing a book. More later. > Looking forward. >> >> I passionately believe that we should be taking greater advantage of >> the streamlining done by the geodesic dome guy, Bucky Fuller, >> regarding how to compact a lot of geometric information into a >> compressed data structure he named the concentric hierarchy of >> polyhedra (meaning you include them inside each other, sort of like >> Russian dolls -- not a new idea, but the devil is in the details). >> A key innovation is taking a regular tetrahedron as one's unit of volume, thinking in terms of "tetravolumes". Instead of the messy irrational volumes we're used to teaching about, this compressed data structure supplies easily memorable whole number volumes for many basic polyhedra. This isn't about replacing or displacing the traditional approach (based on the unit-volume cube). It's simply mind-expanding and informative to realize one's freedoms. Here's a whole different approach, like some Math from Mars. You could even teach it that way for marketing purposes: Martian Math. I explain this more here, noting that all the graphics were done using a combination of Python and the free open source ray tracing program POV-ray. These pages go back a decade by now, interpreting source material from the late 1970s: http://www.grunch.net/synergetics/volumes.html http://www.grunch.net/synergetics/volumes2.html More background: http://www.4dsolutions.net/ocn/numeracy0.html (the first of a four part series, all developed in Python). Kirby >> I won't go into some verbose presentation of III in this post. >> However I do think when you move from calculators to full fledged >> computers, then it's time to get off the plane and start taking >> advantage of those much bigger and more colorful screens. ?So even if >> you're highly skeptical of the Bucky Fuller bit, you might stay with >> me on this notion the polyhedra and spatial geometry will naturally >> come into vogue as we move beyond calculators and start taking more >> advantage of computers. >> >> I've invested many years developing these ideas and presenting them in >> cogent form. ?The materials are open source and on the Internet. >> >> Again, it's III that makes me moves me into the "esoteric" category, >> where I start questioning only using a Euclidean set of axioms, start >> taking up a "geometry of lumps" and making all sorts of high level >> connections to Karl Menger (dimension theorist) and Ludwig >> Wittgenstein (philosopher). >> >> I also tend to get polemical, as a lot of positive futurism attaches >> here, and to the extent the world seems unnecessarily hellish, I get >> exercised about wasting already stockpiled assets that might make a >> big positive difference. ?I inherited this long-running campaign from >> an earlier generation and have a lot of loyalty to some of my mentors >> in this area, including but not limited to Bucky Fuller himself. >> >> Kirby >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig at python.org >> http://mail.python.org/mailman/listinfo/edu-sig >> > > > > -- > Edward Mokurai (??/???????????????/????????????? ?) Cherlin > Silent Thunder is my name, and Children are my nation. > The Cosmos is my dwelling place, the Truth my destination. > http://www.earthtreasury.org/ > From lac at openend.se Sat Oct 24 07:51:43 2009 From: lac at openend.se (Laura Creighton) Date: Sat, 24 Oct 2009 07:51:43 +0200 Subject: [Edu-sig] Summarizing some threads (KIrby again)... In-Reply-To: Message from kirby urner of "Fri, 23 Oct 2009 21:15:17 PDT." References: Message-ID: <200910240551.n9O5phw9018829@theraft.openend.se> A problem arises when one has to learn new material. For many of us, actually writing the material down makes us retain it better. And for me, at any rate, writing it down in longhand works better for the memorisation of facts than typing things in. I wish I knews of studies of retention like that. I'd really like to know why it is that this is so, in order that we can make sure we do not cheat our students of the tools they need to learn things. It is complicated by the fact that people differ in this matter, from the people with eidic or near eidic memories, who don't understand why people need tricks to learn how to memorise things, to people who can remember things that they read easier than things that they wrote, to people who can remember neither of those well, but do remember the spoken voice well. Why are we like this? Has anybody figured this out yet? Laura From kirby.urner at gmail.com Sat Oct 24 20:15:47 2009 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 24 Oct 2009 11:15:47 -0700 Subject: [Edu-sig] Summarizing some threads (KIrby again)... In-Reply-To: <200910240551.n9O5phw9018829@theraft.openend.se> References: <200910240551.n9O5phw9018829@theraft.openend.se> Message-ID: On Fri, Oct 23, 2009 at 10:51 PM, Laura Creighton wrote: > A problem arises when one has to learn new material. ?For many of us, > actually writing the material down makes us retain it better. ?And for > me, at any rate, writing it down in longhand works better for the > memorisation of facts than typing things in. > When still in Manila at International School, I enrolled in Evelyn Wood Reading Dynamics class. We were taught some techniques I was skeptical about, but practiced anyway (this was costing my parents some money). One such technique (which I immediately saw the point of), was regarding reading technical literature (such as computer science books): study any pictures, diagrams, charts, ahead of reading the article or chapter so that when you're reading, you don't have to break off when the text mentions said figures, as you already have some sense of them. Another technique was to immediately do a "closed book recall" after reading i.e. write something to summarize the content. We were encouraged to diagram our recalls i.e. lots of nodes and edges, circled and boxed concepts, connecting lines -- many examples were given in the course of the training. Students often don't get enough constructive coaching in learning how to learn. They get to college and maybe just resort to imitating what others are doing e.g. put a tiny tape recorder on the lecturer's desk thinking "why try to transcribe in my notebook if I can get a complete audio recording?" From there it's a short hop to "why even go to class if I can hear the tape later and maybe download the slides from a web site?" But is that the right question to be asking in the first place? How is an audio tape going to solve the "in one ear, out the other" problem for you, if that's the problem you're having? I really enjoy a good lecture and like to sit mesmerized, without taking any notes. In many geek conferences, the attendees in a presentation are sampling a technical topic (e.g. Xul or AJAX) that's not necessarily their cup of tea and they want to "half listen" in the sense of "get the flavor". Everyone has a lap top and many gaze into their screens as the presentation unfolds, not taking notes but doing other things. We accept this from adults (they have this freedom, are present voluntarily), but the stereotypical teacher is typically asking for "your undivided attention" (a common phrase). We've all seen the movie where the teacher discovers Johnny is doodling and holds up the paper for classroom ridicule. Of course that might be considered highly unprofessional by today's standards, but that doesn't change the past. Constructivism was/is in large degree about developing a more student-centric model of learning that demanded more active participation from students, less passive listening and regurgitating of stuff memorized just long enough to pass a test, then forgotten. Computer programming is a constructive activity and many students appreciate the impartial and immediate feedback of the Python interpreter, which gives error messages, raises exceptions, without any sense of a personal judgment. Teachers are often unable to keep a tone of impatience out of their voice in response to some questions, so you often get that stereotypical classroom with "star students" asking the "right questions" and/or giving the "right answers" with a marginalized pool afraid to "sound stupid" in front of their peers. > I wish I knews of studies of retention like that. ?I'd really like to > know why it is that this is so, in order that we can make sure we do > not cheat our students of the tools they need to learn things. ?It is > complicated by the fact that people differ in this matter, from the > people with eidic or near eidic memories, who don't understand why > people need tricks to learn how to memorise things, to people who can > remember things that they read easier than things that they wrote, to > people who can remember neither of those well, but do remember the > spoken voice well. ?Why are we like this? ?Has anybody figured this > out yet? > > Laura We're probably a long way from having an authoritative brain science on this, plus many would turn to psychology. The explanations will differ as well, e.g. so-and-so has a problem with lectures because so-and-so had a strict father and is angry against authority figures, so tunes out, insists on daydreaming and clinging to a personal train of thought as an act of defiance against perceived oppression. Someone else has a problem with lectures because they have an undiagnosed hearing problem or is chronically malnourished. Many a teenager is up late watching TV or playing multi-user games over the Internet, comes to school groggy, half asleep. Many high school teachers have become truly accomplished thespians in their desire to win the undivided attention of their kids. One of my daughter's teachers gesticulates wildly, inadvertently gave a kid a bloody nose the other day when making a dramatic hand gesture. Many have resorted to techniques of stern intimidation. The classroom is less about curriculum content than power politics or class issues under the surface. Even if someone loves the lecture format, that may not be the best way to learn the subject. The experimental sciences have led the charge in constructivist circles (ala Karplus et al) given lab work is not just about developing one's passive listening skills. My overall impression is constructivism has had more success in science teaching circles than math teaching.[0] My own journey: I was a full time high school math teacher for two years in the 1980s. I've also worked in text book publishing (McGraw-Hill). Since I've started frequenting geek conferences, I've been more interested in taking what I've seen in that subculture and adapting it for classroom situations, e.g. the idea of a lightning talk (similar to the older idea of "show and tell"). I've continued sporadic teaching of high school aged students via Portland's Saturday Academy though am currently not doing that. I volunteer with a lobby that wants to converge computers and mathematics more successfully and that is working on fine tuning the mix.[1] Back to Python and polyhedra: I think it's the feedback cycle that's important, closing the gap between "things I do as a student" and "changes I see in my environment". So like with Python or POV-Ray code, we'll pull up an already written script that already does something cool, then look for ways to simply tweak the code slightly, to get an almost immediate change. Color and camera angle come to mind, as obvious places to start. Kirby [0] http://coffeeshopsnet.blogspot.com/2009/02/about-constructivism.html [1] http://worldgame.blogspot.com/2009/08/education-planning.html From vceder at canterburyschool.org Mon Oct 26 03:26:53 2009 From: vceder at canterburyschool.org (Vern Ceder) Date: Sun, 25 Oct 2009 22:26:53 -0400 Subject: [Edu-sig] At last... Posters and Virtual posters at PyCon Message-ID: <4AE508ED.5060808@canterburyschool.org> Hi everyone. I'm pleased to announce that we are now accepting proposals for both regular and virtual posters for PyCon 2010 in Atlanta. For full details and to submit a poster or virtual poster, please visit http://us.pycon.org/2010/conference/posters/ This will be a first time for poster sessions at this conference, with the idea largely arising from discussions that Steve Holden, Kirby and I had after last year's PyCon. Fortunately the PyCon organizers rather quickly decided that posters would add a valuable dimension to the conference's perennial theme "Connecting the Community" and we have strong support. Among other things, posters will be a great way for educators and their students to get their feet wet with a less formal and more interactive PyCon presentation, and to share and get recognition for the work they are doing with Python. If someone can't make it to the conference, we are also offering the chance to present a "virtual" poster, a recorded video of their poster presentation. Virtual posters will be played in rotation on a monitor during the conference posters sessions (assuming resources are available), and will be archived as part of the PyCon video stream. So spread the word - all levels of the Python in/and/about/with Education communities (in fact, ALL Python communities!) are invited to submit. Oh, yeah, if you have any questions or find any errors in the poster session pages, please let me know. A bigger poster push will come with the announcement of the regular talk decisions, so here's your chance to get on board early. ;) Cheers, Vern Ceder, PyCon Poster Session Coordinator -- This time for sure! -Bullwinkle J. Moose ----------------------------- Vern Ceder, Director of Technology Canterbury School, 3210 Smith Road, Ft Wayne, IN 46804 vceder at canterburyschool.org; 260-436-0746; FAX: 260-436-5137 From echerlin at gmail.com Tue Oct 27 21:55:25 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Tue, 27 Oct 2009 13:55:25 -0700 Subject: [Edu-sig] Fwd: Donald McIntyre In-Reply-To: <238cfbc0-743f-45e3-a975-01c9913f3bf4@r24g2000prf.googlegroups.com> References: <307946b8-13f5-4527-949f-98115957e3df@t11g2000prh.googlegroups.com> <238cfbc0-743f-45e3-a975-01c9913f3bf4@r24g2000prf.googlegroups.com> Message-ID: FYI. Much loved in the APL community. ---------- Forwarded message ---------- From: Curtis A. Jones Date: Tue, Oct 27, 2009 at 08:34 Subject: Fwd: Donald McIntyre To: APLBUG at listserv.acm.org ---------- Forwarded message ---------- From: Roger Hui Date: Oct 25, 8:48?pm Subject: Donald McIntyre To: comp.lang.apl Donald B. McIntyre (1923-08-15 to 2009-10-21) passed away peacefully in the afternoon of October 21. ?Donald was an eminent geologist who pioneered the use of computers in geology. He was a gifted and inspiring teacher, an early and long-time APL and J user, and a friend and colleague of Ken Iverson and myself. ?He is survived by his wife Ann and his son Ewen. A memorial service will be held in St. John's Kirk in Perth, Scotland, this coming Friday, October 30. Information about Donald's life and times and his work can be found athttp://www.dbmcintyre.pwp.blueyonder.co.uk/ -- Edward Mokurai (??/???????????????/????????????? ?) Cherlin Silent Thunder is my name, and Children are my nation. The Cosmos is my dwelling place, the Truth my destination. http://www.earthtreasury.org/ From kirby.urner at gmail.com Wed Oct 28 19:25:09 2009 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 28 Oct 2009 11:25:09 -0700 Subject: [Edu-sig] Python for Philosophers Message-ID: I've been seeing some conversations aimed at expanding the Python community (the community of Python users) beyond the world of computer science and IT, into the Liberal Arts more generally.[0] Of course this is music to my ears. Parallel to this notion that ordinary math learning would be enhanced through mastery of an "executable math notation" (aka a programming language) [K. Iverson], is the idea that contemporary academic philosophy curricula should take these languages more seriously. What's closer to fulfilling the Leibnizian dream of automating thinking, modal logic or Python? Not that it's either/or of course. I've been looking at this one of the Wittgenstein lists.[1] Speaking of philosophy, old timers here know I've poked at this issue of "objectification" i.e. in some corners "to objectify" is a bad thing to do, means you're at best being a cold fish, at worst being inhumane to your fellow humans. I've flagged this as a PR issue we need to address. Along those lines, I've buried a comment for feedback, probably won't get any (too buried).[2] Wev'e got James Bennett in the Django tribe, yakking about the relevance of a philosophy background to his work with Python.[3] Imagine a four-year philosophy program that actually featured some programming. How would we connect Python to a philosophy of mind thread? I try my hand at forging that link on said Wittgenstein list (concluding paragraphs).[4] Kirby [0] http://archives.free.net.ph/message/20090831.140043.d7465e01.en.html [1] http://www.freelists.org/post/wittrsamr/More-on-meaning-as-use-reply-to-Josh,1 [2] http://theangryblackwoman.com/2009/10/01/the-dos-and-donts-of-being-a-good-ally/#comment-26523 [3] Excerpt from http://uswaretech.com/blog/2008/04/interview-with-james-bennett-django-release-manager/ James: Well, I wouldn?t say there?s anything specific necessarily. But I think there?s a big place for people with liberal-arts backgrounds to come to programming, and I think philosophy?s a good path to do that. If you look at a typical philosophy program, you?re doing a lot of logic, a lot of critical analysis, a lot of abstract reasoning. You have to get comfortable sooner or later with all sorts of formalisms that don?t necessarily have any practical meaning, and that?s very similar in a lot of ways to programming :) And when you get right down to it, as programmers, about 90% of what we?re paid to do is think: our job is to take a problem, analyze it, break it down into pieces and solve them. And that?s not terribly different from what you spend four years doing in a philosophy program. I?ve actually joked about that a bit with some of my former professors, that I still get to argue as much as when I was doing philosophy, but the programming pays a lot better. I do think, though, that there?s a big need for that sort of thing; we don?t really teach critical thinking anymore, and while it?s a vital skill to have no matter what you do for a living, it?s absolutely crucial to programming. So if you can get a good liberal-arts background where you?ve been taught how to look at things and pick them apart and analyze them, you can definitely do well as a programmer. Though it?d also be a good idea to take at least a few elective math courses? [4] http://www.freelists.org/post/wittrsamr/More-on-meaning-as-use Computer languages were far less evolved when Wittgenstein was writing, however they today provide a clear exhibit of meaning as use, as the language games have everything to do with driving machinery, making things happen, more like those "orders in battle" he was talking about (indeed, we speak of "imperative languages" sometimes, of expressions as "commands"). In the Python language, one tends to use the word "self" a lot, and indeed it plays an analogous role to "self" in ordinary speech, in that every object has one, and because of this "self", each object is "personalized" i.e. rendered distinct from every other, even if it arises from the same blueprint or class definition. Academic logicians may have no training in such a language, as analytic philosophy hasn't upgraded very quickly. If we ever get to a point where contemporary high level computer languages get into the philosophical literature, post-Wittgensteinian especially, we may find we're blessed with yet another tool for dislodging outmoded ways of conceiving of "meaning". [ Speaking of Python, we also have a strong nominalist model in that everything is an object and every object has its names (note use of the plural). Yes, that's right, the very same object may have lots and lots of names, all pointing to the very same thing. It's only when a thing ceases to have any names at all that it's automatically "garbage collected", meaning the memory it occupied is now free to hold other things instead (this memory is called "the heap"). ] So in computer languages we have language games in which "self" has plenty of meaning. It would also be quite permissible to use the word "mind" in place of "self" (the Python interpreter would not fuss at this). Yet no one imagines that this use of "self" or "mind" is with reference to some spooky mental phenomenon that we can't quite put our hands on. There's far less superstition about what it takes for these words to be meaningful. For this reason alone I would urge anyone wishing to understand the later Wittgenstein to pay some attention to computer languages. Kirby From lac at openend.se Wed Oct 28 19:32:17 2009 From: lac at openend.se (Laura Creighton) Date: Wed, 28 Oct 2009 19:32:17 +0100 Subject: [Edu-sig] Python for Philosophers In-Reply-To: Message from kirby urner of "Wed, 28 Oct 2009 11:25:09 MST." References: Message-ID: <200910281832.n9SIWHNQ012025@theraft.openend.se> I think that a course in Epistemology that ended up in Bayesian logic and probability would be pretty cool. Laura From kirby.urner at gmail.com Wed Oct 28 20:02:44 2009 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 28 Oct 2009 12:02:44 -0700 Subject: [Edu-sig] Python for Philosophers In-Reply-To: References: Message-ID: On Wed, Oct 28, 2009 at 11:25 AM, kirby urner wrote: << trim >> ADDENDUM: > > [0] http://archives.free.net.ph/message/20090831.140043.d7465e01.en.html > I acknowledge in advance that some here may send up a red flag re my citing of a post by Xah Lee. The late Arthur Siegel mentioned him a ways back in this archive, asking if I knew him (answer: not yet). http://mail.python.org/pipermail/edu-sig/2006-September/007247.html http://mail.python.org/pipermail/python-list/2009-March/172547.html But then both Arthur and I have had our share of detractors, so it's not my place, as a teapot, to call the kettle black. http://answers.yahoo.com/question/index?qid=20080107065526AAOSeeK (explaining the idiom). Kirby PS: I see Xah really likes Abbott's 'Flatland', which I do as social satire, but then I think it's been over-used to pump up certain brands of shamanism within the math-physics community (yes, that's a provocative way of putting it, which Juan rightly questioned -- did my best to explain here): http://groups.google.com/group/mathfuture/msg/776d6b1dc2c526c5?hl=en From kristin.baaki at gmail.com Wed Oct 28 20:15:31 2009 From: kristin.baaki at gmail.com (Kristin Baaki) Date: Wed, 28 Oct 2009 15:15:31 -0400 Subject: [Edu-sig] Practice Programs/Problems Message-ID: <81e71b0b0910281215y71837d3dm139b01bfdc392f26@mail.gmail.com> Hi All, I was hoping someone could recommend a book of practice programs/problems. I've been creating all my class exercises and large programming projects on my own and at times I've run out of ideas. If someone could point me in the right directions I'd appreciate it. Thank you in advance, Kristin -------------- next part -------------- An HTML attachment was scrubbed... URL: From lac at openend.se Wed Oct 28 20:43:49 2009 From: lac at openend.se (Laura Creighton) Date: Wed, 28 Oct 2009 20:43:49 +0100 Subject: [Edu-sig] Practice Programs/Problems In-Reply-To: Message from Kristin Baaki of "Wed, 28 Oct 2009 15:15:31 -0400." <81e71b0b0910281215y71837d3dm139b01bfdc392f26@mail.gmail.com> References: <81e71b0b0910281215y71837d3dm139b01bfdc392f26@mail.gmail.com> Message-ID: <200910281943.n9SJhnTt020477@theraft.openend.se> In a message of Wed, 28 Oct 2009 15:15:31 -0400, Kristin Baaki writes: >--===============2029537282== >Content-Type: multipart/alternative; boundary=001485f6cc72512f6b0477039e5 >3 > >--001485f6cc72512f6b0477039e53 >Content-Type: text/plain; charset=ISO-8859-1 > >Hi All, > >I was hoping someone could recommend a book of practice programs/problems >. >I've been creating all my class exercises and large programming projects >on >my own and at times I've run out of ideas. If someone could point me in >the >right directions I'd appreciate it. > >Thank you in advance, > >Kristin I get lots of good stuff, and more ideas about how to make more good stuff here: http://www.uselesspython.com/ Laura From kirby.urner at gmail.com Wed Oct 28 20:44:54 2009 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 28 Oct 2009 12:44:54 -0700 Subject: [Edu-sig] Practice Programs/Problems In-Reply-To: <81e71b0b0910281215y71837d3dm139b01bfdc392f26@mail.gmail.com> References: <81e71b0b0910281215y71837d3dm139b01bfdc392f26@mail.gmail.com> Message-ID: Are web resources OK, and programs/problems in what area? Just generic "help me learn Python" type problems? The little challenges posed to students in this annual contest are pretty good. I should do more to get them on the web someplace, had earlier contacted their author for a PDF version -- let's see if I can find it, get permission to share more widely... http://techstart.org/willamette If you're willing to get into 3rd party libraries then I recommend the Sandes book. http://www.manning.com/sande/ Don't forget to download your free copy of How To Think Like a Computer Scientist, or read it on-line: http://www.scribd.com/doc/19333433/How-to-think-like-a-computer-scientist-learning-with-python Kirby On Wed, Oct 28, 2009 at 12:15 PM, Kristin Baaki wrote: > Hi All, > > I was hoping someone could recommend a book of practice programs/problems. > I've been creating all my class?exercises and large programming projects on > my own and at times I've run out of ideas.? If someone could point me in the > right directions I'd appreciate it. > > Thank you in advance, > > Kristin > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > From kirby.urner at gmail.com Wed Oct 28 20:51:28 2009 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 28 Oct 2009 12:51:28 -0700 Subject: [Edu-sig] Python for Philosophers In-Reply-To: <200910281832.n9SIWHNQ012025@theraft.openend.se> References: <200910281832.n9SIWHNQ012025@theraft.openend.se> Message-ID: On Wed, Oct 28, 2009 at 11:32 AM, Laura Creighton wrote: > I think that a course in Epistemology that ended up in Bayesian > logic and probability would be pretty cool. > > Laura > > Agreed. This was a topic at OS Bridge this summer, which I unfortunately didn't manage to attend: http://opensourcebridge.org/sessions/20 Kirby PS: OSCON is coming back to Portland next year. We'll be having OS Bridge as well, woo hoo. From macquigg at ece.arizona.edu Wed Oct 28 22:03:40 2009 From: macquigg at ece.arizona.edu (David MacQuigg) Date: Wed, 28 Oct 2009 14:03:40 -0700 Subject: [Edu-sig] Practice Programs/Problems In-Reply-To: <81e71b0b0910281215y71837d3dm139b01bfdc392f26@mail.gmail.com> References: <81e71b0b0910281215y71837d3dm139b01bfdc392f26@mail.gmail.com> Message-ID: <4AE8B1AC.6080408@ece.arizona.edu> Kristin Baaki wrote: > I was hoping someone could recommend a book of practice > programs/problems. I've been creating all my class exercises and > large programming projects on my own and at times I've run out of > ideas. If someone could point me in the right directions I'd > appreciate it. We had a good start with the PyWhip project http://pywhip.appspot.com, then we lost our volunteer website developer. If you can find someone to fill that role, maybe we can resume. I know there was a lot of interest from other teachers. The focus of PyWhip is on small problems, and lots of repetition. It's an interactive websitel, not a textbook, although I think the help files could do well as teaching aids. -- Dave From krstic at solarsail.hcs.harvard.edu Wed Oct 28 23:11:42 2009 From: krstic at solarsail.hcs.harvard.edu (=?UTF-8?Q?Ivan_Krsti=C4=87?=) Date: Wed, 28 Oct 2009 15:11:42 -0700 Subject: [Edu-sig] Practice Programs/Problems In-Reply-To: <81e71b0b0910281215y71837d3dm139b01bfdc392f26@mail.gmail.com> References: <81e71b0b0910281215y71837d3dm139b01bfdc392f26@mail.gmail.com> Message-ID: Hi Kristin, not a book, but Project Euler () is a great repository of mathematical problems ordered by difficulty and designed to be solved by programs. Many of the problems would make excellent starting points for being expanded into deeper programming exercises with milestone goals for students in addition to the pursuit of the end solution. Cheers, -- Ivan Krsti? | http://radian.org From kirby.urner at gmail.com Thu Oct 29 00:03:08 2009 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 28 Oct 2009 16:03:08 -0700 Subject: [Edu-sig] Practice Programs/Problems In-Reply-To: References: <81e71b0b0910281215y71837d3dm139b01bfdc392f26@mail.gmail.com> Message-ID: On Wed, Oct 28, 2009 at 12:44 PM, kirby urner wrote: << trim >> > The little challenges posed to students in this annual contest are > pretty good. ?I should do more to get them on the web someplace, had > earlier contacted their author for a PDF version -- let's see if I can > find it, get permission to share more widely... > > http://techstart.org/willamette > Here we go: http://www.willamette.edu/~fruehr/ -- hi Fritz, I'm one of your long time fans based on your work for the Oregon high school contest, know Chris Brooks from his work the TechStart (I used to volunteer for SAO way back in the day, coming through FreeGeek.org at one point, these days am on the board of ISEPP.org). I don't know if you recycle those little challenge problems, but if they're suitable for putting on the web as a resource, be assured I'd be directing my peers on this Python list (edu-sig) to your stash. Kirby Urner Portland, Oregon > On Wed, Oct 28, 2009 at 12:15 PM, Kristin Baaki wrote: >> Hi All, >> >> I was hoping someone could recommend a book of practice programs/problems. >> I've been creating all my class?exercises and large programming projects on >> my own and at times I've run out of ideas.? If someone could point me in the >> right directions I'd appreciate it. >> >> Thank you in advance, >> >> Kristin >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig at python.org >> http://mail.python.org/mailman/listinfo/edu-sig >> >> > From echerlin at gmail.com Thu Oct 29 06:07:01 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Wed, 28 Oct 2009 22:07:01 -0700 Subject: [Edu-sig] Python for Philosophers In-Reply-To: References: Message-ID: My degree is in Math and Philosophy. Most of the Foundations of Mathematics courses were in the Philosophy department back then, including a lot of what turned into Computer Science. On Wed, Oct 28, 2009 at 11:25, kirby urner wrote: > I've been seeing some conversations aimed at expanding the Python > community (the community of Python users) beyond the world of computer > science and IT, into the Liberal Arts more generally.[0] ?Of course > this is music to my ears. The Two Cultures prejudice is one of the worst ever. > Parallel to this notion that ordinary math learning would be enhanced > through mastery of an "executable math notation" (aka a programming > language) [K. Iverson], is the idea that contemporary academic > philosophy curricula should take these languages more seriously. > > What's closer to fulfilling the Leibnizian dream of automating > thinking, modal logic or Python? ?Not that it's either/or of course. > I've been looking at this one of the Wittgenstein lists.[1] We're doing quite well at Artificial Stupidity, I hear. ;-> > Speaking of philosophy, old timers here know I've poked at this issue > of "objectification" i.e. in some corners "to objectify" is a bad > thing to do, means you're at best being a cold fish, at worst being > inhumane to your fellow humans. Reification is also a problem. Most people imagine a world made of things. Wittgenstein tried to imagine a world made of facts. Some scientists have noticed that this is a world of a) we don't know what and b) we don't know how to think about it. Mathematically, the world could just as well (or as poorly) be composed of relations or processes. > I've flagged this as a PR issue we > need to address. ?Along those lines, I've buried a comment for > feedback, probably won't get any (too buried).[2] > > Wev'e got James Bennett in the Django tribe, yakking about the > relevance of a philosophy background to his work with Python.[3] > > Imagine a four-year philosophy program that actually featured some > programming. As I said, I did that--Turing machines and several of the Church-equivalent systems, modal and combinatorial logic, recursive function theory, non-standard arithmetic and analysis... > How would we connect Python to a philosophy of mind > thread? ?I try my hand at forging that link on said Wittgenstein list > (concluding paragraphs).[4] > > Kirby > > > > [0] http://archives.free.net.ph/message/20090831.140043.d7465e01.en.html > > [1] http://www.freelists.org/post/wittrsamr/More-on-meaning-as-use-reply-to-Josh,1 > > [2] http://theangryblackwoman.com/2009/10/01/the-dos-and-donts-of-being-a-good-ally/#comment-26523 > > [3] Excerpt from > http://uswaretech.com/blog/2008/04/interview-with-james-bennett-django-release-manager/ > > James: Well, I wouldn?t say there?s anything specific necessarily. But > I think there?s a big place for people with liberal-arts backgrounds > to come to programming, and I think philosophy?s a good path to do > that. If you look at a typical philosophy program, you?re doing a lot > of logic, a lot of critical analysis, a lot of abstract reasoning. You > have to get comfortable sooner or later with all sorts of formalisms > that don?t necessarily have any practical meaning, and that?s very > similar in a lot of ways to programming :) And when you get right down > to it, as programmers, about 90% of what we?re paid to do is think: > our job is to take a problem, analyze it, break it down into pieces > and solve them. And that?s not terribly different from what you spend > four years doing in a philosophy program. I?ve actually joked about > that a bit with some of my former professors, that I still get to > argue as much as when I was doing philosophy, but the programming pays > a lot better. I do think, though, that there?s a big need for that > sort of thing; we don?t really teach critical thinking anymore, and > while it?s a vital skill to have no matter what you do for a living, > it?s absolutely crucial to programming. So if you can get a good > liberal-arts background where you?ve been taught how to look at things > and pick them apart and analyze them, you can definitely do well as a > programmer. Though it?d also be a good idea to take at least a few > elective math courses? > > [4] http://www.freelists.org/post/wittrsamr/More-on-meaning-as-use > > Computer languages were far less evolved when > Wittgenstein was writing, however they today provide a > clear exhibit of meaning as use, as the language games > have everything to do with driving machinery, making > things happen, more like those "orders in battle" he > was talking about (indeed, we speak of "imperative > languages" sometimes, of expressions as > "commands"). > > In the Python language, one tends to use the word > "self" a lot, and indeed it plays an analogous role to > "self" in ordinary speech, in that every object has one, > and because of this "self", each object is "personalized" > i.e. rendered distinct from every other, even if it > arises from the same blueprint or class definition. > > Academic logicians may have no training in such a language, > as analytic philosophy hasn't upgraded very quickly. ?If we > ever get to a point where contemporary high level > computer languages get into the philosophical literature, > post-Wittgensteinian especially, we may find we're blessed > with yet another tool for dislodging outmoded ways of > conceiving of "meaning". > > [ Speaking of Python, we also have a strong nominalist > model in that everything is an object and every object > has its names (note use of the plural). ?Yes, that's right, > the very same object may have lots and lots of names, > all pointing to the very same thing. ?It's only when a > thing ceases to have any names at all that it's > automatically "garbage collected", meaning the memory > it occupied is now free to hold other things instead > (this memory is called "the heap"). ] > > So in computer languages we have language games in > which "self" has plenty of meaning. ?It would also be quite > permissible to use the word "mind" in place of "self" (the > Python interpreter would not fuss at this). ?Yet no one > imagines that this use of "self" or "mind" is with reference > to some spooky mental phenomenon that we can't quite > put our hands on. ?There's far less superstition about what > it takes for these words to be meaningful. > > For this reason alone I would urge anyone wishing to > understand the later Wittgenstein to pay some attention > to computer languages. > > Kirby > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -- Edward Mokurai (??/???????????????/????????????? ?) Cherlin Silent Thunder is my name, and Children are my nation. The Cosmos is my dwelling place, the Truth my destination. http://www.earthtreasury.org/ From aharrin at luc.edu Thu Oct 29 15:42:57 2009 From: aharrin at luc.edu (Andrew Harrington) Date: Thu, 29 Oct 2009 09:42:57 -0500 Subject: [Edu-sig] PyWhip Message-ID: What has happened to PyWhip? It looks like the answers immediately appear with problems, and some one changed the code for a submission of mine to something strange. Is there any activity with it? -- Andrew N. Harrington Director of Academic Programs Computer Science Department Loyola University Chicago 512B Lewis Towers (office) Snail mail to Lewis Towers 416 820 North Michigan Avenue Chicago, Illinois 60611 http://www.cs.luc.edu/~anh Phone: 312-915-7982 Fax: 312-915-7998 gpd at cs.luc.edu for graduate administration upd at cs.luc.edu for undergrad administration aharrin at luc.edu as professor -------------- next part -------------- An HTML attachment was scrubbed... URL: From macquigg at ece.arizona.edu Thu Oct 29 16:33:41 2009 From: macquigg at ece.arizona.edu (David MacQuigg) Date: Thu, 29 Oct 2009 08:33:41 -0700 Subject: [Edu-sig] PyWhip - call for website developer In-Reply-To: References: Message-ID: <4AE9B5D5.6020604@ece.arizona.edu> Hi Andrew, Our website developer, Athar Hameed, got involved in a startup business, which took 110% of his time, and we didn't quite finish cleaning up some problems, which you have noticed. I looked briefly at finishing it myself, using Web2py, but as much as I would like to learn those skills, I just don't have the time (at least for a few more months). I would sure like to see this project completed. I'm willing to contribute some more of my time as editor, and even writing another module or two, but teamwork is essential. I'm confident we will get enough contributions from teachers. The critical part now is the website developer. Hey maybe we can get some kind of educational grant, and hire a developer. -- Dave ************************************************************ * * David MacQuigg, PhD email: macquigg at ece.arizona.edu * * * Research Associate phone: USA 520-721-4583 * * * * ECE Department, University of Arizona * * * * 9320 East Mikelyn Lane * * * * http://purl.net/macquigg Tucson, Arizona 85710 * ************************************************************ * Andrew Harrington wrote: > What has happened to PyWhip? It looks like the answers immediately > appear with problems, and some one changed the code for a submission > of mine to something strange. > > Is there any activity with it? From manchor at gmail.com Thu Oct 29 16:45:51 2009 From: manchor at gmail.com (Angke Chen) Date: Thu, 29 Oct 2009 11:45:51 -0400 Subject: [Edu-sig] PyWhip - call for website developer In-Reply-To: <4AE9B5D5.6020604@ece.arizona.edu> References: <4AE9B5D5.6020604@ece.arizona.edu> Message-ID: <7f4d8d30910290845i53e1199eua52120285512d9cb@mail.gmail.com> Hi, I have some free time and lots of experience with python, Django and Google App Engine. Maybe I can be of some help maintaining the PyWhip site. I can send some one in charge a copy of my resume if needed. Best, Angke On Thu, Oct 29, 2009 at 11:33 AM, David MacQuigg wrote: > Hi Andrew, > > Our website developer, Athar Hameed, got involved in a startup business, > which took 110% of his time, and we didn't quite finish cleaning up some > problems, which you have noticed. ?I looked briefly at finishing it myself, > using Web2py, but as much as I would like to learn those skills, I just > don't have the time (at least for a few more months). > > I would sure like to see this project completed. ?I'm willing to contribute > some more of my time as editor, and even writing another module or two, but > teamwork is essential. ?I'm confident we will get enough contributions from > teachers. ?The critical part now is the website developer. > > Hey maybe we can get some kind of educational grant, and hire a developer. > > -- Dave > > ************************************************************ ? ? * > * David MacQuigg, PhD ? ?email: macquigg at ece.arizona.edu ? * ?* > * Research Associate ? ? ? ? ? ? ? ?phone: USA 520-721-4583 ? * ?* ?* > * ECE Department, University of Arizona ? ? ? ? ? ? ? ? ? ? ? * ?* ?* > * ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 9320 East Mikelyn Lane ? ? ? * * * > * http://purl.net/macquigg ? ? ? ?Tucson, Arizona 85710 ? ? ? ? ?* > ************************************************************ ? ? * > > > > Andrew Harrington wrote: >> >> What has happened to PyWhip? ?It looks like the answers immediately appear >> with problems, and some one changed the code for a submission of mine to >> something strange. >> >> Is there any activity with it? > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -- "????????" -- ?? manchor at gmail.com 248-383-5269 From kirby.urner at gmail.com Thu Oct 29 19:50:03 2009 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 29 Oct 2009 11:50:03 -0700 Subject: [Edu-sig] Python for Philosophers In-Reply-To: References: Message-ID: On Wed, Oct 28, 2009 at 10:07 PM, Edward Cherlin wrote: > My degree is in Math and Philosophy. Most of the Foundations of > Mathematics courses were in the Philosophy department back then, > including a lot of what turned into Computer Science. > I did philosophy as well, as an undergrad at Princeton (had to write a thesis and everything). My focus with Ludwig Wittgenstein's later philosophy especially, though I was also taking advantage of having Walter Kaufmann as a teacher, reading my Nietzsche 'n stuff. Richard Rorty was my thesis adviser. I also studied Marx-Freud in conjunction (Adorno etc.), took a History of Mentalities class that was pretty wild 'n crazy (autobio of Malcolm X was assigned reading). Kaufmann had just discovered Erhard's punchy philosophy lectures that previous summer and gets credit for nudging me into a kind of philosophical activism which eventually had me hooking up with the Bucky Fuller group, meeting that network. I was Buckminster Fuller Institutes first web wrangler after he died in 1983, working with Kiyoshi Kuromiya. http://mybizmo.blogspot.com/2008/02/philosophy-101.html http://www.grunch.net/synergetics/kiyoshi.html Bill Thurston, the famous topologist, was my honors calculus teacher (you have to teach undergrads at Princeton, no matter how famous and valuable your time). http://www.youtube.com/watch?v=R_w4HYXuo9M http://www.youtube.com/watch?v=x7d13SgqUXg This is where I discovered APL and started haunting the engineering quadrangle (E-quad), sneaking in at night to play with the APL graphics terminals by Tektronix, or sneaking time on a Unix-based PDP with a guest account. But mostly I just had to use punch cards and job control language in those early days of time sharing mainframes, pre-PC. FORTRAN, PL/1... a little this, a little that. Later I became an xBase coder as a day job, mostly working for non-profits and local government agences (that'd be dBase II, III, IV, Foxpro 2, Microsoft Visual Foxpro 3-9). However, growing up I was more thinking I'd be a psychoanalyst someday, maybe a Jungian or something. I was getting into Ernest Becker's 'The Denial of Death' and then Normon O. Brown's 'Love's Body' 'n stuff, a literature I've continued to follow right up to the present, taking 'Walking with Nobby' to the Chicago Pycon as airplane reading. http://controlroom.blogspot.com/2009/03/airplane-reading.html > On Wed, Oct 28, 2009 at 11:25, kirby urner wrote: >> I've been seeing some conversations aimed at expanding the Python >> community (the community of Python users) beyond the world of computer >> science and IT, into the Liberal Arts more generally.[0] ?Of course >> this is music to my ears. > > The Two Cultures prejudice is one of the worst ever. > Yeah, C.P. Snow's chasm. When Dr. Wulf, head of National Academy of Engineering came to Portland, that's what he wanted to talk about: http://mybizmo.blogspot.com/2005/04/last-isepp-lecture-2005.html >> Parallel to this notion that ordinary math learning would be enhanced >> through mastery of an "executable math notation" (aka a programming >> language) [K. Iverson], is the idea that contemporary academic >> philosophy curricula should take these languages more seriously. >> >> What's closer to fulfilling the Leibnizian dream of automating >> thinking, modal logic or Python? ?Not that it's either/or of course. >> I've been looking at this one of the Wittgenstein lists.[1] > > We're doing quite well at Artificial Stupidity, I hear. ;-> > AS -- I like it. AI by another name. Or maybe AI = RS (Artificial Intelligence = Real Stupidity). http://mybizmo.blogspot.com/2008/04/philosophy-posting.html >> Speaking of philosophy, old timers here know I've poked at this issue >> of "objectification" i.e. in some corners "to objectify" is a bad >> thing to do, means you're at best being a cold fish, at worst being >> inhumane to your fellow humans. > > Reification is also a problem. Most people imagine a world made of > things. Wittgenstein tried to imagine a world made of facts. Some > scientists have noticed that this is a world of a) we don't know what > and b) we don't know how to think about it. Mathematically, the world > could just as well (or as poorly) be composed of relations or > processes. So pick a paradigm and go with it. In a math, we like internal consistency, elegance, a game with clear enough rules that at least it's playable. In OO, we distill everything to objects, which you could describe as giving into a prejudice, going for reification all the way (in for a penny, in for a pound), but hey, it's one way to think. We have others. It's "maths" in the plural in the UK, not a monolithic one size fits all problem domains. > >> I've flagged this as a PR issue we >> need to address. ?Along those lines, I've buried a comment for >> feedback, probably won't get any (too buried).[2] >> >> Wev'e got James Bennett in the Django tribe, yakking about the >> relevance of a philosophy background to his work with Python.[3] >> >> Imagine a four-year philosophy program that actually featured some >> programming. > > As I said, I did that--Turing machines and several of the > Church-equivalent systems, modal and combinatorial logic, recursive > function theory, non-standard arithmetic and analysis... > In Wittgenstein's later philo, ala Remarks on the Foundations of Mathematics, you have a kind of break from the Anglo-analytic views of the day, in which something called Logic underpins everything "higher". He said logic underpins mathematics much as a painted foundation supports a painted castle (paraphrase). In any case, I'm seeing a lot of good reasons to link his notion of "language games" to our more modern idea of "namespaces". My live-and-let-live philosophy is all about a "no global variables" way of thinking i.e. let's not pretend we're all trying to get into the same namespace once and for all (an imperialist agenda). There are only so many cool words that we'd all like to use, and that old philosophical maneuver "If you don't mean what I mean by 'gravity' then you should say 'shmavity'" is just so *not* what we do in computer programming anymore. We both use 'gravity' but disambiguate by being explicit about namespaces. Undergrads learning philosophy today need to learn about namespaces I'm thinking, why not? Kirby > -- > Edward Mokurai (??/???????????????/????????????? ?) Cherlin > Silent Thunder is my name, and Children are my nation. > The Cosmos is my dwelling place, the Truth my destination. > http://www.earthtreasury.org/ > From kirby.urner at gmail.com Fri Oct 30 17:16:32 2009 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 30 Oct 2009 09:16:32 -0700 Subject: [Edu-sig] Python for Philosophers In-Reply-To: References: Message-ID: I was thinking more about this Python for Philosophers thread and decided to write some "pathological Python" to help make a point, thought readers here might be interested... Note in the short class definition below, that not only do I not use the name 'self' (which is not a keyword) but I use alternative names in each of the two special name methods, 'cogito' and 'me' respectively. Whereas this isn't great style (and I emphasize this in my "Short Talk") it does drive home the point that this first argument is *positional* and has meaning only within that method's scope, so yeah, fine to use any legal name and even to change what that name is from one method to the next ("fine" in the sense of not upsetting the interpreter -- other readers of your code may not appreciate your quirkiness). For more context: http://controlroom.blogspot.com/2009/10/short-talk.html class Animal: """ A template for any Animal. What's somewhat pathological is the handle to the self object is not consistently named between methods, only within methods -- more traditionally, we would use the word 'self' in place of both 'cogito' and 'me'. """ species = 'unspecified' # set below def __init__(cogito): # my birth event """aquires the species from the template itself Make it be special to me (one self per instance) """ cogito.species = Animal.species def __repr__(me): # my representation return me.color + ' ' + \ me.species + ' ( sex: ' + me.sex + ')' Kirby