Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Autor(es):
Liliam Paola Pez Prez
John Henry Vsquez Acero
Rector Magnfico
Joaqun Emilio Snchez Garca S.J.
Decano Acadmico Facultad de Ingeniera
Ingeniero Francisco Javier Rebolledo Muoz
Decano del Medio Universitario Facultad de Ingeniera
Padre Sergio Bernal Restrepo S.J.
Directora de la Carrera de Ingeniera de Sistemas
Ingeniero Luis Carlos Daz Chaparro
Director Departamento de Ingeniera de Sistemas
Ingeniero Germn Alberto Chavarro Flrez
Pgina 1
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
Nota de Aceptacin
______________________________________________________
______________________________________________________
______________________________________________________
________________________________________
Jos Hernando Hurtado Rojas
Director del Proyecto
________________________________________
________________________________________
Julio Ernesto Carreo Vargas
Jurado
Diciembre, 2008
Pgina 3
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
DEDICATORIA
Dedicado a Jimmy Andrs Vsquez Acero.
Espero que desde los Cielos, el esfuerzo, dedicacin y noches de desvelo sin tu compaa te hagan
sentir orgulloso
AGRADECIMIENTOS
Agradecemos a nuestro director Hernando Hurtado por su apoyo, inters y compromiso con el
trabajo de grado.
Agradecemos tambin a las diferentes personas que nos colaboraron en la tesis en sus diferentes
etapas, en las correcciones, sobre todo a Leonardo Flrez, y a Camila por su ayuda desinteresada.
Liliam Paola Pez Prez agradece:
A mis Padres, por darme la oportunidad de estudiar y a mi familia por entender mis mltiples
cambios de humor y oportunidades en las que no pude compartir tantos momentos agradables con
ellos. Tambin agradezco su confianza en mis capacidades.
John Henry Vsquez Acero agradece:
A mis padres por ser este trabajo el pago a todo su esfuerzo y apoyo en mi vida Universitaria.
A mis amigos que creyeron en m, en mis aptitudes y en todo lo bueno que ellos ven en mi ser.
A todos los estudiantes que les agrade y les sea til nuestro proyecto, pues para ellos es nuestra
dedicacin en este largo ao de trabajo.
Contenido
INTRODUCCIN 8
I - DESCRIPCION GENERAL DEL TRABAJO DE GRADO 9
1. OPORTUNIDAD PROBLEMTICA 9
1.1 Descripcin del contexto
1.2 Formulacin
10
11
2.2 Justificacin
12
13
13
11
II - MARCO TERICO
16
1. MARCO CONCEPTUAL
16
1.1 Traductores
16
1.2 Compiladores
16
1.3 Analizadores
16
2. MARCO CONTEXTUAL
18
18
III - PROCESO
19
27
27
Ingeniera de Sistemas
ISTAR CIS0810IS02
34
1.5 Pruebas41
1.6 Herramienta Desarrollada
2. REFLEXIN METODOLGICA
42
43
IV - RESULTADOS Y RECOMENDACIONES 45
1.
RESULTADOS 45
1.1 Prueba Inicial para Estudiantes 45
1.2 Prueba de Salida para Estudiantes
49
51
CONCLUSIONES
2.
TRABAJOS FUTUROS 55
54
54
VI - REFERENCIAS Y BIBLIOGRAFA 56
1. REFERENCIAS
56
2. BIBLIOGRAFA
58
V- ANEXOS 60
ANEXO 1. GLOSARIO 60
ANEXO 2. ESTRUCTURA DEL RBOL SINTCTICO
ANEXO 3. ARCHIVOS DE PRUEBA
62
63
64
29
ABSTRACT
This document describes the process and the results of the construction of PsiCoder, an educational
software tool built to support the teaching learning process on a basic computer programming
course. The document describes the analysis, schedule, planning, development and implementation
of the software as well as the resulting output of an Usability test.
RESUMEN
El presente documento describe el proceso y resultado del anlisis, planeacin y desarrollo de
PsiCoder, una herramienta de software educativo creada para apoyar el proceso de enseanza
aprendizaje en un curso bsico de programacin, incluyendo tambin los resultados obtenidos a
travs de la elaboracin y ejecucin de una prueba piloto de Usabilidad.
Pgina 7
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
INTRODUCCIN
La adquisicin de un estilo correcto de programacin es una tarea fundamental en las ingenieras
informticas, y en general en cualquier titulacin de ciencias o ingeniera [2]. Es por esto que se
espera poder utilizar un programa que permita al estudiante aprender a programar, a la vez que va
ejerciendo este oficio de una manera sencilla, y as aprovechar las ventajas que ofrecen los
computadores como recursos didcticos.
Sin embargo, no siempre todas las herramientas que existen para estos fines son vlidas, pues las
metodologas de enseanza y los recursos pedaggicos cambian de institucin en institucin, y ms
an, de profesor a profesor.
Es por esto que se ha dispuesto como trabajo de grado la creacin de una herramienta, llamada
PsiCoder, que permita apoyar el proceso de enseanza aprendizaje en un curso bsico de
programacin.
Para la creacin de esta herramienta se tom como caso de estudio la asignatura Pensamiento
Algortmico, dictada en la Pontificia Universidad Javeriana como parte del ncleo comn en todos
los programas de ingeniera, de donde se tomaron los temas bsicos tratados, con el fin de obtener
requerimientos funcionales que permitieran la sustentacin de la herramienta.
Gracias a que la herramienta est diseada principalmente para su uso y aplicacin en la Pontificia
Universidad Javeriana (aunque esto no es limitante para que otras instituciones puedan modificarla
y usarla en sus planes pedaggicos), se dise una prueba especfica que permitiera evaluar la
usabilidad de la herramienta, tomando como muestra a un grupo aleatorio de estudiantes de
ingeniera que se encontraran tomando el curso, y un grupo selecto de profesores que dictaran la
materia.
La prueba mostr que la herramienta cumple satisfactoriamente con el nivel de usabilidad esperado,
y que adicionalmente refleja el esfuerzo y dedicacin dados a la construccin de la herramienta, en
el sentido que los encuestados opinaron que la herramienta motiva su uso, y que podra promover el
inters por la asignatura.
Pgina 9
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
Gracias a estudios realizados por los investigadores de [1], se han identificado una gran variedad de
problemticas, a pesar del esfuerzo del Departamento de Ingeniera de Sistemas en revisar, evaluar
y modificar los procesos de evaluacin conjunta y el seguimiento de la metodologa usada por los
docentes.
Las problemticas identificadas [1] son:
-
A travs de la experiencia como partcipes de este curso, y bajo la propuesta de efectuar futuras
encuestas a los estudiantes, se cree que parte de estas problemticas tienen como causas la
imparticin de la asignatura sin acceso a herramientas que ayuden a afianzar los conocimientos de
una manera ms ldica, as como considerar en el aspecto pedaggico los estilos de enseanza y
aprendizaje en ingeniera [4] y las prcticas docentes que promueven en los alumnos estilos de
estudio que contribuyen a su aprendizaje y formacin [5].
Por lo tanto, se establecen como causas:
-
Dificultad en expresar conceptos abstractos propios del contenido del curso en prcticas
tangibles para los estudiantes.
Baja experiencia de los estudiantes frente a la resolucin de problemas de tipo algortmico
Bajo nmero de herramientas que apoyen tanto el aprendizaje como la enseanza de los
temas del curso.
Cursos basados ms en la lectura de contenidos, que en la prctica.
Clases magistrales que se tornan tediosas para los estudiantes.
1.2 Formulacin
El presente trabajo de grado busca dar respuesta a la siguiente pregunta: Cmo facilitar el proceso
de enseanza y aprendizaje de los conceptos bsicos en la introduccin a la programacin,
orientado a los estudiantes que cursan la primera asignatura del rea de programacin en las
carreras de ingeniera?
En un estudio realizado, descrito en [6], se describe un curso de pre programacin en donde se
disponen de distintas herramientas de aprendizaje y enseanza (tanto de software como
Pgina 11
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
2.2 Justificacin
En la elaboracin de la propuesta para Trabajo de grado ofrecida al Departamento de Ingeniera de
Sistemas de la Pontificia Universidad Javeriana, se tenan como posibles soluciones a la
problemtica descrita en la parte inicial de este documento la adaptacin e implementacin de
herramientas existentes que cubrieran la mayor parte de objetivos encontrados, o crear una
herramienta, en caso de no ser posible la adaptacin formulada previamente.
As, en primer lugar se realiz una exploracin de herramientas que cubrieran la manipulacin del
pseudocdigo (Esta exploracin se describir en el marco conceptual de este documento), y que
permitiera ajustarse a las necesidades, de los cursos de la Pontificia Universidad Javeriana (tal como
se describe en [1]), o en otras instituciones educativas.
Sin embargo, existen problemas que hacen que esta posible implementacin no se acomode a lo que
se requiere, pues el cdigo que estas herramientas trabajan es muy poco flexible, lo que requerira
que tanto estudiantes como profesores hicieran un extenso estudio del cdigo propuesto en cada
herramienta, y que al pasar a los siguientes cursos de programacin (en los cuales se trabaja el
lenguaje C++ [1]), se generen posibles problemas de aprendizaje y entendimiento de los conceptos
acadmicos por parte de los estudiantes, pues tanto la sintaxis como la semntica del lenguaje
tratado en estas herramientas difiere bastante del planteado en el pensum para cada programa de
ingeniera.
Adems, una de las principales dificultades encontradas en la planeacin de la adaptacin de tales
herramientas es que no realizan una aproximacin verdadera de pseudocdigo, pues el
pseudocdigo es considerado como un lenguaje falso, un lenguaje intermedio entre nuestro
lenguaje y el de programacin, debido a que quien lo utiliza se gua por una serie de normas pero
sin llegar a usar una estructura tan rgida como la del lenguaje de programacin [17][18].
Es por esta razn que se tom la decisin de crear una nueva herramienta, PsiCoder, que permita
subsanar los problemas que las dems herramientas tienen. El propsito inicial de PsiCoder no es
crear un lenguaje de pseudocdigo que se adece solamente a los requerimientos de la Pontificia
Universidad Javeriana, si no por el contrario, permitir que ste cdigo se adapte a la metodologa
educacional de diferentes instituciones de educacin superior o secundarias.
Para esto, se propone el diseo una herramienta que permita lograr este objetivo de dos maneras
distintas:
En primer lugar, la creacin de un tipo de documento, que se ha denominado Plantilla, que
permite al profesor o tutor definir caractersticas del lenguaje, tales como las palabras reservadas y
operadores, que se adapte de una mejor manera a su mtodo de enseanza, y manteniendo una
sintaxis parecida al lenguaje destino (en este caso C++), para evitar las falencias que anteriormente
se nombraban de las herramientas indagadas.
En segundo lugar, la aplicacin est escrita con una aproximacin por componentes, lo que permite
a un determinado plantel educativo poder reescribir el componente de lectura del pseudocdigo
(implementando un analizador sintctico definido), para que ste se adece mejor a su filosofa y
metodologa de enseanza.
Pgina 13
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
Planificacin: Aunque en esta etapa se extraen los requerimientos de los usuarios a travs
de User Stories[10], se obtendrn los requerimientos a partir del documento generado en la
primera fase de la metodologa planteada, y a partir de este proceso se generarn los User
Stories. Se definirn las iteraciones a realizar para el desarrollo de la herramienta de
acuerdo al nmero de User Stories obtenidos, y se definir un plan de pruebas inicial y
pruebas unitarias, que se irn refinando en cada iteracin.
Pruebas: Se ejecutan las pruebas unitarias, determinando desde los resultados obtenidos si
se puede continuar iterando o no. Estas pruebas se realizarn con la herramienta JUnit [14]
en caso de ser necesario. Posteriormente, se ejecuta el plan de pruebas final.
La etapa de planificacin se realizar una sola vez, y las etapas de Diseo, Codificacin y Pruebas,
se realizarn por iteracin (Ver figura 1). El nmero de iteraciones estar determinado por la
cantidad de funcionalidades y caractersticas que la herramienta provee.
Pgina 15
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
II - MARCO TERICO
Para el correcto desarrollo de este trabajo de grado fue necesario la investigacin y apropiacin de
distintos conceptos tericos, que se describirn a continuacin. Adems, se presenta tambin el
contexto sobre el cual se soporta este documento.
1. Marco Conceptual
1.1 Traductores
Se define como traductor a aquel programa que traduce o convierte desde un texto o programa
escrito en un lenguaje fuente hasta un texto o programa equivalente escrito en un lenguaje destino
produciendo, si cabe, mensajes de error [25]. Se consideran entonces como traductores a los
compiladores, quienes usualmente generan a partir de un cdigo de texto cdigo mquina, y los
intrpretes (los cuales generan como lenguaje destino un conjunto de acciones atmicas que el
programa intrprete puede ejecutar).
1.2 Compiladores
Se considera como compilador a un programa traductor que tiene como entrada un conjunto de
sentencias ordenadas en un lenguaje formal, escrito en uno o ms archivos fuente, y que genera
como salida uno o un conjunto de archivos ejecutables, es decir, se realiza una traduccin de un
cdigo de alto nivel hacia un cdigo mquina [25].
1.3 Analizadores
Los analizadores, son programas o mdulos de un traductor, que se encargan del procesamiento y
anlisis de la informacin que viaja a travs del proceso de traduccin. Su tarea principal es la
revisin de la informacin obtenida por entrada y compararla contra un conjunto de reglas con el fin
de establecer si sta es vlida. Generalmente, si la informacin es vlida, se procesa y se convierte
en datos (que pueden ser tanto lgicos, como escritos en un cdigo u objetos binarios) para una
prxima etapa en el proceso, o generar un error o lista de errores en caso contrario.
dichas estructuras [25]. Por lo tanto, un esquema general de un traductor se puede representar segn
la figura 2.
Anlisis lexicogrfico: Reconoce y divide el cdigo fuente y los agrupa de una manera
estructurada en componentes bsicos del programa, donde cada componente es una
secuencia de caracteres, llamados lexemas, que pertenecen a una categora gramatical
(nmeros, variables, constantes, palabras reservadas, etctera).
Anlisis sintctico: Se comprueba que todo lexema sea vlido y reconocible, y que la
estructura de los lexemas cumplan las reglas gramaticales del lenguaje. Los analizadores
sintcticos usualmente construyen rboles lgicos con los lexemas, encapsulados en alguna
estructura de datos definida, o en estructuras textuales de algn metalenguaje.
Anlisis Semntico: Se recorre el rbol sintctico generado con el fin de encontrar errores
correspondientes al significado del cdigo escrito. Pueden evaluarse en esta etapa la validez
de las expresiones, chequeo de tipos, rangos de valores, existencia de variables, etc.
Pgina 17
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
Una vez llevada a cabo la fase de anlisis, se realiza la etapa de sntesis, en la cual se construye el
programa objeto deseado (que tiene una equivalencia semntica al cdigo fuente) a partir de las
estructuras generadas en la etapa anterior [25].
Las fases fundamentales de la sntesis son:
-
Generacin de cdigo mquina: Crea el cdigo ejecutable por la mquina donde se utilizar
el programa, as como los bloques destinados a almacenar los datos propios del cdigo.
Fase de optimizacin: Esta puede efectuarse sobre el cdigo intermedio, sobre el cdigo
mquina, o sobre juntos. En esta fase se busca mejorar el rendimiento general de la
ejecucin del cdigo destino.
La etapa de sntesis vara segn la implementacin del traductor, pudiendo este eliminar algunas de
las fases, o contener ms; siempre y cuando se cumpla que la idea de la generacin de un cdigo
destino.
2. Marco Contextual
2.1 Curso Bsico de Programacin
Actualmente, en la Pontificia Universidad Javeriana, todos los programas de Ingeniera contienen
en su pensum acadmico, como parte del ncleo comn de aprendizaje, diferentes asignaturas
orientadas a la programacin de computadores [19], dependiendo del nivel de conocimientos que se
espera de un estudiante de una determinada carrera. Sin embargo, todos los estudiantes de estas
carreras asisten en comn a la asignatura Pensamiento Algortmico [20], en donde se obtiene la
formacin bsica necesaria para introducir a los estudiantes en la experiencia de aprender a
programar.
As, como ha sido explicado en la problemtica inicial de este trabajo de grado, y basndose en la
premisa de utilizar como caso de estudio a la Pontificia Universidad Javeriana Bogot, el curso de
Pensamiento Algortmico representa los contenidos generales que un curso bsico de programacin
contiene, y que la herramienta PsiCoder debe apoyar, enunciados a continuacin:
-
Pgina 19
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
Pgina 21
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
Pgina 23
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
Permite la creacin de mltiples documentos, y cuenta con un editor de syntax highlightning (ver
figura 7).
Figura 7. VisualPseudo
Entre sus principales caractersticas, cuenta con un analizador de errores en tiempo real, el cual
permite al estudiante ver los errores sintcticos y semnticos a medida en que escribe su cdigo.
Cuenta adems con una tabla que muestra las variables declaradas, su mbito (global, local, etc.), y
si se encuentra en ejecucin, su valor. Un valor agregado de esta herramienta es que muestra la
ejecucin de cdigo a travs de dilogos de usuario, y no a travs de una consola.
Como se encuentra escrito slo con archivos Java, se considera multiplataforma, aunque no ha sido
comprobado.
El anlisis de esta herramienta qued descartado, pues slo se encuentra disponible en portugus.
Figura 8. PSeInt
Esta herramienta cuenta con las caractersticas ms interesantes, pues permite la generacin de
Diagramas de Flujo a partir del pseudocdigo escrito, y permite la exportacin del cdigo traducido
a C++ (aunque sta es una caracterstica experimental). Posee tambin una pequea barra de
herramientas que muestra las estructuras de control bsicas del pseudocdigo, para su inclusin
dentro del texto de cdigo que el estudiante se encuentre escribiendo.
Inicialmente se propuso la adaptacin de esta herramienta para la utilizacin en cursos de
aprendizaje, pero al igual que SLE, cuenta con un cdigo definido, y que no se acomoda con la
aproximacin de enseanza de la Pontificia Universidad Javeriana [20].
Pgina 25
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
As entonces, se ha dispuesto que la herramienta pueda cubrir las caractersticas de las herramientas
descritas, y que genere un valor agregado para la Pontificia Universidad Javeriana, y en general
para cada institucin en donde se desee utilizarla. En la tabla 1, se presenta un listado de las
herramientas que se mencionan en este documento, con un conjunto de caractersticas que cada una
ofrece.
III - PROCESO
En este apartado del documento, se presenta el proceso llevado a cabo para la realizacin del
proyecto de grado, con el fin de cumplir con los objetivos propuestos.
Pgina 27
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
12. Guardar archivos: Para guardar los archivos se puede realizar por medio del icono en la
barra de herramientas o desde la opcin de la barra de men, se puede guardar los cambios
en el mismo documento o realizar una copia del mismo.
13. Imprimir archivo: Se debe proveer la funcionalidad de impresin de archivos de cdigo
fuente.
14. Compilar: Se puede realizar desde la barra de herramientas y desde la opcin de la barra
men, haciendo click en el icono. En esta se realiza la estructura del programa a ejecutar y
se muestran posibles errores sintcticos y semnticos que posea el cdigo fuente escrito.
15. Ejecutar: Se puede realizar desde la barra de herramientas y desde la opcin de la barra
men. En esta se realizar primero la compilacin del archivo fuente, para despus ser
ejecutado el programa en caso que no haya errores.
16. Vista de errores: Debe mostrar un cuadro en el cual sern mostrados los errores para que se
puedan corregir y as ejecutar el programa.
17. Ayuda: Se puede acceder a la ayuda desde la opcin de la barra de men y desde el icono de
la barra de herramientas, en esta se encontrar lo necesario para utilizar la herramienta
adecuadamente.
18. Cambiar palabras claves: al estar editando o creando una plantilla y querer cambiar una
palabra clave se selecciona la pestaa deseada y el campo deseado, actualizando la vista
previa cada vez que se cambie de campo o se oprima la tecla Enter.
19. Traduccin del Pseudocdigo: Se debe tener la opcin de guardar el documento con
formato .cpp, es decir, que se realice una traduccin de lenguaje a C++.
Pgina 29
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
Pgina 31
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
Segn las recomendaciones de calidad del Capability Maturity Model Integration (CMMI)
[29], el uso de tecnologas nuevas para los desarrolladores infiere un proceso poco maduro,
Pgina 33
Ingeniera de Sistemas
ISTAR CIS0810IS02
y que genera riesgos en el momento del desarrollo, que pueden conllevar al retraso de la
herramienta, o peor an, al fracaso. Adems, debido a que el tiempo de desarrollo del
proyecto fue relativamente corto (8 meses), quedaba fuera del alcance y disponibilidad del
cronograma utilizado.
-
Se utilizaron los patrones Singleton y Facade [28], para ofrecer un punto de acceso general
a los componentes de la aplicacin, tal como lo muestra la figura 10.
Se utiliz el patrn Observer [28], para notificar los cambios de perspectivas que se
realizan cada vez que un documento es creado o abierto, tal como se muestra en la figura
11.
Pgina 35
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
Pgina 37
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
Ingeniera de Sistemas
ISTAR CIS0810IS02
1.5 Pruebas
Una vez finalizada cada iteracin de desarrollo, se ejecutaron las pruebas pertinentes para verificar
la trazabilidad y la funcionalidad de la herramienta.
1.5.1 Pruebas Unitarias
Se llev a cabo un conjunto de pruebas por cada componente, verificando y validando el correcto
funcionamiento del mismo. En caso de que el componente no pasara la prueba, se hizo una
reiteracin, analizando los aspectos en donde la implementacin fallaba, para corregirla y seguir
con el proceso de revalidacin y verificacin.
1.5.2 Pruebas de Integracin
Una vez aceptadas las versiones de cada componente, se procedi a realizar las pruebas de
integracin, con el fin de asegurar que la comunicacin entre componentes fuera la correcta. Al
igual que con las pruebas unitarias, en cada caso donde la prueba no fuese exitosa, se procedi a
realizar una reiteracin sobre el proceso.
1.5.3 Pruebas de Sistema
Con las pruebas unitarias e integrales realizadas, los componentes validados y verificados se
sometieron a pruebas de sistema, para asegurar que la herramienta funcionara y cumpliera con los
requerimientos funcionales y no funcionales extrados de los User Stories enunciados
anteriormente. Se ejecutaron pruebas tales como la creacin, edicin, compilacin y ejecucin de
archivos de Pseudocdigo, provistos en el Anexo 3.
Pgina 41
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
El editor de pseudocdigo cuenta con un panel que permite visualizar las lneas de cdigo, y un
editor de texto que realiza syntax highlight. Adems cuenta con mltiples herramientas, tales como
el visualizador de errores (parte inferior de la figura 16), una barra de ayuda que permite la
insercin de cdigo (panel derecho de la figura 16), un pequeo panel de autocompletado, y una
barra de herramientas para manipular la fuente del editor.
2. Reflexin Metodolgica
La aplicacin de la metodologa propuesta sobre el desarrollo del proyecto fue llevada
exitosamente, gracias a la organizacin y empeo puesto por parte de los desarrolladores y
colaboradores del proyecto. Sin embargo, en las pruebas realizadas, la herramienta JUnit no se us,
Pgina 43
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
ya que la mayora de las pruebas unitarias eran triviales, o se dispona de una amplia estructuracin
sobre el diseo de los componentes de la herramienta, lo que conllev a reducir la complejidad de
las pruebas.
Se espera que en futuros procesos, basados en la metodologa usada, se haga un anlisis acerca del
uso de esta herramienta de sistematizacin de pruebas, con el fin de comprobar si efectivamente su
uso permite acelerar el proceso de implementacin, y reduce la cantidad de iteraciones que se deben
realizar.
IV - RESULTADOS Y RECOMENDACIONES
1.
Resultados
Como se haba mencionado antes, fue realizada una prueba de usabilidad para determinar el nivel
de dicho atributo, para demostrar, en parte, que PsiCoder cumple en su objetivo de apoyar el
proceso de enseanza aprendizaje en un curso bsico de programacin.
La prueba fue realizada sobre un grupo aleatorio de estudiantes y profesores, que pertenecieran al
curso de Pensamiento Algortmico. Se evaluaron en total a 45 estudiantes, donde se encontraban
estudiantes de todas las ingenieras, estudiantes nuevos en la materia, estudiantes repitentes,
estudiantes con y sin previo conocimiento de herramientas de programacin; todos estos sin hacer
distincin alguna. La prueba fue realizada tambin a 4 profesores, tanto de ctedra como de planta,
para analizar la usabilidad de la herramienta desde su punto de vista.
La prueba realizada se llev a cabo en los laboratorios de ingeniera de la Pontificia Universidad
Javeriana, con la herramienta previamente instalada en cada mquina. Se aplicaron cuatro encuestas
distintas, dos para los estudiantes y dos para profesores, bajo las mismas condiciones.
La primera prueba se realiz al mismo tiempo que se daban las instrucciones a los encuestados de
cmo utilizar la herramienta, para que tanto profesores como estudiantes probaran las
funcionalidades en un cierto nmero de pasos. Acabada la primera encuesta, se procedi a realizar
la segunda encuesta, para que tanto profesores como estudiantes evaluaran su experiencia con la
herramienta, indicando comentarios que nos permitiera retroalimentar en aspectos tanto de
funcionalidad como de usabilidad.
Los detalles de la prueba se encuentran en el Anexo 4, y las encuestas realizadas en el Anexo 5.
Pgina 45
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
Pgina 47
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
Pgina 49
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
1.5
Anlisis de Resultados
Una vez tomados y tabulados los resultados de las pruebas, se concluye que el nivel de usabilidad
de la herramienta es significativamente alto. En las preguntas realizadas, los encuestados concluyen
en ms de un 75% que la herramienta es fcil de usar, es atractiva a la vista y promueve el uso de la
Pgina 51
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
Tambin es importante resaltar el agrado general que proporciona la creacin, edicin y uso de las
plantillas, que permiten a los profesores o tutores personalizar la forma en la que la herramienta
reconoce el cdigo que sus estudiantes escriben, ajustada a su metodologa de enseanza.
Los resultados negativos obtenidos (8% aproximadamente) provinieron de pequeos fallos en la
herramienta, pues para la prueba fue usada una versin beta de la misma, pues adems de
comprobar la usabilidad de sta, otro de los propsitos era comprobar su funcionalidad a travs de
una ltima iteracin sobre la metodologa propuesta, donde se corrigieron todos los defectos.
Ingeniera de Sistemas
ISTAR CIS0810IS02
2. Trabajos Futuros
Una vez construido PsiCoder, el objetivo que se debe seguir despus de la realizacin de la
herramienta, es entonces, disear y ejecutar planes de pruebas de implementacin en la Pontificia
Universidad Javeriana, que permitan realizar un estudio y un anlisis serios acerca de qu tan eficaz
es la herramienta para promover, incentivar y apoyar el proceso de enseanza aprendizaje de la
asignatura Pensamiento Algortmico, evaluando tambin los ndices de desercin, retiro, y prdida
de la asignatura.
Tambin se promueve, que gracias a la flexibilidad con la que PsiCoder fue diseada, se
implementen distintos aditamentos para la herramienta que permitan, entre otros:
-
Generacin de Diagramas
Visor de Expresiones
Variacin de la estructura sintctica del cdigo escrito, con el fin de proveer un mayor
acercamiento al concepto de Pseudocdigo
Pgina 55
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
VI - REFERENCIAS Y BIBLIOGRAFA
1. Referencias
[1] Hurtado, J.; Chavarro, G.; Carreo, J. & Avellaneda, F. (2007), 'El problema de la Enseanza y
Aprendizaje en la formacin bsica de programacin para Ingenieros', Technical report,
Facultad de Ingeniera, Departamento de Ingeniera de Sistemas, Pontificia Universidad
Javeriana.
[2] Largo, F. & Cuerda, R. (1996), 'Ensear Programacin en las Ingenieras Informticas', II
Jornadas Nacionales de Innovacin en las Enseanzas de las Ingenieras, Instituto de Ciencias
de la Educacin, Instituto de Ciencias de la Educacin, Universidad Politcnica de Madrid,
Technical report, Grupo i3a (Informtica Industrial e Inteligencia Artificial), Departamento de
Tecnologa Informtica y Computacin, Universidad de Alicante.
[3] Allinson, C. & Hayes, J. (1996), 'The cognitive Style Index', Journal of Management Studies
33:1, pp. 119--135.
[4] Felder, R. (1988), Learning and Teaching Styles in Engineering Education, Engr. Education.
[5] Restrepo, M.; Campo, R.; Guzmn, V.; Londoo, O. & Rincn, H. (2002), 'Prcticas de estudio
de universitarios', Technical report, Facultad de Educacin, Informes de Investigacin,
Pontificia Universidad Javeriana.
[6] Faux, R. (2006), 'Impact of preprogramming course curriculum on learning in the first
programming course', #IEEE_J_EDU# 49(1), pp. 11--15.
[7] Mudner, T. & Shakshuki, E. (2004), A new approach to learning algorithms, in 'Proc.
International Conference on Information Technology: Coding and Computing ITCC 2004', pp.
141--145.
[8] Naps, T. (2005), 'JHAVE: supporting algorithm visualization', #IEEE_M_CGA# 25(5), 49--55.
[9] Bez, H. & Vargas, J. (2003), 'Ayudas didcticas para el curso virtual de Programacin de
Computadores', Tesis de pregrado, Facultad de Ingeniera, Departamento de Ingeniera de
Sistemas e Industrial, Universidad Nacional de Colombia.
[10]
[11]Wells,
D.
(1999),
'Extreme
Programming:
Gentle
Introduction.',
http://www.extremeprogramming.com/
[12]
Facultad
de
Ingeniera,
Departamento
de
Ingeniera
de
Sistemas.
http://sophia.javeriana.edu.co/programacion/Recursos/Seudocodigo/Definicion_de_Seudocodig
o.html
[13]
Ambler, S. (2001), 'AM Throughout the XP Lifecycle', The Official Agile Modeling (AM)
Site. http://www.agilemodeling.com/images/lifecycleXPProjectBeck.gif
[14]
Louridas, P. (2005), 'JUnit: unit testing and coiling in tandem', #IEEE_M_S# 22(4), pp 12--
15.
[15]
Sampieri, R.; Collado, C. & Lucio, P., Hill, M., ed. (1998), Metodologa de la
[17]
Lanzillotta,
Anala,
Revista
Digital
Master
Magazine,
http://www.mastermagazine.info/termino/6428.php
[18]
Wikipedia,
la
enciclopedia
libre,
Definicin
de
Pseudocdigo.
http://es.wikipedia.org/wiki/Pseudoc%C3%B3digo
[19]
Pgina
oficial
de
Ingenieras,
Pontificia
Universidad
Javeriana.
http://ingenierias.javeriana.edu.co
[20]
2008.
http://sophia.javeriana.edu.co/programacion/Contenidos/4206-
Pensamiento_Algoritmico.html
[21]
Pgina 57
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
[23]
Marco
ISTAR CIS0810IS02
A.
Balieiro.
Herramienta
Visualpseudo.
Disponible
en
http://sourceforge.net/projects/visualpseudo.
[24]
Pablo
Novara.
Herramienta
PiPeh
Pseudointerprete.
Disponible
en
http://pseint.sourceforge.net/.
[25]
Sergio Glvez R. y Miguel A. Mora M., Java a Tope: Traductores y Compiladores con
Julio/Agosto
de
2006.
Disponible
en
http://homepage.mac.com/imaz/iblog/C612772037/E20050907214355/Media/Arquitecturas
%2c%20algunos%20fundamentos.pdf
[27]
[28]
C. Larman, UML y Patrones, 2da edicin, Pearson Education - Prentice Hall, 2003.
[29]
Joaqun
Gracia,
CMM
CMMI,
Agosto
de
2005.
Disponible
en
http://www.ingenierosoftware.com/calidad/cmm-cmmi.php.
[30]
Seleccin de Usuarios, Pruebas, Reporte y Anlisis. Buenos Aires, Argentina, 1999. Disponible
en : http://www.gaiasur.com.ar/infoteca/siggraph99/test-de-usabilidad-de-un-sitio.html
[31]
Licencia
GNU
General
Public
License,
Versin
3.
Disponible
en
http://www.gnu.org/copyleft/gpl.html
[32]
2. Bibliografa
[33]
2002.
[34]
Pgina 59
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
V- ANEXOS
Anexo 1. Glosario
-
JAVA: Lenguaje de programacin orientado a objetos que fue diseado por Sun con el
objetivo de la independencia de la plataforma.
ERROR
conjunto de lexemas o palabras no cumplen con las reglas estructurales del lenguaje [33].
-
PLUGIN: es un programa que interacta con un software para aumentar sus servicios,
aadindole alguna funcionalidad extra [32].
Pgina 61
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
Pgina 63
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
Planificacin
1.1.1.
La prueba de usabilidad estar a cargo de Liliam Paola Pez Prez y John Henry Vsquez Acero,
estudiantes que disearon y desarrollaron la ayuda didctica, con el apoyo del director de trabajo de
grado Jos Hernando Hurtado, y la asesora del profesor de planta de la universidad Leonardo
Florez.
1.1.2.
Alcance de la prueba
Determinar un nivel cualitativo de usabilidad de la ayuda didctica, con el fin de proporcionar bases
que sirvan para sustentar una posible implementacin en la asignatura de Pensamiento Algortmico.
1.1.3.
LA MUESTRA
Se seleccionar una muestra para la prueba de usabilidad, la cual delimita un grupo conformado por
estudiantes con tres tipos diferentes de conocimientos: estudiantes que estn cursando la materia y
utilizan una herramienta similar, un segundo grupo de estudiantes que estn cursando la materia
pero que no estn utilizando ninguna herramienta, y por ltimo, monitores de la asignatura que han
explorado una herramienta similar a PsiCoder. La muestra tomada es no determinstica para tener
un grupo informal y aleatorio [1], y por esta razn no se realizara el clculo de error.
ESTUDIANTES
1. Crear un nuevo archivo fuente
2. Solicitar a los estudiantes cargar una plantilla
3. Introducir al estudiante acerca de cmo crear un cdigo de ejemplo, con y sin errores
4. Solicitar al estudiante compilar el cdigo que han escrito
5. Solicitar al estudiante ejecutar su cdigo fuente
6. Finalizar la prueba y realizar test de salida
PROFESORES
1. Solicitar crear una nueva plantilla
Pgina 65
Preparado por el Grupo Investigacin Istar- Versin 1.01 12/03/2008
Ingeniera de Sistemas
ISTAR CIS0810IS02
2. Explicar cmo funciona la creacin de una nueva plantilla, solicitar que la modifiquen
1.2.1.
Los casos de prueba que se van a realizar sern a estudiantes y a profesores, que llevan su mismo
nombre.
1.3.
Ejecucin de la prueba
La prueba se llevo a cabo con total normalidad y de acuerdo con lo previsto, se realizo en dos de los
cursos al inicio de la clase de pensamiento algortmico y en el otro al final de la misma.
REFERENCIAS
[1] Jos Luis Hernndez Gonzlez, RECOPILACIN DE LA INFORMACIN: CONCEPTOS DE
ESTADSTICA Y SU CLASIFICACIN, Instituto Tecnolgico de Apizaco, Mxico. Disponible en
http://www.itapizaco.edu.mx/~joseluis/apuntes/estadistica/definiciones% y muestreos.pdf
[2] Hernndez Sampieri, Metodologa de la Investigacin, 2001, McGraw Hill.
[3] Mercovich, Eduardo. Cmo hacer un Test de Usabilidad de un sitio: Planificacin, Seleccin de
Usuarios, Pruebas, Reporte y Anlisis. Buenos Aires, Argentina, 1999. Disponible en :
http://www.gaiasur.com.ar/infoteca/siggraph99/test-de-usabilidad-de-un-sitio.html
[4] Teora y Construccin de Pruebas Psicolgicas SIC 636, Escuela de Psicologa, Universidad de
las Amricas, Chile.