Programación para niños: lista de recursos educativos abiertos

Niños programando

En un entorno caracterizado por su acelerado desarrollo tecnológico, la programación de software se ha convertido en el nuevo lenguaje universal: es una mezcla de arte y ciencia cuyo aprendizaje lleva a desarrollar habilidades con alta demanda en el entorno laboral. Sumérgete en el vasto océano de los ceros y unos con los mejores recursos para aprender programación o para comenzar a enseñarla en el salón de clases.

Recursos gratuitos para aprender a programar
Foto: © Microsoft

Saber programar te da superpoderes

Aprender programación no es solo para quienes consideren consagrarse profesionalmente a la industria de la tecnología, pues su aprendizaje permite desarrollar herramientas que complementarán y potenciarán el desempeño profesional en cualquier área, a través de competencias como:

  • Pensamiento crítico
  • Creatividad e innovación
  • Pensamiento lógico
  • Toma de decisiones
  • Colaboración
  • Razonamiento numérico
  • Habilidades cognitivas
  • Solución de problemas
  • Jerarquización y priorización
  • Aprendizaje autodirigido
  • Inglés técnico

Todas ellas son habilidades transferibles, objeto de creciente demanda en las empresas y de aplicación directa, independientemente del tipo de trabajo o profesión que se desempeñe.

Para países como Israel e Inglaterra, aprender programación hace años dejó de ser desde una cuestión de hacer o no hacer, para convertirse en una de cuándo y cómo. Con visión y audacia, estos países emprendieron ambiciosas estrategias nacionales encaminadas a incorporar la enseñanza temprana (en algunos casos desde los 4 años) de lenguajes de programación.

La nueva lingua franca

La programación es el nuevo lenguaje universal
"¿Ĉu vi parolas esperanton?" La programación de software podría convertirse en el nuevo idioma universal. Imagen: © Österreichische Nationalbibliothek.

En el siglo XIX, L.L. Zamenhof publica las bases del esperanto, un proyecto relativamente frustrado para impulsar la adopción de un idioma internacional, neutral y fácil de aprender. Al parecer, la visión idealista de Zamenhof desestimó la importancia de los factores histórico, social cultural y económico para propiciar la expansión en el uso de un idioma.

No es casualidad, entonces, que cada vez escuchemos con mayor insistencia que los lenguajes de programación de software podrían constituirse en una suerte de nuevo idioma universal. Si la tecnología define nuestra era, entonces la programación es el idioma de la tecnología.

Pensándolo un poco y considerando que nos encontramos en una era dominada por el intercambio de volúmenes masivos de datos, el argumento hace sentido. El autor británico Alex Hope afirma en el influyente reporte Nex Gen que la programación “es el nuevo latín” y es que, volviendo al esperanto, en contraste con las apenas 10,000 personas en el mundo que lo hablan de manera totalmente fluida, se estima que existen 10 millones de programadores… ¡tan solo de Java!

Si en las escuela ya utilizamos recursos para enseñar español, inglés y matemáticas por su importancia como herramientas eficientes y productivas en el entorno global, “necesitamos brindar a los niños un nivel apropiado de conocimiento acerca de las computadoras, al nivel de las matemáticas o la física, si deseamos que sean profesionistas competitivos”, añade Hope.

Desde esta perspectiva, la respuesta al dilema de aprender o no a programar resulta bastante obvia.

Mercado en expansión, talento en contracción

Por su dinamismo, la industria de las tecnologías de información se presenta hoy como un enorme imán de profesionistas especializados con un nivel de demanda cuyo crecimiento acelerado ha derivado en una grave escasez de talento, fenómeno conocido como talent crunch, en el que, como consecuencia directa de la ley de la oferta y la demanda, el desarrollo de software se sitúa entre las categorías mejor remuneradas, en términos comparativos con respecto a industrias de tipo tradicional.

