Scratch desde cero
Scratch es un lenguaje visual de programación centrado en fomentar la creatividad y el pensamiento lógico. Aunque cualquier edad es buena para aprenderlo, los niños/as son destinatarios ideales para Scratch. Enseñándoles a usar Scratch estamos ayudándoles a afrontar y resolver situaciones y problemas de todo tipo de una manera lógica y estructurada. Cuando empezamos a enseñar a un niño a programar en Scratch el objetivo principal debería ser que vaya cogiendo soltura y asimilando conceptos, ideas básicas y flujos de trabajo sobre programación y pensamiento computacional de manera divertida y atrayente, para que se genere un interés y base técnica que le anime a seguir.
Scratch es un lenguaje visual desarrollado por el MIT y que, basándose en bloques que se unen a modo de puzzle, supone un modo sencillo de aprender sobre programación. Pero esa sencillez de la interfaz o su colorido no debe ocultar que estamos ante un lenguaje también muy potente y que admite grandes proyectos que se pueden alcanzar de manera gradual. Scratch es un lenguaje que propicia desarrollar la creatividad y el pensamiento lógico de los niños/as de manera sencilla y divertida. El uso de Scratch propicia el desarrollo del pensamiento lógico a través de la búsqueda de diferentes soluciones a un problema. Programando, el niño/a es capaz de desarrollar su capacidad para ser más estructurado y organizado en la gestión de recursos y el uso de herramientas que le lleven a alcanzar la resolución de una tarea concreta.La edad recomendada para empezar a usar Scratch sería los 6-7 años, justo cuando ya empiezan a leer con soltura. Pero si no es así, existe la versión Junior en la que, con la misma base, el lenguaje es puramente visual.Cómo empezar con Scratch. Instalación y primeros pasos: Empezar a divertirse y aprender con Scratch es rápido, sencillo y gratuito. La nueva versión Scratch 3.0 deja atrás Flash y ello permite que ahora podamos usarlo en prácticamente cualquier dispositivo actual sin problemas. Funciona vía navegador web, por lo que tanto en ordenadores como en tablets e incluso smartphones podríamos programar o ejecutar programadas realizados con Scratch. Basta con ir a la dirección web de Scratch y empezar. Si preferimos usar una versión en local y que no requiera de conexión a Internet, existen las versiones de escritorio de Scratch 3.0 para sistemas operativos Windows, Linux y Mac.

Aunque para usar Scratch no es necesario realizar un registro, es recomendable crear una cuenta para el niño/a y que así pueda guardar los proyectos que vaya haciendo. O para continuar con alguno ya realizado o que no ha acabado. El registro está abierto y no hay requisitos de edad mínima, pero es necesario confirmar la cuenta con un correo electrónico del padre/tutor. Aunque no es imprescindible, una manera interesante de introducir al niño/a en el mundo de la programación es empezar jugando con kits y juegos de mesa que nos sirvan para introducir conceptos de programación como bucles, funciones o simples instrucciones. Hay opciones para comprar muy recomendables como el Robot Turtle de Think Fun (42 euros), el robot Code&Go (62 euros) o las cartas Let's Go Code! (25 euros). Una opción que apenas tiene coste y que podemos fabricar nosotros mismos son tarjetas para elaborar recetas de cocina con ingredientes y pasos en formato de cartas, o simples cuadrículas imprimibles para trasladar instrucciones en acciones en un tablero.
Primeros proyectos con Scratch
Una vez que ya disponemos de los recursos y equipos necesarios, llega el momento más importante y esperado de todos: empezar a programar con Scratch. A estas edades tan tempranas es vital que el aprendizaje sea significativo y además divertido. Si conseguimos que el niño/a vaya aprendiendo Scratch mientras se lo pasa bien, tenemos muchas posibilidades de conseguirlo. Juegos y pequeños proyectos donde los niños/as puedan tener voz en elementos secundarios son los más adecuados para empezar a programar en Scratch. La manera ideal de empezar a programar con Scratch es aprender basándonos en retos con juegos y pequeños proyectos donde los niños puedan dar rienda suelta a su creatividad. Los tutoriales del MIT sobre Scratch han sido siempre una herramienta completa para iniciar desde cero a los niños en la programación con Scratch. Podrían empezar con la guía de iniciación de Scratch creada por la propia MIT. Con la nueva versión 3.0 ese recurso se ha potenciado y ahora es más intuitivo, permite la práctica mientras se ve el vídeo o las imágenes animadas. Además, ahora incluyen una guía para el docente y las tarjetas de programación asociadas a ese proyecto en concreto. Una vez que los niños/as ya conocen la interfaz y algunas de las opciones, desde el MIT ofrecen proyectos simples asociados a diferentes áreas y objetivos. En estos proyectos los niños/as deben modificar el proyecto base libremente, modificando o añadiendo elementos según su criterio.

