Scratch (programming language)
Scratch is an educational programming language that allows people of any experience, background and age to experiment with the concepts of fully versatile computer programming by snapping together visual programming blocks to control images, music and sound.[1][2] It is developed by the Lifelong Kindergarten group at the MIT Media Lab[3] by a team led by Mitchel Resnick and first appeared in the summer of 2007.[4] Scratch can be installed and freely redistributed on any Windows, Mac OS X or Linux computer. The source code is made available under a license that allows modifications for non-commercial uses.[5]
The name Scratch is derived from the turntablist technique of scratching,[6] and refers to both the language and its implementation. The similarity to musical "scratching” is the easy reusability of pieces: in Scratch all the objects, graphics, sounds, and scripts can be easily imported to a new program and combined in new ways allowing beginners to get quick results and be motivated to try further.
Scratch is used worldwide in many different settings: schools, museums,[7] community centers, and homes. It is intended especially for 6- to 16-year-olds, but people of all ages have used Scratch. For example, younger children can create projects with their parents or older siblings, and college students use Scratch in some introductory computer science classes.[8][9]
In designing the language, the creators' main priority was to make the language and development environment intuitive and easily learned by children who had no previous programming experience. There is a strong contrast between the powerful multimedia functions and multi-threaded programming style and the rather limited scope of the Scratch programming language.
The user interface for the Scratch development environment divides the screen into several panes: on the left is the blocks palette, in the middle the current sprite info and scripts area, and on the right the stage and sprite list. The blocks palette has code fragments (called "blocks") that can be dragged onto the scripts area to make programs. To keep the palette from being too big, it is organized into 8 groups of blocks: movement, looks, sound, pen, control, sensing, operators, and variables. In versions 1.3.1 and lower, operators was named numbers.
Empirical studies were made of various features—those that interfered with intuitive learning were discarded, while those that encouraged beginners and made it easy for them to explore and learn were kept. Some of the results are surprising, making Scratch quite different from other teaching languages (such as BASIC, Logo, or Alice). For example, multi-threaded code with message passing is fundamental to Scratch, but it has no procedures or file Input/Output(I/O) and only supports one-dimensional arrays, known as Lists. Floating point scalars and strings are supported as of version 1.4, but with limited string manipulation capability.
[edit]Online community
The Scratch online community's slogan "Imagine, Program, Share" puts an emphasis on sharing and the social aspects of creativity as important parts of the philosophy behind Scratch.[10] Scratch projects are not seen as black boxes but as objects for remixing to make new projects. Projects can be uploaded directly from the development environment to the Scratch website and any member of the community can download their full source code to study or to remix into new projects.[11][12] Members can also comment, tag, favorite and "love" others' projects and share ideas. All projects on the website are shared under a Creative Commons attribution and share-alike license and can be played in any web browser (using aJava applet or Flash Player). The website receives close to 10 million page views per month[13] and as of late 2010 it had more than 800,000 registered members and over 1,800,000 projects (every minute more than one project gets uploaded).[14] The website frequently establishes "Scratch Design Studio" challenges to encourage creation and sharing by providing users with a basic design concept. There are custom home pages for Mexico and Israel that display local content in some sections of the home page. There are also local independent Scratch websites in countries such as Portugal[15] and the United Arab Emirates.[16]. In 2008, the Scratch online community platform (named "ScratchR") received an honorary mention in the Ars Electronica Prix.[17] There is also an online community for educators, called ScratchEd.[18] Users on Scratch can add other users as friends.
[edit]Derivatives
A number of Scratch derivatives called Scratch Modifications have been created using the source code of Scratch version 1.4. These programs are a variation of Scratch that normally include a few extra "blocks" or changes to the GUI. One of them, BYOB (Build Your Own Blocks, developed by Jens Mönig), which allows users to create their own blocks, has been used to teach computer science at Berkeley. The source-code of Scratch and its derivatives are based on Squeak, which is based on Smalltalk-80. Scratch is open-source and can be downloaded from their Info Website.
[edit]See also
The following youth computing projects also originated in the MIT Lifelong Kindergarten Group:
No hay comentarios:
Publicar un comentario