From slitt@troubleshooters.com Wed Oct 4 17:18:15 2000 From: slitt@troubleshooters.com (Steve Litt) Date: Wed, 04 Oct 2000 12:18:15 -0400 Subject: [Edu-sig] Now I went and did it! In-Reply-To: Message-ID: <3.0.6.32.20001004121815.008f4420@pop.pacificnet.net> Hi all, Not that it matters on this particular mailing list, but I'm a Linux/Open Source advocate and a harsh critic of Microsoft. This is just in the way of explanation. So I went to "Technology Night" at our childrens' school, and it turned out to be nothing but a Microsoft indoctrination for elementary students. So I offered to put on an age-appropriate demo of Open Source technology at the next technology night. So now I need to put on a dog and pony show. It must be so interesting to kids that they don't get bored or fidgit. I think that calls for some sort of action game. And it must clearly demonstrate that it fills an educational need to the parents. It seems to me that Python + Idle + some of the ideas I've seen expressed on this list would do the trick. Whaddya all think? Kirby -- any ideas? I've crossposted this to my LUG, LEAP-CF, because I anticpate that my fellow LUGsters and myself will be the people who actually put on this show. Thanks Steve Steve Litt Webmaster, Troubleshooters.Com http://www.troubleshooters.com slitt@troubleshooters.com From jasonic@nomadicsltd.com Wed Oct 4 18:08:25 2000 From: jasonic@nomadicsltd.com (Jason Cunliffe) Date: Wed, 4 Oct 2000 13:08:25 -0400 Subject: [Edu-sig] Now I went and did it! References: <3.0.6.32.20001004121815.008f4420@pop.pacificnet.net> Message-ID: <001201c02e25$b57e6100$c3090740@megapathdsl.net> Hi Steve very happy to pitch in with good ideas but first please can you tell us: - What ages? - What was shown already? [specifically] - How long do you have? - Will it be people gathered around one machine or is there a projector? - When is presentation due? Jason ________________________________________________________________ Jason CUNLIFFE = NOMADICS.(Interactive Art and Technology).Design Director ----- Original Message ----- From: Steve Litt To: Cc: Sent: Wednesday, October 04, 2000 12:18 PM Subject: [Edu-sig] Now I went and did it! > Hi all, > > Not that it matters on this particular mailing list, but I'm a Linux/Open > Source advocate and a harsh critic of Microsoft. This is just in the way of > explanation. > > So I went to "Technology Night" at our childrens' school, and it turned out > to be nothing but a Microsoft indoctrination for elementary students. So I > offered to put on an age-appropriate demo of Open Source technology at the > next technology night. > > So now I need to put on a dog and pony show. It must be so interesting to > kids that they don't get bored or fidgit. I think that calls for some sort > of action game. And it must clearly demonstrate that it fills an > educational need to the parents. > > It seems to me that Python + Idle + some of the ideas I've seen expressed > on this list would do the trick. Whaddya all think? Kirby -- any ideas? > > I've crossposted this to my LUG, LEAP-CF, because I anticpate that my > fellow LUGsters and myself will be the people who actually put on this show. > > Thanks > > Steve > > Steve Litt > Webmaster, Troubleshooters.Com > http://www.troubleshooters.com > slitt@troubleshooters.com > > > _______________________________________________ > Edu-sig mailing list > Edu-sig@python.org > http://www.python.org/mailman/listinfo/edu-sig > From dscherer@cmu.edu Wed Oct 4 19:50:36 2000 From: dscherer@cmu.edu (David Scherer) Date: Wed, 4 Oct 2000 14:50:36 -0400 Subject: [Edu-sig] Now I went and did it! In-Reply-To: <3.0.6.32.20001004121815.008f4420@pop.pacificnet.net> Message-ID: > So now I need to put on a dog and pony show. It must be so interesting to > kids that they don't get bored or fidgit. I think that calls for some sort > of action game. And it must clearly demonstrate that it fills an > educational need to the parents. > > It seems to me that Python + Idle + some of the ideas I've seen expressed > on this list would do the trick. Whaddya all think? Kirby -- any ideas? If you haven't already, why don't you take a look at the 'visual' module? (part of VPython) http://cil.andrew.cmu.edu/projects/visual I didn't design it for writing action games, but it can do the kind of 3D stuff Kirby has been doing with Povray, and do it in real-time so that you can rotate around an animation, interact with it, etc. For some reason there aren't any great screenshots online, but please download it and play with the demos. I think it will help you put something both flashy and educational together. Also, are there any particular subjects that you want to get involved? i.e. is the objective to teach about computers, or to teach arithmetic, or is *any* application of technology in the classroom okay? Dave From fred@ontosys.com Wed Oct 4 20:56:21 2000 From: fred@ontosys.com (Fred Yankowski) Date: Wed, 4 Oct 2000 14:56:21 -0500 Subject: [Edu-sig] Now I went and did it! In-Reply-To: References: <3.0.6.32.20001004121815.008f4420@pop.pacificnet.net> Message-ID: <20001004145621.A85113@enteract.com> On Wed, Oct 04, 2000 at 02:50:36PM -0400, David Scherer wrote: > If you haven't already, why don't you take a look at the 'visual' module? > (part of VPython) > > http://cil.andrew.cmu.edu/projects/visual I'd like to try this, but I'm concerned about how well it will coexist with the other Python installations on my Windows NT 4 machine. I've got: Python 1.6, for general Python use. Python ? as installed as a component of Alice 99. Python 1.5.? as installed as a component of Zope 2.2.2. Will VisualPython work in that environment without interfering with those other Python instances? I'm not enthused about installing Yet Another Python and dealing with its quirks. Do you have any plans to distribute Visual Python as an extension to Python 1.6 or 2.0, rather than as a completely separate product? -- Fred Yankowski fred@OntoSys.com tel: +1.630.879.1312 Principal Consultant www.OntoSys.com fax: +1.630.879.1370 OntoSys, Inc 38W242 Deerpath Rd, Batavia, IL 60510, USA From slitt@troubleshooters.com Wed Oct 4 21:08:23 2000 From: slitt@troubleshooters.com (Steve Litt) Date: Wed, 04 Oct 2000 16:08:23 -0400 Subject: [Edu-sig] Now I went and did it! In-Reply-To: <001201c02e25$b57e6100$c3090740@megapathdsl.net> References: <3.0.6.32.20001004121815.008f4420@pop.pacificnet.net> Message-ID: <3.0.6.32.20001004160823.01154560@pop.pacificnet.net> At 01:08 PM 10/4/00 -0400, Jason Cunliffe wrote: >Hi Steve > >very happy to pitch in with good ideas but first please can you tell us: > >- What ages? 5-10 >- What was shown already? [specifically] MS Encarta, with various types of lookup, video, etc, MS Office and Windows ME (but I missed those -- left early to see the presidential debates) >- How long do you have? I'd guess between 15 minutes and 1 hour >- Will it be people gathered around one machine or is there a projector? Projector. The kids all sit on the floor in front, while the parents sit in chairs behind them. I'd imagine there are about 70 kids and 100 parents. >- When is presentation due? No specific time. I simply made the proposal. Thanks Jason Steve Steve Litt Webmaster, Troubleshooters.Com http://www.troubleshooters.com slitt@troubleshooters.com > >Jason >________________________________________________________________ >Jason CUNLIFFE = NOMADICS.(Interactive Art and Technology).Design Director > > >----- Original Message ----- >From: Steve Litt >To: >Cc: >Sent: Wednesday, October 04, 2000 12:18 PM >Subject: [Edu-sig] Now I went and did it! > > >> Hi all, >> >> Not that it matters on this particular mailing list, but I'm a Linux/Open >> Source advocate and a harsh critic of Microsoft. This is just in the way >of >> explanation. >> >> So I went to "Technology Night" at our childrens' school, and it turned >out >> to be nothing but a Microsoft indoctrination for elementary students. So I >> offered to put on an age-appropriate demo of Open Source technology at the >> next technology night. >> >> So now I need to put on a dog and pony show. It must be so interesting to >> kids that they don't get bored or fidgit. I think that calls for some sort >> of action game. And it must clearly demonstrate that it fills an >> educational need to the parents. >> >> It seems to me that Python + Idle + some of the ideas I've seen expressed >> on this list would do the trick. Whaddya all think? Kirby -- any ideas? >> >> I've crossposted this to my LUG, LEAP-CF, because I anticpate that my >> fellow LUGsters and myself will be the people who actually put on this >show. >> >> Thanks >> >> Steve >> >> Steve Litt >> Webmaster, Troubleshooters.Com >> http://www.troubleshooters.com >> slitt@troubleshooters.com >> >> >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig@python.org >> http://www.python.org/mailman/listinfo/edu-sig >> > > >_______________________________________________ >Edu-sig mailing list >Edu-sig@python.org >http://www.python.org/mailman/listinfo/edu-sig > From jasonic@nomadicsltd.com Wed Oct 4 21:06:12 2000 From: jasonic@nomadicsltd.com (Jason Cunliffe) Date: Wed, 4 Oct 2000 16:06:12 -0400 Subject: [Edu-sig] Now I went and did it! References: <3.0.6.32.20001004121815.008f4420@pop.pacificnet.net> Message-ID: <00a401c02e3e$8be589e0$c3090740@megapathdsl.net> Hi Steve hmm.. thinking about menus and recipes for your pony show... Here is one possible Pythonic 12-step program: 1. BASIC TOOLS Start with IDLE or PythonWin [I am not sure what you show them or do with it..] 2. MATH SANITY AND RESPECT Open a web browser and show some of Kirby's great WEB pages connecting Python to POVray [hint capture a few pages with his permission and store locally as html fixing critical links if needed] This will get instant respect.. [be prepared to compare price/access to Mathematica = yes you can get edu license but still expensive and wont run at home] 3. WEB But wait we are not connected to the internet..Show that these are not just html files, that you are actually accessing a free web server running locally == ZOPE 4. PORTABILITY Don't get stuck into Zope but [mention FREE opensource object-oriented..] maybe mention ZODB import export web site across machines and platforms..[maybe not relevant but for a school I think it makes a lot of sense] So who's using it ? CBS ==> http://www.cbsnewyork.com/main/home/index After the Zope ZODB import export idea, compare and stress portability of Python modules.. 5. PYTHON is used all over and for good things Mention and show that most of Zope is written in ..tadah!.. Python. Python external methods.. 6. WHAT you can make with it and tools you can learn with Show them Alice quickly 7. way cool APPLICATIONS which your kids could like in school and after school Show them Blender 2.x [The game version] Grab some slick 3D game style graphics done in Blender of the web so they understand this is serious FREE software [but not open sourced yet -go ask Ton]. Blender super interface is written in Python I think.. can anyone confirm this.. Anyway show some Python scripting for Blender. If no time for getting into actual demos some good illustrated tutorials in HMTL you can pull down. The scripting examples are nice - very clean and read much like Kirby's POV stuff except they use the interactivity which Blender 2 offers. [I think Caligari Truespace also uses Python for scripting] 8. SUPPORT Flash some of the Python docs at them - clean sane respectable manuals and tutorials Flash some comp.lang.python subject listings tree to give a flavor of healthy community solving problems together support PythonDailyURLs could be another great sample 9. CONTRIBUTIONS http://www.vex.net/parnassus/ 10. USERS Go over some of the luminaries who have used Python for serious scientific work. LLNL, Nasa, Swedish Meteological Institute, etc. http://www.python.org/psa/Users.html [this may need updating not sure] 11. OPEN SOURCE : good enough for 1+billion in Asia Move over to more general openSource arguments. Korean and Chinese governments have now opted for L:inux, French to follow I believe. See the juicy excerpt from an article I am writing at the moment about Korea, Multimedia and the Internet: quote below 12. ATTITUDE STRATEGY Extract some lessons from Eric Raymond's speech and apply _nicely_to your audience. http://www.technetcast.com/tnc_play_stream.html?stream_id=318 There is a very entertaining mp3 you can download and listen to.. funny, over-the-top, right-on, irreverent and shrewd with a dose of teen-like petulance and revenge lust into the mix.. He scores with some very solid points though. recommended Add salt, spice and decorum according to your taste (also peek at this article http://www.advogato.org/article/167.html) ....................................................... NEW GOVERNMENT & LINUX The South Korean government's goal is that Korea should become the #2 world best computer internet society after the USA. They have several way they hope to achieve this. Key is the direct investment in technical infrastructure combined with a balanced investment in human resources. The technical infrastructure includes DSL everywhere, and broad policy adoption Linux operating system. The human resources plan involves access to hardware, software, communications with training and support. [As reported in newspaper.] Ambyiong YOK, Korean government communications minister, announced new Linux policy on the 14-Sept at 'Global Linux Year 2000' expo in Seoul. The show is being held at the Seoul KOEX exhibition center, and is supported by the government. "Today, in software departments, freedom and openness and sharing. This is our philosophy and spirit. We are going to practice this mentality. Linux is one of the really important parts. Linux is the epicenter of change in the communications world. Korean government is going to be managed by internet system. We are going to support and develop in cyberspace computing infra(structure). This event, 'Global Linux Year 2000' is going to be a great terminal and investment bridge for Korean Linux companies and foreign companies. Of course, I hope communications, and broadcast, and information technologies - this all will be harmonized based on openSource software. This is going to be the starting point for openness and sharing." Recognizing the importance of next generation systems, the Korean government's communications department has also started an Internet PC upgrade project. Old PC's will be recycled and sold to China, or donated to North Korea whose computer communications infra-structure is way behind South Korean at present ....................................................... hope this helps. - Jason ________________________________________________________________ Jason CUNLIFFE = NOMADICS.(Interactive Art and Technology).Design Director ----- Original Message ----- From: Steve Litt To: Cc: Sent: Wednesday, October 04, 2000 12:18 PM Subject: [Edu-sig] Now I went and did it! > Hi all, > > Not that it matters on this particular mailing list, but I'm a Linux/Open > Source advocate and a harsh critic of Microsoft. This is just in the way of > explanation. > > So I went to "Technology Night" at our childrens' school, and it turned out > to be nothing but a Microsoft indoctrination for elementary students. So I > offered to put on an age-appropriate demo of Open Source technology at the > next technology night. > > So now I need to put on a dog and pony show. It must be so interesting to > kids that they don't get bored or fidgit. I think that calls for some sort > of action game. And it must clearly demonstrate that it fills an > educational need to the parents. > > It seems to me that Python + Idle + some of the ideas I've seen expressed > on this list would do the trick. Whaddya all think? Kirby -- any ideas? From pdx4d@teleport.com Wed Oct 4 21:06:47 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Wed, 04 Oct 2000 13:06:47 -0700 Subject: [Edu-sig] Now I went and did it! In-Reply-To: <3.0.6.32.20001004121815.008f4420@pop.pacificnet.net> References: Message-ID: <3.0.3.32.20001004130647.00a737a0@127.0.0.1> My recommendation is you keep the demo short and sweet and put some attention into handouts which parents and/or kids can take home and mull over at their leisure. You could talk about what any good teching enviroment should include: real time evaluation (a responsive command line with no compile-link step). Mention that because Python is free, many will be able to use it at home at no cost. Then point to the web and show that an education-oriented culture is growing up around Python. If you won't have internet during the demo, print a page or three for inclusion in your handout. Kirby From slitt@troubleshooters.com Wed Oct 4 21:16:24 2000 From: slitt@troubleshooters.com (Steve Litt) Date: Wed, 04 Oct 2000 16:16:24 -0400 Subject: [Edu-sig] Now I went and did it! In-Reply-To: References: <3.0.6.32.20001004121815.008f4420@pop.pacificnet.net> Message-ID: <3.0.6.32.20001004161624.008f4ca0@pop.pacificnet.net> At 02:50 PM 10/4/00 -0400, David Scherer wrote: >> So now I need to put on a dog and pony show. It must be so interesting to >> kids that they don't get bored or fidgit. I think that calls for some sort >> of action game. And it must clearly demonstrate that it fills an >> educational need to the parents. >> >> It seems to me that Python + Idle + some of the ideas I've seen expressed >> on this list would do the trick. Whaddya all think? Kirby -- any ideas? > > > >If you haven't already, why don't you take a look at the 'visual' module? >(part of VPython) > >http://cil.andrew.cmu.edu/projects/visual > >I didn't design it for writing action games, but it can do the kind of 3D >stuff Kirby has been doing with Povray, and do it in real-time so that you >can rotate around an animation, interact with it, etc. For some reason >there aren't any great screenshots online, but please download it and play >with the demos. > >I think it will help you put something both flashy and educational together. > > vPython looks like a great tool for at least part of the job, assuming it runs under Linux (I couldn't tell from the website). I'd need to have something kewl from a kid point of view, but educational from a parent point of view. > >Also, are there any particular subjects that you want to get involved? i.e. >is the objective to teach about computers, or to teach arithmetic, or is >*any* application of technology in the classroom okay? > >Dave The objective is to present an alternative to the Microsoft propaganda. That's all. Once the alternative has been presented, I'll get back with edu-sig to create something that *actually facilitates child learning*. But this first one is just propaganda, just like Microsoft's dog and pony show. Thanks STeve Steve Litt Webmaster, Troubleshooters.Com http://www.troubleshooters.com slitt@troubleshooters.com From dscherer@cmu.edu Wed Oct 4 22:05:22 2000 From: dscherer@cmu.edu (David Scherer) Date: Wed, 4 Oct 2000 17:05:22 -0400 Subject: [Edu-sig] Now I went and did it! In-Reply-To: <20001004145621.A85113@enteract.com> Message-ID: > I'd like to try this, but I'm concerned about how well it will coexist > with the other Python installations on my Windows NT 4 machine. I've > got: > > Python 1.6, for general Python use. > Python ? as installed as a component of Alice 99. > Python 1.5.? as installed as a component of Zope 2.2.2. > > Will VisualPython work in that environment without interfering with > those other Python instances? > > I'm not enthused about installing Yet Another Python and dealing with > its quirks. Do you have any plans to distribute Visual Python as an > extension to Python 1.6 or 2.0, rather than as a completely separate > product? The 'visual' module is available separately as a ZIP from the download page (http://cil.andrew.cmu.edu/projects/visual/download.html). You need to put in on the python path of the Python you intend to use it with, you will need Numerical Python (http://numpy.sourceforge.net/) as well, and if you want to use an IDE you will need the upgraded IDLE (http://sourceforge.net/projects/idlefork). The VPython installer is a convenience for people who don't already have N versions of Python installed (for example, try installing all of those components manually on 30 machines in a computer lab :). It reduces the frequency of installation problems, and also makes it much easier for us to help people with problems, since they have a homogenous setup. Dave From dscherer@cmu.edu Wed Oct 4 22:08:35 2000 From: dscherer@cmu.edu (David Scherer) Date: Wed, 4 Oct 2000 17:08:35 -0400 Subject: [Edu-sig] Now I went and did it! In-Reply-To: <3.0.6.32.20001004161624.008f4ca0@pop.pacificnet.net> Message-ID: > vPython looks like a great tool for at least part of the job, assuming it > runs under Linux (I couldn't tell from the website). I'd need to have > something kewl from a kid point of view, but educational from a parent > point of view. It does run under Linux, although I don't maintain the linux version. See http://cil.andrew.cmu.edu/projects/visual/download.html#linux. Let us know if you need any help with visual - I'm rather busy at the moment, but this seems like a good cause so I'll do what I can. > But this first one is just propaganda, just like Microsoft's dog and > pony show. Even in propaganda, you might mention that a key advantage of open source, python, visual, etc. is that students and teachers can actually get involved in content creation, rather than just absorbing the content bottled by %(company)s. Dave From mwa@gate.net Wed Oct 4 23:40:41 2000 From: mwa@gate.net (Mark W. Alexander) Date: Wed, 4 Oct 2000 18:40:41 -0400 (EDT) Subject: [LeapList] Re: [Edu-sig] Now I went and did it! In-Reply-To: <3.0.6.32.20001004160823.01154560@pop.pacificnet.net> Message-ID: On Wed, 4 Oct 2000, Steve Litt wrote: > Subject: [LeapList] Re: [Edu-sig] Now I went and did it! > >- What ages? > 5-10 You know, you might just want to back-track a bit and look into research regarding just how effective it is to have kids at this age working with computers. (No, the answer is NOT obvious.) Personally, at this age, I'd only have my kids play games, just so they wouldn't feel intimidated by it later. Maybe by 10, I'd help them type a report. Computers are a tool for the mind. They do not belong in the hands of those who are still learning how to apply their minds. You don't drive race cars before you learn to walk. Of course, in our current school systems, pushing for real education instead of waving quick-fix techno-behavioural on-size-fits-all solutions is like trying to stop a train by putting your foot on the rail. > >- What was shown already? [specifically] > MS Encarta, with various types of lookup, video, etc, MS Office and Windows > ME (but I missed those -- left early to see the presidential debates) I would really drive home three alternatives to these 3: Encarta: Like encyclopedias, but smaller and more rapidly obsolete (due to the rate if information churn). Forget it, and teach using the internet as a research tool. It also has various types of lookup, video, etc... Office: For 5-10 year-olds? When mine were little and needed to type reports, Wordpad did everything they need. There are plenty of Open Source word processors that format nice and handle the occasional embedded image (d/l'ed from the internet, of course) that are a lot simpler for a kid to use. Don't even consider spreadsheets, presentation packages or databases. These kids should be adding, subtracting, multiplying and dividing. They should be learning to make their cases orally and in writing by developing structured thought and communication skills. The should be learning how to take notes and outline. WinME: Kids don't car what OS they are using. Explain to the teachers and administrators that a closed OS is like a closed school. If you really want kids to learn, you have to let them inside. They will argue that everyone else is using MS operating systems. Explain to them (politely) that their goal should not be to grow a new generation of secretaries and managers, but scientists and engineers. We are seriously behind in technological education, because we teach kids how everyone else does things instead of teaching them how to figure things out for themselves. Windows might be on everyones' desk, but Linux was on the space shuttle. In other words, your target audience is NOT the children, (nor should it be). Kids should not be making the decisions about how they get educated and what they learn. Remember, when they show up for the first day of school, they probably don't know what Windows is any more than they know what Linux is, and what's more, they don't care! Even by 10, they MAY have a computer, and they MAY know it runs Windows but the still probably don't know what Windows is, what it does, and what alternatives exist. Nor should they. Teachers and administrators are another thing. They SHOULD know what goes on in the real world, but they don't. The use of computers in K-12 for administrative work is fairly non-relevant to a teacher's day in class. We need to make them understand that these are just tools. Kids should be made familiar with all different types of tools. (Yes, you CAN read that as "Windows, too!") We also need to make them understand that Windows is (basically) an OS for office workers. Unix and Linux is used by scientists, engineers, computer professionals, architects, graphic designers, and of course, REAL internet applications. So the question becomes, "What would you like your students to grow up to be?" > >- How long do you have? > I'd guess between 15 minutes and 1 hour > > >- Will it be people gathered around one machine or is there a projector? > Projector. The kids all sit on the floor in front, while the parents sit in > chairs behind them. I'd imagine there are about 70 kids and 100 parents. This presentation should hold off untill the educator's have bought in and Linux is being deployed. It's a pointless excercise to do an OS presentation for kids this age. Parents are only likely to be interested if this is really something their kids will be doing. So step back, and do some research on education in general (which will get you a LOT of respect from educators). Then talk to the teachers and administrators about ways you can help them use inexpensive technology to improve their communications, work-flow, record keeping and, Oh by the way, this stuff works great for students, too. I think that was at least $.20... mwa From dustin@cs.uchicago.edu Wed Oct 4 23:40:08 2000 From: dustin@cs.uchicago.edu (Dustin Mitchell) Date: Wed, 4 Oct 2000 17:40:08 -0500 (CDT) Subject: [Edu-sig] Now I went and did it! In-Reply-To: <3.0.6.32.20001004121815.008f4420@pop.pacificnet.net> Message-ID: On Wed, 4 Oct 2000, Steve Litt wrote: > So now I need to put on a dog and pony show. It must be so interesting > to kids that they don't get bored or fidgit. I think that calls for > some sort of action game. And it must clearly demonstrate that it > fills an educational need to the parents. Concentrate more on the latter than on the former. Kids will wiggle and squirm and act bored no matter what: you're an adult, and thus (by definition) boring. Do your best to make engage them, but don't let that overshadow your real mission. > It seems to me that Python + Idle + some of the ideas I've seen > expressed on this list would do the trick. Whaddya all think? Kirby -- > any ideas? Sounds like a good idea. However, be sure to keep it simple -- part of Python's beauty (and the beauty of most Open Source apps) is its simplicity. Dustin --------------------------------------------------------------------- | Dustin Mitchell )O( | --------------------------------------------------------------------- From Econoprof@aol.com Thu Oct 5 00:42:27 2000 From: Econoprof@aol.com (Econoprof@aol.com) Date: Wed, 4 Oct 2000 19:42:27 EDT Subject: [Edu-sig] Now I went and did it! Message-ID: <67.a68d904.270d1a63@aol.com> Jason gave a very detailed syllabus but as a parent of a very bright eleven year old (who is desperate for some open source opportunities at school) I would argue against getting so technical in fifteen minutes. I suggest you explain what open source is, give some very cool examples of open source software (hmm, we saw some killer astronomy apps demonstrated recently that would do quite nicely). Of course show Python and ALice and a few others. And mention the open source office suites. THEN start the revolution. Get the school to let you use the computer lab one night a week for a month. Announce at your demo that you are going to offer an open source workshop with an installathon at the end. Limit enrollment. Get the math teachers involved..offer them their own workshop. The school can't lose because the lab is there anyway, and they are getting free technology training. There have to be some other parents around who could help mentor programming, which would be the next free workshop. Just think, an open source magnet school! I'm waiting for this to happen at my son's school. Hmm, maybe I should recruit some volunteers. Joan Combs From pdx4d@teleport.com Thu Oct 5 00:51:29 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Wed, 04 Oct 2000 16:51:29 -0700 Subject: [Edu-sig] Now I went and did it! In-Reply-To: References: <3.0.6.32.20001004121815.008f4420@pop.pacificnet.net> Message-ID: <3.0.3.32.20001004165129.038b2ab0@127.0.0.1> I think the fact this'd be a demo on the Linux OS is pretty irrelevant here. It's likely to confuse parents to make this into a big open source vs Microsoft thing, since Python runs fine on Microsoft, and few schools use Linux as a desktop (more as a backend server -- same in the workplace). Speaking of schools and non-MSFT OSs, I just came back from my kid's school (public) where I successfully installed the following on an iMac (with permission for authorities): (a) Python 2.0b1 (IDLE, minimal install) (b) Povray (rendering engine) and (c) my own Python modules from my Oregon Curriculum Network website (which use Python + Povray)[1] (Note: although this was an Apple, using Mac OS, the web browser with IE 4.5 by MSFT -- worked fine). I noticed a few things: (1) the Mac docs clearly state I shouldn't try to do any Tkinter programming from within IDLE. Interesting. Do the Windows docs say the same? Also: (2) it was quite easy to change the Python search path -- better setup than Windows for that Finally: When I imported my shapes module and set up an Icosahedron to render itself, what I got didn't look much like an icosahedron. Crumbs! Apparently my own module has a bug in it I was unaware of -- gotta fix that tonight. Kirby [1] http://www.inetarena.com/~pdx4d/ocn/numeracy0.html PS: more numeracy + computer literacy stuff (featuring Python) at the Math Forum recently. I do too many posts like this to always mention here, so I'll just stick with wiring them to my website somewhere -- unless what I'm doing seems really relevant to existing threads. Anyway, for what it's worth: http://mathforum.com/epigone/k12.ed.math/snolzhonthay (Fermat's Test, plus in the 2nd post I get into that Sieve of Erastosthenes, which I got some help with here on this list, from Ka-Ping Yee, John Posner and Tim Peters. From Econoprof@aol.com Thu Oct 5 00:50:36 2000 From: Econoprof@aol.com (Econoprof@aol.com) Date: Wed, 4 Oct 2000 19:50:36 EDT Subject: [LeapList] Re: [Edu-sig] Now I went and did it! Message-ID: <7d.b2e7508.270d1c4c@aol.com> >>>>>Don't even consider spreadsheets, presentation packages or databases. These kids should be adding, subtracting, multiplying and dividing. They should be learning to make their cases orally and in writing by developing structured thought and communication skills. The should be learning how to take notes and outline.>>>>> These very things are part of our statewide required curriculum, with early tasks beginning in kindergarten, building up to typing at speed by 5th grade. Kids are using spreadsheets for recording experimental data, doing some art, doing research papers, etc. Required writing portfolios are produced on the computer. We're talking elementary school. Programming of any sort is not part of the picture, however, although all of the kids get exposed to television production and videography, as well. I'm not saying this is as it should be, just an example of one state's set of requirements. Joan Combs From pdx4d@teleport.com Thu Oct 5 02:20:09 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Wed, 04 Oct 2000 18:20:09 -0700 Subject: [Edu-sig] Now I went and did it! In-Reply-To: <67.a68d904.270d1a63@aol.com> Message-ID: <3.0.3.32.20001004182009.038c3e90@127.0.0.1> >I suggest you explain what open source is, give some very cool examples of >open source software (hmm, we saw some killer astronomy apps demonstrated >recently that would do quite nicely). Of course show Python and ALice and a >few others. And mention the open source office suites. Again, I think it confuses the issue to make Python be some flag ship of the open source movement. The question is: does Python have a role in K-12? If so, what is that role? Apple has been aggressive in schools as well, and its OS is likewise proprietary. Python runs on both Microsoft and Apple OSs. There's nothing wrong with explaining what open source means, what's good about it. It makes sense to praise Python for being open source and distributed royalty free. But people will use Python in various proprietary ways -- so it just gets to be this involved discussion. Open source is not synonymous with useful in the classroom. Lots of open source stuff is too rough-edged and difficult to use given all the demands on time. Sometimes it makes sense to pay money for some of those more polished products -- maybe just a few bucks. And of course some of the open source stuff is very slick, totally cool, and absolutely ready for classroom use. At least in my own "propaganda", I'm not planning to try pushing too many messages/agendas all at the same time. Even if I push open source in some contexts (I appreciate Linux, have Python 2.0b2 installed on it etc.), I don't see the need to conflate this with my pro-Python initiatives. Perhaps some of you ideologues want to educate me on why this isn't the right attitude. I'm open minded and willing to change my tune if I'm able tune in other ways of looking. Kirby From jasonic@nomadicsltd.com Thu Oct 5 02:36:19 2000 From: jasonic@nomadicsltd.com (Jason Cunliffe) Date: Wed, 4 Oct 2000 21:36:19 -0400 Subject: [Edu-sig] Now I went and did it! References: <3.0.6.32.20001004121815.008f4420@pop.pacificnet.net> <3.0.6.32.20001004160823.01154560@pop.pacificnet.net> Message-ID: <006e01c02e6c$a94e4ac0$c3090740@megapathdsl.net> Hi Steve Following on my earlier 12-step which was thinking more of teenagers. After reading your answer to my first questions and others sensible replies here is my 2nd version: A fun 3 step menu for 5-10 years, their parents and teachers: KEYPOINTS #1Don't worry about Python. It won't matter to anyone unless there is a math teacher or some parents who _are_ into programming themselves. #2The real issue is that there is a rich open options of operating systems and the many software tools to use and create on it. It does not really matter what the tools you show are, so much as you can rapidly jump around and show the diversity. Both serious and fun stuff. #3 It should not be a religious issue of the marilyn_monroe vs. godzilla. If there is a religion it must be marilyn_monroe dates godzilla.. in other words focus on cool software which they can try out today on windoze and hey guess what all?.... this stuff works even better over here on Linux [where it came from] #4 openSource = If you want to have your cake and eat, sooner or later you'll have learn to bake it!! #5 All are FREE and extendible. Thus they represent a no-cost entry into an extendible environment which will reward long-term human investment. #6 It is the global trend [see my juicy Korean Linux quote earlier]. All the same tools for Win or Mac now exist for Linux [almost true in almost all categories. In many cases Linux tools are better we know] # 7 Know you audience.. Perhaps start by asking show of hands stuff how many use computers daily, for office, for multimedia, for web for programming.. THE DEMOS 1. MUSIC + GRAPHICS This is your best bet. This stuff is fun and on openSource this can save a lot of money too vs. The others. Plus it offers a migration path up the school chain in all sorts of ways towards increasing sophistication 1.1 GIMP - obvious but how can you go wrong with some great paint software 1.2 SLIDESHOW [no precise suggestion on this one - find the easiest to use] Some kind of software which will allow you just walk nicely through a bunch of text and graphics with no hideous windows GUI stupid crap in the way - just full screen images and black backgrounds. Load it up with some nice graphics and perhaps some supporting text of your own, including at least one image you are going to fool around with in the GIMP. 1.3 KEYKIT- Fabulous MIDI programming environment. Free. Genius. http://nosuch.com/keykit/ You can open up keyKit, set up a few KeyKit screens with some of the tools and let it play using some built in MIDI synth from soundcard or even better hook up a small synth if you can get one. KeyKit has a couple of great tools to get everyone's instant attention. The advantage is at least one child [of any age will want to play with it] For example I suggest: a) the mouse matrix tool. Scoot your mouse around the XY grid and play delirious tumlbing playful riffs on it. irresistible free thinking. b) boom box tool let you set up bass and drum rhythms. But using the brilliant KeyKit 'snarf' function you can cutnpaste whole riffs of other notes and use those in the boom box. c) sequencer tool Play some Bach as midi. open up some custom parameter sliders so you can change tempo, sound patch on the fly. Play with those for couple of minutes. Then select a small section of the Bach and just play that. Show them how you can break it down to simple manageable small kid sized things. Then load in some popular well known midi file which the kids will know - some theme tune of whatever and play that so they get a response. Then wiggle the sliders to make it strange again. very fast or very slow.. This is an entire self-contained programmable environment which allows custom musical interfaces and compositions to be built. You can use this tool from age 5 through 95. You can use it for straight ahead recordin gan playback of elctronix keyboards for music theory, and singing all the way out to most experimental OUT concepts and beautiful sounds structures For an example of such amazing development see GeoMaestro - an inspired and unique visual interface to music & programming http://perso.infonie.fr/hepta/GM/eGM0.html Good for a illustration on printed handout lots more audio goodies on http://www.xdt.com/ar/linux-snd/ 2. MATH AND EXPERIMENTAL SANITY NEW LEARNING COOL SOFTWARE 2.1 Show Kirby's great Python + POV pages.. Just so impressive those patterns the depth of meaning of number. Instantly they speak but there is much more which is hidden to be explored. patterns patterns patterns http://www.inetarena.com/~pdx4d/ocn/numeracy0.html etc 2.2 Geometer' Sketch Pad Interactive geometry type applications. What I am thinking of is the things which let you directly play hands on with lines and circles and develop a really intuitive feel for geometry. Sort of like these: http://www.maths.gla.ac.uk/~wws/cabripages/inversive/inversive0.html http://java.wiwi.uni-frankfurt.de:8080/java/owa/jr_qurres?vappletno=3144 [Sorry cant find any more precise references right now] 3. GEOGRAPHY, EARTH AND SPACE 3.1 Some cool atlas tool if it exists suitable for young ones. Unix is still very lacking in the low end for this I think. No matter there is so much cool stuff on the web - John Walker's site alone should be enough to keep any 5-10 year old if some kind teacher one would guide them through it 3.2 http://www.fourmilab.ch/earthview/satellite.html 3.3 http://www.fourmilab.ch/cgi-bin/uncgi/Earth/action?opt=-p 3.4 http://www.fourmilab.ch/cgi-bin/uncgi/Earth/action?opt=-m&img=Moon.evif 3.5 http://www.fourmilab.ch/terranova/terranova.html 3.6 http://www.fourmilab.ch/yoursky/ 3.7 http://www.fourmilab.ch/solar/solar.html hth+ enjoy!! - Jason From mwa@gate.net Thu Oct 5 03:04:53 2000 From: mwa@gate.net (Mark W. Alexander) Date: Wed, 4 Oct 2000 22:04:53 -0400 (EDT) Subject: [LeapList] Re: [Edu-sig] Now I went and did it! In-Reply-To: <7d.b2e7508.270d1c4c@aol.com> Message-ID: On Wed, 4 Oct 2000 Econoprof@aol.com wrote: > These very things are part of our statewide required curriculum, with early > tasks beginning in kindergarten, building up to typing at speed by 5th grade. > Kids are using spreadsheets for recording experimental data, doing some art, > doing research papers, etc. Required writing portfolios are produced on the > computer. We're talking elementary school. > > Programming of any sort is not part of the picture, however, although all of > the kids get exposed to television production and videography, as well. I'm > not saying this is as it should be, just an example of one state's set of ^^^^^^ _____________________________| That's the crux of my concern. Although I really don't have anything against teaching kids to use computers, I don't feel our children are getting a decent education, period. Consequently, I have even less faith that our current system is going to teach computer use properly. Now, I don't claim to know what "properly" is, but I don't think it's programming or word processing or using spreadsheets, per se. Kid's should be taught that a computer is like modelling clay; it can be adapted to problems in a variety of ways. My biggest concern is that when kids are taught that computers are "the" way to do whatever, they lose the ability to solve problems in general terms. I already know enough people like that and, unfortunately they're mostly programmers. What's more is, once the typical person learns a few programs on the computer, they're unlikely to learn anymore. I know people that do their word processing in Excel. Others maintain "databases" in Word. If Microsoft applications are all that's presented to our children, then Microsoft's way will be the way of the world (as if it's not already). I try to teach my kids to be economical. In the Microsoft world they'll be paying for upgrades of MS Office for years, when all they really need is MS Word 2.0. The point is that most kids are NOT going to be computer programmers, system administratators or DBA's. They're going to be computer users. If I was taught computers in elementary school, all my homework would have been turned in on punch cards or paper tape. Just because computers are so prevalent today, does not mean that the software or even the interfaces are going to be remotely similar 10 years from now. What good will vendor specific word processing and spreadsheet skills be with voice and auditory interfaces are the norm? Do we really have the audacity to believe that we know how computers will be used when fifth graders get to college? It's frightening enough that so many computer users "interface" now by pushing the pictures of burgers and french fries. If not, shouldn't we concentrate on communications skills, logical thought processes and problem solving skills (e.g. Reading, writing and arithmetic [or at least making change])? Once those skills are mastered, using a more sophisticated tool in their application is a breeze. To this end, I really like Guido's three components in CPFE: * Develop a new computing curriculum suitable for high school and college students. Note: Not elementary, Not middle. High school and above (i.e. close to the job market) * Create better, easier to use tools for program development and analysis. This is our job. We can do it for the kids while they learn other things. And finally, * Build a user community around all of the above, encouraging feedback and self-help. This is the part that can, and should be done in elementary school. (Ok, so I had bad experiences with public schools and pulled my kids out to home school....but I'm feeling much better now ;) mwa From brianc@magicnet.net Thu Oct 5 04:56:25 2000 From: brianc@magicnet.net (Brian Coyle) Date: Wed, 04 Oct 2000 23:56:25 -0400 Subject: [LeapList] Re: [Edu-sig] Now I went and did it! References: Message-ID: <39DBFBE9.3C98BD9C@magicnet.net> > On Wed, 4 Oct 2000, Steve Litt wrote: [an incredible selection of great comments and URLs snipped] mwa and many others from the edu-sig make some great points about the (miserable) state of education... Take a moment or two to dig up a copy of Cliff Stohl's "Silicon Snake Oil"... My kids are 13 (going on thirty) and 5-1/2. At home, both kids use Win95 and Linux. I started each out (@ 18 months) with an ancient TTY terminal and when they learned to spell/type their name, they graduated to the computer (they needed to login). From there, they progressed thru the typical point-and-click eye candy games and educational fare (the JumpStart series from Knowledge Adventure is highly recommended). Their school system uses primarily Apple (MACs & newer equipment for the older kids, hand-me down ][e's for the elementary schools). I deliberately didn't rush out to purchase any Apple gear for the house simply because I wanted the kids to get some diversity in their computer skills. I think it was fifth or sixth grade before the teachers started sending computer work home. Even then, there were no problems with common data exchanges between the stuff at home and the MACs at school. However! (and I think Mark Alexander echo'd this earlier) elementary level students shouldn't focus on computers as a medium for education. They need to get the communication skills, the reading, and the mathematics (my daughter can do much more simple math in her head than I can- I relied way too much on pocket calculators in my school daze :) Sure they can USE the computers to become familiar, but it really shouldn't be the primary (or worse- only) tool in the instructors bag... And since the elementary kids are only USING the computer, any brand of hardware or OS or software should be OK. Ideally they should get exposure to many different types. This is where Linux becomes the shining star in the budget crunched educators world. Because Linux can run on such a wide range of low-end hardware, it becomes attractive to recycle the stuff out of the middle and high schools down to the elementary schools. Linux is free, but does have a hidden administrative cost. I've suggested in the past this is really an opportunity for the school administration to create an advanced computing class, where the high school kids can gain real world experience managing the systems for the elementary kids. Best of luck putting your worms back into the can! ;) P.S. When researching your demo programs, don't neglect the older MS-DOS catalog. Much of this great software will run on Linux with dosemu... -- "Open source software - with no walls and fences, who needs Windows and Gates?" From hei@adtranzsig.de Thu Oct 5 08:38:25 2000 From: hei@adtranzsig.de (Dirk-Ulrich Heise) Date: Thu, 5 Oct 2000 09:38:25 +0200 Subject: [Edu-sig] Anyone Explored Stackless python? References: <1717472437E2D311B90300508B4FB33422FD82@private-client-ip-3.oz.net> Message-ID: <003301c02e9f$3f887880$13ec1fc2@adtranzsig.de> Von: "Rick Richardson" > has anyone worked with or checked out the stackless python as described > here http://www.stackless.com/spcpaper.htm Yes, a year ago. It worked rather flawlessly with my Python 1.5 du jour. (In fact, what i wanted to do with Python was enabling it to freeze and later resume program operation; didn't have the time to really make it work, still on my Todo list. All i can say is: Stackless is of good quality and allows for rather infinite recursion. You copy it into your source tree and recompile Python and that's it.) Dipl.Inform. Dirk-Ulrich Heise hei@adtranzsig.de dheise@debitel.net From pdx4d@teleport.com Thu Oct 5 17:06:21 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Thu, 05 Oct 2000 09:06:21 -0700 Subject: [Edu-sig] Edu-Sig in Python News (O'Reilly Network) In-Reply-To: <003301c02e9f$3f887880$13ec1fc2@adtranzsig.de> References: <1717472437E2D311B90300508B4FB33422FD82@private-client-ip-3.oz.net> Message-ID: <3.0.3.32.20001005090621.00a825f0@127.0.0.1> Just out yesterday: a fairly positive review of my curriculum writing by Stephen Figgins, O'Reilly Network's Python DevCenter bureau chief. He also talks about CP4E and this here EDU-SIG e-list: http://www.oreillynet.com/pub/a/python/2000/10/04/pythonnews.html I think this observation is on target: teaching programming with math... isn't a popular position among math or computer programming instructors who are more commonly fighting for turf and funding. Also a good point: Math textbook writers continue to churn out new versions of the same old stuff. Perhaps that has been because computer languages have generally been difficult to read and difficult to learn, or ridiculously low-powered. Python changes that. It is a high- powered tool that remains accessible. We've turned a corner, thanks to Python and all the hard work behind it. Kirby Curriculum writer Oregon Curriculum Network PS: Thanks again to Arthur Siegel for bringing this article to my attention via his posting to another more-Java-that-Python-oriented list. From fallen@leveltwo.com Thu Oct 5 18:00:09 2000 From: fallen@leveltwo.com (Fred Allen) Date: Thu, 5 Oct 2000 10:00:09 -0700 Subject: [Edu-sig] Now I went and did it! In-Reply-To: <4BB02C541824D311921600902765DB7B1C7DE1@LTISERVER> Message-ID: <4BB02C541824D311921600902765DB7B0EF6C4@LTISERVER> Kirby, It seems to me that you are spot on in asserting that you best further your principal aims, which I admire greatly, by not diluting the force of your argument with consideration of tangential issues...e.g., as by advocating the cause of one or another of the belligerents in the operating system wars. Indeed, an evenhanded discussion of such peripheral matters strengthens the credibility of your true advocacy. For what it's worth, I remain, Respectfully, Fred Allen -----Original Message----- From: edu-sig-admin@python.org [mailto:edu-sig-admin@python.org] On Behalf Of Kirby Urner Sent: Wednesday, October 04, 2000 6:20 PM To: edu-sig@python.org Subject: Re: [Edu-sig] Now I went and did it! >I suggest you explain what open source is, give some very cool examples of >open source software (hmm, we saw some killer astronomy apps demonstrated >recently that would do quite nicely). Of course show Python and ALice and a >few others. And mention the open source office suites. Again, I think it confuses the issue to make Python be some flag ship of the open source movement. The question is: does Python have a role in K-12? If so, what is that role? Apple has been aggressive in schools as well, and its OS is likewise proprietary. Python runs on both Microsoft and Apple OSs. There's nothing wrong with explaining what open source means, what's good about it. It makes sense to praise Python for being open source and distributed royalty free. But people will use Python in various proprietary ways -- so it just gets to be this involved discussion. Open source is not synonymous with useful in the classroom. Lots of open source stuff is too rough-edged and difficult to use given all the demands on time. Sometimes it makes sense to pay money for some of those more polished products -- maybe just a few bucks. And of course some of the open source stuff is very slick, totally cool, and absolutely ready for classroom use. At least in my own "propaganda", I'm not planning to try pushing too many messages/agendas all at the same time. Even if I push open source in some contexts (I appreciate Linux, have Python 2.0b2 installed on it etc.), I don't see the need to conflate this with my pro-Python initiatives. Perhaps some of you ideologues want to educate me on why this isn't the right attitude. I'm open minded and willing to change my tune if I'm able tune in other ways of looking. Kirby _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://www.python.org/mailman/listinfo/edu-sig From jasonic@nomadicsltd.com Thu Oct 5 19:29:40 2000 From: jasonic@nomadicsltd.com (Jason Cunliffe) Date: Thu, 5 Oct 2000 14:29:40 -0400 Subject: [Edu-sig] Now I went and did it! References: <4BB02C541824D311921600902765DB7B0EF6C4@LTISERVER> Message-ID: <007301c02efa$39fa98c0$c3090740@megapathdsl.net> Yes, I would like to echo this feeling also. I stepped back a bit after reading through yesterday's flurry of emails, including my own adhoc proposals. The most important points are having expressive tools you can grow with and using them well. This often means tools which are as _portable_ as possible - platform-independent, agnostic-, cross- whatever fits. Tools which are affordable to everyone - this means cheap or free. Free is better. But costs are not static, they extend over time and depedn on context, so it really is cost of trial, cost of entry, cost of maintenance, cost of books/manuals..cost of changing to something else, cost of different OS, cost of multiple users etc. Some can be set in dollars, other is in time, and other is human effort and psychic investment... posing some basic questions: Does it prepare me well for the next place? Does it give me a good foundation? Does it do what I want and need now? Does it help me think better? Does it help me learn how to learn? Does it isolate me or join me to a healthy community? Python scores very well on all these in my opinion. Linux is more uneven in its suitability. openSource is wonderful but also has some gotchas and myths attached. First and finally it is the use of the tools which counts. Kirby is right to keep focus on the curriculum. Thanks - Jason ________________________________________________________________ Jason CUNLIFFE = NOMADICS.(Interactive Art and Technology).Design Director ----- Original Message ----- From: Fred Allen To: 'Kirby Urner' ; Sent: Thursday, October 05, 2000 1:00 PM Subject: RE: [Edu-sig] Now I went and did it! > Kirby, > > It seems to me that you are spot on in asserting that you best > further your principal aims, which I admire greatly, by not > diluting the force of your argument with consideration of > tangential issues...e.g., as by advocating the cause of one or > another of the belligerents in the operating system wars. > Indeed, an evenhanded discussion of such peripheral matters > strengthens the credibility of your true advocacy. For what > it's worth, I remain, > > Respectfully, > > Fred Allen > > -----Original Message----- > From: edu-sig-admin@python.org > [mailto:edu-sig-admin@python.org] On Behalf Of Kirby Urner > Sent: Wednesday, October 04, 2000 6:20 PM > To: edu-sig@python.org > Subject: Re: [Edu-sig] Now I went and did it! > > > >I suggest you explain what open source is, give some very cool > examples of > >open source software (hmm, we saw some killer astronomy apps > demonstrated > >recently that would do quite nicely). Of course show Python > and ALice > and a > >few others. And mention the open source office suites. > > Again, I think it confuses the issue to make Python be some flag > ship > of the open source movement. The question is: does Python have > a role > in K-12? If so, what is that role? > > Apple has been aggressive in schools as well, and its OS is > likewise > proprietary. Python runs on both Microsoft and Apple OSs. > > There's nothing wrong with explaining what open source means, > what's > good about it. It makes sense to praise Python for being open > source > and distributed royalty free. But people will use Python in > various > proprietary ways -- so it just gets to be this involved > discussion. > > Open source is not synonymous with useful in the classroom. > Lots > of open source stuff is too rough-edged and difficult to use > given > all the demands on time. Sometimes it makes sense to pay money > for > some of those more polished products -- maybe just a few bucks. > And of course some of the open source stuff is very slick, > totally > cool, and absolutely ready for classroom use. > > At least in my own "propaganda", I'm not planning to try pushing > too many messages/agendas all at the same time. Even if I push > open > source in some contexts (I appreciate Linux, have Python 2.0b2 > installed > on it etc.), I don't see the need to conflate this with my > pro-Python > initiatives. > > Perhaps some of you ideologues want to educate me on why this > isn't > the right attitude. I'm open minded and willing to change my > tune > if I'm able tune in other ways of looking. > > Kirby From pdx4d@teleport.com Fri Oct 6 00:12:00 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Thu, 05 Oct 2000 16:12:00 -0700 Subject: [Edu-sig] MacPython: no key word coloring in IDLE? In-Reply-To: <3.0.3.32.20001004165129.038b2ab0@127.0.0.1> References: <3.0.6.32.20001004121815.008f4420@pop.pacificnet.net> Message-ID: <3.0.3.32.20001005161200.007ff920@127.0.0.1> Re: Python on the iMac >I noticed a few things: > Something I forgot to mention: IDLE on the Mac appears NOT to have any color coding of key words. That's a pity, as I consider colorized code a major enchancement to code readability and primary "selling point" of IDLE. If color-coding is an option, I failed to see where to turn it on. Maybe I'll write to the MacPython guy and ask him about this (just to get a sense of what's preventing this feature from migrating to the Mac platform (Linux IDLE is colorized)). Kirby From fbartlet@optonline.net Fri Oct 6 15:46:47 2000 From: fbartlet@optonline.net (Fred Bartlett) Date: Fri, 06 Oct 2000 10:46:47 -0400 Subject: [Edu-sig] Teaching Middle-School Math with Python Message-ID: <39DDE5D7.CE5FEE40@optonline.net> Has anyone had any success in changing public-school math curricula at the middle-school level? I've been busily learning Python while my daughter has been busily learning 6th-grade math. The contrast between the two experiences is considerable: I can learn Python in a clear, clean, organized way; my daughter can't learn math that way -- well, she _could_, but her textbook militates against it. Her textbook takes a "problem-solving" approach and teaches "high-level" thinking. By this they mean, I think, large numbers of word problems. That would be fine, of course, if they did it right. But they seem to be teaching heuristics rather than algorithms -- that is, each kind of problem is treated as if it were sui generis. I was especially saddened -- and motivated -- when she asked me, "How could anyone ever be interested in this stuff?" I began to muse that an introduction to programming could both help kids see the connections among types of problems and provide a salutary dose of rigor to the curriculum. (Donald Knuth said somewhere that one can't really be sure that one understands something until one can teach a computer to do it.) The only other languages I found in my web searches used below the college level were Java, C/C++, (Visual)Basic, and Scheme -- none of which would be appropriate at the level I'm contemplating. But Python, for all its virtues, is a relatively obscure language. It's a good bet that no one at the Board of Ed has heard of it! Meanwhile, I found out about our "technology" curriculum from middle through high school: It's all Microsoft, so we're paying tens or hundreds of thousands of dollars for license fees. (I'm sure no one here will defend that practice!) I would like to change that, too. Kirby Urner has done some interesting things with algebra and beyond; but I didn't find any pre-algebra math at his site. Hans Magnus Enzensberger's _The Number Devil_ contains the kind of math I'm looking for: simple -- but interesting! -- applications of basic arithmetic on the integers (and, soon enough, the reals). So -- any hints for me out there? Thanks! Fred From pdx4d@teleport.com Fri Oct 6 17:08:15 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Fri, 06 Oct 2000 09:08:15 -0700 Subject: [Edu-sig] Teaching Middle-School Math with Python In-Reply-To: <39DDE5D7.CE5FEE40@optonline.net> Message-ID: <3.0.3.32.20001006090815.009aece0@127.0.0.1> Fred -- I think your post hits the nail on the head as to what the CP4E initiative is all about -- and by extension this e-list. As for "pre-algebra", that's a little tricky, as any Python function def is likely to have variables -- even the simplest. In my posts to the Math Forum, I'm chatting with middle school teachers about ways to phase in Python. For example: http://mathforum.com/epigone/math-teach/pilfrowhel I've appended an excerpt (these topics of prime versus composite numbers, greatest common divisor, lowest common multiple, often make a first appearance at the middle school level -- or even earlier): ========================= That Venn Diagram approach sounds good and useful. Just wanted to add that I favor using a projected command line interface (CLI) if you school is so equipped -- even better if kids have access to a CLI at their desk. By CLI, I mean an interactive prompt, where you can enter stuff and get computerized feedback. In my curriculum writing, that often means Python. Here's a transcript of a session, using my primes.py -- just cutting and pasting from the window: Python 2.0b2 (#6, Sep 26 2000, 14:59:21) [MSC 32 bit (Intel)] on win32 Type "copyright", "credits" or "license" for more information. IDLE 0.6 -- press F1 for help >>> from primes import * >>> gcd(101,11) 1 >>> gcd(34050,35) 5 >>> lcm(234,84) 3276 >>> isprime(101) 1 >>> iscomposite(561) 1 >>> getfactors(561) [3, 11, 17] >>> getfactors(10) [2, 5] >>> erastosthenes(100) [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97] >>> a = getfactors(561) >>> b = getfactors(341) >>> a [3, 11, 17] >>> b [11, 31] >>> intersection(a,b) [11] >>> gcd(561,341) 11 ========================= My initiative is of course one among many. We need to build on one another's efforts, concentrating in areas we know the most about (or are willing to learn a lot about). Certainly I don't have all the answers, skills or knowledge to do this myself (and haven't been). What I bring to the equation is a longstanding interest in upgrading the curriculum, which predates my exposure to Python.[1] At the higher levels, Python has to compete with other teaching languages (Basic, C...) for a place in the sun. As you go down towards middle school, you generally find no computer language at all (computers get used, but not for programming). Even Logo seems to have fallen by the wayside. The competition here is calculators, not so much other computer languages. Calculators do have their selling points, to be sure. To use computers effectively in math class, you'd need a lot of changes from the status quo. I've long brainstormed what I call a "math center", which is similar to a computer lab, but even more suitable.[2] But this is infrastructure most schools have no way to afford. It's the cubical people with corporate responsibilities who get access to that ExecuTrain-style equipment. Most kids do not. That said, I don't think it'd be as expensive as many suppose to upgrade a lot of schools. The economies of scale would kick in if the teacher culture tilted more in favor of installing such infrastructure (at the moment, many teachers are unsure what to do with the few computers they already have). Anyway all this talk about having a better CLI in the classroom brings up issues that extend far beyond which computer language to use. Freelance curriculum writers such as myself have the ability to skirt some of these issues by finding a niche market. As that O'Reilly Network review of my Oregon Curriculum Network mentions, I'm developing resources for home schoolers. Home schoolers tend to have privileged access to computers, including fast, powerful processes and DSL, ISDN or cable modems. At least that's how it is out here in the Silicon Forest, home of Intel and HP. But I haven't turned my back on the public or private schools. My first grader is in a public school and I was over there a couple days ago downloading Python to an iMac. Kirby [1] Museum exhibit: my 'Math Makeover of 1998' campaign: some old web page propaganda I've left intact at http://www.teleport.com/~pdx4d/makeover0.html [2] http://www.teleport.com/~pdx4d/mathcenter.html From slitt@troubleshooters.com Fri Oct 6 17:15:35 2000 From: slitt@troubleshooters.com (Steve Litt) Date: Fri, 06 Oct 2000 12:15:35 -0400 Subject: [Edu-sig] Teaching Middle-School Math with Python In-Reply-To: <39DDE5D7.CE5FEE40@optonline.net> Message-ID: <3.0.6.32.20001006121535.0088d950@pop.pacificnet.net> Hi Fred, Simple but interesting --- In 7th grade the school genius told me what an algorithm is, and how to use a slide rule to find it. The next few months I took my slide rule (now you know how ancient I am) and "fooled around" with it. I invented an arithmetic process I called "infra-addition", which if I remember was A infraadd B = log(A+B), and delighted in graphing it etc. (simple minds, simple pleasures). Around that time my Dad taught me to make a multiplication chart, and my 8th grade teacher taught us about base 8 and base 16 arithmetic, after which I made multiplication charts for everything from 2 to 16. I guess what I'm getting at is if a child is made curious enough, a calculator will suffice in providing him with days of simple but interesting math. Steve At 10:46 AM 10/6/00 -0400, Fred Bartlett wrote: >Has anyone had any success in changing public-school math curricula at >the middle-school level? > >I've been busily learning Python while my daughter has been busily >learning 6th-grade math. The contrast between the two experiences is >considerable: I can learn Python in a clear, clean, organized way; my >daughter can't learn math that way -- well, she _could_, but her >textbook militates against it. > >Her textbook takes a "problem-solving" approach and teaches "high-level" >thinking. By this they mean, I think, large numbers of word problems. >That would be fine, of course, if they did it right. But they seem to be >teaching heuristics rather than algorithms -- that is, each kind of >problem is treated as if it were sui generis. > >I was especially saddened -- and motivated -- when she asked me, "How >could anyone ever be interested in this stuff?" > >I began to muse that an introduction to programming could both help kids >see the connections among types of problems and provide a salutary dose >of rigor to the curriculum. (Donald Knuth said somewhere that one can't >really be sure that one understands something until one can teach a >computer to do it.) > >The only other languages I found in my web searches used below the >college level were Java, C/C++, (Visual)Basic, and Scheme -- none of >which would be appropriate at the level I'm contemplating. But Python, >for all its virtues, is a relatively obscure language. It's a good bet >that no one at the Board of Ed has heard of it! > >Meanwhile, I found out about our "technology" curriculum from middle >through high school: It's all Microsoft, so we're paying tens or >hundreds of thousands of dollars for license fees. (I'm sure no one here >will defend that practice!) I would like to change that, too. > >Kirby Urner has done some interesting things with algebra and beyond; >but I didn't find any pre-algebra math at his site. > >Hans Magnus Enzensberger's _The Number Devil_ contains the kind of math >I'm looking for: simple -- but interesting! -- applications of basic >arithmetic on the integers (and, soon enough, the reals). > >So -- any hints for me out there? > >Thanks! >Fred > >_______________________________________________ >Edu-sig mailing list >Edu-sig@python.org >http://www.python.org/mailman/listinfo/edu-sig > From rlatimer@tjhsst.edu Fri Oct 6 17:24:34 2000 From: rlatimer@tjhsst.edu (Randy Latimer) Date: Fri, 6 Oct 2000 12:24:34 -0400 (EDT) Subject: [Edu-sig] Teaching Middle-School Math with Python In-Reply-To: <39DDE5D7.CE5FEE40@optonline.net> Message-ID: I know it's an old old language, probably in the ancient "has-been" status, but Logo was a nice intro programming language in a style other than the "standard" way of programming (fortran, basic, pascal, c, c++, java etc) that almost took off. I still like it, but I'm an old guy. Randy Latimer On Fri, 6 Oct 2000, Fred Bartlett wrote: > Has anyone had any success in changing public-school math curricula at > the middle-school level? > > I've been busily learning Python while my daughter has been busily > learning 6th-grade math. The contrast between the two experiences is > considerable: I can learn Python in a clear, clean, organized way; my > daughter can't learn math that way -- well, she _could_, but her > textbook militates against it. > > Her textbook takes a "problem-solving" approach and teaches "high-level" > thinking. By this they mean, I think, large numbers of word problems. > That would be fine, of course, if they did it right. But they seem to be > teaching heuristics rather than algorithms -- that is, each kind of > problem is treated as if it were sui generis. > > I was especially saddened -- and motivated -- when she asked me, "How > could anyone ever be interested in this stuff?" > > I began to muse that an introduction to programming could both help kids > see the connections among types of problems and provide a salutary dose > of rigor to the curriculum. (Donald Knuth said somewhere that one can't > really be sure that one understands something until one can teach a > computer to do it.) > > The only other languages I found in my web searches used below the > college level were Java, C/C++, (Visual)Basic, and Scheme -- none of > which would be appropriate at the level I'm contemplating. But Python, > for all its virtues, is a relatively obscure language. It's a good bet > that no one at the Board of Ed has heard of it! > > Meanwhile, I found out about our "technology" curriculum from middle > through high school: It's all Microsoft, so we're paying tens or > hundreds of thousands of dollars for license fees. (I'm sure no one here > will defend that practice!) I would like to change that, too. > > Kirby Urner has done some interesting things with algebra and beyond; > but I didn't find any pre-algebra math at his site. > > Hans Magnus Enzensberger's _The Number Devil_ contains the kind of math > I'm looking for: simple -- but interesting! -- applications of basic > arithmetic on the integers (and, soon enough, the reals). > > So -- any hints for me out there? > > Thanks! > Fred > > _______________________________________________ > Edu-sig mailing list > Edu-sig@python.org > http://www.python.org/mailman/listinfo/edu-sig > From slitt@troubleshooters.com Fri Oct 6 17:37:13 2000 From: slitt@troubleshooters.com (Steve Litt) Date: Fri, 06 Oct 2000 12:37:13 -0400 Subject: [Edu-sig] Teaching Middle-School Math with Python In-Reply-To: References: <39DDE5D7.CE5FEE40@optonline.net> Message-ID: <3.0.6.32.20001006123713.00d5fd90@pop.pacificnet.net> I've heard excellent things about logo. Is there a Linux port? Steve At 12:24 PM 10/6/00 -0400, Randy Latimer wrote: >I know it's an old old language, probably in the ancient >"has-been" status, but Logo was a nice intro programming language in a >style other than the "standard" way of programming (fortran, basic, >pascal, c, c++, java etc) that almost took off. >I still like it, but I'm >an old guy. >Randy Latimer > >On Fri, 6 Oct 2000, Fred Bartlett wrote: > >> Has anyone had any success in changing public-school math curricula at >> the middle-school level? >> >> I've been busily learning Python while my daughter has been busily >> learning 6th-grade math. The contrast between the two experiences is >> considerable: I can learn Python in a clear, clean, organized way; my >> daughter can't learn math that way -- well, she _could_, but her >> textbook militates against it. >> >> Her textbook takes a "problem-solving" approach and teaches "high-level" >> thinking. By this they mean, I think, large numbers of word problems. >> That would be fine, of course, if they did it right. But they seem to be >> teaching heuristics rather than algorithms -- that is, each kind of >> problem is treated as if it were sui generis. >> >> I was especially saddened -- and motivated -- when she asked me, "How >> could anyone ever be interested in this stuff?" >> >> I began to muse that an introduction to programming could both help kids >> see the connections among types of problems and provide a salutary dose >> of rigor to the curriculum. (Donald Knuth said somewhere that one can't >> really be sure that one understands something until one can teach a >> computer to do it.) >> >> The only other languages I found in my web searches used below the >> college level were Java, C/C++, (Visual)Basic, and Scheme -- none of >> which would be appropriate at the level I'm contemplating. But Python, >> for all its virtues, is a relatively obscure language. It's a good bet >> that no one at the Board of Ed has heard of it! >> >> Meanwhile, I found out about our "technology" curriculum from middle >> through high school: It's all Microsoft, so we're paying tens or >> hundreds of thousands of dollars for license fees. (I'm sure no one here >> will defend that practice!) I would like to change that, too. >> >> Kirby Urner has done some interesting things with algebra and beyond; >> but I didn't find any pre-algebra math at his site. >> >> Hans Magnus Enzensberger's _The Number Devil_ contains the kind of math >> I'm looking for: simple -- but interesting! -- applications of basic >> arithmetic on the integers (and, soon enough, the reals). >> >> So -- any hints for me out there? >> >> Thanks! >> Fred >> >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig@python.org >> http://www.python.org/mailman/listinfo/edu-sig >> > > >_______________________________________________ >Edu-sig mailing list >Edu-sig@python.org >http://www.python.org/mailman/listinfo/edu-sig > From rlatimer@tjhsst.edu Fri Oct 6 17:36:00 2000 From: rlatimer@tjhsst.edu (Randy Latimer) Date: Fri, 6 Oct 2000 12:36:00 -0400 (EDT) Subject: [Edu-sig] Teaching Middle-School Math with Python In-Reply-To: <3.0.6.32.20001006123713.00d5fd90@pop.pacificnet.net> Message-ID: I'm teaching in a linux envrironment now, I'll check around for a linux logo, but I think unfortunately it's only part of the windows/mac world. Randy On Fri, 6 Oct 2000, Steve Litt wrote: > I've heard excellent things about logo. Is there a Linux port? > > Steve > > > At 12:24 PM 10/6/00 -0400, Randy Latimer wrote: > >I know it's an old old language, probably in the ancient > >"has-been" status, but Logo was a nice intro programming language in a > >style other than the "standard" way of programming (fortran, basic, > >pascal, c, c++, java etc) that almost took off. > >I still like it, but I'm > >an old guy. > >Randy Latimer > > > >On Fri, 6 Oct 2000, Fred Bartlett wrote: > > > >> Has anyone had any success in changing public-school math curricula at > >> the middle-school level? > >> > >> I've been busily learning Python while my daughter has been busily > >> learning 6th-grade math. The contrast between the two experiences is > >> considerable: I can learn Python in a clear, clean, organized way; my > >> daughter can't learn math that way -- well, she _could_, but her > >> textbook militates against it. > >> > >> Her textbook takes a "problem-solving" approach and teaches "high-level" > >> thinking. By this they mean, I think, large numbers of word problems. > >> That would be fine, of course, if they did it right. But they seem to be > >> teaching heuristics rather than algorithms -- that is, each kind of > >> problem is treated as if it were sui generis. > >> > >> I was especially saddened -- and motivated -- when she asked me, "How > >> could anyone ever be interested in this stuff?" > >> > >> I began to muse that an introduction to programming could both help kids > >> see the connections among types of problems and provide a salutary dose > >> of rigor to the curriculum. (Donald Knuth said somewhere that one can't > >> really be sure that one understands something until one can teach a > >> computer to do it.) > >> > >> The only other languages I found in my web searches used below the > >> college level were Java, C/C++, (Visual)Basic, and Scheme -- none of > >> which would be appropriate at the level I'm contemplating. But Python, > >> for all its virtues, is a relatively obscure language. It's a good bet > >> that no one at the Board of Ed has heard of it! > >> > >> Meanwhile, I found out about our "technology" curriculum from middle > >> through high school: It's all Microsoft, so we're paying tens or > >> hundreds of thousands of dollars for license fees. (I'm sure no one here > >> will defend that practice!) I would like to change that, too. > >> > >> Kirby Urner has done some interesting things with algebra and beyond; > >> but I didn't find any pre-algebra math at his site. > >> > >> Hans Magnus Enzensberger's _The Number Devil_ contains the kind of math > >> I'm looking for: simple -- but interesting! -- applications of basic > >> arithmetic on the integers (and, soon enough, the reals). > >> > >> So -- any hints for me out there? > >> > >> Thanks! > >> Fred > >> > >> _______________________________________________ > >> Edu-sig mailing list > >> Edu-sig@python.org > >> http://www.python.org/mailman/listinfo/edu-sig > >> > > > > > >_______________________________________________ > >Edu-sig mailing list > >Edu-sig@python.org > >http://www.python.org/mailman/listinfo/edu-sig > > > > > _______________________________________________ > Edu-sig mailing list > Edu-sig@python.org > http://www.python.org/mailman/listinfo/edu-sig > From sachs@cyb.org Fri Oct 6 17:50:34 2000 From: sachs@cyb.org (Josef Sachs) Date: Fri, 6 Oct 2000 12:50:34 -0400 Subject: [Edu-sig] Teaching Middle-School Math with Python In-Reply-To: Randy Latimer's message of Fri, 6 October 2000 12:36:00 -0400 References: <3.0.6.32.20001006123713.00d5fd90@pop.pacificnet.net> Message-ID: <3172-Fri06Oct2000125034-0400-sachs@cyb.org> >>>>> On Fri, 6 Oct 2000 12:36:00 -0400 (EDT), Randy Latimer said: > I'm teaching in a linux envrironment now, I'll check around for a > linux logo, but I think unfortunately it's only part of the > windows/mac world. Randy > On Fri, 6 Oct 2000, Steve Litt wrote: >> I've heard excellent things about logo. Is there a Linux port? >> >> Steve I believe that Brian Harvey's Berkeley Logo runs under Unix, DOS/Windows, or Mac. See . From jasonic@nomadicsltd.com Fri Oct 6 18:56:36 2000 From: jasonic@nomadicsltd.com (Jason Cunliffe) Date: Fri, 6 Oct 2000 13:56:36 -0400 Subject: [Edu-sig] Teaching Middle-School Math with Python References: Message-ID: <008b01c02fbe$c5eb5580$c3090740@megapathdsl.net> > I'm teaching in a linux envrironment now, I'll check around for a linux > logo, but I think unfortunately it's only part of the windows/mac world. > Randy > > On Fri, 6 Oct 2000, Steve Litt wrote: > > > I've heard excellent things about logo. Is there a Linux port? I am sure a Python logo already exists. If not it should be pretty easy for a Python adept to do. An obvious advantage is that, unlike Logo which is usually powerful but isolated, PythonLogo immediately puts one at the interactive prompt for doing anything, including Kirby' work and much else to come. - Jason From pdx4d@teleport.com Fri Oct 6 20:41:45 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Fri, 06 Oct 2000 12:41:45 -0700 Subject: [Edu-sig] Teaching Middle-School Math with Python In-Reply-To: <008b01c02fbe$c5eb5580$c3090740@megapathdsl.net> References: Message-ID: <3.0.3.32.20001006124145.008a3570@pop.teleport.com> At 01:56 PM 10/06/2000 -0400, Jason Cunliffe wrote: > >> I'm teaching in a linux envrironment now, I'll check around for a linux >> logo, but I think unfortunately it's only part of the windows/mac world. >> Randy >> >> On Fri, 6 Oct 2000, Steve Litt wrote: >> >> > I've heard excellent things about logo. Is there a Linux port? > >I am sure a Python logo already exists. >If not it should be pretty easy for a Python adept to do. Python Logo?? Linux Logo I'd understand, but Python and Logo are two distinct languages, the latter having roots in Lisp. When it comes to mapping a trajectory through the languages, it could go like this: Logo -> DrScheme -> Other Lisps (AutoCad, Emacs) Python -> C++ (or C#) and/or Python -> Java (possibly via JPython) Which isn't to say Python can't be an end in itself (same with Scheme -- not so sure about Logo). >An obvious advantage is that, unlike Logo which is usually powerful but >isolated, PythonLogo immediately puts one at the interactive prompt for >doing anything, including Kirby' work and much else to come. > >- Jason Tell me more about Python Logo. I know the standard Python comes with a turtle class as one of the Tk demos. Is this what you mean? Kirby From jasonic@nomadicsltd.com Fri Oct 6 23:11:08 2000 From: jasonic@nomadicsltd.com (Jason Cunliffe) Date: Fri, 6 Oct 2000 18:11:08 -0400 Subject: [Edu-sig] Teaching Middle-School Math with Python References: <3.0.3.32.20001006124145.008a3570@pop.teleport.com> Message-ID: <001b01c02fe2$54a9c360$c3090740@megapathdsl.net> > Tell me more about Python Logo. I know the standard Python comes with > a turtle class as one of the Tk demos. Is this what you mean? > > Kirby PythonLogo: I'm glad you asked :-) Yes and yes++ I thought maybe __someone__ might have developed a very cool PythonLogo already.. but elif not then why not develop one. And if so, without becoming a slave to the old, go forward [emulate what is great about it] = make something new and pythonic [adapted to and in harmony with its environment]. I believe the most important thing about Logo is the idea: Turtle-centric thinking with two interconnected interpreters for feedback: one graphic, the other command line. Given Python's obvious talents for interactive objects, lists, reusable structures.. and Logo key insights into psychology of learning, and proven [can we take that as a given ?] effectiveness. Some diverse brainstorming on this one would benefit CP4E I hope - whatever the outcome. [Google results 7,030 for turtle geometry. Search took 0.14 seconds] There is some valuable research available to be synthesized and reviews, but not necessarily integrated. There are some keen and experienced minds to consult with adhoc to mind come these refs: - 'Turtle Geometry' the book http://www.amazon.com/exec/obidos/ASIN/0262510375/o/qid=970868408/sr=8-1/ref =aps_sr_b_1_3/002-4848534-5812817 - Andy diSessa's subsequent work [up to the strange 'Boxer'] http://www-gse.berkeley.edu/program/CD/adisessa.html http://dewey.soe.berkeley.edu/boxer.html/ - Microworlds [is that its name - the multi super processing Logo] http://www.atlantic.net/~caggiano/logo/logo.html - strange mindwarping 3D Game of Life [Not Logo exactly but somehow quite connected. There was an Amiga and I think I saw about 7 years ago..] - GeoLogo = a global and spherical Logo [This last was my vision after reading 'Turtle Geometry' around 1992 - I entered into some correspondence at the time about it with a Math teacher / Musician / JForth Music programmer Nick Didkovsky, based in New York. He had been actively using Logo with his class to some neat stuff. I saw a flyer for a recent concert of his band Dr.Nerve. So I know he's around and thriving. Time to look him up again] Four key points of the GeoLogo idea were: 1. Action on a spherical world leads to all sorts of valuable geo-spatial thinking. Screen is flat, Cartesian geometry is flat, Logo applies a toroidal logic to flat screen [Turtles reappear top-bottom left-right..pretty strange!!] As Bucky noted in 'Utopia or Oblivion' and myriad other places, spherical thinking 2. 'Behaviors' Behaviors led to group Turtle interactions - thus turtles could have properties etc, and also genetic and memetic* traits -leading to learning and social structure families being the direct genetic trait, society being the combined genetic plus memetic behavioral ones. 3. Maps and environments GeoLogo would use basic logo functions to draw environment maps. The maps would themselves have properties so that when the turtles for example reached water or a cold region or source of food, or a road/route they could be programmed to behave differently. The idea was to have a Logo which could start off very simple. But which could also scale up to something much richer more collaborative, distributed hopefully with much more encapsulation possible. Influence of the early Sim-City and A-life [Sim-World..] but keeping the focus on the core values of Logo: interpreter shell, scripts and graphic feedback 4. And among interesting distributed ideas which was much harder then to implement or articulate was message passing between Turtles. How to network these together internally ? How to handle multiple sessions across a network. Micro-worlds have addressed some of this I think. 3-D graphics displays system easily handle this now. One might use something like Pyro to implement distributed message passing. http://www.xs4all.nl/~irmen/ap/pyro.html To handle really effective geo-spherical drawing one needs a toolkit designed for such. This way all is Geo-referencing from the beginning. Then the scale-dependent FLAT world SCREEN world artifacts we handle everyday are put in their correct context - Zoom in Zoom out. You Zoom in enough - flat enough for you? The only and best SDK I know of for doing this is and with great precision is Hipparchus system. check out http://www.geodyssey.com/ http://www.geodyssey.com/tutorial.htm We would need to do the Python embedding and implementation...Any SWIG maestros here? I did not know back then how much was involved to put this together or even how much of it is be possible now - or advisable. But it seems like it _is_ now possible, and still a good idea. The trick would be to have a broad enough vision and project map but start off modestly step at a time building towards an enduring system. Clearly without curriculum and teachers this is hard. A good system is one of the teachers. There is a lot of existing Logo material and experience which could hopefully be used. But perhaps some resistance too. cries of WYANL. PythonLogo says it plainly enough. Because it is PythonLogo it should still be able to do all the other cool python stuff too without missing a beat: >>>import series, precalc Perhaps could get even it to run on a PlayStation2 with some backing from Sony to port Python and develop it. Throw in some sound [not necessarily music, could be multilingual tutorials] and you have one cheap fast hot global curriculum machine. [ intriguing article about the PlayStation2 team in WiReD some months ago, says they might be up for this.] [*October Scientific American has a fascinating article on memes] - Jason From pdx4d@teleport.com Sat Oct 7 00:34:17 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Fri, 06 Oct 2000 16:34:17 -0700 Subject: [Edu-sig] Teaching Middle-School Math with Python In-Reply-To: <001b01c02fe2$54a9c360$c3090740@megapathdsl.net> References: <3.0.3.32.20001006124145.008a3570@pop.teleport.com> Message-ID: <3.0.3.32.20001006163417.009ef900@pop.teleport.com> Thanks for all that background research Jason! I have no problem with the idea of doing turtle geometry using Python -- have done a little myself, including with L-Systems [1], though not with a live graphical display (we'd want that, I agree). I wouldn't call it PythonLogo though, because Logo is a language (descended from LISP), is not just the idea of having a graphical turtle (you can write LOGO programs with no turtle or graphical content). As a language, Logo it has its own integrity, which we shouldn't just bleep over (Logo's designers might not appreciate that). PythonLogo sounds too oxymoronic, like BasicPascal. However, PythonTurtle maybe sounds too much like a bad idea for mad scientist's gene splicing experiment -- two animals conjoined. PyTurtle sounds OK. Kirby [1] http://www.inetarena.com/~pdx4d/ocn/lsystems.html From slitt@troubleshooters.com Wed Oct 4 23:16:14 2000 From: slitt@troubleshooters.com (Steve Litt) Date: Wed, 04 Oct 2000 18:16:14 -0400 Subject: [Edu-sig] Now I went and did it! In-Reply-To: References: <3.0.6.32.20001004161624.008f4ca0@pop.pacificnet.net> Message-ID: <3.0.6.32.20001004181614.009fd200@pop.pacificnet.net> At 05:08 PM 10/4/00 -0400, David Scherer wrote: >Even in propaganda, you might mention that a key advantage of open source, >python, visual, etc. is that students and teachers can actually get involved >in content creation, rather than just absorbing the content bottled by >%(company)s. > >Dave Good point! Steve From jeff@elkner.net Sun Oct 8 14:55:13 2000 From: jeff@elkner.net (Jeffrey Elkner) Date: 08 Oct 2000 18:55:13 +0500 Subject: [Edu-sig] Teaching Middle-School Math with Python In-Reply-To: <3.0.3.32.20001006090815.009aece0@127.0.0.1> Message-ID: Hi All! This is a *VERY* exciting discussion! I have three students this year who will be creating educational materials aimed at the 5th to 7th grade curriculum as an independent study project. I've already contacted an elementary school science coordinator about this. We plan to develope python materials that will work with and enrich the already existing cirriculum. All three of these students have recently joined the list, so in addition to expressing my enthusiasm for the discussion, I'm testing to see if James, Donald, and Ryan are paying attention ;-) jeff elkner yorktown high school arlington, va > Fred -- > > I think your post hits the nail on the head as to what the > CP4E initiative is all about -- and by extension this e-list. > > As for "pre-algebra", that's a little tricky, as any Python > function def is likely to have variables -- even the simplest. > > In my posts to the Math Forum, I'm chatting with middle school > teachers about ways to phase in Python. > > For example: http://mathforum.com/epigone/math-teach/pilfrowhel > > I've appended an excerpt (these topics of prime versus > composite numbers, greatest common divisor, lowest common > multiple, often make a first appearance at the middle > school level -- or even earlier): > From jeff@elkner.net Sun Oct 8 15:17:22 2000 From: jeff@elkner.net (Jeffrey Elkner) Date: 08 Oct 2000 19:17:22 +0500 Subject: [Edu-sig] Re: Computer Science Curriculum Grades 7-10 In-Reply-To: <3.0.5.32.20001004121025.00793670@mail.lcusd.net> Message-ID: Beginning last year, Yorktown High School in Arlington, Virginia switched to Python as the language for its introductory computer science courses. A little over a year later we have more students taking the class and achieving greater success than they were before the switch. Python is a language ideally suited to teaching people to program. It is a modern, object oriented language which can be used to teach the lastest programming concepts. At the same time, it has a beautifully elegant syntax that greatly reduces the difficulties in teaching programming concepts. Even more wonderful, it is an interpreted language with a development environment that allows beginners immediate feedback from the environment. This encourages the use of "discovery" approaches to learning. Functions and modules can be added and explored during run time. Python is freely available on almost any platform you can think of (we use Linux), and can be downloaded at: http://www.python.org There is also a discussion group which is beginning to address the challange of using Python as a teaching language. jeff elkner yorktown high school arlington, va > I want to build the enrollment in my Computer Science and AP Computer > Science classes, and am wondering what you are teaching or offering for > "computer science" type classes for 7-10th graders. Does anyone offer > classes before Computer Science and AP Computer Science? What classes are > you teaching? What material are you covering? > Is anyone offering a "scripting" language course (HTML, JavaScript, etc)? > I am also curious if your school district is doing anything in the K-6 > grades to build interest in programming. > Is any school district still teaching LOGO? If so what grade level and what > are you covering. > Thanks for your reply. > > > Dave > > > Dave Clausen > La Canada High School > 4463 Oak Grove Drive > La Canada, CA 91011 From ajs@ix.netcom.com Sun Oct 8 15:08:37 2000 From: ajs@ix.netcom.com (Arthur Siegel) Date: Sun, 8 Oct 2000 10:08:37 -0400 Subject: [Edu-sig] Now I went and did it. Message-ID: <001401c03131$4617d760$79e16dd1@oemcomputer> Jason wrote: >2.2 Geometer' Sketch Pad Interactive geometry type applications. >What I am thinking of is the things which let you directly play hands on >with lines and circles and develop a really intuitive feel for geometry. >Sort of like these: >http://www.maths.gla.ac.uk/~wws/cabripages/inversive/inversive0.html >http://java.wiwi.uni-frankfurt.de:8080/java/owa/jr_qurres?>vappletno=3144 >[Sorry cant find any more precise references right now] How about it we took the concept further, were truly innovative and extended the concept to 3d. My precise references is http://www.python.org/sigs/edu-sig/ wherein is mentioned: PyGeo Dynamic geometry software in the tradition of Texas Instruments' Cabri Geometry II(TM) and The Geometer's Sketchpad from Key Curriculum Press, but extended to 3D - written in Python using the PyOpenGL and NumPy extensions. By Arthur Siegel. I keep vowing to myself to stay off the list, but this is too frustrating to let go. Withdrawn from the market do to lack of interest - for reasons I never understood. And then the concept mentioned on a EDU-SIG wishlist of things that sound great and nobody will every actually do - except that this one has actually been started in a significant way. Too frustrating. Oh well.... Actually have redone it as web-enabled Java. Cool stuff in my humble estimation for anybody interested in geometry, integrated with exposure to programming - the code is simple and explorable. The analytic geometry behind the code sometimes gets a bit hairy - but the link between analytic and synthetic geometry is now made direct and concrete through the code. Something only accomplishable through an opensource approach - which is why the approach leaves the commercial efforts in the dust, as a pedagogical tool. Don't know how to generate interest, though. Certainly never accomplished it here. ART From pdx4d@teleport.com Sun Oct 8 16:45:30 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Sun, 08 Oct 2000 08:45:30 -0700 Subject: [Edu-sig] Now I went and did it. In-Reply-To: <001401c03131$4617d760$79e16dd1@oemcomputer> Message-ID: <3.0.3.32.20001008084530.00a996a0@pop.teleport.com> >Don't know how to generate interest, though. > As I recall, my advice at the time was to do more on a website to show screen shots, discuss usage, deploy example lesson plans. And then focus a lot on geometry teachers, not Python programmers. Programmers tend to get fascinated by their own apps and may have lest interest than other audiences in being end-users of stuff already programmed (although in the case of PyGeo, I dare say serious Pythoneers would want to dissect it for more ideas about how to operate OpenGL from within Tk windows). I also hit you with some of my own prejudices about PyGeo, which were less relevant. What you'll find in geometry world, however, is decades of preconditioning which bias the K-12 field in favor of planar figures only. Getting spatial geometry of any kind into the curriculum is an uphill battle -- but well worth fighting I think. Still, you need to have a high tolerance for non-acceptance. >Certainly never accomplished it here. > >ART Agreed. Additionally, you got caught up in the meat grinder of ongoing version changes and the failure of some "add ons" to keep up. Is it possible that PyGeo is just ahead of its time? When 2.0 stablizes as a final, and the OpenGL add-on catches up, maybe that's when to pick up the thread? Maybe not -- perhaps other technologies more suitable. In any case, if nothing else, I think PyGeo proved a central tenet of this list, which is that Python is a great ladder into higher level programming for people relatively new to the discipline (which you've subsequently developed). You've made this point as well. Kirby From ajs@ix.netcom.com Sun Oct 8 16:55:57 2000 From: ajs@ix.netcom.com (Arthur Siegel) Date: Sun, 8 Oct 2000 11:55:57 -0400 Subject: [Edu-sig] Now I went and did it. Message-ID: <000501c03140$42271760$e8e06dd1@oemcomputer> Kirby - >In any case, if nothing else, I think PyGeo proved a central >tenet of this list, which is that Python is a great ladder into >higher level programming for people relatively new to the >discipline (which you've subsequently developed). You've made >this point as well. I think you once called me a poster boy for Python as a first language. I hope so. I do all this very part-time - and am out there doing some decent Java stuff at this point - the step from Python to Java having been pretty painless. Which is among the reasons I remain devoted to the concept of introducing programming via Python - and despite my (considerable) frustrations on the EDU-SIG list. ART From jasonic@nomadicsltd.com Sun Oct 8 18:01:49 2000 From: jasonic@nomadicsltd.com (Jason Cunliffe) Date: Sun, 8 Oct 2000 13:01:49 -0400 Subject: [Edu-sig] Re: Now I went and did it. References: <001401c03131$4617d760$79e16dd1@oemcomputer> Message-ID: <001a01c03149$736ef8c0$c3090740@megapathdsl.net> > How about it we took the concept further, were truly innovative and extended > the concept to 3d. Yes I'd love to.. my idea for GeoLogo or PyTurtle as Kirby suggested is 3-D but based on Spherical algebra because I feel that the most global thing one can do for kids is give them great tools for understanding the geometry of the plant and system we travel in. The nice thing about spherical approach is that immediately all the orbital geometry and symmetries can come in to direct play. This connects implicitly to Bucky's theories but also extends to temporal understanding. Life as we know it almost entirely constructed from intermeshing of cyclic patterns and rhythms at all scales. Being able to program and construct programs in abstract simulator would offer a very rich basis for all the sciences. One can equally take a more generic Cartesian XYZ co-ordinate generic spatial approach. This could be equally fascinating and certainly plays into most contemporary 3D systems and most analytic geometry. I am of the more radical persuasion that spherical geometry is the basis of all else and comes first. It is the super set, and imho fundamentally more intuitive and should be one of the essential bases of any new literacy. Let's say the essential base elements in a new literacy are: string, sticks, pen, paper, balls, cubes, clocks and computers... > My precise references is http://www.python.org/sigs/edu-sig/ wherein is > mentioned: Alas I cannot get this link to follow through. Please can you provide an alternate or send me a version directly. I would like to see it very much. In the search for scriptable 3D engines with direct live interaction, I think the new version of 'Blender' has a tremendous amount to offer: http://www.blender.nl Because NaN and friends have already done a lot of the really painful work interfacing 3D APIs etc. There is intrinsic key framing of everything. It is based on 100% object-oriented design. You can use Python. It is free and cross platform [but not openSource]. Blender can import and export all kinds of models from a large library - this is good because one has the choice of objectifying or abstracting them. It provides an immediate platform for making very effective presentation 'movies'. These could be a direct tool for still illustration, animated films for CD-ROM, Internet or Video. The new 'game' version adds direct behaviors to scene graphs and their contents. Thus all kinds of mechanics are possible. And stuff looks really good. A growing and talented group of people to draw on already who might be very willing to help develop materials for such a project. > Actually have redone it as web-enabled Java. Cool stuff in my humble > estimation for anybody interested in geometry, integrated with exposure to Please, I would also like to see your Java examples. > programming - the code is simple and explorable. The analytic geometry > behind the code sometimes gets a bit hairy - but the link between analytic > and synthetic geometry is now made direct and concrete through the code. > Something only accomplishable through an > opensource approach - which is why the approach leaves the commercial > efforts in the dust, as a pedagogical tool. Sorry I don't quite follow your point here... Can you expand and compare for example to 'Mathematica' > Don't know how to generate interest, though. > Certainly never accomplished it here. ..#1: Don't give up - prepare the groundwork build better demos and protable support materials. These ideas are not going away, they are just arriving, even if for some it may seem like is already a very long time. [Look at solar energy or electric or hydrogen cell cars - you *know* it makes sense and the tide will turn] #2 We are talking about a 21 st century education. Each century has been very different from the ones before it. The 18th century saw the transfer from monastic-based tuition to broader literacy for privileged classes. The basic wide curriculum was started- classics, etc. The 19th century saw the beginning of much broader education and expanding curriculum and for wider class base. The 20th century implemented much of the really key idea - basic [public or private] school education and literacy for everyone, male or female, and created a global higher education infrastructure. Not 100% but revolutionary difference between in education in 1900 and today. Though granted there are still many Victorian elements left over.. But the 21st century has a 2 tools the others never had - Internet and affordable networked personal computers. As we know, this is still far from global but the trend is clear. If people in some necks of some woods don't believe a change is gonna come, in others such as Asia, and in Korea for certain, they are wasting not a single moment to take advantage. They are embracing Internet technology and now also openSource methodology [Micro$oft has been especially blind to other cultures] . But I don not know what new curriculum they consider is appropriate. I will be visiting Korea early next year and hope to follow up more on this. Thus any strong ideas need to be expressed lucidly in a globally accessible manner. On the internet and easily translatable.. using portable technology [Python is one v.good tool for this] - Jason From pdx4d@teleport.com Sun Oct 8 19:00:49 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Sun, 08 Oct 2000 11:00:49 -0700 Subject: [Edu-sig] Now I went and did it. In-Reply-To: <000501c03140$42271760$e8e06dd1@oemcomputer> Message-ID: <3.0.3.32.20001008110049.00aa1340@pop.teleport.com> >Which is among the reasons I remain devoted to the concept of introducing >programming via Python - and despite my (considerable) frustrations on the >EDU-SIG list. > >ART I appreciate your staying with it. Thanks again for alerting me about that O'Reilly write-up of my work at http://www.oreillynet.com/pub/a/python/2000/10/04/pythonnews.html Subsequent to my citing it here on edu-sig, I got email from Shriram Krishnamurthi, one of the chief Schemers (has authored or co-authored a lot of curriculum writing). She wrote, in part: Gee, great. I can never tell how to appropriately applaud your work. In the process of your extremely laudable efforts at educating people about math, you'll end up miseducating people about computer science. But I guess you don't really care about that... Seems there's still some bitterness about Python making any inroads at all into education, which has been the focus of TeachScheme! for much longer (the python.org edu-sig web page has long linked to it [1] -- I haven't found any reciprocal links going the other way though). The "competition" between myself and the Schemers isn't very real however. TeachScheme isn't trying to interest K-12 math teachers in using a command line interface (CLI or REPL) to communicate math concepts. If it were, I'd have seen lots of posts to the Math Forum, e.g. to k12.ed.math or to math-teach. But there's nothing. I sense no real overlap in our efforts. Anyway, I spent some hours since Shriram's email refamiliarizing myself with Scheme (RScheme to be specific) and going further into it. I see some commonalities with Python, in particular the abstraction of thinking of all names as pointers to objects, including names of functions, which may be passed as parameters to other functions. If you master lambda, filter, apply, reduce, zip and map (I may be forgetting some) in Python, you'll have some transferrable understanding I think, as these features inherit from the same "functional programming" background that Scheme does. This ability to make "function factories" will build procedures using lambda and passed parameters is something Python can do as well. So my thinking is learning Python is not going to hurt you when you later tackle Scheme (if you do). Plus it contains a lot more of the conventional imperative language structure, plus a lot of OO, which the various flavors of Schemes don't all implement (having a class hierarchy with inheritance is different from the 'everything a referent to an object' abstraction). So Python is a better waystation to Java (and C++) than is Scheme IMO. I continue to have the impression (I think it's more than a mere prejudice, as I've been doing some studying) that Scheme is more academic and less interested in venturing into the rough and tumble world of writing to sockets, encryption, XML, unicode, working with various kinds of GUI widget, than is Python. There's a difference between being extensible in principle, and actually having all those libraries ready for download *now*. But I haven't studied the Scheme Repository in much detail yet, and am willing to have my mind expanded. The more the merrier. I am not a huge fan of recursion as the greatest way to do anything looping. It's cool, but these recursive-wherever-possible languages feel like one of those situations in which you've taught your dog to roll over, so now you make your dog roll over and over and over -- to the exclusion of all other tricks. How impressed should we be? This is more a prejudice I realize -- shared by many who didn't cut their programming teeth in the LISPish world, where recursion is god. So, I hope I haven't started a language war. I'm still of the opinion that Scheme is a great technology, but that it's not either/or. Scheme isn't very actively competing in the area I'm looking at, and learning Python early isn't going to "ruin you for Scheme" if you decide to tackle that one too, perhaps down the road, when you've decided that computer science is going to be a central focus ("computer programming for everybody" or CP4E involves sharing programming savvy with folks who will _not_ be making that decision). Kirby [1] http://www.python.org/sigs/edu-sig/ From jasonic@nomadicsltd.com Sun Oct 8 21:15:41 2000 From: jasonic@nomadicsltd.com (Jason Cunliffe) Date: Sun, 8 Oct 2000 16:15:41 -0400 Subject: [Edu-sig] Now I went and did it. References: <3.0.3.32.20001008110049.00aa1340@pop.teleport.com> Message-ID: <00bf01c03164$8852eb00$c3090740@megapathdsl.net> From: Kirby Urner > Anyway, I spent some hours since Shriram's email refamiliarizing > myself with Scheme (RScheme to be specific) and going further into > it. I see some commonalities with Python, in particular the > abstraction of thinking of all names as pointers to objects, > including names of functions, which may be passed as parameters > to other functions. I took a very brief look at the TeachScheme! project and the book draft. It is great to see such work being logically developed and articulated. It can surely only have aa good influence.. But something bothers me. As creative person still struggling to attain fluency in programming, I consider myself a useful guinea-pig testcase for some aspects of CP4E. I find myself become more of an instant nutcase than testcase when I look at even this trivial example: (define (area-of-disk r) (* 3.14 (* r r))) A voice inside my head starts saying "No. Stop no!" This just does not look or feel right, but I find it hard to articulate why... But to me this pretty much exemplifies what _is_ wrong with so much computer science. It is not 'natural', and certainly not intuitive to my brain. Okay, yes one can learn the syntax and methodology of this language, adapt to its rules and profit from its true virtues. Many do. I have couple of very bright acquaintances doing wonderful work with Scheme. But they are also already very sophisticated and accomplished programmers with a truckload of languages and major projects behind them who came to it later.. I wonder to how many people react differently from me, and what the real pre-conditions are whereby one says instead "oh yes of course! :-)" Now Python by contrast makes me feel sane.. ..and it did so from day 0 def areaCircle(radius): area = (radius * radius) * 3.14 return area ### I promise you I am not writing this to engage in any language war debate. Rather I am genuinely curious what others feel about this question of common sense, intuition and programming vis-a-vis development, curriculum, CP4E. I think my allergy to some programming languages stem from 2 things: - visual syntax clarity matters to me [Python white space indentation = v. nice] - natural language or object order.. This last one is very tricky I know because English is my mother tongue so I cannot really know how does programming syntax feel to people around the world from different subject-object-verb systems? I get a glimpse only from use and study of other spoken languages and when speaking with non-English speakers. The order of things seems to matter and be important beyond just spoken language but to how we function in this world. Especially when we are very young and learning to recognize core patterns and dvelop skills based on those... Are there consistent universal patterns of recognition and action which are independent from language culture personality? How does learning play into this.. Where does early computer programming belong? I would love to hear about anyone's personal experiences from both the learning and teaching side of this huge question. And if you know any suitable paradigms/ reading / research on this... The last book I read was Andy diSessa's latest: Changing Minds: Computers, Learning, and Literacy by Andrea A. Disessa Hardcover - 320 pages 1st edition (May 15, 2000) MIT Press; ISBN: 0262041804 .. recommended.. your thoughts most welcome - Jason From asiegel@eico.com Sun Oct 8 22:29:26 2000 From: asiegel@eico.com (asiegel@eico.com) Date: Sun, 8 Oct 2000 16:29:26 -0500 Subject: [Edu-sig] Now I went and did it Message-ID: <0019280A.N22121@eico.com> Jason wrote - >Yes I'd love to.. my idea for GeoLogo or PyTurtle as Kirby suggested.... PyGeo is plain old geometry - though not plain old plane geometry. I've already fought this battle with Kirby. I believe geometry education should recapitulate the historical development - for many reasons. Among them - the best sense I have of the history of civilization is through some understanding of a history of geometry's development. I would go further and say that in many ways that is precisely the importance of geometry study - and the same was true in Euclid's time. Euclid was a summing up, and a history lesson in its time - the way I look at it . It was interesting to me that Stephen Figgins' take on Kirby's curriculum in some way re-iterated my own. Its elementary programming, elementary math, and advanced geometry. Doesn't seem advanced to Kirby because he understands it. But I am convinced he is starting in the middle of the geometry story, and folks, especially young folks, have no way to follow him there. Its almost as if he is asking to be taken on faith. I think it is holding back acceptance of his curriculum - but again I've told him that already. The one significant place I continue to not be onboard with Kirby. He seems to live gracefully with that, and so can I. >If people in some necks of some woods don't believe a change is gonna come, >in others such as Asia, and in Korea for certain, they are wasting not a >single moment to take advantage. As it happens I spent some time last fall working in Beirut (little scary for a nice Jewish boy) with a large private educational institution - more on business than on curriculum matters (the endowment is controlled in the US) . But did get to talk with the folks doing technology in the classroom stuff, and I can assure they are ahead of what I've seen here. Using Geometer's SkecthPad, for example , as a matter of course. >Please, I would also like to see your Java examples. I'll send you JavaGeo with some demos under seperate cover. ART From slitt@troubleshooters.com Sun Oct 8 22:18:01 2000 From: slitt@troubleshooters.com (Steve Litt) Date: Sun, 08 Oct 2000 17:18:01 -0400 Subject: [Edu-sig] Now I went and did it. In-Reply-To: <00bf01c03164$8852eb00$c3090740@megapathdsl.net> References: <3.0.3.32.20001008110049.00aa1340@pop.teleport.com> Message-ID: <3.0.6.32.20001008171801.00b2d3f0@pop.pacificnet.net> At 04:15 PM 10/8/00 -0400, you wrote: >I find myself become more of an instant nutcase than testcase when I look at >even this trivial example: > >(define (area-of-disk r) > (* 3.14 (* r r))) > >A voice inside my head starts saying "No. Stop no!" Jason, I've been programming C since 1984, and my reaction is identical to yours. Whatever that thing is, it's not normal C/Python/Perl/fortran syntax, nor is it reverse polish as far as I can see. I cannot *even imagine* how a kid would understand that syntax. Personally, I'd feel much better if it were 3.14*r*r or 3.14*(r**2). Or even 3.14 (r r *)* or 3.14 r * r * would be preferable to the syntax you quote. The syntax you quote is quite unfathomable to me. My opinion only. Steve Steve Litt Webmaster, Troubleshooters.Com http://www.troubleshooters.com slitt@troubleshooters.com From pdx4d@teleport.com Sun Oct 8 22:24:27 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Sun, 08 Oct 2000 14:24:27 -0700 Subject: [Edu-sig] ET Math (doors to alternative realities) In-Reply-To: <00bf01c03164$8852eb00$c3090740@megapathdsl.net> References: <3.0.3.32.20001008110049.00aa1340@pop.teleport.com> Message-ID: <3.0.3.32.20001008142427.00a95e60@pop.teleport.com> >your thoughts most welcome >- Jason I agree that prefix notation (+ 1 1) vs. infix notation (1 + 1) is something of a curve ball for most of us. That's why I'd do some work to introduce it earlier, perhaps by booting DrScheme on a classroom projector. "Look folks," I'd say "we all get used to a = 1 + 1 from our text books, but you should realize that's cultural, and a serious alternative, actually used in some computer languages, would go like this (define a (+ 1 1)). Note that 'define', which plays the role of '=', is likewise a prefix -- very consistent." This comes under the heading of "ET Math" or "Math from Mars" in my book -- a sort of genre I work with. The point is to give insights into math by showing "what could be different, and still be of utility to an intelligent life form".[1] I do something similar with coordinate systems, showing an apparatus that uses 4-tuples of non-negatives to map ordinary volume (similar to XYZ in other words) -- a gizmo I call "the quadrays coordinate system" and have researched with colleagues.[2] Another game is to show how triangles and tetrahedra make fine models of 2nd and 3rd powering respectively, so we could be saying "3 tetrahedroned = 27" instead of "3 cubed = 27".[3] Again, we're brushing up against a whole other paradigm, an "ET Math" if you will. In other words, I think this prefix vs. infix discussion presents a great opportunity to open a door, expand the mind. That being said, we don't necessarily have to go through the door and spend the whole semester there. For kids encountering all this stuff for almost the first time, it's all pretty alien, and too many alternatives all at once can be too disorienting -- so I think we should walk a fine line. Open a lot of doors, but don't try to go through them all. Leave them for later -- you can come back to this stuff. I'm thinking Python might be used to open a door to Scheme. Instead of the usual thing, of putting two languages side-by-side and showing how different they are, we can modify our style of coding in Python to make it appear more Scheme-like. We can write recursively, for example, and do some functional programming kind of things. For example, you can define car and cdr of LISP fame: >>> def car(mylist): if len(mylist)==0: return [] else: return mylist[0] >>> def cdr(mylist): if len(mylist)==0: return [] else: return mylist[1:] Usage: >>> car([1,2,3,4,5]) 1 >>> cdr([1,2,3,4,5]) [2,3,4,5] In Scheme: > (define mylist '(1 2 3 4 5)) > (car mylist) 1 > (cdr mylist) (2 3 4 5) Then we can do something recursive like this: >>> from operator import * >>> def Reduce(operator,mylist): if len(mylist)==1: return car(mylist) else: return apply(operator, (car(mylist), Reduce(operator, cdr(mylist))) ) >>> Reduce(add,[1,2,3,4,5]) # = (+ 1 (+ 2 (+ 3 (+ 4 5)))) 15 >>> Reduce(mul,[1,2,3,4,5]) + = (* 1 (* 2 (* 3 (* 4 5)))) 120 Note that I've named this Reduce, not reduce, which is a built-in, and gives the same results: >>> reduce(add,[1,2,3,4,5]) 15 >>> reduce(mul,[1,2,3,4,5]) 120 Although Scheme purists might have little patience for such stuff, I think this helps communicate some of the flavor of Scheme to those more familiar with Python. In sum, even if going with Python as a first language, I'd open a door to Scheme via introducing prefix notation, and would lay some groundwork in Python (as per the above example) for latter tackling Scheme and similar languages. Kirby [1] more re "ET Math": http://www.teleport.com/~pdx4d/amtepost2.html [2] http://www.teleport.com/~pdx4d/quadintro.html (links to Python implementation in 'For further reading') [3] http://www.rwgrayprojects.com/synergetics/s09/figs/f9001.html From pdx4d@teleport.com Sun Oct 8 23:03:35 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Sun, 08 Oct 2000 15:03:35 -0700 Subject: [Edu-sig] Now I went and did it In-Reply-To: <0019280A.N22121@eico.com> Message-ID: <3.0.3.32.20001008150335.00a79cb0@pop.teleport.com> >It was interesting to me that Stephen Figgins' take on Kirby's curriculum in >some way re-iterated my own. Its elementary programming, elementary math, and >advanced geometry. Doesn't seem advanced to Kirby because he understands it. >But I am convinced he is starting in the middle of the geometry story, and >folks, especially young folks, have no way to follow him there. Its almost as >if he is asking to be taken on faith. I think it is holding back acceptance of >his curriculum - but again I've told him that already. Yes, I pretty much concur with this analysis. Using the analogy from my "ET Math" post [a], I've done two things at once: 1. introduced a lot of Python into the K-12 math context, which isn't a new idea in principle (even if doing this with Python in particular is somewhat new) AND 2. I've gone through one of those "ET Math" portals into an alternative reality, such that some of the geometry especially comes across as unfamiliar, exotic, even extraterrestrial in flavor. One explanation for #2 is that, in my view, part of why it's such an uphill battle to get even #1 off the ground ("math through programming") is that we've become severely overspecialized, compartmented, fragmented in our approach to content. The system puts a premium on everyone being a "purist" or "specialist" of one kind or another. But I'm more in favor of the rampant hybridization or mongrelization among the disciplines (partly why I like Python -- it incorporates a lot of good ideas from numerous language traditions -- and without degenerating into a kludgely hodge-podge IMO). So the geometry I favor (my brand of "ET Math") ties back to a philosophy that is resolutely cross-disciplinary in outlook. Plus I think in the long run this will work to my advantage, because it addresses a real short-coming in current curriculum writing (one which a lot of kids sense, even if they can't really articulate the problem). In short, I'm willing to trade short-term non-acceptance for longer-term revectoring in a more promising direction. Although I feel in a minority in this respect, I don't feel entirely alone. I have enough of a network to see this as a viable strategy with reasonable prospects for success. Kirby [a] http://www.python.org/pipermail/edu-sig/2000-October/000698.html PS: for an overview of my approach to math ed, check out my 3-part essay on mathpolemica: http://www.egroups.com/message/mathpolemica/16 http://www.egroups.com/message/mathpolemica/19 http://www.egroups.com/message/mathpolemica/21 From dyoo@hkn.eecs.berkeley.edu Sun Oct 8 23:45:15 2000 From: dyoo@hkn.eecs.berkeley.edu (Daniel Yoo) Date: Sun, 8 Oct 2000 15:45:15 -0700 (PDT) Subject: Subject: Re: [Edu-sig] Now I went and did it In-Reply-To: <20001008220503.063A01CE99@dinsdale.python.org> Message-ID: > At 04:15 PM 10/8/00 -0400, you wrote: > >I find myself become more of an instant nutcase than testcase when I look at > >even this trivial example: > > > >(define (area-of-disk r) > > (* 3.14 (* r r))) > > > >A voice inside my head starts saying "No. Stop no!" > > Jason, > I've been programming C since 1984, and my reaction is identical to yours. > Whatever that thing is, it's not normal C/Python/Perl/fortran syntax, nor > is it reverse polish as far as I can see. I cannot *even imagine* how a kid > would understand that syntax. Personally, I'd feel much better if it were I'm a Python user, but I'll try to defend Scheme in this respect, because I really believe in Scheme's beauty. *grin* I think part of what feels weird is the training we have, in both our languages and in math classes, in distinguishing between regular functions, (sin(x), exp(e), ...) and infix operators (+, *, ...). Many languages make this distinction --- Scheme is one of the languages that doesn't. Scheme syntax makes a lot more sense when you consider everything to be a regular function. For example, let's rename the '*' "operator" to a function called 'multiply': (define multiply *) ;; just a renaming (define pi 3.14) ;; another renaming (define (square r) (multiply r r)) ;; for convenience (define (area-of-disk r) (multiply pi (square r)) Also, by not making the math functions as explicitly binary infix operators, it allows one to express: "multiply 2, 3, 4, and 5" as (* 2 3 4 5) which is pretty nice, I think. Hopefully, this makes it a little more explicity that Scheme uniformly treats all functions the same, even the infix math operators. From jasonic@nomadicsltd.com Mon Oct 9 00:09:06 2000 From: jasonic@nomadicsltd.com (Jason Cunliffe) Date: Sun, 8 Oct 2000 19:09:06 -0400 Subject: [Edu-sig] Re: Now I went and did it References: <0019280A.N22121@eico.com> Message-ID: <010a01c0317c$c2886bc0$c3090740@megapathdsl.net> Art wrote: > the historical development - for many reasons. Among them - the best sense I > have of the history of civilization is through some understanding of a history > > of geometry's development. I would go further and say that in many ways that is > > precisely the importance of geometry study - and the same was true in > Euclid's time. Euclid was a summing up, and a history lesson in its time - the hmm... Not wishing to open any previous debates, but here are my 'coordinates' in this fascinating topic. Hope it'll help us work better together... I agree history is essential [my father was historian] And history of science no less. But I am not sure first introduction to subjects should begin with history or follow our present versions of that history. :::maybe, maybe not::: Any subject, especially 'history' itself, cannot be understood without some personal experiences to relate to. For example, history as taught in schools, is hard to grasp even with a good teacher, mostly because as young creatures, we have not lived much ourselves. On the day we are born, one day is a lifetime [in free air minus womb] At the end of our first week our sense of time has already shifted radically.. After six months our sleep wake eat rhythms have transformed from rhythm to noise http://www.nomadicsltd.com/timelines/sleep_wake.html By ten years old we are very conscious of 'years' and somewhat of seasons. But historical time is still so hard to relate to.. We are taught about this or that events in human history and 'important' people or developments, and we really can't scale to them, nor in most cases to the emotions, logic or conditions behind them. Novels and films are sometimes easier to relate because they personalize, albeit at the expense of detail or correct sequence.. which of course makes historians crazy, but can provoke us to want to know more.. When we ourselves or someone near us is dying [at whatever age] then we can say. "oh that's what a lifetime is.." The most readable historians I know who embody some of this are Simon Schama and Fernand Braudel. A History of Britain : At the Edge of the World, 3500 B.C.-1603 A.D by Simon Schama (October 2000) Citizens : A Chronicle of the French Revolution by Simon Schama (March 1990) The Embarrassment of Riches : An Interpretation of Dutch Culture in the Golden Age The Perspective of the World : Civilization and Capitalism 15th-18th Century by Fernand Braudel The Structures of Everyday Life : The Limits of the Possible The Wheels of Commerce In the case of Science, Math and Geometry, I believe much the same applies. We have not yet much experience and we need help relating that to the formal. The 'history' of geometry is not only Euclid. One must go much further back and ask how did Euclid come to this strange juncture. We should also ask what form his source code took. Our modern Euclid passed through Arab, Renaissance, Enlightenment and Victorian interpretations before it reached , Dover, McGraw-Hill or Since the Library of Alexandria was destroyed we shall probably never know what we are missing. But we can imagine by asking from the earliest times what did these people do: Navigators, sailors and travelers, constructors of ancient monuments, merchants, farmers, fishermen, weavers, potters, artists, Geometers themselves [the ones who measured the earth]. This is why I say start with string and sticks, pen and papers, balls and cubes... as they say ...'think Egyptian.. String and sticks in the sand will allow a huge amount of interactive geometry to emerge. The basics of symbolic algebra follow 'naturally' from building things. If you want to cut a piece of marble or wood to fit against another, the most accurate way is hold up the first and make a mark. But it may be too heavy to move and already carefully postioned. The most portable way is use a stick [or string if you don't stretch it] and make a mark or knot. The use of measuring units only enters the picture when you get very ambitious or start worrying about cost, time, having enough material etc. Since we don't even know by whom, or how Stonehenge and the Pyramids were built, we are clearly missing a big chunk of the history of geometry. Not too mention other parts of Africa and Asia. As a sometime carpenter in my early 20s I was so brainwashed by school and rulers [and love of them], that it took me a couple of years of hands-on finish work, to learn when NOT to use a tape measure - thus getting more accurate results and faster.. The same applies for moving pianos and any large heavy object like lengths of lumber.. carrying them precisely by the center of gravity etc.. My main argument is if you are going to the history do it deeply and question the history we have been taught to find the real history. I think in this way the lessons of the past become the experiences of today. The computer allows to crate virtual simulators for all of this. But we must not ignore the value of direct manual contact and our own senses. Thus Dig for the experience of fundamentals and then reach for the brilliant formalists [Euclid etc] Other examples are to do with counting and relationship of number and geometry For example how to count a lot of small objects, how to measure and compare things These are the things humans have needed to do for perhaps 50,000 years. A fabulous book which covers this from the earliest roots is: The Universal History of Numbers : From Prehistory to the Invention of the Computer by Georges Ifrah Hardcover - 663 pages (November 19, 1999) John Wiley & Sons; ISBN: 0471375683 Other Editions: Paperback What is brilliant about Ifrah's book is its trans-culturalism. Not just derived from classical Greece-Renaissance Europe, he really goes all over the world and looks at fascinating comparative history of how humans have used number. Especially in the world today and USA perhaps more than anywhere because of its melting pot, we must look at these things in global historical context. I know an experienced wise old Chemist who is of the firm opinion that the best way to _start_ teaching chemistry is through cooking. Then start asking questions and providing paradigm guidance and method. She insists this if done right will form the right foundation. Among her arguments is that when the children go home, the chemistry lesson will be waiting for them on the dinner table and throughout the rest of their lives. She is a firm believer in scientific method. Returning to the classical Greeks - we must ask how did they do their geometry? What tools did they use? Likewise what their peers in China or elsewhere were doing. Consider the multiple approaches to Pythagoras. Paper and scissors are a great tool here. Take a pile of stones as you sit on beach by a fire watching the stars.. at any time in history Does Euclid pop out ... or do tetrahedral numbers? Take a some string, some shells some sticks.. start drawing circles in the sand and marking interesting points made by your marks, the sticks and the fire light. Does Bucky pop out or does Euclid? I think what we need in addition to spending some time together on a real beach, is a virtual beach, string, sticks, shells.. a computer could do nicely :-) - Jason ________________________________________________________________ Jason CUNLIFFE = NOMADICS['Interactive Art and Technology'].DesignDirector From jasonic@nomadicsltd.com Mon Oct 9 01:44:13 2000 From: jasonic@nomadicsltd.com (Jason Cunliffe) Date: Sun, 8 Oct 2000 20:44:13 -0400 Subject: [Edu-sig] ET Math (doors to alternative realities) References: <3.0.3.32.20001008110049.00aa1340@pop.teleport.com> <3.0.3.32.20001008142427.00a95e60@pop.teleport.com> Message-ID: <001401c0318a$0bcce880$c3090740@megapathdsl.net> Thanks for the fast schematics.. > I agree that prefix notation (+ 1 1) vs. infix notation (1 + 1) is > something of a curve ball for most of us. Yes interesting isn't it? What I am asking is why do we perceive it as a curve ball ...and then later some of us say wow this is really cool? I grew a little bit studying Forth whose simplicity and elegant philosophy I loved. I used an interactive forth called JForth on Amiga. It was a lot of fun. So at that time I grew used to: 1 1 + in a simplistic way I see this topic reduces: object action object action object object object object action That just about covers what the basic permutations people have open to them right? Python, Scheme, Forth Sort of trigram of approaches.. > That's why I'd do some work to introduce it earlier, perhaps by booting > DrScheme on a classroom projector. "Look folks," I'd say "we all get > used to a = 1 + 1 from our text books, but you should realize that's > cultural, and a serious alternative, actually used in some computer > languages, would go like this (define a (+ 1 1)). Note that 'define', > which plays the role of '=', is likewise a prefix -- very consistent." Cool. What is still nagging at me how different it feels when we add some spoken meta-language. This harkens to the importance and role of narrative. It is not that one is good bad or netter than any other, but we need symbolic language 'keys' to unlock the magic so it becomes logic. Walk-through, talk-through - 'stories' seem to do this.. > This comes under the heading of "ET Math" or "Math from Mars" in my book > -- a sort of genre I work with. The point is to give insights into math > by showing "what could be different, and still be of utility to an > intelligent life form".[1] This is very nice. I feel better already :-) > I do something similar with coordinate systems, showing an apparatus that > uses 4-tuples of non-negatives to map ordinary volume (similar to XYZ > in other words) -- a gizmo I call "the quadrays coordinate system" and > have researched with colleagues.[2] > > Another game is to show how triangles and tetrahedra make fine models of > 2nd and 3rd powering respectively, so we could be saying "3 tetrahedroned > = 27" instead of "3 cubed = 27".[3] Again, we're brushing up against a > whole other paradigm, an "ET Math" if you will. Nice. [ Did you ever read Kurt Vonnegut's "The Sirens of Titan"?] > In other words, I think this prefix vs. infix discussion presents a > great opportunity to open a door, expand the mind. Excellent. This makes me really want to get to the root what the differences between prefix infix postfix are -- in language in culture and perhaps most importantly in thinking ? Are they just 3 sides of a universal triangle? How far do they reach? Can we map them ? > In sum, even if going with Python as a first language, I'd open a door > to Scheme via introducing prefix notation, and would lay some groundwork > in Python (as per the above example) for latter tackling Scheme and > similar languages. I like this approach to introducing the comparative potentials of pre- post- in-fix, using Python [or any one, take your pick] to show how to simulate or step into the other. It makes the continuum present and accessible. It introduces the idea of sequence in an important way, not just for mathematics function but any process of thought and action. And of course, our own written symbols, spoken languages, and narratives can help to connect these variations. The parallel between counting in different number bases and programming different object-action bases seems very healthy whole-system way to get close to the core of why programming belongs at the center of new comprehensive literacy. I hope this makes sense.. - Jason From jasonic@nomadicsltd.com Mon Oct 9 01:46:52 2000 From: jasonic@nomadicsltd.com (Jason Cunliffe) Date: Sun, 8 Oct 2000 20:46:52 -0400 Subject: Subject: Re: [Edu-sig] Now I went and did it References: Message-ID: <001a01c0318a$6ad70c20$c3090740@megapathdsl.net> Daniel Yoo wrote > I'm a Python user, but I'll try to defend Scheme in this respect, because > I really believe in Scheme's beauty. *grin* > > I think part of what feels weird is the training we have, in both our > languages and in math classes, in distinguishing between regular > functions, (sin(x), exp(e), ...) and infix operators (+, *, ...). Many > languages make this distinction --- Scheme is one of the languages that > doesn't. Aha! this is a good point. Thank you. > "multiply 2, 3, 4, and 5" > as > (* 2 3 4 5) > > which is pretty nice, I think. yes beautiful! - Jason From jasonic@nomadicsltd.com Mon Oct 9 02:43:53 2000 From: jasonic@nomadicsltd.com (Jason Cunliffe) Date: Sun, 8 Oct 2000 21:43:53 -0400 Subject: [Edu-sig] Teaching Middle-School Math with Python References: <3.0.3.32.20001006124145.008a3570@pop.teleport.com> <3.0.3.32.20001006163417.009ef900@pop.teleport.com> Message-ID: <005601c03192$619ae020$c3090740@megapathdsl.net> From: Kirby Urner > However, PythonTurtle maybe sounds too much like a bad idea > for mad scientist's gene splicing experiment -- two animals > conjoined. PyTurtle sounds OK. yes OK. PythonTurtle, as you say is one part Edgar Rice Borroughs, one part epic myth, like something right out of the HongKong saturday afternoon movies I use see here in New York's Chinatown. Sadly the theaters have all closed now. Everyone's watching them from plush couchesat home on their DVDs projected on oversized screens. It would make a very funny animation - the story of the Turtle who turns into Python when he needs to. Else a python who pretends to be a turtle. else... Reminds me of a New Yorker cartoon I saw today - A hare is waving to a tortoise from the back seat of his chauffer driven limo which is speeding by.. - Jason From jasonic@nomadicsltd.com Mon Oct 9 03:07:54 2000 From: jasonic@nomadicsltd.com (Jason Cunliffe) Date: Sun, 8 Oct 2000 22:07:54 -0400 Subject: [Edu-sig] Teaching Python at a Junior College Level References: <3.0.6.32.20000929192104.00e2ae70@pop.pacificnet.net> Message-ID: <006001c03195$bce22800$c3090740@megapathdsl.net> From: Steve Litt > >However, my problem is not the language but in trying to get a broader > >acceptance of Python as a language equivalent to BASIC in people's minds. We > >know that Python is better ('natch :-) but people responsible for > >transferring the credit to another school often will ask for BASIC > >specifically. Any ideas how to fix this problem? > > Could you get slick and teach "Basic using Python Design" -- spend 3/4 of > the semester doing python, then say OK, here's how you do it in Basic (a > window per object HOHO). Not a bad idea really. In fact some Python translates quite nicely to VisualBasic. Perhaps another way to do it would be to do some COM programming, assuming you are on Win32. There are so many BASIC examples for ActiveX. Translating these into Python could be fun and useful as long as your students don't get too confused. Or follow the examples in Mark Hammond's book and get Python talking to Basic via COM. This could perhaps open up a more productive and challenging discussion with the students about the real world idea and issues of interfaces, communications, objects, etc. COM is interesting in this respect and very powerful. Python of course lets you play around interactively treating everything as an object. So you could use it as a tool for discussing COM and basic. Maybe do some algorithmic stuff with Excel from python. Get the students first to use Excel to do create some Macros, manually, then examine them, and start to automate it in Python. See how elegant and powerful it can become. The nice thing about Python & Excel is that you have a Command Line Interpreter to try stuff out, but also the full-blooded Excel application is right there to experiment with. Maybe use Python to script Excel and do some calculations on lots of columns. Then move on and see if you even need Excel at all using Python dictionaries, lists, classes by generalizing the same job. Perhaps this would be more acceptable to the powers that don't. Plugging Python into it, demystifies COM by removing it from its MSBASIC trappings to see what it really is. Also opens up the discussion for what MS say they are trying to do with .NET. - Jason From pdx4d@teleport.com Mon Oct 9 03:46:13 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Sun, 08 Oct 2000 19:46:13 -0700 Subject: [Edu-sig] more re scheme.py In-Reply-To: <3.0.3.32.20001008142427.00a95e60@pop.teleport.com> References: <00bf01c03164$8852eb00$c3090740@megapathdsl.net> <3.0.3.32.20001008110049.00aa1340@pop.teleport.com> Message-ID: <3.0.3.32.20001008194613.009b53a0@pop.teleport.com> In a previous post I wrote: >For example, you can define car and cdr of LISP fame: > > >>> def car(mylist): > if len(mylist)==0: return [] > else: return mylist[0] > > >>> def cdr(mylist): > if len(mylist)==0: return [] > else: return mylist[1:] That's clearly not quite right. Here's car and cdr in action in DrScheme: Welcome to DrScheme, version 101. Language: Textual Full Scheme (MzScheme). > (car '()) car: expects argument of type ; given () > (car '(1)) 1 > (cdr '(1)) () > In other words, the car of an empty list is undefined. The car of a 1-member list is that member. The cdr of a 1 member list is the empty list (provided it's a proper list of cons pairs -- but that's another story). So... def car(mylist): return mylist[0] # first member def cdr(mylist): if len(mylist)==1: return [] # returns empty list else: return mylist[1:] # else, rest of list >>> car((1,)) 1 >>> cdr((1,)) [] You get error messages if your argument to either is an empty list. Then: def Reduce(operator,mylist): if len(mylist)==1: return car(mylist) else: return apply(operator, ( car(mylist), Reduce(operator,cdr(mylist)) ) ) Usage: >>> Reduce(operator.mul,range(1,11)) 3628800 >>> 1*2*3*4*5*6*7*8*9*10 3628800 I'm not saying we should customarily program this way, simply that it's possible to communicate some of the flavor of Scheme by bringing analogous features of Python into the foreground. One could go on to define caaaar, cddddr, cdadar, cdar, cadadr -- the whole set of weird (unpronouncable) words for doing "slice arithemetic". http://www.cs.washington.edu/education/courses/341/99su/lectures/scheme/img0 28.GIF shows ([lambda (x y)(+ (* 2 x) y)] 4 5) evaluating to 13. In DrScheme: > ([lambda (x y)(+ (* 2 x) y)] 4 5) 13 In Python: >>> apply(lambda x,y: 2*x + y, (4,5)) 13 Like in Scheme, in Python you can bind the lambda part to a name: >>> f = lambda x,y: 2*x + y >>> f(4,5) 13 Alternatively: >>> def f(x,y): return apply(lambda x,y: 2*x + y,(x,y)) >>> f(4,5) 13 Which is just a rather long-winded way of just saying: >>> def f(x,y): return 2*x + y http://www.cs.washington.edu/education/courses/341/99su/lectures/scheme/img0 68.GIF shows a "procedure factory": We go > (filter [lambda (x) (>= x 0)] '(-2 -3 -1 3 1 4)) (3 1 4) i.e. returns x's >= 0 -- this doesn't seem to work in DrScheme (apparently filter is not a primitive). > (filter [lambda (x) (>= x 2)] '(-2 -3 -1 3 1 4)) (3 4) returns x's >= 2 So we'd like to define a function which creates other functions with n being whatever number we have to be greater than. In Scheme, that looks like: (define (greater-than-n?? n) (lambda (x) (>= x n))) Then you can say: (define greater-than-2 (greater-than-n?? 2)) ^^^^^^^^^^^^^^^^^^^^ returns a pointer to a procedure and get a procedure, i.e. > ((greater-than-2) '(-2 -3 -1 3 1 4)) (3 4) In Python: >>> def gt_n(n): return eval('lambda x: x>%s' % n) >>> gt_2 = gt_n(2) ^^^^^^ returns a pointer to a procedure >>> gt_2(-1) 0 >>> gt_2(3) 1 >>> filter(gt_2,[-3, -2, 1, 3, 1, 4]) [3, 4] Thanks to Jeff Cogswell for teaching me the above. Thanks to Greg Badros's lecture notes re Scheme at http://www.cs.washington.edu/education/courses/341/99su/lectures/scheme/ for slide GIFs. Thanks to John Clements, Matthias Felleisen, Robby Findler, Cormac Flanagan, Matthew Flatt, Shriram Krishnamurthi, and Paul Steckler et al for the Dr. Scheme software. http://www.npr.org/ramfiles/wesun/19990404.wesun.07.ram to hear Paul Steckler play that Sunday game program on NPR. Also, listen to Matthias on http://www.cs.rice.edu/CS/PLT/Miscellaneous/matthias-kuhf.mp3 Kirby From sabren@manifestation.com Mon Oct 9 06:13:21 2000 From: sabren@manifestation.com (Michal Wallace) Date: Mon, 9 Oct 2000 01:13:21 -0400 (EDT) Subject: [Edu-sig] Now I went and did it. In-Reply-To: <00bf01c03164$8852eb00$c3090740@megapathdsl.net> Message-ID: On Sun, 8 Oct 2000, Jason Cunliffe wrote: > I find myself become more of an instant nutcase than testcase when I look at > even this trivial example: > > (define (area-of-disk r) > (* 3.14 (* r r))) > > A voice inside my head starts saying "No. Stop no!" > > I wonder to how many people react differently from me, and what the real > pre-conditions are whereby one says instead "oh yes of course! :-)" Do you know about modalities? Kinesthetic/Visual/Auditory and all that? I'd venture that you tend to rely on Auditory-Internal-Digital thinking a lot.. in other words, you think to yourself in words.. (As you demonstrate above.. "voice", "one says", plus you read a lot, etc..) LISPish syntax doesn't really lend itself well to thinking in words. At least not english ones.. Python does. That's why it's "executable psuedocode" :) Now, if you'd grown up speaking lojban ( http://www.lojban.org/ ) you might find programming in scheme much more natural.. LISP/scheme work better thinking visually, at least for me.. But then I'm not a lisp or scheme programmer.. :) > Are there consistent universal patterns of recognition and action which are > independent from language culture personality? How does learning play into > this.. Where does early computer programming belong? No clue, but I've got a book on my to-read list that deals with a lot of this.. "The Language Instinct" by Steven Pinker.. Cheers, - Michal ------------------------------------------------------------------------ www.manifestation.com www.sabren.com www.linkwatcher.com www.zike.net ------------------------------------------------------------------------ From sabren@manifestation.com Mon Oct 9 06:53:22 2000 From: sabren@manifestation.com (Michal Wallace) Date: Mon, 9 Oct 2000 01:53:22 -0400 (EDT) Subject: [Edu-sig] socratic methods Message-ID: Hi, I'm new here, but I've been lurking a while, and it seems this list is a really awesome mutli-disciplinary sort of community. I'm really impressed with all you bright people on here and the quality of discussions.. :) Anyway, I thougt I'd bring this up: Any of y'all ever read the theory of constraint books by Eli Goldratt? He teaches (perfectly logical but quite unconventional) business practices through socratic methods and story. Here's a quick example: http://www.goldratt.com/chpt11.htm One of his big things is a set of thinking tools (described in a novel called "It's not Luck").. The idea is you figure out the cause-effect relationships that lead to a current undesireable situation, and work your way back to the core issues. This is called a current reality tree. I made one for myself not too long ago: http://www.sabren.com/upgrade/charts/CRT20000930.gif Once you understand the current system, you can map out a future reality tree that shows in precise logical steps what you want to happen. Then you build a transition tree to connect the two. The interesting thing is that you can also think of it as a teaching tool. You can map out trees of current and desired thinking habits, and build a transition tree that leads logically from one way of thinking to another. Now it takes a great deal of human thought to come up with these trees, but once they've been mapped out, just about anyone can follow them. (Look at the link above. The if/then flow goes from bottom to top unless there's an arrow pointing the other way) I think it would be really cool if a computer could be programmed with a tree like this to teach people using the socratic method. That is, it asks the user questions, and based on the answer either helps the user to understand things better, or progresses along the tree to the next step.. I don't know too much about computer aided instruction, but I know I've never seen a computer that used socratic methods to inform people.. They usually present information rather than ask questions. (or if they ask questions, it's like a test, not a conversation).. Anyway, I'd like to build a system like this to help with my own thinking and to help other people. The system's called plato [python logic and truth objects; it'll have a lot of prolog concepts in there, and double as a general mechanical-reasoning library for other python programmers] Anyway, is anyone interested in helping, or at least discussing it on this list? :) Cheers, - Michal ------------------------------------------------------------------------ www.manifestation.com www.sabren.com www.linkwatcher.com www.zike.net ------------------------------------------------------------------------ From humbert@hagen.de Mon Oct 9 11:01:56 2000 From: humbert@hagen.de (L. Humbert) Date: Mon, 09 Oct 2000 12:01:56 +0200 Subject: [Edu-sig] JPython and CP4E ... some thoughts ... little documentation Message-ID: <39E19794.EF33200A@hagen.de> Hi, asiegel@eico.com -- ART wrote: Jason> >Please, I would also like to see your Java examples. ART> ART> I'll send you JavaGeo with some demos under seperate cover. Isn't it possible to tell, where to find *.jar, so everyone interested, can study it with JPython? Please, take a closer look to JPython: http://www.JPython.org You will be able to use Java-classes from within JPython, so you can embed ready to use classes in your Pythoncode. I'm working in this way using a class-library in teaching informatics at secondary II level (my school is working with iMacs, Kirby (;-) You may take a look at this: http://region.hagen.de/OOP/ "JPython und das Java-Paket (hier ist nur SuM.jar n=F6tig) k=F6nnen sofo= rt eingesetzt werden. Material aus einem laufenden 11er Kurs (enth=E4lt SuM.jar und Hilfen f=FC= r die Arbeit mit JPython)." = This means: you'll get a ready to use packet and you get some material for to use it in the classroom. The curriculum is based on the idea on = objectoriented modeling including programming -- there are other implementations of the really small class-library in pascal, oberon, etc. the course-material -- not depending on a special programming-language -- is published in german: @BOOK{Czischke1999, PUBLISHER =3D {DruckVerlag Kettler GmbH}, YEAR =3D 1999, EDITOR =3D {{Landesinstitut f{\"u}r Schule und Weiterbildung}}, ADDRESS =3D {B{\"o}nen}, ANNOTE =3D {ISBN 3-8165-4165-8}, TITLE =3D {Von Stiften und M{\"a}usen}, AUTHOR =3D {J{\"u}rgen Czischke and Georg Dick and Horst Hildebrecht and= Ludger Humbert and Werner Ueding and Klaus Wallos} } You may take a look L. Humbert From jasonic@nomadicsltd.com Mon Oct 9 15:30:25 2000 From: jasonic@nomadicsltd.com (Jason Cunliffe) Date: Mon, 9 Oct 2000 10:30:25 -0400 Subject: [Edu-sig] socratic methods References: Message-ID: <004401c031fd$770e80e0$c3090740@megapathdsl.net> Hi Michal OK. I have come across some of what you are describing - but often called 'Mind Maps' which is popularized [coined?] by Tony Buzan in his work. His best know book is: The Mind Map Book : How to Use Radiant Thinking to Maximize Your Brain's Untapped Potential by Tony Buzan Paperback Reprint edition (March 1996) Plume; ISBN: 0452273226 Searching at Amazon will show more books by Tony Buzan and others writers.. The system you mention implies some nice nuances which often get glossed over in the more populist mind-map 'market'. There is room for real improvement - and some juicy research to do. I suppose one axis is UML and Pattern thinking. A good new book I found last week: A UML Patten Language by Paul Evitts ISBN 1-57870-118-X Unlike some of the other OOPS Pattern software books, this one strikes a better balance between abstraction and practical steps - imho stays much closer the spirit on Christopher Alexander's original books 'A Pattern Language' , 'The Timeless way of Building' and 'Notes on the Synthesis of Form' http://www.amazon.com/exec/obidos/ISBN%3D0195019199/theisisgroup00A/002-4848 534-5812817 http://www.amazon.com/exec/obidos/ISBN%3D0195024028/theisisgroup00A/002-4848 534-5812817 http://www.amazon.com/exec/obidos/ASIN/0674627512/ref=sim_books/002-4848534- 5812817 Some excerpts oriented towards Pattern Language use in education http://www.bigbangworkshops.com/html/pattern_language.htm [some good Alexander links at the bottom of that page] There are many references now to interface design inspired by Alexander. For example: http://www.maplefish.com/todd/papers/experiences/Experiences.html or http://c2.com/ppr/catsfate.html or http://www.acm.org/sigchi/chi97/proceedings/short-talk/gca.htm [warning some of these may make you crazy..] Meanwhile, there are lots of web pages directly about Mind maps. Most of these derive from Tony Buzan's work. A book/ seminar http://www.mindmap.de/brainland.engl.htm Some papers and articles http://www.sci.mus.mn.us/sln/tf/nav/tfmindmaps.html http://www.mindtools.com/mindmaps.html http://www.thenakedpc.com/articles/v03/10/0310-04.html http://www.ozemail.com.au/~caveman/Creative/Mindmap/Radiant.html http://www.acm.org/sigchi/chi97/proceedings/poster/mil.htm An XML Librarian's perspective Mind Maps: Hot New Tools Proposed for Cyberspace Librarians http://www.infotoday.com/searcher/jun99/humphreys.htm At the hard core extreme and for inspiration there is this book studying the internal brain mechanisms: The Hippocampal and Parietal Foundations of Spatial Cognition by N. Burgess (Editor), Kathryn Jeffery (Editor), John O'Keefe (Editor) Paperback (February 1999) Oxford University Press; ISBN: 0198524528 I haven't read this but it may well probably fascinating One that I have and would recommend __highly__ is: Dynamic Patterns : The Self-Organization of Brain and Behavior (Complex Adaptive Systems) by J. A. Scott Kelso Paperback - 360 pages Reprint edition (March 1997) Bradford Books; ISBN: 0262611317 "For the past twenty years Scott Kelso's research has focused on extending the physical concepts of self- organization and the mathematical tools of nonlinear dynamics to understand how human beings (and human brains) perceive, intend, learn, control, and coordinate complex behaviors. In this book Kelso proposes a new, general framework within which to connect brain, mind, and behavior. Kelso's prescription for mental life breaks dramatically with the classical computational approach that is still the operative framework for many newer psychological and neurophysiological studies. His core thesis is that the creation and evolution of patterned behavior at all levels -- from neurons to mind -- is governed by the generic processes of self-organization. Both human brain and behavior are shown to exhibit features of pattern-forming dynamical systems, including multistability, abrupt phase transitions, crises, and intermittency. " You may think this is going overboard for your application, adn may well be correct. But mind maps are fascinating because they tap into many aspects of our cognition, learning, perceptions. Thinking about how to model a system can go way beyond a simple stripped down smart paintbox interface. Some available mind-map software http://www.inspiration.com/ http://www.mindman.com/ ZigZag http://www.xanadu.net/zigzag/tutorial/ZZwelcome.html http://www.xanadu.net/zigzag/ "locally rational, globally paradoxical, yet somehow comprehensible. " [I just found this and it looks like there are some _very_ unique ideas here: not surprising considering where it's hosted] Before making a Python version, you should definitely play with ''The Brain': http://www.thebrain.com/ It is among the most innovative interactive mind-map-like software interfaces I know of. Their focus is not for mind-mapping directly, instead focus is on meta-links and focus-based information interfaces. But you'll literally 'see the connection' when you play with it. I am personally interested in all kind of maps. I think visually, spatially, dynamically. I use pen and paper to sketch for myself constantly as a thinking tool, but also regularly as support in conversation. I am certainly interested to work with you on this one. I imagine in an educational python context, would be to have command line access to a mind-map causal tree connective type structure. One needs a few basic drawing tools, but need them to be interactive so one can organize them in rapid ways. But one also would like to be able to send messages between them, and be able to view the structure as XML or in some nested dictionary type class instance. The end result must be very simple to use. Should be supported by a versatile 'socratic' python engine capable of connecting to any other modules or systems. ### I am generally very wary about rigid cause and effect.. I think such a tool may be useful in schools to model philosophy and to also thus reveal the paradoxes and innate problems with cause+effect thinking as well as its great engineering virtues.. top-down / bottom-up. Programming depends deeply on cause-effect structures.. Life ? hmm well that is not so simple.. :-) Some important existing Python graphics toolkits to look for both design ideas, and for use as implementation components include: Gato - Graph Animation Toolbox http://www.zpr.uni-koeln.de/~gato/index.html PIDDLE - Plug-In Drawing, Does Little Else http://piddle.sourceforge.net/ PMing 0.0.1a - Tiny wrapper to the ming library (to output swf files). Sketch 0.6.3 - Sketch is a vector drawing program for Linux and other unices, intended to be a flexible and powerful tool for illustrations, diagrams and other purposes. http://sketch.sourceforge.net/ vtk - Visualization ToolKit - Vtk is a high-level graphical visualization toolkit with support for Python. http://www.kitware.com/vtk.html Enjoy! - Jason ________________________________________________________________ Jason CUNLIFFE = NOMADICS['Interactive Art and Technology'].DesignDirector ----- Original Message ----- From: Michal Wallace To: Sent: Monday, October 09, 2000 1:53 AM Subject: [Edu-sig] socratic methods > > Hi, > > I'm new here, but I've been lurking a while, and it seems this list is > a really awesome mutli-disciplinary sort of community. I'm really > impressed with all you bright people on here and the quality of > discussions.. :) Anyway, I thougt I'd bring this up: > > Any of y'all ever read the theory of constraint books by Eli Goldratt? > He teaches (perfectly logical but quite unconventional) business > practices through socratic methods and story. Here's a quick example: > > http://www.goldratt.com/chpt11.htm > > One of his big things is a set of thinking tools (described in a novel > called "It's not Luck").. The idea is you figure out the cause-effect > relationships that lead to a current undesireable situation, and > work your way back to the core issues. This is called a current > reality tree. I made one for myself not too long ago: > > http://www.sabren.com/upgrade/charts/CRT20000930.gif > > Once you understand the current system, you can map out a future > reality tree that shows in precise logical steps what you want to > happen. Then you build a transition tree to connect the two. > > The interesting thing is that you can also think of it as a teaching > tool. You can map out trees of current and desired thinking habits, > and build a transition tree that leads logically from one way of > thinking to another. > > Now it takes a great deal of human thought to come up with these > trees, but once they've been mapped out, just about anyone can follow > them. (Look at the link above. The if/then flow goes from bottom to > top unless there's an arrow pointing the other way) > > I think it would be really cool if a computer could be programmed > with a tree like this to teach people using the socratic method. > > That is, it asks the user questions, and based on the answer either > helps the user to understand things better, or progresses along the > tree to the next step.. > > I don't know too much about computer aided instruction, but I know > I've never seen a computer that used socratic methods to inform > people.. They usually present information rather than ask questions. > (or if they ask questions, it's like a test, not a conversation).. > > Anyway, I'd like to build a system like this to help with my own > thinking and to help other people. The system's called plato [python > logic and truth objects; it'll have a lot of prolog concepts in there, > and double as a general mechanical-reasoning library for other python > programmers] > > Anyway, is anyone interested in helping, or at least discussing it on > this list? :) > > Cheers, > > - Michal > ------------------------------------------------------------------------ > www.manifestation.com www.sabren.com www.linkwatcher.com www.zike.net From pdx4d@teleport.com Mon Oct 9 16:16:06 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Mon, 09 Oct 2000 08:16:06 -0700 Subject: [Edu-sig] socratic methods In-Reply-To: <004401c031fd$770e80e0$c3090740@megapathdsl.net> References: Message-ID: <3.0.3.32.20001009081606.00a4c1f0@pop.teleport.com> Good post Jason -- I like your overview type posts with lots of hyperlinks. Who needs theBrain when we've got Jason's, right here and on-line. Kirby From fred@ontosys.com Mon Oct 9 16:24:35 2000 From: fred@ontosys.com (Fred Yankowski) Date: Mon, 9 Oct 2000 10:24:35 -0500 Subject: [Edu-sig] Now I went and did it. In-Reply-To: <00bf01c03164$8852eb00$c3090740@megapathdsl.net> References: <3.0.3.32.20001008110049.00aa1340@pop.teleport.com> <00bf01c03164$8852eb00$c3090740@megapathdsl.net> Message-ID: <20001009102434.A69492@enteract.com> When learning the German language many years ago, my first language being English, I found it confusing how the verbs tended to end up near the end of sentences -- almost a "postfix" syntax. But it started to seem more natural, or at least comfortable, after a while. Perhaps there are natural languages where the verb tends to come first? Or is the prefix structure really that foreign? (define (square x) (* x x)) Define the "square of x" to be the product of x and x. I've used Lisp and its ilk on and off over many years, and I don't find it that hard to shift gears between "Python mode" and "Lisp mode". It's harder for me to switch amongst Python, Javascript, PHP, Java, etc because I forget details like how to express a false or null value in the particular language. Millions of people use HP calculators with their RPN notation. That doesn't speak directly to prefix notation, but certainly suggests that people can learn another syntax without much problem -- even if there is something about our innate linguistic skills that favors some particular syntax. On Sun, Oct 08, 2000 at 04:15:41PM -0400, Jason Cunliffe wrote: > This last one is very tricky I know because English is my mother tongue so I > cannot really know how does programming syntax feel to people around the > world from different subject-object-verb systems? > I get a glimpse only from use and study of other spoken languages and when > speaking with non-English speakers. -- Fred Yankowski fred@OntoSys.com tel: +1.630.879.1312 Principal Consultant www.OntoSys.com fax: +1.630.879.1370 OntoSys, Inc 38W242 Deerpath Rd, Batavia, IL 60510, USA From ajs@ix.netcom.com Mon Oct 9 16:49:58 2000 From: ajs@ix.netcom.com (Arthur Siegel) Date: Mon, 9 Oct 2000 11:49:58 -0400 Subject: [Edu-sig] JPython and CP4E Message-ID: <000501c03208$97cd1160$e7e16dd1@oemcomputer> L. Humbert wrote: >Isn't it possible to tell, where to find *.jar, so everyone interested, >can study it with Python Unfortunately I don't currently have a site to do that. But I'll work on it and get it done and let folks know. As it happens I am quite a JPython advocate myself and glad to see it mentioned on the CP4E list and to find that people are in fact working with it in an educational context. For starters, the kind of list of Python resources that Jason recently posted up for graphics expands exponentially when one includes the ability to use JPython. Java3D, for example, is very well accessible to Python code via JPython. The reality is that there are vaster Java than Python resources in most every category. I found it liberating to know I could explore the Java world of resources while staying close to home, being Python. I am trying to design what I am doing in Java to be easily scriptable in JPython - the beauty being that if your Java classes are designed to qualify as beans, than you can use normal Python keyword syntax to set the class's attributes on initialization. (I think I said that right). ART From ajs@ix.netcom.com Mon Oct 9 16:49:58 2000 From: ajs@ix.netcom.com (Arthur Siegel) Date: Mon, 9 Oct 2000 11:49:58 -0400 Subject: [Edu-sig] JPython and CP4E Message-ID: <000201c03208$a77a2120$e7e16dd1@oemcomputer> L. Humbert wrote: >Isn't it possible to tell, where to find *.jar, so everyone interested, >can study it with Python Unfortunately I don't currently have a site to do that. But I'll work on it and get it done and let folks know. As it happens I am quite a JPython advocate myself and glad to see it mentioned on the CP4E list and to find that people are in fact working with it in an educational context. For starters, the kind of list of Python resources that Jason recently posted up for graphics expands exponentially when one includes the ability to use JPython. Java3D, for example, is very well accessible to Python code via JPython. The reality is that there are vaster Java than Python resources in most every category. I found it liberating to know I could explore the Java world of resources while staying close to home, being Python. I am trying to design what I am doing in Java to be easily scriptable in JPython - the beauty being that if your Java classes are designed to qualify as beans, than you can use normal Python keyword syntax to set the class's attributes on initialization. (I think I said that right). ART From slitt@troubleshooters.com Mon Oct 9 17:36:33 2000 From: slitt@troubleshooters.com (Steve Litt) Date: Mon, 09 Oct 2000 12:36:33 -0400 Subject: [Edu-sig] socratic methods In-Reply-To: Message-ID: <3.0.6.32.20001009123633.00a1bc20@pop.pacificnet.net> Michal, I'll help you with a Socratic questioning program. I don't want to get involved with current and future reality trees and "clouds" because that stuff is just too complex. But I'll help you with a Socratic questioning program, and maybe later also with a bottleneck finder program. Steve Steve Litt Webmaster, Troubleshooters.Com http://www.troubleshooters.com slitt@troubleshooters.com At 01:53 AM 10/9/00 -0400, Michal Wallace wrote: > >Hi, > >I'm new here, but I've been lurking a while, and it seems this list is >a really awesome mutli-disciplinary sort of community. I'm really >impressed with all you bright people on here and the quality of >discussions.. :) Anyway, I thougt I'd bring this up: > >Any of y'all ever read the theory of constraint books by Eli Goldratt? >He teaches (perfectly logical but quite unconventional) business >practices through socratic methods and story. Here's a quick example: > >http://www.goldratt.com/chpt11.htm > >One of his big things is a set of thinking tools (described in a novel >called "It's not Luck").. The idea is you figure out the cause-effect >relationships that lead to a current undesireable situation, and >work your way back to the core issues. This is called a current >reality tree. I made one for myself not too long ago: > >http://www.sabren.com/upgrade/charts/CRT20000930.gif > >Once you understand the current system, you can map out a future >reality tree that shows in precise logical steps what you want to >happen. Then you build a transition tree to connect the two. > >The interesting thing is that you can also think of it as a teaching >tool. You can map out trees of current and desired thinking habits, >and build a transition tree that leads logically from one way of >thinking to another. > >Now it takes a great deal of human thought to come up with these >trees, but once they've been mapped out, just about anyone can follow >them. (Look at the link above. The if/then flow goes from bottom to >top unless there's an arrow pointing the other way) > >I think it would be really cool if a computer could be programmed >with a tree like this to teach people using the socratic method. > >That is, it asks the user questions, and based on the answer either >helps the user to understand things better, or progresses along the >tree to the next step.. > >I don't know too much about computer aided instruction, but I know >I've never seen a computer that used socratic methods to inform >people.. They usually present information rather than ask questions. >(or if they ask questions, it's like a test, not a conversation).. > >Anyway, I'd like to build a system like this to help with my own >thinking and to help other people. The system's called plato [python >logic and truth objects; it'll have a lot of prolog concepts in there, >and double as a general mechanical-reasoning library for other python >programmers] > >Anyway, is anyone interested in helping, or at least discussing it on >this list? :) > >Cheers, > >- Michal >------------------------------------------------------------------------ >www.manifestation.com www.sabren.com www.linkwatcher.com www.zike.net >------------------------------------------------------------------------ > > >_______________________________________________ >Edu-sig mailing list >Edu-sig@python.org >http://www.python.org/mailman/listinfo/edu-sig > From jasonic@nomadicsltd.com Mon Oct 9 17:38:03 2000 From: jasonic@nomadicsltd.com (Jason Cunliffe) Date: Mon, 9 Oct 2000 12:38:03 -0400 Subject: [Edu-sig] Now I went and did it. References: <3.0.3.32.20001008110049.00aa1340@pop.teleport.com> <00bf01c03164$8852eb00$c3090740@megapathdsl.net> <20001009102434.A69492@enteract.com> Message-ID: <00ad01c0320f$4b930b40$c3090740@megapathdsl.net> From: Fred Yankowski > When learning the German language many years ago, my first language > being English, I found it confusing how the verbs tended to end up > near the end of sentences -- almost a "postfix" syntax. But it > started to seem more natural, or at least comfortable, after a while. > Perhaps there are natural languages where the verb tends to come > first? > > Or is the prefix structure really that foreign? > > (define (square x) (* x x)) > > Define the "square of x" to be the product of x and x. Yes. Thanks. See when you 'say' it like that I can 'read' it... and it makes perfect sense. Typographically I still choke a little on so many ((())). But hey, compared to a Tibetan Mandala, it is trivial.. This connection between the writing, the reading, and our spoken language is what I want to follow further. It is one of the key differences having a live teacher or not. Books usually don't offer much help in this respect. As I see it there are three language systems at work here: > (define (square x) (* x x)) > > Define the "square of x" to be the product of x and x. 1 - Scheme 2 - Written mathematics/programming 3 - English word order > Millions of people use HP calculators with their RPN notation. That > doesn't speak directly to prefix notation, but certainly suggests that > people can learn another syntax without much problem -- even if there > is something about our innate linguistic skills that favors some > particular syntax. Let's take cooking as an example.. - gather vegetables - prepare some utensils PUT water in pot heat ADD - wash, chop some vegetables IF water boiling PUT vegetables in steamer basket cover ADD - gather plates WAIT till maximum bright color SERVE immediately = ADD vegetables to plates well. sorry my example is rather clumsy.. Perhasp you can provide a better one. But in many real-life processes RPN is what we do. But not all.. We need vegeratbles in hand before we can cook them. We need to have heat before we can apply it. We need to find the cover before we can put it on the pot. etc. A good distinction of coloquial language is: Is the water boiling ? This can be shortened to accompanied by various gestures and/or vocal inflections. This is what we must do in a foregin country when we don't speak the language. Speaking with Asians also induces this quickly since there is a much more concise approach to language - anyway compared to English and most European languages, no complicated prepositions. 'a' 'the' etc.. Just go for direct placement of key words. Context will provide the rest.. Young children do the same hmm..I am groping here for something.. some view connecting digital cookery and CP4E [back later] - Jason From pdx4d@teleport.com Mon Oct 9 19:28:22 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Mon, 09 Oct 2000 11:28:22 -0700 Subject: [Edu-sig] Now I went and did it. In-Reply-To: <20001009102434.A69492@enteract.com> References: <00bf01c03164$8852eb00$c3090740@megapathdsl.net> <3.0.3.32.20001008110049.00aa1340@pop.teleport.com> <00bf01c03164$8852eb00$c3090740@megapathdsl.net> Message-ID: <3.0.3.32.20001009112822.00a4d640@pop.teleport.com> >Millions of people use HP calculators with their RPN notation. That >doesn't speak directly to prefix notation, but certainly suggests that >people can learn another syntax without much problem -- even if there >is something about our innate linguistic skills that favors some >particular syntax. Right, RPN is another door we should open in K-12. We had a poster awhile back sharing his Python RPN module as I recall. I downloaded it and played with it some. Certainly I was a big fan of HP and using parentheses-free entering the way RPN allows. HP calculators were also what first exposed me to the concept of a stack (RPN goes togther with a stack concept). When minds are young, open, flexible (that's the stereotype anyway -- analogy with bodies) is a good time to keep thowing out alternatives, other ways of thinking. So I'm wholly in favor of early exposure to prefix notation, in a addition to RPN. If a student starts experimenting with an altogether new notation, having learned the less that these are technologies we can just _invent_ (not handed down as eternal practices that weigh us down forever with legacy notions), I'll take that as a very positive sign. Python's ability to override (aka overload) syntactic elements such as + * () [] and give them new meaning provides further encouragement in this direction. As one of the Scheme websites put it, you want your language to be more like the problems you're thinking about, so you do some language customization, vs. always trying to make the problems conform to the strictures of some unalterable given. Kirby From pdx4d@teleport.com Mon Oct 9 19:31:29 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Mon, 09 Oct 2000 11:31:29 -0700 Subject: [Edu-sig] JPython and CP4E In-Reply-To: <000501c03208$97cd1160$e7e16dd1@oemcomputer> Message-ID: <3.0.3.32.20001009113129.00a48a10@pop.teleport.com> >As it happens I am quite a JPython advocate myself and glad to see it >mentioned on the CP4E list and to find that people are in fact working with >it in an educational context. Really pleased to get this update Art. I tried to use JPython awhile back and got somewhat stuck -- perhaps on simple path issues (I don't quite recall). Is your sense that the JPython community is actively moving ahead, or is it on a steady-state plateau? E.g. where are we with being able to use Python 2.0 features (e.g. zip(sequence,sequence and [f(x) for x in sequence] ). Kirby From pdx4d@teleport.com Mon Oct 9 19:52:26 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Mon, 09 Oct 2000 11:52:26 -0700 Subject: [Edu-sig] more re scheme.py In-Reply-To: <3.0.3.32.20001008194613.009b53a0@pop.teleport.com> References: <3.0.3.32.20001008142427.00a95e60@pop.teleport.com> <00bf01c03164$8852eb00$c3090740@megapathdsl.net> <3.0.3.32.20001008110049.00aa1340@pop.teleport.com> Message-ID: <3.0.3.32.20001009115226.00a6c400@pop.teleport.com> Got this URL sent to me off-list: http://www.norvig.com/python-lisp.html Seems a useful page (studying it now), worth posting here. Thanks. Wondering if Shriram (TeachScheme Project!) is aware of this page and/or has feedback. Kirby From matthias@rice.edu Sun Oct 8 20:50:09 2000 From: matthias@rice.edu (Matthias Felleisen) Date: Sun, 8 Oct 2000 14:50:09 -0500 (CDT) Subject: [Edu-sig] Re: Teaching Middle-School Math with Python In-Reply-To: <20001006160140.2A18A1D44D@dinsdale.python.org> (edu-sig-request@python.org) References: <20001006160140.2A18A1D44D@dinsdale.python.org> Message-ID: <200010081950.OAA00355@africa.cs.rice.edu> Fred Barlett writes: The only other languages I found in my web searches used below the college level were Java, C/C++, (Visual)Basic, and Scheme -- none of which would be appropriate at the level I'm contemplating. But Python, for all its virtues, is a relatively obscure language. It's a good bet that no one at the Board of Ed has heard of it! Hmph -- our project has used Scheme very successfully at the middle school level. We have had one teacher write that the kids were so excited about the algebra class that she had to ask for the books back so that they wouldn't work too far ahead. Several of the kids' parents asked her what was wrong with their kids -- they volunteered to stay at school after hours and do math. Also, as you start working with educators and educrats you will find out that "obscure" isn't helpful at all. If technology isn't fashionable, and I mean "big fashionable" it's an uphill struggle. They don't want their kids to learn to think. They want to have public relation successes ("We teach the latest technology that MS produces and that was on the cover of the economist"). -- Matthias From jasonic@nomadicsltd.com Mon Oct 9 21:01:52 2000 From: jasonic@nomadicsltd.com (Jason Cunliffe) Date: Mon, 9 Oct 2000 16:01:52 -0400 Subject: [Edu-sig] PPP Message-ID: <002f01c0322b$c4973400$c3090740@megapathdsl.net> Well over lunch, I came up with a really crazy idea. I was reading 'A UML Pattern Language' and contemplating the question of poly-fix syntaxes - ways to engage spoken written and language with programming for everyone... Paul Evitts closes by quoting a short section of T.S.Elliot ['Little Gidding', 'V'] http://www.umlpatterns.com/sys-tmpl/door/ ------------------------------------------- What we call the beginning is often the end And to make an end is to make a beginning. The end is where we start from. And every phrase And sentence that is right ... is an end and a beginning. ...history is a pattern Of timeless moments. We shall not cease from exploration And the end of all our exploring Will be to arrive where we started And know the place for the first time. Through the unknown, remembered gate ------------------------------------------- PPP = The Python Poetry Project How about translating this into Python?..... I know at first it seems like sacrilege, but why not? There are many 'famous' lines and songs and not-so famous ones also which might be great candidates for bridging heart and science. an eclectic test cliché list might include: -Nursery rhymes -Star-Spangled Banner - Genesis 1 [compare alternate translations: http://bible.gospelcom.net/bible?] -Hamlet - ["To be or not to be"] -Rap song -Pop song - Ballad http://theband.hiof.no/lyrics/long_black_veil.html -Proust [Madeleine meme] other poems http://www.english.upenn.edu/~afilreis/88/stevens-13ways.html How do you relate to the kids in the CP4E class who love and know music & literature..? How do help kids see the poetry in programming? True, this is a risky experiment and could backfire. On the other hand it could open up the idea of programming for everyone, and help to show how we are always programming, especially when we use language. your improvements most welcome -Jason ________________________________________________________________ Jason CUNLIFFE = NOMADICS['Interactive Art and Technology'].DesignDirector PS. ..the edited quote starts thus: V What we call the beginning is often the end And to make an end is to make a beginning. The end is where we start from. And every phrase And sentence that is right (where every word is at home, Taking its place to support the others, The word neither diffident nor ostentatious, An easy commerce of the old and the new, The common word exact without vulgarity, The formal word precise but not pedantic, The complete consort dancing together) Every phrase and every sentence is an end and a beginning, Every poem an epitaph. And any action Is a step to the block, to the fire, down the sea's throat Or to an illegible stone: and that is where we start. We die with the dying: See, they depart, and we go with them. We are born with the dead: See, they return, and bring us with them. The moment of the rose and the moment of the yew-tree Are of equal duration. A people without history Is not redeemed from time, for history is a pattern Of timeless moments. So, while the light fails On a winter's afternoon, in a secluded chapel History is now and England. With the drawing of this Love and the voice of this Calling We shall not cease from exploration And the end of all our exploring Will be to arrive where we started And know the place for the first time. Through the unknown, remembered gate. ... In its entirety at http://www.bath.ac.uk/~bspajs/labyrinth/LittleGidd.html http://www.mindspring.com/~rrbarnes/poetry/gidding.html From slitt@troubleshooters.com Mon Oct 9 21:30:18 2000 From: slitt@troubleshooters.com (Steve Litt) Date: Mon, 09 Oct 2000 16:30:18 -0400 Subject: [Edu-sig] PPP In-Reply-To: <002f01c0322b$c4973400$c3090740@megapathdsl.net> Message-ID: <3.0.6.32.20001009163018.0089aad0@pop.pacificnet.net> Jason, Could you clarify exactly what you were saying? I don't know what you were saying, but it sure sounded interesting. If one could merge programming with song and verse, that would indeed be a cool thing. By the way, that poem "Long Black Veil" the basis of the song "The Night The Lights Went Out In Georgia". There's a certain similarity. Steve At 04:01 PM 10/9/00 -0400, Jason Cunliffe wrote: >Well over lunch, I came up with a really crazy idea. > >I was reading 'A UML Pattern Language' and contemplating the question of >poly-fix syntaxes - ways to engage spoken written and language with >programming for everyone... Paul Evitts closes by quoting a short section= of >T.S.Elliot ['Little Gidding', 'V'] >http://www.umlpatterns.com/sys-tmpl/door/ > >------------------------------------------- >What we call the beginning is often the end >And to make an end is to make a beginning. >The end is where we start from. And every phrase >And sentence that is right >... is an end and a beginning. >...history is a pattern >Of timeless moments. > >We shall not cease from exploration >And the end of all our exploring >Will be to arrive where we started >And know the place for the first time. >Through the unknown, remembered gate >------------------------------------------- > >PPP =3D The Python Poetry Project > >How about translating this into Python?..... > >I know at first it seems like sacrilege, but why not? > >There are many 'famous' lines and songs and not-so famous ones also which >might be great candidates for bridging heart and science. > >an eclectic test clich=E9 list might include: >-Nursery rhymes >-Star-Spangled Banner >- Genesis 1 [compare alternate translations: >http://bible.gospelcom.net/bible?] >-Hamlet - ["To be or not to be"] >-Rap song >-Pop song >- Ballad http://theband.hiof.no/lyrics/long_black_veil.html >-Proust [Madeleine meme] >other poems >http://www.english.upenn.edu/~afilreis/88/stevens-13ways.html > > >How do you relate to the kids in the CP4E class who love and know music & >literature..? >How do help kids see the poetry in programming? > >True, this is a risky experiment and could backfire. On the other hand it >could open up the idea of programming for everyone, and help to show how we >are always programming, especially when we use language. > >your improvements most welcome > >-Jason >________________________________________________________________ >Jason CUNLIFFE =3D NOMADICS['Interactive Art and= Technology'].DesignDirector > >PS. > >..the edited quote starts thus: > >V > >What we call the beginning is often the end >And to make an end is to make a beginning. >The end is where we start from. And every phrase >And sentence that is right (where every word is at home, >Taking its place to support the others, >The word neither diffident nor ostentatious, >An easy commerce of the old and the new, >The common word exact without vulgarity, >The formal word precise but not pedantic, >The complete consort dancing together) >Every phrase and every sentence is an end and a beginning, >Every poem an epitaph. And any action >Is a step to the block, to the fire, down the sea's throat >Or to an illegible stone: and that is where we start. >We die with the dying: >See, they depart, and we go with them. >We are born with the dead: >See, they return, and bring us with them. >The moment of the rose and the moment of the yew-tree >Are of equal duration. A people without history >Is not redeemed from time, for history is a pattern >Of timeless moments. So, while the light fails >On a winter's afternoon, in a secluded chapel >History is now and England. >With the drawing of this Love and the voice of this Calling > >We shall not cease from exploration >And the end of all our exploring >Will be to arrive where we started >And know the place for the first time. >Through the unknown, remembered gate. >... > >In its entirety at >http://www.bath.ac.uk/~bspajs/labyrinth/LittleGidd.html >http://www.mindspring.com/~rrbarnes/poetry/gidding.html > > > > > >_______________________________________________ >Edu-sig mailing list >Edu-sig@python.org >http://www.python.org/mailman/listinfo/edu-sig > From ajs@ix.netcom.com Mon Oct 9 22:17:11 2000 From: ajs@ix.netcom.com (Arthur Siegel) Date: Mon, 9 Oct 2000 17:17:11 -0400 Subject: [Edu-sig] JPython and CP4E Message-ID: <000501c03236$4ba06700$f3e06dd1@oemcomputer> Kirby wrote: >Is your sense that the JPython community is actively moving ahead, >or is it on a steady-state plateau? I'm afraid that's another touchy one with me. Suffice it to say that JPython would be essentially finished, IMO, were it not for the work of one superuser in the community - Finn Bock. More below. Other than Finn it is a story without heroes, IMO. PythonLabs seems to take the position that the CNRI trademark, copyright, license control prevents them from moving forward with JPython, though they very much want to. Unfortunately that doesn't fully explain the neglect of JPython during the last six months of the tenure of the PythonLabs guys at CNRI. I saw Hitchcock's Rebecca last night. For those who understand the reference I see a close analogy between Rebecca's room a year after her death, and the JPython.org site a year after Jim Huginin's departure from CNRI. Hopefully the denouement is upon us. Recent statements by BeOpen seem to be a commitment to attend to JPython, one way or another, as first priority after the release of Python2.0 final. For my part, I have recently sent a note to Dr. Kahn of CNRI pleading for some action that would realistically provide for JPython's future. If CNRI wants to control JPython to let it die, it seems a sad and spiteful thing to do. My note to Dr. Kahn was my best effort at diplomacy on the issue - though any impact is doubtful. >E.g. where are we with being able to use Python 2.0 features (e.g. zip >(sequence,sequence and [f(x) for x in sequence] ). Finn Bock maintains a site at sourceforge on which he releases "errata". Up to errata8, the releases were essentially bug fixes to JPython1.1 "final" - another Kremlin watcher issue, the release of JPython1.1beta as final. Finn's errata9 adds Python2.0 compatibility features. I haven't used it and can't answer specifcs, however. ART From guido@python.org Tue Oct 10 00:13:28 2000 From: guido@python.org (Guido van Rossum) Date: Mon, 09 Oct 2000 18:13:28 -0500 Subject: [Edu-sig] JPython and CP4E In-Reply-To: Your message of "Mon, 09 Oct 2000 17:17:11 -0400." <000501c03236$4ba06700$f3e06dd1@oemcomputer> References: <000501c03236$4ba06700$f3e06dd1@oemcomputer> Message-ID: <200010092313.SAA07725@cj20424-a.reston1.va.home.com> [Kirby] > >Is your sense that the JPython community is actively moving ahead, > >or is it on a steady-state plateau? [Arthur] > I'm afraid that's another touchy one with me. Suffice it to say that > JPython would be essentially finished, IMO, were it not for the work of one > superuser in the community - Finn Bock. More below. Other than Finn it is a > story without heroes, IMO. PythonLabs seems to take the position that the > CNRI trademark, copyright, license control prevents them from moving forward > with JPython, though they very much want to. > > Unfortunately that doesn't fully explain the neglect of JPython during the > last six months of the tenure of the PythonLabs guys at CNRI. Whoa, Arthur! We're just getting back in the swing of it. We're quietly (with the help of Finn Bock!) working on a new release of JPython, which will include all of Finn's errata, and support all the new syntax of Python 2.0. > I saw Hitchcock's Rebecca last night. For those who understand the reference > I see a close analogy between Rebecca's room a year after her death, and the > JPython.org site a year after Jim Huginin's departure from CNRI. I don't know that movie, but I can guess. We plan to do something about the website too. > Hopefully the denouement is upon us. Recent statements by BeOpen seem to be > a commitment to attend to JPython, one way or another, as first priority > after the release of Python2.0 final. > > For my part, I have recently sent a note to Dr. Kahn of CNRI pleading for > some action that would realistically provide for JPython's future. If CNRI > wants to control JPython to let it die, it seems a sad and spiteful thing to > do. My note to Dr. Kahn was my best effort at diplomacy on the issue - > though any impact is doubtful. There are some issues here that I cannot comment on, but I should mention that we are taking measures to ensure that CNRI's tardiness won't hold up our release. > >E.g. where are we with being able to use Python 2.0 features (e.g. zip > >(sequence,sequence and [f(x) for x in sequence] ). Will all be there. > Finn Bock maintains a site at sourceforge on which he releases "errata". > Up to errata8, the releases were essentially bug fixes to JPython1.1 > "final" - another Kremlin watcher issue, the release of JPython1.1beta as > final. > > Finn's errata9 adds Python2.0 compatibility features. I haven't used it and > can't answer specifcs, however. More is in the pipeline! --Guido van Rossum (home page: http://www.python.org/~guido/) From tim_one@email.msn.com Mon Oct 9 23:30:05 2000 From: tim_one@email.msn.com (Tim Peters) Date: Mon, 9 Oct 2000 18:30:05 -0400 Subject: [Edu-sig] JPython and CP4E In-Reply-To: <200010092313.SAA07725@cj20424-a.reston1.va.home.com> Message-ID: Arthur, I'd like to thank you for writing CNRI. There's nothing to counter their odd belief that they're working "in the public interest" when the public remains silent (and since they don't read the Python mailing lists, all the noise in the world on the JPython list doesn't reach their ears). And Guido, shame on you for missing Hitchcock's "Rebecca"! It's a great flick. I'm getting a new TV on Thursday -- I'll invite you to come over and watch a rental . From pdx4d@teleport.com Tue Oct 10 00:28:34 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Mon, 09 Oct 2000 16:28:34 -0700 Subject: [Edu-sig] More re (+ Scheme Python) In-Reply-To: <3.0.3.32.20001008110049.00aa1340@pop.teleport.com> References: <000501c03140$42271760$e8e06dd1@oemcomputer> Message-ID: <3.0.3.32.20001009162834.00a4b770@pop.teleport.com> >I continue to have the impression (I think it's more than a mere >prejudice, as I've been doing some studying) that Scheme is more >academic and less interested in venturing into the rough and tumble >world of writing to sockets, encryption, XML, unicode, working with >various kinds of GUI widget, than is Python. I find the newest version of DrScheme (from Rice U) goes further into some of these topics. There's a GUI object toolkit (widgets), some XML support, plus a tutorial on how to write CGI programs. Given what appears to be a highly OO flavor to the widgets (similar to Python's), I'm going to have to look again at how to implement objects as instances of classes (organized in a hierarchy) in this flavor of Scheme. Kirby From jasonic@nomadicsltd.com Tue Oct 10 00:39:11 2000 From: jasonic@nomadicsltd.com (Jason Cunliffe) Date: Mon, 9 Oct 2000 19:39:11 -0400 Subject: [Edu-sig] JPython and CP4E References: <000501c03208$97cd1160$e7e16dd1@oemcomputer> Message-ID: <00a601c0324a$20a002e0$c3090740@megapathdsl.net> Hi Art From: Arthur Siegel > For starters, the kind of list of Python resources that Jason recently > posted up for graphics expands exponentially when one includes the ability > to use JPython. Java3D, for example, is very well accessible to Python code > via JPython. The reality is that there are vaster Java than Python resources > in most every category. I found it liberating to know I could explore the > Java world of resources while staying close to home, > being Python. Since getting into Python, Java looks more approachable to me. Plus I have seen the graphics stuff improve. I was kind of burned on a project 3 years ago which tried to use Java too soon to some interactive graphics. But 3 years is a long in Internet time I was not successful in JPython last time I tried either.. don't why some paths or installs did not come together right. > I am trying to design what I am doing in Java to be easily scriptable in > JPython - the beauty being that if your Java classes are designed to qualify > as beans, than you can use normal Python keyword syntax to set the class's > attributes on initialization. (I think I said that right). Python in Java is great idea... What I never managed to figure out is: 1. does JPython give you a Python command line shell in a web browser ? 2. which can access java classes stored on web server? Playing with the JPython 3D demos you sent me Art, reminded me of several things and raised some questions of where your JPython might go... A couple of years ago, before I knew about Python, I spent quite a bit of time looking into 'Mathematica'. I love its design philosophy, its graphics, the Notebooks and the rigor of Wolfram's team. But they were waking up slowly adn carefully to the web. Mathematica is very expensive if you step outside of the academic bandwidth they bless, or are a nomad independent as I am. Their license is machine specific. The Math department of Imperial College in London had a hard time [financially] negotiating acceptable licenses. Alas I think this nixed Mathematica there after several years good development of new curriculum. This not necessarily Wolfram's fault, because UK academic budgets and departmental management may be very hard to understand from Urbana. But they did not help them either.. I was luckier the UK office in Oxford kindly extended me developer license status for some time while I tried to get Mathematica to extend its 3D interactive capabilities. With a Mathematica programmer, we developed a package for visualizing generic nested timelines in 3D - with a view to output as VRML2.0. Partially successful. Then I found an openGL tool developed by the same team who now make MathEngine http://www.mathengine.com/ Then discovered LiveGraphics3D - the clever work of Martin Kraus http://wwwvis.informatik.uni-stuttgart.de/~kraus/ who developed a pioneering Java3D applet for interactive rendering of Mathematics 3D graphics objects. This was really a much better solution than our VRML one, because it allowed direct use of Mathematica's own Graphics3D format as ASCII script. Just cut and paste. The applet has improved quite a bit since then and has color and some nice interactive querying features. Docs http://wwwvis.informatik.uni-stuttgart.de/~kraus/LiveGraphics3D/documentatio n.html user action ~ applet reaction dragging (left mouse button pressed) rotating about an axis in the picture releasing left mouse button while dragging spinning about an axis in the picture SHIFT key pressed plus vertical dragging zooming SHIFT key pressed plus horizontal dragging rotating about an axis perpendicular to the picture CONTROL key pressed plus vertical dragging changing focal length CONTROL key pressed plus horizontal dragging changing strength of stereo effect META (ALT) key (or right mouse button) pressed plus vertical dragging stripping parts of the graphics "o" key printing parameter settings to the Java console (aka Java messages window) "s" key toggling between single picture, stereo pictures for diverge fusing and stereo pictures for cross fusing You can see LiveGraphics3D on Mathsource http://www.mathsource.com/Content/Enhancements/Interfacing/Web/0209-281 or go direct to Martin Kraus' own site: http://wwwvis.informatik.uni-stuttgart.de/~kraus/LiveGraphics3D/index.html with examples http://wwwvis.informatik.uni-stuttgart.de/~kraus/LiveGraphics3D/examples.htm l See what others have done with it http://wwwvis.informatik.uni-stuttgart.de/~kraus/LiveGraphics3D/links.html and good work continues... Hidekazu Takahashi has added a 3D knife to slice objects: http://www2.kawase-h.ed.jp/Teachers/~Takahashi/Knife.html I still have a recurring fantasy that next Tuesday or the one after Steven Wolfram will get gently struck by a Robert Crumb meatball, and open up Mathematica, giving source away to all the schools in the world. But it may be too late. And now with Python and NumPy and more it looks increasingly like that may not be needed or even such a good idea... Mathematica is brilliant, but locked in somewhat by its own god and universe. I admire them for sticking to their guns.. but in the long run I think everyone loses. There's is still much to be learned from it. For example JLink which lets you load Java classes into Mathematica, or create and run Java code from Mathematica code. http://www.wolfram.com/solutions/mathlink/jlink/ Also Python connectivity [1998] http://www.mathsource.com/Content/Enhancements/Interfacing/Other/0209-292 What can we learn / use from this? So I wonder what kind of connectivity you envision between JPython 3D and [regular] Python? What kinds of transfer for objects and work would you like to see? best wishes Jason From pdx4d@teleport.com Tue Oct 10 16:26:32 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Tue, 10 Oct 2000 08:26:32 -0700 Subject: [Edu-sig] Re: Teaching Middle-School Math with Python In-Reply-To: <200010081950.OAA00355@africa.cs.rice.edu> References: <20001006160140.2A18A1D44D@dinsdale.python.org> <20001006160140.2A18A1D44D@dinsdale.python.org> Message-ID: <3.0.3.32.20001010082632.00b1db60@pop.teleport.com> >Also, as you start working with educators and educrats you will >find out that "obscure" isn't helpful at all. Guess we'll just have to do something about that. :-D Kirby PS to Matthias: I've been studying the MzScheme docs more intensively, plus downloaded the latest/greatest PLT for Win98. I now have a better understanding of how to do objects (in the sense of classes with inheritance) in that language, although I haven't actually developed any myself yet. As you may recall from our earlier correspondence, given my focus on geometry and "math through programming", my technique is to use polyhedra as paradigm objects, both in the tangible- modelable-physical sense, and in the OO sense. I go into this more at http://www.inetarena.com/~pdx4d/ocn/trends2000.html The gist of my recent postings to edu-sig@python.org is that whereas I think Python is destined to achieve greater market share in K-12 than it has to date, it can be presented in such a way as to keep many doors open to other languages and development environments, including Scheme and/or LISP. http://www.norvig.com/python-lisp.html is informative in this regard. In other words, I think TeachScheme! should be preparing to receive a greater percentage of new students who've already had some initial exposure to Python, perhaps _not_ in any computer science context -- and that's knowledge you can intelligently build on, not dismiss as irrelevant or (worse) incapacitating. From matthias@rice.edu Tue Oct 10 18:00:19 2000 From: matthias@rice.edu (Matthias Felleisen) Date: Tue, 10 Oct 2000 12:00:19 -0500 (CDT) Subject: [Edu-sig] Re: Teaching Middle-School Math with Python In-Reply-To: <3.0.3.32.20001010082632.00b1db60@pop.teleport.com> (message from Kirby Urner on Tue, 10 Oct 2000 08:26:32 -0700) References: <20001006160140.2A18A1D44D@dinsdale.python.org> <20001006160140.2A18A1D44D@dinsdale.python.org> <3.0.3.32.20001010082632.00b1db60@pop.teleport.com> Message-ID: <200010101700.MAA01113@africa.cs.rice.edu> Kirby .. The goals of TeachScheme and your goals are similar, not the same. We want to bring programming to mathematics and (here is the diff) "mathematics" to programming. (Watch the quotes before you flame. They mean something.) If you succeed, I am happy. It's an improvement over what we have in schools. Indeed, if you succeed, we don't need Scheme. You also write: > and that's knowledge you can intelligently build on, not dismiss as > irrelevant or (worse) incapacitating. I don't know what this means. I didn't dismiss Python and your idea of teaching in middle schools. We have done it and I wrote a note on our experience. I believe that TeachScheme is a better vehicle but I wish you luck. -- Matthias From pdx4d@teleport.com Tue Oct 10 20:40:43 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Tue, 10 Oct 2000 12:40:43 -0700 Subject: [Edu-sig] Re: Teaching Middle-School Math with Python In-Reply-To: <200010101700.MAA01113@africa.cs.rice.edu> References: <3.0.3.32.20001010082632.00b1db60@pop.teleport.com> <20001006160140.2A18A1D44D@dinsdale.python.org> <20001006160140.2A18A1D44D@dinsdale.python.org> <3.0.3.32.20001010082632.00b1db60@pop.teleport.com> Message-ID: <3.0.3.32.20001010124043.00a54240@pop.teleport.com> At 12:00 PM 10/10/2000 -0500, Matthias Felleisen wrote: > >Kirby .. > >The goals of TeachScheme and your goals are similar, not the same. >We want to bring programming to mathematics and (here is the diff) >"mathematics" to programming. (Watch the quotes before you flame. >They mean something.) If you succeed, I am happy. It's an improvement >over what we have in schools. Indeed, if you succeed, we don't need >Scheme. Under no circumstances would I want my success to mean "we don't need Scheme". That whole branch of the language family embodies a valuable a meme pool (lots of good ideas) and needs to keep evolving. As for bringing "mathematics" to programming, I assume you mean the uncompromising, logical core of Scheme. That's partly what makes the learning curve a bit steep, at least initially (I've seen some of your excellent teaching materials, accessible to kids, but inevitably some will want to skip over cons, car and cdr before diving in). Likewise, some teachers will inevitably be scared off by prefix notation and the heavy use of recursion, or, if not scared, will simply choose not to go there initially. Python may be presented in such a way as to keep those doors open. It can serve as a stepping stone to Java, certainly, but also to LISP, Scheme or even Haskell (and of course it's also an end in itself, not just a way station, like any mature-enough language). >You also write: > >> and that's knowledge you can intelligently build on, not dismiss as >> irrelevant or (worse) incapacitating. > >I don't know what this means. I didn't dismiss Python and your idea of >teaching in middle schools. We have done it and I wrote a note on our >experience. This was more in in response Shririam's feedback, after that positive review of my curriculum writing at the O'Reilly website:[1] Gee, great. I can never tell how to appropriately applaud your work. In the process of your extremely laudable efforts at educating people about math, you'll end up miseducating people about computer science. But I guess you don't really care about that... >I believe that TeachScheme is a better vehicle but I wish you luck. > >-- Matthias It's not really an either/or proposition in my book. In any case, I'm interested in designing for interoperability. Kirby [1] http://www.oreillynet.com/pub/a/python/2000/10/04/pythonnews.html From sabren@manifestation.com Tue Oct 10 20:42:04 2000 From: sabren@manifestation.com (Michal Wallace) Date: Tue, 10 Oct 2000 15:42:04 -0400 (EDT) Subject: [Edu-sig] socratic methods In-Reply-To: <004401c031fd$770e80e0$c3090740@megapathdsl.net> Message-ID: On Mon, 9 Oct 2000, Jason Cunliffe wrote: > I have come across some of what you are describing - but often called 'Mind > Maps' which is popularized [coined?] by Tony Buzan in his work. His best > know book is: Yeah. I've never read Buzan's book, but from my undesrtanding, he came up with the term. Well, there's definitely some overlap. I realize now that plato is really several projects: 1. A tool or library for drawing mind maps/ network graphs / whatever .. It should handle layout and all that stuff for these objects.. Also, you shold be able to pick them up, move them around, and have the lines do the right thing. There's a TCL project called Mercator that sort of does this, but i'm nos sure how far along this is. http://catless.ncl.ac.uk/Programs/Mercator/ 2. A generic inference engine / expert system / reasoning system. 3. A tool for socratic thinking / exploration. > The system you mention implies some nice nuances which often get glossed > over in the more populist mind-map 'market'. There is room for real > improvement - and some juicy research to do. > > I suppose one axis is UML and Pattern thinking. A good new book I > found last week: You mean because UML looks like the same kind of diagram? [lots of good links clipped] > You may think this is going overboard for your application, adn may well be > correct. But mind maps are fascinating because they tap into many aspects of > our cognition, learning, perceptions. Thinking about how to model a system > can go way beyond a simple stripped down smart paintbox interface. It sounds like you're pretty intersted in this aspect! To me, I'm only looking at the reality tree (a specific subclass of these diagrams) as a way of visualizing an actual process that the computer (or a live teacher!) would go through. For example, if the goal is to teach recusion, and the example is the fibonacci sequence, it's important that the student understand how the sequence works. So in a socratic dialog, you might ask: "what's the next number in this sequence? 0 1 1 2 3 5 8 13 21 ..." And the student can either answer or ask for help. If they answer correctly, we don't have to walk down the part of the tree that explains fibonacci's sequence. We just say "that's called fibonacci's sequence..." If they answer wrong or ask for help, we back up and ask more questions that can help them figure out how the sequence works. (or just explain it to them).. > Before making a Python version, you should definitely play with ''The > Brain': http://www.thebrain.com/ > It is among the most innovative interactive mind-map-like software > interfaces I know of. Their focus is not for mind-mapping directly, instead > focus is on meta-links and focus-based information interfaces. But you'll > literally 'see the connection' when you play with it. Yeah, I'm a brain user... Unfortunately, they own the patent for this type of software, so plato will probably stay away from that.. Besides, there's plenty of stuff you can do with just plain 2D. :) > I am personally interested in all kind of maps. I think visually, > spatially, dynamically. I use pen and paper to sketch for myself > constantly as a thinking tool, but also regularly as support in > conversation. I am certainly interested to work with you on this > one. Cool. :) > I imagine in an educational python context, would be to have command line > access to a mind-map causal tree connective type structure. One needs a few > basic drawing tools, but need them to be interactive so one can organize > them in rapid ways. But one also would like to be able to send messages > between them, and be able to view the structure as XML or in some nested > dictionary type class instance. The end result must be very simple to use. > Should be supported by a versatile 'socratic' python engine capable of > connecting to any other modules or systems. Exactly! Mercator uses an XML format to describe its nodes.... There's also the Neural Integrator, which might have some interesting pieces we could steal.. I haven't tried it yet though: http://starship.python.net/crew/seehof/NeuralPython.html > ### I am generally very wary about rigid cause and effect.. I think such a > tool may be useful in schools to model philosophy and to also thus reveal > the paradoxes and innate problems with cause+effect thinking as well as its > great engineering virtues.. top-down / bottom-up. Programming depends deeply > on cause-effect structures.. Life ? hmm well that is not so simple.. :-) Not sure I agree with you on this.. Depends what you mean by "rigid", I guess.. Many people often find themselves in the same situations over and over again, thanks to our nervous system's wonderful ability to learn and form habits.. Obviously, you can't control every single thing that happens to you, but for ongoing or recurring problems, there usually is a logical cause.. > Gato - Graph Animation Toolbox > http://www.zpr.uni-koeln.de/~gato/index.html Doesn't let you play with the graphs. Just shows how a program navigates through one.. Kinda cool though, and might be useful for debugging. There's also a language calle Oz (www.mozart-oz.org) that includes a graphical tool for debugging logic programs with constraints.. > PIDDLE - Plug-In Drawing, Does Little Else > http://piddle.sourceforge.net/ Would be pretty cool if we could have arbitrary shapes for stuff... Maybe even based off of SVG descriptions.. All I'm looking for is boxes, but I can see how lots of people would find this useful. > PMing 0.0.1a - Tiny wrapper to the ming library (to output swf files). Hey! Now that's cool! I'll have to check that out. Cheers, - Michal ------------------------------------------------------------------------ www.manifestation.com www.sabren.com www.linkwatcher.com www.zike.net ------------------------------------------------------------------------ From matthias@rice.edu Tue Oct 10 20:47:28 2000 From: matthias@rice.edu (Matthias Felleisen) Date: Tue, 10 Oct 2000 14:47:28 -0500 (CDT) Subject: [Edu-sig] Re: Teaching Middle-School Math with Python In-Reply-To: <3.0.3.32.20001010124043.00a54240@pop.teleport.com> (message from Kirby Urner on Tue, 10 Oct 2000 12:40:43 -0700) References: <3.0.3.32.20001010082632.00b1db60@pop.teleport.com> <20001006160140.2A18A1D44D@dinsdale.python.org> <20001006160140.2A18A1D44D@dinsdale.python.org> <3.0.3.32.20001010082632.00b1db60@pop.teleport.com> <3.0.3.32.20001010124043.00a54240@pop.teleport.com> Message-ID: <200010101947.OAA01296@africa.cs.rice.edu> ;; --- >They mean something.) If you succeed, I am happy. It's an improvement >over what we have in schools. Indeed, if you succeed, we don't need >Scheme. Under no circumstances would I want my success to mean "we don't need Scheme". That whole branch of the language family embodies a valuable a meme pool (lots of good ideas) and needs to keep evolving. Scheme will stay around, don't worry. I meant Scheme in middle schools. ;; --- As for bringing "mathematics" to programming, I assume you mean the uncompromising, logical core of Scheme. That's partly what makes the learning curve a bit steep, at least initially (I've seen some of your excellent teaching materials, accessible to kids, but inevitably some will want to skip over cons, car and cdr before diving in). I am happy to see that you have read some of our material. But if you had read it far enough you would see - that car and cdr never occur in the book - that recursion is explained as the control structure that matches data def - that models and views are radically separated so that middle school kids don't have to bother with mind-numbing memorizations about view (i/o) stuff. Otherwise we're like biology. ;; --- This was more in in response Shririam's feedback, after that positive review of my curriculum writing at the O'Reilly website:[1] If you cite from private email, I can't comment. That's between him and you. -- Matthias From pdx4d@teleport.com Tue Oct 10 21:29:21 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Tue, 10 Oct 2000 13:29:21 -0700 Subject: [Edu-sig] Re: Teaching Middle-School Math with Python In-Reply-To: <200010101947.OAA01296@africa.cs.rice.edu> References: <3.0.3.32.20001010124043.00a54240@pop.teleport.com> <3.0.3.32.20001010082632.00b1db60@pop.teleport.com> <20001006160140.2A18A1D44D@dinsdale.python.org> <20001006160140.2A18A1D44D@dinsdale.python.org> <3.0.3.32.20001010082632.00b1db60@pop.teleport.com> <3.0.3.32.20001010124043.00a54240@pop.teleport.com> Message-ID: <3.0.3.32.20001010132921.00a54bc0@pop.teleport.com> >Scheme will stay around, don't worry. I meant Scheme in middle schools. > Glad to hear it. But even in this narrow scope, it don't see it as an either/or proposition. Schools should continue to evolve multiple approaches. If Python makes more inroads, this is not necessarily at Scheme's expense. >I am happy to see that you have read some of our material. But if you had >read it far enough you would see > > - that car and cdr never occur in the book > The book I mean is one you wrote, where you have two columns, with the answer on the right (you cover it with your hand or a piece of paper, and answer questions mentally, before sliding the paper down and checking your answer). I was pretty sure car and cdr were covered in that book. If not, I'm surprised that memory fails me. Also, I'd think you'd _want_ to cover car and cdr when approaching programming in Scheme (one reason I provided "emulations" of those functions in recent posts -- essentially the same as Python's List[0] and List[1:], although of course we're not talking about proper vs. improper lists as formed from cons pairs (that's an abstraction more specific to the LISP family)). > - that recursion is explained as the control structure that matches data def > I recall something about a dog chasing it's own tail, but maybe that was a different book. Here's something else from private email (a judgement call, when to share more publicly, I realize -- I try to be constructive and keep the conversation rolling). This from a teacher at a nearby high school (he has a fair amount of programming experience, though not with Scheme -- nor any with Python): I was hoping that Scheme would be a good intro to other Languages, mainly JAVA. Since I am moving through the material with the kids, we are all somewhat impatient at having no looping mechanism yet. I am all for recursion, but not to the exclusion of every type of looping mechanism. Again, I stepped into Scheme blindly, having faith in the promise of the promo. I'm not ready to quit yet, but I keep getting blindsided as I ask kids to do things that I think are simple, like counting. This teacher is just using what's freely downloadable from the web (from your website). Although I realize you have workshops, to a great extent we simply have to rely on osmosis for these languages to filter outward. In my opinion, learning Scheme requires more hand-holding i.e. more trained people such as yourself are required to back it up and keep the ball rolling. In the case of Python, my expectation is CP4E is more a self-fulfilling prophecy (will require less push). Python is a snowball, or, like Tim Berners-Lee talks about the World Wide Web: a bobsled you need to push only in the beginning -- then you jump on and try steer (what he's been doing at W3C). > - that models and views are radically separated so that middle school kids > don't have to bother with mind-numbing memorizations about view (i/o) > stuff. Otherwise we're like biology. > My "math through programming" approach is to build on terminology already evolved in ordinary math classes. I personally like talking about models and views and would like to see more of this phased in. In the meantime, what we already teach about are functions, relations, compositions of functions, domain, range, sets, intersection, union... the standard math topics, found in most text books the last 10-15 years. This is what math teachers like to see -- familiar terms. Neither "model" nor "view" is a prevalent term in that knowledge domain (again, I think this should change). >;; --- > > > This was more in in response Shririam's feedback, after that positive > review of my curriculum writing at the O'Reilly website:[1] > >If you cite from private email, I can't comment. That's between him and you. > >-- Matthias If you say so. When I get a letter from a partner in a law firm, I get a clue by looking at the stationery as to whether she speaks for the company. In email world, we don't usually have "letterhead" per se, and so the scope (local? more global?) is not always so clear. Thanks for the clarification. Kirby From matthias@rice.edu Tue Oct 10 22:47:41 2000 From: matthias@rice.edu (Matthias Felleisen) Date: Tue, 10 Oct 2000 16:47:41 -0500 (CDT) Subject: [Edu-sig] Re: Teaching Middle-School Math with Python In-Reply-To: <3.0.3.32.20001010132921.00a54bc0@pop.teleport.com> (message from Kirby Urner on Tue, 10 Oct 2000 13:29:21 -0700) References: <3.0.3.32.20001010124043.00a54240@pop.teleport.com> <3.0.3.32.20001010082632.00b1db60@pop.teleport.com> <20001006160140.2A18A1D44D@dinsdale.python.org> <20001006160140.2A18A1D44D@dinsdale.python.org> <3.0.3.32.20001010082632.00b1db60@pop.teleport.com> <3.0.3.32.20001010124043.00a54240@pop.teleport.com> <3.0.3.32.20001010132921.00a54bc0@pop.teleport.com> Message-ID: <200010102147.QAA01336@africa.cs.rice.edu> The book I mean is one you wrote, where you have two columns, with the answer on the right (you cover it with your hand or a piece of paper, and answer questions mentally, before sliding the paper down and checking your answer). I was pretty sure car and cdr were covered in that book. If not, I'm surprised that memory fails me. Yes, *that* book covers car/cdr and friends. But that's from 1984 (or even 1974, if you count the first edition). The book that matters for teaching in schools is "How to Design Programs". Also, I'd think you'd _want_ to cover car and cdr when approaching programming in Scheme Why? That would be silly. Teaching in middle school and even high school our objectives are to produce thinking kids who can use some programming tool not finished Python/Scheme programmers. If you come from a world of bits, bytes, loops and heavy syntax, learning Scheme is difficult. If you come with an open mind, it's easy. We hear that again and again. My "math through programming" approach is to build on terminology already evolved in ordinary math classes. I personally like talking about models and views and would like to see more of this phased in. In the meantime, what we already teach about are functions, relations, compositions of functions, domain, range, sets, intersection, union... the standard math topics, found in most text books the last 10-15 years. This is what math teachers like to see -- familiar terms. Neither "model" nor "view" is a prevalent term in that knowledge domain (again, I think this should change). Absolutely. Model and view is for us who know that Model is about functions, relations, compositions, domain, range, sets, ... (see TLL). View is about the stupid i/o crap that most languages impose on kids. -- Matthias From pdx4d@teleport.com Tue Oct 10 23:50:01 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Tue, 10 Oct 2000 15:50:01 -0700 Subject: [Edu-sig] Re: Teaching Middle-School Math with Python In-Reply-To: <200010102147.QAA01336@africa.cs.rice.edu> References: <3.0.3.32.20001010132921.00a54bc0@pop.teleport.com> <3.0.3.32.20001010124043.00a54240@pop.teleport.com> <3.0.3.32.20001010082632.00b1db60@pop.teleport.com> <20001006160140.2A18A1D44D@dinsdale.python.org> <20001006160140.2A18A1D44D@dinsdale.python.org> <3.0.3.32.20001010082632.00b1db60@pop.teleport.com> <3.0.3.32.20001010124043.00a54240@pop.teleport.com> <3.0.3.32.20001010132921.00a54bc0@pop.teleport.com> Message-ID: <3.0.3.32.20001010155001.00a5edc0@pop.teleport.com> > Also, I'd think you'd _want_ to cover car and cdr when approaching > programming in Scheme > >Why? That would be silly. Teaching in middle school and even high school >our objectives are to produce thinking kids who can use some programming >tool not finished Python/Scheme programmers. I'll have to look at those docs again. Seems to me that using recursion as your primary means of looping means you're very often writing stuff like: (define (Reduce procedure mylist) (cond [(= (length mylist) 1)(car mylist)] [(procedure (car mylist)(Reduce procedure (cdr mylist)))] )) Usage: > (Reduce + '(1 2 3 4)) 10 > (Reduce * '(1 2 3 4)) 24 In Python: def Reduce(proc, mylist): if len(mylist)==1: return mylist[0] else: return apply(proc, (mylist[0], Reduce(proc, mylist[1:]))) Usage: >>> import operator >>> Reduce(operator.add,(1,2,3,4)) 10 >>> Reduce(operator.mul,(1,2,3,4)) 24 (Note: for illustration purposes only -- Python has a built-in reduce function that already does the above). ... just back from the docs. Looks like you're using 'first' and 'rest' in place of 'car' and 'cdr'. That's good. 'car' and 'crd' are silly names. But I'm not finding where 'first' and 'rest' get defined. They're not MzScheme primitives i.e. I get an error message when I try using either one. Anyway, not to worry, I'll find this missing puzzle piece eventually. >Absolutely. Model and view is for us who know that Model is about >functions, relations, compositions, domain, range, sets, ... (see TLL). >View is about the stupid i/o crap that most languages impose on kids. > >-- Matthias Yeah, we don't want to start off on the wrong foot with a lot of stupid i/o crap, I agree. Thanks for the dialog. Sounds like we're not in any serious disagreement at this point. Kirby From jasonic@nomadicsltd.com Wed Oct 11 13:11:05 2000 From: jasonic@nomadicsltd.com (Jason Cunliffe) Date: Wed, 11 Oct 2000 08:11:05 -0400 Subject: [Edu-sig] outoftouch Message-ID: <002b01c0337c$5533e700$c3090740@megapathdsl.net> Travelling for the next week : no email probably. Thanks for the great discussions of recent weeks. Been thinking a lot more about PPP = Python Poetry Project. Hope to flesh it out while on the road and resume the thread when I get back. Jason From hei@adtranzsig.de Thu Oct 12 08:40:25 2000 From: hei@adtranzsig.de (Dirk-Ulrich Heise) Date: Thu, 12 Oct 2000 09:40:25 +0200 Subject: [Edu-sig] A little Forth core in Python References: <002b01c0337c$5533e700$c3090740@megapathdsl.net> Message-ID: <001101c0341f$af963060$13ec1fc2@adtranzsig.de> Yesterday i started hacking together a little script that acts like a Forth engine. Maybe this can be useful for those of you who want to show some postfix syntax to pupils without introducing extra compilers or the likes. I did it after reading about Joy ; it was an interesting reading - that somebody creates a FORTHish syntax and the outcome is a functional language. The engine i wrote places Python objects on its stack - at the moment, only numbers are possible, but with a little more work, it might be possible to define combinators like the ones of Joy as primitives, because this engine cares about data types the same way Python does - functions are just objects. So an "apply" or "map" primitive is possible. By now, my script only does some simple arithmetic, and it has dup and swap and "." (print), all definition words and control structures of FORTH are missing. Import the script and it will explain its usage. Should be working with any Python 1.4 to 2.0. Feedback appreciated! Dipl.Inform. Dirk-Ulrich Heise hei@adtranzsig.de dheise@debitel.net # FORTH.PY # 11.10.00 # dirk heise # # This is public domain software. It consists of exactly this file. # And i would really, really appreciate if people who *publish* stuff # derived from this script would put it in the PD also. # # VERSION # : see the variable "version" # # a simple Forth like language interpreted in Python. # # It's a Forth that uses Python objects. # Historically, Forth began with having only one data type, a 16bit word. # Later, several deviating schemes were introduced. # # Here, we use Python objects as what lands on the Forth stack and is # manipulated by the Forth primitive words. So, Python semantics hold: # Objects are always referenced, strings and ints are immutable etc, # there is the same kind of runtime type checking that Python applies. # Forth operators are implemented through the according Python operators, # Python exceptions are thrown when types don't fit an operation. # # If you want to extend the core set of words: # - You must create a class (derive it from CWord or another suitable # CWord-derived class) # - You must create an instance of this class in the init() method at # the end. (in practice, extend a list) # # TODOs: # - this is by far not a complete FORTH. I can't list all things # missing. # - seek the word "TODO" in the file to find particular things # i noticed. # - definition words are still missing # - conditionals are missing # - error handling is missing (Python exceptions are thrown to # the user - which isn't that good, as the FORTH user would be # interested in FORTH stack info, not Python stack stuff.) # # Why did i write this? # - People on the python edu-sig mailing list # found it useful to show prefix or postfix based # syntaxes to kids to open their mind. Okay, you're right, here you # have a toy for your educational purposes. # # - I thought it would be interesting to see how a FORTH with Python # objects would feel like. # # - I wanted to know how fast it goes. Now i know. I assumed it would be # very fast using Python. This assumption turned out to be right. # # For my own and your information, here's how much time i spent # writing this so far. # # 100 Minutes: +,.,integer numerals work. # 24 Minutes: commented. Simplified classes. Added "-". # 8 Minutes: added "*", simplified init function # 36 Minutes: added divide, simplified classes # added swap # added help() function. # 10 Min : Reworking this program header # Total so far: 178 min or 2h58 # That's it for version 0.001. #---------------------- IMPORTS ---------------------- import string #---------------------- CONSTs ----------------------- FALSE = 0 TRUE = 1 version = "0.001" vocabulary = {} stack = [] def push(x): """ push it onto the forth stack """ global stack stack.append(x) def pop(): """ push it onto the forth stack """ global stack x = stack[-1] stack = stack[:-1] return x class CWord: """ represents a FORTH word an abstract base class! does nothing when executed. member variables: name -keeps name of word """ def __init__(self,name): """ constructor - create an empty word definition for later introspection, the word knows its name """ self.name = name # ----------------------- arithmetics --------------------------------- # use like "3 4 +" (-->7) class CPlus(CWord): """ add two numbers """ def execute(self): push(pop()+pop()) class CMinus(CWord): """ subtract """ def execute(self): a = pop() b = pop() push(b-a) class CMul(CWord): """ multiply """ def execute(self): a = pop() b = pop() push(b*a) class CDiv(CWord): """ divide """ def execute(self): a = pop() b = pop() push(b/a) # ----------------------- stack manipulation --------------------- class CDup(CWord): """ a --> a a (duplicates top value on stack) """ def execute(self): a = pop() push(a) push(a) class CSwap(CWord): """ a b --> b a (exchanges top two values on stack) """ def execute(self): a = pop() b = pop() push(a) push(b) # ---------------------------- I/O ------------------------------- class CPrint(CWord): """ print top number from stack - use like '3 .' --> prints 3" """ def execute(self): print pop() # --------------------- definition words ------------------------- # TODO # ---------------------------------------------------------------- def find(w): """ w is a string - try to find that word in the forth dictionary return the word definition object """ global vocabulary try: x = vocabulary[w] except : x = None return x def execute(s): """ interpret a forth string """ l = string.split(s) # split it up at the spaces, so now l ist a list of forth words. # TODO: # Please note: This is an oversimplistic approach for real world # application - it prohibits having string literals in the FORTH source # code that contain spaces for w in l: word = find(w) # try to find it in the forth dictionary if word : # execute it word.execute() else: # suppose it's a number literal # TODO: # here, we should watch out for exceptions. push(eval(w)) def init(): """ initialize forth engine """ global stack global vocabulary stack = [] vocabulary = {} # vocabulary["."] = CPrint(".") # vocabulary["+"] = CPlus("+") # vocabulary["-"] = CMul("-") # vocabulary["*"] = CMinus("*") # vocabulary["dup"] = CDup("dup") # ahem - this is getting old... better: (and avoids errors) for name,classname in [(".",CPrint), ("+",CPlus), ("-",CMinus), ("*",CMul), ("dup",CDup), ("/",CDiv), ("swap",CSwap) ]: vocabulary[name] =classname(name) print "Added "+name def help(): print ("# example for '.' : ") print ("forth.execute('5 .') ") print ("# example for '+' : ") print ("forth.execute('3 4 + .') ") print ("# example for '-' : ") print ("forth.execute('32 4 - .') ") print ("# example for '*' : ") print ("forth.execute('3.14 2 * .') ") print ("# example for 'dup' : ") print ("forth.execute('3.14 dup . .') ") print ("# example for '/' : ") print ("forth.execute('7 2.0 / .') ") print ("# example for 'swap' : ") print ("forth.execute('7 6 swap - .') ") init() print "FORTH has been loaded." print " use forth.init() to reset the engine." print " use forth.execute('1 1 + .') tetc. to run forth words." print " use forth.help() to print out some examples." ########################################################## # end of file From hei@adtranzsig.de Thu Oct 12 14:58:03 2000 From: hei@adtranzsig.de (Dirk-Ulrich Heise) Date: Thu, 12 Oct 2000 15:58:03 +0200 Subject: [Edu-sig] Another Forth remark Message-ID: <017101c03454$70bc4de0$13ec1fc2@adtranzsig.de> Funnyly i stumbled across this: One of the original aims of Forth was to erase the boundary between user and programmer - to give all possible power to anyone who had occasion to use a computer. Nothing in the above labeling or remarks should be construed to mean that this goal has been abandoned. at http://www.taygeta.com/forth/dpansa15.htm (end of the first paragraph) Seems to be commonplace amongst language inventors ;-) Maybe they're all on a mission... Dipl.Inform. Dirk-Ulrich Heise hei@adtranzsig.de dheise@debitel.net From pdx4d@teleport.com Thu Oct 12 18:44:26 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Thu, 12 Oct 2000 10:44:26 -0700 Subject: [Edu-sig] Another Forth remark In-Reply-To: <017101c03454$70bc4de0$13ec1fc2@adtranzsig.de> Message-ID: <3.0.3.32.20001012104426.00aace60@pop.teleport.com> I haven't studied your source in detail at this point, but do have a question. My idea of what it'd mean to actually implement a part of FORTH in Python would be to provide a command line in which users could enter legal FORTH syntax (without modifications), and get the expected output. My understanding (I could be wrong), is FORTH is similar to Python in defining a CLI (command line interface) or REPL (read, execute, print loop). As I recall, Python actually ships with a class designed to provide a user prompt. You could subclass this, and a parser, which automatically analyzes user input into tokens somehow. Then it would be up to you to pass this data to methods for execution, in order to come up with a printed result. So from a Python prompt it might look something like this: >> import forth >> forth.start() Welcome to Pseudo-FORTH -- a Python project > 1 1 + 2 > 2 3 * 6 > Or whatever it is. Is that the kind of thing you're doing? Short of this, I think there's a way of using Python to "give the flavor" of another language. This is what I was doing with Scheme -- not implementing Scheme in Python (not even trying), put using the two syntaxes in parallel to highlight similarities and differences. Typically, when Scheme and C and placed side by side, or Scheme and BASIC, you're showing how _different_ they are (emphasis on "contrast" vs. "compare"), but in the case of Python, you maybe want to bring the _similarities_ into the foreground. I did study FORTH from a book a long time ago but I don't think I ever had a CLI to play with (memory hazy). In any case, I've pretty much forgotten whatever I learned. My friend Ron was writing a book on FORTH and one point, and I think even a compiler, but so far as I know, that whole project reached a dead end, perhaps because FORTH stopped being so "hot". Like you say (or implied, by sharing that quote giving the hopes of the FORTH folks), these languages come and go. If we want Python to stick around, we'll have to develop a bigger user base, and, to me, that means gain more exposure for it in K-12. But not as an end in itself (not Python for the sake of Python), but as a means to an end (making programming languages more accessible in general, with Python providing an easy on-ramp, and quick access to a lot of the central ideas in an interactive environment -- thereby serving as a stepping stone to other languages _in addition_ to being a productive real world language in its own right). So my hope is that some Java folks, for example, won't necessarily say "no no, you shouldn't be doing Python in middle school, you should be doing Java!" More, a lot of them will be saying "Java is pretty hard and middle school is probably too early to dive into it deeply -- but Python has a lot in common with Java, so we support middle schools adopting that, knowing in the long run this will produce a stream of Java programmers as well." I think some Schemers (not all), might have the same attitude. Kirby From hei@adtranzsig.de Fri Oct 13 09:24:02 2000 From: hei@adtranzsig.de (Dirk-Ulrich Heise) Date: Fri, 13 Oct 2000 10:24:02 +0200 Subject: [Edu-sig] Another Forth remark References: <3.0.3.32.20001012104426.00aace60@pop.teleport.com> Message-ID: <002301c034ee$f1c27e10$13ec1fc2@adtranzsig.de> -----Ursprüngliche Nachricht----- Von: "Kirby Urner" > > I haven't studied your source in detail at this point, but do > have a question. > > My idea of what it'd mean to actually implement a part of FORTH > in Python would be to provide a command line in which users > could enter legal FORTH syntax (without modifications), and > get the expected output. My understanding (I could be wrong), > is FORTH is similar to Python in defining a CLI (command line > interface) or REPL (read, execute, print loop). Very simplistic approach to that: (paste this into my script) def shell(): """ a simple interactive shell """ print "Forth command line. Type 'quit' to quit." while 1: print ">", x = raw_input() if x=="quit": break execute(x) > > As I recall, Python actually ships with a class designed to > provide a user prompt. You could subclass this, and a parser, > which automatically analyzes user input into tokens somehow. Don't know - which class do you mean? > My friend Ron was writing a book on FORTH and one point, > and I think even a compiler, but so far as I know, that > whole project reached a dead end, perhaps because FORTH > stopped being so "hot". When he was able to write a book about Forth, he *surely* also wrote a Forth compiler... There's not much of a difference between "programming in FORTH" and "modify it's compiler". Dipl.Inform. Dirk-Ulrich Heise hei@adtranzsig.de dheise@debitel.net From pdx4d@teleport.com Fri Oct 13 17:56:29 2000 From: pdx4d@teleport.com (Kirby Urner) Date: Fri, 13 Oct 2000 09:56:29 -0700 Subject: [Edu-sig] Another Forth remark In-Reply-To: <002301c034ee$f1c27e10$13ec1fc2@adtranzsig.de> References: <3.0.3.32.20001012104426.00aace60@pop.teleport.com> Message-ID: <3.0.3.32.20001013095629.009aeb60@pop.teleport.com> >Very simplistic approach to that: (paste this into my script) > >def shell(): > """ > a simple interactive shell > """ > print "Forth command line. Type 'quit' to quit." > while 1: > print ">", > x = raw_input() > if x=="quit": > break > execute(x) OK, I'll give that a try. Sounds like fun. >> As I recall, Python actually ships with a class designed to >> provide a user prompt. You could subclass this, and a parser, >> which automatically analyzes user input into tokens somehow. > >Don't know - which class do you mean? I'll have to poke around -- just a dim recollection, could have been in a book vs. part of the Standard Library. >> My friend Ron was writing a book on FORTH and one point, >> and I think even a compiler, but so far as I know, that >> whole project reached a dead end, perhaps because FORTH >> stopped being so "hot". > >When he was able to write a book about Forth, he >*surely* also wrote a Forth compiler... There's not much >of a difference between "programming in FORTH" >and "modify it's compiler". > >Dipl.Inform. Dirk-Ulrich Heise >hei@adtranzsig.de >dheise@debitel.net FORTH sounds like a very fun language (I recall enjoying reading about it). I like the idea of introducing prefix and postfix notation in the same lesson plan. Plus I'm all for expanding on the concept of "data structures" in K-12 [1] and FORTH provides a great opportunity to talk about the stack structure. Kirby [1] http://www.inetarena.com/~pdx4d/ocn/trends2000.html From fig@monitor.net Tue Oct 17 20:31:05 2000 From: fig@monitor.net (Stephen R. Figgins) Date: Tue, 17 Oct 2000 12:31:05 -0700 Subject: [Edu-sig] socratic methods References: Message-ID: <39ECA8F9.DF767E7C@monitor.net> Michal Wallace wrote: ... > I think it would be really cool if a computer could be programmed > with a tree like this to teach people using the socratic method. I have been thinking about this, while playing around with a palm program called CyberTracker. It is used for data entry. This particular database interface was designed for illiterate bushmen trackers. Equiped with palms, the bushmen have been producing lots of data on Rhinos in South Africa and other animals as well. More data than we had collected on the animals in the last hundred years was gathered in the first few weeks of this program. Rather than the usual database interface of filling out a form, the developer of this interface uses icons that follow the taxonomy used by the trackers based to group related tracks and signs. They use a lot of icons mixed with text (teaching the bushmen a bit of word recognition as a side effect.) Because the interface is so closely designed with the Bushmen in mind, it takes them about 15 minutes to learn how to use it. Switch to North America, a group of trackers here are using a modified version of the program, not only to collect data, but to hone their skills. As they enter data, they learn the taxonomic system of the master tracker that tailored the interface, they also train their minds to look for things in a particular sequence, and with great detail. One learning tracker claimed it was like have a master tracker right there looking over his shoulder, pointing out what he should look at next. This starts to flow into the notion that learning is all about patterning the brain. Working with this entry program with its words and icons does just that, running the mind through learning sequences, like a martial artist practicing their kata. Learning patterns can be used in lots of ways in teaching. MonArt art classes for children use pattern recognition as a way of increasing art skills, with really dramatic effect. Once kids begin to recognize angles, circles, dots, squares, etc. in the world around them, and working through some basic copying exercise where they copy and mirror line patterns, the kids art work impoves remarkably. The instructors are using a taxonomy of shape components hand movements to sharpen the minds kinesthetic memory of the students. What is the socratic method, but a set of questions that focus the mind on the topic at hand? It is a kind of taxonomy for mental inquiry. This isn't entirely new, we have used decision trees and flow charts in all kinds of diagnostics.... I am not sure exactly where to go with this yet, but I am intrigued by the overlap here between data collection, decision trees, socratic (maietic) teaching and the patterning of the mind. I am happy to discuss it further with you, Michal. -Stephen From sabren@manifestation.com Wed Oct 18 02:55:20 2000 From: sabren@manifestation.com (Michal Wallace) Date: Tue, 17 Oct 2000 21:55:20 -0400 (EDT) Subject: [Edu-sig] socratic methods In-Reply-To: <39ECA8F9.DF767E7C@monitor.net> Message-ID: On Tue, 17 Oct 2000, Stephen R. Figgins wrote: > Michal Wallace wrote: > ... > > I think it would be really cool if a computer could be programmed > > with a tree like this to teach people using the socratic method. > > I have been thinking about this, while playing around with a palm > program called CyberTracker. It is used for data entry. This > particular database interface was designed for illiterate bushmen > trackers. Equiped with palms, the bushmen have been producing lots of > data on Rhinos in South Africa and other animals as well. More data > than we had collected on the animals in the last hundred years was > gathered in the first few weeks of this program. I found http://www.cybertracker.co.za/ and a neat article at http://www.itweb.co.za/sections/computing/1998/981106124.asp but couldn't find anywhere to download it.. do you have a link? > Switch to North America, a group of trackers here are using a modified > version of the program, not only to collect data, but to hone their > skills. As they enter data, they learn the taxonomic system of the > master tracker that tailored the interface, they also train their minds > to look for things in a particular sequence, and with great detail. One > learning tracker claimed it was like have a master tracker right there > looking over his shoulder, pointing out what he should look at next. > > This starts to flow into the notion that learning is all about > patterning the brain. Working with this entry program with its words > and icons does just that, running the mind through learning sequences, > like a martial artist practicing their kata. I bet there's all kinds of applications for this idea, and having access to this kind of expert system/mentor system on a palm pilot could make it even more powerful. You could use a palm mentoring system for: - sales - interviewing potential employees - troubleshooting all kinds of things - first aid - conflict resolution - one-on-one tutoring - lots of other stuff :) .. basically, anything where you want normal people to be able to use a certain skillset out in the field.. plus all the other thing that you could use a system like this for on the desktop. Also.. and this is kind of out there.. But if you've ever read any of those Mega-Memory books, they talk about ways to remember just about anything.. You could have a little program that taught people to remember decision-tree structures in general, and then walk them through memorizing an individual tree, so people could carry around this codified knowledge without necessarily fully understanding why or how it works.. > What is the socratic method, but a set of questions that focus the mind > on the topic at hand? It is a kind of taxonomy for mental inquiry. > This isn't entirely new, we have used decision trees and flow charts in > all kinds of diagnostics.... Sure. If I recall, there's an old debate as to whether or not socrates knows the answers to the questions he asks.. If he does, there's definitely a decision tree process going on there. Even if he doesn't, you could draw one in. On the other hand, when I think of a decision tree, I think of all the possibile things that an actor could do, and the decisions that lead to those outcomes. With a planned socratic dialog, you've already got the final destination in mind. The only decisions are about how to get there. > I am not sure exactly where to go with this yet, but I am intrigued by > the overlap here between data collection, decision trees, socratic > (maietic) teaching and the patterning of the mind. I am happy to > discuss it further with you, Michal. maietic? I think I'll map out my hypothetical recusion/fibonacci lesson as a graph and post a link to the edu-sig for comments.. Cheers, - Michal ------------------------------------------------------------------------ www.manifestation.com www.sabren.com www.linkwatcher.com www.zike.net ------------------------------------------------------------------------ From urban.anjar@hik.se Wed Oct 18 11:16:12 2000 From: urban.anjar@hik.se (Urban Anjar) Date: Wed, 18 Oct 2000 12:16:12 +0200 Subject: [Edu-sig] Teaching Python at a Junior College Level References: Message-ID: <39ED786C.6338A68D@hik.se> Dean Nevins wrote: .... > but people responsible for > transferring the credit to another school often will ask for BASIC > specifically. Any ideas how to fix this problem? > > This problem is much more important than you might realize. If schools won't > accept classes that have Python in them, then it doesn't matter how much > better Python is than BASIC, the classes cannot be taught. Either that or > you end up with boutique classes with nobody in them. BASIC is a rather variable beast. Some BASICs I have seen are rather similar to the non OO parts of Python. Maybe we just need a subset of Python called py-PASIC, BASIC-py or something like that. Maybe it´s gotta have line-numbers?? ;-) Maybe creative spelling can do... - BASIC programming (puts upp some ridiculous restrictions) - Basic programming (could be taught in ANY language, that isn´t too difficult) ;-) Maybe Python just needs some marketing. What if somebody shrink-wrapped Python on a CD. Put it in a HUGE box with some programming examples and a good book? Sell it for $150 or something like that. ;-) If somebody is stupid enough to buy, recycle the money to advertisments and Python development... Urban -- Microsoft will stop making things that suck when they start making vacuum cleaners.  From jasonic@nomadicsltd.com Wed Oct 18 18:25:02 2000 From: jasonic@nomadicsltd.com (Jason Cunliffe) Date: Wed, 18 Oct 2000 13:25:02 -0400 Subject: [Edu-sig] Doing Symbolics in Python Message-ID: <000801c03928$599b5100$c3090740@megapathdsl.net> This is a multi-part message in MIME format. ------=_NextPart_000_0005_01C03906.D20C91C0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Hello I am wondering what anyone here thinks of this: http://cens.ioc.ee/projects/pysymbolic/ PySymbolic provides a tool for doing elementary symbolic calculations in Python. Currently, only simplification and differentiation of Python expressions are implemented. The project is in alpha stage. PySymbolic design proposal at http://cens.ioc.ee/projects/pysymbolic/design.html Jason ------=_NextPart_000_0005_01C03906.D20C91C0 Content-Type: application/octet-stream; name="Doing Symbolics in Python.url" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="Doing Symbolics in Python.url" [DEFAULT] BASEURL=http://cens.ioc.ee/projects/pysymbolic/ [InternetShortcut] URL=http://cens.ioc.ee/projects/pysymbolic/ Modified=6013A6132839C0014E ------=_NextPart_000_0005_01C03906.D20C91C0-- From dheise@debitel.net Wed Oct 18 22:13:13 2000 From: dheise@debitel.net (Dirk Heise) Date: Wed, 18 Oct 2000 23:13:13 +0200 Subject: [Edu-sig] That's where the Forth hides. Message-ID: <20001018211522.4185.qmail@psmtp1.dnsg.net> For those who are interested in my ongoing Forth-in-Python works, you can get it by joining http://www.egroups.com/files/SynthetoForth/ and looking into the files section. This was the easiest way to place it somewhere on the net, without having to mess with CVS at SourceForge or so, or creating my own website. (I'm really not interested in investing time into Web content creation or so, just had to place those files somewhere for communication.) Of course, if you don't wanna give egroups your personal data, you might as well mail me directly... at the moment, i'm rewriting it every day a little. It's quite tricky to get it right so the real Forth magic gets preserved; Chuck Moore is said to have it rewritten a multitude of times before it became the classical 70ies Forth. Be warned, maybe my newer versions get too tricky to be of interest for a little educational intro into postfix. I'm seeing now that the infix vs. postfix syntax item is only very surfacial, the magic is much deeper (the key to the extensibility of Forth). (still i don't know whether it can be delivered to other languages. I don't know whether is has ever been tried, or whether there are such languages. Maybe it can only work with a language as simple as Forth, and every attempt to give the language more syntactical sugar destroys it. The truth hides.) Dirk From fig@monitor.net Wed Oct 18 22:32:17 2000 From: fig@monitor.net (Stephen R. Figgins) Date: Wed, 18 Oct 2000 14:32:17 -0700 Subject: [Edu-sig] socratic methods References: Message-ID: <39EE16E1.A9E5ABEB@monitor.net> > I found http://www.cybertracker.co.za/ and a neat article > at http://www.itweb.co.za/sections/computing/1998/981106124.asp > but couldn't find anywhere to download it.. do you have a link? I don't yet. But I am getting a copy of it on CDROM from the Wilderness Awareness School, one of the shool's founders, Jon Young, did the North American sequence. http://www.natureoutlet.com/ > I bet there's all kinds of applications for this idea, and having > access to this kind of expert system/mentor system on a palm pilot > could make it even more powerful. I agree. Jon Young, who has lots of experience tracking and even designed the sequence say he finds it useful in the field. It helps him to pause and consider options he might not otherwise have remembered in the moment. > maietic? oops. maieutic is the actual spelling. From the root maia, meaning midwife. It's another term for Socratic method. The teacher helps in giving birth to the knowledge in the student, drawing the knowledge out of them. > I think I'll map out my hypothetical recusion/fibonacci lesson > as a graph and post a link to the edu-sig for comments.. I look forward to it! Stephen From jasonic@nomadicsltd.com Sat Oct 21 19:56:53 2000 From: jasonic@nomadicsltd.com (Jason Cunliffe) Date: Sat, 21 Oct 2000 14:56:53 -0400 Subject: [Edu-sig] VisAd anyone ? Message-ID: <011001c03b90$ad66d1a0$c3090740@megapathdsl.net> Hello Just checked a link to Bill Hubbard's good work on VisAD and was delighted to find there is now a JPython module... I thought Art and others here might appreciate really this: http://www.ssec.wisc.edu/~billh/visad.html and in particular http://www.ssec.wisc.edu/~billh/README.python VisAD is a Java component library for interactive and collaborative visualization and analysis of numerical data. The name VisAD is an acronym for "Visualization for Algorithm Development". The system combines: The use of pure Java for platform independence and to support data sharing and real-time collaboration among geographically distributed users. Support for distributed computing is integrated at the lowest levels of the system using Java RMI distributed objects. A general mathematical data model that can be adapted to virtually any numerical data, that supports data sharing among different users, different data sources and different scientific disciplines, and that provides transparent access to data independent of storage format and location (i.e., memory, disk or remote). The data model has been adapted to netCDF, HDF-5, FITS, HDF-EOS, McIDAS, Vis5D, GIF and JPEG file formats. A general display model that supports interactive 3-D, data fusion, multiple data views, direct manipulation, collaboration, and virtual reality. The display model has been adapted to Java3D and Java2D and used in an ImmersaDesk virtual reality display. Data analysis and computation integrated with visualization to support computational steering and other complex interaction modes. Support for two distinct communities: developers who create domain- specific systems based on VisAD, and users of those domain-specific systems. VisAD is designed to support a wide variety of user interfaces, ranging from simple data browser applets to complex applications that allow groups of scientists to collaboratively develop data analysis algorithms. Developer extensibility in as many ways as possible. The visad.python package defines a Python-based language for using VisAD. The classes in this package are: JPythonEditor - an editor for VisAD Python scripts that can be incorporated in application programs JPythonFrame - a program and GUI for editing and running VisAD Python scripts JPythonMethods - a set of functions for accessing VisAD that can be called from VisAD Python scripts cheers Jason ________________________________________________________________ Jason CUNLIFFE = NOMADICS['Interactive Art and Technology'].DesignDirector From ajs@ix.netcom.com Sat Oct 21 21:21:53 2000 From: ajs@ix.netcom.com (Arthur Siegel) Date: Sat, 21 Oct 2000 16:21:53 -0400 Subject: [Edu-sig] Re: VisAd anyone ? References: <011001c03b90$ad66d1a0$c3090740@megapathdsl.net> Message-ID: <000701c03b9c$94cbe020$9ce16dd1@oemcomputer> Jason wrote - > Just checked a link to Bill Hubbard's good work on VisAD and was delighted > to find there is now a JPython module... > > I thought Art and others here might appreciate really this: I knew of and in fact had downloaded VisAD, but never really got to it. Didn't know it had done something specifically with JPython (should say Jython, support) scripting - which does make it even more interesting to explore, for me. Thanks Jason, for the info. For anyone who hasn't caught it, there was an announcement this week of Jython development commencing on Sourceforge as the successor to JPython - CNRI having decided so far to sit on their JPython trademark. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Thought folks might be interested in knowing: Kirby had to leave suddenly to go to South Africa, where his parents had lived. Auto accident. Only his mother survived. Know this from an another list we share. Assumedly EDU-SIG might not hear from him for a bit. Thought (hope) he might appreciate having the situation explained here, since he has been such an active force. ART From jasonic@nomadicsltd.com Tue Oct 31 13:53:42 2000 From: jasonic@nomadicsltd.com (Jason Cunliffe) Date: Tue, 31 Oct 2000 08:53:42 -0500 Subject: [Edu-sig] O'Reilly Network Building a Black Hole With OpenGL Message-ID: <000801c04341$faedd640$c3090740@megapathdsl.net> This is a multi-part message in MIME format. ------=_NextPart_000_0005_01C04318.119AAF00 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit A beautifully illustrated article: Building a Black Hole with openGL http://www.oreillynet.com/pub/a/linux/2000/09/15/blackhole.html ------=_NextPart_000_0005_01C04318.119AAF00 Content-Type: application/octet-stream; name="O'Reilly Network Building a Black Hole With OpenGL.url" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="O'Reilly Network Building a Black Hole With OpenGL.url" [DEFAULT] BASEURL=http://www.oreillynet.com/pub/a/linux/2000/09/15/blackhole.html [InternetShortcut] URL=http://www.oreillynet.com/pub/a/linux/2000/09/15/blackhole.html Modified=409413B84143C001E4 ------=_NextPart_000_0005_01C04318.119AAF00--