Scratch (lenguaje de programación)

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Scratch

Scratchcat.svg

Scratchlogo.svg
Paradigma Programación dirigida por eventos, Imperativo
Desarrolladores MIT Media Lab Lifelong Kindergarten Group
Diseñado por Mitchel Resnick
Fecha último lanzamiento 2014
Influenciado por Logo, Smalltalk, HyperCard, StarLogo, AgentSheets, Etoys
Ha influenciado Scratch Jr, Snap!
Lenguaje de programación Squeak, ActionScript (Scratch 2.0)
Sistema Operativo Windows, OS X, Linux
Licencia GPLv2 and Scratch Source Code License
Sitio web scratch.mit.edu
Última versión Scratch 2.444
Extensión .scratch (Scratch 0.x)
.sb, .sprite (Scratch 1.x)
.sb2, .sprite2 (Scratch 2.0+)
[editar datos en Wikidata]

Scratch es un lenguaje de programación visual [1] libre orientado a la enseñanza principalmente mediante la creación de juegos. Para las escuelas se convierte en una oportunidad para ayudar a los estudiantes en el desarrollo de habilidades mentales mediante el aprendizaje de la programación sin necesidad de saber del programa. Sus características ligadas al pensamiento computacional han hecho que sea muy difundido actualmente en la educación de niños y adultos.

Scratch es usado por estudiantes, escolares, profesores y padres para crear animaciones de forma sencilla y servir de trampolín hacia el más avanzado mundo de la programación. También puede usarse para un gran número de propósitos educativos construccionistas y de entretenimiento, como proyecto de ciencias o matemáticas, incluyendo simulación y visualización de experimentos, conferencias grabadas con presentaciones animadas, historias animadas de las ciencias sociales, arte interactivo, música.[2] Ver los diferentes proyectos existentes en la web de Scratch, modificarlos y probarlos sin llegar a guardar los cambios no requiere ningún tipo de registro.

Scratch permite a los usuarios usar programación dirigida por eventos con múltiple objetos activos llamados sprites. Los sprites pueden pintarse como gráficos vectoriales o mapa de bits, desde la propia web de Scratch usando un simple editor que es parte del proyecto, o pueden también importarse desde fuentes externas incluyendo webcams.

Desde 2013, Scratch 2 está disponible on line y como aplicación de escritorio para Windows, OS X y Linux (requiere Adobe Air).[3] [4] El código fuente de Scratch 1.X se liberó bajo licencias GPLv2 y "Scratch Source Code Licencse".[5]

Origen del lenguaje[editar]

En el ámbito de la Ingeniería Informática, "Scratching" quiere decir reutilizar código, el cual puede ser usado de forma beneficiosa y efectiva para otros propósitos y fácilmente combinado, compartido y adaptado a nuevos escenarios, lo cual es una característica clave de Scratch. De esta forma, cualquier usuarios puede descargarse y trabajar sobre proyectos públicos subidos y desarrollados por otros usuarios. También se reconoce a los participantes que construyeron y crearon el programa original.[6] El nombre es un derivado de la técnica de turntablism "scratching",[6] [7] es decir, mezclar sonidos, relacionando de este modo la facilidad de mezclar sonidos con la facilidad de mezclar proyectos creados con Scratch.

Scratch supuso un avance en la comprensión de la efectividad y el diseño innovador de las TIC para mejorar el aprendizaje en los centros escolares y otras modalidades de educación informal, y amplió las oportunidades de los jóvenes en general que gracias a Scratch pudieron entrar en el mundo del diseño y desarrollo de aplicaciones gracias a las nuevas tecnologías. Scratch fue desarrollado de forma iterativa basándose en la interacción permanente con los jóvenes y el personal en "Computer Clubhouses" [1]. El uso de Scratch en estos clubes sirvió de modelo para otros centros post-educacionales demostrando cómo los entornos de aprendizaje informal pueden apoyar el desarrollo de la tecnología, permitiendo a los jóvenes diseñar y programar proyectos que son importantes para ellos y sus comunidades.[8]

La primera versión de Scratch, disponible solo en versión de escritorio, fue desarrollada y publicada en 2003 conjuntamente por el MIT Media Lab, dirigido por Mitchel Resnick, y la compañía Playful Invention Company [2], con sede en Montreal y cofundada por él junto a Brian Silverman y Paula Bonta. El propósito fue ayudar a la gente joven, principalmente con edades a partir de los 8 años, a aprender a programar.[9]

Página principal de Scratch

Scratch 2 se publicó en mayo de 2013.[1] A partir de esta versión, se permite definir "bloques personalizados" dentros de los proyectos.[10] En 2015, la página principal de Scratch fue actualizada con un nuevo tema. Desde el 17 de enero de 2016 se actualizó la página principal con este tema, pero el resto de la web continuó usando el tema anterior.

Uso educativo[editar]

Scratch se hizo popular en Reino Unido a través de los Code Clubs. Estos empezaron a usar Scratch como lenguaje introductorio por su relativa facilidad para desarrollar programas interesantes, y porque las habilidades adquiridas mediante Scratch se pueden aplicar a otros lenguajes básicos de programación como Python y Java.

Scratch no sirve solo para la creación de programas. Puesto que proporciona un montón de componentes visuales, los programadores pueden crear historias animadas como por ejemplo “The Pizza Dude” [3], “Haiku” [4], o “Gemclan”. Los estudiantes que se quieren especializar en matemáticas pueden usar "Lemonade Stand", "Dino Odd and Even" [5], "Data Workshop", o "The Ellipserator" [6] el cual se orienta principalmente a la geometría. La flexibilidad que ofrece Scratch permite a los docentes crear lecciones conceptuales muy visuales, ya que es una poderosa herramienta para crear animaciones que ayudan a visualizar conceptos difíciles como podrían ser la mitosis celular, el ciclo del agua, el Termómetro de Galileo o un experimento sobre la Ley de elasticidad de Hook. En el ámbito de las ciencias sociales, los docentes pueden crear quizz's, juegos y tutoriales que estimulen la mente e interactúen con el estudiante.[11]

