Computación en los colegios
Tomás de Camino Beck | Director | Fundación Costa Rica para la Innovación| boletinclic@camtic.org
Primero aclaremos algo importante, enseñar computación no es enseñar ingeniería de software ni programación. Tampoco se trata de enseñar computación para que las nuevas generaciones tengan trabajo.
Meterse al mundo de la computación es poner en ejercicio una forma de pensamiento, el pensamiento abstracto, el pensamiento lógico-matemático y principalmente el pensamiento comunicacional. Es enseñar a ser creativos, y con creatividad, me refiero al acto de construir algo propio de forma intencional.
Acá hay que hacer varias distinciones en el mundo de la computación. Por un lado, están las ciencias de la computación, que es el estudio de los principios y usos de la computación. Las ciencias de la computación pueden llegar a ser muy matemática, y de hecho las matemáticas en computación son extremadamente interesantes, y plantean un uso de las matemáticas, más que solamente aprender matemáticas porque sí. Por otro lado, está la programación, que es la acción de escribir programas de computación.
Muchas veces cuando hablamos de computación en los colegios todos piensan inmediatamente en el uso de computadoras para procesos de oficina (ofimática), o en la programación de computadoras.
Incluso “programar” tiene varios contextos, por un lado, está el hacer software, es decir programar para un usuario, y el programar para interactuar con una máquina.
¿Qué debemos enseñar en el colegio?
Expertos en dominios
Una de las cosas más relevantes de la computación es que antes de poder programar o interactuar con la computadora, se debe adquirir experticia y conocimiento en el dominio del problema a resolver. Así, por ejemplo, difícilmente pueden construir un software para navegación inercial, si no tengo ningún conocimiento de ese dominio.
Por tanto, si enseñamos computación, debemos también enseñar a generar conocimiento profundo en el dominio de aplicación en la que los estudiantes estén trabajando. Se empieza a trabajar con papel y lápiz, dividiendo el problema en sub-problemas, resolviendo esos problemas más pequeños y, el paso más importante, sacar generalizaciones de los problemas, eso permite acumular conocimiento y además resultados que tienen aplicación más allá del problema que estoy resolviendo. Claude Shannon, padre de la teoría de la información, habla de esto de forma muy interesante en este documento.
Programar
Una vez con un plan, es necesario hacer entender a los estudiantes, que ahora debemos comunicar a una computadora lo que sabemos que es nuestra solución. Para esto se escogen lenguajes de programación.
En educación, se han utilizado muchos lenguajes que se les llama libre de sintaxis, es decir, que básicamente son visuales, y no requieren explícitamente, aunque si está implícito en su estructura visual, conocer reglas de construcción de expresiones. Estos lenguajes, como Scratch por ejemplo, según los expertos, pueden ser útiles para estudiantes muy pequeños, que todavía no tienen un dominio de estructuras gramaticales en español.
Pienso que, a partir de cierta edad, si se deben utilizar lenguajes de programación que no eviten la sintaxis. Yo particularmente recomiendo el uso de Processing como plataforma para enseñar a programar una computadora, y el Arduino, para enseñar a programar micro-controladores.
Ambas plataformas entregan una recompensa inmediata en el proceso de programación, son abiertos y pueden ser utilizados en múltiples sistemas operativos.
Intencionalidad
Para enseñar computación, se debe dejar que el estudiante imponga su propia intención. Con herramientas como Processing por ejemplo, el estudiante puede crear diseños visuales, hacer modelos de física, química o biología, resolver problemas matemáticos, o crear interfaces para usuarios.
Con herramientas como Arduino, el estudiante puede leer sensores y accionar actuadores, aprendiendo aspectos físicos de la computación, y como del mundo digital pasamos al físico de múltiples maneras.
No es programar por programar, es crear una representación del mundo y conocimiento que nos rodea en una computadora. Vean por ejemplo este artículo que escribí donde se utiliza para entender las presas de carros.
Comentario final
Es muy importante que lo que enseñemos de computación salga del aula de clase y vaya más allá. Que los jóvenes se lleven las ideas a su casa, y se transformen en constructores de computación, no en usuarios de ella. Un ingeniero en programación, no es un experto en computación, es un usuario, así como un mecánico automotriz no es un experto en transporte. Ocupamos personas que dicten qué hacer con las computadoras, no que sean esclavos de ellas.
El enseñar computación en las escuelas, puede ser importante para estimular nuevas formas de pensamiento y abstracción, también para que nuestros estudiantes entiendan que las computadoras son máquinas que nos liberan, nos permiten ser independientes, pues podemos construir básicamente lo que se nos antoje.
Compartir
NOTICIAS
Entradas recientes
- ODS Digital recibe nuevos compromisos para acelerar consecución de Objetivos de Desarrollo Sostenible
- Novacomp amplía su presencia con un nuevo centro de entrega en la Zona Franca La Ceiba
- OCDE publicó informe sobre fuerza laboral calificada en ciberseguridad en América Latina
- Israel lanza en la Sede del IICA en Costa Rica la 21ª Cumbre Mundial de Tecnología Agrícola Agritech
- Costa Rica promoverá negocios en industria audiovisual en la 5° edición del MAUCC