[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [seul-edu] Language to teach 10 year olds



On Sun, 15 Jul 2001, Alex Chekholko wrote:
> Also, has anyone mentioned Ruby?  It's supposed to be a really nice
> language, comparable to Python. http://slashdot.org/search.pl?query=ruby
> 

Well, I'd like to state things clear, Ruby is so *much* similar
to Python, and the differences doesn't add a great advantage for
any of them, than it's a waste of time to teach Ruby. IMO, 
Ruby is more a dialect of python than a real language. The difference
can be the same there's between LISP and Scheme, I'd say that
Ruby-Python are closer than LISP-Scheme, or even than LISP-emacs
lisp.

In the end, these discussions present so many alternatives that
teachers are very confused about what to do, and they choose at
random.

And I do agree, 10 years old want to do games and funny things,
in fact, games always include high technology and much more interestig
algorithms and tricks than any other area. 

Learning programming by doing a game is incredible interesting.
One suggestion:
- What about an arcade game in tcl/tk ?
All the class would be involved in the development of it, so it'd
be a team's work, everyone would be involved in it, and everyone
happy about it, and they'd understand the value of collaboration and
they'd be self rewarded for being useful part of the class. 
A game involves several tasks very different each other.

The game would have several screens/rooms, let's say a castle, 
there're several characters: the witch, the boy, the watermellon,
the girl, the wizard, the dog, the angel,...
There're several objects that give certain properties to each
character: the knife, the donkey, the lollipop, the handkerchief,
the bowl with food,...
Each character has some attributes:
- the wizard, magic and life
- the dog, life and sleep
....
So the idea is that the characters alter their state by 
taking objects and by interacting with the other characters 
in the different rooms. 

When you choose one character as a human player, the other 
ones are distributed randomly in the rooms of the castle. 

So, the work is to explore the neighbouring rooms , think about
the interaction and try to survive/get the most points.

The programming would include:
- Drawing of rooms: How to build the room, and how to place
things inside it, and how to redraw a room when we pass thru
a door.
- Design of movement and fights: When the character has 
moved into a wall and he has to change its direction. And how
can be programmed the encounter of one icon to another, for
taking an object or a fight.
- Design of icons:
- Design of rules of interaction: To check which state each
character is in and what will happen with the interaction.
- Design of castle: How to build the topology of the room.

As you see, it involves imagination, technicality,
script of rooms and behaviour,  team work,
children things and much more: different tasks for different 
people. 
So you can give the harder things to the most advantaged and
technical kids, the most sweet and light things to the most
artistical and less technical kids and so on.

Depending on the complexity of behaviour of all elements and
degree of "quality required" you can have a very simple 
thing or a very complex one. One thing is sure, kids will talk
all day about the game they're making and about the interactions
about it, they'll be reasoning and working in group all day,
and happily.

-- 
Regards/Saludos
Manolo
http://metagraf.seul.org
http://spain.50g.com