Logo Studenta

CNEISI_2009_MatDis_-_Aplicacion_de_apoyo_en_el_area_Matematica_Discreta

¡Este material tiene más páginas!

Vista previa del material en texto

MatDis: Aplicación de apoyo para Matemática Discreta 
 
Blas, María Julia – Gaspoz, Cecilia – Herrera, Mariana 
 
Universidad Tecnológica Nacional, Facultad Regional Santa Fe 
 
Abstract 
Este proyecto, aspira a producir una secuencia 
didáctica para los alumnos de los primeros niveles 
de Ingeniería en Sistemas de Información, 
integrando contenidos de Matemática Discreta con 
los trabajos prácticos finales de Algoritmos y 
Estructuras de Datos. Mediante el uso de una 
metodología de trabajo en etapas, se generó una 
aplicación para la cátedra Matemática Discreta. 
Este software llamado MatDis, se encarga de 
resolver problemas sobre Estructuras Algebraicas 
Finitas y sobre Grafos Dirigidos, utilizando 
herramientas desarrolladas en la cátedra 
Algoritmos y Estructuras de Datos. 
 
Palabras Clave 
Secuencia didáctica. Aplicación. Integración. 
Adaptación de código. Algoritmos. Grafos dirigidos. 
Estructuras algebraicas. Interfaz. 
 
Introducción 
El eje principal, sobre el cual se sustenta 
este trabajo, es un proyecto de investigación 
iniciado en el año 2008, dirigido por las 
docentes Malva Alberto (Matemática 
Discreta; Directora) y Marta Castellaro 
(Algoritmos y Estructuras de Datos; 
Codirectora) de la Facultad Regional Santa 
Fe - Universidad Tecnológica Nacional que 
involucra la participación de alumnos y 
profesores de los primeros niveles de la 
carrera. El proyecto tiene como objetivo 
diseñar e implementar secuencias didácticas 
en matemática y tecnologías básicas que 
atiendan a la selección, articulación y 
complejización creciente de contenidos y 
actividades, con carácter transdisciplinar en 
los primeros años de la carrera. Pone a 
prueba actividades que puedan expandirse, 
proyectarse y retroalimentarse a lo largo de 
uno o dos ciclos lectivos con la intención de 
promover la capacidad de los alumnos para 
gestionar sus propios aprendizajes. 
Como ex-alumnas de las cátedras 
involucradas, con el objetivo de mejorar 
nuestros propios aprendizajes y con la idea 
de ayudar y colaborar con el aprendizaje de 
los alumnos de primer año es que 
participamos en la producción de esta 
secuencia didáctica que intenta mejorar los 
desempeños de los alumnos en el momento 
de resolver y verificar resultados en temas 
de Matemática Discreta. 
Nuestra propuesta utiliza como punto de 
partida las aplicaciones diseñadas por los 
alumnos de primer año del ciclo lectivo 
2008, en Algoritmos y Estructuras de Datos 
y que formaban parte de sus trabajos 
prácticos o de trabajos de integración 
finales para la regularización de la cátedra. 
Las mismas, fueron planteadas con la 
intención de producir una herramienta de 
apoyo en dos contenidos que generalmente 
presentan dificultades para su comprensión: 
Estructuras Algebraicas Fintas y Grafos 
Dirigidos. 
Durante el desarrollo de esta experiencia, se 
profundizó la idea de integrar estos trabajos 
prácticos, con el fin de generar un programa 
con valor en el área Matemática Discreta. 
Para ello, se centraron esfuerzos en realizar 
mejoras a nivel de interfaz y de algoritmos; 
como también en la adaptación de las 
funcionalidades existentes, la 
implementación de nuevas características y 
la extracción de aquellas agregadas 
solamente con fines educativos de la 
asignatura. 
Se pretende que esta nueva aplicación, a la 
cual hemos llamado “MatDis” y todo el 
trabajo realizado resulte útil para los 
docentes de ambas cátedras y que los 
alumnos de ingreso 2009 puedan aprender 
con esta herramienta tanto como nosotras 
disfrutamos haciendo esta tarea. 
 
Elementos del trabajo y metodología 
Para generar la aplicación final, y cumplir 
con el principal objetivo de mejorar las 
situaciones de aprendizaje para Matemática 
Discreta, se utilizó una metodología de 
trabajo en fases. Debido a la cantidad de 
información disponible, se planificaron 
cinco etapas: 
 
