Você está na página 1de 9

Ambiente de ayuda al diseo de programas de computadoras y

determinacin de su eficiencia.
Yolanda Soler Pellicer (1), Mateo Jernimo Lezcano Brito (2)
(1) Universidad de Granma, Cuba.
(2) Laboratorio de Informtica Educativa
Centro de Estudios de Informtica
Universidad Central Marta Abreu de Las Villas, Cuba
ysolerp@yahoo.es,
mlezcano@uclv.edu.cu
Resumen: La comprensin de los diferentes niveles
de abstraccin en el diseo de los datos, la seleccin
de estructuras y la implementacin de programas
ptimos que las manipulen, constituyen problemas a
solucionar en las carreras de perfil informtico. En
este artculo se presenta el sistema de mapas
conceptuales Tipos Abstractos de Datos como un
ambiente de ayuda al diseo de programas y el
anlisis de su complejidad. Integra animaciones,
imgenes, simulaciones, ejercicios, enlaces al aula
virtual de la asignatura Estructura de Datos, hilos
de discusin y el Sistema para la Visualizacin de
Programas (VisualProg), que constituye un recurso
importante, al permitir la visualizacin dinmica de
datos y cdigo de programas escritos en el lenguaje
Sucel, ayuda a la comprensin de procesos de un
alto nivel de abstraccin, muestra el clculo del
costo del programa y su funcin de complejidad, y
contribuye a mejorar el autoaprendizaje y el
trabajo colaborativo en un modelo de Enseanza a
Distancia.
Palabras clave: Visualizacin de programas,
Visualiza,
Estructuras
de
Datos,
Mapas
Conceptuales, Enseanza a Distancia.
Abstract: The comprehension of the different levels
of abstraction in the data design, the selection of
structures and the establishment of optimum
algorisms is being and problem to give solution in
the Computer Science specialties. In this paper one
presents the system of conceptual maps "Abstract
Data Types" as an environment of help to the design
of programs and the analysis of his complexity. It
integrates
animations,
images,
simulations,
exercises, links to the virtual classroom of the Data
Structure subject, threads of discussion and the

System for the Visualization of Programs


(VisualProg), which constitutes an important
resource on having allowed the dynamic
visualization of dates and code of programs written
in the language Sucel, helps to the process
comprehension of a high level of abstraction, shows
the calculation of the cost of the program and his
function of complexity and helps to improve the
autolearning and the collaborative work in a model
e- learning.
Key words: Visualizing programs, structure of data,
Conceptual Maps, e-learning.

1. Introduccin
La educacin en entornos virtuales es una modalidad
de educacin a distancia, cuya particularidad es la
integracin de tecnologa al proceso de enseanza
aprendizaje. Estas herramientas configuran de una
manera particularmente diferente los procesos sociocognitivos del aprendiz y las situaciones interactivas
alumno alumno, alumno tutor y tutor tutor
(Kearns and Vazirani, 2001).
En el proceso de enseanza-aprendizaje de la
asignatura Estructura de Datos, generalmente, para
lograr una interpretacin acabada de un programa se
realiza el estudio del cdigo fuente, que es incmodo
y de difcil aplicacin o la construccin de casos de
prueba para explicar la conducta de un programa,
tarea penosa y especulativa. Segn (Jeffery, 2001;
Seas and Moroni, 2003; Clinton, 2004), estas
dificultades motivan el desarrollo de programas
especiales que son usados para ayudar a explicar la
conducta de otros programas.
La educacin universitaria en Cuba transita hacia un
modelo de educacin semipresencial, lo que exige
una mayor calidad en los medios y tecnologas que

__________________________________________________________________________________________________________________
Revista de Informtica Educativa y Medios Audiovisuales Vol. 6(13),pgs. 1-2. 2009
ISSN 1667-8338 LIE-FI-UBA. liema@fi.uba.ar

Ambiente de ayuda al diseo de programas de computadoras y determinacin de su eficiencia.


____________________________________________________________________________________________________________________

se pongan a disposicin de los docentes y


