Enseñemos a nuestros niños a programar
IDEAS PARA EL CONTENIDO DE LAS CÁTEDRAS DE INFORMÁTICA O COMPUTACIÓN EN LOS PRIMEROS NIVELES DE EDUCACIÓN  (PRE-ESCOLAR - MEDIA DIVERSIFICADA)

El mundo moderno está definitivamente influenciado por el uso de las Tecnologías de la Información y Comunicación (TIC). Esta realidad pareciera que perdurará  por algún tiempo, de hecho me atrevería a decir, que esta influencia será cada vez mayor.

Podemos agrupar a las personas del futuro en dos grandes grupos desde el punto de vista de las TIC, Los Creadores: quienes estarán generándola o transformándola, y Los Usuarios: quienes sólo la utilizaremos. El contenido de estas ideas pretenden influir en ambos grupos; a los futuros creadores, pues le permitirá a temprana edad reconocer sus fortalezas y a los futuros usuarios pues les permitirá entender a los creadores y sus innumerables creaciones TIC.

Frecuentemente quienes utilizamos las TIC  nos vemos en la necesidad de estar constantemente aprendiendo a trabajar con nuevos productos, nuevas interfases, nuevos programas, nuevos sistemas operativos, nuevos dispositivos, etc. Este proceso de aprendizaje se hace más fácil en la medida que conocemos como funciona ese nuevo elemento y no tanto en la experiencia con su antecesor. Por ejemplo fue más fácil aprender a utilizar las máquinas de escribir electrónicas, a quienes ya manejaban las máquinas mecánicas, no en lo relativo a la escritura o a la velocidad de transcripción, más bien al entendimiento de las nuevas implementaciones tecnológicas, como los márgenes, interlineado, carga de papel, etc. Saber que ahora un motor sustituye la alimentación manual de la hoja, o que un sensor óptico sustituye a un tope mecánico para definir un margen, generó puntos de anclaje del conocimiento que suavizó la migración. Por otro lado quienes migraron de máquinas de escribir a procesadores de palabras en PCs, no encontraron grandes puntos comunes que los ayudaran a asimilar el cambio.

En el caso de las TIC sucede algo similar, si los usuarios tuviésemos el conocimiento básico de cómo trabajan las computadoras, no solo qué hacen, sino el cómo lo hacen, sería más fácil adaptarnos a los cambios que se presenten.

INICIACIÓN AL RAZONAMIENTO ESTRUCTURADO

Hoy en día la gran mayoría de los equipos y sistemas relacionados a las TIC, con los cuales interactuamos, fundamentan su funcionamiento en un componente llamado CPU (Unidad central de proceso, por sus siglas en inglés), éste ha sido explicado muchas veces como el cerebro de las computadoras. El CPU está presente en computadores personales, teléfonos celulares, automóviles, etc. en fin, una infinidad de equipos usan un CPU para procesar datos o información

Para que un CPU, realice una determinada función, sin profundizar en su estructura o detalles de funcionalidad, necesita recibir instrucciones.  El conjunto de todas las instrucciones que entiende un determinado CPU recibe el nombre de Lenguaje de Máquina. Si bien este lenguaje tiene variaciones dependiendo de numerosos factores del CPU, tiene elementos fundamentales comunes, entre ellos, que trabaja de forma estructurada, las cosas suceden unas después de las otras, una acción desencadena otra, no existe el azar.

En el entorno de la modernidad, frecuentemente estaremos observando cambios o nuevas versiones de los sistemas operativos para PCs (MS Windows, Linux, Mac OS) o para teléfonos (Android, iOS, MS Windows Mobile, Black Berry OS, etc.) Todos estos sistemas operativos, se basan en el uso de un CPU, fueron desarrollados por personas con razonamiento estructurado y se comportan de modo estructurado, tal como lo hacen los CPUs. Es así como conocer sobre el funcionamiento de los CPUs es más durable en el tiempo que aprender y solo entender un determinado sistema operativo. 

Aprender razonamiento estructurado, permitiría enfrentarse en mejores condiciones a los cambios tecnológicos por venir.

¿Cómo desarrollar el razonamiento estructurado?

Algoritmos

