Thursday, December 9, 2010

“Imagine, create and share”

...was Dr Bimlesh Wadhwa’s introductory message this afternoon as a score or so Junior College students peered across the lab.

Yup...we were Scratch-ing once again! This time, with collegians who were here for a workshop as part of the Science Focus programme. The workshop was meant to introduce concepts of programming and computation using the Scratch programming language by MIT.

In a similar workshop we had in May, we spread the learning concepts over four days. Our students today braved the same concepts in less than four hours. Mere minutes into the workshop we noticed interesting animations materialize using code blocks introduced just a while ago. We have to say we are impressed with their drive for experimentation, considering the little time they had to acquaint themselves with basic programming concepts.

We hope the students had as meaningful and fun a time at the workshop as we had conducting it!

Forever imagine, programme and share.

The collegians.

Working on the Scratch cards.

- Bimlesh & Juliana
Photos courtesy of Mr See Sin Hon.

Thursday, May 27, 2010

Scratch Day 5 @ SoC

Perhaps it would have been fitting today to do a round of survey and ask the same question as we did on Day 1: "What do you think is a computer program?" We reckon that the answers would be different this time, likely infused with more insight to the thought process of programming. Yet, maybe it is not so immediately apparent. How could we work with a bunch of Scratch blocks and equate that to computer programming? Is Scratching really programming?

Well, yes.

Almost all of the NYGH girls responded by the end of the first day that they have learnt to make animations. We see much of that skill at work today in their amazing project presentations. The storytelling, artwork, entertainment; they are the first things most people see and appreciate but beneath them all, the nuts, bolts and gears - if we may put it that way - that define behaviours on the surface are truly the result of the programmer's mind putting blocks together - yellow control blocks, green conditional blocks, red variable blocks, all those wait, broadcast, set and change instructions.

That is why the Projects, done individually or in groups are truly amazing, because whether knowingly or not, the NYGH folks have been programming. So NYGH folks - you deserve a great big pat on your backs! If anyone is pursuing the field of computing you will find that the concepts of these simple blocks do essentially translate to programming, an activity that is in turn wed to one's thought process.

Some of the projects from Scratch Days are up now at the Scratch Days @ SoC gallery.

We should also congratulate Wan Ting and team Anything comprising Kang Ning, Wan Qing and Yining whose Sprite and Poster respectively won the votes of their schoolmates.

Wan Ting's Sprite

Anything's Poster

We are still deciding on the Best Project, so check back sometime for it. Many of the projects incorporate lessons throughout the week, and many too have drawn inspiration from other projects and reused solutions from a combination of projects. This is good, we always learn not to reinvent the wheel, so the spirit of sharing is also a celebrated one in computing circles. Too altruistic? =) Well, there is not just free beer, but free speech, and in the same spirit of the latter, free (and open source) software.

Anyway, NYGH folks: We hope that you have had a fruitful and fascinating sabbatical (OK, pun intended) and keep Sratching! Or at least, keep the spirit of Scratch burning. Adieu for now.

To readers who have followed us through the week (or who happen to stumble by), and would like to stay current with SoC activities, the NUS SoC Outreach Facebook page has the latest happenings.

- Bimlesh & Juliana

Wednesday, May 26, 2010

Scratch Day 4 @ SoC

Project presentations are up tomorrow and so we see a lot of serious Scratching today. Inevitably, the more scripting, the more head scratching when things just don't seem to work. Welcome to the world of programming. Mistakes are a natural part of the learning and growing process. There is a term for the erroneous parts of scripts - we call them "bugs" and the act of correcting them is called "debugging". There is, by the way, an interesting story accompanying the etymology of software bugs. Curious? Check it out.

Here are a couple of notes for NYGH folks, the first is a debugging tip:
  • It helps sometimes to see exactly which block is running at a particular time. Go to Edit > Start Single Stepping and Scratch will highlight each block as the project runs. You may change the options for the highlights by going to Edit > Set Single Stepping.
  • Done with Projects and Remixes? Upload them! Once you are signed up at, upload and add the Projects and Remixes to the Scratch Days @ SoC 2010 gallery. Group Projects and Remixes should follow naming convention. If you have individual projects, whether it is an animated sprite or something more involved, they are very much welcome too!! The more projects/remixes/sprites the merrier, so share, share, share...