estudiantes, as como de plataformas que apoyen el
proceso de enseanza-aprendizaje y soporten estos
recursos. A travs de la herramienta didctica
propuesta en el presente trabajo, es posible el
manejo en ambas direcciones (MES, 2003).
Es por ello que en el Centro de Estudios de
Informtica Educativa (CEIE) de la Universidad de
Granma y el Centro de Estudios Informticos (CEI)
de la Universidad Central Marta Abreu de Las
Villas, Cuba, se considera necesario cambiar el
enfoque desarrollado hasta el momento y aprovechar
las ventajas que brindan las herramientas
informticas para contribuir a que los estudiantes
puedan solucionar problemas complejos mediante el
diseo ptimo de Tipos Abstractos de Datos (TAD)
para representar la informacin y las operaciones
que sobre ellos se realizan, usando tcnicas de
visualizacin de programas; consultando la
informacin contenida en el curso de Estructuras de
Datos de la plataforma Moodle de la Universidad de
Granma, aprovechando las facilidades que la misma
proporciona para el trabajo colaborativo en grupos y
la interaccin entre los sujetos del proceso de
enseanza-aprendizaje, revisando la relacin entre
conceptos organizados en el mapa conceptual Tipos
Abstractos de Datos que se inserta como recurso a la
plataforma.
Se trazan los siguientes objetivos:
Disear un mapa conceptual que organice el
sistema de conocimientos de la asignatura
Programacin II, mostrando las relaciones entre
los distintos Tipos Abstractos, las estructuras de
datos, los algoritmos que implementan sus
operaciones, sus caractersticas, conceptos y
aplicaciones.
Disear una herramienta de ayuda al diseo de
estructuras de datos y la visualizacin de los
programas que implementan sus operaciones,
usando un lenguaje de alto nivel, desarrollado
como parte de la investigacin.
Integrar al mapa el Aula Virtual de la asignatura
estructura de Datos.
La combinacin de estas herramientas da respuesta a
las necesidades del nuevo Plan de Estudios D de la
carrera de Informtica, el cual tiene como objetivos
fundamentales la educacin virtual, semipresencial,
centrada en el alumno, un modelo en el que se
imparten los contenidos esenciales y el alumno debe,
usando los medios y las facilidades de la plataforma
de e-learning que se ha escogido, construir su propio
conocimiento, en interaccin con el grupo y el tutor.

2. La enseanza de la programacin de
computadoras.

La enseanza de la programacin, como parte


fundamental de la formacin profesional de las
carreras de Ciencias de la Computacin, ha sufrido
cambios importantes que han estado aparejados al
desarrollo de la tecnologa y la enseanza, muchos
de ellos se han basado en el surgimiento de nuevos
paradigmas de programacin y a cambios en los
entornos educativos (Castillo and Barbern, 2000).
Entre los principales obstculos que aparecen para el
aprendizaje y aplicacin de un lenguaje de diseo de
algoritmos pueden puntualizarse los siguientes:
El alumno se ve necesitado de manejar un gran
nmero de nuevos conceptos e integrarlos de
manera significativa. En los algoritmos, las
acciones complejas suelen definirse en trminos
de otras acciones ms sencillas
Las acciones tienen dos aspectos que estn
estrechamente relacionados entre s: una sintaxis
(reglas de redaccin de las acciones en un
algoritmo), y una semntica (significado formal y
preciso de una accin dada).
El alumno se enfrenta a la necesidad de manejar
un lenguaje objeto (para elaborar algoritmos) y un
metalenguaje (para hablar acerca de cmo se
comporta el lenguaje algortmico).
Existen conceptos relativamente complejos
interrelacionados entre s (Chestlevar, 2001).
Escribir un programa de computadora utilizando un
Lenguaje de Programacin requiere del alumno
varias competencias y habilidades, que involucran
bsicamente la capacidad de manipular un conjunto
de abstracciones interrelacionadas para la resolucin
de problemas.
A esto se suma, en muchos casos, una formacin
deficiente que les dificulta organizar nuevos
conceptos de una manera ordenada para construir
taxonomas y diferenciar propiedades que permitan
establecer pautas para razonar sobre ellas, esta
situacin puede agravarse en un modelo de
enseanza a distancia si no se traza una estrategia
adecuada.
En esta investigacin se constata que existen varios
factores que intervienen en el proceso de enseanzaaprendizaje de la programacin de computadoras,
unos son simplemente inherentes al sujeto en s
mismo, mientras los otros tienen ms relacin con
deficiencias en los mtodos y recursos usados.
Por consiguiente, se han desarrollado numerosos
ambientes de programacin, aplicaciones de
software y herramientas de enseanza para ayudar a
superar las dificultades afrontadas por los nuevos
programadores, algunas de las cuales se han
analizado en este captulo. De estas herramientas, las
basadas en el empleo de la visualizacin han
resultado ser eficaces, sin embargo, investigaciones

__________________________________________________________________________________________________________________
Revista de Informtica Educativa y Medios Audiovisuales Vol. 6(13),pgs. 3-11. 2009
ISSN 1667-8338 LIE-FI-UBA. liema@fi.uba.ar

Ambiente de ayuda al diseo de programas de computadoras y determinacin de su eficiencia.


____________________________________________________________________________________________________________________

en el rea de la psicologa, la interaccin hombremquina, la cognicin, y la pedagoga han