Etapa 1: 
Formalización de las funcionalidades a 
implementar para Estructuras Algebraicas y 
Grafos Dirigidos. 
 
Etapa 2: 
Identificación de comportamientos 
secundarios a remover. Definición de 
comportamientos a agregar. 
 
Etapa 3: 
Integración y adaptación de los algoritmos 
existentes. 
 
Etapa 4: 
Diseño de una interfaz de usuario. 
 
Etapa 5: Pruebas. 
 
Concluidas las cinco fases, se obtuvo una 
aplicación final: MatDis. De cada etapa, se 
detalla a continuación cual fue su meta, 
como se llevó a cabo y cuáles fueron los 
resultados obtenidos. 
 
Etapa 1: Formalización de las 
funcionalidades a implementar para 
Estructuras Algebraicas y Grafos Dirigidos 
 
Las aplicaciones que sirvieron como base 
de este proyecto, son los trabajos prácticos 
finales de la cátedra Algoritmos y 
Estructuras de Datos del ciclo lectivo 2008. 
Su objetivo fue integrar el resto de los 
trabajos prácticos desarrollados durante el 
cuatrimestre en una aplicación de mayor 
alcance. Debido a la naturaleza de las 
consignas, los requisitos que debían 
cumplir las aplicaciones variaban según el 
número de grupo asignado. 
A raíz de esto surge esta etapa. La meta es 
definir el conjunto de operaciones a 
implementar; tanto para Estructuras 
Algebraicas, como para Grafos Dirigidos. 
Teniendo en cuenta las operaciones que ya 
estaban definidas en el común de los 
trabajos, contemplando las temáticas 
desarrolladas en la asignatura Matemática 
Discreta, y tras haber realizado una serie de 
reuniones, sin perder de vista el objetivo 
final, se obtuvo como resultado una lista de 
funcionalidades (Tabla 1). 
FUNCIONALIDADES 
ESTRUCTURAS ALG. DIGRAFOS 
Cargar alfabeto/LCI Cargar grafo 
Visualizar LCI Grado 
Idempotencia Ver grafo 
Semigrupo 
Conmutativo 
Nodo 
Aislado 
Con unidad Pendiente 
Grupo / Abeliano Camino 
Subgrupo Simétrico 
Divisores de cero Reflexivo 
Anillo 
 
Conmutativo D-completo 
Con unidad Nodos adyacentes 
Con división Lista grados nodos 
Integridad Lista nodos 
pendientes Cuerpo 
 
Tabla 1: Lista de funcionalidades 
 
Etapa 2: Identificación de comportamientos 
secundarios a remover. Definición de 
comportamientos a agregar 
 
Una vez definidas las operaciones a 
implementar, y previo al comienzo de la 
composición del programa final, surge esta 
etapa, la cual tiene como meta terminar de 
definir las funcionalidades a implementar, a 
nivel aplicación, para posteriormente 
comenzar a diseñar. 
Para cumplirla, se identificó de forma 
precisa cuales eran los comportamientos no 
esenciales para la aplicación final, y que 
por lo tanto eran necesarios remover. De la 
misma forma, se definió un conjunto de 
funcionalidades nuevas; las que debido a 
las características del trabajo práctico, y a 
los plazos dados a los alumnos, no habían 
sido implementadas. 
Originalmente, al iniciar la ejecución, los 
trabajos constaban de una fase de registro y 
manejo de usuarios. Esto requería la 
validación de una contraseña, y nombre de 
usuario; lo que conjuntamente incluía el uso 
de archivos para mantener esta información 
almacenada. Debido a que para los fines de 
una herramienta del tipo que se pretende 
diseñar esto no era necesario, se decidió 
quitar todas esas funcionalidades. 
Por otra parte, dada la naturaleza de la 
herramienta que se va a diseñar, y teniendo 
presente quiénes serán sus potenciales 
usuarios, se decidió agregar opciones de 
ayuda a lo largo de toda la aplicación. Las 
mismas, se clasificaron según su objetivo 
en dos tipos: 
 
� Información extra: Define conceptos 
teóricos. Permite que el usuario, ante el 
desconocimiento de un concepto 
(manejado por el programa), pueda 
solucionar su duda. Es un medio de 
información de acceso rápido. 
 
� Ayuda: Trata los problemas más comunes 
que suelen surgir mientras se trabaja con 
el programa. Explica cuales son las 
formas de ingreso de los datos, y como 
serán mostrados por pantalla. Da detalle 
de porque pueden producirselos errores 
durante la ejecución. 
 
