On 17.12.2008, at 17:29, Satoshi Asakawa wrote:
Would you mind if I use your cool 'dog hunts sheep' game as the next course exercise?

Of course not! Feel free to use whatever you need from the code or the article.

On 17.12.2008, at 18:38, François Vaux wrote:
However, I'd like to know if you presented that to students, and if
yes, how it was received.

Quite well, as you can imagine, being it a game :) I was torturing them with abstract explanation of OOP for one lecture (see http://github.com/karmi/sheep_in_your_shoes/tree/master/animals-oriented-on-objects.rb) . These are humanities, not computer science students, so they were interested in the concept of OOP and the context, but not so much in the code itself. Of course, when I showed how you can generate 100 sheep easily with a `sheep = []; 1.upto 100; sheep << Sheep.new; end`, they become more interested. Games are probably prime example why OOP matters, because you really need "smart objects" and cannot hack everything with procedural code: cf. "armies", "villages", etc. in games like Age of Empires. Then one student stated: "OK, now I see why the dog is there". So I knew I'm into some Shoes business for sure.

In next lecture I brought the game and slowly walked thru the stages, starting from the bundled example, explaining what we're doing and why. They even forced me to export relevant steps from Git repo so they can run different stages of the game on their machines and mess it up a little bit. Seeing the excitement, I began to be quite sure that this could benefit other teachers/students as well, and found a day to polish the codebase and write the article.

I think Shoes is very well suited to be the best platform for teaching programming basics. Partly thanks to it's playful nature, but more so because it brings direct, instant satisfaction. Combined with Ruby (which I see as best *language* for teaching programming) it's really a powerful combination.

Thanks everybody for the kind words!

Best,

Karel

Reply via email to