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

Sunday, May 23, 2010

Scratch Day 1 @ SoC

We had a little surprise in the morning after the inaugural posting on Scratch Days @ SoC. Turns out that Prof Leong Hon Wai was heading for NYGH to conduct a Scratch workshop in conjunction with the upcoming code::XtremeApps::2010. In the Junior category of the competition, participants will develop their programs in Scratch. Prof Leong is at NYGH to train students as mentors to their juniors who are participating in code::XtremeApps. So, in the very same morning there were Scratch-related exchange visits between the same two institutions!

Anyway, as promised, the events of Day 1: We started the session with a little icebreaker and shared some of our thoughts and interests. As all 25 girls are of the millennial generation, we were not surprised that most expressed familiarity with blogs, Facebook and Twitter. Some have shared that they know little about computer programs beyond the knowledge that they make computers work.

Dr Bimlesh giving an overview of Scratch Days 1-5.

Dr Bimlesh soon started on the introduction to Scratch, leading the students to work on exercises in seven Scratch Cards. The NYGH folks very soon began to browse the Scratch site for more projects. Some tested out block controls beyond those in the Scratch Cards, and many created sprites of their own. Here are some discoveries peered over shoulders:

Shi Hui editing and animating a sprite.

Wan Ting gets SpongeBob to chase a swimming jellyfish. Look closely, SpongeBob is mousedrawn!

Yes, come to SoC we have. Feel the force do you?

Thus went Day 1. In the next four days, we look forward to students' personal and group work on Sprite, Project Remix, Scratch Day Poster and of course the group Scratch project! [Psst NYGH girls, if you are reading this: We also hope to learn more about each of you beyond the fact that you like milk tea, chocolates, Conan, ants (but that you really in fact, dislike), money, black colour and so forth =)]

To NYGH girls and their mentor Ms Ang Wee Ling, we look forward to seeing you again on Monday.

- Bimlesh & Juliana

Friday, May 21, 2010

Scratch Days @ SoC

Good morning!! We are eagerly expecting a group of students from Nanyang Girls' High School (NYGH) today. These bright folks are here to kick off the first day of their 2010 sabbatical module. What's a sabbatical module? Prof Gary Tan is happy to enlighten us all:

Every year in May, NYGH secondary 3/4 students embark on an intensive one-week sabbatical. The objective of the sabbatical is to enhance the students' knowledge in the IT field outside of school curriculum. Examples of sabbaticals include Animation, Gaming, Video Editing, etc.

Since 2009, some of NYGH students have been coming to SoC for their sabbaticals; last year, SoC offered Serious Games where some 25 students participated. This year, we will be offering Programming with Scratch (21-27 May). This sabbatical is timely as it coincides nicely with the Scratch Day organized by MIT.

So, yes! This year we are running one whole week of Scratch Days. Dr Bimlesh Wadhwa will train the NYGH students on programming concepts using Scratch as a tool. We'll update the blog as each day unfolds. MIT and a host of Scratchers worldwide are having theirs this Saturday; here is a teaser for that:

If by now you're scratching your head over what Scratch is, well, some things we should see for ourselves. Hop over to, or better, join us at Programming Lab 2, at SoC any day from 21, 24 - 27 May, 11am - 2pm.

That is it for now. We promise to share Scratch Day 1 @ SoC by the evening.

More information on NYGH sabbaticals here.

- Bimlesh & Juliana