viernes, 28 de abril de 2023

"No me acuerdo" (a.k.a. "estudié por catálogo").

"No me acuerdo" es, en el 95% de los casos, una de las peores respuestas que me pueden dar mis alumnos. Y tiene que ver con la forma de encarar el estudio y un problema muy recurrente que vemos en las carreras de ingeniería: lo que voy a llamar "estudiar por catálogo".

 

¿Por qué odio esa respuesta? Porque espero transmitirles a los alumnos conceptos fundamentales a partir de los cuales razonar las soluciones a los problemas. Entonces cuando pregunto "¿cómo resolverías tal cosa?", no pregunto si te acordás cómo se resuelve, o qué decía el libro sobre ese problema. De hecho, si me salió una buena pregunta, seguro que ese caso no estaba directamente el libro. Le estoy preguntando al estudiante cómo lo resolvería él, con lo que entendió. Razonando, y justificando a cada paso ese razonamiento. Y no con solo memoria.

Todo lo contrario a aprender y razonar es memorizar. Uno puede memorizar una solución sin entenderla. Y entonces luego, cuando aparece un problema similar (sea en el parcial, o en la vida real del profesional), probablemente ni lo reconozcan. Porque si memorizaron solamente, quiere decir que no descifraron cual era la esencia del problema y la solución, cuales eran los fundamentos sobre los que se apoya, las ideas importantes que lo caracterizan, o el tipo de razonamiento que me lleva a esa solución.

"Yo me lo sabía con manzanas!" (perdón a los lectores que tienen 
 menos de mil años por las referencias modernas de este post)

Entonces, no quiero que estudien de memoria, y en un examen voy a hacer todo lo posible por preguntar de forma tal que se note si lo hicieron o no. Pero cuando alguien se traba y dice "no me acuerdo" está reconociendo abiertamente que estudió de memoria, y, lo que es peor, que por dentro está haciendo un esfuerzo por "recordar" en lugar de "razonar". No se si es peor que lo haya hecho, o que ni se de cuenta de que tiene que disimularlo. Lo mismo pienso cuando empiezan una respuestas con "el libro decía que...". No le pregunté al libro, te pregunto a vos!

 

Hace ya unos años, en una charla de café con dos colegas de la UNL (Nestor y Leonardo) uno de ellos (creo que fue Leo) tiró la idea del "catálogo" de problemas: Los chicos se aprenden un catálogo de problemas, y en el examen, cuando se les pide algo, buscan en ese catálogo. Y entonces, si les pedimos algo que no está en el catálogo, hacen agua. Aunque se resuelva con los mismo conceptos básicos que muchos otros problemas que sí están. 

Cuando uno estudia de memoria y no comprende del todo, esas relaciones son difíciles de ver, y no se puede construir nada nuevo desde allí. Ni hablar de cuando recuerdan mal un paso y se traban completamente, o peor aún, salen para cualquier lado o justifican de cualquier forma para que encaje, sin ser autoconscientes de las burradas que pueden estar diciendo.

https://twitter.com/pbongiovanni/status/1393238221321031682

Lo de "estudiar por catálogo" suena como lo de "sea detective privado por correspondencia"...
No tiene nada que ver, pero puede que sea lo primero que se nos va a venir a la cabeza a los más "viejos".

Pienso que en ingeniería es mucho más importante saber entender y analizar los problemas, que acordarse de memoria las soluciones del catálogo. En la vida real tendremos Google, los libros de cuando estudiábamos, Wikipedia, ChatGTP, o lo que sea para ira a consultar los detalles. Memorizarlos temporalmente para un parcial no tiene utilidad a largo plazo. Más aún cuando la ingeniería de la vida real no suele tener respuestas cerradas para los problemas interesantes. Siempre hay opciones con pros y contras, y hay que tener "criterio" para sopesarlas, tomar las decisiones de compromiso y encontrar una balance adecuado al caso. Pero para eso hay que encontrar la esencia de cada herramienta o método y aprender a distinguirla entre el ruido en los casos reales.

 

Es literalmente "perder" el tiempo repetir lo mismo una y otra vez,  hacer mecánicamente los mismos ejercicios mil veces, o estudiar cada problema de los exámenes anteriores como si fuera una caso particular de interés. No me canso de decir que veo en mis exámenes muchos alumnos que reprueban a pesar de haber estudiado realmente mucho. A los de la materia de 3er año (Computación Gráfica), siempre les digo que estudian mal, nunca que estudian poco. Y me cuesta corregir ese hábito. Más cuando antes han podido aprobar unas cuantas materias por catálogo (tal vez luego de varios reintentos, pero aprobar al fin).

