Tuesday, January 17, 2006

Rur-ple update

As the few readers of this blog know, my programming work had stalled for a few months. However, I have resumed work on rur-ple over the last few weeks and some good news should come out soon.

I have revised all existing lessons and changed from using hard-coded html information (like font-colors and such) to using cascading style sheets. This will give me more freedom in trying various visual designs for the lessons. However, since rur-ple makes use of wxPython and that its browser uses wxHtml which does not recognize style sheets ... I had to write a converter that would take an xHtml file with the associated .css and convert into plain Html. This work has taken a few (long) nights to complete but it is now essentially done; I can finally resume writing new lessons.

While revising the existing lessons, I wrote my own solutions to all suggested exercises. This lead to some reorganisation of the material, some new minor additions and, more importantly, some deletions of less pedagogical examples.

I have also received some feedback (bugs report!) from a MacOS user. I had to make a few changes to the basic code and it should now be more robust on all platforms. Unfortunately, this also lead me to change the default size on opening to 900x660; I just hope that this relatively large size (greater than 800x600) will not create problems for prospective users.

The lessons are now divided in 5 parts:
  1. Welcome to Reeborg's world. This includes 9 lessons and introduce various robot commands.
  2. Reeborg knows Python. 15 lessons, which include an introduction to the following Python keywords: def, if, else, elif, while, not, pass. Notions of "True" and "False" are also introduced.
  3. Python the interpreter. This will be more akin to a "standard" introduction to Python, although with some side-excursion back into Reeborg's world. I have written a few lessons but they will need some polishing. There should be about 10-15 lessons in total covering numbers, strings, tuples, lists, dicts as well as the following keywords: print, for, in, from, import, return, and the pseudo-keyword "as". Variable assignment is also going to be covered in this part.
  4. Learning about objects. This will include lessons going back and forth between "typical" Python examples and examples in Reeborg's world. I have written four lessons and plan for about a dozen. These lessons have been the most fun to write - hopefully, they will be fun to read as well.
  5. Making games with Pygame. I got sidetracked with learning about Pygame a few months ago. I have some first drafts of 7 lessons which were originally written independently of rur-ple and that I will have to integrate in it. I am planning to have about 20 simple lessons that will eventually lead to some separate lessons on "major projects".
I don't know if I will delay the release of version 1.0 of rur-ple until after these 5 parts (excluding the major Pygame projects) are completed. The next release will probably occur once I have completed the first three parts. Hopefully this will be done within a month. At that time, I should probably release a first version (0.1?) of my "xHtml/css to Html" converter.

Finally, as some users have suggested, I might investigate the possibility of turning the lessons into a book. However, I should probably get some more feedback from users before attempting to do so.


Anonymous said...

Hi André!

This sounds great! I teach programming (beginners) and I've been looking at RUR-PLE to be the starting tool for my students. I will follow your work.


(is there an easy way to translate rur-ple?)

André said...


There are three parts of rur-ple that could be translated: the lessons, the robot commands and the interface. At present, only the interface is translated. Doing so is fairly easy. Starting from where RUR_Start.py is located, you go to rur_py\languages\ and you should find a file named english.py (there's also french.py and spanish.py). It contains all the english phrases that need to be translated in plain text. All you have to do translate these phrases and send the result to me.
[andre dot roberge at gmail dot com]

I suggest in the lessons that the student provide his or her own translation of the robot command. If you think it would be more appropriate to have them available in your language (with the caveat of using only ascii characters) like it is done in Guido van Robot, I could make it an option - provided I have the translation available.

As far as the lessons are concerned... lots of work there, but it's straight html. Of course, if you translate any parts, I'd be interested in getting a copy.


Nelson Castillo said...

I learng using Logo and I think Rur-ple is nice. I worked on a program for teaching how to program named dfd a long time ago.

Anonymous said...

PLEASE PLEASE PLEASE release the xhtml+css to wxhtml convertor!

André said...

To anonymous:

The xhtml+css to html converter is not very sophisticated and not worthy of a public release. It did worked for my purpose at the time. If you are interested, send me an email and I can email it back to you.