Cualquier proyecto publicado en Scratch puede ser usado como base para un aprendizaje. Basta “mirar dentro” para empezar a conocer el código con el que está construido y modificarlo o adaptarlo librementeOtro recurso reconocido y guiado con ayuda de vídeos es la Hora del Código. Mediante actividades cortas e incluso temáticas como la de Carton Network, el niño puede tener en primer contacto de corta duración sobre programación. Google, mediante su proyecto CSFirst, también tiene actividades guiadas con vídeos y lecciones.
Aunque sean proyectos o juegos guiados y con una estructura fija que deben seguir, es recomendable que los propios niños puedan tomar decisiones de personalización o pruebas de ensayo/error con elementos que no alteren el objetivo principal del ejercicio de programación pero que ayudan a que ellos sean más partícipes de su aprendizaje.

Otra recomendación para enseñar Scratch a los niños es que tengamos previstas funcionalidades nuevas o mejoras una vez acababa la base del proyecto. Con ello seguimos promoviendo su creatividad así como el aprendizaje a su ritmo y personal, y el afán de superación. En todos estos primeros proyectos podemos recurrir a las llamadas Cards o tarjetas de Scratch, las cuales se imprimen y entregan a los niños para que tengan una referencia visual de acciones o pequeños ejercicios paso a paso con los que construir proyectos más completos.