Junto con lo explicitado anteriormente, se 
implementó una funcionalidad más. La 
misma consiste en permitirle al usuario 
generar un archivo de salida que almacene 
la información de la parte del programa en 
la cual estuvo trabajando. Será llamado 
grafos.txt o estructuras.txt (según sea que 
haya ejecutado el menú Grafos Dirigidos o 
Estructuras Algebraicas); y guardará, no 
solo los datos ingresados, sino también la 
respuesta a todas las operaciones que 
puedan ser efectuadas sobre los mismos. 
Durante la ejecución del programa, se 
preguntará si se desea crear este archivo, y 
en caso afirmativo se especificará su 
ubicación. La finalidad de este agregado, es 
que el usuario pueda simplemente cargar 
los datos, generar el archivo de salida, y 
luego (teniéndolo impreso o no) ver cuales 
propiedades se cumplen y cuales no. 
Una vez concluida esta etapa, debido a que 
todas las funcionalidades que se desean 
implementar están completamente 
determinadas, se está en condiciones de 
avanzar, e iniciar el proceso de integración 
y adaptación de los distintos trabajos. 
 
Etapa 3: Integración y adaptación de los 
algoritmos existentes 
 
Partiendo del conjunto de aplicaciones 
diseñadas en lenguaje C por los alumnos de 
Algoritmos y Estructuras de Datos, la meta 
en esta etapa es integrar y adaptar de forma 
coherente las representaciones de datos y 
los algoritmos de las operaciones de 
Estructuras Algebraicas y de Grafos 
Dirigidos. 
Como resultado, se obtiene una 
representación de datos específica para cada 
tema, y el código de las operaciones 
correspondientes, según lo definido en las 
etapas previas. 
Luego de revisar las distintas 
codificaciones, y teniendo en cuenta que el 
común de los trabajos usó array para 
implementar Estructuras Algebraicas y 
listas enlazadas para Grafos; se decidió que 
la representación de los datos se haría de 
igual forma. Esta decisión se tomó por dos 
motivos. El primero es que la mayoría de 
los trabajos utilizaban estas estructuras. Así, 
esta elección facilita encontrar un mayor 
número de operaciones ya definidas para la 
manipulación de datos. Con esto último, 
mucho código es potencialmente candidato 
a ser reutilizado. El segundo motivo, es que 
criterio personal, se cree que dicha forma 
de representación es completamente 
adecuada para la magnitud del trabajo. 
Posteriormente del conjunto de trabajos 
prácticos se eligió un subconjunto que 
cumpliera con la representación elegida. De 
allí se seleccionó una aplicación para usar 
como base. Se decidió utilizar el programa 
desarrollado por las alumnas Gaspoz, Mir y 
Tibaldo. En esta aplicación, los datos eran 
almacenados de la siguiente manera: 
 
� Estructuras Algebraicas: Para el alfabeto 
se crearon dos estructuras: 
 
1) Un array de tipo de dato elemento*, 
que guarda otro array de 11 caracteres 
para el nombre de cada elemento. 
 
2) Un array de tipo de dato Alphabet que 
guarda 20 elementos del tipo de dato 
elementos. 
 
� Grafos Dirigidos: Su representación queda 
definida por dos listas enlazadas: 
 
1) Lista de los nodos del grafo: Cada nodo 
incluye su nombre y un campo valor 
para almacenar el entero 
correspondiente. 
 
2) Lista de los arcos del grafo: Cada nodo 
incluye un puntero al nodo origen, un 
puntero al nodo destino, y dos campos 
más con el valor numérico 
correspondiente al nodo destino y al 
nodo origen. 
 