identificado y clasificado gran nmero de los
problemas que los principiantes afrontan al aprender
a programar y que, en ocasiones, las aplicaciones no
logran resolver.
(Bladek and Deek, 2005), consideran que estas
deficiencias pueden ser clasificadas en las categoras
siguientes:
2.1.1. Races Pedaggicas.
Una pedagoga ineficaz en la enseanza de la
programacin es uno de los factores vitales que
influir en la actuacin del programador en
experiencias subsecuentes. (Liffick and Aiken,
1996), observan que al principio los programadores
pueden tener dificultades al entender un nuevo
concepto, no porque sea difcil, sino porque est
dependiendo de un concepto anterior. Otro aspecto
puede ser atribuido a la inadecuada seleccin del
problema a solucionar para alcanzar determinada
habilidad. (Suchan and Smith, 1997), plantean por
consiguiente que los nuevos programadores
comienzan a escribir programas y generar el cdigo
sin realizar un proceso de anlisis planificado y
organizado. Por consiguiente Olson, Catrambone, y ,
as como, Pane y Myers (1996), observan que las
estrategias de solucin al problema general deberan
ser explcitamente adquiridas a travs de habilidades
en el desarrollo de programas. (Olson, Catrambone
and Soloway, 1987; Liffick and Aiken, 1996; Pane
and Myers, 1996; Suchan and Smith, 1997)
2.1.2. Races Psicolgicas
Un gran nmero de dificultades han sido clasificadas
como de races psicolgicas. La manera en que la
informacin est representada y es manipulada en
una computadora provoca un desafo a la
comprensin, como resultado los estudiantes tienen
un inadecuado modelo mental para comprender el
funcionamiento interno de la computadora. Adems,
algunos de los conceptos de programacin, tales
como la recursividad, son abstractos por naturaleza,
y otros no tienen una contrapartida en el mundo real
que facilite la analoga.
Tambin hay que tener en cuenta que, los nuevos
programadores han sido excelentes usuarios de
aplicaciones y sienten motivacin por la carrera,
pero no se han preparado psicolgicamente para
enfrentar un proceso de creacin de aplicaciones y
las dificultades que esto entraa.

2.1.3 Comprensin de los paradigmas


lenguaje de programacin.

del

Los estudiantes de programacin, en un inicio,


carecen de la capacidad efectiva para descomponer
el problema en sub-problemas que faciliten la
solucin. (Bailie, 1991), observa que descomponer
mientras se codifica es el principal factor que influye
en la habilidad de un programador. Adems, (Bonar
and Soloway, 1985), as como, (Pane and Myers,
1996), observan que cuando les falta un plan
adecuado, tienden a concebir uno utilizando los
conocimientos adquiridos a travs de sus
experiencias con el mundo real. (Deek, McHugh and
Hiltz, 2000), sin embargo, concluyen que estos
planes son a menudo inadecuados, porque no tienen
en cuenta las limitaciones y especificaciones de una
computadora.
La comprensin de programas es intrnsecamente
difcil para principiantes. (Ramalingam and
Wiedenbeck, 1997), la definen como el proceso que
facilita el entendimiento de un programa existente,
consideran que el elemento primario al comenzar a
programar es el desarrollo de soluciones de
programacin a problemas declarados y que se da
muy poca atencin a las habilidades de comprensin
de programas que ya han sido escritos, y ms
importancia a los que pueden ser modificados y/o
aplicados a otros problemas similares, estos autores
consideran, adems, que las estrategias de deteccin
de errores que juegan un papel crtico en el
mantenimiento de programas a nivel mundial, casi
siempre son ignoradas.
Muy raras veces un programa trabaja perfectamente
en la primera ejecucin, por lo tanto, la eliminacin
de errores es una habilidad esencial que un
programador debe desarrollar. (Gugerty and Olson,
1986), aseguran que la mayor parte de las
habilidades para la eliminacin de errores debe ser
aprendida a travs de la experiencia de escribir
programas y si los estudiantes carecen de
habilidades adecuadas para la comprensin de los
mismos, los fallos pasan inadvertidos en este
proceso.
Por consiguiente, (Satratzemi, Dagdilelis and
Evageledis, 2001), observan que, debido a esta
carencia de entendimiento, los programadores
noveles repetidamente intentarn corregir sus errores
entendiendo el significado del mensaje de error
producido por el compilador. Para el estudiante de
programacin, eliminar errores con frecuencia se
convierte en un ejercicio de rastreo-y-error hasta que
sus programas trabajan como se espera.
Otras de las dificultades de un programador
principiante se derivan de las complejidades del

__________________________________________________________________________________________________________________
Revista de Informtica Educativa y Medios Audiovisuales Vol. 6(13),pgs. 3-11. 2009
ISSN 1667-8338 LIE-FI-UBA. liema@fi.uba.ar

Ambiente de ayuda al diseo de programas de computadoras y determinacin de su eficiencia.


____________________________________________________________________________________________________________________

lenguaje de programacin y sus paradigmas


asociados. Comprender qu es un paradigma y cmo
este se relaciona con el mundo real, es con
frecuencia un problema para los estudiantes. Decidir
qu paradigma satisface la necesidad del estudiante
es un debate siempre actual, independientemente de
cual sea el paradigma de lenguaje escogido, los
estudiantes
siguen
enfrentando
dificultades
relacionadas con la sintaxis del lenguaje; los lazos;
sinnimos sintcticos, supresin de palabras claves
en diferentes sentencias; operadores de precedencia;
la semntica y fundamentos de la construccin de un
lenguaje de programacin (Knuth, 1973; Lipschutz,
1977).
A causa de la naturaleza persistente de estas
dificultades, muchas investigaciones se han
dedicado a estudiarlas y comprenderlas, lo que ha
conducido al desarrollo de nuevas metodologas,
paradigmas,
lenguajes
de
programacin,
herramientas de aprendizaje y tcnicas para ayudar
al programador que comienza. La visualizacin y las
herramientas visuales han sido identificadas como
un gran potencial para apoyar el desarrollo de un
programador novel.

