I have used RUR-PLE in my classroom for two semesters now. I teach a group
of generally above-average 10th graders. My course is a required part of
the curriculum, so the group includes many kids who are not big computer
fans.
I've found RUR-PLE to be a very constructive way to approach programming. I
use it to teach the basics of looping and branching and defining
subroutines, and we do about 6 of Andre's exercises. (We spend about 4 1/2
hours of class time on it before moving on to Python, using modified
versions of the LiveWires and a little bit from How To Think Like a Computer
Scientist.)
RUR-PLE is a very constrained environment, but it ramps up nicely into
"real" Python. It shelters beginners from the ugly stuff like
num=int(raw_input("number?"))
but it retains enough complexity so that the behavior of programs is not all
that predictable to the kids. They still have to do a considerable amount of
thinking in order to get things to work.
After the time with RUR-PLE, I found that only 2 or 3 kids out of 34 could
write a trivial program that would send the robot counter-clockwise around
the edge of a rectangular world of unspecified size until it hit a beeper.
The kids could understand a solution like:
while not next_to_a_beeper():
if front_is_clear():
move()
else:
turn_left()
turn_off()
when they saw it, but most could not synthesize it themselves. This is
after we discussed this -specific- problem in class, and after all the kids
had done similar things with the exercises. When we moved on to Python, they
were still struggling with similar very simple problems.
I think programming is much harder for "normal" (not self-selected) kids
than most of us seem to acknowledge. One of my
kids said "It's so totally logical, and yet it's so frustrating. . . " I
think kids are turned off when we tell them how easy it is, and then
they discover otherwise. It just serves to make them feel stupid. We'd be
better off saying "It's hard at first, but it's really worthwhile. Here,
let us help you get started." I think RUR-PLE is a great tool for this.
Regards,
Andy Judkis
Academy of Allied Health and Science
Neptune, NJ