Revista: Atlante. Cuadernos de Educación y Desarrollo
ISSN: 1989-4155


LA SIMULACIÓN COMO RECURSO DIDÁCTICO PARA EL APRENDIZAJE DE LOS FUNDAMENTOS DE PROGRAMACIÓN

Autores e infomación del artículo

Osmel Peña Báez*

Universidad de Las Tunas. Cuba

Email: osmel@ult.edu.cu


Resumen
La simulación de procesos en la enseñanza es un aspecto de vital importancia para la comprensión de los fenómenos que se producen a un nivel donde el estudiante no puede llegar a percibir de manera directa. El presente artículo discute el procedimiento para la simulación a través de un software de los procesos que ocurren en la memoria RAM1 de la máquina cuando se utilizan las  estructuras básicas para el control del flujo de un algoritmo o programa, con el cual los estudiantes interactúan suministrando los datos correspondientes y constituyendo entes activos de la construcción de su propio conocimiento, posibilitando el desarrollo de habilidades para la resolución de problemas a través del ordenador.

Palabras claves: simulación, programación, enseñanza, aprendizaje, estructuras


Para citar este artículo puede utilizar el siguiente formato:

Osmel Peña Báez (2019): “La simulación como recurso didáctico para el aprendizaje de los fundamentos de programación”, Revista Atlante: Cuadernos de Educación y Desarrollo (julio 2019). En línea:
https://www.eumed.net/rev/atlante/2019/07/simulacion-recurso-didactico.html
//hdl.handle.net/20.500.11763/atlante1907simulacion-recurso-didactico