3. Tcnicas
Programas.

de

Visualizacin

de

La Visualizacin de Software comprende la


Visualizacin de Algoritmos y la de Programas. La
primera consiste en la visualizacin de abstracciones
de alto nivel que describen el algoritmo, mientras
que la segunda se refiere al cdigo real del programa
y a las estructuras de datos. Ambas pueden darse en
forma esttica o dinmica (Stasko, Domingue,
Brown and Price, 1998; Chestlevar, 2001).
En este contexto, (Stojanovic, 2002), propone el uso
de mapas conceptuales para la enseanza de
conceptos bsicos de programacin y desarrollo de
algoritmos. Respecto a las destrezas cognitivas,
(Moreira, 2002), considera que los Mapas
Conceptuales desarrollan conexiones con ideas
previas, la capacidad de inclusin, la diferenciacin
progresiva entre conceptos, la integracin,
asimilacin y visualizacin de nuevas relaciones
entre ellos.
En la investigacin realizada con el objetivo de
encontrar herramientas que apoyaran el proceso de
vinculacin e integracin de los contenidos de la
asignatura Estructuras de Datos, se encontraron
sistemas como el propuesto por (Almeida, Blanco
and Moreno, 2003), un sitio web sobre estructuras
de datos con animacin de sus operaciones bsicas;
varias propuestas de Mapas Conceptuales para
organizar conceptos y mostrar relaciones, en el
servidor de la aplicacin CmapTools, diseada por

(Caas and Hill, 2004), para la creacin de mapas


conceptuales, no se encontr ninguno que
representara los contenidos de la asignatura; el Mapa
Conceptual Hipermedial (MCH) Kellu, creado por
(Uvia, Bertolami, Centeno and Oriana, 2005),
muestra las definiciones bsicas de trabajo con las
estructuras, fundamentalmente, los nexos entre los
conceptos, sin apoyarlos con informaciones y
recursos.
(Moroni and Seas, 2004), plantean que los Mapas
Conceptuales Hipermediales (MCH) constituyen una
nueva forma de visualizacin de programas, basada
en la representacin del cdigo y de la estructura
esttica del mismo por medio de Mapas
Conceptuales.
(Moroni and Seas, 2006), presentan el Mapa
Conceptual
Hipermedial
Multidimensional
(MCHMd) que permite conducir al alumno a un
proceso con mayor nivel de abstraccin, lo que tiene
como efecto un desarrollo ms acabado del mapa y
un acceso ms flexible a aquellos aspectos que
realmente se desean consultar limitando la enorme
cantidad de informacin que puede abrumar al
usuario.
En la dcada de los 80 las Tcnicas de Visualizacin
de Algoritmos y Programas se explotaron y
desarrollaron ampliamente. Mltiples sistemas
citados por (Graf, 1987; Michael Moshell, Hughes,
Lacy and Lewis, 1987; Maimone, Tygar and Wing,
1988; Chang, Tauber, Yu and Yu, 1989), usan
diversas tcnicas de visualizacin para mostrar
algunos aspectos del programa una vez que este est
escrito. Segn Myers (1989), existen otros Sistemas
de Visualizacin de Programas que intentan ilustrar
el cdigo, los datos o algoritmos de un programa
ajustndose a mltiples categoras porque ilustran
varios aspectos o muestran diferentes modos de
visualizacin y manejo. Entre estos se encuentran
BALSA (Brown and Sedgewick, 1984), PV
Prototype (Brown, Carling, Herot, Kramlich and
Souza, 1985), MacGnome (Chandhok, 1985),
Diagramas Orientados a Objetos (Cunningham and
Beck, 1986), TPM (Eisenstadt and Brayshaw, 1988),
Sorting and Sorting (Baecker, 1981), Incense
(Myers, 1983), TANGO (Stasko, 1989; Axoft,
2005), esta ltima ofrece una plataforma que soporta
una serie de conceptos primitivos tiles para la
creacin de animaciones.
Algunas de estas aplicaciones muestran, de forma
grfica, las operaciones bsicas con estructuras de
datos, visualizando el proceso que se ejecuta, sin
embargo, adolecen de las facilidades de
modificacin del cdigo en el momento de la
ejecucin y la visualizacin del efecto que producen,

__________________________________________________________________________________________________________________
Revista de Informtica Educativa y Medios Audiovisuales Vol. 6(13),pgs. 3-11. 2009
ISSN 1667-8338 LIE-FI-UBA. liema@fi.uba.ar

Ambiente de ayuda al diseo de programas de computadoras y determinacin de su eficiencia.


____________________________________________________________________________________________________________________

por otra parte, algunas han sido desarrolladas para