Con esta elección, se comenzó un proceso 
de trabajo continuo e interactivo. 
En primera instancia, se removieron las 
funcionalidades de manejos de usuario. 
Esto fue sencillo, ya que el código de las 
funciones que cumplían con esta actividad 
se encontraba en una librería especifica. 
Luego, se incorporaron las operaciones 
definidas para Estructuras Algebraicas. Para 
esto, se juntaron funciones y código de 
distintos trabajos seleccionados con 
anterioridad. A algunos fue necesario 
hacerles correcciones, o agregarles parte de 
código. Lo mismo se realizó para las 
operaciones de Grafos Dirigidos. En este 
caso, surgió una dificultad mayor, debido a 
que los trabajos originales trataban los 
nombres de los nodos con números, y en la 
Matemática Discreta se utilizan caracteres. 
Para adaptar esto, se codificaron funciones 
que capturan cadenas de caracteres por 
pantalla, pero que luego le generan a cada 
una, un número entero para su 
almacenamiento interno. Lo mismo, pero en 
sentido inverso, ocurre cuando se debe 
mostrar por pantalla un nombre guardado. 
Con esta solución no se requirió ningún tipo 
de modificación en las funciones existentes. 
Finalmente, como ultima parte de esta 
etapa, se codificaron las funcionalidades 
nuevas. Esta tarea simplemente fue generar 
código, no se le dio un formato definido 
(esto se dejó para la etapa siguiente). 
 
Etapa 4: Diseño de una interfaz de usuario 
 
Una vez que se finalizó la codificación y la 
corrección de los algoritmos para todas las 
operaciones definidas en las fases 1 y 2, se 
pasó a la última etapa de la construcción del 
programa: la definición de la interfaz. Para 
esto, se trabajo en conjunto alumnos de 
distintos años, los cuales además de dar sus 
perspectivas desde el punto de vista de 
diseñadores, dieron su punto de vista como 
potenciales usuarios. 
La meta aquí es diseñar una interfaz 
sencilla y completa, que integre con el 
mismo criterio las funcionalidades de 
Estructuras Algebraicas y de Grafos 
Dirigidos. 
Como parte de la definición de una interfaz 
global para la aplicación, en esta etapa, se 
estableció una combinación de colores. Se 
decidió que toda la aplicación utilizaría azul 
y cian para los dos temas principales; y que 
tanto la ayuda como la información 
adicional estarían en magenta y blanco. A 
su vez, los errores se identifican con el 
color rojo y/o con un sonido de alerta. 
 
� Menú Principal 
 
 Como referente para la disposición de las 
distintas pantallas, se observaron los 
diseños de algunos trabajos de la cátedra. 
Las pautas impuestas en las consignas, 
también resultaron de gran utilidad; sobre 
todo la restricción que indicaba que al 
ingresar, se habilita un menú de opciones 
con 3 ítems: E (estructuras algebraicas), G 
(grafos), S (salir). Del trabajo elegido como 
base, se tomo la idea de diseñar un formato 
de pantalla similar al de la Figura 1. 
 
 
 
Figura 1 
 
Se examinaron distintas alternativas de 
colores y de formato. Respetando todos los 
lineamientos básicos definidos, se diseñó 
una alternativa similar a la Figura 1, pero en 
lugar de ingresar una opción, se trabaja con 
un menú desplazable. El formato final es el 
ilustrado en la Figura 2. 
 
 
Figura 2 
 
� Menú: Estructuras Algebraicas, Grafos 
Dirigidos, Información Extra, Ayuda 
 
La distribución y formato básico del menú 
de Estructuras Algebraicas y Grafos 
Dirigidos surgió como factor común en casi 
todos los trabajos prácticos. La mayoría de 
las aplicaciones implementaba ambos con 
un menú numérico (uno para cada tema), y 
solicitaba el ingreso de una opción. 
Esta idea se mantuvo, y la única definición 
adicional que se realizó es que el titulo de 
cada menú sería inverso en cuanto a los 
colores para las letras y para el fondo. 
Intentando respetar estas ideas, y 
agregándole algunas mejoras, para el menú 
Estructuras Algebraicas se pasó de la 
Figura 3 a la Figura 4. 
Lo mismo ocurrió con el menú de Grafos 
(se pasó de la Figura 5 a la Figura 6). 
 
 
 
 
Figura 3 
 
 
 
Figura 4 
 
 
 
Figura 5 
 
 
 
Figura 6 
 
La información extra y la ayuda, debido a 
que son funcionalidades agregadas para este 
trabajo, se diseñaron y codificaron en un 
nuevo menú, al que se accede desde 
cualquier parte del programa. Como este 
menú es distinto en esencia de los restantes, 
se lo armo con el mismo formato pero con 
otros colores. Algunas pantallasde esta 
parte del programa se muestran en las 
Figuras 7, 8, 9 y 10. 
 
 
 
Figura 7 
 
 
 
Figura 8 
 
 
 
Figura 9 
 
 
 
Figura 10 
 
� Errores 
Se diseñaron dos tipos de errores: 
 