En su edición anual más reciente, la prestigiada encuesta Harvey Nash / KPMG CIO Survey, aplicada a 4,498 tomadores de decisiones en la industria de las tecnologías de información de 86 países, más del 60% de los encuestados consideraron que "enfrentan desafíos" relacionados con la captación y retención de talento especializado, hecho que se manifiesta en una búsqueda cada vez más intensiva de candidatos, sin importar su ubicación geográfica.

Puesto en perspectiva, y añadiendo la creciente popularización de paradigmas laborales como el teletrabajo –o home office– y el freelancing, nos encontramos frente a una gran oportunidad para que los programadores mexicanos se coticen en el mercado laboral internacional.

Programar, ¿el nuevo cool?

Ashton Kutcher también es programador
El reconocido actor Ashton Kutcher es también un hábil programador. En la foto, interpretando a Steve Jobs, para la pantalla grande. Foto: © allthingsd

Gracias a series como Mr. Robot, cuyo personaje principal es un hacker retraído y antisocial, la industria del entretenimiento ha exagerado la imagen del programador, contribuyendo al establecimiento de estereotipos nocivos. Lo cierto es que, además de luminarias tecnológicas como Mark Zuckerberg o Elon Musk, en la vida real podemos encontrar programadores entre las celebridades de diversas industrias.

Entre los modernos role models con quienes realmente podrías conversar sobre algoritmos, funciones y estructuras de programación destacan el actor Ashton Kutcher, el conductor Jimmy Fallon, el músico y productor Will.i.am, la modelo Karlie Kloss, el piloto de carreras J.R. Hildebrand y el basquetbolista estrella de la NBA Chris Bosh, quien, por cierto, colabora activamente con la iniciativa no lucrativa Code (que reseñamos más adelante) y refiere: "Cuando era niño, en los 90, comencé a notar que el mundo giraba sobre un eje compuesto por patrones de ceros y unos. Seríamos unos tontos si decidiéramos ignorar el poder que implica dominar el diseño y codificación de estos patrones".

¿Actores multimillonarios?, ¿supermodelos?, ¿estrellas del deporte? Ahora ya lo sabes: aprender a programar software solo puede convertirte en una mejor persona.

¿Cómo enseñar programación?

Cómo enseñar a programar
Foto: © Microsoft

Al igual que las palabras en el idioma, la programación es como una alberca de piezas de Lego, en donde, siguiendo un conjunto de reglas básicas, podemos generar un número prácticamente infinito de funciones, estructuras y algoritmos.

Si bien es posible emprender de manera directa la enseñanza de un lenguaje de programación, se recomienda adoptar una estrategia inductiva, que brinde al alumno una base general con los conocimientos y conceptos principales en materia de ciencias de la computación.

Un ejemplo es el modelo aplicado en Inglaterra, que comprende los siguientes niveles:

  1. Ciencias de la computación: principios de diseño e impacto de la computación.
  2. Pensamiento computacional: diseño de algoritmos para solución de problemas.
  3. Programación computacional: escribir código para ejecutar tareas.

Los expertos aconsejan adoptar enfoques prácticos con los que el alumno se pueda relacionar. Por ejemplo, prácticas orientadas a la creación de pequeños videojuegos o aplicaciones para mostrar en el smartphone serán bien recibidas y abordadas con interés y motivación.

Para los más pequeños existen recursos como Scratch o Kodu, que permiten aprender manipulando elementos gráficos en entornos de programación visuales, interactivos y sumamente coloridos.

Cometer errores es parte connatural del proceso de aprendizaje de un lenguaje de programación. En una estrategia didáctica es preciso redimensionar el fracaso, otorgándole un valor positivo pues constituye el camino natural para perfeccionar la técnica.

Otra técnica de aprendizaje utilizada en el mundo del software es la denominada “programación por pares”, en donde dos personas –un maestro y un aprendiz– se abocan a resolver de manera conjunta una misma tarea porque, como reza el viejo adagio, dos cabezas piensan mejor que una.

Pero antes...

"Hola, mundo", primeros pasos para aprender a programar
“¡Hola, mundo!” El paso #1 para aprender un nuevo lenguaje de programación. Foto: © Enrique Gómez