Introducción
La sociedad contemporánea no puede prescindir de los avances tecnológicos que se desarrollan aceleradamente en todas las ramas de la producción y los servicios, lo que implica que los procesos universitarios se encuentran inmersos en estos aspectos. Tal es así que el impacto del empleo de las Tecnologías de la Información y las Comunicaciones (TIC) en el ámbito educativo traen consigo la necesidad de realizar cambios en el desarrollo del proceso docente educativo teniendo en cuenta las ventajas que se obtienen cuando son asumidas como recurso didáctico y como medio de transferencia de conocimientos, de modo que el hecho de utilizar los recursos digitales disponibles, así como aquellos que son elaborados por los propios profesores contribuye a la formación de profesionales con las competencias necesarias para insertarse en el mundo laboral de la sociedad contemporánea.
Es de vital importancia el hecho de que los cambios se producen ininterrumpidamente, y tanto docentes como estudiantes deben estar conscientes de que el aprendizaje ha de transcurrir de manera natural, donde la interacción de estos con las nuevas tecnologías permita de forma efectiva la construcción del nuevo conocimiento, con énfasis en la búsqueda y  la indagación constante, permitiendo el trabajo colaborativo y cooperativo.
Tal es así, que en el presente artículo se discute el empleo de un software para simular los procesos que ocurren en la memoria RAM de la máquina cuando se utilizan las estructuras básicas para el control del flujo del algoritmo de un determinado programa, aspecto de vital importancia para el aprendizaje de los fundamentos de programación por parte de los estudiantes de la carrera Educación de Informática que se desarrolla actualmente en nuestra universidad.
Las mayores dificultades que se han detectado durante el desarrollo de la docencia con los estudiantes de la carrera en los diferentes años de estudio, están dadas fundamentalmente, en el nivel de análisis que deben desarrollar estos para lograr la solución del problema planteado, pues no llegan a formular de manera efectiva y clara el modelo matemático que se requiere para dar solución al mismo, dado por el bajo nivel de conocimiento acerca de la semántica propia de las antes referidas estructuras, que se implementan en un lenguaje de programación.
Estos procesos que ocurren durante la ejecución de un programa escrito en un lenguaje de alto nivel, no son percibidos directamente por los estudiantes, siendo en la gran mayoría (70%) los que manifiestan estas dificultades, por lo que se hace necesario simular tales procesos a través de una representación gráfica de las mencionadas estructuras, recogidas estas en un software donde el estudiante pueda construir su propio conocimiento a través de la interacción con el mismo, y llegar a conclusiones lo más acabadas posibles sobre el tema de estudio.
Desarrollo
El desarrollo social que implica en el mundo contemporáneo la actual revolución científico – técnica es un aspecto a tener en cuenta en la formación de un egresado de la educación superior dirigido al desarrollo de modos de conductas en el que se manifiesten altos grados de independencia y pensamiento creador ante la solución de los problemas actuales. La búsqueda constante de nuevos métodos con el fin de garantizar una enseñanza desarrolladora en la que  los estudiantes a través de sus propias vivencias y al interactuar con los fenómenos que son objetos de estudio sean capaces de de percibir las características, propiedades y leyes  que rigen los mismos para llegar a conclusiones  mucho más completas, y mucho más cercanas a la realidad que los implica.
Sobre este aspecto se han referido Rodríguez y Ibarra (2014) cuando afirman que
El perfil de los estudiantes que actualmente acceden a la universidad está caracterizado por lo que se ha conceptualizado como ‘nativos digitales’ o ‘generación google’ y ello exige cambiar las relaciones convencionales en los entornos educativos, entre estudiantes y entre estudiantes y profesorado, facilitando el aprendizaje colaborativo, descentralizado y plural. (p.3)
Por otro lado el uso de simuladores para la enseñanza es una modalidad que en la actualidad cobra especial importancia, ya que garantizan el desarrollo de capacidades cognitivas en los estudiantes sin un excesivo gasto de recursos. Pues como afirman Aguilar y Heredia (2013) que “…Simular es la acción de imitar la operación de un proceso o sistema real para comprender el comportamiento de las variables del sistema y sus interrelaciones.” (p.1).  De manera que la simulación fenómenos que son objetos de estudio mediante el empleo de la tecnologías es un reto en los diferentes niveles educativos, por lo que varios estudios se han publicado sobre este aspecto, entre los más destacados en los que ha transcurrido del siglo XXI se encuentran Aguilar y Heredia (2013), López y Rosanigo (2013), Rodríguez y Ibarra (2014), Torres y Martínez (2015), Triana y Bonachea (2015), Guerrero y Pardo (2014), entre otros.
En todas estas investigaciones se hace referencia a que el empleo de las nuevas tecnologías como soporte para la enseñanza se realiza sobre una concepción constructivista, es decir enfatizan  la importancia de que los propios estudiantes sean parte activa en la construcción de su propio conocimiento, en lugar de la contribuir a la reproducción abstracta y fuera de contexto del mismo, estimulando así la reflexión, el intercambio colaborativo a partir de la experiencia, aspecto a lo que López y Rosanigo (2013) hacen referencia al plantear
Con la simulación los alumnos pueden analizar, diferenciar y crear su propio aprendizaje a través de una experiencia directa con el medio, aumentando su capacidad de respuesta y su habilidad para las demandas tecnológicas. El estudiante será capaz, no solo de aprender sino de tomar decisiones como lo haría en su ambiente de trabajo, además de aprender de la experiencia.(p.1)
Es por tanto la garantía de que el aprendizaje constituya para el estudiante un aspecto significativo  en su desarrollo, en la misma medida en que se produce un crecimiento vinculado a la experiencia del conocimiento del tema que es objeto de estudio cuando interactúa con la realidad simulada que se le presenta, aspectos en los que Torres y Martínez (2015) han llegado a afirmar que “los simuladores ayudan al aprendizaje de los estudiantes de forma interactiva y motivadora, recurriendo al enfoque basado en problemas de la enseñanza, lo que propicia la independencia de los futuros profesionales en la toma de decisiones.” (p.13).
Es así que debido a la existencia de evidencias palpables de los resultados positivos que se han obtenido con el empleo de la simulación como recurso de aprendizaje en el campo universitario plantearon la necesidad de su utilización en el proceso de enseñanza – aprendizaje de la disciplina Lenguajes y Técnica de Programación, al desarrollar un software con el  objetivo de apoyar el proceso de enseñanza – aprendizaje de la mencionada disciplina y lograr visualizar aspectos de la programación de una manera gráfica, ya que  al  utilizar un ambiente de este tipo es posible simular  el estado de la memoria y en la forma que las instrucciones del programa lo afectan,
De manera que le permita al estudiante comprender con mayor claridad las acciones internas que ocurren en el computador y asumir al respecto lo referido por Castellanos y Zilberstein (2001) cuando refieren que la concepción de la clase, está llamada a una importante remodelación, hacia un proceso de interacción dinámica de los estudiantes con el objeto de aprendizaje y entre ellos mismos, donde se integre acciones dirigidas a la instrucción, al desarrollo y a la educación de estos.
Breve descripción del software para simular las estructuras de control del flujo de un algoritmo o programa
En correspondencia con lo anteriormente planteado los estudiantes a través del uso de los simuladores serán capaces de familiarizarse con las técnicas básicas para la resolución problemas de la programación estructurada, y para  que estos hagan un uso eficaz de la aplicación, debe tener un dominio claro del concepto de variable que en la mencionada disciplina es tratado desde la asignatura Fundamentos de Programación y que Trejos (1999) la define como
Técnicamente una variable es un campo de memoria al que se le puede cambiar su contenido cuantas veces sea necesario. Primera aclaración, un campo de memoria es un pedacito de la memoria principal del computador en donde podemos guardar un dato. Segunda aclaración, a pesar de que en la memoria es donde se guarda la información exactamente ésta se almacena en variables. Esto le ha de representar a usted que es a través de variables como se puede utilizar la memoria del computador. (p.37)
Estos aspectos se representan en el software mediante de paneles. Donde el estudiante puede a través de la interacción con el mismo, comprender como un “pedacito de la memoria principal del computador” (Trejos 1999a.) cambia su valor en misma medida en que el algoritmo del programa es ejecutado.
El software recoge todas las estructuras de control estudiadas en las asignaturas de la disciplina, entre las que se encuentran las estructuras alternativas, la estructura repetitiva controlada por un contador y aquellas que son controladas por una condición, así como las estructuras para acumular datos, entre las que se encuentran el sumador y el contador.
Todos estos elementos se han recogido en la aplicación debido a la importancia que este tema encuentra en el estudio de la mencionada disciplina.
Se le presenta una ventana con diferentes vistas que representan lo que ocurre en la máquina al ejecutar el programa, es decir se le muestra una representación gráfica del flujo de la secuencia del programa (diagrama de bloques) , otra que simula la memoria RAM de la máquina, donde se almacena el código del programa escrito y los datos que son suministrados o asignados durante la corrida del programa que se ejecuta, así como lo que ocurre en la pantalla en la medida que el programa es ejecutado.