1) Errores al ejecutar en un menú una 
opción no disponible en ese momento. 
 
2) Errores de carga de datos. 
En el primer caso, se diseñó un formato 
extra para la presentación en pantalla. El 
objetivo del mismo, es mostrar cual fue el 
motivo del error y acaparar la atención del 
usuario ante este evento; por lo que se 
utilizó color rojo y la emisión de un sonido 
de alerta (Figura 10). 
En el segundo caso, simplemente se emite 
un sonido de alerta, y se le indica al usuario 
cual fue su error. (Figura 11). 
 
 
 
Figura 10 
 
 
 
Figura 11 
 
ETAPA 5: Pruebas 
 
En este nivel se busca, antes de pasar a la 
prueba de la aplicación por parte de los 
docentes, hacer una verificación interna, 
para que ante cualquier eventualidad se la 
corrija a tiempo. 
La meta entonces es validar desde la 
perspectiva de alumnas, por medio de la 
realización de pruebas a distintos niveles, la 
aplicación obtenida a este punto del 
desarrollo. 
El resultado obtenido en esta etapa fue 
completamente satisfactorio. 
Se generaron distintos casos de prueba, los 
cuales incluían ejercicios dados a los 
alumnos en el libro de Matemática Discreta 
y ejercicios de exámenes (parciales y 
finales). Todos ellos se ejecutaron sobre el 
programa. 
A continuación, se dan a conocer dos casos 
de prueba utilizados (uno para cada tema); 
y se muestran las distintas pantallas que 
surgieron en la aplicación al ejecutar las 
distintas operaciones de menú. 
 
� Estructuras Algebraicas 
 
El alfabeto elegido para esta prueba es: 
 
A = {s, t, x, y} 
Las leyes de composición interna definidas 
sobre A son + y *. Sus respectivas 
definiciones se muestran a continuación en 
las Tabla 2 y 3. 
 
+ s t x y 
s y x s t 
t x y t s 
x s t x y 
y t s y x 
 
Tabla 2: LCI “+” 
 
* s t x y 
s y y x x 
t y y x x 
x x x x x 
y x x x x 
 
Tabla 3: LCI “*” 
 
Luego de realizar la carga en el programa 
de los elementos correspondientes al 
alfabeto A, con el fin de verificar si la 
información existente es correcta, se mostró 
por pantalla la Figura 12. Al cargar las LCI 
+ y *, se mostraron en pantalla las Figuras 
13 y 14 respectivamente. 
 
 
 
Figura 12 
 
 
 
Figura 13 
 
 
Figura 14 
 
Luego, a cada consulta, las respuestas 
obtenidas por pantalla fueron las siguientes. 
 
- Analizar si la LCI + es idempotente. Ver 
Figura 15. 
 
 
 
Figura 15 
 
- Analizar si la LCI + es semigrupo. Ver 
Figura 16. 
 
 
 
Figura 16 
 
- Analizar si la LCI + es semigrupo 
conmutativo. Ver Figura 17. 
 
 
 
Figura 17 
 
- Analizar si la LCI + es semigrupo con 
unidad. Ver Figura 18. 
 
 
 
Figura 18 
- Analizar si la LCI + es grupo. Ver Figura 
19. 
 
 
 
Figura 19 
 
- Analizar si la LCI + es grupo abeliano o 
conmutativo. Ver Figura 20. 
 
 
 
Figura 20 
 
- Analizar si el alfabeto B es subgrupo de 
(A,+). Ver Figura 21. 
 
 
 
Figura 21 
 
- Analizar si es anillo. Ver Figura 22. 
 
 
 
Figura 22 
 
- Analizar si es anillo con unidad. Ver 
Figura 23. 
 
 
 
Figura 23 
 
- Analizar si es cuerpo. Ver Figura 24. 
 
 
Figura 24 
 
 
� Grafos Dirigidos 
 
 
El Grafo elegido en este caso es el 
diagramado en la Figura 25. 
 
 
 
Figura 25 
 
Luego de la carga en el programa de los 
valores correspondientes a los nodos y a las 
conexiones entre ellos, a modo de 
confirmación el software mostró la pantalla 
correspondiente a la Figura 26. 
 
 
 
Figura 26 
 
 
Posteriormente, a cada consulta realizada, 
las respuestas obtenidas fueron: 
 
- Listar nodos aislados. Ver Figura 27. 
 
 
 
Figura 27 
 
