Skip to Content

How to introduce Scratch in 1.5 hours?

« Teaching with Scratch
16 replies [Last post]
Emre Sevinç
Member

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ç

 

Replies
Joek van Montfort
Member

 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.

 

Emre Sevinç
Member

Joek,

 

Great! I didn't know about BYOB. I'll give it a try soon. Thank you very much for letting me know.

Stefano Federici
Member

> 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.
 

Emre Sevinç
Member

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.

Stefano Federici
Member

> 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.

Emre Sevinç
Member

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?

Stefano Federici
Member

What to avoid:

  • pen: you don't get really interesting stuff
  • if/else: Scratch already includes if/else in form of "when" blocks
  • most of the sensors
  • operators
  • variables: almosto everything can be done in scratch without using variables

Instead, I would insist on:

  • movement (especially sliding)
  • sound
  • costumes/saying (if allowed by time constraints)

My 1.5 hours plan would be the following (see sample project):

  1. showing interesting projects (only run)
  2. Scratch GUI: cat sprite, blocks, movement on stage by sliding left and right, making noises with sound blocks when each of the sliding actions ends
  3. checking the sequence of highlighted blocks by setting slow single stepping; stopping single stepping right after
  4. creating different movements when left/right keys are pressed
  5. adding a new sprite (drum)
  6. making the drum play when it is clicked
  7. making the cat jump 2/3 times (by sliding) when the drum is clicked by connecting drum and cat by messages

So you are introducing:

  • what can be reached (by showing the interesting projects)
  • basic blocks (movement and sound)
  • snapping blocks together
  • the concept of sequence (with single stepping)
  • I/O interaction (left/right keys, mouse click)
  • interaction of multiple sprites (cat and drum)
  • events (scripts triggered by left/right and mouse click)
  • parallelism (different scripts running together)

 

I think it is a lot in just one hour. Then, if you still have time, you can add costumes/backgrounds, saying, etc.

susan evans
Member

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.

Emre Sevinç
Member

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

Eileen Nolan
Member

 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

 

Emre Sevinç
Member

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:

Emre Sevinç
Member

 

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.

Joek van Montfort
Member

 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:

  • everybody gets the same basic knowledge
  • Scratch interface is understood by all

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

Karen Brennan
Member

 The Scratch workshop guide might be of some help. (There are sample agendas towards the end of the guide...)

orad weisberg
Member

 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

 

Eileen Nolan
Member

 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