mostrar estructuras o algoritmos especficos.
En Cuba, esta temtica ha sido motivo de
preocupacin y ocupacin por parte de las carreras
de perfil informtico, se ha potenciado la
investigacin en la lnea de Informtica Educativa,
con el objetivo de elevar la calidad del Proceso
Docente. Se han diseado e implementado
ambientes de aprendizaje poderosos, que se
compenetran con las caractersticas de los procesos
de aprendizaje en forma efectiva y que involucran
una nueva concepcin del aprendizaje, como los
sistemas SESE, SEP y Progen, desarrollados por
Lezcano (1998), en el Centro de Estudios
Informticos de la Universidad Central de Las Villas
(Lezcano, 1998).
Soler y Lezcano (2007), realizan un anlisis crtico
de los aspectos siguientes: el sistema de
conocimientos de la disciplina Tcnicas de
Programacin de Computadoras de la carrera
Ingeniera Informtica, el nivel de precedencia de
los contenidos y la necesidad de vincular los temas
de diseo y anlisis para obtener algoritmos
eficientes en la asignatura Estructura de Datos.

4. Interfaz Tipos Abstractos de Datos


basada mapas conceptuales.
Teniendo como base los fundamentos anteriores y
las deficiencias detectadas, se crea el mapa
conceptual Tipos Abstractos de Datos, usando la
herramienta cmapTools. En el nivel primario del
mapa se muestra el concepto Tipos Abstractos de
Datos como un modelo matemtico y las
operaciones que se ejecutan sobre l, para
profundizar ms en el tema al nodo se le aade una
pgina web con la definicin y ejemplos.
En este nivel de su formacin los alumnos son
capaces de definir, debido a los conocimientos
adquiridos en las asignaturas de lgebra y
Matemtica I, el modelo matemtico de los nmeros
enteros, complejos o las matrices y las operaciones
sobre ellos, lo que sirve de base al estudio de nuevos
modelos ms complejos. La Figura 1 muestra el
mapa que representa la unin de estos dos conceptos
conocidos y la definicin de un Tipo Abstracto de
Datos, as como el mapa conceptual Pilas, derivado
del mapa Estructuras de Datos.

Figura 1. Mapas Conceptuales Tipos Abstractos


de Datos y Pila.
4.1. Recursos
conceptuales.

integrados

los

mapas

El mapa conceptual brinda informacin sobre todos


los conceptos incluidos, a travs de los recursos
(documentos, imgenes, videos, pginas web,
animaciones, simulaciones, mapas conceptuales) que
el cmapTools permite incluir a cada nodo. De esta
manera se muestran los diferentes niveles de
abstraccin en el diseo de los datos y su
implementacin.
4.1.1 Simulaciones de las operaciones con
Estructuras de datos.
Se incluyen aplicaciones y simulaciones para apoyar
la creacin de habilidades, comprensin de tcnicas,
mtodos y determinacin de eficiencia. Se incluyen,
por ejemplo, aplicaciones que implementan los
algoritmos clsicos de ordenamiento y bsqueda en
arreglos.
En la Figura 2 se muestran las aplicaciones para los
algoritmos de ordenamiento por los mtodos de
Bubble y QuickSort, para cada uno se ofrece un
anlisis de la complejidad teniendo en cuenta el
mejor, peor y el caso medio, lo que permite a los
estudiantes familiarizarse con el concepto de
eficiencia, a la vez que va comprobando paso a paso
los resultados de la ejecucin y puede comprender la
importancia del costo al elegir un algoritmo para
solucionar un problema.

__________________________________________________________________________________________________________________
Revista de Informtica Educativa y Medios Audiovisuales Vol. 6(13),pgs. 3-11. 2009
ISSN 1667-8338 LIE-FI-UBA. liema@fi.uba.ar

Ambiente de ayuda al diseo de programas de computadoras y determinacin de su eficiencia.


____________________________________________________________________________________________________________________

que este contenido parte de lo simple a lo complejo,


teniendo en cuenta la inclusin del conocimiento.
4.1.2 Sistema de Visualizacin de Programas
VisualProg en el lenguaje Sucel.

Figura 2. Aplicaciones que simulan los algoritmos