Se denomina “¡Hola, mundo!” la primera rutina de programación que se elabora al iniciar el aprendizaje de un lenguaje. Es, básicamente, una estrategia estandarizada para caminar, antes que correr. Brinda confianza y sumerge de manera práctica en un nuevo cuerpo de conocimientos.

Con frecuencia, encontramos que la principal limitante para introducir a los alumnos a la creación de tecnología son las propias limitantes que enfrentan los maestros. Tristemente, muchas de las iniciativas públicas en pro de la innovación educativa asumen que los educadores cuentan con las competencias digitales necesarias para detonar en sus alumnos procesos de adopción de herramientas tecnológicas.

Si es tu caso, existen innumerables recursos que te permitirán aprender por la vía autodidacta. Su uso comprometido te llevará a través de los conceptos básicos para que, en poco tiempo, incorpores al menos los rudimentos –el abecé o el "¡Hola, mundo!"– de uno de los muchos lenguajes disponibles.

Recursos para comenzar a programar

Lenguajes de programación más fáciles
Aunque técnicamente no hablamos de un lenguaje de programación, sino estrictamente de marcación, HTML suele ser el punto de partida para adquirir rudimentos de programación de software.

En una encuesta reciente, aplicada a más de 1000 programadores alrededor del mundo, se preguntó cuál es considerado el lenguaje de programación más fácil de aprender.

  • Los resultados se inclinan de manera preponderante hacia HTML (acrónimo para Hypertext Markup Language), estándar de marcación con el que se maquetan las páginas web.
  • Muy cerca le siguen Javascript y CSS, compañeros inseparables del HTML en el coctel de herramientas involucradas en el diseño web.
  • En un distante tercer lugar, Python, un potente y elegante lenguaje orientado a objetos, recomendado para principiantes por la claridad de su sintaxis.
  • PHP y Java, ambos sumamente populares entre programadores novatos y experimentados en todo el mundo.

1. Apple Swift Playground

Bajo el tagline de "Programación para todos", el gigante tecnológico Apple promueve recursos para el desarrollo de aplicaciones con Swift, lenguaje propietario con el que se crean aplicaciones para las plataformas iPad y iPhone. Si tu escuela cuenta con dispositivos Apple, Swift Playgrounds y sus múltiples recursos educativos pueden constituir una buena opción para aprender a programar en un entorno con la elegancia y simplicidad características de la marca de la manzana.

Aprender a programar con Apple Swift Playground
Foto: © Apple

Partiendo del iPad como herramienta básica, Swift Playgrounds ofrece recursos para comenzar a programar desde cero, resolviendo rompecabezas y generando código para interactuar con una creciente oferta de dispositivos, entre los que encontrarás a robots educativos LEGO®, drones tipo quadcopter y hasta personajes de Star Wars.

Pensando en los maestros, Apple ofrece materiales y guías, con propuestas curriculares y rutas de aprendizaje especialmente diseñadas para la plataforma.

2. Microsoft Virtual Academy

Como parte de una estrategia para preservar su posición dominante en el mercado, Microsoft promueve la adopción de sus múltiples productos y lenguajes. Su academia, compuesta por rutas cuidadosamente diseñadas y estructuradas para el aprendizaje autodidacta a todos los niveles, te llevarán paso a paso a crear aplicaciones web, videojuegos y de nube, utilizando herramientas como Visual Studio, Azure, y Bots SDK, entre otros.

Aprender a programar con Microsoft Virtual Academy
Foto: © Microsoft

La plataforma instruccional de Microsoft Virtual Academy consta de experiencias diseñadas por expertos, disponibles a través de videos en línea y para descarga, además de herramientas interactivas, rutas personalizadas de aprendizaje, autoevaluaciones con o sin certificación, preguntas y respuestas, libros digitales y acceso exclusivo a eventos y webinars en directo.

3. CuantriX

