PENSAMIENTO SISTÉMICO Y DESARROLLO DE COMPETENCIAS, EN EL APRENDIZAJE DE LOS LENGUAJES DE PROGRAMACIÓN

 

J. García Ruiz[1]

M. Hernández López1

J. A. Loaiza Brito1

 

RESUMEN

El aprendizaje de un lenguaje de programación, puede no ser una tarea sencilla pues implica el razonamiento del paradigma de programación en el que está enmarcado, el entendimiento de la sintaxis del propio lenguaje, el desarrollo de una correcta lógica de programación y la aplicación de una buena metodología de desarrollo de software, todo esto al mismo tiempo. Más allá ello, se encuentra un problema mayor: el desarrollar en el estudiante una mentalidad sistémica con respecto a los lenguajes de programación, que le permitirán a su vez alcanzar competencias adecuadas en el uso de distintos lenguajes como herramienta, y no como un fin. Se aplican una serie de estrategias de aprendizaje orientadas a desarrollar una visión sistémica hacia los lenguajes de programación, a lo largo de un año y medio, abarcando dos paradigmas de programación y una asignatura de aplicación de los dos anteriores. Esto en la carrera de Ingeniería en Computación del Instituto Politécnico Nacional. A diferencia de un licenciado en informática o en tecnologías de Información, el Ingeniero en Computación abarca lenguajes de sistemas de información a sistemas microcontrolados. Así, los resultados obtenidos indican que el uso de las estrategias propuestas, produce el desarrollo de ciertas habilidades que llevan a un pensamiento sistémico con respecto a los lenguajes de programación. Sin embargo, se observa que existen variables que influyen más allá de las estrategias usadas.

 

ANTECEDENTES

En general, el aprendizaje de un lenguaje de programación, puede no ser una tarea sencilla pues implica el razonamiento del paradigma de programación en el que está enmarcado, el entendimiento de la sintaxis del propio lenguaje, el desarrollo de una correcta lógica de programación y la aplicación de una buena metodología de desarrollo de software, todo esto para un mismo curso. Además, el desarrollar en el estudiante una mentalidad sistémica con respecto a los lenguajes de programación, que le permitan a su vez alcanzar competencias adecuadas en el uso de distintos lenguajes como herramienta, no como un fin, no es una labor simple. Pero, ¿Este aprendizaje deberá basarse en la enseñanza de la herramienta de programación o en la enseñanza de la lógica de programación?, ¿Puede la aplicación del binomio Inductivo—Deductivo lograr un pensamiento sistémico que le permita un mejor aprovechamiento en asignaturas posteriores, además de la adecuada aplicación en diversas áreas?

 

Se utilizaron diversas estrategias didácticas que permitieran llevar al alumno desde un aprendizaje del propio lenguaje hasta generalizar los métodos y características usadas en este paradigma para lograr que pudieran utilizarlos en diferentes escenarios y observándolos como un conjunto de herramientas para la solución de un problema, que además les permitiera elegir a la más adecuada de ellas. Se realizó el estudio en la carrera de Ingeniería en Computación de la Escuela Superior de Ingeniería Mecánica y Eléctrica (ESIME) del Instituto Politécnico Nacional (IPN). Se tomaron grupos de primer, segundo y tercer semestre de la carrera, con las asignaturas de "Fundamentos de Programación", como inicio, "programación orientada a objetos" como un inicio nuevo, y "estructuras de datos" como punto de aplicación, pues en los dos primeros casos son paradigmas distintos.

 

A diferencia de un profesional en el área de la informática o de las tecnologías de información, un Ingeniero en Computación debe desarrollar la habilidad de escribir programas para sistemas microcontrolados, además de los sistemas de información, tanto en alto nivel como en bajo nivel, hasta programas para sistemas de ingeniería de integración, normalmente en alto nivel, donde incluso pudieran aplicar algoritmias de inteligencia artificial. Es por ello que el encontrar métodos adecuados para el desarrollo de estas destrezas, es fundamental para el ingeniero en computación.

 

METODOLOGÍA