de ordenamiento Bubble y QuickSort.
Se parte, para este anlisis, del algoritmo de
ordenamiento Bubble, ya estudiado y fcil de
entender, demostrando su complejidad cuadrtica y
por tanto su ineficiencia al compararlo con otros. Se
adiciona al nodo una pgina web con informacin
general sobre esta operacin (Ordenamiento.htm) y
en ella se introduce la notacin O y se comparan los
diferentes algoritmos teniendo en cuenta esta
funcin. Las operaciones de ordenamiento y
bsqueda pueden ser ms ptimas si se utilizan
Tcnicas de Diseo y Anlisis de Algoritmos, es por
ello que al orientar el estudio del mtodo de
Ordenamiento Rpido (QuickSort) o Bsqueda
Binaria se sugiere una visita al nodo Divide y
Vencers de este mapa.
El nodo de ordenamiento cuenta, adems, con
problemas resueltos donde se utilizan algoritmos de
ordenamiento, se mezclan algunos y en otros se
propone a los estudiados que introduzcan variantes
para mejorar su eficiencia, en cada caso se realiza el
anlisis de complejidad y se compara con la de otros
algoritmos similares.
Una de las ventajas de la herramienta cmapTools es
la posibilidad de adicionar a un nodo una lista de
discusin, lo que facilita el trabajo colaborativo y la
interactividad, alumno-alumno y alumno-profesor.
Para un mismo concepto pueden crearse varias listas
de discusin. La generacin del mapa en formato
html permite su uso aunque el cmapTools no se
encuentre instalado como cliente, la direccin para
acceder al sitio cmap de la Universidad de Granma
es (http://cmap.udg.co.cu).
En esta fase de la investigacin se logra un sistema
bibliogrfico novedoso y una herramienta de
organizacin que muestra la esencialidad de cada
contenido y la interrelacin entre ellos, entendiendo

El Sistema de Visualizacin de Programas


VisualProg se inserta como un recurso importante en
el mapa conceptual, en el nodo Implementacin del
mapa principal. Fue desarrollado en una segunda
etapa de esta investigacin, en la primera se
implemento el compilador-intrprete del lenguaje
Sucel, que est basado en una gramtica que acepta
un lenguaje sencillo, con similitud al estilo de
programacin C/C++/JAVA, y no incluye sentencias
inicuas (Fras, Soler and Lezcano, 2007).
VisualProg consta de tres funcionalidades
principales: edicin, ejecucin y animacin de
programas escritos en Sucel. La interfaz principal de
VissualProg incluye facilidades de edicin y
opciones para ejecutar acciones relacionadas con la
animacin y ejecucin de programas como Animar,
Ejecutar y Compilar. La ejecucin de un programa
incluye una ventana Consola Sucel que realiza la
funcin de interfaz para la entrada salida del
mismo. El proceso de animacin consta de cuatro
ventanas: la interfaz principal, la interfaz de
entradasalida, la ventana de visualizacin de
programas y la ventana de visualizacin del rbol de
llamadas a funciones, se muestra el cdigo del
programa que se encuentra en el proceso de
animacin, resaltando la ltima lnea ejecutada
Al sistema se le aade el mdulo de visualizacin
dinmica de datos Pizarra_Digital (Pizal).
Por medio de la escritura de cdigo en ActionScript
dentro de la pelcula se controlan los elementos que
se muestran de forma que se correspondan con los
datos manejados por el programa.
Pizal representa cuatro tipos bsicos de datos,
variables, punteros, arreglos y estructuras y con la
combinacin de estos se logra la representacin de
estructuras de datos ms complejas como pueden ser
los arreglos de estructuras, listas, pilas, colas,
rboles y grafos (Figura 3).

__________________________________________________________________________________________________________________
Revista de Informtica Educativa y Medios Audiovisuales Vol. 6(13),pgs. 3-11. 2009
ISSN 1667-8338 LIE-FI-UBA. liema@fi.uba.ar

Ambiente de ayuda al diseo de programas de computadoras y determinacin de su eficiencia.


____________________________________________________________________________________________________________________

Figura 3: Pizal como herramienta de VisualProg


para la representacin de datos.
Uno de los problemas detectados en la comprensin
de los algoritmos est relacionado con el uso de la
recursividad, hasta el momento sin el uso del
sistema para explicar este proceso se representaba
el rbol de llamadas a las funciones de forma grfica
en la pizarra o usando una representacin esttica
del mismo a travs de una imagen digital. El sistema
VisualProg brinda la opcin de visualizar el rbol de
llamadas y comprobar cmo vara si modifica los
parmetros, lo que facilita, no slo la comprensin,
sino tambin la explicacin de estos procedimientos,
como se muestra en la Figura 4.

Figura 4: VisualProg: herramienta de ayuda a la


comprensin de la recursividad.
El sistema incluye la facilidad de calcular el costo y
la funcin O(n), permitindole al estudiante
comprobar la regla por la cual se ha llegado a este
valor, (Figura 5).

Figura 5. Clculo de la complejidad


visualizacin de las reglas usadas.

El sistema facilita la ejecucin, visualizacin y


clculo del costo paso a paso.
4.1.3 Aula Virtual de la asignatura como recurso
en el nodo Estructura de Datos.
Al nodo Estructuras de Datos del mapa principal se
inserta el recurso del Aula Virtual de Estructura de
Datos (usando Moodle), que permite fomentar
estrategias de enseanza-aprendizaje constructivistas
y apoya los pilares de la misma: aprender a
aprender, aprender a hacer, aprender a ser y aprender
a convivir con los dems, ya que en la asignatura se
trabaja por proyectos, en equipos. Se aprovechan las
ventajas de la plataforma para potenciar la relacin
entre los sujetos del proceso de enseanzaaprendizaje y la labor del tutor.
A partir del mes de septiembre de 2008 la carrera de
Ingeniera Informtica de la Universidad de Granma
se inicia en un Modelo de Enseanza a Distancia,
por lo que las actividades de chat, foros, actividades
evaluativos que facilita el Aula Virtual, resultan
imprescindibles para satisfacer las exigencias de este
modelo, mantener y elevar la calidad del proceso de
enseanza-aprendizaje, donde el papel del tutor es
muy importante y el estudiante se convierte en
verdadero protagonista y planificador de su propio
proceso de aprendizaje.

5. Conclusiones
La combinacin de los mapas conceptuales como
interfaz para presentar los conceptos y almacenar
recursos; la integracin del
Sistema de
Visualizacin de Programas VisualProg que realiza
la ejecucin real de programas ofreciendo
facilidades para la visualizacin de variables,
bloques de memoria y llamadas a funciones en
correspondencia con dicha ejecucin, ofreciendo
instrumentos para la edicin y depuracin de

__________________________________________________________________________________________________________________
Revista de Informtica Educativa y Medios Audiovisuales Vol. 6(13),pgs. 3-11. 2009
ISSN 1667-8338 LIE-FI-UBA. liema@fi.uba.ar

Ambiente de ayuda al diseo de programas de computadoras y determinacin de su eficiencia.


____________________________________________________________________________________________________________________

programasen; y el uso de la plataforma de Educacin


a Distancia de la Universidad de Granma da
respuesta a las necesidades del nuevo Plan de
Estudios de la carrera de Informtica en la
Universidad de Granma, Cuba, el cual fomenta la
educacin virtual, semipresencial, centrada en el
alumno y el grupo, usando un modelo en el que se
imparten los contenidos esenciales y el alumno debe,
usando los medios de enseanza, construir su propio
conocimiento, en interaccin con el grupo y el tutor.

6. Referencias
Almeida, F., Blanco, V. and Moreno, L. (2003).
EDApplets: Una Herramienta Web para la
Enseanza de Estructuras de datos y Tcnicas
Algortmitcas. Trabajo presentado en: X
Jornadas de Enseanza Universitaria de la
Informtica, Universidad de Laguna. Tenerife.
Axoft. (2005). XTango. Argentina: Axoft S.A.
Baecker, R. (1981). Sorting out Sorting. 16mm
color, sound film, 25 minutes. Dynamics
Graphics Project. Trabajo presentado en: ACM
SIGGRAPH81, Computer Systems Research
Institute, University of Toronto, Toronto,
Ontario, Canada.
Bailie, F. (1991). Improving the modularization
ability of novice programmers. Trabajo
presentado en: ACM SIGCSE Technical
Symposium on Computer Science Education.
Bladek, C. and Deek, F. P. (2005). Understanding
novice programmers difficulties as a
requirement to specifying effective learning
environments. New directions in higher
education, Nova Science, 5.
Bonar, J. and Soloway, E. (1985). Preprogramming
knowledge: A major source of misconceptions.
Human-Computer Interaction, 1(2), 133-161.
Brown, G., Carling, R., Herot, C., Kramlich, D. and
Souza, P. (1985). Program Visualization:
Graphical Support for Software Development,.
IEEE Computer, 18(8), 27-35.
Brown, M. H. and Sedgewick, R. (1984). A System
for Algorithm Animation. Trabajo presentado
en: Computer Graphics: SIGGRAPH84,
Minneapolis, Minn.
Caas, A. and Hill, G. (2004). Cmaptools: a
knowledge modeling and sharing environment.
Institute for Human & Machine Cognition,
USA.,
Castillo, J. and Barbern, O. (2000). Mapas
Conceptuales en Matemticas. Disponible en:
http://www.cip.es/netdidactica/articulos/mapas.
htm [2005.
Clinton, H. (2004). Program Monitoring and

Visualization (Springer-Verlag ed. Vol. 2).


Denver, 213.
Cunningham, W. and Beck, K. (1986). A Diagram
for
Object-Oriented
Programs.
Trabajo
presentado en: OOPSLA 86 Portland, Oregon.
Chandhok, R. (1985). Programming Environments
based on structure editing: The Gnome
approach. Trabajo presentado en: National
Computer Conference (NCC85). AFIPS.
Chang, S., Tauber, M., Yu, B. and Yu, J. (1989). A
Visual Language Compiler. IEEE Transactions
on Software Engineering, 506-525.
Chestlevar, C. I. (2001). Utilizacin de Mapas
Conceptuales en la enseanza de la
programacin. Baha Blanca - Argentina:
Departamento de Ciencias de la Computacin.
Universidad Nacional del Sur.
Deek, F. P., McHugh, J. and Hiltz, S. R. (2000).
Methodology and technology for learning
programming. Systems and Information
Technology, 4(1), 25-37.
Eisenstadt, M. and Brayshaw, M. (1988). The
Transparent Prolog Machine: an execution
model and graphical debugger for logic
programming. Journal of Logic Programming,
pp. 9.
Fras, I., Soler, Y. and Lezcano, M. (2007). Sistema
de Enseanza Asistida por Computadora para la
visualizacin de operaciones sobre estructuras
de datos y animacin de algoritmos. Publicada
en: Maestra en Nuevas Tecnologas para la
Educacin, Universidad de Granma, Bayamo,
74p.
Graf, M. (1987). A Visual Environment for the
Design of Distributed Systems. Workshop on
Visual Languages. IEEE Computer Society, pp.
330-344.
Gugerty, L. and Olson, G. (1986). Debugging by
skilled and novice programmers. Trabajo
presentado en: ACM SIGCHI on Human
Factors in Computing Systems.
Jeffery, C. (2001). Program Monitoring and
Visualization (Springer-Verlag ed.), 101.
Kearns, M. and Vazirani, U. (2001). An Introduction
to Computational Learning Theory: The Bactra
Review. Occasional and eclectic book reviews
by Cosma Shalizi. How to Build a Better
Guesser, 21.
Knuth, D. E. (1973). The art of computer
programing (2da ed.). Stanford: AddisonWesley Company, 634.
Lezcano, M. (1998). "Ambientes de aprendizaje por
descubrimiento para la disciplina Inteligencia
Artificial". Publicada en, Las Villas, Santa
Clara, 123p.

__________________________________________________________________________________________________________________
Revista de Informtica Educativa y Medios Audiovisuales Vol. 6(13),pgs. 3-11. 2009
ISSN 1667-8338 LIE-FI-UBA. liema@fi.uba.ar

10

Ambiente de ayuda al diseo de programas de computadoras y determinacin de su eficiencia.


____________________________________________________________________________________________________________________

Liffick, B. and Aiken, R. (1996). A novice


programmers support environment. Trabajo
presentado en: Integrating Technology into
Computer Science Education.
Lipschutz, S. (1977). Estructura de Datos (Edicin
Revolucionaria. ed.). La Habana: Edicin
Revolucionaria., 390.
Maimone, M. W., Tygar, J. and Wing, J. (1988).
Miro Semantics for Secu rity. IEEE Workshop
on Visual Languages, pp. 45-51.
MES. (2003). Documento base para la elaboracin
de los planes de estudio (PLAN D) (pp. 36).
Michael Moshell, Hughes, C., Lacy, L. and Lewis,
R. (1987). A Spreadsheet-Based Visual
Language for Freehand Sketching of Complex
Motions. Workshop on Visual Languages. IEEE
Computer Society, pp. 94-104.
Moreira, M. A. (2002). Mapas conceptuales y
aprendizaje significativo. Disponible en:
http://www.if.ufrgs.br/~moreira/mapasesp.pdf
[2007, 12-5-2007].
Moroni, N. and Seas, P. (2004). SVED: Sistema de
Visualizacin de Algoritmos.Departamento de
Ciencias de la Computacin,
Moroni, N. and Seas, P. (2006). Mapas
Conceptuales
Hipermediales
Multidimensionales. 5.
Myers, B. (1983). Incense: A System for Displaying
Data Structures. Trabajo presentado en:
Computer Graphics: SIGGRAPH 83.
Olson, G. M., Catrambone, R. and Soloway, E.
(1987). Programming and algebra word
problems: A failure to transfer. Empirical
studies of programmers: Second workshop, pp.
1-13.
Pane, J. and Myers, B. (1996). Usability issues in the
design of novice programming systems (Report
CMU-CS-96-132). Pittsburgh, PA: School of
Computer Science Technical. Carnegie Mellon
University.
Ramalingam, V. and Wiedenbeck, S. (1997). An
empirical
study
of
novice
program
comprehension in the imperative and objectoriented styles. Trabajo presentado en:
Empirical Studies of Programmers Workshop,
ACM.
Satratzemi, M., Dagdilelis, V. and Evageledis, G.
(2001). A system for program visualization and
problem-solving path assessment of novice
programmers. Trabajo presentado en: Annual
Joint Conference Integrating Technology into
Computer Science Education, 6th Annual
Conference on Innovation and Technology in
Computer Science Education.
Seas, P. and Moroni, N. (2003). Herramientas no

convencionales para la enseanza de la


programacin.
Publicada
en:
de
la
Computacin, Instituto de Ciencias e Ingeniera
de Computacin Universidad Nacional del Sur,
Baha Blanca-Argentina, 112p.
Stasko, J., Domingue, J., Brown, M. and Price, B.
(1998). Software Visualization: Programming
as a Multimedia Experience. MIT Press, 28.
Stasko, J. T. (1989). TANGO: A Framework and
System for Algorithm Animation. Publicada en,
Brown University, Providence, RI 02912, 257p.
Stojanovic, L. (2002). El paradigma constructivista
en el diseo de actividades y productos
informticos para ambientes de aprendizaje "online". Pedagoga. Caracas, 23, 66.
Suchan, W. and Smith, T. (1997). Using Ada 95 as a
tool to teach problem solving to non-CS majors.
Trabajo presentado en: Annual International
Conference on Ada.Tri-Ada 97.
Uvia, P. R., Bertolami, M. A., Centeno, M. E. and
Oriana, G. C. (2005). Mapas Conceptuales: una
herramienta para el aprendizaje de Estructuras
de Datos. Trabajo presentado en: JEITICS 2005
- Primeras Jornadas de Educacin en
Informtica y TICS en Argentina, Dto.
Informtica-Facultad de Ingeniera- UNPSJB.

__________________________________________________________________________________________________________________
Revista de Informtica Educativa y Medios Audiovisuales Vol. 6(13),pgs. 3-11. 2009
ISSN 1667-8338 LIE-FI-UBA. liema@fi.uba.ar

11

Você também pode gostar