Friday, January 7, 2011

Programming Language “Scratch”

A friend of mine recently shared an interesting article about making household appliances easily programmable. The article talks about a project named “Scratchable devices” worked upon by computer science Professor Michael Littman and some of his students at Rutgers University. The idea is to make it easy for anyone to program their household devices using a graphical programming language Scratch. I dug deep into the language and some areas where it is being used.

What is Scratch?

Scratch is a graphical programming language where in you can control the flow and execution of the program just by connecting a set of blocks. It is a fun way of learning a programming language and is mostly used for training kids. It is developed by the Lifelong Kindergarten group at the MIT Media Lab by a team led by Professor Mitchel Resnick. The education perspective of the language proves that programming can be a vehicle for engaging powerful ideas through active learning.

A sample Scratch programWhere is it used?

  • BYOB (Build Your Own Block) – An advanced offshoot of Scratch has been developed by a team at Berkley. In the project “Scratchable devices”, anyone can write programs to instruct the device (just by drag-dropping the blocks). These programs are then converted into radio signals which can be read and processed by micro-controllers on the device.
  • Google's App Inventor for Android is inspired by Scratch. The blocks editor of App Inventor uses the Open Blocks Java library for creating visual blocks programming languages. Open Blocks is distributed by the MIT's Scheller Teacher Education Program. Open Blocks visual programming is an variant of Scratch.
  • Scratch language can be used as a fun environment to ease kids and newbies into programming.

A demo video on Scratchable devices

-- Varun

No comments:

Post a Comment

google-site-verification: googlea4d68ed16ed2eea6.html