Serious stuff today.

Tomorrow we shall start with voting for Best Sprite and Best Poster, and after some final touches, will proceed with Project and Remix presentations. Til then!

- Bimlesh & Juliana

Tuesday, May 25, 2010

Scratch Day 3 @ SoC

It's Sprite and Scratch Day Poster presentation day! Since we are also counting down to Project and Remix presentations on Thursday, here are more Scratch tips to begin the day with:
  • To see what a block does, right click on it and select "help".
  • Look out for Scratch video tutorials online. There are a few at the Scratch website.
  • Want to make a movie? Learn how to change scenes, narrate a story, and more here.
  • Like a project you see at the Scratch website? Sign up for an account to download the project. Once you are logged in, the download link will be visible at the top right corner. You may also upload your work from the Scratch application. Go to Share > Share this project online.

The session today is just as bustling as yesterday's. We definitely see more use of blocks and scripts, and many create very interesting animations. Some are now very adept at using broadcasts and loops to manage sprite behaviours. One has gone ahead and implemented scoring in today's Scratch Card exercise. Team Orroz has completed their group project two days ahead of time! We take peeks at many other projects at work and really can't wait to see the final versions.

There are no photos on the projects today - let's just save the best for last shall we?

"How can I make my cat jump?"

Team Premium ITCHY Milk Tea and Team Tea Bags T-Rex

Effective Scratching needs a full stomach.

The Nanyang girls have also submitted their Sprites and Posters. Once we get our hands on them they will be up on the blog.

That's all for the day! Tomorrow we will work with pens and continue with sensors and variables. Friday is solely dedicated to group Project and Remix presentations. Juliana uploaded a project to the Scratch site - take a look for a peek at what's to come the next two days.

To NYGH folks: if you have uploaded projects to the site, let us know too!

- Bimlesh & Juliana

Monday, May 24, 2010

Scratch Day 2 @ SoC

We are a little too excited to put off the blog posting to this evening, so here we are, blogging live from the classroom. It is great to see the students get right on to the Scratch Cards, multitasking that as they listen to Dr Bimlesh's Scratch lessons for the day. We see a lot self-designed sprites today as they prepare to do individual submissions tomorrow. Some even pull images off the web to use as sprites, like her:

May not appear so, but she is really browsing for sprites.

What we really like is when students start to use blocks to add behaviour to the sprites and backgrounds. Now that is real Scratching! Spotted sprite animations are:
  • Movement of body parts (Rosanne's little chicken).
  • Fade-in, fade-out effects (a simple example of this can be found in the Scratch Jellyfish example, by the way).
  • Movement of real world objects like door opening.
  • Whole body movement (someone made her sprite walk, stop and wave "hi").
  • Zoom-in, zoom-out effects (Grace and Wan Ting's fruit project).

While we are on the subject - NYGH folks, if you're reading this! - here are some tips and notes that might be useful:
  • When you build your blocks and start to see a lot of repetitions (for example you might use the "wait x secs" and "change ghost effect by x" blocks repeatedly to achieve fade-in/out), consider putting the repeating blocks in a "repeat" or "forever" block instead. Repeating blocks are normally good indication that a loop should come in play.
  • If you click on a sprite on the Sprite List and it does not appear on the Stage, it could be that you have used the "hide" block in the script. Scratch does not reset the sprites, so you will have to show it by right clicking the sprite on the Sprite List and pick "Show", or drag the "show" block to the script and run that.
  • There are several ways to make sprite animations follow one after the other. The "Dear Mom" Scratch Card example today uses the "broadcast" block. Alternatively, we may also use the "wait x secs" block, but think of why the "broadcast" block might be better...
  • Sprites and scripts can be shared and reused! Just export your sprites and open them in another project. To export a sprite and its attached scripts, go to File > Export Sprite.

Back to the day's updates - here is a glimpse of today:

Everyone's busy a-Scratching.

Busy, busy.

Something is brewing here. This pic is deliberately taken at a distance so as not to reveal too much...

That's it for Day 2. The individual Sprites and group Scratch Day Posters are due tomorrow and we can't wait to see those!

- Bimlesh & Juliana