A while ago, after reading about how much excessive tracking of users is done on the web, I decided that I was not going to track users of Reeborg's World. I had initially tracked users with piwik, found that some minor spikes occurred when I posted about it (I even found out that one person had copied the entire site) but the information that I got did not seem to be worth getting.
So, I stopped tracking, and mentioned on the site and elsewhere that I was not tracking users ... and have no idea how much it is used (it's free to use and does not require any login), and if the various changes I made to the site which are intended to be improvements are seen as such by the silent users.
A few people have contacted me with suggestions for improvements and with mentions of how useful the tutorial and the programming environment were in helping to learn Python. I am very grateful to those that contacted me. Still, I am curious about how much the site is used.
So, I am going to start tracking users and thought I should mention it in the interest of openness. After reading about various options, I am thinking of using Clicky instead of Piwik ... but I am curious to find out if anyone has better suggestions.
Saturday, November 08, 2014
Thursday, November 06, 2014
Line highlighting working - development version
Reeborg's World is better than RUR-PLE ever was in all aspects ... except for one thing: line of codes being executed were simultaneously highlighted in RUR-PLE something which, up until now, had not been possible to do on the web version as it relied upon some features specific to CPython.
Well... I may have just found an alternative method. :-)
Well... I may have just found an alternative method. :-)
Tuesday, November 04, 2014
Partial fun
My daughter suggested to me that
This is what I suggested to her:
>>> from functools import partial
>>> detros = partial(sorted, reverse=True)
>>> detros([1, 3, 4, 2])
[4, 3, 2, 1]
I love Python. :-)
To sort in descending order in python, you should be able to do
detros() instead of sorted( ... reverse = True)
This is what I suggested to her:
>>> from functools import partial
>>> detros = partial(sorted, reverse=True)
>>> detros([1, 3, 4, 2])
[4, 3, 2, 1]
I love Python. :-)
Sunday, November 02, 2014
Tasks with random initial values
Quick Reeborg update:
Reeborg's World now allows for tasks with randomly selected initial values within a certain range. For example, this world (and solution) is such that Reeborg can start at any of three initial positions, in any of the four basic orientations. Furthermore, there is an initially unspecified number of tokens at grid position (5, 4). This type of random selection opens the possibility to create more interesting programming challenges.
Reeborg's World now allows for tasks with randomly selected initial values within a certain range. For example, this world (and solution) is such that Reeborg can start at any of three initial positions, in any of the four basic orientations. Furthermore, there is an initially unspecified number of tokens at grid position (5, 4). This type of random selection opens the possibility to create more interesting programming challenges.
Friday, June 20, 2014
Reeborg in real life
One of the first users of rur-ple is a high school teacher in New Jersey who gave me some great feedback while I was developing the program. He reall seems to have found a way to make students enjoy learning. A while ago, he sent me this picture of one of his students who decided to make a Reeborg costume for Hallowe'en.
And, today, for the last day of school, another student gave him this as a token of appreciation:
Knowing that the little robot, whose image I drew pixel by pixel with my limited art skills, seem to have been appreciated by students as they learned programming using Python makes my day! :-)
And, today, for the last day of school, another student gave him this as a token of appreciation:
Knowing that the little robot, whose image I drew pixel by pixel with my limited art skills, seem to have been appreciated by students as they learned programming using Python makes my day! :-)
Wednesday, May 21, 2014
Reeborg programming challenges - Challenge #1
Can you have Reeborg do multiplication without using numerical variables?
The solution must work for 5 different challenges (mul5x1, mul1x5, mul5x5, mul4x3, mul3x2) - or any other such challenges for which I could create a world. Excluding the line with think(0), which makes Reeborg move as quickly as possible, and the line select_challenge(...), can you write a solution shorter than 29 lines? Solutions can be attempted at Reeborg's World. You may want to click on the help button to see a brief summary of all known instructions.
Reeborg must show that it can multiply two numbers by taking a number N tokens located at x=1 and y=Y, and leave a single token at row y=1 and x = N*Y. For example, here's a starting position (image taken from RUR-PLE, so that it looks a bit different from the web version)
the final position must be
where a single token must be deposited.
So, without using numerical variables, and using only a single instruction per line (so no use of semi-colon, or having a colon followed by a statement), how short can a solution to this problem be? Here's an example of a solution that is NOT allowed under the above rules:
think(0)
select_challenge("mul5x1")
y = 1 # numerical variables not allowed
tokens = 0;turn_left() # use of ; is not allowed
def turn_around():
turn_left()
turn_left()
while not token_here():
move()
y += 1 # not allowed
while token_here():
take()
tokens += 1 # not allowed
turn_around()
while front_is_clear(): move() # not allowed, statement after colon
turn_left()
repeat(move, y*tokens-1) # not allowed, multiplication
put()
The solution must work for 5 different challenges (mul5x1, mul1x5, mul5x5, mul4x3, mul3x2) - or any other such challenges for which I could create a world. Excluding the line with think(0), which makes Reeborg move as quickly as possible, and the line select_challenge(...), can you write a solution shorter than 29 lines? Solutions can be attempted at Reeborg's World. You may want to click on the help button to see a brief summary of all known instructions.
Le monde de Reeborg: finalement en français!
J'ai finalement complété la traduction de la nouvelle version du monde de Reeborg en français. Les tutoriels pour débutant, que ce soit pour Python ou pour Javascript ne sont cependant pas encore traduits.
Si la version française vous intéresse, svp contactez-moi par courriel (ou laissez un commentaire sur ce billet) pour me le laisser savoir et que je puisse mieux juger du besoin de traduction des tutoriels.
Si la version française vous intéresse, svp contactez-moi par courriel (ou laissez un commentaire sur ce billet) pour me le laisser savoir et que je puisse mieux juger du besoin de traduction des tutoriels.
Subscribe to:
Posts (Atom)




