Dear Scratchers,
A group of software developers including me came together in Belgium and decided to organize small daily workshops to introduce programming to children. I, being a Scratch fanatic, was given the task of creating a very short, introductory lesson that is going to last about 1.5 hours, and use Scratch.
I started to work on it but I also would like to hear from the experienced educators. The groups will probably consist of 9-10 children, ages between 10-13, and almost no exposure to programming beforehand. And we'll have 1.5 hours to introduce Scratch. (During the same day, they will visit other sessions / tracks such as robotics programming (with Dwengo robot), Lego Mindstorms, etc.)
All tips (including pitfalls, things to avoid, etc) are welcome.
Cheers,
--
Emre Sevinç
On the other hand, the lack of creating new functions, or should say 'blocks', in Scratch, is a big obstacle in this respect. If we had such a feature in Scratch, then it would be easy to gently introduce even many more advanced concepts to children.
Build Your Own Blocks (BYOB) is just for that. And you only have to wait: it's integrated into Scratch 2.0
I'm very happy, however, with the concept of variables being part of plain Scratch.
Joek,
Great! I didn't know about BYOB. I'll give it a try soon. Thank you very much for letting me know.
> the lack of creating new functions, or should say 'blocks', in Scratch, is a big obstacle
That is why, as also suggested by Joek, I usually use BYOB to teach programming. And new blocks allow me to introduce variables in a more natural form: parameters. Even when students do not grasp the meaning of variables, they immediately understand what is a parameter. And having parameters you don't need to explicitely define what usually is a fair number of "useless" variables.
Dear Stefano
> Variables are not a fundamental concept of computation. Functional programming doesn't use them.
> Variables are there as they are the evolution of the "memory cell" concept, used at the beginning of
> programming. With variables you "take note" of your environment.
I wholeheartedly agree with you that they are not fundemantal from many perspectives. Having had my share of Common Lisp & Scheme, and nowadays dabbling in Scala, I also wish functional programming was more widespread. On the other hand, the lack of creating new functions, or should say 'blocks', in Scratch, is a big obstacle in this respect. If we had such a feature in Scratch, then it would be easy to gently introduce even many more advanced concepts to children.
> How about a quiz program that tracks the score of the participant? I found it a very motivating example of introducing variables. Besides, why not introduce such a fundamental concept?
Variables are not a fundamental concept of computation. Functional programming doesn't use them. Variables are there as they are the evolution of the "memory cell" concept, used at the beginning of programming. With variables you "take note" of your environment.
In Scratch very often you don't nedd them, as you have sensors and reporters (position x, position y, etc). They give you the possibility to look at your environment, without having to take note by means of a further instrument.
Even a score can be managed in Scratch with a "progress bar" or by numerical costumes of several sprites. But variables are a very good example and when and way to use a variable. Indeed, a score is really something of which you take note. Every concept of programming should be only introduced when it is convenient and clear with respect to a different solution. And the score, as I said, is a very good example of introducing the concept of variable.
Stefano and Susan,
Thank you very much for further comments. I'll take them into account, too.
Stefano: Your comment is interesting: "variables: almost everything can be done in scratch without using variables" How about a quiz program that tracks the score of the participant? I found it a very motivating example of introducing variables. Besides, why not introduce such a fundamental concept?
What to avoid:
Instead, I would insist on:
My 1.5 hours plan would be the following (see sample project):
So you are introducing:
I think it is a lot in just one hour. Then, if you still have time, you can add costumes/backgrounds, saying, etc.
I would most certainly recommend having the students do the "about me" project. It is a great way for students to get exposure and also share information about themselves with each other (especially if you make time for students to walk around and check out each other's projects). It is also really easy to customize based on varrying levels; for advanced students its always fun to challenge them to build-in mini-games or easter eggs into their "about me" projects.
I have some handouts I have used for this, if you are interested let me know and I can share.
Eileen,
World Scratch Day definitely seems to be very interesting and I'm also surprised that no organization from Belgium has participated so far. Personally I'd like to introduce Scratch to children whenever I have time (that is almost always on weekends, since I work full-time during the week).
Feel free to contact me via my e-mail address: emre . sevinc @ gmail . com
Dear Emre,
Very interesting links, thanks for sharing!
I'm wondering about participating in the World Scratch Day in May. It doesn't look like anyone in Belgium has signed up. Does that interest you? If so, maybe I can get permission from my school to use the computer lab.
Cheers,
Eileen
Dear Eileen,
Currently there is no fixed date for the events. We first plan to do a few dry-runs with the children of the people involved with this project. If we can manage to do that and the results turn out to be positive, we plan to repeat it on a bigger scale, in other words repeat it in different parts of the Belgium, and probably also during the annual Devoxx event at Antwerp.
For more information please see the following:
Joek, Karen and Orad,
Thank you very much for pointers to the relevant material and sharing your experience. I'll examine and utilize them for our events.
Dear Emre,
I've good experience with the standard Scarcth cards. After at most five minutes of explaining the interface, I'll get them programming. The first quarter of an hour I'm busy with distributing the cards, after that the children take care of that themselves so I can concentrate on questions raised. I prefer the kids to work in groups of two: pair programming as promoted at Berkeley.
Main benefits of using the cards are:
To keep the faster kids busy I've got more elaborate lessons at hand. Feel free to use Dutch material published at scratchweb.nl.
Best regards,
Joek
The Scratch workshop guide might be of some help. (There are sample agendas towards the end of the guide...)
Hello Emre
We had a couple of introductory workshops this year and almost every time we had the same routine:
First we show the software interface, the stage area, sprite and script area and the blocks. We show the children how to put together two blocks (we usually start with the "move" block and ask them what will happened if we will change the number from 10 to 100).
We show them 2 simple projects, one game one story / animation, and give them an open task. "Create a project with at least one sprite moving side to side and in the middle something surprising happens". We try to stay as un-constructed as possible. Usually, most kids start working on the task and quickly drift away, each child to his own style, and this method works great for us.
The biggest pitfall is when you show the example projects, most chances are that some kids will try to create a project same as what you showed, so try to keep them simple as possible and without any advanced features like broadcast, variables and so on…
If you need anything else, feel free to ask.
Good luck
Orad
Dear Emre,
I'm new to Scratch but have many years of teaching experience. Maybe I could help you plan? I'm also interested in the event itself; where/when will it take place, & is it open to any students?
Cheers,
Eileen