Existen diversas estrategias de enseñanza para lograr el llamado aprendizaje significativo, el cual, bajo la perspectiva del paradigma constructivista, puede lograr llegar a conocimientos, habilidades y destrezas durables, y no sólo momentáneos. Sin embargo, esto no garantiza que ellos provean de una mentalidad que permita al alumno resolver problemas de su vida académica y profesional, observando y eligiendo la mejor herramienta para ello, más allá de sus preferencias y conocimientos actuales. Entonces, el trabajo intenta obtener respuestas a este problema, pues mediante la aplicación de distintas estrategias de enseñanza—aprendizaje basadas en el binomio deductivo—inductivo en las asignaturas de programación de los primeros semestres de la carrera de Ingeniería en Computación, se espera logar un pensamiento sistémico en la utilización de los lenguajes de programación como un medio y no como un fin.

 

El estudio aplicado en la carrera de Ingeniería en Computación de la Escuela Superior de Ingeniería Mecánica y Eléctrica (ESIME) del Instituto Politécnico Nacional (IPN). En específico, se trabajó con grupos de primero, segundo y tercer semestre de la carrera, la cual consta de ocho semestres en total. Los grupos designados como 1CM2, 2CM2 y 3CM2 tomaron como los grupos experimentales; mientras que los grupos 1CM3, 2CM3 y 3CM3 como los grupos de control. Cabe mencionar que son grupos intactos pues difícilmente pueden obtenerse muestras de estos grupos, pues se forman de acuerdo a criterios administrativos, de recursos y académicos, con lo cual solo las instancias administrativas tienen control. Así, la Tabla 1 muestra las características de los grupos anteriormente mencionados.

Tabla 1. Universo considerado

 

 

 

 

Se puede observar en la Tabla 1 que las características consideradas en los grupos establecidos son muy similares, aún con un año y medio de diferencia, que es el tiempo considerado para el experimento, pues las asignaturas de los dos primeros semestres permiten comprobar la hipótesis establecida.

 

Ahora bien, debido a que el desarrollo de un pensamiento sistémico no es un hecho que simplemente esté o no presente, sino que es una habilidad que se observa en distintos grados de acuerdo a ciertas situaciones, se medirá mediante el método de niveles ordinales. En este caso solo se tomarán cinco posibles grados de respuesta. En la Tabla 2 se observa de qué manera se relacionan los grados propuestos con el desarrollo especificado.

 

Tabla 2. Mediciones utilizadas

 

 

La Tabla 2 fue elaborada de acuerdo a las distintas situaciones que se pueden presentar, tratando de tipificar el actuar de los alumnos de acuerdo a distintas situaciones. Este actuar se observa mediante cuestionarios que incluyen problemas que deberán resolverse de cierta forma de acuerdo a lo comentado anteriormente. No se muestra una rúbrica a los alumnos de estos cuestionarios y problemarios, pues no se trabaja por objetivos en esta fase, sino de forma que muestren cierto comportamiento, especialmente en el desarrollo de los programas pedidos.

 

En general, existen diversas estrategias de enseñanza, todas ellas intentando lograr que el educando aprehenda todo el cúmulo de información a la que es expuesto, pero no de forma temporal sino mediante ciertos procesos del pensamiento que lo lleven al conocimiento, tal como lo define Díaz-Barriga (2006, p. 39): "En síntesis, el aprendizaje significativo es aquel que conduce a la creación de estructuras de conocimiento mediante la relación sustantiva entre la nueva información y las ideas previas de los estudiantes". Como explica Ontoria (2003, p. 69) "la consecución de unos objetivos constituyen un proceso, no basado en situaciones puntuales. Este proceso implica una serie de pasos o acciones llamadas estrategias, que están unidas a la comprensión de los objetivos y del proceso a seguir. Supone, pues, una planificación y una acción". Por ejemplo, algunas de las estrategias más utilizadas son:

1.      Objetivos

2.      Resumen

3.      Organizador previo

4.      Ilustraciones

5.      Analogías

6.      Pistas tipográficas discursivas

7.      Mapas conceptuales y redes semánticas