Flujo de ejecución del programa: representación gráfica del programa, la flecha de color verde indica la sentencia que se ejecuta en ese momento.
Memoria: esta representa la memoria RAM de la máquina, donde se encuentra el código del programa y los datos que se almacenan en las variables correspondientes.
Código: es el código en C++ u otro lenguaje de programación de alto nivel, o pseudocódigo escrito en PSeInT, que se corresponde con la representación gráfica de este, que se muestra en el flujo del programa. Aquí la sentencia que se ejecuta se aprecia con un fondo de color blanco.
Pantalla: es el dispositivo del ordenador con el que el estudiante está más familiarizado, en este se muestra lo que al ejecutarse el programa, se le da salida a través de esta. 
Variables en la memoria: lugar de la memoria donde se almacenan los datos.
La simulación en computadoras para ser utilizada en educación consiste en situar al alumno en un contexto que imite algún aspecto de la realidad y establecer en ese ambiente situaciones problemáticas, permitiéndole la manipulación de variables propias del sistema real, de manera que pueda observar el comportamiento del sistema como consecuencia de los cambios que él pueda inducir en las mencionadas variables. En general los aprendices esperan descubrir propiedades del modelo dando entradas y analizando salidas. Así en Escanilla (como se citó en Contreras, García y Ramírez 2010) refiere que los simuladores usados en educación son programas que contienen un modelo de algún aspecto del mundo y que permite al estudiante cambiar ciertos parámetros o variables de entrada, ejecutar o correr el modelo y desplegar los resultados.
En el software en la sección correspondiente a la estructura alternativa if/else, la ventana que se le presenta al estudiante ofrece la posibilidad de que el mismo le suministre información a la máquina, ya que en la parte superior izquierda el panel para la pantalla está habilitado para ello (fig 2) permitiendo una mayor interacción del estudiante con el mismo.