- Determinar si un nodo es pendiente (en 
este caso el nodo c). Ver Figura 28. 
 
 
 
Figura 28 
 
 
- Listar nodos adyacentes a un nodo (en 
este caso nodo c). Ver figura 29. 
 
 
 
Figura 29 
 
- Grado de un nodo (en este caso nodo a). 
Ver Figura 30. 
 
 
 
Figura 30 
 
- Listar grados de los nodos. Ver Figura 31. 
 
 
 
Figura 31 
 
- Determinar si el grafo es D-Completo. 
Ver Figura 32. 
 
 
 
Figura 32 
 
- Determinar si el grafo es reflexivo. Ver 
Figura 33 
 
 
 
Figura 33 
 
- Determinar si el grafo es simétrico. Ver 
Figura 34. 
 
 
 
Figura 34 
 
- Determinar si existe un camino (en este 
caso que pase por los nodos a, d y e). Ver 
Figura 35. 
 
 
 
Figura 35 
 
- Determinar si existe un camino (en este 
caso que pase por los nodos a, b, c y d). Ver 
Figura 36. 
 
 
 
Figura 36 
 
- Determinar si un nodo es aislado (en este 
caso el nodo c). Ver Figura 37. 
 
 
 
Figura 37 
 
- Listar nodos pendientes. Ver figura 38. 
 
 
 
Figura 38 
 
 
Resultados 
Una vez concluidas las etapas del proceso 
de desarrollo de la aplicación, y ya teniendo 
un software concreto para exponer, se tomó 
un enfoque distinto para evaluar los 
resultados. 
Desde esta perspectiva, se buscó que 
estudiantes de años superiores (2º y 3º año), 
completamente ajenos al desarrollo de la 
aplicación, y que desconocían la existencia 
de este proyecto, realizaran pruebas sobre 
el programa. Las respuestas de esta 
actividad fueron muy buenas y 
completamente satisfactorias, por lo que se 
decidió agregar un ciclo más de prueba 
antes de terminar nuestro software. 
Se realizó una fase de testing, en la que se 
involucró a los profesores de la cátedra 
Matemática Discreta. Nuevamente, la 
aplicación fue aceptada en su totalidad, sin 
necesidad de realizar cambios mayores. 
Simplemente se realizaron algunas mejoras 
de bajo nivel e impacto en la aplicación 
existente, a raíz de consideraciones vistas 
desde la perspectiva docente. 
Al concluir las etapas de prueba, se obtuvo 
el programa final. 
Sobre esta aplicación, se realizaron 
ejecuciones para comprobar su eficiencia. 
Se muestran a continuación, los archivos de 
salida generados con un caso de prueba de 
Estructuras Algebraicas (Figura 39) y uno 
de Grafos Dirigidos. El Grafo utilizado es 
el esquematizado en la Figura 40, y el 
archivo de salida correspondiente es el de la 
Figura 41. 
 
 
 
Figura 39 
 
 
 
Figura 40 
 
 
Figura 41 
 
 
Discusión 
Tomando como referentes los resultados 
obtenidos en las pruebas, se observó que la 
aplicación cumple con los objetivos 
propuestos en una primera instancia (etapas 
1 y 2 de la metodología de trabajo). Todas 
las operaciones disponibles están 
implementadas adecuadamente; lo que 
permite avanzar, e ir más lejos generando 
nuevas expectativas. 
La aplicación diseñada, se ha definido 
como una herramienta de apoyo. Debido a 
esta característica, es posible relacionar esta 
experiencia con otras; como así también 
extender este mismo trabajo. 
Con el objetivo de explotar estas 
posibilidades, se planea a futuro, generar 
una guía de actividades sobre estos temas; y 
realizar, conjuntamente con los docentes, 
un taller para los alumnos en el cual se 
ponga en práctica el uso del programa. 
También será posible otorgarles una copia 
del programa a los estudiantes, para que lo 
utilicen en sus hogares como herramienta 
de estudio y de aprendizaje. 
Una experiencia que surge de forma natural 
de este trabajo, es la posibilidad de generar 
una secuencia de versiones del programa. 
La misma, como herramienta para 
Algoritmos y Estructuras de Datos, podría 
ser de utilidad para mostrar a los alumnos 
algunas posibilidades existentes para 
mejorar sus aplicaciones (generalmente 
trabajos prácticos), tanto a nivel de interfaz 
como a nivel de los algoritmos. Como es 
evidente, esta tarea está íntimamente ligada 
con la información que surgió a lo largo del 
desarrollo del software, pero la integración 
en un orden lógico y con justificaciones de 
los cambios, puede ser realizada como una 
actividad separada. 
Siestas ideas se concretan exitosamente, 
puede tomarse una iniciativa similar en el 
segundo cuatrimestre del ciclo lectivo 2009, 
para ser aplicada en 2010. En este supuesto 
caso, debido a que los alumnos habrían 
participado previamente como usuarios de 
una aplicación análoga, probablemente los 
resultados a nivel de aplicación sean 
mejores. Esto se debe a que conocerán por 
experiencia propia, cuales son los 
requisitos, tanto de interfaz, como de 
procesamiento, que los potenciales usuarios 
esperarán de la aplicación. 
 