¿Entonces está muy mal usar la memoria? No, tampoco dije eso. Dije que "solo" memoria es muy malo. Pero por supuesto que un poco sirve para acelerar las cosas. Tampoco tenemos tiempo de volver a deducir tooodo en un examen, hay atajos (a veces algún que otro paso "mágico" que difícilmente se nos ocurra bajo presión) que tenemos que recordar. Pero si estudiamos a conciencia seguramente los recordaremos de tanto haberlos aplicado y analizado (no simplemente "repetido"). Entonces la memoria (y el catálogo) puede ser una ayuda, un atajo, pero no debe nunca ser la base, nunca debe ser algo imprescindible.

7 comentarios:

  1. El aprendizaje se tiene que hacer desde varios saberes básicos, 1ro: el SABER CONOCER donde si implica memorización y otros subsaberes como el algorítmico, el interpretativo, el deductivo etc., 2do: el SABER HACER, es decir aplicar en nuestro medio el saber aprendido y el 3ro: SABER SER, esto es desde lo aplicado hacerlo con ética.

    La educación antigua se basaba solo en formar en el saber conocer, los nuevos educadores están a obligados en formar en los tres saberes fundamentales mencionados anteriormente. Los estudios en educación nos muestran diferentes trabajos de investigación de cómo debemos enseñar para que el estudiante pueda tener un saber holístico, pero nada finalmente definido, esto es un desafío que nos lleva constantemente estar innovando en nuestro quehacer como educadores, pues la educación es una ciencia en construcción permanente.

    Entrando en contexto es decir con la aplicación PseInt en la universidad donde laboro, los pares que formamos en lógica algorítmica computacional discutimos en que lenguaje iniciar este saber, pues hay libertad de catedra en el sentido con cual herramienta computacional trabajar, unos inician con Python por tener supuestamente la sintaxis menos compleja entre los lenguajes formales y por el gran conjunto de bibliotecas disponibles de uso rápido, otros inician con el lenguaje C, porque maneja de forma más precisa los recursos de memoria del PC y más cuando se forma estudiantes en carreras relacionadas con electrónica, pues al programar microcontroladores se está operando con hardware que tiene prestaciones básicas con respecto a los PCs, otros iniciamos con PseudoCódigo por que libera inicialmente de ciertas cuestiones como definir tipos de datos en rangos numéricos, por el uso de expresiones coloquiales para que los pensamientos mentales se acerquen más a las sentencias de codificación y esto está bien, pues PseInt permite configurar la forma de codificación por ejemplo definir los tipos de datos o no, pero en estos tiempos donde el saber conocer y aplicar cada vez es más complejo ya no basta con tener un intérprete del paradigma de codificación procedimental, sino el también continuar con el paradigma orientado a objetos y funcional , espero que PseInt evolucione a este tipo de interpretación. Uso PseInt también porque se codifica en nuestro idioma, porque permite trasformar el registro de codificación escrita a registro grafico tipo diagrama de flujo que los IDE no lo ofrecen, en mi experiencia dentro del aula esta que el cambio de registro de texto a grafico o viceversa ayuda a desarrollar el pensamiento algorítmico. En el foro propongo algunas ideas para mejorar la interpretación de PseInt, pero observo que los docentes no participan, puede ser que estén conformes con el desarrollo en que esta PseInt, pero en mi caso deseo ciertas cuestiones que aparentemente complejizan la operación, pero si estas nuevas incorporaciones se hacen configurables es decir se pueden activar o no, el docente escoge que tipo de codificación se adapta a su contexto y contenido del curso.
    Por ejemplo, expongo en el foro que se debe especificar el rango de dominio del tipo en valores numéricos, pues algunos algoritmos al realizar cálculos aritméticos el valor definido internamente no es suficiente para mostrar los resultados, soporte de variables globales como propiedades para acércanos a la POO estos y otros detalles hacen que la transición de codificación cercana a la natural a registro formal no sea abrupta sino similar y que esos recuerdos de codificación en PseInt se refuercen en un lenguaje formal.
    Jaime

    ResponderEliminar
  2. Zaskar como andas? hace 2 años escribí un pseudocodigo interprete en javascript para la web: https://www.vainilla.app/ curse con vos programación 1 y 2 en el 2013 y te lo quería mostrar.

    ResponderEliminar
    Respuestas
    1. =) Excelente lo acabo de ver la app vainilla. Que bueno que entusiastas se unieran al proyecto PSeInt, sueño que llegue algún día a POO, por ahora hay que pulir algunos detalles, que se pueden discutir en el foro

      Eliminar
    2. de una! el código está disponible en mi github https://github.com/sandes

      Eliminar
    3. Puedo dar una mano con el desarrollo de PSeInt, ¿Te parece mover el código a Github? Muchos le darian star y vendrian buenos devs a colaborar.

      Eliminar
  3. Como estudiante de ingeniería solo tengo una sola cosa que decir...

    A los profesores ya no les importa enseñar bien y mucho menos actualizar sus propios conocimientos.

    ResponderEliminar