El uso de Scratch permite a la gente joven entender la lógica básica de la programación, y colaborar y construir proyectos creativamente.[12] Scratch también permite a los estudiantes desarrollar proyectos con carácter educativo y a la vez con interés personal para ellos, lo que les proporciona una herramienta práctica para auto expresarse después de aprender a usarlo.[6]

Interfaz de usuario[editar]

Entorno de desarrollo de Scratch 2.0 y sus diferentes áreas al inicio.

De izquierda a derecha, en la zona superior izquierda de la pantalla hay un escenario, que muestra los resultados del proyecto actual (animaciones, gráficos tortuga, etc., en tamaño reducido o normal, estando también disponible un modo a pantalla completa) y todas la miniaturas de los sprites (llamados "objetos" en la versión en castellano de Scratch) listadas en la zona inferior. El escenario usa x e y coordenadas, siendo el punto (0,0) el centro del mismo.[1]

Existen muchas formas de crear objetos y fondo personalizados. Por un lado, los usuarios pueden dibujar sus propio objetos manualmente con el propio editor de Scratch.[1] Es posible también elegir un objeto desde la biblioteca de objetos de ejemplo que contiene Scratch, de creaciones pasadas del usuarios, desde una imagen, vía webcam o desde un clip art.[13]

Una vez seleccionado un objeto en la parte inferior izquierda de la pantalla, se le pueden aplicar bloques de instrucciones simplemente arrastrándolos desde la paleta de bloques hacia el área derecha de la pantalla, que contiene todos los pasos asociados con el objeto seleccionado. Bajo la pestaña "Programas" se listan todos los bloques de instrucciones disponibles en las siguientes categorías: Movimiento, Apariencia, Sonido, Lápiz, Datos, Eventos, Control, Sensores, Operadores y Más Bloques, como se ve en la tabla a continuación. Cada instrucción se pueden probar individualmente simplemente haciendo doble click sobre ella.

Category Notes    Category Notes
  Movimiento Mueve objetos y cambia ángulos      Eventos Contiene manejadores de eventos situado al principio de cada grupo de instrucciones
  Apariencia Controla el aspecto visual del objeto, añade bocadillos de habla o pensamiento, cambia el fondo, ampliar o reducir   Control Sentencias condicionales "if-else", "forever", "repeat" y "stop"
  Sonido Reproduce ficheros de audio y secuencias programables   Sensores Los objetos pueden interactuar con el ambiente que ha creado el usuario
  Lápiz Control del ancho, color e intensidad del lápiz   Operadores Operadores matemáticos, generador aleatorio de números, sentencias "and" y "or" que comparan posiciones de los objetos
  Datos Creación de variables y listas   Más Bloques Control de bloques y dispositivos externos
Hola mundo en Scratch

Además de la pestaña "Programas", existen otras dos pestañas: "Disfraces" y "Sonidos". La "barra de ayuda" se encuentra en el lado derecho en forma de panel lateral expandible y ocultable.

Ventajas[editar]

  • Permite el desarrollo de los procesos de pensamientos y habilidades mentales en los educados.
  • Es un programa gratuito y de software libre.
  • Es perfecto para introducirse en la programación.
  • Está disponible para varios sistemas operativos. (Windows, Ubuntu, Sugar, Mac)
  • Permite compartir los proyectos a través del web, se pueden descargar y utilizar. Pudiendo ser descargados y utilizados por otras personas.
  • Es multilenguaje.


Referencias[editar]

  1. a b c d Marji, Majed (2014). Learn to Program with Scratch. San Francisco, California: No Starch Press. pp. xvii, 1-9, 13-15. ISBN 9781593275433. 
  2. «Research on Scratch». Scratch. Consultado el 3 de junio de 2015. 
  3. «Updated Scratch 2.0 Offline (Beta) is now available!». Scratch. 29 de agosto de 2013. Consultado el 25 de enero de 2014. 
  4. «Scratch 20 Preview». YouTube. MITScratchTeam. 1 de mayo de 2013. Consultado el 25 de enero de 2014. 
  5. «Scratch source-code download page». Scratch Documentation Site. Consultado el 25 de enero de 2014. 
  6. a b c Lamb, Annette; Johnson, Larry (April 2011). «Scratch: Computer Programming for 21st Century Learners». Teacher Librarian 38 (4): 64-68. Consultado el 18 July 2015. (requiere suscripción). 
  7. Schorow, Stephanie (14 de mayo de 2007). «Creating from Scratch». MIT News Office. Consultado el 25 de enero de 2014. 
  8. Resnick, Mitchel. «A Networked, Media-Rich Programming Environment to Enhance Informal Learning and Technological Fluency at Community Technology Centers». National Science Foundation. Consultado el 3 de junio de 2015. 
  9. Shapiro, Jordan. «Your Five Year Old Can Learn To Code With An IPad App». Forbes. 
  10. «Updated Scratch 2.0 Offline (Beta) is now available!». Scratch. 29 de agosto de 2013. Consultado el 25 de enero de 2014. 
  11. «Bookmarkable URL intermediate page». web.a.ebscohost.com. Consultado el 9 de mayo de 2015. 
  12. Martin, Neil (25 de junio de 2015). «What is Scratch? Is it AV or IT?». AV Magazine. Consultado el 18 de julio de 2015. 
  13. «Science Buddies: Scratch User Guide: Installing & Getting Started with Scratch». www.sciencebuddies.org. Consultado el 9 de mayo de 2015.