Vídeos en Youtube, libros y cursos online para aprender Scratch
Los vídeos y screencasts sobre el uso de Scratch son un recurso muy valioso tanto para comentar y seguir junto a los niños como para que ellos mismos avancen a su ritmo en su propio aprendizaje. Youtube es una fuente inmensa de recursos alrededor de la programación con Scratch. Uno de los canales más interesantes en español lo tienen en Programamos, una asociación sin ánimo de lucro cuyo objetivo fundamental es promover el desarrollo del pensamiento computacional desde edades tempranas, usando para ello tanto la programación de videojuegos como de aplicaciones para móviles.
¿Qué es un lenguaje de programación?
Un lenguaje de programación es un conjunto de símbolos y códigos usados para orientar la programación de estructuras en el desarrollo web. Conocer cómo funciona el lenguaje de programación y cómo se interrelaciona con nosotros a través de software nos permite mejorar nuestra productividad y conseguir ese algo que nos diferencie de la competencia. A lo largo de los años, los lenguajes de programación han aumentado su potencia y flexibilidad para, de esa forma, llevar a cabo las tareas complejas que la innovación y las nuevas tecnologías de información y comunicación (TIC) nos exigen.Todas las máquinas y dispositivos requieren un lenguaje de programación para cumplir sus funciones. Si conoces cuáles permiten que estos las realicen adecuadamente, entonces tendrás un plus que te permitirá alcanzar tus objetivos en menos tiempo.
¿Qué es un lenguaje de programación?
Es un lenguaje formal que, mediante una serie de instrucciones, le permite a un programador escribir un conjunto de órdenes, acciones consecutivas, datos y algoritmos para, de esa forma, crear programas que controlen el comportamiento físico y lógico de una máquina.
- Mediante este lenguaje se comunican el programador y la máquina, permitiendo especificar, de forma precisa, aspectos como:
- cuáles datos debe operar un software específico;
- cómo deben ser almacenados o transmitidos esos datos;
- las acciones que debe tomar el software dependiendo de las circunstancias variables.
Para explicarlo mejor (en otras y con menos palabras), el lenguaje de programación es un sistema estructurado de comunicación, el cual está conformado por conjuntos de símbolos, palabras claves, reglas semánticas y sintácticas que permiten el entendimiento entre un programador y una máquina. Es importante recalcar que existe el error común de usar como sinónimos el lenguaje de programación y el lenguaje informático, pero ¿por qué no debemos confundirlos? Pues, es debido a que el lenguaje de programación obedece a un conjunto de reglas que permiten expresar las instrucciones que serán interpretadas por el programador. Y el lenguaje informático comprende otros lenguajes que dan formato a un texto pero no son programación en sí mismos. Entonces, no todos los lenguajes informáticos son de programación, pero todos los lenguajes de programación son a la vez informáticos.
¿Qué tipos de lenguaje de programación existen?
1) Lenguaje de programación de bajo nivel
Son lenguajes totalmente orientados a la máquina:
Este lenguaje sirve de interfaz y crea un vínculo inseparable entre el hardware y el software. Además, ejerce un control directo sobre el equipo y su estructura física. Para aplicarlo adecuadamente es necesario que el programador conozca sólidamente el hardware. Éste se subdivide en dos tipos:
a)Lenguaje máquina
Es el más primitivo de los lenguajes y es una colección de dígitos binarios o bits (0 y 1) que la computadora lee e interpreta y son los únicos idiomas que las computadoras entienden.
Ejemplo: 10110000 01100001
No entendemos muy bien lo que dice ¿verdad? Por eso, el lenguaje ensamblador nos permite entender mejor a qué se refiere éste código.
b)Lenguaje ensamblador
El lenguaje ensamblador es el primer intento de sustitución del lenguaje de máquina por uno más cercano al utilizado por los humanos. Un programa escrito en éste lenguaje es almacenado como texto (tal como programas de alto nivel) y consiste en una serie de instrucciones que corresponden al flujo de órdenes ejecutables por un microprocesador. Sin embargo, dichas máquinas no comprenden el lenguaje emsamblador, por lo que se debe convertir a lenguaje máquina mediante un programa llamado Ensamblador. Este genera códigos compactos, rápidos y eficientes creados por el programador que tiene el control total de la máquina.
Ejemplo: MOV AL, 61h (asigna el valor hexadecimal 61 al registro “AL”)
2) Lenguaje de programación de alto nivel
Tienen como objetivo facilitar el trabajo del programador, ya que utilizan unas instrucciones más fáciles de entender. Además, el lenguaje de alto nivel permite escribir códigos mediante idiomas que conocemos (español, inglés, etc.) y luego, para ser ejecutados, se traduce al lenguaje de máquina mediante traductores o compiladores.
Traductor
Traducen programas escritos en un lenguaje de programación al lenguaje máquina de la computadora y a medida que va siendo traducida, se ejecuta.
Compilador
Permite traducir todo un programa de una sola vez, haciendo una ejecución más rápida y puede almacenarse para usarse luego sin volver a hacer la traducción.
¿Para qué sirven los lenguajes de programación?
En general un lenguaje de programación sirve para programar. Sin embargo cada uno tiene un alcance y forma de comunicación diferente.En resumidas cuentas, el lenguaje de bajo nivel permite la comunicación interna de la máquina, cada instrucción tiene su código único de operación.Y el lenguaje de alto nivel facilita la captación de instrucciones que el programador le da a la máquina, mientras que éste introduce datos en el idioma conocido la máquina lo va absorbiendo en lenguaje de máquinas mediante traductores o compiladores, permitiendo así:
- reducir el tiempo de programación;
- entender más fácilmente la tarea a realizar;
- permitir al programador desvincularse del funcionamiento interno de la máquina, entre otros.
¿Qué softwares de programación existen?
Por software de programación entendemos el conjunto de todas las herramientas que le permiten al programador, crear, escribir códigos, depurar, mantener y empaquetar los proyectos. Algunos de los distintos programas por los que pasará el proyecto para gestionarlo son:
Editores de código o texto
Al escribir los códigos se auto-completan marcando los errores sintácticos y la refactorización.
Compiladores
Como mencionados anteriormente, éstos traducen el código ingresado a lenguaje de máquina generando un código binario ejecutable.
Depuradores
Sirven para optimizar el tiempo de desarrollo mediante el monitoreo de la ejecución de un programa, el seguimiento a los valores de ciertas variables, las referencias a objetos en memoria y por ende, nos ayuda a corregir errores.
Enlazadores
Este programa toma objetos generados en los primeros pasos del proceso de compilación y los recursos necesarios de la biblioteca, quita aquellos procesos y datos que no necesita, y enlaza el código con dicha biblioteca para así aumentar su tamaño y extensión.
Interpretadores o traductores
Como leíste en éste artículo, el traductor (o intérprete) carga el código ingresado y traduce las instrucciones para que el programa pueda ser ejecutado.
IDE
El IDE (Integrated Development Environment) o Entorno de Desarrollo Integrado, es una aplicación informática que proporciona una serie de servicios que facilitan la programación de software, tales como:
- funciones de autocompletado;
- un editor de código fuente;
- gestión de conexiones a bases de datos;
- integración con sistemas de control de versiones;
- simuladores de dispositivos;
- un depurador para agilizar el proceso de desarrollo de software, entre otros.
En resumen
Sin el lenguaje de programación, programar sería imposible, debido a que no existirían reglas (tanto semánticas como sintácticas), expresiones (como la estructura y el significado de todos los elementos que los componen) ni una forma establecida sobre cómo deben “hablar” el programador y la máquina. Además, algunas de las funciones que le permiten a un programador crear este lenguaje son: crear una web y hacerla funcionar o desarrollar aplicaciones para los sistemas operativos, entre muchas otras. En la actualidad, el conocimiento y uso del mundo digital y de la informática son dos de las principales armas de cualquier empresa. Por esto y más, es sumamente importante que estés a la vanguardia y hambriento de conocimiento, así que si quieres aprender más sobre temas interesantes y útiles no dudes en seguirnos en nuestro perfil de LinkedIn.
¿Por qué es importante Scratch en la educación?
El constructivismo implica que el alumno experimente con lo que se encuentra a su alrededor lo cual le permita crear sus propias estrategias para aprender y resolver problemas. El aprendizaje desde el punto de vista del constructivismo es dinámico y activo,de modo que el conocimiento es construido por la persona que aprende. Uno de esos factores que contribuye a ello son las herramientas digitales como Scratch,ya que brinda la posibilidad de que por medio de una mezcla de sonidos, imágenes y animaciones, se puedan lograr productos interactivos y creativos. La herramienta gráfica libre de programación Scratch ha sido desarrollada por el Lifelong Kindergarten Group de los laboratorios Media-Lab en MIT, es un programa de libre distribución, disponible en 50 lenguas diferentes lenguas, este tipo de lenguaje se fundamenta en las ideas de aprendizaje constructivistas, debido a que es un entorno de programación visual que permite a los usuarios crear proyectos multimedia interactivos. Scratch es una lengua de programación con un “suelo bajo”, es decir, que se puede comenzar con actividades muy sencillas, no es necesario ser un programador, es un programa visual,activo, dinámico y constructivista en el cual no hay que escribir códigos, ni largas líneas de programación. La principal aportación de Scratch es que está destinado a usuarios de temprana edad, lo que lo hace directamente aplicable como herramienta didáctica destinada a enseñar programación en particular e informática en general, a alumnos de primaria y secundaria. Los proyectos de Scratch contienen “media” y “scripts”. Las imágenes y los sonidos pueden ser importados o creados en Scratch utilizando herramientas construidas. Los creadores de Scratch han introducido tres principios o características básicas en el diseño de este lenguaje de programación. Estos principios son: que la lengua de programación sea lúdica, significativa y social. El lenguaje de programación debe ser lúdico. La idea es que la lengua de programación facilite el juego y que se puedan probar, con facilidad, diferentes opciones. La experiencia al utilizar el lenguaje de programación debe ser significativa. sus creadores, han dado prioridad a dos criterios del diseño: diversidad (que pueda soportar diferentes tipos de proyectos: historias, juegos, animaciones, simulaciones) y personalización (que los proyectos se puedan personalizar importando fotos, voces, gráficos, etc.). El uso de la lengua de programación debe propiciar la interacción social.Para que Scratch tenga éxito necesita que una gran comunidad de personas comparta, apoye, critique, colabore y pueda construir sobre el trabajo de otros. ¿Por qué es importante Scratch para los estudiantes de educación primaria Scratch ofrecerá a los estudiantes de nivel primario la oportunidad de construir activamente sus conocimientos, planificar proyectos, plantear dudas y preguntas y trabajar en la resolución de problemas, todo ello les permitirá un aprendizaje activo y significativo. El trabajo con Scratch no se parece al trabajo del aula tradicional. Trabajar con Scratch implica actividad, comunicación e intercambio de ideas, planificación, enfrentarse a errores y plantear estrategias de solución de problemas.
¿Qué es un Proyecto de Emprendimiento?
Un proyecto de emprendimiento es conjunto de actividades dirigidas a comenzar un nuevo negocio, invirtiendo unos recursos determinados en un plazo y por un equipo de trabajo, o una persona en solitario. A la hora de emprender, la innovación juega un importante papel para ganar competitividad. Al carecer de visibilidad y notoriedad en el mercado, así como de contar con un mínimo volumen de clientes o usuarios finales, el emprendedor debe desarrollar capacidades como la creatividad para destacar y sobresalir entre los muchos proyectos de emprendimiento que florecen cada día, sobre todo, en periodos de crisis. Sin embargo, no debemos orientar únicamente nuestro objetivo a darnos una salida laborar cuando iniciamos un proyecto emprendedor. Al detectar una necesidad en el mercado y desarrollar su solución, es preciso centrarnos en satisfacer esa necesidad y no tanto en ganar mucho dinero rápidamente. Sí es cierto, que el emprendimiento es una salida laboral, pero empezar una empresa sólo porque no tengamos trabajo es un error que ha llevado a muchos emprendedores a la quiebra. Insistimos que debe existir una necesidad real y cuando más innovadora y creativa sea, mejor.
Preguntas que nos debemos hacer para empezar un proyecto de emprendimiento. Incluso, muchos profesionales dejan sus puestos de trabajo seguros en grandes empresas para iniciarse a crear su propio negocio. Se convierte así en un sueño a hacerse real. Y es que en estos casos, uno de los recursos que deberíamos valorar mucho es la ilusión puesta en el nuevo producto y servicio.Por eso, identificamos una serie de preguntas que te ayudarán a emprender un proyecto:
- ¿Qué significa emprender?
- ¿Cuándo es el momento para empezar?
- ¿Qué necesidad me gustaría satisfacer?
- ¿Dónde y cómo me informo para montar mi propia empresa?
- ¿Cómo crear un negocio global y sin fronteras?
- ¿Cómo financiar el proyecto?
- ¿Qué tipo de cultura de trabajo me gustaría que tuviera mi equipo?
- ¿Cuáles son las aptitudes y habilidades que necesito de cada persona que formará parte de mi sueño?
- ¿Cómo hacernos populares?
- ¿Qué estrategia seguiré para aumentar mi cartera de clientes?
- ¿Soy capaz de afrontar errores y fracasos?
- ¿Cómo medir cada resultado?
- ¿Qué limites me voy a establecer para llevar un control? Importante esta pregunta.
- ¿Cuándo cerrar o terminar con el proyecto? Destacar esta cuestión entre los límites de plazo y costes que te programes. En el argot del Project Management, estas decisiones serán hitos en tu planificación del proyecto de emprendimiento.
Una vez tengamos más o menos definidas estas preguntas clave, estaremos más cerca para saber cómo emprender un proyecto.
¿CÓMO EMPRENDER UN PROYECTO?
PROYECTOS DE EMPRENDIMIENTO
Para terminar, te presentamos unos cuantos proyectos de emprendedores innovadores, por si te ayudan a inspirarte.
- FlyPal: App para reclamar las incidencias aéreas
- CreatorStats: Mejora de la métrica de los ‘youtubers’.
- Besepa Technologies: tecnología que simplifica y humaniza la relación entre empresas y bancos.
- Cl3ver: visualización de contenido en 3D en cualquier dispositivo gracias a la nube.
- Emotion Research Lab: Se dedican al reconocimiento facial de emociones para conocer a los consumidores.
- Hooptap: Han diseñado una plataforma de gamificación para que los usuarios interactúen.
- WeSmartPark: plataforma que permite al conductor aparcar a mitad de precio en la ciudad, gracias al alquiler de plazas de garaje privado.
- https://www.xataka.com/especiales/ensenar-programacion-a-nino-scratch-cero-consejos-tutoriales-videos
- https://rockcontent.com/es/blog/que-es-un-lenguaje-de-programacion/
- http://scrastchenlaeducacionprimaria.blogspot.com/2015/02/importancia-de-scratch.html
- https://www.sinnaps.com/blog-gestion-proyectos/proyectos-de-emprendimiento