Producto de la alianza entre Fundación Televisa y la Asociación Mexicana de la Industria de Tecnologías de Información (AMITI), CuantriX nace con el objetivo de que cada año un millón de niñas, niños y jóvenes mexicanos aprendan programación. La plataforma cuenta con recursos clasificados de acuerdo a su nivel de complejidad. Además, la iniciativa ha llegado en forma de talleres a 180 escuelas, impactando a un estimado de 400 maestros y 11,000 alumnos.

Aprender a programar con Cuantrix
Image: © Cuantrix

Entre las casi 100 aplicaciones disponibles, destacan "Aprende a programar con el Chavo", de factura 100% mexicana, y por ende totalmente en español. Además, podrás encontrar recursos en inglés como MIT App Inventor, Hopscotch y Platzi Front End que, a pesar del idioma, ofrecen al usuario un diseño de interacción intuitivo, con el que es posible familiarizarse en poco tiempo. CuantriX cuenta también con un recurso especialmente diseñado para maestros, en el que encontrarás capacitaciones y manuales en línea, con estrategias para enseñar pensamiento computacional y programación en el aula.

4. @prende 2.0

Es la propuesta de la Secretaría de Educación Pública, en alianza con algunos de los principales actores de la industria de las tecnologías de información en México, orientada a fomentar el desarrollo de habilidades digitales a través del aprendizaje de ciencias computacionales. Su plataforma web cuenta con al menos 30 recursos relacionados con el aprendizaje de conceptos y técnicas de programación, clasificados de acuerdo a su alineación curricular.

Aprender a programar con @prende 2.0
Image: © @prende 2.0

Además de los recursos digitales enfocados en el aprendizaje de programación, @prende 2.0 consta de los componentes "Desarrollo profesional en TIC", "Iniciativas estratégicas", "Equipamiento", "Monitoreo y evaluación" y "Canales", que complementan el modelo de esta estrategia de formación tecnológica encabezada por la máxima autoridad educativa a nivel nacional.

5. Code Studio

De entre las muchas organizaciones no lucrativas dedicadas a promover el aprendizaje de ciencias de la computación, Code es una de las más sólidas y exitosas. Desde la premisa de que la programación debe ser parte del currículo educativo, su plataforma web ofrece un creciente conjunto de recursos en español, centrados en el desarrollo de juegos e historias interactivas, organizados por nivel de complejidad y rango de edad, desde 4 hasta 18 años.

Aprender a programar con Code Studio
Image: © Code Studio

Code Studio, la plataforma educativa de Code, incluye una serie de recursos creados especialmente para los maestros:

  • App Lab, donde el usuario construye pequeñas apps para dispositivos móviles
  • Game Lab, para diseñar animaciones y juegos simples
  • Web Lab, para poner en práctica técnicas de maquetación con HTML y CSS

Además, Code es un promotor activo de La hora del código, actividad global seguida por millones de estudiantes y maestros en más de 180 países, entre ellos México, con casi 300 eventos registrados.

Videolecciones a la carta

Videos para aprender a programar
Foto: Fancycrave vía Pexels

No es un secreto que el video se cuenta entre las herramientas más poderosas para facilitar el aprendizaje en línea y también entre las más socorridas por estudiantes mileniales y generación Z. Por ello nos hemos dado a la tarea de seleccionar para ti los mejores y más populares canales de videos instruccionales con contenido en español.

1. Codigofacilito

Con seis años de existencia, cerca de medio millón de suscriptores y más de un millón de views al mes, este es uno de los recursos favoritos para aprender programación en el ámbito del habla hispana. Python, HTML, Java, C# y PHP y Android son solo algunos de los muchos lenguajes y entornos de programación que abarca su contenido.

2. Jesús Conde

El español Jesús Conde se autodefine como un apasionado de compartir el conocimiento, lo cual es de agradecerse, pues a lo largo de casi siete años ha producido y publicado un vasto acervo de videos instruccionales para innumerables tecnologías, lenguajes y plataformas. Constituye un recurso sumamente popular para el aprendizaje autodidacta enfocado a la tecnología.

3. Empieza a programar