8.      Método de proyectos

9.      Método de casos

 

Sin embargo, se intenta lograr que el ingeniero en computación consiga una mentalidad que le permita aplicar sus conocimientos de programación en distintos escenarios, independientemente del lenguaje que domine en ese momento, y que vea la solución como un desarrollo de la lógica intrínseca, es decir, que sea capaz de deducir el procedimiento lógico adecuado para llegar a la resolución y observando los lenguajes como herramientas.

 

Para ello se propone un método de enseñanza que permita formar en el ingeniero esta habilidad. Este método parte de lograr una estructura mental inductiva que le permita iniciar con el aprendizaje de un lenguaje particular y obtener las características que lo preparen para reconocer las características estructurales principales del lenguaje, con lo cual en una siguiente etapa logrará una mentalidad deductiva que lo lleve a observar el problema y proponer una solución adecuada basada en la reflexión de la lógica a aplicar y a su vez elegir el lenguaje idóneo para ello. En este sentido, irá de una estructura inductiva y pasará a una deductiva, repitiéndose para cada paradigma estudiado.

 

De forma general, los pasos fueron los siguientes:

1.      Se realiza un diagnóstico inicial a ambos grupos, tanto el experimental como el grupo de control, con lo cual se obtiene la información inicial de la tabla 1. Se puede observar que ambos grupos (experimental y control) tienen condiciones similares al inicio de cada semestre, a pesar de ser grupos intactos.

2.      Se utilizan distintas estrategias didácticas a lo largo del primero y segundo semestre solamente, pues durante el tercer semestre se realiza una serie de pruebas orientadas a medir el nivel de desarrollo en el pensamiento sistémico. Dentro de las estrategias utilizadas se encuentran:

a.       Fase inductiva:

                                                              i.      Se utiliza la estrategia por objetivos para crear la expectativa correcta. Díaz—Barriga (2006, p. 142) lo establece como "enunciados que establecen condiciones, tipo de actividad y forma de evaluación del aprendizaje" Con esto se busca que el alumno contextualice su propio aprendizaje para que posteriormente pueda incluso autoevaluarse. Se usan organizadores gráficos en forma de cuadros sinópticos. De la Torre (2005, p. 92) lo define como un conjunto de datos presentados gráficamente, en lo que se puede advertir la relación existente entre ellos. Resolución de problemas sencillos, desarrollando y representando la solución con redes conceptuales en forma de diagramas de flujo. Para De la Torre (2005) con ellos se puede representar, en forma gráfica las etapas de un proceso, observando la relación entre unas y otras. Este es uno de los pasos más importantes para el desarrollo adecuado de la lógica de programación, y con la cual se puede lograr la aplicación del método inductivo en su primera etapa. Se proponen problemas que combinen las distintas estructuras en el lenguaje base.

b.      Fase Deductiva

                                                              i.      Se muestra la sintaxis de otros lenguajes (basados en el mismo paradigma), haciendo la contraparte de cada comando con el primero de ellos. Es decir, se utiliza la técnica de analogía, del cual De la Torre (2005) la establece como una serie de enunciados comparativos entre la información nueva a aprender con otra conocida o familiar y concreta. Esta es una de las partes más importantes del proceso pues es el que dará pie a la estructura cognitiva basada en el método deductivo. Se repetirán los anteriores con otros paradigmas, estructurando el mismo tipo de pensamiento para distintos paradigmas. Esto deberá concretar el pensamiento sistémico basado en la deducción. Por último, la resolución de problemas específicos donde los alumnos deberán proponer el lenguaje apropiado a utilizar, en distintos escenarios, dando la estructura lógica (mediante diagrama de flujo) y la construcción del mismo.

3.      Se realizan pruebas intermedias al final del primer semestre donde se medirá el grado en el cual se desarrollaron las habilidades buscadas. Esto debido a que en el primer semestre se cursa la asignatura de "fundamentos de programación", la cual debe desarrollar la lógica de programación para el paradigma estructurado, con apoyo de un lenguaje basado en él.

