PythonTurtle - the most low-threshold way for learning/teaching Python
pythonturtle.com
pythonturtle.com
It is a way for curious people who are not computer-savvy to teach themselves Python. Of course, it can also be used in a class with an instructor.
Yes, I am aware of turtle.py, the turtle module shipped with the Python standard library. It has a few problems which I found unforgivable: mainly that it's not geared towards people who may not know anything about programming, or how to use IDLE. This is why I decided to make this project.
I'd love to get your comments and feedback.
I see from the source that you're using wxwidgets so it should be easy to port it to OS X and linux as well.
PythonTurtle screenshot with a dragon curve http://img35.imageshack.us/i/screenshotpythonturtled.png/
>>> def dragon(level=4, size=200, direction=45):
... """From http://rosettacode.org/wiki/Dragon_curve
... """
... if level == 0:
... go(size)
... return
... turn(direction)
... dragon(level-1, size/1.41421356237, 45)
... turn(-direction*2)
... dragon(level-1, size/1.41421356237, -45)
... turn(direction)
...
>>> dragon(10)Cool project.
The only issue I found with it so far is that unlike the old logo, the borders of the 'world' aren't circular. That means that if you type 'go(500)' from the opening position, the turtle disappears.
But it's a minor issue, really. My kid is 4 and I'm going to show it to him tomorrow, see how he likes it.
I like the idea of it being Python, so that perhaps they might smoothly transition from fun to "real" problem solving (which is, I find, the most fun of all).
http://www.technologyreview.com/computing/22919/
This other program is great for either children or adults:
Scratch (MIT)
Alice (Cornell, IIRC -- just saw that an update is due next week)
One or more versions of Logo (e.g Berkeley) (recently, there's at least one that's hosted in the browser; might lower the gap since no explicit installation is required).
A couple of things I'm forgetting right now.
When I run across these or particularly a nice introduction to one or another, I forward the page on to the parents FYI. When/if they start to respond with "tell us more", I'll go more in depth (and excavate those pages and bookmarks).
Suggestions welcome. Since they're not my kids, my approach has been somewhat lackadaisical.
Also, in AP Comp Sci we went over the basics of functions by making a turtle move across a plane.
Why turtles?
Why turtles? I don't know actually, I'm just following Logo's convention. Some implementations make it a little arrow - I prefer the turtle, especially because kids like it better. Though there isn't really a reason that a turtle should leave a trail, so maybe a slug would make more sense.
For adults, it's often solving a problem at hand.
I think that the ability to gets things done, that one desires, draws many people in. A large initial learning curve before that happens is often a deal breaker.
Once you're engaged, that's the time to keep teaching you more.
This is a great and noble initiative and I look forward to checking it out when I'm more than semi-conscious. Please, no wise ass correlations between semi-consciousness and the use of Windows Vista :D
I'm Swayze.
Tell me if it gives you a weird error message after you close the program.
Note that there's a comctl32.dll on windows\system32.
Edit: Never mind, I left it at compatibility mode. Reverted back to native run mode and it's working fine now except that at upon exit, it complains about not being able to open log file because of privilege issues.
http://en.wikipedia.org/wiki/Karel_%28programming_language%2...