From guido@python.org Mon Jun 2 02:24:05 2003 From: guido@python.org (Guido van Rossum) Date: Sun, 01 Jun 2003 21:24:05 -0400 Subject: [Edu-sig] Learning software for 10-13 year olds Message-ID: <200306020124.h521O5409970@pcp02138704pcs.reston01.va.comcast.net> Excuse the slightly off-topic post. My neighbor has asked me for some suggestions for educational software for her two boys, 10 and 13. She'd like them to get better computer skills. Quoting from her email: > My older son just turned 13, and the younger is 10. I find my own > computer skills so inadequate for my needs, because of this I want > my kids to come be very computer literate. > > As I continued my search yesterday, I came across one program that > seemed excellent but perhaps a little to young for my kids called > Toon Talk. I then stumbled onto a program that seemed perfect for > me, called Macromedia Authorware. If they had a kid-oriented > interface on it would be perfect. (One where you made a rocket blast > off instead of a cloud move, as I learned to do yesterday. > > I want my kids to learn some basic programming, programming language > and website creation skills. If any of your colleagues are familiar > anything that can lead them through the process with interactive > tutorials, that would be great. It doesn't have to look like a > video game or have talking animals, but it can't be filled with huge > blocks of text to read either, because they won't bother. When I > find what I'm looking for, I'll probably use it myself as well. I > desparately need to develop some of my own skills [...] The restriction on huge blocks of text pretty much rules out any Python tutorials I am aware of -- but maybe there are some that I'm not aware of? I vaguely recall thinking that Toon Talk was pretty good -- opinions? --Guido van Rossum (home page: http://www.python.org/~guido/) From urnerk@qwest.net Mon Jun 2 19:28:15 2003 From: urnerk@qwest.net (Kirby Urner) Date: Mon, 02 Jun 2003 11:28:15 -0700 Subject: [Edu-sig] Learning software for 10-13 year olds In-Reply-To: <200306020124.h521O5409970@pcp02138704pcs.reston01.va.comca st.net> Message-ID: <5.2.0.9.0.20030602111851.01133dc8@pop.ptld.qwest.net> At 09:24 PM 6/1/2003 -0400, Guido van Rossum wrote: >The restriction on huge blocks of text pretty much rules out any >Python tutorials I am aware of -- but maybe there are some that I'm >not aware of? > >I vaguely recall thinking that Toon Talk was pretty good -- opinions? > >--Guido van Rossum (home page: http://www.python.org/~guido/) Although ToonTalk looks like it's for little kids, you can get pretty creative and "adult" in your modes of usage. I think it's worth buying. A new version is due out soon, but is free to those getting the current one. Another candidate is Squeak. Our old friend Alice now shows up in that environment as Squeak-Alice. See: http://www.squeak.org/features/graphics.html plus the home page. When it comes to Python, LiveWires has recently moved to a PyGame- based approach. There are still blocks of text in the tutorials though. A solution is for the parent to do the tutorials then show the kids. http://www.livewires.org.uk/python/ Kirby From Jason Cunliffe" Message-ID: <000c01c32acf$37e8b3e0$6501a8c0@vaio> Greetings > > My older son just turned 13, and the younger is 10. I find my own > > computer skills so inadequate for my needs, because of this I want > > my kids to come be very computer literate. I have an unusual but serious suggestion for your friends.. 1. POSER 5 http://www.curiouslabs.com/go/poser5?df=1 $319 [or buy Poser 4 for $99 and upgrade later if it is a success.] Poser is a remarkable 3-D character animation software. Programmable digital puppet and animation environment. I was fascinated by puppets and scale models at that age. Kids now are surrounded by computer games, Playstation and films like the Matrix etc. Poser goes behind the scenes to let you make your own. You can learn so much about essential computer skills like experimentation, trial and error, naming things well, import/export, format and filetypes, component re-user, planning and story/script/program development. It develops interface and resource management skills they will need for the rest of their lives if they work with computers.. But that sounds heavy. It's not,. Poser offers immediate hands-on fun while teaching one to build things in a modern digital environment. Great tool for kids together to share using and the creative building experience. I imagine parental encouragement and the kids own sense of play will guide them very well to develop key skills. Under the hood is lots of math and cool engineering. Poser's Python scripting provides access to that, but they will have to grow into that. http://www.curiouslabs.com/ Pros: - Lots of Fun, young kids will be able to immediately get results, but this is a sophisticated software they can grow into for a long time. - Teaches about management of resources, input/output, libraries etc. - Community download and import characters, accessories, objects, motions and more from the web - Very object-oriented, hands-on inheritance, behaviors, nested attributes, building and re-use of objects, etc - Encourages both experimentation, variations and advance planning - Python API allows incredible script control of Poser. "Python Script Support: The customized Poser Python object-oriented scripting language lets you perform and automate advanced Poser functions. Manipulate scene objects and export data for your own use. " Cons: - Not directly oriented for building websites, but great for making content for them: "Web Enabled: Use Viewpoint Experience Technology to export Web-deployable characters and animated 3D content for your Web pages. Export 2D Macromedia's Flash Web animations directly from Poser scenes." - Python Scripting is an powerful feature, but requires learning to program Python elsewhere first. best wishes Jason From Jason Cunliffe" May 21 | 2003 | Tech Talk: Working engineers show frosh the ropes This is the third in a series of articles on educational initiatives that bring innovation into the classroom... "In electrical engineering, the students are not connected to the physical world any more. They are not ham radio operators; they have not taken apart their cars. As a result, there's a rather tenuous connection between the nice mathematical concepts and the practical applications in the real world," said Gerald Sussman, the Matsushita Professor of Electrical Engineering. "On the other hand, they're more sophisticated in some ways. They come in knowing how to program. So instead of teaching them to program, we teach them to solder." http://web.mit.edu/newsoffice/tt/2003/may21/ed-computer.html Jason From simon@arrowtheory.com Fri Jun 6 08:14:32 2003 From: simon@arrowtheory.com (Simon Burton) Date: Fri, 6 Jun 2003 17:14:32 +1000 Subject: [Edu-sig] Fwd: Working engineers show frosh the ropes In-Reply-To: <000701c32bf5$3a377240$6501a8c0@vaio> References: <000701c32bf5$3a377240$6501a8c0@vaio> Message-ID: <20030606171432.61d97cad.simon@arrowtheory.com> How is this related to python? Yes, python is excellent in the class room, what else is new? Simon Burton. On Fri, 6 Jun 2003 02:31:12 -0400 "Jason Cunliffe" wrote: > May 21 | 2003 | Tech Talk: Working engineers show frosh the ropes > From ajsiegel@optonline.net Fri Jun 6 18:16:16 2003 From: ajsiegel@optonline.net (Arthur) Date: Fri, 06 Jun 2003 13:16:16 -0400 Subject: [Edu-sig] re: Learning software for 10-13 year olds Message-ID: <3EE0CC60.5070303@optonline.com> Guido writes - >My neighbor has asked me for some suggestions for educational software >for her two boys, 10 and 13. She'd like them to get better computer >skills. In my own case, as a child of 40, the availability of Linux became the starting point of exploration below the most surface level of computers. I consider myself an open source fan, not a zealot. And would recommend she take a shot at a Linux install as a starting point. RH9.0 is a breeze. More to the point might be: Debian Jr. Project Debian for children from 1 to 99 http://www.debian.org/devel/debian-jr/ and http://www.ofset.org/freeduc/ catalogues a wide assortment of open source software (running on Linux) aimed at education and children. She knows best what might appeal to her children, so would recommed that she spend some time exploring the resources catalogued there. Art From ajsiegel@optonline.net Fri Jun 6 18:45:15 2003 From: ajsiegel@optonline.net (Arthur) Date: Fri, 06 Jun 2003 13:45:15 -0400 Subject: [Edu-sig] re: Learning software for 10-13 year olds Message-ID: <3EE0D32B.6070007@optonline.com> In a bit of synchronicity, a moment ago I searched on "terminal server Linux" becuase I need to access a client's machine running NT Terminal Server from my Linux box. I usually do it from my Windows portable - which is down. I know it to be easily done from Linux, but forgot the specifics. And came across this as a first page hit: Welcome to the K-12Linux Project! http://www.k12ltsp.org/ Which has a sub-project: http://k12ltsp.org/contents.html Welcome to the K12 Linux Terminal Server Project! aimed at providing easy access to network software infrastructure for use of Linux in education. And which also happens to give me the answer and link to my original question as to accessing NT terminal server - that being rdesktop. From ajsiegel@optonline.net Sat Jun 7 19:12:05 2003 From: ajsiegel@optonline.net (Arthur) Date: Sat, 07 Jun 2003 14:12:05 -0400 Subject: [Edu-sig] re: Learning software for 10-13 year olds Message-ID: <3EE22AF5.8090107@optonline.com> >More to the point might be: >Debian Jr. Project >Debian for children from 1 to 99 >http://www.debian.org/devel/debian-jr/ >and >http://www.ofset.org/freeduc/ Guess I'm off on a consectutive post binge again. but having touted Freeduc I thought I should explore it further. And am excited by what I found and thought I might describe it further/better than previously. Freeduc makes available an iso image which is a run from CD Linux system chock full of apps of potential interest to children and K-12 educators. It is interntionized from the ground up. One boots by selecting a language. End of configuration option issues. It booted flawlessly on my Dell, welcoming me through my sound card, after having booted up a nice XServer. It starts Apache on boot and runs local help resources through it. My internet connection was found at boot, and I was browsing (with Galeon) not necessary aware wether I was local or on the Net. In other words I had done exactly 0 configuration and was quite well in business. A little remarkable, to me. Think it to be a great resource for someone such as Guido's neighbor. The latest image includes Python2.2.2. On the app side I see Sketch http://sketch.sourceforge.net/ prominently in the default menu system. don't see Idle, which is a shame. Guess I will start some lobbying for idle, vpython, and eventually - when it is truly ready for prime time, PyGeo - those coinciding with my own particular interests. The prime movers behind Freeduc are the developers of Dr.Genius, a 2d GUI based dynamic geoemtry construction kit. So I am dealing with folks quite knowledgeable about dynamic geoemtry software. Hoping they will see something innovative about PyGeo, in ways that are complementary to their own work. I have successfully redesigned PyGeo so that it works nicely from the interactive prompt - allowing geometric constructions to proceed interactively line by line. The main thing missing at this point being full users docs, and a good tutorial. My first stab at a start to the tutorial ends of being a general introducation to Python as experienced from the interactive prompt. My tact will be very non-technical, but will try to introduce Python "experientially" - most particularly making users aware of the interactive help facilities (I am building __doc__ strings into the PyGeo source), and some basic introspection facilities. E.g. walking through a dir() call before and then after an import has been made - giving, I hope, an intutitve sense of namespaces and what is happening behind the scenes. And then on to some specifics as to PyGeo. Art From Jason Cunliffe" Head First Java Your Brain on Java - A Learner's Guide By Kathy Sierra, Bert Bates May 2003 Series: Head First 0-596-00465-6, Order Number: 4656 650 pages, $39.95 US, $61.95 CA, £28.50 UK http://www.oreilly.com/catalog/hfjava/chapter/index.html This might make some of you cringe.. Judging from the online samples it looks like it might be a good book to hand to kids [us all] who are just getting into programming. Would be cool if a Python version were available. I'd love to hear your reactions. - Jason From urnerk@qwest.net Wed Jun 11 02:06:28 2003 From: urnerk@qwest.net (Kirby Urner) Date: Tue, 10 Jun 2003 18:06:28 -0700 Subject: [Edu-sig] Polynomial object (trimmed down) In-Reply-To: <000701c32d57$c772cca0$6501a8c0@ValuedSonyCustomer> Message-ID: <5.2.0.9.0.20030610174707.02b85ad0@pop.ptld.qwest.net> I've posted re a Polynomial object here before, but the trimmed-down one below I like for its streamlined multiplication method. Check usage examples. This is an excerpt from a couple of my PowerPoint slides for OSCON, which were due today, for my presentation 'Python in Education'. I did a dry run for a patient and helpful PORPIG audience last night (that's the Portland Python Interest Group) and it seemed to go pretty well. I learned not to say "Pahvray" for POV-Ray though -- a long time ray tracer was in attendance. It's "Pee Oh Vee Ray". class Poly (object): def __init__ (self,coeffs): self.coeffs = coeffs def __call__ (self,x): return sum([b*x**i for i,b in enumerate(self.coeffs)]) def __repr__ (self): r = ' + '.join(["(%s * x**%s)" % (b,i) for i,b in enumerate(self.coeffs) if b<>0]) return r.replace(' * x**0','') def __mul__ (self, other): outerp = [( e1+e2, c1*c2 ) for e1,c1 in enumerate(self.coeffs) for e2,c2 in enumerate(other.coeffs)] sums = {} # add like terms in dictionary for t in outerp: sums[t[0]] = sums.get(t[0],0) + t[1] return Poly([sums[i] for i in range(len(sums))]) >>> from pyedu import * >>> p = Poly([1,2,3,4]) >>> s = Poly([1,0,2,0,5]) >>> p (1) + (2 * x**1) + (3 * x**2) + (4 * x**3) >>> s (1) + (2 * x**2) + (5 * x**4) >>> s*p (1) + (2 * x**1) + (5 * x**2) + (8 * x**3) + (11 * x**4) + (18 * x**5) + (15 * x**6) + (20 * x**7) Kirby From zaar@sjrc.melb.catholic.edu.au Wed Jun 11 06:26:22 2003 From: zaar@sjrc.melb.catholic.edu.au (Rob Zaar) Date: Wed, 11 Jun 2003 15:26:22 +1000 Subject: [Edu-sig] python in high school Message-ID: <001001c32fd9$ff060860$3314950a@sjrc.melb.catholic.edu.au> I am new to python ( and generally new to these intricacies and thus take all these comments as a stab at trying to say something without having the time to back them all up, yet, I think there is still a need to say them). I would like to use python as the programming language for the programming subjects we run. Ideally, it would be an easy task if Boa constructor were up to scratch (which I hope it will be soon, but not soon enough for our college) since having a graphical IDE is important. Price is important. I have come to python through plone (zope/cmf). We have a toss up between VB 6.0 and me pushing for python. The decision needs to be made soon for next year. We were using J++ (don't ask). Low price will push it past the 'all the other programming teachers like VB' hurdle, as long as it had an IDE that had drag and drop components. I think this would also be good for python in the long term in terms of increasing python use. Overall, there will be a general window of opportunity open while VB 6.0 schools hold off going to VB .NET. Once schools have good VB .NET resources available the majority of Victorian schools will probably jump the hurdle to VB .NET eventually. Your thoughts? Robert Zaar Head of Religious Education St John's Regional College DANDENONG Ph: 9791 3366 This E-mail and any attachments may be confidential. If you are not the addressee indicated in this message (or responsible for delivery of the message to such person), you may not copy or deliver this message to anyone, and you should destroy this message and kindly notify the sender by reply email. St John's Regional College does not represent or warrant that the attached files are free from computer viruses or other defects. The attached files are provided, and may only be used, on the basis that the user assumes all responsibility for any loss, damage or consequence resulting directly or indirectly from the use of the attached files, whether caused by the negligence of the sender or not. The liability of St John's Regional College is limited in any event to either the resupply of the attached files or the cost of having the attached files resupplied. Any representations or opinions expressed in this E-mail are those of the individual sender, and not necessarily those of St John's Regional College. From urnerk@qwest.net Wed Jun 11 06:43:34 2003 From: urnerk@qwest.net (Kirby Urner) Date: Tue, 10 Jun 2003 22:43:34 -0700 Subject: [Edu-sig] python in high school In-Reply-To: <001001c32fd9$ff060860$3314950a@sjrc.melb.catholic.edu.au> Message-ID: <5.2.0.9.0.20030610223702.01dc1960@pop.ptld.qwest.net> At 03:26 PM 6/11/2003 +1000, Rob Zaar wrote: >Your thoughts? > >Robert Zaar >Head of Religious Education >St John's Regional College >DANDENONG >Ph: 9791 3366 Does your school have any room for questioning the assumption that it has to be either/or, i.e. only one language should be taught? It might help to have more details about your curriculum. Why are drag and drop widgets in a graphical IDE so important at the outset? Kirby From jhrsn@pitt.edu Wed Jun 11 13:58:38 2003 From: jhrsn@pitt.edu (Jim Harrison) Date: Wed, 11 Jun 2003 08:58:38 -0400 Subject: [Edu-sig] python in high school In-Reply-To: <001001c32fd9$ff060860$3314950a@sjrc.melb.catholic.edu.au> Message-ID: on 6/11/03 1:26 AM, Rob Zaar at zaar@sjrc.melb.catholic.edu.au wrote: > We have a toss up between VB 6.0 and me pushing for python. The decision needs > to be made soon for next year. We were using J++ (don't ask). Low price will > push it past the 'all the other programming teachers like VB' hurdle, as long > as it had an IDE that had drag and drop components. I think this would also be > good for python in the long term in terms of increasing python use. Most students involved in high-school-level programming courses now will have a computer at home. One of the most useful qualities for an instructional programming language is the ability for students to work with it outside of class or structured computing lab time--and to use it later for their own projects or just exploring. I understand that this is not the traditional approach in secondary school instruction but that's an artifact of home computers not being widespread enough in the past to assume access for most students. Can you imagine teaching math without homework problems? Things have changed in programming instruction and are continuing to change. Even curriculum guides and lesson plan templates. Python offers a high quality language and generally useful development environment that is 1) free and 2) runs on any conceivable hardware/software a student might have at home or that might be in local public access facilities like libraries. This includes pretty much any version of Windows likely to be encountered, MacOS, MacOSX, Linux and various unixes, plus a number of more rare platforms. The install is straightforward. Thus python offers the possibility of including homework/exercises which provide immediate feedback via the debugger. :-) Furthermore, source code files can be shared directly between these platforms. I should know...I use python to teach a graduate programming course with a medical informatics flavor in which I use MacOSX for presentation and homework evaluation. Files are submitted by students running Windows (mostly), but also Linux and MacOSX. All our computer lab work is done on Windows machines using stuff I prepare on OSX. No problem. This is not the case with VB, which 1) entails significant cost and licensing issues which may change over time, 2) runs and compiles on only one platform, and 3) has relatively narrow hardware/software requirements even within that platform. It's quite possible in the near future that students might have Windows machines at home and the wherewithal to buy VB, but might need to upgrade both Windows and their hardware at additional cost to be able to run VB.NET. Why saddle yourself and your students with these problems? Having a graphical IDE is less important for programming instruction than you might think. In fact, you can easily make the case that if you're going to use a graphical IDE, it's better to start students without it and then introduce it partway into the curriculum. Python gives you that opportunity within the framework of one language. While I'm also pulling for Boa Constructor (on MacOSX!), I would think that a fairer and more meaningful comparison vs. VB would be to a commercial IDE such as Wing (http://wingide.com/) or ActiveState's Visual Python (http://www.activestate.com/Products/Visual_Python/). The latter even lets you pay money to confine yourself to Windows, Visual Studio and .NET--just like VB! However, knowing Python, the students will leave the curriculum with something they can extend to any environment should they have the need. Jim Harrison University of Pittsburgh From redwards@golgotha.net Wed Jun 11 17:01:50 2003 From: redwards@golgotha.net (Randy Edwards) Date: Wed, 11 Jun 2003 12:01:50 -0400 Subject: [Edu-sig] python in high school In-Reply-To: References: Message-ID: <3EE7526E.5000105@golgotha.net> I see Python as simply more suited to educational use and intro programming than VB. Forcing indentation, its readability, its *lack* of GUI drag-and-drop widgets means that students have more of a clue as to what's going on. > even within that platform. It's quite possible in the near future that > students might have Windows machines at home and the wherewithal to buy VB, The educational versions of VB are fairly cheap, and in schools I've seen that most interested students buy the educational version (it's what, something like $60?). The problems with this are many. To mention a couple, if you exclude only *one* excited, wannabe compsci programmer because of money issues, you're dead wrong. One cannot overestimate the power of (legally) giving an excited student a program and saying, "Hey, take that home and play with it." Isn't one key goal that teachers are aiming for is to create lifelong learners who will learn on their own? Also, those educational copies of VB have a highly restricted license agreement -- they can't be used for commercial work. I've seen several cases of an excited kid wanting to turn his new VB skills into work creating some cheesy app for the local video store. Cool, but should we be *teaching* kids to violate license agreements from the word go? > Having a graphical IDE is less important for programming instruction than > you might think. In fact, you can easily make the case that if you're going > to use a graphical IDE, it's better to start students without it and then > introduce it partway into the curriculum. As a former compsci professor, I wholeheartedly agree on both points! The gotcha is that popular culture views things differently. This is akin to the history teacher trying to teach that there's more to history than watching biased documentaries on TV... -- Regards, | Asking an MSCE to make an unbiased choice about . | software is like asking a Ford dealer's mechanic Randy | how reliable Toyotas or Pontiacs are. From simon@arrowtheory.com Wed Jun 11 22:03:12 2003 From: simon@arrowtheory.com (Simon Burton) Date: Thu, 12 Jun 2003 07:03:12 +1000 Subject: [Edu-sig] intro Message-ID: <20030612070312.71432b63.simon@arrowtheory.com> Hullo fellow python champions, thought i'd introduce myself. I lecture in programming and "design structures"(=math) to postgraduates in electronic arts at the Australian Centre for the Arts ant Technology (ACAT): http://www.anu.edu.au/ITA/ACAT/ I also work with artists programming python for real-time/interactive image/sound stuff. Yes, i have fun with python, that's a priority for me, but my background is in maths and I do hope to get back to being a scientist one day. Um, so what am i doing here? I'm just near to finishing a first semester of teaching python programming to total beginners. Boy did i learn a lot. And i'd like to share some of that with you all, in good time. But first, let's talk code. Simon. -- Simon Burton, B.Sc. Licensed PO Box A66 ANU Canberra 2601 Australia Ph. 02 6249 6940 \ ------------------------\ ------------------------/ http://arrowtheory.com / From missive@hotmail.com Wed Jun 11 23:17:59 2003 From: missive@hotmail.com (Lee Harr) Date: Wed, 11 Jun 2003 22:17:59 +0000 Subject: [Edu-sig] Re: python in high school Message-ID: I do not think an IDE is really the way to start people off programming, but if you are running windows you may not have much choice. I can't imagine teachers really want to start teaching programming with graphical widgets like in vb. That said, I created a fairly complex application using PythonCard over the past couple of weeks, and it works pretty well. It is not an ide though. One thing you might want to look at is QT Designer on Linux or BSD. The ui files can be converted to python code automatically (for py-qt) using pyuic. Again, it is not a complete python gui, but the interface is very nice and the same ui code could be used from c++ also if that was of interest. Another way to go would be to teach programming using python to make games. I have a library of code built on pygame which makes getting started with programming much simpler: http://www.nongnu.org/pygsear/ _________________________________________________________________ Add photos to your e-mail with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail From ajsiegel@optonline.net Thu Jun 12 01:48:06 2003 From: ajsiegel@optonline.net (Arthur) Date: Wed, 11 Jun 2003 20:48:06 -0400 Subject: [Edu-sig] re: intro Message-ID: <3EE7CDC6.4000301@optonline.com> Simon writes: >Hullo fellow python champions, thought i'd introduce myself. >I lecture in programming and "design structures"(=math) to >postgraduates in electronic arts >at the Australian Centre for the Arts ant Technology (ACAT): >http://www.anu.edu.au/ITA/ACAT/ >I also work with artists programming python for real-time/interactive >image/sound stuff. Thought you might be interested in what a countryman is up to, as it seems to me it has great potential in the "Arts and Technology" arena. Don't know the geography - but maybe you can even make Shaun's seminar. A recent posting of Shaun Press from the VPython list: """ I have modified Visual Python to run on The Wedge system at the Department of Computer Science, Australian National University. The Wedge is a 3D Immersive Environment, which presents scenes in real 3D. The details about The Wedge can be found at http://escience.anu.edu.au (usage information) and http://ephebe.anu.edu.au/wedge/index.html (technical and hardware information). Credit must also go to Hugh Fisher (author of the Stereo Visual Python Program) for assisting with the 3D transformation calculations. I have also added a couple of extras to Visual Python New shapes: Pyramid and Frustum New shape set: Points (which are a set of single points on the screen) New shape attribute: Wire (when true the shape is drawn as a wire frame) I am giving a seminar next week on the project and I hope to have slides/screenshots/source available after that. Shaun Press Department of Systems Engineering Research School of Information Sciences and Engineering Australian National University """ From simon@arrowtheory.com Thu Jun 12 08:38:41 2003 From: simon@arrowtheory.com (Simon Burton) Date: Thu, 12 Jun 2003 17:38:41 +1000 Subject: [Edu-sig] re: intro In-Reply-To: <3EE7CDC6.4000301@optonline.com> References: <3EE7CDC6.4000301@optonline.com> Message-ID: <20030612173841.74d7180e.simon@arrowtheory.com> On Wed, 11 Jun 2003 20:48:06 -0400 Arthur wrote: > Simon writes: > > >Hullo fellow python champions, thought i'd introduce myself. > > >I lecture in programming and "design structures"(=math) to > >postgraduates in electronic arts > >at the Australian Centre for the Arts ant Technology (ACAT): > >http://www.anu.edu.au/ITA/ACAT/ > > >I also work with artists programming python for real-time/interactive > >image/sound stuff. > > Thought you might be interested in what a countryman is up to, as it > seems to me it has great potential in the "Arts and Technology" arena. > > Don't know the geography - but maybe you can even make Shaun's seminar. > woops - it was yesterday - but i just went to see him and got the rundown. hmmm, maybe we need a python user group here in canberra... And yes, it's relevant. One thing i'd like is to be able to view scenes via pyopengl but then get HiQ renders from povray. I think kirby has done some stuff here, but can't quite work out where he's at. just released pypov today: http://arrowtheory.com/software/python/pypov/index.html it's a super light weight wrapper over povray files... the goal is to enable code to be OpenGLed or Povrayed (the matrix math for this is a PITA). Once again, Maestro Kirby has done something here i think. ah, so Shaun showed me some VPython stuff and lo! someone has written a povray backend - so i'll be checking that out ... and no doubt finding reasons for using my own code instead ;-} (the great thing about python is re-inventing the wheel is usually pretty trivial) Thanks! Simon. From mcfletch@rogers.com Thu Jun 12 09:54:00 2003 From: mcfletch@rogers.com (Mike C. Fletcher) Date: Thu, 12 Jun 2003 04:54:00 -0400 Subject: [Edu-sig] re: intro In-Reply-To: <20030612173841.74d7180e.simon@arrowtheory.com> References: <3EE7CDC6.4000301@optonline.com> <20030612173841.74d7180e.simon@arrowtheory.com> Message-ID: <3EE83FA8.6080807@rogers.com> Simon Burton wrote: >On Wed, 11 Jun 2003 20:48:06 -0400 >Arthur wrote: > > ... >One thing i'd like is to be able to view scenes via pyopengl but then get HiQ renders from povray. >I think kirby has done some stuff here, but can't quite work out where he's at. > >just released pypov today: > >http://arrowtheory.com/software/python/pypov/index.html > >it's a super light weight wrapper over povray files... the goal is to >enable code to be OpenGLed or Povrayed (the matrix math for this >is a PITA). Once again, Maestro Kirby has done something here i think. > Looking at the web-page, this looks like it would be a straightforward functionality to add to OpenGLContext (which can load a fairly large fraction of VRML97). I'd probably write the code as a completely new module, rather than using pypov. Don't currently have constructive solid geometry operations in OpenGLContext, however. Anyway, the point I was hoping to get to (some day ;) ) was; you can find much of the matrix-math already modelled for you in OpenGLContext, particularly in the "nodepath" objects (and their attendant support modules), which can generate forward and backward matrices through arbitrary VRML97 transforms (which give you most of the transformation types you'll find in real-world models). >ah, so Shaun showed me some VPython stuff and lo! someone has written a povray >backend - so i'll be checking that out ... and no doubt finding reasons for using >my own code instead ;-} (the great thing about python is re-inventing the wheel is >usually pretty trivial) > I've been thinking about creating wrapper prototypes to provide the equivalent of the VPython environment as part of the OpenGLContext 2.0.0 beta process (the goal being, in switching to the scenegraph model, to provide all the nice features, such as transparency, culling, geometry-loading, and textures that are available in your average scenegraph engine). Most of the complexity seems to be in providing the various controls (sliders, toggles, labels, etceteras), and in mapping the less rigorous scenegraph model (e.g. no separation for geometry, texture and material) into the more rigorous one. Similarly, mapping the synchronous interaction mechanisms of VPython to the callback/asynchronous mode of OpenGLContext will take some effort. PyOSG is another approach someone might take that might be more useful, as it includes scene-sorting (and has more than one developer's efforts available). It's targeted at being used (rather than at being a source of demo-code), so it would probably provide a better long-term platform for development. Anyway, just thinking out loud. Have fun all, Mike _______________________________________ Mike C. Fletcher Designer, VR Plumber, Coder http://members.rogers.com/mcfletch/ From urnerk@qwest.net Thu Jun 12 11:10:49 2003 From: urnerk@qwest.net (Kirby Urner) Date: Thu, 12 Jun 2003 03:10:49 -0700 Subject: [Edu-sig] re: intro In-Reply-To: <20030612173841.74d7180e.simon@arrowtheory.com> References: <3EE7CDC6.4000301@optonline.com> <3EE7CDC6.4000301@optonline.com> Message-ID: <5.2.0.9.0.20030612030046.0212c070@pop.ptld.qwest.net> At 05:38 PM 6/12/2003 +1000, Simon Burton wrote: >One thing i'd like is to be able to view scenes via pyopengl but then get >HiQ renders from povray. >I think kirby has done some stuff here, but can't quite work out where >he's at. > >just released pypov today: > >http://arrowtheory.com/software/python/pypov/index.html > >it's a super light weight wrapper over povray files... the goal is to >enable code to be OpenGLed or Povrayed (the matrix math for this >is a PITA). Once again, Maestro Kirby has done something here i think. Yeah, but I just carve out a very small API for doing a specific kind of rendering. I implement points, edges and faces (as spheres, cylinders and polygons) and that's it. There's only the one class, in charge of writing the Povray file, and these three core methods, which expect vector arguments (i.e. coordinates). I give minor control over camera position on initialization. The useful thing about this small API is I can use it with VRML (1.0 and 2.0) and some other output formats with no modifications (the output is different of course, but the API is the same). You'd think I'd have done an OpenGL version by now, but I haven't. >ah, so Shaun showed me some VPython stuff and lo! someone has written a povray >backend - so i'll be checking that out ... and no doubt finding reasons >for using >my own code instead ;-} (the great thing about python is re-inventing the >wheel is >usually pretty trivial) > >Thanks! > >Simon. I look forward to playing with your code. The Python + Povray synergy is a good one. Being able to draft in real time with an OpenGL window, then get a high definition still (or succession of stills) is a great way to go. Friends of mine do that real time stuff using Delphi and/or Java (don't even need Java3D), e.g. check SpringDance. http://www.shapeofspace.org/springdance/ Kirby From ajs@optonline.net Thu Jun 12 14:34:47 2003 From: ajs@optonline.net (Arthur) Date: Thu, 12 Jun 2003 08:34:47 -0500 Subject: [Edu-sig] re: intro Message-ID: <000501c330e7$64fa9bf0$1a02a8c0@BasementDell> Simon writes - >ah, so Shaun showed me some VPython stuff and lo! someone has written a povray >backend - so i'll be checking that out ... and no doubt finding reasons for using >my own code instead ;-} (the great thing about python is re-inventing the wheel is >usually pretty trivial) I have tried to make a small contribution to VPython's povray back-end. The version downloadable from the VPython site does not allow the export of VPython "faces" - triangle meshes. Povray3.5 added functionality that made that more possible, and I have added that functionality to povexport.py. Ruth Cabay, the original author of povexport.py for VPython is, I believe, vetting and testing the code for inclusion. In the meantime, if it comes up, I have it available. Art From delza@blastradius.com Thu Jun 12 17:01:33 2003 From: delza@blastradius.com (Dethe Elza) Date: Thu, 12 Jun 2003 09:01:33 -0700 Subject: [Edu-sig] re: intro In-Reply-To: <3EE83FA8.6080807@rogers.com> Message-ID: <232D7EA8-9CEF-11D7-9180-0003939B59E8@blastradius.com> Mike C. Fletcher wrote: > I've been thinking about creating wrapper prototypes to provide the > equivalent of the VPython environment as part of the OpenGLContext > 2.0.0 beta process (the goal being, in switching to the scenegraph > model, to provide all the nice features, such as transparency, > culling, geometry-loading, and textures that are available in your > average scenegraph engine). Wow, this sounds like exactly what I've been looking for! Three questions: When will it exist? Will it compile on OS X? What's a good entry point for learning OpenGLContext? I haven't been very vocal about this in the past, because 3D work is very much hobby stuff for me and I haven't had a lot of time for hobbies, but I would be willing to beta test and provide feedback on OS X if it provides the features you describe. > Most of the complexity seems to be in providing the various controls > (sliders, toggles, labels, etceteras), and in mapping the less > rigorous scenegraph model (e.g. no separation for geometry, texture > and material) into the more rigorous one. Similarly, mapping the > synchronous interaction mechanisms of VPython to the > callback/asynchronous mode of OpenGLContext will take some effort. A lot of VPython's complexity appear (to me) to be in providing it's own windowing code for each platform and handling threading issues. These two things kept me from porting it to run natively on OS X. Also, from the VPython list I gather their code organized in such a way that adding textures or transparency would be a major overhaul. Guess which 3 things top my wishlist for VPython or a VPython workalike? > PyOSG is another approach someone might take that might be more > useful, as it includes scene-sorting (and has more than one > developer's efforts available). It's targeted at being used (rather > than at being a source of demo-code), so it would probably provide a > better long-term platform for development. Is this a serious recommendation to avoid OpenGLContext? What are the tradeoffs? > Anyway, just thinking out loud. Have fun all, Please keep thinking out loud. In fact, think louder. --Dethe From mcfletch@rogers.com Thu Jun 12 17:55:44 2003 From: mcfletch@rogers.com (Mike C. Fletcher) Date: Thu, 12 Jun 2003 12:55:44 -0400 Subject: OpenGLContext (was: Re: [Edu-sig] re: intro) In-Reply-To: <232D7EA8-9CEF-11D7-9180-0003939B59E8@blastradius.com> References: <232D7EA8-9CEF-11D7-9180-0003939B59E8@blastradius.com> Message-ID: <3EE8B090.80907@rogers.com> Dethe Elza wrote: > Mike C. Fletcher wrote: > >> I've been thinking about creating wrapper prototypes to provide the >> equivalent of the VPython environment as part of the OpenGLContext >> 2.0.0 beta process (the goal being, in switching to the scenegraph >> model, to provide all the nice features, such as transparency, >> culling, geometry-loading, and textures that are available in your >> average scenegraph engine). > > > Wow, this sounds like exactly what I've been looking for! Three > questions: When will it exist? Will it compile on OS X? What's a > good entry point for learning OpenGLContext? OpenGLContext itself only includes a few very minor (and optional) extension modules which should compile without problem on any architecture where Python and Numeric Python can be compiled. PyOpenGL 2.0.1 (on which OpenGLContext is built) should compile on OS X (though the OS X peoples haven't yet contributed their deltas for building back to the core tree, there are binaries available (from fink, I believe)). I believe that mxTextTools is available for OS X, as should be FontTools (which should be completely portable) and PIL (common), so in theory, OpenGLContext *should* be OS X ready today with at least the GLUT context (wxPython and PyGame contexts should also work, but I'm not sure if the libraries are readily available on OS X), but I have no way to test that. Regarding timelines, I'm planning to release OpenGLContext 2.0.0 beta 1 this weekend, the major feature still being worked on for that is the system TrueType font support (finding and matching system fonts). The beta process will probably be three or four months long, with the features of the core library just being enhanced/fixed and more demos and documentation added. I would hope that preliminary support for the existing VPython mechanisms (excluding the "controls") would be a weekend's work. Can't begin to guess when that weekend would occur, however, as I'm currently searching for a job. I don't really have a good "entry point" document for learning OpenGLContext, beyond those on the web site: http://pyopengl.sourceforge.net/context/ http://pyopengl.sourceforge.net/context/documentation.html the NeHe conversions, in particular, are targeted at new OpenGL programmers. They don't, however deal with the (VRML97) scenegraph engine. I don't really have any user-focused documentation for that part of the system yet (the documentation there is targeted at those seeking to extend the scenegraph/learn OpenGL, rather than those trying to use the scenegraph as a stand-alone tool). > I haven't been very vocal about this in the past, because 3D work is > very much hobby stuff for me and I haven't had a lot of time for > hobbies, but I would be willing to beta test and provide feedback on > OS X if it provides the features you describe. The current OpenGLContext engine provides all the features (transparency, Frustum culling, texture loading, geometry loading), it's just a matter of providing bridges to the VPython APIs, meshing the various animation mechanisms, etceteras. >> Most of the complexity seems to be in providing the various controls >> (sliders, toggles, labels, etceteras), and in mapping the less >> rigorous scenegraph model (e.g. no separation for geometry, texture >> and material) into the more rigorous one. Similarly, mapping the >> synchronous interaction mechanisms of VPython to the >> callback/asynchronous mode of OpenGLContext will take some effort. > > > A lot of VPython's complexity appear (to me) to be in providing it's > own windowing code for each platform and handling threading issues. > These two things kept me from porting it to run natively on OS X. > Also, from the VPython list I gather their code organized in such a > way that adding textures or transparency would be a major overhaul. > Guess which 3 things top my wishlist for VPython or a VPython workalike? I would likely not do much toward creating GUI-library-specific windowing code, more likely I would work on an API for creating OpenGL-hosted controls (which would be generally useful to PyOpenGL developers) and use the existing cross-GUI OpenGL window code to host those in a separate window for the VPython-analogue API (as opposed to hosting them in an overlay layer, where a normal game-style engine would put them). >> PyOSG is another approach someone might take that might be more >> useful, as it includes scene-sorting (and has more than one >> developer's efforts available). It's targeted at being used (rather >> than at being a source of demo-code), so it would probably provide a >> better long-term platform for development. > > > Is this a serious recommendation to avoid OpenGLContext? What are the > tradeoffs? OSG is a large project, it has large numbers of contributors, and is undoubtedly many times faster and larger than OpenGLContext. OpenGLContext was designed to be a source of sample code for students trying to learn OpenGL (and in particular PyOpenGL) programming, and only has a single development (me). (For the most part) it works, but it isn't intended to be a professional quality scenegraph engine, it is a simplified sketch from which students can understand how scenegraph engines operate, and it is "tinkering friendly", as you can look under the hood without needing to switch languages. PyOSG is a new project, but it does build on a very extensive C++ project, so once all the kinks are worked out of the binding, it should be a more stable long-term platform. OSG is basically a rationalization and consolidation of scenegraph mechanisms, so you will see most scenegraph mechanisms available within it that you would ever want. That said, I'm not likely to work on it anytime soon, as it does not use PyOpenGL, and my primary need in the 3-D field these days is as the maintainer of PyOpenGL; i.e. needing sample and testing code to aid with PyOpenGL maintenance and education. If I were concerned primarily with creating new software for end-users, I would probably choose PyOSG, I just don't actually have that need at the moment. The thing is, beyond the "control" set and the particulars of the threading model, VPython should be fairly easy to implement on top of any scenegraph engine, so I can consider providing a bridge API as a "demo of existing features", rather than a separate project. I would imagine that the PyOSG developer (Gideon) would see the project similarly, merely a matter of translating the particular quirks of the VPython API to the particular quirks of the OSG engine. Enjoy, Mike _______________________________________ Mike C. Fletcher Designer, VR Plumber, Coder http://members.rogers.com/mcfletch/ From delza@blastradius.com Thu Jun 12 18:35:24 2003 From: delza@blastradius.com (Dethe Elza) Date: Thu, 12 Jun 2003 10:35:24 -0700 Subject: OpenGLContext (was: Re: [Edu-sig] re: intro) In-Reply-To: <3EE8B090.80907@rogers.com> Message-ID: <3FEB5B08-9CFC-11D7-9180-0003939B59E8@blastradius.com> Mike, thanks for the excellent summary. That was really helpful. I'll be looking more into both OpenGLContext and PyOSG soon. --Dethe From DanSV@aol.com Thu Jun 12 23:50:49 2003 From: DanSV@aol.com (DanSV@aol.com) Date: Thu, 12 Jun 2003 18:50:49 EDT Subject: [Edu-sig] Hello, and a new toy. Message-ID: <113.24b18f3c.2c1a5dc9@aol.com> --part1_113.24b18f3c.2c1a5dc9_boundary Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Hello. I plopped some software out on sourceforge, thought you folks might want to play with it. It's GPL, and written using wxPython. drpython.sourcefore.net The goal is to create a clean, simple ide that is reminiscent of DrScheme. Cheers, Dan --part1_113.24b18f3c.2c1a5dc9_boundary Content-Type: text/html; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable Hello.

I plopped some software out on sourceforge,
thought you folks might want to play with it.
It's GPL, and written using wxPython.

drpython.sourcefore.net

The goal is to create a clean, simple ide
that is reminiscent of DrScheme.

Cheers,
Dan
--part1_113.24b18f3c.2c1a5dc9_boundary-- From ajs@optonline.net Sat Jun 14 13:53:10 2003 From: ajs@optonline.net (Arthur) Date: Sat, 14 Jun 2003 07:53:10 -0500 Subject: [Edu-sig] Fw: [Ofset-freeduc] PythonCard? Message-ID: <000a01c33273$e98d3840$1a02a8c0@BasementDell> Look what Freeduc found. This kind of inquiry is actually unusual for that list. Perhaps someone from here who knows PythonCard (I haven't used it) might respond to Hilaire. Kevin? The list is at ofset-freeduc@lists.sourceforge.net Hilaire's address is below. Art ----- Original Message ----- From: "Hilaire Fernandes" To: "OFSET members" Cc: "Freeduc" Sent: Saturday, June 14, 2003 2:34 AM Subject: [Ofset-freeduc] PythonCard? > Hello > > Some of you do they know PyhtonCard? > > http://www.ofset.org/freeduc/view.php?softwareID=166 > > Hilaire Fernandes > > > ------------------------------------------------------- > This SF.NET email is sponsored by: eBay > Great deals on office technology -- on eBay now! Click here: > http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5 > _______________________________________________ > Ofset-freeduc mailing list > Ofset-freeduc@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/ofset-freeduc From etd1@edtechdev.org Sun Jun 15 05:50:56 2003 From: etd1@edtechdev.org (Doug Holton) Date: Sat, 14 Jun 2003 23:50:56 -0500 Subject: [Edu-sig] python in high school Message-ID: <3EEBFB30.90805@edtechdev.org> > I would like to use python as the programming language for the programming > subjects we run. Ideally, it would be an easy task if Boa constructor were > up to scratch (which I hope it will be soon, but not soon enough for our > college) since having a graphical IDE is important. Price is important. I > have come to python through plone (zope/cmf). We have a toss up between VB > 6.0 and me pushing for python. The decision needs to be made soon for next > year. We were using J++ (don't ask). Low price will push it past the 'all > the other programming teachers like VB' hurdle, as long as it had an IDE > that had drag and drop components. I think this would also be good for > python in the long term in terms of increasing python use. I'm very new to Python myself, but Qt seems to have an easy to use GUI builder that you can connect to Python using PyQt: http://www.trolltech.com/forms/eduprogram.html See also the book: http://www.opendocspublishing.com/pyqt/ I wrote a summary of some different rapid prototyping options, including the one you mentioned (Boa Constructor with wxPython): http://edtechdev.org/blog/archives/001217.html But I'm not sure if a GUI builder tool is necessary for your purposes. To use python for learning programming, the IDLE text editor is probably more appropriate. Learning the principles of programming is different than rapid prototyping. But I do agree with you that it would be nice to have a drag and drop Python GUI builder that kills VB. You drag a button into a form editor, for example, then doubleclick the button and it jumps right to the "onclick" handler in the code editor. This is how HyperCard and Supercard work too, but PythonCard and the other Python GUI builders do not do it this way. Again though, for students in programming classes, it's better that they learn how to create the event handlers themselves. From jjposner@snet.net Sun Jun 15 23:51:05 2003 From: jjposner@snet.net (John Posner) Date: Sun, 15 Jun 2003 18:51:05 -0400 Subject: [Edu-sig] RE: Edu-sig digest, Vol 1 #704 - 1 msg In-Reply-To: <20030615160004.19364.17918.Mailman@mail.python.org> Message-ID: <000501c33390$9ac36630$6f01a8c0@biped> >> -----Original Message----- >> From: edu-sig-admin@python.org >> [mailto:edu-sig-admin@python.org] On Behalf Of >> edu-sig-request@python.org >> Sent: Sunday, June 15, 2003 12:00 PM >> To: edu-sig@python.org >> Subject: Edu-sig digest, Vol 1 #704 - 1 msg >> >> >> Send Edu-sig mailing list submissions to >> edu-sig@python.org >> >> To subscribe or unsubscribe via the World Wide Web, visit >> http://mail.python.org/mailman/listinfo/edu-sig >> or, via email, send a message with subject or body 'help' to >> edu-sig-request@python.org >> >> You can reach the person managing the list at >> edu-sig-admin@python.org >> >> When replying, please edit your Subject line so it is more >> specific than "Re: Contents of Edu-sig digest..." >> >> >> Today's Topics: >> >> 1. Re: python in high school (Doug Holton) >> >> --__--__-- >> >> Message: 1 >> Date: Sat, 14 Jun 2003 23:50:56 -0500 >> From: Doug Holton >> Subject: Re: [Edu-sig] python in high school >> To: edu-sig@python.org >> >> > I would like to use python as the programming language for the >> > programming subjects we run. Ideally, it would be an easy >> task if Boa >> > constructor were up to scratch (which I hope it will be >> soon, but not >> > soon enough for our >> > college) since having a graphical IDE is important. Price >> is important. I >> > have come to python through plone (zope/cmf). We have a >> toss up between VB >> > 6.0 and me pushing for python. The decision needs to be >> made soon for next >> > year. We were using J++ (don't ask). Low price will push >> it past the 'all >> > the other programming teachers like VB' hurdle, as long >> as it had an IDE >> > that had drag and drop components. I think this would >> also be good for >> > python in the long term in terms of increasing python use. >> >> I'm very new to Python myself, but Qt seems to have an easy >> to use GUI >> builder that you can connect to Python using PyQt: >> http://www.trolltech.com/forms/eduprogram.html >> See also the book: http://www.opendocspublishing.com/pyqt/ >> >> I wrote a summary of some different rapid prototyping >> options, including >> the one you mentioned (Boa Constructor with wxPython): >> >> http://edtechdev.org/blog/archives/001217.html >> >> But I'm not >> >> sure if a GUI builder tool is necessary for your purposes. >> To use python for learning programming, the IDLE text >> editor is probably >> more appropriate. Learning the principles of programming >> is different >> than rapid prototyping. >> >> But I do agree with you that it would be nice to have a >> drag and drop >> Python GUI builder that kills VB. You drag a button into a >> form editor, >> for example, then doubleclick the button and it jumps right to the >> "onclick" handler in the code editor. This is how HyperCard and >> Supercard work too, but PythonCard and the other Python GUI >> builders do >> not do it this way. Again though, for students in >> programming classes, >> it's better that they learn how to create the event >> handlers themselves. >> >> >> >> >> >> --__--__-- >> >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig >> >> >> End of Edu-sig Digest >> From goodmansond@yahoo.com Mon Jun 16 01:39:46 2003 From: goodmansond@yahoo.com (Dean Goodmanson) Date: Sun, 15 Jun 2003 17:39:46 -0700 (PDT) Subject: [Edu-sig] RE: Python in High School, [Ofset-freeduc] PythonCard? Message-ID: <20030616003946.79176.qmail@web21103.mail.yahoo.com> I really can't tell by the last few posts if these are related, but I've been waiting for someone to point at PythonCard ( http://pythoncard.sourceforge.net/ ) in relation to the "Drag-and-Drop for Teaching Python" post. I've found Pythoncard is more VB-Like than HyperCard, and from reading the list off-and-on it has got the 'up and building in no time' feel. Cross-platform (and free) is a plus with the requirement of OS X for Mac. You may also be interested in the PyKarel project implementing Karel the Robot in Python http://sourceforge.net/projects/pykarel/ (Home page currently didn't render for me. Article here: http://www.onlamp.com/pub/a/python/2002/10/24/pythonnews.html Tossing potentially redundant information over the fence, Dean __________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com From ajs@optonline.net Mon Jun 16 15:09:13 2003 From: ajs@optonline.net (Arthur) Date: Mon, 16 Jun 2003 09:09:13 -0500 Subject: [Edu-sig] re: Hello, and a new toy. Message-ID: <000701c33410$ddac17f0$1a02a8c0@BasementDell> >Hello. >I plopped some software out on sourceforge, >thought you folks might want to play with it. >It's GPL, and written using wxPython. >drpython.sourcefore.net >The goal is to create a clean, simple ide >that is reminiscent of DrScheme. I took a test drive and found it clean and simple. The ability to set arguments is something I often find necessary and have found that an obvious way to do so - there in DrPython - to be missing from some more complex IDEs (though it's usually is there somewhere). OTOH, there isn't a lot of functionality of the sort that I tend not to pay much attention to. Clean and simple. Since it is wxPython based, is it possible it would make sense to call the enhanced shell, PyShell, shipped now with wxPython, rather than the plain old prompt? I am glad I am not in the Python IDE business though. A plethora of options and riches. Art From ajsiegel@optonline.net Tue Jun 24 19:39:51 2003 From: ajsiegel@optonline.net (ajsiegel@optonline.net) Date: Tue, 24 Jun 2003 14:39:51 -0400 Subject: [Edu-sig] re: book: Head First Java Message-ID: <81ddd7eb5b.7eb5b81ddd@optonline.net> Jason writes - >http://www.oreilly.com/catalog/hfjava/chapter/index.html >This might make some of you cringe.. Judging from the online samples it >looks like it might be a good book to hand to kids [us all] who are just >getting into programming. >Would be cool if a Python version were available. >I'd love to hear your reactions. Have not looked much at the samples chapter, but did look at the author interviews at http://www.onjava.com/pub/a/onjava/2003/06/18/head_first.html I am sympathetic with much of it. Especially that there does seem to be a true effort is defy expectations about how this kind of thing might be done. And in emphasizing: """We've known forever (at least since Socrates anyway) that learning is at its weakest when the learner is a passive receiver of information. The learner has to be engaged and actively flexing some neurons""" I translate this into an objection to doing *too* much for the student. I don't want a GUI doing too much of the "thinking" - for example. It might help a student get to a satisfying end result that can be called a "program", but how much did they actually *learn* in getting there. I won't press this point as to programming, but will limit my point to to the GUI based dynamic geometry applications - where I am more confident about my point. But I admit I suspect the point translates somehow to programming education. On the other hand, I get a little queasy when the author go to: """Perhaps the worst of all assumptions a teacher or an author can make is to assume the learner is intrinsically motivated and intellectually curious about the content.""" I guess I am stubborn on this point, or arrogant, or something. In that I have the luxuxry of having no interest in presenting material to learners who have no intellectual curiosity about the subject matter I am presenting. One nice thing about the development of the Net (and which I associate with Open Source), is that one can contribute by making the exactly opposite assumption. That one's effort will be found by those motivated by a curiosity. And one can assume that curiosity as a starting point. I, at any rate, have learned much from resources that assumed that from the beginning,therefore forgoing the seduction, and getting on with it. "It", being the transfer of knowledge. An act of generosity, really. If one has something to teach, and is willing to teach it - one should hold one's ground, it seems to me. I like to think Socrates might agree. Art From Jason Cunliffe" Message-ID: <000901c33aa0$3ea9ce40$6401a8c0@ValuedSonyCustomer> Art writes > """Perhaps the worst of all assumptions a teacher or an author can make is to assume the learner is intrinsically motivated and intellectually curious about the content.""" > > I guess I am stubborn on this point, or arrogant, or something. In that I have the luxuxry of having no interest in presenting material to learners who have no intellectual curiosity about the subject matter I am presenting. > > One nice thing about the development of the Net (and which I associate with Open Source), is that one can contribute by making the exactly opposite assumption. That one's effort will be found by those motivated by a curiosity. And one can assume that curiosity as a starting point. Hi. Art thanks for your comments.. The sun is shining - I'll happily quible with you --- Yes the Net is full of curious people, but not necessarily for whatever you or I may be doing or curious about. They may be curious about something else and in ways we'd never expect... I think the authors were perhaps just exercising a healthy reality check on their own enthusiasms and assumptions. Trying not to project onto the student. They'ev put a lot of effort into the book based firmly on its premise that learning by doing exploring play design etc is the way to go. But they go to creative lengths to avoid dogma and reach for the aha!! quality of programming. I say this becuase I've been browsing "Head First Java" in my local Barnes& Noble a few times since I first posted here.. The more I look at it, the more impressed I think I am ;-) I'll wager it's fast on its way to becoming a new 'classic' and a best seller . It's cartoony and witty, but benefits greatly from the facts that its own content is the result of the two authors' direct experience and collaboration. Java is scary and verbose, but powerful and ubiquitous. "Head First" really tries to tackle ideas first, and let the syntax follow. But it gets into some serious work soon enough. Reminds me of "Who is Fourier?" http://www.amazon.com/exec/obidos/tg/detail/-/0964350408/qid=1056493006/sr=1 -1/ref=sr_1_1/104-7010533-5291168?v=glance&s=books Jason From ajs@optonline.net Wed Jun 25 04:50:56 2003 From: ajs@optonline.net (Arthur) Date: Tue, 24 Jun 2003 22:50:56 -0500 Subject: [Edu-sig] re: book: Head First Java References: <81ddd7eb5b.7eb5b81ddd@optonline.net> <000901c33aa0$3ea9ce40$6401a8c0@ValuedSonyCustomer> Message-ID: <000901c33acc$fc970180$1a02a8c0@BasementDell> Jason writes - > The sun is shining Finally. >- I'll happily quible with you --- Always welcome a good quibble. >Yes the Net is full of curious people, but not necessarily >for whatever you or I may be doing or curious about. Not sure what you mean. But, no, traffic on the PyGeo site, is not burdening the infrastructure - if that point is to the point. >They may be curious about something else and in ways >we'd never expect... I think the authors were perhaps >just exercising a healthy reality check on their own >enthusiasms and assumptions. Reality checks are for sissies ;) >Trying not to project onto the student. Why have they come to be students of Java? Are we assuming coercion of some sort? >They'ev put a lot of effort into the book based firmly on >its premise that learning by doing exploring play design >etc is the way to go. But they go to creative lengths to >avoid dogma and reach for the aha!! quality of >programming. That sounds right to me. I keep trying to say that learning to program was, to me, an experience. Not a particularly coherent one at that, really. I have a jock side. And the experience, amazingly, seems to have drawn on that part of my personality. That, of course, defies lots of expectations - most notably, my own. A book can either hope to be a reference source, or advice from the initiated. But in the end you can no more hope to learn how to program from a book as you can hope to learn to play - say golf - from a book. > I say this becuase I've been browsing "Head First Java" in my local Barnes&Noble a few times since I first posted here.. >The more I look at it, the more impressed >I think I am ;-) I'll wager it's fast on its way to becoming > a new 'classic' and a best seller . It's cartoony and witty, but benefits greatly from the facts that its own content is >the >result of the two authors' direct experience and collaboration. Java is scary and verbose, but powerful >and ubiquitous. >"Head First" really tries to tackle ideas first, and let the syntax follow. But it gets into some serious work soon Not sure we are quibbling really. But I will bet that no one without a real healthy motivation to actually learn Java will take much away from the book - nonetheless and in any case. I guess I am quibbling, if at all, with the hyperbole that the authors have discovered a technique to teach the uninterested. I advocate being uninterested in the uninterested. Bastard that I am. What they *can* do,at best, is not harm an existing interest with formalities, and overemphasis on terminology and definitions of terms, and abstracting too far from the heart of the matter. Which is something I cannot attempt to define. But I know when I see. Art From Jason Cunliffe" An interesting response by Eric Raymond about OpenSource and Agile Manifesto, inspired by Martin Fowler. Touches on some good topics, and as my mind goes, seems relevant to this list. learn-by-doing experiment play design etc.. enjoy Jason http://armedndangerous.blogspot.com/ Saturday, June 14, 2003 Hacking and Refactoring: While doing research for my forthcoming book, The Art of Unix Programming, I read one particular passage in Fowler's Refactoring that finally brought it all home. He writes: One argument is that refactoring can be an alternative to up-front design. In this scenario, you don't do any design at all. You just code the first approach that comes into your head, get it working, and then refactor it into shape. Actually, this approach can work. I've seen people do this and come out with a very well-defined piece of software. Those who support Extreme Programming often are portrayed as advocating this approach. I read this, and had one of those moments where everything comes together in your head with a great ringing crash and the world assumes a new shape-a moment not unlike the one I had in late 1996 when I got the central insight that turned into The Cathedral and the Bazaar. In the remainder of this essay I'm going to try to articulate what I now think I understand about open source, agile programming, how they are related, and why the connection should be interesting even to programmers with no stake in either movement... http://armedndangerous.blogspot.com/ From ajs@optonline.net Fri Jun 27 16:41:48 2003 From: ajs@optonline.net (Arthur) Date: Fri, 27 Jun 2003 10:41:48 -0500 Subject: [Edu-sig] PyWife Message-ID: <000701c33cc2$9f66c3e0$1a02a8c0@BasementDell> http://vsbabu.org/mt/archives/2003/04/08/pywife.html which I happened to have come across when looking at what is doing in the realm of .Net and Python interoperability. The PyHusband being author of Kobra - a effort in that direction. I understand that Python.Net is not itself in the cards for the time being. But other forms of interoperability seem to be possible, and there are a few projects underway. PyMyWife - extending My(paricular)Wife to interoperate with Python - happens also to not be in the cards. We stay together for the kid. Art From urnerk@qwest.net Fri Jun 27 19:08:17 2003 From: urnerk@qwest.net (Kirby Urner) Date: Fri, 27 Jun 2003 11:08:17 -0700 Subject: [Edu-sig] Terminology question: just operator overriding? In-Reply-To: <000701c33cc2$9f66c3e0$1a02a8c0@BasementDell> Message-ID: <5.2.0.9.0.20030627110031.01e35520@pop.ptld.qwest.net> When I think of operators, I think of binary and unary operators like * + / ** or ~ - but not of other syntax, like parentheses or square brackets, as in p() and p[]. However in Python we're able to define new meanings for these other kinds of syntax as well: >>> class Foo(object): def __getattribute__(self,attr): return "Bar!" def __getitem__(self,it): return "Blimey!" def __call__(self,var): return "Hello?" >>> p = Foo() >>> p.spam 'Bar!' >>> p(3) 'Hello?' >>> p['3'] 'Blimey!' So do we call it "operator overriding" in all these cases, or do some people say "syntax overriding" or something else that sounds more general than "operator". Kirby PS: given the above class def, when I go >>> p( # <--- just an opening paren in IDLE, it prompts with "Bar!". Not sure why. From ajsiegel@optonline.net Fri Jun 27 09:36:21 2003 From: ajsiegel@optonline.net (Arthur) Date: Fri, 27 Jun 2003 04:36:21 -0400 Subject: [Edu-sig] OT: Good idea - how come nobody else thought of it. Message-ID: <000a01c33c87$30c51620$0c02a8c0@Arts> this from http://www.microsoft.com/office/preview/editions/accessdav.asp """ Complete Source Code Often, the best way to learn new coding techniques is to see the sour= ce code of shipping solutions. Access 2003 Developer Extensions include the c= omplete source code for the tools included in the product, such as the Proper= ty Scanner Add-In, Custom Startup Wizard, and the Package Wizard. Each o= f these tools is written in Microsoft Visual Basic=AE for Applications (VBA),= the primary language used to develop Access solutions. By including the s= ource code, developers can see different coding techniques, such as how to = write a solution that can be easily localized into multiple languages. Developers can also create customized versions of these tools for the= ir own benefit or to meet the needs of their enterprises. For example, the C= ustom Startup Wizard could be created so that it always creates an MDE file= with the startup properties required by their enterprise """ From ajsiegel@optonline.net Sat Jun 28 03:33:45 2003 From: ajsiegel@optonline.net (Arthur) Date: Fri, 27 Jun 2003 22:33:45 -0400 Subject: [Edu-sig] re: Terminology question: just operator overriding? Message-ID: <000801c33d1d$b30ff820$0c02a8c0@Arts> Kirby asks- >So do we call it "operator overriding" in all these cases, or >do some people say "syntax overriding" or something else that >sounds more general than "operator". I understand that this is not the extent of your question, but are we starting from an agreement that accepted terminolgy is: *overload* operators and *override* methods. And to me, you are "overriding built-in methods" in your examples. But then, why do you raise this? Art From ajsiegel@optonline.net Sat Jun 28 03:42:43 2003 From: ajsiegel@optonline.net (Arthur) Date: Fri, 27 Jun 2003 22:42:43 -0400 Subject: [Edu-sig] re: Terminology question: just operator overriding? Message-ID: <000c01c33d1e$f3a8e030$0c02a8c0@Arts> I had asked >But then, why do you raise this? Ah. OSCON, I'm thinking. Do we get a preview? Personally I feel it's not right to highlight PyGeo quite as much as you intend ;) Art From simon@arrowtheory.com Sat Jun 28 03:57:21 2003 From: simon@arrowtheory.com (Simon Burton) Date: Sat, 28 Jun 2003 12:57:21 +1000 Subject: [Edu-sig] Terminology question: just operator overriding? In-Reply-To: <5.2.0.9.0.20030627110031.01e35520@pop.ptld.qwest.net> References: <000701c33cc2$9f66c3e0$1a02a8c0@BasementDell> <5.2.0.9.0.20030627110031.01e35520@pop.ptld.qwest.net> Message-ID: <20030628125721.67dfc184.simon@arrowtheory.com> On Fri, 27 Jun 2003 11:08:17 -0700 "Kirby Urner" wrote: > > When I think of operators, I think of binary and unary operators > like * + / ** or ~ - but not of other syntax, like parentheses > or square brackets, as in p() and p[]. > Yes me too, until i needed to teach it. I wanted to look at how python reads the code and makes a tree from that, so we investigated operator precedence and if you look at the table these funky operators are there aswell, although perhaps more intimately tied up with the parse tree than the usual infix guys. Simon. -- Simon Burton, B.Sc. Licensed PO Box A66 ANU Canberra 2601 Australia Ph. 02 6249 6940 \ ------------------------\ ------------------------/ http://arrowtheory.com / From dyoo@hkn.eecs.berkeley.edu Sat Jun 28 07:52:07 2003 From: dyoo@hkn.eecs.berkeley.edu (Danny Yoo) Date: Fri, 27 Jun 2003 23:52:07 -0700 (PDT) Subject: [Edu-sig] OT: Good idea - [reading source code] In-Reply-To: <000a01c33c87$30c51620$0c02a8c0@Arts> Message-ID: On Fri, 27 Jun 2003, Arthur wrote: > this from http://www.microsoft.com/office/preview/editions/accessdav.asp > > """ > Complete Source Code > > Often, the best way to learn new coding techniques is to see the source > code of shipping solutions. Hi Arthur, Yes, I also agree that code should be treated as literature. As writers, we have a responsibility to do our fair share of reading good code! I'm not sure if Microsoft Access qualifies, but it must be better than nothing. *grin* The only time I saw code reading really emphasized in high school, though, was during the reading of test questions; we were otherwise left to our own devices. But what kinds of good Python "literature" can educators use? I did just browse through a book called "Code Reading" that looked very exciting: http://www.spinellis.gr/codereading/ I think it's unfortunate that there's no Python in there, but despite that, the book looks very awesome! There's a lot of great material in there. Has anyone thought about doing a commentary on a large Python codebase? Talk to you later! From ajsiegel@optonline.net Sat Jun 28 14:17:45 2003 From: ajsiegel@optonline.net (Arthur) Date: Sat, 28 Jun 2003 09:17:45 -0400 Subject: [Edu-sig] OT: Good idea - [reading source code] Message-ID: <000801c33d77$aa876b70$0c02a8c0@Arts> Danny writes - >Yes, I also agree that code should be treated as literature. As writers, >we have a responsibility to do our fair share of reading good code! I'm >not sure if Microsoft Access qualifies, but it must be better than >nothing. *grin* And this from the Eric Raymond entry on Agile Porgramming that Jason pointed to a few posts back. """ Working software over comprehensive documentation. That's us, too. In fact, the radical hacker position is that source code of a working system is its documentation. We, more than any other culture of software engineering, emphasize program source code as human-to-human communication that is expected to bind together communities of cooperation and understanding distributed through time and space. In this, too, we build on and amplify Unix tradition. """ And I can't help making this related point, as much as I am sure folks are uninterested in hearing me talk about my pet project. And depsite the fact I am supposed to be uninterested in the uninterested. But a key idea behind PyGeo is that the source as literature is part of the application. The concept though is not so much to expose the programming logic, but to expose the analytics. The "synthetic" geoemetry we are seeing on the screen is being driven by the analytic geometry accessbile in the code. And this synthesizes the study of geometry in a way that was not before (mass access to computers) possible in quite the same way. By having the source in Python (and accepting a bit of a performance hit) I am able to, I think, expose the analytics much more clearly to the non-specialist (in programming) than I might be able to so in any other programming language of which I am aware. >The only time I saw code reading really emphasized in high school, though, >was during the reading of test questions; we were otherwise left to our >own devices. But what kinds of good Python "literature" can educators >use? As far as I am capable, I am making that effort with the PyGeo code. The fact is that using geometric "objects" to introduce programming concepts (such as OOP inheritance), is an established tradition, almost as endemic as the "Hello World" program. I accept the fact that I am not fully capable. I find it harder to accept the fact that because there is lots of math in there, it is unfit for the purpose, as there seems to be some growing Chinese wall between math and programming education. Which is horribly misguided, IMO. Art From ajsiegel@optonline.net Sat Jun 28 17:19:51 2003 From: ajsiegel@optonline.net (Arthur) Date: Sat, 28 Jun 2003 12:19:51 -0400 Subject: [Edu-sig] Interactive learning: Twenty years later Message-ID: <001801c33d91$1ad31820$0c02a8c0@Arts> I find the articles here quite interesting. An article from 20 years ago predicting the effect of computers on education, and the same author's comments on this article form the perspective of now. http://www.citejournal.org/vol2/iss4/seminal.cfm """ Why was my prediction wrong? I can see a number of reasons. One, already mentioned, is a tremendous fascination with the Internet, in spite of the fact that there is little empirical evidence to show it is effective in helping learning. Another is the rise of the mouse as a computer device. People had the peculiar idea that one could deal with the world of learning purely by pointing. An even more important factor is the lack of research in learning with computers, effective research professionally done with very large numbers of students. """ I disagree about the Internet. My son would be much less "educated" without this exposure. Though I guess the fact is that it was all non-classroom time. There is in fact an entire child peer culture on the Internet. The beauty is it has no particular educational intent. But it so, as a byproduct. My son learned how to write glibly and entertainingly, keeping up with the wits in a group chat setting. I know quite well he would be much less comforatble with the keyboard and and his ability to express himself with the written word, were it not for the Internet. I agree about the mouse. As I have repeated ad infinitum. Art From Jason Cunliffe" Message-ID: <001101c33da9$7b420f00$6401a8c0@ValuedSonyCustomer> > Another is the rise of the mouse as a computer device. > People had the peculiar idea that one could deal with the world of learning > purely by pointing. hmm.. I don't think the idea of mice was that could 'do everything by pointing'.. Begs the question how well do most people deal with the world without looking? Hand-eye-mind coordination is an essential part of who we are as human beings. Mice are arguably a primitive first step towards that in a digital domain. The real problem as I see it is that there is crucial triangular disconnect when using keyboards and mice: triangle = hand eye screen and I'll argue that disconnect its really tetral in nature : tetra = mind hand eye screen The main assumption of keyboard use is that you are a good typist, accurate and can keep ones eyes [+ mind] on the screen [subject]. [QWERTY mapping is an assumed subskill or worse if you come from Asia]. Perhaps cultures with strong calligraphic [gestural symbolic] backgrounds like China and Japan feel very differently about mice and their progeny. If you are a lousy typist like me, then something has to give, spelling, concentration, expression etc.. or even typing into the wrong focus window on occasion. But I have good spatial hand-eye coordination so mice come pretty easy. I know some poets who are hopeless with a mouse. Drawing with a mouse or even a tablet is another matter. Though as anyone who learns to play an instrument knows - eventually one is neither looking nor aware of doing so. Computers are instruments whose most 'expressive' interface is perhaps still the keyboard. Mice are so primitive in design and use still. But even small innovations make huge difference. For example, I consider dual buttons with a scroll-wheel essential to me now, at least because they use most of my hand. [middle three fingers for commands, outer two fingers + wrist for position] When we have widespread tabletPCs, as I believe we will within 10 years, then a fundamentally more direct and natural relationship can be invoked and designed for. SciFi and Hollywood are already understandably very fond of the virtual gestural interface. The point being that you look at what you are doing, with your hands in the right place, at the right time - and supported perhaps by speech or even more direct eye movement 'gestural' sensors. Aircraft and military designers are pioneering some of this. As long as one is dealing is symbol and abstraction, there is always a cognitive distance -- for better and for worse. That's the whole idea - graphics, writing, math, etc. In that sense it's same difference [for different people] whether they use mice or keyboards, or scratch marks in the cosmic sand with string and seashells. Jason From gerrit@nl.linux.org Sat Jun 28 20:45:52 2003 From: gerrit@nl.linux.org (Gerrit Holl) Date: Sat, 28 Jun 2003 21:45:52 +0200 Subject: [Edu-sig] Interactive learning: Twenty years later In-Reply-To: <001801c33d91$1ad31820$0c02a8c0@Arts> References: <001801c33d91$1ad31820$0c02a8c0@Arts> Message-ID: <20030628194552.GA5337@nl.linux.org> Introducing myself: http://groups.google.nl/groups?selm=36DD9F9B.26DE96C%40pobox.com I am now, as you may have guessed, 17 years old, just finished my exams and having progress with my first real game (http://pybrian.sf.net/). I have heard a lot of programmers started with game(s) :)... Arthur wrote: > I disagree about the Internet. My son would be much less "educated" without > this exposure. Though I guess the fact is that it was all non-classroom > time. There is in fact an entire child peer culture on the Internet. Well, without the internet, I would not know Python. I would probably be programming in QBasic. I would not know Linux. I would still be using Dos/Windows. Internet is everything. However, this is all about computers. Outside computers, I have learned less, but not nothing. My first knowledge about politics came from the Jeugdjournaal website. I would probably not me a member of the Dutch Socialist Party because I would know far less about it. I would never have been on television without my homepage. I don't understand how anyone can deny Internet's educational influenc. yours, Gerrit. -- 37. If any one buy the field, garden, and house of a chieftain, man, or one subject to quit-rent, his contract tablet of sale shall be broken (declared invalid) and he loses his money. The field, garden, and house return to their owners. -- 1780 BC, Hammurabi, Code of Law -- Asperger Syndroom - een persoonlijke benadering: http://people.nl.linux.org/~gerrit/ Het zijn tijden om je zelf met politiek te bemoeien: http://www.sp.nl/ From ajs@optonline.net Sat Jun 28 22:39:50 2003 From: ajs@optonline.net (Arthur) Date: Sat, 28 Jun 2003 16:39:50 -0500 Subject: [Edu-sig] Interactive learning: Twenty years later References: <001801c33d91$1ad31820$0c02a8c0@Arts> <001101c33da9$7b420f00$6401a8c0@ValuedSonyCustomer> Message-ID: <000701c33dbd$ce0233f0$1a02a8c0@BasementDell> > hmm.. I don't think the idea of mice was that could 'do everything by > pointing'.. > > Begs the question how well do most people deal with the world without > looking? > > Hand-eye-mind coordination is an essential part of who we are as human > beings. Mice are arguably a primitive first step towards that in a digital > domain. Let them play golf! But the truth is I am not meaning to be as extreme as I might sound in some of my ranting. For example, I am a fan in many ways of Microsoft as well as open source. Recently have devoted some energy to understanding .Net and am excited by what I am understanding. For reasons I won't go into. But rather than contending point by point with your comments, I will make my own comments. I choose to work from a windowing envrionment, whether I am working on Windows or on Linux. Probably for the same reasons that does most of the world. But then I am often in "interface" mode, not learning mode. Perhaps my backwardness is due to the fact that in the end I can only take as true what it is I know from my own experience. In learning mode, I have always been mostly at the keyboard. Notice the "mostly". None of this is boolean. We (you and I) seen to run around the same cricle alot. In the end I think very little has changed, or will change, by the fact of existence of the computer in truly defining what it is to *be* educated . One can argue that since the computer is a fact of modern life, the ability to interface with it should be an educational goal. And in many cases that is the extent of, or at least excuse for, making exposure to computers part of education. To me, that puts "computer ed" on a parr with drivers ed. In the end, words are words, literacy is literacy, understanding is understanding. The damn 3 R's are the damn 3 R's, and I don't live in a science fiction world where they have been replaced by a new paradigm or twenty. In continuing to assume that promoting a facility with the use of words as central to an education, maybe a handwriting recognizing tablet might be a acceptable alternative to a keyboard - where an alternative to pencil and paper are called for - but not the mouse. Nope, no and no. And then you would have to help me understand what of significance we have accomplished. All this is Zen stuff really, But the truth is that to the extent that it has been studied, there is simply no evidence that computers are making a difference, or if the are, there are great negatives that offset the great positives, and we are left at zero. Obviously I think great positives are possible. The greatest educational benefit of PyGeo was to myself, in creating it. It will never have nearly the same benefit to anyone else. Happens to have been one of the most productive educational experiences of my life. So the point is not to use PyGeo or the like, so much as to help and facilitate others in finding ther own PyGeo. And I can promise I could not have created PyGeo working from some else's environment designed with brilliance for the creation of PyGeos. I needed to be as far outside "environments" of any kind - looking in fact to create my own. We are a consumer society, and I would like to see education exempted. My take on your take, is in accepting the consumption as technology as educational. To me, only participation in the production of it can be educational - and the sense of empowerment (to use a horribly correct term) thereby achieved. We do too much consumption of technologies we not only do not understand - we are not expected to understand, we are not encouraged to understand. Education should be in direct counter to all this. When I think of it, I despise the thought of a machine reading my kid's handwriting at school. Unless and until he is in a position to reproduce the machine that it is doing it. I want my child building a radio by wrapping wires around a tube. Not listening to lectures from far away. Art From ajs@optonline.net Sat Jun 28 23:52:07 2003 From: ajs@optonline.net (Arthur) Date: Sat, 28 Jun 2003 17:52:07 -0500 Subject: [Edu-sig] Interactive learning: Twenty years later References: <001801c33d91$1ad31820$0c02a8c0@Arts> <001101c33da9$7b420f00$6401a8c0@ValuedSonyCustomer> Message-ID: <000701c33dc7$e7633290$1a02a8c0@BasementDell> And one side story. There is a worldwide network of private schools called Waldorf schools, which grew out of the educational philiosophy (about which a know next to nothing) of Rudolf Steiner - a nineteenth century mystic/theosophist. Happens that the movement took a great interest in projective geometry concepts. And one of my favorite books on the subject of projective geoemtry - accurate, but freewheeling - came out of this movement. Opportunist that I am, I tried to explore whether PyGeo might be of interest to the Waldorf movement schools. And learned quickly that they totally eschew the use of computers in the classroom - until perhaps the end of high school. Which is as far as I am concerned a perfectly reasonable position. And - my mind is open to the possibility - perhaps more than that. Art From ajs@optonline.net Sun Jun 29 03:24:11 2003 From: ajs@optonline.net (Arthur) Date: Sat, 28 Jun 2003 21:24:11 -0500 Subject: [Edu-sig] re: Interactive learning: Twenty years later Message-ID: <000701c33de5$875c8ae0$1a02a8c0@BasementDell> Gerrit wrote - >Introducing myself: http://groups.google.nl/groups?selm=36DD9F9B.26DE96C%40pobox.com >I am now, as you may have guessed, 17 years old, just finished my exams and >having progress with my first real game (http://pybrian.sf.net/). I have heard >a lot of programmers started with game(s) :)... Sounds like we've been at Python for about the same amount of time. And with me, as it seems with you, coming to Python grew somehow from experimenting in Linux. I suspect I would have much to learn by reading your code, I am particularly intrigued by the fact that it is dependent on 2.3 features. As much as I kvetch (complain) about featurism, I do like to try to understand them as they arrive. Could you say a few more words about what in 2.3 you have explored and utilized in your work, and why. Seems to me this is a perfectly appropriate forum for such a discussion. Art From rhseabrook@aacc.edu Sun Jun 29 03:13:34 2003 From: rhseabrook@aacc.edu (Seabrook, Richard) Date: Sat, 28 Jun 2003 22:13:34 -0400 Subject: [Edu-sig] Interactive learning: Twenty years later Message-ID: <74DAD2F23F03F7438D9BE3436C6846F701290798@AACC-MAIL.aacc.cc.md.us> -----Original Message----- From: Jason Cunliffe [mailto:jason.cunliffe@verizon.net] Sent: Sat 6/28/2003 3:14 PM To: Arthur; edu-sig@python.org Cc:=09 Subject: Re: [Edu-sig] Interactive learning: Twenty years later > Another is the rise of the mouse as a computer device. > People had the peculiar idea that one could deal with the world of learning > purely by pointing. hmm.. I don't think the idea of mice was that could 'do everything by pointing'.. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D Of course not -- I'm sure you remember the initial development back in the 60s -- NASA/Ames? -- that created the mouse for one hand and the chord-player for the other. We were supposed to learn one-handed typing with a set of 5 or 6 double-detent keys so one hand would always be on the keyboard -- never happened! Somebody re-invents the chord player about every 10 years or so -- you can find a half-dozen for sale over the Internet for those with two-hand difficulties. The mouse never was intended to be paired with the standard keyboard. Dick S. From senator@sgi.net Sun Jun 29 06:21:24 2003 From: senator@sgi.net (Bill Bradley) Date: Sun, 29 Jun 2003 01:21:24 -0400 Subject: [Edu-sig] Interactive learning: Twenty years later In-Reply-To: <74DAD2F23F03F7438D9BE3436C6846F701290798@AACC-MAIL.aacc.cc.md.us> References: <74DAD2F23F03F7438D9BE3436C6846F701290798@AACC-MAIL.aacc.cc.md.us> Message-ID: <3EFE7754.2090902@sgi.net> Seabrook, Richard wrote: > > > -----Original Message----- > From: Jason Cunliffe [mailto:jason.cunliffe@verizon.net] > Sent: Sat 6/28/2003 3:14 PM > To: Arthur; edu-sig@python.org > Cc: > Subject: Re: [Edu-sig] Interactive learning: Twenty years later > >>Another is the rise of the mouse as a computer device. >>People had the peculiar idea that one could deal with the world of > > learning > >>purely by pointing. > > > hmm.. I don't think the idea of mice was that could 'do everything by > pointing'.. > > ============================= > > Of course not -- I'm sure you remember the initial development > back in the 60s -- NASA/Ames? -- that created the mouse for > one hand and the chord-player for the other. We were supposed > to learn one-handed typing with a set of 5 or 6 double-detent > keys so one hand would always be on the keyboard -- never happened! > Somebody re-invents the chord player about every 10 years or so -- > you can find a half-dozen for sale over the Internet for those with > two-hand difficulties. The mouse never was intended to be paired > with the standard keyboard. > Dick S. I wouldn't say that. My IBM Thinkpad's Trackpoint is a very combination that allows me to use a mouse (well pointer) and keyboard without having to leave the home row or move my thumbs more than a quarter inch from the spacebar to click. I wish I could find a standard desktop keyboard with one (Lexmark used to make them but they are NLA as far as I know) Bill From hancock@anansispaceworks.com Sun Jun 29 19:42:38 2003 From: hancock@anansispaceworks.com (Terry Hancock) Date: Sun, 29 Jun 2003 11:42:38 -0700 Subject: [Edu-sig] Interactive learning: Twenty years later In-Reply-To: <3EFE7754.2090902@sgi.net> References: <74DAD2F23F03F7438D9BE3436C6846F701290798@AACC-MAIL.aacc.cc.md.us> <3EFE7754.2090902@sgi.net> Message-ID: On Saturday 28 June 2003 10:21 pm, Bill Bradley wrote: > Seabrook, Richard wrote: > > back in the 60s -- NASA/Ames? -- that created the mouse for > > one hand and the chord-player for the other. We were supposed > > to learn one-handed typing with a set of 5 or 6 double-detent > > keys so one hand would always be on the keyboard -- never happened! I think the question about the "chord player" (never heard it called that, but then I'm probably looking at a derivitive concept) is whether it is harder to learn to type using it or to learn how to type on a standard keyboard one-handed, which I do quite a lot (anybody who does a lot of CAD drawing will wind up doing this, I also do it a lot while programming). It's largely a question of availability -- AFAIK, the chord systems are not consistent, so you'd spend time learning each one, and they are not so widely available that the user can expect to find one on a computer they want to use (i.e. it's custom). You have to be really motivated to customize your computer to a non-standard input device. And I'm not sure the improvement over a standard keyboard is enough to motivate most people. Of course, the caveat is that I've never tried one. Maybe if I tried one at a fair or something I'd get sold on it and want to buy one. > I wouldn't say that. My IBM Thinkpad's Trackpoint is a very > combination that allows me to use a mouse (well pointer) and keyboard > without having to leave the home row or move my thumbs more than a > quarter inch from the spacebar to click. Yeah, the trackpoint concept is nice. I used to find it a little disconcerting, but I sometimes find myself prefering to do certain tasks on the laptop because of it. I always snicker a little when people talk about "home keys" and such -- I guess you must've learned to touch type in a class? I learned it by typing on computer keyboards *a lot*. So, I can actually type with either or both hands (faster with two, though), and if I'm in a very graphic-intensive task, I'll type with the left and mouse with the right. I go to two-hands when typing email, though. You might say I don't do it "right", though. But I can indeed type without seeing the keyboard, so I guess it's still "touch typing". I'm not sure I should be proud of this. Actually lately, I've had to experiment with wrist-only mouse motion while holding a baby and typing left hand even for email and stuff. Sheesh. ;-) Of course, now she's starting to "type" too, so I have to be extra careful. I'm looking forward to trying out an actual tablet -- I remember wanting one of these before even mice were commercially available, and they're actually pretty affordable nowadays. Another thing that really fascinates me is the 6-axis input devices like the "Space Ball" or "Space Puck" that came out a few years back. These are a really cool concept. I was actually trying to design something like this (hard) before I found them commercially available! Basically it's an object which you hold and can move through all 6 axes (XYZ/PYR) of translation and rotation. It'd be great for the "gripping hand" in a VR environment, or with a variable end-effector trigger as a robotic teleoperation control (really it would then have 7 axes). The downside is, I think they start at about $800 and I haven't got one. I was able to find enough information to write a driver for Linux though (and one may already exist). Someday maybe I'll try to find them again, if they're still available. :-P VR gloves by comparison still seem very gimmicky and cumbersome to me. It's hard for me to imagine using them on a daily basis. For me, the point of these fancy input devices is *not* to replace the role the keyboard plays in existing computer interactions so much as it is to make it possible to do new stuff with the computer that the text interface just can't handle. For a programmer, I'm a pretty visually oriented person, and these things are really interesting to me. Cheers, Terry -- Terry Hancock ( hancock at anansispaceworks.com ) Anansi Spaceworks http://www.anansispaceworks.com From mcfletch@rogers.com Sun Jun 29 18:47:33 2003 From: mcfletch@rogers.com (Mike C. Fletcher) Date: Sun, 29 Jun 2003 13:47:33 -0400 Subject: [Edu-sig] Interactive learning: Twenty years later In-Reply-To: References: <74DAD2F23F03F7438D9BE3436C6846F701290798@AACC-MAIL.aacc.cc.md.us> <3EFE7754.2090902@sgi.net> Message-ID: <3EFF2635.3040806@rogers.com> Terry Hancock wrote: ... >I think the question about the "chord player" (never heard it called that, >but then I'm probably looking at a derivitive concept) is whether it is >harder to learn to type using it or to learn how to type on a standard >keyboard one-handed, which I do quite a lot (anybody who does a >lot of CAD drawing will wind up doing this, I also do it a lot while >programming). > ... There has been an enormous amount of research within the HCI literature into the question of multi-modal/multi-channel HCI design. Just to see *why* it's such a huge win to have more channels for communication, take Dragon Dictate and use it to dictate commands within AutoCAD. You find yourself becoming more productive, as you leave your pen tablet right where you're drawing, your other hand is basically free, and your eyes never *need* to leave the particular spot on which you're concentrating. A chording keyboard tries to increase the communications bandwidth between user and computer by adding yet more functionality to the (already overworked) hand "channels". It's possible to train up to greater bandwidth with such a system, but it does require considerable training, and until then the channel has reduced bandwidth. Eye tracking, voice dictation, and the like leverage as-yet-unused channels, so don't impact the existing channels (generally), and so tend to provide a greater facility immediately. BTW, the navy's "put that there" research was fascinating, combining eye tracking, voice recognition and logic to figure out the user's current and previous conversational focus (another bandwidth-increasing mechanism, "context compression"). It was for very minimalist projects (command-and-control interfaces) but it did give you some idea of what could be done with enough channels open for communication. >I'm looking forward to trying out an actual tablet -- I remember >wanting one of these before even mice were commercially >available, and they're actually pretty affordable nowadays. > Recommended. Been using them for years now, mice seem ridiculous when I'm forced to use them. Using sense-memory of where a particular scrollbar/button/menu is on the screen so that you don't have to look at where you're pointing can dramatically speed up your computing experience (and it doesn't interrupt your cognitive processes with a slow feedback loop for targetting the control). >Another thing that really fascinates me is the 6-axis input devices >like the "Space Ball" or "Space Puck" that came out a few years >back. These are a really cool concept. I was actually trying to >design something like this (hard) before I found them commercially >available! Basically it's an object which you hold and can move >through all 6 axes (XYZ/PYR) of translation and rotation. It'd be >great for the "gripping hand" in a VR environment, or with a variable >end-effector trigger as a robotic teleoperation control (really it >would then have 7 axes). The downside is, I think they start at >about $800 and I haven't got one. I was able to find enough >information to write a driver for Linux though (and one may >already exist). Someday maybe I'll try to find them again, if >they're still available. :-P > They're okay, but having worked in VR for 3 years, and studied for quite a bit before that, the only time I ever found them *useful* (as distinct from cool) was in driving a VR camera around a VR play's set (with specialised software just for that task, and all other tasks mapped to a keyboard-driven interface so they wouldn't require the pointer). For modelling it's just so pointless to take your hand off the tablet or keyboard just to reach for the (honestly rather clumsy) thing. Generalised VR and modelling apps are doing a lot more than simple 3D manipulation with the "pointer", and the spaceball implementations just aren't particularly good for regular mousing about in my experience (too joystick-like). I can imagine ways you could set up a console such that you could use sense-memory to get to the spaceball but it just doesn't seem that critically important given the rather well-thought-out axis manipulator mechansims you see in Maya (or 3DSMax, though they are clumsier in Max4), and the relatively minimal benefit the spaceball (in it's current, rather crude, forms) has for precision modelling. Specialised applications seem to be where it'll stay until there's a compelling application developed. Enjoy, Mike _______________________________________ Mike C. Fletcher Designer, VR Plumber, Coder http://members.rogers.com/mcfletch/ From ajsiegel@optonline.net Sun Jun 29 20:02:43 2003 From: ajsiegel@optonline.net (Arthur) Date: Sun, 29 Jun 2003 15:02:43 -0400 Subject: [Edu-sig] re: Interactive learning: Twenty years later Message-ID: <3EFF37D3.7050807@optonline.com> >For me, the point of these fancy input devices is *not* to replace >the role the keyboard plays in existing computer interactions so >much as it is to make it possible to do new stuff with the computer >that the text interface just can't handle. For a programmer, >I'm a pretty visually oriented person, as am I. >and these things are really interesting to me. and to me. Are we still talking about education, directly or indirectly? Art From urnerk@qwest.net Sun Jun 29 21:49:04 2003 From: urnerk@qwest.net (Kirby Urner) Date: Sun, 29 Jun 2003 13:49:04 -0700 Subject: [Edu-sig] re: Terminology question: just operator overriding? In-Reply-To: <000c01c33d1e$f3a8e030$0c02a8c0@Arts> Message-ID: <5.2.0.9.0.20030629134106.01f95f88@pop.ptld.qwest.net> At 10:42 PM 6/27/2003 -0400, Arthur wrote: >OSCON, I'm thinking. > >Do we get a preview? Mostly it's about how this thinking in terms of objects is generic and powerful enough to deserve a bigger footprint in K-12, and that traditional math concepts might be well served by these same metaphors (math objects, defined by class blueprints, with instances containing specific state info -- e.g. fractions, polynomials, vectors etc.). Python makes these metaphors concrete. >Personally I feel it's not right to highlight PyGeo quite as much as you >intend ;) I mostly stay with pure Python (as a language), and when I bridge to graphics use POV-Ray as an example. I'll be mentioning PyGeo. I'm just showing an iceberg tip in this context. Kirby >Art > > >_______________________________________________ >Edu-sig mailing list >Edu-sig@python.org >http://mail.python.org/mailman/listinfo/edu-sig From ajsiegel@optonline.net Sun Jun 29 23:49:31 2003 From: ajsiegel@optonline.net (Arthur) Date: Sun, 29 Jun 2003 18:49:31 -0400 Subject: [Edu-sig] re: Terminology question: just operator overriding? In-Reply-To: <5.2.0.9.0.20030629134106.01f95f88@pop.ptld.qwest.net> References: <5.2.0.9.0.20030629134106.01f95f88@pop.ptld.qwest.net> Message-ID: <3EFF6CFB.8030107@optonline.com> Kirby Urner wrote: > > Mostly it's about how this thinking in terms of objects is > generic and powerful enough to deserve a bigger footprint > in K-12, and that traditional math concepts might be well > served by these same metaphors (math objects, defined by > class blueprints, with instances containing specific state > info -- e.g. fractions, polynomials, vectors etc.). Python > makes these metaphors concrete. Sounds sensible. Seems to me if we were satisfied with very targetted introduction of well-established concepts that have their roots in programming (as applied mathematics) and intergrate the use of those concepts well with existing curricula at the K-12 level - very much along the lines you suggest, it seems to me - well, there might be some measurable upside to it all. It is conceptually sound, and does not even depend, necessarily, on the availability of a machine. Though no question, that would be better. Small is beautiful. Art From p.kent@mail.com Mon Jun 30 00:32:55 2003 From: p.kent@mail.com (Phillip Kent) Date: Mon, 30 Jun 2003 00:32:55 +0100 Subject: [Edu-sig] Interactive learning: Twenty years later In-Reply-To: <000701c33dbd$ce0233f0$1a02a8c0@BasementDell> References: <001801c33d91$1ad31820$0c02a8c0@Arts> <001101c33da9$7b420f00$6401a8c0@ValuedSonyCustomer> Message-ID: <5.1.0.14.2.20030630001139.00b86388@smtp1.mail.com> --=======44ED5578======= Content-Type: text/plain; x-avg-checked=avg-ok-46756EE2; charset=us-ascii; format=flowed Content-Transfer-Encoding: 8bit I don't want to over-prolong this discussion but some points that Arthur made merit a comment... At 16:39 28/06/2003 -0500, Arthur wrote: >......................... >...... the truth is that to the extent that it >has been studied, there is simply no evidence that computers are making a >difference, or if the are, there are great negatives that offset the great >positives, and we are left at zero. I don't think this is true. There is plenty of evidence that computers can make a difference to learning - but usually in the case of rather specific situations of very small numbers of teachers/mentors, students and computers. The continual problem has been to "map" those isolated successes onto the mainstream of institutionalised education - it is at that point that the evidence dies away into neutrality. What you arrive at, then, is as much a socio-political problem as a technical one. Maybe computer technology is just too new (only 20 years old, really) for educational institutions to do anything sensible with it, and maybe (as left wing thinkers tend to assert) the prime function of social institutions is to replicate existing class structures, and squash out any kind of liberating force for change. >Obviously I think great positives are possible. > >The greatest educational benefit of PyGeo was to myself, in creating it. It >will never have nearly the same benefit to anyone else. Happens to have >been one of the most productive educational experiences of my life. So the >point is not to use PyGeo or the like, so much as to help and facilitate >others in finding ther own PyGeo. > >............. We are a consumer society, and I would like to see education >exempted..... This is well put, and it is the core of the message that needs to be pushed into the mainstream. So this is my point - we DO know some of the ideas that work - what is at issue is how to nurture them to the bigger scale. - Phillip ++++++ Dr Phillip Kent, London, UK mathematics education technology research p.kent@mail.com mobile: 07950 952034 ++++++ --=======44ED5578=======-- From hancock@anansispaceworks.com Mon Jun 30 08:05:18 2003 From: hancock@anansispaceworks.com (Terry Hancock) Date: Mon, 30 Jun 2003 00:05:18 -0700 Subject: [Edu-sig] re: Interactive learning: Twenty years later In-Reply-To: <3EFF37D3.7050807@optonline.com> References: <3EFF37D3.7050807@optonline.com> Message-ID: On Sunday 29 June 2003 12:02 pm, Arthur wrote: > >For me, the point of these fancy input devices is *not* to replace > Are we still talking about education, directly or indirectly? In as much as the human computer interface* is important to the student's experience of the computer, I think we still are. I agree that the textual interface is critical to something like programming, where logic and a linear progression of steps are fundamental to the subject. But if you were teaching 2- or 3-D concepts, the ability to simply point and select objects, and express your intent in a visual-tactile mode is just essential. In any kind of visual arts application, whether artistic or technical, I think that's going to be the case. And the mouse is the lowest-common-denominator tool for doing that. I know when we start teaching Gimp and Sketch apps, we're going to be using mice (or trackpoints). Moving up to a tablet would be good, though. Whether we're still talking about programming or python, though, I don't know. ;-) I do think that we're eventually going to see some kind of breakout of visual programming methods for connectivist programs of some kind in the next few years. So far, it's mostly a curiosity: nobody's found a place where such methods are the clear winner for developing programs (or they're such marginal applications that most people won't be affected by them). But I think it will make new things possible once it does happen, just like any new programming language or paradigm has done. And just like all the others, it will have places where it's unbeatable, and places where it's not appropriate. But people will try to use it wrongly anyway. ;-) Actually, I guess there is one exception -- the "spreadsheet". Hardly anyone realizes it *is* a visual programming language, but it is. And I think you could even say it follows a connectivist paradigm. Cheers, Terry * "man machine interface" was so much more poetic, if not very PC ;-) -- Terry Hancock ( hancock at anansispaceworks.com ) Anansi Spaceworks http://www.anansispaceworks.com From urnerk@qwest.net Mon Jun 30 07:55:49 2003 From: urnerk@qwest.net (Kirby Urner) Date: Sun, 29 Jun 2003 23:55:49 -0700 Subject: [Edu-sig] re: Terminology question: just operator overriding? In-Reply-To: <3EFF6CFB.8030107@optonline.com> References: <5.2.0.9.0.20030629134106.01f95f88@pop.ptld.qwest.net> <5.2.0.9.0.20030629134106.01f95f88@pop.ptld.qwest.net> Message-ID: <5.2.0.9.0.20030629233248.02494580@pop.ptld.qwest.net> At 06:49 PM 6/29/2003 -0400, Arthur wrote: >Kirby Urner wrote: > >>Mostly it's about how this thinking in terms of objects is >>generic and powerful enough to deserve a bigger footprint >>in K-12, and that traditional math concepts might be well >>served by these same metaphors (math objects, defined by >>class blueprints, with instances containing specific state >>info -- e.g. fractions, polynomials, vectors etc.). Python >>makes these metaphors concrete. > >Sounds sensible. > >Seems to me if we were satisfied with very targetted introduction of >well-established concepts that have their roots in programming (as applied >mathematics) and intergrate the use of those concepts well with existing >curricula at the K-12 level - very much along the lines you suggest, it >seems to me - well, there might be some measurable upside to it all. As a philosophy major, I'm aware of how the logicians were always pushing for a semantics that'd be precise, computational, yet all encompassing at the same time. Propositional calculus and like that. But this was before programming languages (Bertrand Russell et al, and Leibniz before that). Yet the object oriented paradigm is another example of a similar push. The student is deliberately prodded to look well beyond the computer, or some specific language, to see the world in terms of objects, their interfaces, their interactions. We even talk about events (which aren't just mouse clicks and key presses) -- very general. >It is conceptually sound, and does not even depend, necessarily, on the >availability of a machine. Though no question, that would be better. > >Small is beautiful. > >Art More concretely, it's considered high level, and part of abstract algebra, to be able to generalize from ordinary numbers to these generic "types" with their group, ring and field properties. The addition and multiplication operators become abstracted, to mean whatever operations follow similar patterns (e.g. you need identity elements). So I hardly think the mathematicians can object that we're dumbing down the math curriculum or getting off on a tangent, if we look at an extensible type system, such as Python provides, and use our ability to override __add__ and __mul__ as we define one type after another (permutations, integers modulo N, matrices, polynomials, rationals -- the sets of 'math objects' people traditionally study in group theory and abstract algebra classes). OOP gives a good general context, a philosophical basis rich in metaphors, inside of which we can develop and reinforce a lot of traditional math and science concepts -- in tandem with a computer language. There's also a lot of generic language skills required, to express ideas about attributes, methods, inheritance, encapsulation, interfaces and so on. Numeracy and literacy skills both get a work out. It's a reasonable approach. I think a mix of philosophy and computer science should be more aggressively advanced as a basis for curriculum integration. In the old days, arithmetic was a lot about how the corner store operated. Today, the corner store uses scanners in the checkout lanes, wired to relational databases designed to monitor sales and trigger re-orders (some stores also track purchases by customer -- e.g. Safeway cards). Yes, we still need curriculum that explains what goes on in the corner store -- but this can no longer be done without reference to computerized infrastructure. Kirby From simon@arrowtheory.com Mon Jun 30 08:50:31 2003 From: simon@arrowtheory.com (Simon Burton) Date: Mon, 30 Jun 2003 17:50:31 +1000 Subject: [Edu-sig] re: Terminology question: just operator overriding? In-Reply-To: <5.2.0.9.0.20030629134106.01f95f88@pop.ptld.qwest.net> References: <000c01c33d1e$f3a8e030$0c02a8c0@Arts> <5.2.0.9.0.20030629134106.01f95f88@pop.ptld.qwest.net> Message-ID: <20030630175031.6576ef8d.simon@arrowtheory.com> On Sun, 29 Jun 2003 13:49:04 -0700 "Kirby Urner" wrote: > At 10:42 PM 6/27/2003 -0400, Arthur wrote: > > > >OSCON, I'm thinking. > > > >Do we get a preview? > > Mostly it's about how this thinking in terms of objects is > generic and powerful enough to deserve a bigger footprint > in K-12, and that traditional math concepts might be well > served by these same metaphors (math objects, defined by > class blueprints, with instances containing specific state > info -- e.g. fractions, polynomials, vectors etc.). Python > makes these metaphors concrete. > Yes, i agree, in theory. I wrote the following some time ago for edu-sig, better let it loose now. I think mathematicians could really go for python's relaxed typing as it closely models how they think about their symbols. "If an object can do this this and this then look at how this works", rather than "if an object is a blah then look at what it can do". This is what Michael Jackson (in "Software Requirements & Specifications") writes about mathematicians; that they "forget" what the symbols mean. Then again, there is the "old school" set-theory camp, who seem to think that there really is something called a number, and bags of fire trucks are different (but isomporphic). Conway wrote a great manifesto in his "on numbers and games" book, declaring a freedom from set theory. Kirby's work also reminds me of more recent Conway: "the book of numbers". best regards, Simon. -- Simon Burton, B.Sc. Licensed PO Box A66 ANU Canberra 2601 Australia Ph. 02 6249 6940 \ ------------------------\ ------------------------/ http://arrowtheory.com / From ajsiegel@optonline.net Mon Jun 30 13:50:59 2003 From: ajsiegel@optonline.net (Arthur) Date: Mon, 30 Jun 2003 08:50:59 -0400 Subject: [Edu-sig] re: Interactive learning: Twenty years later Message-ID: <3F003233.5040606@optonline.com> Terry writes - >In as much as the human computer interface* is important to the >student's experience of the computer, I think we still are. I agree >that the textual interface is critical to something like programming, >where logic and a linear progression of steps are fundamental to >the subject. But if you were teaching 2- or 3-D concepts, the ability >to simply point and select objects, and express your intent in a >visual-tactile mode is just essential. It shouldn't surprise you that I want to strongly disagree with this. Or strongly disagree with my perhaps incorrect interpretation of what you are saying, which is more likely as these things go. PyGeo's design is deliberate, in essentially limiting one to "logic and a linear progression of steps" in creating 3d structures, i.e. in teaching 3d concepts. In other words, it is deliberately insisting on deliberation. True, once created, the fact that the structures can be manipulated interactively - but holding the deliberately established relationships invariant - is also essential to it, as it is with any dynamic geemetry app. On second thought, I don't fully disagree, in that the place, at the moment, where I am probably most dissatified with PyGeo is exactly the limitations of the interface for picking and moving points in 3d space. The limitation there is firstly my own. I've not got my mind around the trackball concept and the mouse - partly, I think becuase it seems to have enough of its own limitations that I can't get fully motivated to make the effort. A better interface would be wonderful. I offically back off ;. Art From ajsiegel@optonline.net Mon Jun 30 14:24:47 2003 From: ajsiegel@optonline.net (Arthur) Date: Mon, 30 Jun 2003 09:24:47 -0400 Subject: [Edu-sig] re: Terminology question: just operator overriding? In-Reply-To: <5.2.0.9.0.20030629233248.02494580@pop.ptld.qwest.net> References: <5.2.0.9.0.20030629134106.01f95f88@pop.ptld.qwest.net> <5.2.0.9.0.20030629134106.01f95f88@pop.ptld.qwest.net> <5.2.0.9.0.20030629233248.02494580@pop.ptld.qwest.net> Message-ID: <3F003A1F.1020805@optonline.com> Kirby Urner wrote: > At 06:49 PM 6/29/2003 -0400, Arthur wrote: Kirby writes - > > > More concretely, it's considered high level, and part of abstract > algebra, to be able to generalize from ordinary numbers to these > generic "types" with their group, ring and field properties. > > The addition and multiplication operators become abstracted, to > mean whatever operations follow similar patterns (e.g. you need > identity elements). > > So I hardly think the mathematicians can object that we're dumbing > down the math curriculum or getting off on a tangent, if we look > at an extensible type system, such as Python provides, and use > our ability to override __add__ and __mul__ as we define one type > after another (permutations, integers modulo N, matrices, > polynomials, rationals -- the sets of 'math objects' people > traditionally study in group theory and abstract algebra classes). Override? Overload,no? Or I am just wrong here? Who cares, really. More to the point: I am more concerned about the programmers than the mathematicians. Aren't there those who feel strongly that object concepts are overplayed and dumbing down programming? I am out of my element, and not particlarly interested, in those kinds of discussions. But expect you will face them. Here I am satisfied - with you - with the practicalities. The object concept largely is what is in the real world of programming, and is probably somewhere at work at the grocery store. At some level I also accept that it represents the survival of the fittest concept. At this stage of the game, at least. Art From urnerk@qwest.net Mon Jun 30 19:04:42 2003 From: urnerk@qwest.net (Kirby Urner) Date: Mon, 30 Jun 2003 11:04:42 -0700 Subject: [Edu-sig] re: Terminology question: just operator overriding? In-Reply-To: <3F003A1F.1020805@optonline.com> References: <5.2.0.9.0.20030629233248.02494580@pop.ptld.qwest.net> <5.2.0.9.0.20030629134106.01f95f88@pop.ptld.qwest.net> <5.2.0.9.0.20030629134106.01f95f88@pop.ptld.qwest.net> <5.2.0.9.0.20030629233248.02494580@pop.ptld.qwest.net> Message-ID: <5.2.0.9.0.20030630094929.019d2760@pop.ptld.qwest.net> At 09:24 AM 6/30/2003 -0400, Arthur wrote: >Kirby Urner wrote: > >>At 06:49 PM 6/29/2003 -0400, Arthur wrote: >Kirby writes - >> >>More concretely, it's considered high level, and part of abstract >>algebra, to be able to generalize from ordinary numbers to these >>generic "types" with their group, ring and field properties. >>The addition and multiplication operators become abstracted, to >>mean whatever operations follow similar patterns (e.g. you need >>identity elements). >>So I hardly think the mathematicians can object that we're dumbing >>down the math curriculum or getting off on a tangent, if we look >>at an extensible type system, such as Python provides, and use >>our ability to override __add__ and __mul__ as we define one type >>after another (permutations, integers modulo N, matrices, >>polynomials, rationals -- the sets of 'math objects' people >>traditionally study in group theory and abstract algebra classes). > >Override? Overload,no? Or I am just wrong here? Who cares, really. I guess you're right -- I'm not overriding __add__ and __mul__ in most cases, because not inheriting them. The (object) object at the top of new-style classes doesn't have those methods. I like 'syntax overloading' more than 'operator' overloading, because I don't like to call parentheses and brackets 'operators'. But I guess I could call 'em that. >More to the point: > >I am more concerned about the programmers than the mathematicians. Aren't >there those who feel strongly that object concepts are overplayed and >dumbing down programming? Yeah, there's at least one guy with a whole website devoted to anti OO. http://www.geocities.com/tablizer/oopbad.htm >I am out of my element, and not particlarly interested, in those kinds of >discussions. But expect you will face them. Agreed. It's one thing to be a useful paradigm, another thing to claim to be THE paradigm. No need to get too doctrinaire. It's general enough to be interesting and unifying. I wonder if any texts take the class-object approach to subatomic particles. An electron is defined by a class template (in terms of what it can do), but a specific electron is distinguished from others by virtue of being an instance, with its own state data). >Here I am satisfied - with you - with the practicalities. The object >concept largely is what is in the real world of programming, and is >probably somewhere at work at the grocery store. At some level I also >accept that it represents the survival of the fittest concept. At this >stage of the game, at least. > >Art Because we can define __mul__ and __add__ as we wish, we'll use 'em to return the remainders of products and additions after division by N: >>> class M(object): n = 12 def __init__(self,value): self.value = value % self.n def __repr__(self): return str(self.value) def __mul__(self,other): return M(self.value * other.value) def __add__(self,other): return M(self.value + other.value) Now we can show off the group properties of if the set G includes only those positives < N with no factors in common with N, i.e. gcd(member, N) = 1. We call these 'the totatives of N': >>> def gcd(a,b): while b: a,b = b,a%b return a >>> totatives = [i for i in range(1,12) if gcd(i,12)==1] >>> totatives [1, 5, 7, 11] So lets multiply every member of [1, 5, 7, 11] by every other, remembering that these aren't regular integers, but M-objects, another kind of math object, with their own meaning for __mul__: >>> showmul(12) 1 5 7 11 5 1 11 7 7 11 1 5 11 7 5 1 Every row has an identity, meaning each element has an inverse, and we've got closure. I didn't show any guts for showmul. showadd does the same for add. I don't actually get into integers modulo N in my PowerPoint for OSCON -- but this is a good example of how we leverage Python's operator overloading to explore the properties of math objects with custom meanings for * and + (/ and - turn out to be syntactic sugar -- we define 'em in terms of * and +). Kirby From ajsiegel@optonline.net Mon Jun 30 19:59:47 2003 From: ajsiegel@optonline.net (Arthur) Date: Mon, 30 Jun 2003 14:59:47 -0400 Subject: [Edu-sig] re: Terminology question: just operator overriding? References: <5.2.0.9.0.20030629233248.02494580@pop.ptld.qwest.net> <5.2.0.9.0.20030629134106.01f95f88@pop.ptld.qwest.net> <5.2.0.9.0.20030629134106.01f95f88@pop.ptld.qwest.net> <5.2.0.9.0.20030629233248.02494580@pop.ptld.qwest.net> <5.2.0.9.0.20030630094929.019d2760@pop.ptld.qwest.net> Message-ID: <000801c33f39$c719abe0$0c02a8c0@Arts> Kirby writes - > Agreed. It's one thing to be a useful paradigm, another thing to claim > to be THE paradigm. No need to get too doctrinaire. In fairness to Python, perhaps you should at least give some play to its multi-paradigm approach. Just so people don't confuse it with being religiously OO, as for example, Ruby or Smalltalk seem to be. Talking through my hat, BTW, if it isn't clear - that is, considering the depth of my undersanding of these issues and my experience with Smalltalk and Ruby. The fact is that since Python is my major language, the distinction between programming paradigms is not a very useful paradigm with which to concern onceself. The best way to get from Point A to Point B, via Python's facilities, is the more useful question. What paradigm borders I cross in the process is not something with which I concern myself (or truly understand). If I had more trouble finding my way from A to B - in a way that someone following after me would have difficulty following - I would then concern myself more with why that might be. And think more, perhaps, about programming paradigms. At the level at which I am working, at least, I don't see the issue arising. My prejudice toward using OOP concepts was probably just a function of the fact that it was a natural fit for much of what I was doing and how I was thinking about what I was doing. Parathentically, the difficulty with OOP is spoken about, in things I have stumbled across, as a Circle and Ellipse problem (I think I have this right). Being a form of the Chicken and Egg problem. Interestingly, to me, thinking in terms of Projective Geoemetry, the issue evaporates. Since they the Circle and Ellipse are projectively equivalent. And one would not expect to be able to derive one from the other. They are the same thing, different spelling. Art