¿Cómo utilizar el software en el contexto docente?
El empleo de simuladores en la enseñanza debe ser una tarea previamente planificada y dirigida por el profesor, en nuestro caso los estudiantes deben conocer previamente hacia donde deben dirigir su atención, es decir ¿qué es lo que se debe observar?, ¿Qué cambios ocurren en el panel que representa la memoria RAM, en el que se encuentra el código del programa, y los datos?, y ¿en qué momento se producen dichos cambios? con el fin de  obtener resultados positivos en  la solidez de la asimilación de los conocimientos, habilidades y hábitos  que se puede lograr en los estudiantes, ya que esta es la garantía de que el estudiante manifieste una formación integral, con conocimientos sólidos y habilidades formadas.
Este puede ser utilizado en diferentes contextos teniendo en cuenta lo citado por Fuentes (citado por Guerrero y Pardo) acerca de los presupuestos de la Didáctica de la Educación Superior que permite interpretar el proceso formativo universitario como el proceso social e intencional que se desarrolla en el tiempo y el espacio a través de la construcción de significados y sentidos entre los sujetos implicados y orientado hacia la consecución de la condición humana. Por lo que la simulación puede jugar un papel determinante para el desarrollo de habilidades cognitivas en los estudiantes durante el proceso de enseñanza aprendizaje de las asignaturas de la  disciplina Lenguaje y Técnica de Programación, entre los que se encuentran:

  • En el contexto de una clase en el aula (en toda la clase o en parte de ella)
  • En el contexto de el desarrollo de un trabajo independiente
  • En el contexto del desarrollo de una consulta como forma de organización del proceso.

Uno de los aspectos fundamentales a tener en cuenta para el desarrollo de cualquier actividad docente que tenga como objetivo primordial el crecimiento de nuestros estudiantes está dado en el diagnóstico que se tiene de los mismos, es decir el docente debe conocer cuáles son las limitaciones que poseen sus estudiantes para poder trabajar sobre estas y llevarlos a etapas superiores de desarrollo.
De modo que para el desarrollo de la clase donde se traten algunas de las estructuras básicas de control que se estudian en la disciplina Lenguaje y técnica de Programación, el profesor debe desarrollar una guía de observación que le permitirá a los estudiantes ir haciendo anotaciones  acerca de los elementos básicos para comprender mejor la semántica de las mencionadas estructuras.
A modo de ejemplo si en la clase se estudia la estructura repetitiva por condición (con pre-condición),  una guía pudiera quedar como sigue:
¿Qué observar en el panel donde se representa el flujo del programa?

  • La secuencia en que se produce la ejecución de cada una de las sentencias, indicada por la flecha de color verde.
  • ¿Cuándo comienza el bloque repetitivo y cuándo termina el mismo? o ¿Qué valor debe tener la expresión lógica que se evalúa para que el bloque a repetir se ejecute? y ¿Qué valor debe tener esta para que este termine?

¿Qué observar en el panel que representa la memoria?
Observar que en la misma medida que la flecha de color verde se mueve indicando la sentencia que se ejecuta en el diagrama de bloques que representa el flujo del programa, en el panel de la memoria donde se encuentra el código del mismo ocurre algo similar, en el que cada sentencia que se ejecuta aparece en un fondo de color blanco. Por tanto el estudiante debe prestar especial atención a lo que ocurre donde se encuentran los datos, y lo que sucede en el panel que representa la pantalla.
¿Qué sucede en la memoria donde se almacena el valor de a y de s?, ¿En cuanto se incrementa cada una de las variables?, Este aspecto es importante porque a partir del análisis que se realice el estudiante puede llegar a definir con mejor claridad la diferencia  que existe entre un sumador y un contador.
Durante la observación de cada una de las partes el estudiante compara, clasifica lo general, clasifica lo particular, clasifica lo esencial, establece relaciones , por lo que este  tiene la posibilidad de evacuar las dudas surgidas, preguntar, aclararse al respecto, realizar valoraciones sobre lo que se observa, explicar y argumentar cada aspecto, lo que le permitirá desarrollar procesos reflexivos sobre el tema tratado, durante un proceso de socialización en el aula a través de un debate bajo la guía del profesor para llegar a conclusiones acerca de cada uno de los aspectos que se corresponden con la estructura de control objeto de estudio  que fueron observadas durante la simulación de la corrida de un programa en la memoria RAM del ordenador.

Conclusiones
Con el empleo de simuladores para la enseñanza de la programación se facilita el aprendizaje del estudiante mediante un enfoque participativo en el que se  aprovechan todas las potencialidades de la computadora en función del desarrollo de la capacidad de los estudiantes para la  resolución de problemas, en la misma medida que estos se apropian del conocimiento de las mencionadas estructuras.
En el proceso de enseñanza – aprendizaje de la Programación, el fenómeno de la simulación es una herramienta que permite mejorar el incentivo del estudiante hacia su propio aprendizaje, la motivación, el ritmo con que el mismo aprende, la interacción con el medio, la participación en el grupo, independientemente de que se visualizan procesos que se producen en la RAM del ordenador y que de otra manera sería imposible una adecuada asimilación por parte del estudiante o sería mucho más costoso

