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.451
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] Se pueden ver los diferentes proyectos existentes en la web de Scratch, modificarlos e incluso probarlos sin llegar a guardar los cambios ya que 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. En julio de 2016 se añadió una nueva barra de búsq

La tercera versión del programa ya está confirmada[11] , pero aún no hay fecha de lanzamiento anunciada aún. Se cree que se podrá usar en dispositivos móviles.

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 o mini-videojuegos 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, puesto 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.[12]

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.[13] 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.[14]

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.

Categoría Notas    Categoría Notas
  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 Sentencian 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. Hay variables de la nube, pero aún no hay listas de nube. Se podrían implementar en la tercera versión de Scratch.   Más Bloques Control de bloques y dispositivos externos.
Hola mundo en Scratch

Además de la pestaña "Programas", hay dos pestañas adicionales: "Disfraces" y "Sonidos". Una barra expandible de la derecha es el área de Ayuda.

Al lado de la pestaña Procesos, está la pestaña Disfraces, donde el usuario puede cambiar la apariencia del sprite con el fin de crear diversos efectos, incluyendo la animación.[1] Y la última pestaña es la pestaña Sonidos, donde los usuarios insertan sonidos y música para un sprite.[14]

En comparación con las versiones anteriores de Scratch, en la versión 2.0 las áreas se han reorganizado, ya que previamente la paleta de bloques estaba en la zona izquierda, el área de sprites seleccionada y el área de scripts asociada con un sprite seleccionado se encontraban en el centro de la pantalla, y el área del escenario con sprites en miniaturas estaban enlistadas abajo, en la zona derecha de la pantalla.[15]

Comunidad de usuarios[editar]

Scratch se utiliza en muchos entornos diferentes: escuelas,[16] museos,[17] bibliotecas,[6] centros comunitarios y hogares. Sus usuarios son en su mayoría niños de edades comprendidas entre 9-16 años.[18] Scratch también se utiliza en algunas clases de introducción de la informática (incluyendo la clase de informática introductoria de Harvard).[19] [20]

Hay un denominado "Día de Scratch" anual declarado en mayo de cada año. Los miembros de la comunidad se les anima a realizar un evento, grande o pequeño, en o cerca de ese día, que celebra Scratch. Estos eventos se llevan a cabo en todo el mundo, y se puede encontrar una lista en el sitio web del Día de Scratch.[21]

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 e 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 d 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. «Scratch + Google - Scratch Forums». scratch.mit.edu (en inglés). Consultado el 6 de agosto de 2016. 
  12. «Bookmarkable URL intermediate page». web.a.ebscohost.com. Consultado el 9 de mayo de 2015. 
  13. Martin, Neil (25 de junio de 2015). «What is Scratch? Is it AV or IT?». AV Magazine. Consultado el 18 de julio de 2015. 
  14. a b «Science Buddies: Scratch User Guide: Installing & Getting Started with Scratch». www.sciencebuddies.org. Consultado el 9 de mayo de 2015. 
  15. Resnick, Mitchel; Maloney, John; Hernández, Andrés; Rusk, Natalie; Eastmond, Evelyn; Brennan, Karen; Millner, Amon; Rosenbaum, Eric; Silver, Jay; Silverman, Brian; Kafai, Yasmin (Noviembre de 2009). «Scratch: Programming for All». Communications of the ACM (en inglés) 52 (11): 60-67. doi:10.1145/1592761.1592779. Consultado el 25 de enero de 2014. 
  16. «Canadian schools starting to teach computer coding to kids» (en inglés). CTV.ca. 30 de abril de 2014. Consultado el 30 de abril de 2014. 
  17. «Scratch Day». Science Museum of Minnesota (en inglés). Archivado desde el original el 8 de abril de 2013. Consultado el 25 de enero de 2014. 
  18. «Scratch statistics». Scratch (en inglés). Consultado el 11 de abril de 2016. 
  19. «Scratch for budding computer scientists». ACM SIGCSE Bulletin 39 (1): 223-7. Marzo de 2007. doi:10.1145/1227310.1227388. ISBN 1-59593-361-1. 
  20. David, Malan. «Scratch for Budding Computer Scientists». Harvard School of Engineering and Applied Sciences (en inglés). Consultado el 25 de enero de 2014. 
  21. «May 14 2016 Scratch Day». Scratch Day (en inglés). Consultado el 11 de abril de 2016. 

Enlaces externos[editar]