Jump to content

Graphical programming for children


vugie

Recommended Posts

For all of you who have children of (or close to) elementary school age and want to infect them with passion for programming I would like to recommend Scratch.

I wanted to let my dauchter (6) understand what programming is, how to write simple programs and maybe how the alghoritmic thinking looks like. I personally brought up on Logo, so I searched in direction of "turtle graphics" languages. On the other hand my daughter starts to read, so I wanted rather graphical programming, not to force her to understand whole the semantics of particular language. Scratch seems to be a perfect hit. Its environment looks like this:

06-scratch-mit-470-1207-46208393.jpg

The cat is a "sprite" which is able to draw while it is moving, receive interaction or even speak in comic-like style (it is more ore less what the turtle in Logo is). There is a container with primitives, which may be dragged to script space, browser for sprites (there may be a lot of them, each with different apperance), everything is nice and clean.

Sample script looks like this:

Scratch_Screenshot%2C_Running_Script.png

So you see that there are growable structures, variables, nestable expressions, etc. Each sprite and scene may has many such scripts independently launched with respective events.

Although scratch has really a lot of features (as a language) it is simple enough to be understood by 6 year old child. After short explanation and with little help my daughter was able to write a script for drawing polygons and it was a real fun for her. Both interface and block names are internationalized, so language is not a problem.

There are two cons. Less important: I would gladly see small icons next to block names. More important: you cannot build reusable functions. But there is a modification called BYOB (Build Your Own Blocks) which and this and many others features for the language. However it is only in English.

Did I mention that Scratch is free?

What do you think about it, and generally about programming environments for children?

Link to comment

Although it may take decades I see graphical programming as the future of virtually all programming. It is simply much easier, more powerful and more intuitive to present information and direct information and data visually. If that were not the case we would all still be typing print:doc

As far as teaching graphical programming to children goes: the younger the better. Bring on the future. cool.gif

Link to comment

My first exposure to programming (if you could call it that) was RPG Maker. It was great as a kid to be able to make a video game, using a video game, then play that video game I made (or share it with other friends). I think this is key to getting a child's interest in programming, finding a tool that enables them to create, and use their imagination. There's a feeling of satisfaction when you create something, and programming is a good example of that.

I agree that the younger the better, but at some point it can be too early. We don't want to affect a child's social skills by having them in front of a computer every spare moment.

Link to comment
  • 3 weeks later...

What do you think about it, and generally about programming environments for children?

I heard about Scratch while listening to a podcast this morning and decided to take a few minutes to try it out.

My 13 yo daughter has expressed interest in game programming but has a bit of a short attention span. I think I'll introduce her to Scratch. She's probably on the older side of the target audience, but it will get her thinking, as you say, algorithmatically.

One thing I really like about it is the parallel nature of the script processing engine. Running scripts in parallel forces them (to some extent) to break down the problem into components instead of building monolithic single threaded programs.

In the 1/2 hour I played with it it seemed very stable and easier to use than, say, the Mindstorms dev environment.

Link to comment

In the 1/2 hour I played with it it seemed very stable and easier to use than, say, the Mindstorms dev environment.

Mindstorms environment is terrible for me. It is overloaded with eye-candyness and totally not clean. Not even talking about speed and stability. I find it suitable only for veeeery basic projects or motor/sensor tests.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.