4.      En segundo semestre se aplican las mismas estrategias inductivas-deductivas, pues a pesar de la asignatura se basa en un paradigma orientado a objetos, es conveniente que se desarrolle una visión equitativa a la programación estructurada.

5.      Al final del segundo semestre se vuelve a aplicar una serie de pruebas que intentan mediar la adquisición o desarrollo de las habilidades buscadas.

6.      Durante el tercer semestre se mide el nivel de adquisición final pues, mediante la asignatura de "estructuras de datos" se puede observar su aplicación directa, ya que esta es la aplicación de alguno de los dos paradigmas anteriores a la formación de estructuras dinámicas.

 

DISCUSIÓN DE RESULTADOS

En la Tabla 3 y Figura 1 se muestran de forma resumida los resultados obtenidos a través de los criterios ya especificados.

 

Tabla 3. Resultados obtenidos por nivel

 

 

 

Figura 1. Resultados mostrados a lo largo de un año y medio

 

Estos resultados fueron obtenidos a lo largo de un año y medio de pruebas y observación, como se muestra en la Figura 1, pues en realidad se trata de los mismos grupos, tanto experimental, como de control en tres momentos diferentes. Se puede advertir que el resultado es medido mediante una escala en porcentaje pues, debido a muchos factores, el número de alumnos por grupo varía por semestre, tal vez en pequeña cantidad, pero que a lo largo de un año y medio puede influir en la percepción de los resultados. De acuerdo a los datos mostrados en el resumen de resultados, puede observarse que existe un cambio marcado, especialmente en los niveles 3 y 4, para el grupo experimental, algo no observado en el grupo de control. De hecho, este último mostró un comportamiento muy similar al paso del tiempo, lo cual concuerda con la evolución natural que se da en forma regular. La segunda y tercera columnas de la Tabla 3, muestra de hecho una disminución desde el segundo semestre y que, con lo mostrado en las columnas 3 y 4, muestran el avance en la aplicación de las técnicas propuestas.

 

CONCLUSIONES

De acuerdo a los datos observados en la Tabla 3 y la Figura 1, podría concluirse que de manera general el uso de los métodos y estrategias utilizados, logran en el estudiante una orientación hacia el pensamiento sistémico, lo cual representa que el objetivo propuesto se ha alcanzado. Esto en contraparte con el grupo de control, que muestra un comportamiento muy similar durante el periodo estudiado, lo cual corrobora que estas estrategias pueden ser adecuadas en su concepción y aplicación. Sin embargo, aún con el aumento en el porcentaje de alumnos que lograban desarrollo de ciertas habilidades en este sentido, se observa que el nivel 4 de criterio no aumenta más allá del 45 %, lo que podría indicar que existen variables no consideradas en el trabajo, que definitivamente influyen en el hacer del alumno. Esto podría representar un trabajo futuro que haga resaltar estas variables y permita observar su efecto final.

 

Además, estos resultados implican que podrían ser aplicados, especialmente, a aquellas asignaturas que impliquen la programación de bajo o alto nivel, pues la lógica se da del mismo modo. Esto es más cierto para un ingeniero en computación pues, a diferencia de las licenciaturas en informática o tecnologías de la información, el primero se desenvuelve con lenguajes aplicados a sistemas de información, ingeniería de integración o incluso en sistemas microcontrolados y embebidos, con lo cual se observa que la gran gama que abarca, necesita forzosamente de una visión sistema de los lenguajes de programación.

 

BIBLIOGRAFÍA

De la Torre, F. (2005). 12 Lecciones de pedagogía, educación y didáctica. México: Alfaomega.

 

Díaz—Barriga, F., Hernández G. (2006). Estrategias docentes para un aprendizaje significativo, una interpretación constructivista. México: McGraw—Hill.

 

Ontoria, A., Gómez, J. P., Molina A. (2003). Potenciar la capacidad de aprender a aprender. España: Alfaomega.



[1] Docente de la Escuela Superior de Ingeniería Mecánica y Eléctrica—Unidad Culhuacán del Instituto Politécnico Nacional–jgarciar@ipn.mx , marisolhernandezl@yahoo.com.mx.