Referencias bibliográficas
Aguilar Juárez I. y Heredia Alonso, José R. (2013). Simuladores y laboratorios virtuales para Ingeniería en Computación. Congreso Virtual sobre Tecnología, Educación y Sociedades CTES. [en línea], enero-junio (2013)  Recuperado. http://cenid.org.mx/memorias/ctes/index.php/ctes/article/view/550/512
Castellanos D. y Zilberstein Toruncha, José. (2001). Enseñanza y aprendizaje desarrollador. Instituto Central de Ciencias Pedagógicas.
Contreras Gelves, G. A, García Torres R. y Ramírez Montoya María S. (2010). Uso de simuladores como recurso digital para la transferencia de conocimiento. Apertura. Revista de Innovación Educativa. [en línea], 1 (2), Recuperado. http://www.udgvirtual.udg.mx/ apertura/index.php/ apertura/ issue/view/10
Guerrero Ferrer, D Y Pardo Gómez, María E. (2014) Uso de los tutoriales inteligentes en los procesos formativos universitarios contemporáneos. Centro de Estudios de la Educación Superior, Universidad de Oriente, Santiago de Cuba. [en línea], 133 (2014), Recuperado. http://revistas.uo.edu.cu/index.php/stgo/ issue/view/18.
López de Munain, C. y Rosanigo, Zulema B. (2013). Objetos de aprendizaje y simulación en el proceso de enseñanza aprendizaje. Facultad de Ingeniería. Universidad Nacional de la Patagonia San Juan Bosco. Chubut. Argentina. 
Rodríguez Gómez G. y Ibarra Saíz M. S. (2014)  Desarrollo de la competencia evaluadora en estudiantes  universitarios a través de juegos de simulación. Congreso Iberoamericano de Ciencia, Tecnología e Innovación y Educación. Buenos Aires, Argentina.DOI. ISBN: 978-84-7666-210-6-Artículo-1214.
Torres Valle Antonio y Martínez Martín Erich. (sept.- dic.).Simulador para la enseñanza interactiva del riesgo de cambio climático. Revista cubana de ingeniería.[en línea], 6 (3), Recuperado. http://rci.cujae.edu.cu/index.php/rci/article/view/395
Trejos Buriticá, Omar I. (1999). La esencia de la lógica de programación. Editorial Papiro. Pereira. Colombia. DOI. ISBN: 958-33-1125-1
Yaneisy Triana y Ana Ivis Bonachea Pérez (julio - octubre  2016). Simulación. Procedimiento para enseñar y aprender didáctica de la lengua española y la literatura. Pedagogía y Sociedad. [en linea],19(46), Recuperado. http://revistas.uniss.edu.cu/index.php/ pedagogia-y-sociedad/ article/ view/451/379.

*Institución: Universidad de Las Tunas, Cuba Dirección electrónica: osmel@ult.edu.cu Dirección Postal. Avenida Carlos J. Finlay s/n. Reparto Buena Vista, Las Tunas

Recibido: 23/05/2019 Aceptado: 31/07/2019 Publicado: Julio de 2019

Nota Importante a Leer:
Los comentarios al artículo son responsabilidad exclusiva del remitente.
Si necesita algún tipo de información referente al articulo póngase en contacto con el email suministrado por el autor del articulo al principio del mismo.
Un comentario no es mas que un simple medio para comunicar su opinion a futuros lectores.
El autor del articulo no esta obligado a responder o leer comentarios referentes al articulo.
Al escribir un comentario, debe tener en cuenta que recibirá notificaciones cada vez que alguien escriba un nuevo comentario en este articulo.
Eumed.net se reserva el derecho de eliminar aquellos comentarios que tengan lenguaje inadecuado o agresivo.
Si usted considera que algún comentario de esta página es inadecuado o agresivo, por favor, escriba a lisette@eumed.net.

URL: https://www.eumed.net/rev/atlante/index.htmll
Sitio editado y mantenido por Servicios Académicos Intercontinentales S.L. B-93417426.
Dirección de contacto lisette@eumed.net