Resumen:
Resumen
Aprender a programar es difícil para muchos estudiantes universitarios de
primer año, tanto a nivel local como internacional (Bayman 1983; T. Boyle 2003;
Dijkstra 1989; Jenkins 2002; UAA 2007). La literatura señala varios factores que
pueden influenciar el éxito en el primer curso de programación: la experiencia
previa, los modelos mentales, la habilidad para las matemáticas y la autoeficacia,
entre otros. Sin embargo aún no se han identificado claros predictores de éxito
(Bergin 2005; P. Byrne 2001; Simon et al. 2006; Chenglie Hu 2006).
Las estrategias instruccionales en los cursos tradicionales de programación
tienden a enfocarse hacia aspectos de sintaxis. (Linn y Clancy 1992; McIver 2001;
A. Robins, J. Rountree, y N. Rountree 2003).
La literatura cognitiva que estudia los procesos mentales involucrados en el
proceso de programar, sugiere que los modelos mentales válidos, las estrategias
de solución de problemas (llamadas planes o esquemas) y la metacognición, son
elementos presentes en programadores expertos y que influyen significativamente
en su habilidad para programar (Brooks 1990; Fixx, Wiedenbeck, y Scholtz 1993;
Machanick 2005; Rist 1995; Soloway y Ehrlich 1984). En clases tradicionales, esta
habilidad estratégica se enseña normalmente explicando paso por paso el proceso
de escribir un programa (A. Robins, J. Rountree, y N. Rountree 2003).
La mayoría de las aplicaciones de software orientadas a apoyar el proceso
de aprendizaje de la programación, se enfocan en la creación de modelos
mentales válidos, basándose en animaciones, interactividad y tecnología
multimedia (Guzdial 2002; Hamer 2004; McKeown 2004; Moskal, Lurie, y Stephen
Cooper 2004; Pollack 2004). Se ha encontrado que existen pocas aplicaciones
diseñadas para mostrar explícitamente a un programador novato el conocimiento
estratégico y metacognitivo de un experto, al momento de escribir un programa.
- xi -
Los protocolos verbales (Ericsson y Simon 1993) se usan en la Ingeniería
de software como técnica para registrar los procesos cognitivos que tienen lugar
en la memoria de corto plazo de un usuario o de un experto al momento de
evaluar una aplicación o de resolver un problema. En la presente tesis se
argumenta que un protocolo verbal puede ser usado como un mecanismo para
mostrar el conocimiento estratégico y metacognitivo de un instructor al escribir un
programa básico. La teoría de la carga cognitiva (J. Sweller 1988a; John Sweller
1994) sugiere estrategias instruccionales (llamadas efectos) que toman en cuenta
las limitaciones intrínsecas del cerebro humano. En el contexto de tal teoría, se ha
documentado que el uso de ejemplos resueltos y de problemas por completar son
estrategias instruccionales efectivas para enseñar a estudiantes principiantes.
(Gerjets, Scheiter, y Catrambone 2004; Renkl, Atkinson, y Große 2004; Renkl,
Hilbert, y Schworm 2009). La teoría de Codificación Dual (Paivio 1990; Sadoski y
Paivio 2004) señala que la mente humana es capaz de retener y recuperar
información y conocimiento si éstos se presentan en una modalidad dual, por
medio de lenguaje verbal e imágenes.
En la presente tesis se aplicó el marco metodológico conocido como Teoría
de Diseño de Sistemas de Información (Information Systems Design Theory o
ISDT por sus siglas en inglés) propuesto por Walls, et. al (1992). Bajo este marco
de referencia, se propuso una teoría de diseño para un tipo especial de artefacto
de software nombrado como Sistema Visor de Protocolos, que busca fomentar la
transferencia de conocimiento estratégico de solución de problemas en
estudiantes en etapas iniciales de aprendizaje de la programación. Las teorías
mencionadas arriba se toman como referencia para proponer los principios de
diseño de tal clase de artefacto de software.
- xii -
Se desarrolló y probó experimentalmente un prototipo de sistema visor de
protocolos aplicando la teoría de diseño de sistemas de información propuesta,
con alumnos de primer año de Ingeniería en Sistemas Computacionales e
Ingeniería en Electrónica de la Universidad Autónoma de Aguascalientes,
obteniéndose resultados estadísticamente favorables (ANOVA, estadística
descriptiva, análisis de correlación) que sugieren que el artefacto puede ayudar a
mejorar el aprendizaje de la programación en alumnos que inician el estudio de
esta disciplina.