A ningún Secretario Académico escapa la necesidad de formar en materia de Tecnologías de la Información a los alumnos de carreras de grado no específicamente informáticas. La gran pregunta es: ¿qué enseñar? Generalmente se evita caer en alguno de estos extremos: conocimientos que los alumnos dominen perfectamente y con mayor profundidad y actualización que los mismos profesores (por defecto), y contenidos que serían propios para un especialista en la materia: los misteriosos lenguajes de programación (por exceso). Para el primer caso, no hay que perder de vista que para los jóvenes de Generación Y -nacidos entre 1982 y 2002-, Internet existió siempre y forma parte de su infancia.

En este equilibrio inestable se balancean las materias, ciertamente complementarias, de una buena cantidad de carreras de nuestra educación superior. Un profesor de extracción más técnica podría caer por el extremo derecho, comprobando, luego de infuctuosos intentos, que sus alumnos no le llegarán a los talones a un programador junior, y no aplicarán nunca los conocimientos adquiridos. Por el otro lado, un profesor del tipo "usuario avanzado", podría caer en el extremo por defecto, haciendo casi inútil la materia dictada por no encontrar contenidos nuevos para sus alumnos (me refiero a las materias que "enseñan" a usar Windows, Office, etc).

En primer lugar habría que aclarar que, para carreras distintas, la materia puede ser bastante diferente, y es conveniente que lo sea.

Abocado a encontrar un contenido óptimo para alumnos de ingeniería industrial -aunque podría aplicarse perfectamente a otras ingenierías, o a las carreras de formación empresarial-, creo haber encontrado un buen punto medio: programación de planillas de cálculo.

Cualquiera sabe que el uso de planillas de cálculo -Microsoft Excel seguramente la más frecuente- es, en sí mismo, una habilidad requerida para la mayoría de los trabajos. Así convendría comenzar la materia por un pantallazo general sobre planillas de cálculos. Luego se puede entrar en el uso de macros, que despliegan un enorme potencial a las planillas. En el caso de Excel, esto se hace a través una accesible versión de Visual Basic, llamado Visual Basic for Applications. Su equivalente en software libre es Open Office, quizás aún más versátil ya que dispone de varios lenguajes de programación. Entre ellos está el OpenOffice.org Basic, que puede resultar más complicado para el programador casual (es orientado a objetos, y obliga a recorrer una intrincada cadena de clases para llegar a funciones sencillas).

Una materia con estas características, requiere que los alumnos comprendan el funcionamiento de un algoritmo, y el manejo de conceptos como variable, sentencia, línea de código y depuración de un programa. Un aspecto que me parece esencial en el proceso de enseñanza, es el permanente recurso a lo visible en pantalla, a través de las celdas de la planilla. Esto evita caer en cierto "abstraccionismo" (al que somos proclives los informáticos cuando enseñamos), y brinda el contexto adecuado para usar un lenguaje común (no me refiero acá al lenguaje de programación).

Es importante que el lenguaje (ahora sí, de programación) tenga la virtud de descargar de la semántica una gran cantidad de detalles secundarios (aunque a los puristas de la programación podrían parecerles esenciales), como son la declaración de variables y métodos, por no hablar del mundo de la programación orientada a objetos.

La otra enorme cualidad de la programación de macros es la posibilidad de "grabarlas", realizando manualmente las operaciones que se desean programar, accediendo luego al código escrito automáticamente (no siempre optimizado, pero que siempre funciona). De esta manera, tampoco es necesario abarcar en la enseñanza todas las funciones disponibles (que son muchas), y ni siquiera un porcentaje importante de ellas, porque basta grabar una tarea para saber cómo se programa. Esto permite, incluso, innovar al momento de evaluarlos, contando con la posibilidad de grabar tareas, y por supuesto del uso de la Ayuda de la aplicación.

Mi primera experiencia con este enfoque fue muy positiva, y los alumnos lograron desarrollar una pequeña aplicación (combinación de planilla con botones y funciones automáticas). A quienes luego la vida los lleve hacia la programación cruda, al menos habrán adquirido las nociones básicas de la algoritmia, y sabrán aplicarla haciendo las adaptaciones de sintaxis necesarias.