Como su nombre lo indica, este canal te lleva de la mano a desarrollar proyectos de complejidad variable, que te permitirán entender, desde un enfoque práctico, la aplicación de cada uno de los elementos aprendidos. "Empieza a programar" cuenta con más de 70 mil seguidores.

A partir de su popularidad, algunos de estos canales han derivado en empresas de formación en las que se imparten cursos basados en el mismo material, pero de manera estructurada y con acceso a contenido premium y servicios de valor agregado como acceso a expertos, evaluaciones, certificados, etc.

Una hora al día

La Hora del código es tal vez el más prominente de los movimientos globales dirigidos a promover el aprendizaje y práctica de la programación de software. Al día de hoy, el evento se ha llevado a cabo en más de 180 países, con actividades diseñadas para llevarse de manera autodidacta y sin límite de edad.

La premisa detrás de la Hora del código es simple: una vez que el aprendiz se de cuenta de que es posible programar, surgirá la motivación para continuar con su aprendizaje.

Además de los contenidos, la organización ofrece de manera completamente gratuita materiales como plantillas, formats y recursos traducidos a 45 idiomas para que cualquier persona organice su propio evento.

Un dato curioso: Barack Obama escribió su primera línea de código en el marco de las actividades de arranque de la edición 2014. No sabemos, sin embargo, si continuó en la ruta del aprendizaje.

Programación para todas las personas

Impulsar a las mujeres para que programen
Impulsar la incorporación de más mujeres en las industrias vinculadas a la creación de tecnología es una asignatura pendiente no solo en México, sino también en países más desarrollados. Foto: © Microsoft.

En una era en que la población de las universidades del mundo se inclina marcadamente hacia el género femenino, resulta difícil creer que la ocupación laboral en las industrias relacionadas con la tecnología de información registre una proporción de 80/20, con aplastante predominio del varón, en la cantidad de puestos que ocupan.

En su novena edición, la encuesta de salarios de la revista mexicana especializada Software Gurú revela que la participación de mujeres en la industria de software a nivel nacional alcanza apenas un 15%, y que el salario promedio que perciben es 30% inferior con respecto al mismo tipo de trabajo realizado por un varón.

Margaret Hamilton, la mujer que nos llevó a la luna
“Me acomodo el brochecito y llevamos a Neil y Buzz a la luna”, parece decir Margaret Hamilton, ingeniera en Ciencias de la Computación que programó el software para las misiones espaciales Apolo. Foto: © Futurism

En este contexto, resulta de una amarga ironía enterarse –por ejemplo– de que la matemática Margaret Hamilton haya fungido como una de las principales responsables del software que determinaría el éxito de las misiones Apolo. O que fueron seis mujeres quienes programaron la legendaria computadora ENIAC. O que Augusta Ada King, Condesa de Lovelace (o Ada Lovelace, para sus fans y amigos), contribuyó en el siglo XIX a desarrollar el primer algoritmo computacional, haciéndose acreedora al título de "primera programadora de la historia".

Lo anterior pone de manifiesto la urgente necesidad de incorporar en el currículo la enseñanza de programación, robótica, electrónica digital, etc., con énfasis especial en sectores de la sociedad que históricamente han sido desatendidos o marginalizados. Experiencias como la de la startup mexicana Epic Queen, que se dedica a generar espacios para la enseñanza de programación entre niñas y mujeres mexicanas, constituyen ejemplos de cómo podemos contribuir a la equidad en el mundo de la tecnología.

La programación es el centro de la revolución tecnológica
Foto: © El Financiero

Desde el nacimiento en 1947 del lenguaje ensamblador, que hacía posible una interacción elemental con los componentes del ordenador, pasando por el surgimiento de la programación orientada a objetos, el nacimiento de la web y la era de los dispositivos móviles, la programación de software ha recorrido un largo camino, dejando de ser un arte de iniciados, para convertirse en el centro de una revolución tecnológica en la que todos tenemos mucho por aprender.

No en vano el gran Steve Jobs declaraba:

"Todos en este país deberían aprender un lenguaje de programación pues nos enseña cómo pensar [...]. Considero a la programación como una disciplina fundamental".