Una de las herramientas más utilizada durante el estudio de materias de programación, para la enseñanza y práctica de esta disciplina son los algoritmos, sin embargo, al considerarlos como,  “un grupo finito de operaciones organizadas de manera lógica y ordenada que permite solucionar un determinado problema”. [http://definicion.de/algoritmo/], pueden ser aplicados en ámbitos de la vida diaria, no solo a los problemas TIC

Diagramas de Flujo

Esta es una herramienta similar a la anterior, pero incorpora la representación gráfica de sus elementos, se definen como: “Representación gráfica de una sucesión de hechos u operaciones en un sistema”. [http://lema.rae.es/drae/]

Pseudocódigo

Se trata de un falso lenguaje de programación, apela a las normas de estructura de un lenguaje de programación aunque se encuentra desarrollado para que pueda ser leído por un ser humano y no interpretado por una máquina. [http://definicion.de/pseudocodigo/]

Lenguajes de programación

Esta última herramienta entendida como “aquella estructura que, con una cierta base sintáctica y semántica, imparte distintas instrucciones a un programa de computadora” [http://definicion.de/lenguaje-de-programacion/], representa la más avanzada de las herramientas para el desarrollo del razonamiento estructurado. Sin embargo, no por ello debe pensarse que sólo está disponible para los más avanzados.  

Los lenguajes de programación se clasifican en niveles, siendo el de más bajo nivel  (mayor complejidad) el Lenguaje de Máquina. Así mismo existen muchos lenguajes de alto nivel, como el C, C++, Pascal y Java, entre otros. En este caso en particular, llaman la atención dos lenguajes de muy alto nivel: SCRATCH y BLOCKLY, que pueden ser utilizados para enseñar a los niños, incluso desde muy temprana edad. 

LOS SISTEMAS OPERATIVOS 

En el ámbito de los computadores personales, teléfonos celulares, tabletas, en fin aquellos dispositivos o equipos computarizados que disponen de múltiples funciones y que interactúan  con más de un periférico  (pantallas, teclados, altavoces, unidades de almacenamiento, etc.) se hizo común la utilización de los Sistemas Operativos, siendo este componente el encargado de facilitar la interrelación con todos estos periféricos y el CPU. 

Siguiendo en la misma dirección a lo expuesto en la sección de razonamiento estructurado, es mi opinión que estudiar los aspectos fundamentales de los sistemas operativos sería de mayor valor que la práctica individual de alguno o incluso de todos ellos. Es importante destacar que el entendimiento se potencia cuando hay mayor conocimiento, interpretando al entendimiento como la capacidad de comprender y al conocimiento como el conjunto de información, datos y experiencias vivid

La existencia de diferentes aplicaciones de Ofimática (MS Office, Libre Office, IBM Lotus) o diferentes aplicaciones contables (Galac Software, A2, Saint, Profit etc.) pareciera que nos obliga a enfrentarnos a muchos cambios, pero todas estas aplicaciones funcionan y fueron desarrolladas para trabajar dentro de los parámetros de algún sistema operativo.

El conocimiento sobre sistemas operativos facilitará la adaptación a las diferentes aplicaciones que se presenten en el futuro. 

Prácticas en Laboratorios

Qué los alumnos puedan verificar las teorías aprendidas es una estrategia de validación y consolidación del conocimiento de muy alta calidad.  Es así como todo lo anterior debería llevarse a la práctica haciendo uso de laboratorios donde los alumnos puedan verificar, demostrar, o sencillamente evidenciar lo aprendido. 

PUNTOS CLAVES

  • Muchas de las herramientas TIC se fundamentan en el uso de CPU

  • Los CPUs trabajan de modo estructurado

  • Los sistemas operativos son el enlace entre los CPUs los periféricos y las aplicaciones 

  • Las aplicaciones son diseñadas con base en las características de los Sistemas Operativos.

Introducir a los alumnos en estos conceptos, ajustados a sus edades y capacidades, son en mi opinión una excelente herramienta que les permitirá en un futuro comprender el funcionamiento de las tecnologías con las que se enfrenten. Siendo este tipo de conocimiento de mayor valor que el solo enseñarles a utilizar las aplicaciones de ofimática que hoy estén disponibles, sin tener ninguna certeza que dichas aplicaciones estarán allí cuando ellos egresen y se enfrenten al mundo laboral.

El razonamiento estructurado, como base para el desarrollo individual y la programación como su más elevada expresión, son dos elementos evidentemente útiles para resolver problemas relacionados con las TIC, sin embargo, no hay que dejar de lado que existen innumerable situaciones que pueden enfrentarse y resolverse de modo estructurado, de allí que este tipo de razonamiento, es también una herramienta poderosa para resolver problemas en otras áreas del conocimiento.

¿POR DÓNDE EMPEZAR?

Experiencias existentes
  • http://code.org

  • https://code.org/educate/k5

  • http://www.eduteka.org/pdfdir/AlgoritmosProgramacion.pdf

Tutoriales En-línea
  • https://studio.code.org/s/K5-OnlinePD/stage/1/puzzle/1

  • https://www.codecademy.com/

Más enlaces educativos
  • https://developers.google.com/blockly/about/showcase

  • https://scratch.mit.edu/

  • http://fundamentos-logica.wikispaces.com/ALGORITMO+DE+LA+VIDA+DIARIA



El antivirus que protege al gobierno ruso del cibercrimen