Conclusión 
Una de las funciones de la educación es 
promover la capacidad de los alumnos para 
gestionar sus propios aprendizajes, para 
adoptar una autonomía creciente en su 
carrera académica y disponer de 
herramientas intelectuales y sociales que les 
permitan un aprendizaje continuo a lo largo 
de toda la vida. 
Para contribuir a esta función, desde nuestra 
perspectiva de alumnas, el objetivo de este 
proyecto fue generar un programa con valor 
en el área Matemática Discreta partiendo de 
las aplicaciones diseñadas por los alumnos 
de primer año en Algoritmos y Estructuras 
de Datos. 
Inicialmente, se siguió este proceso de 
desarrollo en cinco etapas, en forma lineal, 
pero luego, se comenzó a iterar sobre las 
distintas etapas; con el fin de construir una 
aplicación más eficiente. Se continuó con 
este proceso hasta que se obtuvo una 
aplicación que si bien es correcta y está 
terminada, puede ser mejorada por nuestros 
futuros aportes y por los que puedan dar los 
propios usuarios u otros alumnos 
comprometidos. 
La aplicación dio lugar al nacimiento de 
nuevas expectativas sobre el uso y destino 
futuro. Los alumnos de Matemática 
Discreta podrán ser usuarios durante este 
primer cuatrimestre del año 2009 y además, 
como alumnos de Algoritmos y Estructuras 
de Datos durante el segundo cuatrimestre 
podrán ampliar los alcances de la aplicación 
a otros temas. 
Finalmente, merecen citarse dos 
consecuencias de la actividad; por un lado 
la revisión de temas y actividades que 
debimos hacer y por el otro el 
acercamiento, la confianza y la interacción 
que se vivió a nivel personal mientras 
MatDis iba gestándose y generándose. 
Estamos orgullosas de haber iniciado esta 
actividad donde los propios estudiantes 
generen herramientas de apoyo para los 
alumnos que les suceden. 
 
Agradecimientos 
Destacamos la colaboración de docentes y alumnos. 
Muchas gracias a nuestros compañeros Melina 
Tibaldo, Fernanda Mir, Fabio Berra y Germán 
Barbini. 
 
Referencias 
[1] Aguilar, J.; Martinez; Z. (2005): Programación 
en C. Mc Graw Hill. México. 
[2] Alberto, M; Castellano, M. (2008): La 
innovación en el aula universitaria: contenidos y 
actividades integradas. Ponencia aceptada por el 
Comité Académico del Tercer Congreso de 
Educación. UNL. Santa Fe. 
[3] Alberto, M.; Schwer, I; Cámara, V; Fumero, Y. 
(2005): Matemática Discreta con aplicaciones a las 
Ciencias de la Programación y Computación. 
Ediciones UNL. 
[4] Marzal, A y Gracia, I. (2003) Introducción a la 
Programación con Python y C. Universidad Jaume. 
España 
 
Datos de contacto 
1. María Julia Blas. Universidad Tecnológica 
Nacional. Facultad Regional Santa Fe. 
Lavaisse 610 – Santa Fe - CP: 3000. 
mariajuliablas@gmail.com. 
2. Cecilia Gaspoz. Universidad Tecnológica 
Nacional. Facultad Regional Santa Fe. 
Lavaisse 610 – Santa Fe - CP: 3000. 
ceciliagaspoz@gmail.com. 
3. Mariana Herrera. Universidad Tecnológica 
Nacional. Facultad Regional Santa Fe. 
Lavaisse 610 – Santa Fe - CP: 3000. 
 merii.gud@hotmail.com.

Continuar navegando