cenidet · 3.2.2.2 Algoritmo Planificador. 3.2.2.3 Algoritmo de detección de ciclos. ... 4.1...
Transcript of cenidet · 3.2.2.2 Algoritmo Planificador. 3.2.2.3 Algoritmo de detección de ciclos. ... 4.1...
S.E.P. S.E.I.T. D.G.I.T. t
CENTRO NACIONAL DE INVESTIGACIÓN
Y DESARROLLO TECNOLÓGICO
cenidet
HERRAMIENTA PARA EL DESARROLLO DE SISTEMAS TUTORES
T E S I S
Que para obtener el grado de
MAESTRO EN CIENCIAS EN CIENCIAS COMPUTACIONALES
presenta:
José William lngram Ramírez
Director de Tesis Dr. Rodolfo Abraham Paros Rangel I
Co-Director de Tesis ,
M.C. José Antonio Zárate Marceleño I
CUERNAVACA MORELOS
4
JUNIO DE 2000 t
0 1 - 0 5 6 1
Centro Nacional de Investigación y Desarrollo Tecnológico FORMA C3
REVISION DE TESIS
Cuernavaca, Morelos a 06 de Julio de 2001
Dr. Raúl Pinto Elias Presidente de la Academia de Ciencias Computacionales Presente
Vos es grato comunicarle, que conforme a los lineamientos para la obtención del grado de Maestro en Ciencias de este Centro, y después de haber sometido a revisión académica la tesis denominada: Herramienta para el Desarrollo de Sistemas Tutores, realizada por el C. José William lngram Ramírez, y habiendo cumplido con todas las correcciones que le fueron ndicadas, acordamos no tener objeción para que se le conceda la autorización de impresión j e la tesis.
Sin otro particular, quedamos de usted.
Atentamente
Dr. J er Ortiz Hernández
~ ,. - i- ,' b '1, . .!<
. ~ , , M - - . / L i:. ".:
M.C. Mario Guillén Rodríguez Dr. Rodolfo A d h a m Pazos Rangel ... !> Director de tesis
:.c.p. Dr. Rodolfo A. Pazos RangellJefe del Departamento de Ciencias Computacionales
NTERIOR INTERNADO PALMIRA SIN. CUERNAVACA. MOR. MÉXICO 4PARTADO POSTAL 5-164 CP 62050, CUERNAVACA. iELS (73112 2314.12 7613.18 7741. FAX (731 12 2434 ' A
EMAli [email protected] '
_.-- - a .
:entro Nacional de Investigación y Desarrollo Tecnológico FORMA C4
AUTORIZACION DE IMPRESIÓN DE TESIS
Cuernavaca, Morelos a 1 O de Julio de 2001
José William lngram Ramírez indidato al grado de Maestro en Ciencias Ciencias Computacionales
ssente
'spués de haber atendido las indicaciones sugeridas por la Comisión Revisora de la ademia de Ciencias Computacionales en relación a su trabajo de tesis: Herramienta para Desarrollo de Sistemas Tutores, me es grato comunicarle, que conforme a los
iamientos establecidos para la obtención del grado de Maestro en Ciencias en este ntro, se le concede la autoiización para que proceda con la impresión de su tesis.
I
. .
Atentamente
G??? Di. RodolfyA. Pazos Range1
Jefe del Depto. de Ciencias Computacionales
.:<
ZlOR IlvTERhADO PALMIRA S/N. CJERNAVACA. MOR MÉXICO U A D O POSTA. 5-164 C P 62050. CLERhAVACA. (73112 2314.¡2 7613.18 7741,FAX(731 12 2434
It [email protected] rrclnidnf
Dedicatoria.
1)
A dios por permitir culminar una mas de mis metas. I
A mi madre, a mi tía y a mi hermana. I
1 Gracias por su apoyo indiscutible
y sus palabras de aliento. I )I
!
Agradecimientos.
Al Dr. Rodolfo A. Pazos Range1 por compartir conmigo su experiencia y conocimientos, además de guiar el desarrollo de este proyecto.
A mis revisores de tesis: Dr. Javier Ortiz Hemández, Dr. Mario Guillén Rodriguez, M:C. Felipe de Jesús Alaniz Quezada por su interés y valiosas observaciones en la revisión de este
trabajo.
AI Centro Nacional de Investigación y Desarrollo Tecnológico por darme la oportunidad de seguir adelante con mis estudios.
A cada uno de los maestros del Cenidet por sus conocimientos transmitidos. !
A mis compañeros de generación por los buenos momentos que pasamos durante este tiempo: Rosa Lina Mondragón Barra, Erika Nieto Arvizu, Juan Carlos Perez Rojas, Bemardino Uribe
Domínguez. I
De manera muy especial a Alfonso y a Rogelio, por su amistad y por todos esos excelentes momentos que pasamos juntos.
Tabla de contenido , Página
Capítulo 1 Introducción
1.1 Motivación. 1.2 Objetivo. 1.3 Beneficios. 1.4 Descripción del problema. 1.5 Alcances. 1.6 Organización del documento.
2 3 3 4
' 5 6
Capítulo 2 Marco Teórico
2.1 El lenguaje SQL. 8 2.2 Clasificación de los programas didácticos. ' 9
13
2.3.1 Módulo de conocimiento. 15
2.3 Evolución de los sistemas tutores inteligentes, su arquitectura y componentes.
2.3.1.1 Redes semánticas. 2.3.1.2 Sistemas de producción. 2.3.1.3 Agentes. 2.3.1.4 Razonamiento basado en casos CBR.
2.3.2 Modelo del estudiante. 2.3.3 Módulo pedagógico.
15 16 17 17
18 .( 19
2.3.3.1 Teoría del aprendizaje acumulativo de Gagné. 21
2.4 Estado del arte. 22
22
Educativos. 23 ' 24
2.4.1 Universidad Autónoma de Sinaloa. 2.4.2 Sistemas Tutores Inteligentes: Una forma de conseguir Sistemas Hipermedia
2.4.3 A Knowledge -Based Tutoring System for SQL Programming.
Capítulo 3 Análisis y Solución Conceptual del Problema
3.1 Planteamiento general del problema.
3.2 Diseño general propuesto.
3.2.1 Módulo de conocimiento, 3.2.2 Módulo pedagógico.
3.2.2.1 Algoritmo de Dijkstra. 3.2.2.2 Algoritmo Planificador. 3.2.2.3 Algoritmo de detección de ciclos.
3.2.3 Modelo del estudiante.
Capítulo 4 Desarrollo y Descripción de la Herramienta
4.1 Elementos de la interfaz.
4.1.1 Creación del curso. 4.1.2 Generación del plan de estudios.
4.2 Arquitectura de la interfaz SGyACT.
4.2.1 Clase SGyACT. 4.2.2 Clase Altacursos. 4.2.3 Clase AltaCapitulos. 4.2.4 Clase AltaAtomosZnformacion. 4.2.5 Clase AltaAtomosConocimiento. 4.2.6 Clase AltaDiapositivas. 4.2.7 Clase TipoExamen. 4.2.8 Clase AltaExamenes. 4.2.9 Clase ExamenPractico. 4.2.10 Clase ExamenTeonco. 4.2.1 1 Clase SelAtAsociadosPregunta. 4.2.12 Clase Abrir. 4.2.13 Clase AgregarAtomos. 4.2.14 Clase Consultar. 4.2.1 5 Clase ConsultarDiapocitivas. 4.2.16 Clase ConsultarExamenPractico. 4.2.17 Clase ConsultarExamenTeorico. 4.2.18 Clase ConsultarPredecesoresAtomos. 4.2.19 Clase ConsultarPredecesoresCapitulos.
27
29
29 30
35 37 39
39
41
41 52
54
' 55 55 56
" 56 '
56 57 58 58
t 59 59 59 60 61 61 63 64 65 65 65
11
4.2.20 Clase PrecedenciaAtomos. 4.2.21 Clase PredecenciaCapitulos. 4.2.22 Clase GeneraPlanEstudios. 4.2.23 Clase InterfazGeneraF’lanEstudios.
4.3 Arquitectura de la interfaz del Alumno.
4.3.1 Clase jPanelCapitulos. 4.3.1.1 Algoritmo para colorear capítulos. 4.3.2 Clase jPanelAtomos. 4.3.2.1 Algoritmo para colorear átomos de información.
4.4 Descripción de la base de datos.
Capítulo 5 Pruebas
5.1 Objetivos de las pruebas.
Capítulo 6 Conclusiones
6.1 Conclusiones generales. 6.2 Resultados obtenidos. 6.3 Trabajos futuros.
66 66
’ 67 67
68
70 70 71 71
72
79
86 86 87
Bibliografía
... 111
Lista de Figuras
Figura 2.1 Figura 3.1 Figura 3.2 Figura 3.3 Figura 3.4 Figura 3.5
Figura 3.6 Figura 4.0 Figura 4.1 Figura 4.2 Figura 4.3 Figura 4.4 Figura 4.5 Figura 4.6 Figura 4.7 Figura 4.8 Figura 4.9 Figura 4.10 Figura 4.11 Figura 4.12 Figura 4.13 Figura 4.14 Figura 4.15
Figura 4.16 Figura 4.17 Figura 4.18 Figura 4.19 Figura 4.20 Figura 4.21 Figura 4.22 Figura 4.23 Figura 4.24 Figura 4.25 Figura 4.26 Figura 4.27 Figura 4.28 Figura 4.29 Figura 4.30
Consulta empleando SQL intercalado en Turbo Pascal. Arquitectura básica de un Sistema Tutor Inteligente. Curso de SQL creado con el SGyACT. Arquitectura del sistema construido en este proyecto de tesis. Grafo instruccional del capítulo Recuperación de Datos. Grafo instruccional del capítulo Recuperación de Datos mostrando un ciclo. Ejemplo que muestra el funcionamiento del algoritmo Planificador. Diagrama de flujo de la interfaz Ventana principal del SGyACT. Ventana de la opción “Nuevo”. Ventana de la opción “Aceptar”. Ventana para la creación de átomos de información. Ventana para crear átomos de conocimiento. Ventana para dar de alta diapositivas. Ventana opción “Explorador”. Ventana de la opción “Atomo de Ejemplo”. Ventana de la opción “Ejecutar”. Resultados de la consulta. Ventana de la opción “Atomo de Conocimiento”. Ventana para seleccionar el tipo de examen a crear. Ventana de la opción “Examen Práctico”.
Página
9 27 28 30 31
32 33 41 42 43 43 44 44 45 46 46 47 47 48 48 49
Ventana empleada para dar de alta las preguntas de un examen práctico. 49 Ventana usada en la selección de átomos de conocimiento asociados a la pregunta. Ventana que muestra la consulta asociada a la pregunta. Ventana empleada en la elaboración de exámenes teóricos. Ventana de la opción del menú Cursos “Generar plan de Estudios”. Ventana de la opción “Átomos”. Clases que forman parte del SGyACT. Métodos de la clase SGyACT. Métodos de la clase Altacursos. Métodos de la clase AltaCapitulos. Métodos de la clase AltaAtomosInformación. Métodos de la clase AltaAtomosConocimiento. Métodos de la clase AltaDiapositivas. Métodos de la clase TipoExamen. Métodos de la clase AltaExamenes. Métodos de la clase ExamenPráctico. Métodos de la clase ExamenTeónco.
50 50 51 52 53 54 55 55 56 56 57 57 58 58 59 59
iv
Introducción Capitulo 1
Capítulo 1 Introducción
Este capítulo contiene la motivación, el objetivo, los beneficios que se esperan
obtener, una descripción del problema, los alcances y la forma en que está organizado este
documento de tesis.
1
Introducción Capítulo 1
1.1 Motivación
Las investigaciones que se han llevado a cabo en el área de inteligencia Aificial
aplicada a la educación, han dado como resultado el desarrollo de ITSs (Sistemas Tutores
Inteligentes, por las siglas de Intelligent Tutoring Systems). Existen diversas definiciones y
términos para nombrar a este tipo de sistemas; a continuación se mencionan algunas:
' Una herramienta computacional encargada de controlar la instrucción del estudiante
determinando el tiempo y orden de enseñanza. El estudiante avanza a través de una
secuencia de eventos tomando decisiones y selecciones. La instrucción avanza de acuerdo
a las respuestas del mismo.
'I
J
' También se puede definir como un sistema informático que simula el proceso de
aprendizaje, de memorización, de razonamiento, de comunicación, y de acción de un ser
humano en una determinada rama de la ciencia.
El uso de este tipo de sistemas como herramientas de apoyo en el proceso de enseñanza
es de gran interés, debido a que todo sistema tutor responde a una concepción de educación
individualizada; es decir, se atiende a las características del alumno, pero se actúa dentro de un
sistema de educación colectiva. Éstas se diferencian de la educación individual en que el
alumno se apoya demasiado en el profesor, inhibiendo sus estímulos autodidácticos. La
educación socializada, en cambio, implica la utilización de los mismos estímulos para todos
los alumnos, sin descender al proceso de aprendizaje individual.
Tenemos por consiguiente que la característica principal de todo sistema tutor es la de
captar las expectativas, necesidades, intereses, y reacciones del alumno, interviniendo en el
proceso de retroalimentación académica y pedagógica del mismo.
Siendo su principal objetivo el de capacitar ai alumno para que éste trabaje por sí
mismo, piense por sí mismo y construya su propio cuerpo de conocimientos sobre el material
en estudio.
L
Introducción Capítulo I
1.2 Objetivo
Desarrollar una herramienta computacional que apoye el proceso de enseñanza-
aprendizaje en instituciones de educación superior, haciendo uso de métodos de enseñanza
adecuados que permitan aprovechar al máximo las habilidades cognoscitivas del alumno.
Más específicamente, el objetivo consiste en implementar un sistema de generación de
tutores, el cual cuente con los mecanismos necesarios para evaluar de forma personalizada a
cada alumno, con la finalidad de adaptar un programa de estudio a su ritmo y nivel de
aprendizaje. Este sistema debe contar además con las estructuras de datos adecuadas que
permitan modificar su contenido. El sistema debe probarse con la construcción de un tutor
para la enseñanza del lenguaje de consultas para bases de datos SQL (Lenguaje de Consulta
Estructurado, por las siglas de Structured Query Languaje).
1.3 Beneficios
Este sistema cuenta con las estructuras de datos adecuadas que permiten modificar la base
de conocimientos. Esto permitirá que en un futuro cercano sea posible desarrollar
tutores de otras materias de una manera más rápida y económica.
’ El sistema podrá emplearse en la enseñanza de varias asignaturas en el Centro
Nacional de Investigación y Desarrollo Tecnológico (cenidef) en el área de sistemas
distribuidos (bases de datos).
’ Este proyecto servirá para resolver la problemática de la enseñanza del lenguaje SQL
en algunas instituciones de educación superior que tengan deficiencias en recursos
humanos e infraestructura.
’ Elevación del nivel académico en el área de bases de datos, al poner a disposición de
las dependencias de la SEP la herramienta en forma gratuita.
3
Introducción Capítulo 1
1.4 Descripción del problema
Existe una gran variedad de métodos de enseñanza con diversas ventajas y desvintajas,
entre los más flexibles se encuentra la enseñanza personalizada (clases particulares). La
ventaja de este método es que un buen maestro puede adaptar el plan y ritmo de enseñanza a
las capacidades y progreso del alumno. Desafortunadamente este método de enseñanza es muy
costoso y son pocos los que pueden pagarlo.
En el otro extremo se encuentra el estudio autodidacta mediante libros, el cual'tiene la
ventaja de ser económico, pero ofrece poca adaptabilidad al estudiante. La explicación de esto
es simple: siendo el libro un medio de enseñanza colectivo, su reproducción en miles de
ejemplares reduce el costo; pero el autor tiene que planear la enseñanza para un "estudiante
promedio"; consecuentemente, el libro no resulta adecuado para estudiantes alejados del
promedio; es decir para estudiantes abajo del promedio puede resultar difícil o imposible de
entender ciertos temas, mientras que para los estudiantes por arriba del promedio, el curso les
puede resultar aburrido. Una situación similar se presenta cuando un maestro imparte una
materia a varios alumnos que poseen diferentes capacidades.
Del análisis anterior sobre los métodos personalizados y colectivos podemos concluir
que un método de enseñanza ideal debería combinar la flexibilidad de los métodos
personalizados y el bajo costo de los métodos colectivos. Tenemos por consiguiente que la
característica principal de todo sistema tutor debe ser captar las capacidades, expectativas,
necesidades, intereses y reacciones del alumno, interviniendo en el proceso de
retroalimentación académica y pedagógica del mismo.
Las nuevas tecnologías de computación ofrecen esta posibilidad. Por lo cual, el
requerimiento anterior se puede reexpresar en términos computacionales de la siguiente
manera: un tutor debe ser un paquete que pueda adaptar automáticamente el conocimiento a
enseñar a cada estudiante que lo use.
4
Introducción Capitulo 1
La adaptabilidad de un tutor debe incluir por lo menos los siguientes aspectos: la
capacidad cognoscitiva del estudiante y el progreso de éste a lo largo del curso.
Concretamente el tutor debe estimar las capacidades analítica, de memorización y
comprensión del estudiante y personalizar el plan de enseñanza para estas capacidades.
Además, en momentos estratégicos, el tutor debe evaluar el progreso del estudiante y
determinar cuáles de los temas previamente estudiados no han sido bien aprendidos; e
indicarle los temas que debe repasar.
5 Alcances
Los alcances de este proyecto se limitan a los siguientes puntos:
Para estructurar el material del curso de SQL que será impartido por el sistema tutorial
diseñado para tal efecto, se hizo uso del siguiente manual: Sistema Manejador de Bases de
Datos Distribuidas SiMBaDD versión 1 . I para Windows[lS].
La presentación del material se hace en láminas de PowerPoint.
No se emplea multimedia en su diseño.
El sistema permite al diseñador de cursos, construir tanto exámenes prácticos como
teóricos, los cuales servirán para evaluar estudiante.
El desarrollo de este proyecto incluye el módulo de conocimiento, el modelo del
estudiante, el módulo pedagógico, el módulo generador y administrador de cursos, y la
interfaz del alumno.
El módulo generador y administrador de cursos permite crear y modificar el contenido de
los cursos tutores de enseñanza que sean creados con la herramienta. 'I
5
Introducción Capitulo 1
Los aspectos de evaluación de las capacidades cognoscitivas del alumno no se incluyeron
en este proyecto.
En cuanto al conjunto de instrucciones SQL que el sistema soportará están las siguientes:
Creación de tablas base.
Consultas simples y anidadas.
Funciones de consolidación (count, max, min, avg, sum).
Operaciones avanzadas (comparadores like, not like, null, not null).
Instrucción insert.
Instrucción update.
Instrucción delete.
1.6 Organización del documento
En el Capítulo 2 se introducen las bases teóricas que sustentan este proyecto de tesis, la
clasificación de los programas didácticos, la evolución de los ITSs, su arquitectura,
componentes, y el estado del arte.
En el Capítulo 3 se hace un planteamiento general del problema y se presenta el diseño
de la herramienta. Además, se describen algunos de los problemas encontrados en la
implementación de cada uno de sus componentes.
En el Capítulo 4 contiene una descripción completa de la herramienta desarrollada en
este trabajo de tesis, y a través de un ejemplo se muestran todas sus características.
En el Capítulo 5 se presentan los objetivos y los resultados de las pruebas realizadas a
la herramienta; y en forma más específica a la interfaz del alumno.
Por último, el Capítulo 6 contiene las conclusiones generales, los resultados obtenidos
y se incluyen algunas recomendaciones y trabajos futuros.
6
Marco Teórico. Capitulo 2
Capítulo 2 Marco Teórico
Este capítulo trata sobre las bases teóricas que sustentan este proyecto de tesis, la
clasificación de los programas didácticos, la evolución de los ITSs, su arquitectura,
componentes, y el estado del arte.
Antes de empezar a desarrollar cada uno de los puntos que se tratarán en este
capítulo, se presenta una breve descripción de los orígenes de SQL.
7
Marco Teórico. Capítulo 7.
2.1 El lenguaje SQL
SQL es una herramienta empleada en la gestión, organización y recuperación de datos
almacenados en una base de datos informática. Sus orígenes se remontan a la década de 10s
~O'S, cuando E. F. Codd, en ese entonces miembro del San Jose Research Laboratory de IBM
en California, publicó un artículo en el cual se presenta un conjunto de principios para la
administración de bases de datos, llamado el modelo relacional [6]. Las bases de datos
relacionales y SQL tienen sus orígenes en dicho artículo, el cual desencadenó una,intensa
actividad de investigación en bases de datos relacionales, dando como resultado el de,sarrollo
de prototipos de una gran variedad de lenguajes relacionales.
Uno de estos lenguajes en particular fue SEQUEL (Lenguaje de Consulta en Inglés
Estructurado, por sus siglas en inglés), definido por D. D. Chamberlin y otros investigadores
del San Jose Research Laboratory de IBM. Entre 1976 y 1977 se definió una versión 'revisada
de SEQUEL llamada SEQUEL/2 (el nombre fue cambiado a SQL por razones legales). Este
lenguaje se implementó en un prototipo llamado System/R cuyo objetivo fue demostrar la
operatividad del modelo relacional; concluyendo que las bases de datos relacionales no sólo
eran factibles, sino que además podrían sentar las bases para el desarrollo de productos
comerciales útiles. En 1979 apareció en el mercado Oracle que fue el primer SMBD relaciona1
disponible de forma comercial, desarrollado por la compañía Relational Software, inc.
El lenguaje SQL ha sido adaptado como estándar oficial de los Estados Unidos de
América por el American Standards Institute (ANSI), y como un estándar internacional por la
International Standards Organization (ISO).
Es importante destacar que existen dos versiones de SQL: dinámico e intercalado. La
versión intercalada de SQL fue diseñada para ser incorporada de forma directa en programas
de aplicación, llamados programas anfitriones (los cuales inicialmente fueron escritos en
COBOL, FORTRAN, Pascal, C y PL/l) [15].
8 ',
Marco Teórico. Capítulo 2
En la (figura 2.1) se muestra un ejemplo de una consulta en SQL intercalado en
Turbo Pascal la cual hace uso de la instrucción select para extraer de la tabla de Alumnos el
nombre del alumno cuya clave es a l .
PROGRAM SELECTl:
USES SQL
$BEGIN DECLARE SECTíON
A-Nonibre : CH AR[2O];
END DECLARE SECTION
BEGIN
SELECT Nombre-A
FROM Alumnos
WHERE Clave-A = ‘al’;
IF SQLCODE = O THEN
WRITELN(‘Nonibre del alumno:’, A-Nombre);
END.
Figura 2.1 Consulta empleando SQL intercalado en Turbo Pascal.
Por otro lado tenemos que el concepto de SQL dinámico es no escribir de forma fija
una instrucción de SQL en el código fuente de una aplicación. En vez de ello se permite que el
programa escriba el texto de una instrucción de SQL en una de sus áreas de datos y luego la
traspase al DBMS para su ejecución.
2.2 Clasificación de los programas didácticos.
Los programas educativos poseen caracteristicas muy diversas: unos aparentan ser un
laboratorio o una biblioteca, otros se limitan a ofrecer una función instrumental del tipo
máquina de escribir o calculadora, otros se presentan como un juego o como un libro, e
inclusive algunos suelen ser usados en procesos de evaluación y de administración de la
enseñanza.
9
Marco Teórico. Capítulo 2
Para poder entonces discernir el campo de trabajo entre computación y educación hay
que distinguir dos campos que, aunque diferentes se mezclan entre si:
La informática como medio (instrumental y cognitivo) para el proceso de
enseñanzdaprendizaje y la educación en general. I
La informática como objeto del proceso de enseñanzdaprendizaje; es decir, la
enseñanza e investigación de la computación.
Generalmente a la primera se le denomina "educación basada en computadora" y
comprende a su vez las siguientes áreas:
La enseñanza asistida por computadora.
La administración de la educación asistida por computadora.
La enseñanza asistida por computadora, se ha dividido en los siguientes tipos:
La enseñanza a partir de la informática, es decir el uso eventual de herramientas,
paquetes y técnicas de cómputo que permiten aprender algo; ese algo no es
enseñado en sí por la computadora, ya que ésta sólo sirve para hacer cálculos,
ordenar, clasificar, transcribir, comunicar, etc. la información.
La enseñanza o aprendizaje con la computadora, es decir cuando explícitamente
el objeto del aprendizaje es computarizado, estructurado y preparado para esto.
Robert Taylor [17] fue uno de los primeros investigadores en hacer una clasificación
de las aplicaciones "instruccionales" en la educación. Él ve a la computadora como tutor o
mentor, como aprendiz y como herramienta, y nombra a estos elementos como enfoques.
Dicha clasificación es la más aceptada porque pone en claro el rol del sujeto de la educación;
es decir, establece la ubicación de la computadora en su relación con el aprendiz en el proceso
de enseñanza.
10
Marco Teórico. Capítulo 2
La clasificación de tutor, aprendiz y herramienta no concibe el aprendizaje por
separado, porque éstos se complementan entre sí, y para ello en lugar de enfoques recomienda
catalogarlos como modalidades, aclarando que sólo el modo tutorial es de instrucción o
enseñanza; tanto aprendiz y herramienta, corresponden a formas de aprendizaje asistido por
computadora.
La modalidad tutorial es un conjunto pre-programado de opciones donde el estudiante
interactúa con la computadora con la finalidad de adquirir conocimientos. Como formas o
modalidades de la enseñanza asistida por computadora, la clasificación anterior se tipifica de
la siguiente manera:
La modalidad tutorial, son programas basados en los planteamientos conductistas
de la enseñanza que comparan las respuestas de los alumnos con los patrones que tienen como
correctos, guían paso a paso su aprendizaje y facilitan la realización de prácticas más p menos
rutinarias y su evaluación; en algunos casos una evaluación negativa genera una nueva serie de
ejercicios de repaso y una nueva forma de presentar el material de estudio.
La modalidad de ejercitación y práctica trata de que los usuarios adquieran una
habilidad sobre algo realizando sólo ejercicios; es decir, no se propone una teoría o
explicación sobre el contenido de lo que se está haciendo, bajo el supuesto que esto ya se
presentó con anterioridad, y lo que se pretende es reforzar lo aprendido y adquirir o mejorar
una habilidad (por ejemplo en la resolución de ejercicios aritméticos).
La modalidad de juegos son aquellos programas que emplean algún recurso
divertido y cuya finalidad aparente es el entretenimiento, desafio o diversión y cuya finalidad
escondida es que el usuario o jugador, aprenda, practique o desarrolle alguna habilidad. Para
lograr jugar o participar en el mismo hay que conocer, practicar, o desarrollar conocimientos,
habilidades etc. Sin duda alguna, ésta es la modalidad más difícil de describir y de realizar,
puesto que se trabaja en dos planos simultáneamente: el del entretenimiento"^ el del
aprendizaje.
Marco Teórico. Capitulo 2
La modalidad de simulación, es cuando se emplea la computadora para presentar
una escena cambiante en el tiempo. Generalmente esta escena se realiza mediante animación
gráfica, a colores y con sonidos, pero no necesariamente. Lo importante de una simulatión es
el tratar de representar un fenómeno real y dinámico (o cambiante en el tiempo). La
simulación permite por ejemplo: adquirir habilidades o aprender las reglas para manipular un
fenómeno, mecanismo o dispositivo dinámico y complejo (por ejemplo los simuladores
espaciales o reactores nucleares). También permite entender la dinámica compleja .de una
situación y ser entrenado para la misma (por ejemplo los simuladores de líneas de producción,
de bolsa de valores o de negocios). Finalmente la simulación permite en algunos casos
experimentar con situaciones, del tipo qué pasa si ..., donde se ensayan las hipótesis y,:aparece
el resultado. Otro ejemplo de la modalidad de simulación es comprobar en la computadora
experimentos de laboratorios de química y otros. La dinámica puede presentarse en gráficas
comparativas o ser presentada como dibujos animados.
La modalidad de herramientas, son aquellos paquetes o aplicaciones pre-
programadas, o cualquier recurso de cómputo, que sirve de auxiliar a las tareas educativas o de
enseñanza, pero cuya finalidad no es enseñar algo, sino realizar algo. Por ejemplo
procesadores de texto, hojas electrónicas de cálculo, manejadores de bases de datos, y
paquetes gráficos. Sin embargo hay muchos otros ejemplos de uso educativo como los
paquetes estadísticos, resolvedores de ecuaciones y generadores de ideas. En un sentido
amplio de la palabra, la programación es también una herramienta, aunque se prefiere dejar a
la programación en la modalidad de descubrimiento.
La modalidad de descubrimiento, Se entiende por descubrimiento al conjunto de
programas que permiten que el usuario aprenda algo por inferencia y deducción. El objetivo
de esta modalidad es facilitar la creatividad del individuo, facilitar la capacidad de generación
y de entender haciendo. Actualmente también se habla como objetivo del descubrimiento el
estimular el pensamiento crítico del estudiante.
Todas las modalidades tienen sus ventajas y desventajas, así como sus campos de
aplicación privilegiados [ 1 O].
Marco Teórico. Capítulo 2
2.3 Evolución de los sistemas tutores inteligentes, su arquitectura y
componentes
El uso de la computadora como herramienta de apoyo en el proceso de enseñanza
aprendizaje se inició a finales de los años 50s.
Las primeras investigaciones que se llevaron a cabo en el área de la infdrmática
aplicada a la educación dio como origen la "Enseñanza Asistida por Computadora" (EAC). La
cual comprende todos aquellos aspectos computacionales que de alguna forma asisten o
ayudan en el proceso de enseñanza-aprendizaje.
Las características básicas de un programa de tutoría son poseer representación y
conocimiento claro de aquello que se enseña, a quién se enseña y en qué forma se enseña, y
facilitar el aprendizaje de los alumnos en distintos niveles de educación.
El problema principal de los primeros sistemas de enseñanza aprendizaje que se
desarrollaron fue su incapacidad para ofrecer una tutoría individualizada, puesto que se
construían sin suficiente conocimiento. Este conocimiento se refiere al contenido de la
enseñanza, a las características del alumno y al método que se debe utilizar según los
problemas de aprendizaje que surjan en la enseñanza. Desarrollos posteriores de la EAC
incorporaron el concepto de la individualización de la instrucción. Con la individualización se
pretende adaptar el material del curso y la ejercitación a las necesidades, los intereses y el
nivel de conocimiento del alumno. No se hicieron grandes adelantos a pesar de lo deseado,
pues las técnicas de programación no permitían diseños y desarrollos sofisticados.
A finales de los años 60s y principios de los .70s, los investigadores empezaron a
considerar los incipientes avances de la inteligencia artificial, específicamente en las áreas de
los sistemas expertos y la representación del conocimiento. En esta época se empiezan a
desarrollar sistemas inteligentes de enseñanza asistida por computadora y es Carbonell [7]
quien define este tipo de sistemas como enseñanza asistida por computadora basándose en el
conocimiento o enseñanza asistida por computadora inteligente.
13
Marco Teórico. Capiiulo 2
A los primeros usos de las técnicas de inteligencia artificial en la enseñanza asistida
por computadora se le llamó enseñanza asistida por computadora generativa. Se le dio ese
nombre porque los sistemas que se construyeron tenían la capacidad de generar problemas a
partir de una gran base de datos, la cual contenía el material de estudio. En estos sistemas se
mejoró la individualización y el apoyo al estudiante, pero aún se carecía del conocimiento
sobre cómo enseñar, y no podían responder a preguntas de los estudiantes sobre cómo se
realizaba una tarea.
Los programas de la enseñanza asistida por computadora señalados por Carbonell,
además de la generación de problemas, ofrecen lo que Brown [4] llama entorno de aprendizaje
reactivo. En éste, el programa de instrucción se encarga del entrenamiento del estudiante y el
diálogo de tutoría orienta la instrucción según los conocimientos, los intereses y los conceptos
erróneos de éste. Así, con la introducción de técnicas de inteligencia artificial en la enseñanza
asistida por computadora, se inició la era de los Sistemas Inteligentes de Enseñanza Asistida
por Computadora. A mitad de la década de los ochentas el nombre de Sistemas Inteligentes de
Enseñanza Asistida por Computadora fue reemplazado por el uso de ITS.
Inicialmente el control era asumido por el tutor (enfoque prescriptivo). Más
recientemente se ha utilizado un enfoque cooperativo entre el estudiante y el sistema.
Los sistemas inteligentes de enseñanza asistida por computadora deben combinar
conocimientos de un área específica del saber (lo que se va a enseñar), de psicología (a quién
se va a enseñar), y de didáctica (cómo enseñar).
La arquitectura clásica de los STIs, considera el diseño y desarrollo de cuatro
módulos: módulo de conocimiento (dominio experto), modelo del estudiante, módulo
didáctico (pedagógico) y la interfaz con el usuario. El módulo experto contiene el material de
estudio que deberá ser transmitido al estudiante y las reglas adecuadas para la solución de
problemas del dominio, que le permitan responder a interrogantes y aclarar dudas o conceptos
erróneos del estudiante. El módulo del estudiante mantiene la información de cada estudiante
en lo referente a los conceptos que domina, a los errores en su aplicación, a los avances en el
14
Marco Tebrico. Capítulo 2
desarrollo de temas de una asignatura, y a las características generales de su estilo de
aprendizaje. El módulo didáctico contiene estrategias y reglas para el desarrollo adecuado de
las sesiones de instrucción.
A continuación se describen más a detalle cada uno de los componentes que permiten
crear un ambiente de enseñanza-aprendizaje. i
2.3.1 Módulo de conocimiento
Este módulo no sólo contiene el material de estudio que se pretende enseñar sino que
además contiene los métodos que permiten estructurar y organizar el conocimiento que será
enseñado.
Los componentes principales de este módulo son los siguientes:
Una base de conocimiento.
Una máquina de inferencia.
Existen varios métodos de representación de una base de conocimiento, los cuales se
mencionan en los siguientes apartados:
2.3.1.1 Redes semánticas
Una red abstracta (grafo teórico), la cual puede ser diagramada,, definida
matemáticamente o programada en una computadora. Se convierte en semántica cuando
alguien le asigna un significado a cada nodo y arco de la red. Este tipo de redes suelen ser
utilizadas para representar cualquier tipo de información que pueda ser expresada en lenguaje
natural.
15
Marco Teórico. Capítulo 2
I
Una red semántica realmente es un grafo relacional, en donde cada nodo del grafo
representa objetos o clases de objetos (conceptos e ideas) y las aristas, las relaciones que
existen entre estos objetos.
2.3.1.2 Sistemas de producción
En los sistemas de producción, también llamados sistemas basados en reglas; la idea
básica es que la base de conocimiento está formada por reglas, llamadas reglas de producción
en la forma de pares condición - acción.
AI igual que en el caso de los lenguajes de programación, estos sistemas utilizan la
implicación como elemento primario de representación del conocimiento. El consecuente de
cada implicación se interpreta como recomendación de una acción y no como y a mera
conclusión lógica. Los sistemas de producción pueden funcionar con una estructura de control
de encadenamiento hacia delante. Algunos de ellos cuentan con un mecanismo de resolución
de conflictos para decidir qué acción efectuar cuando son varias las que pueden realizarse
P81.
Un sistema de producción típico se caracteriza por lo siguiente:
El sistema mantiene una base de conocimiento, conocida como memoria de
trabajo.
El sistema mantiene también una memoria de reglas independientes. Ésta
contiene un conjunto de reglas de inferencia de la forma p l ~ p 2 ~ .... 7 act1 A
act2 A..., en donde las pi son literales y las acti son acciones que se realizan
cuando todas las pi se satisfacen. Entre las acciones permitidas están entre otras,
el insertar y eliminar elementos de la memoria de trabajo.
En cada ciclo, el sistema calcula el subconjunto de reglas cuyo lado iz4uierdo se
satisface con el contenido actual de la memoria de trabajo (conocido como fase de
cotejo).
Marco Teórico. Capitulo 2
El sistema decide entonces cuál de las reglas se va a ejecutar (fase de resolución
de conflictos).
El paso final de cada ciclo consiste en ejecutar ia(s) acción(es) de la(s) regla@)
elegida(s) (fase de actuación).
2.3.1.3 Agentes
Un agente es todo aquello que puede considerarse que percibe su ambiente mediante
sensores y que responde o actúa en tal ambiente por medio de efectores. Los agentes tienen las
siguientes características [18]:
Autónomos: operan sin control humano e interactúan con otros agentes utilizando un
lenguaje.
Aprenden: diseñan nuevas estrategias o adaptan las existentes.
Adaptativos: a través de la percepción de su entorno, modifican sus decisiones
seleccionando diferentes métodos de razonamiento.
Cognitivos: mejoran dinámicamente su comportamiento de acuerdo con la información
del estudiante que se va colectando durante el proceso.
2.3.1.4 Razonamiento basado en casos CBR (por sus siglas en inglés)
“Un razonador basado en casos resuelve problemas nuevos mediante la adaptación de
soluciones previas usadas para resolver problemas similares”. El ciclo CBR se efectúa en
cuatro fases:
Recuperación: el problema actual se analiza, se toman las características
relevantes de la situación, y se busca el conjunto de casos similares.
17
Marco Teórico. Capitulo 2
Reutilización: una vez seleccionado el caso, el razonador adapta las caractensticas
de la situación actual. ,
Revisión: se comprueba si la solución propuesta realmente resuelve el problema O
no. Si la solución propuesta no resuelve el problema, entonces se explica dónde
se produjo la falla y repara la solución.
Almacenamiento: el problema actual, el método de solución propuesto y 10s
resultados, se almacenan en una biblioteca de casos y se actualizan los índices de
dicha biblioteca.
2.3.2 Modelo del estudiante
El modelo del estudiante necesita considerarse como un proceso de diagnóstico
cognitivo, donde el sistema infiere el conocimiento del estudiante analizando su
comportamiento. Tradicionalmente las técnicas utilizadas en el diseño de este modelo son las
siguientes [9]:
Overlay: En este modelo se representa el estado de conocimiento del estudiante como un
subconjunto de la base de conocimiento del experto, así el modelo se construye
comparando el desempeño del estudiante con el comportamiento experto representado en la
computadora [5] .
Buggy: En este modelo se representa el conocimiento del dominio como reglas y los
conceptos erróneos como variaciones de las reglas. Su construcción manual es ,,una tarea
muy dificil y no se puede modelar el comportamiento del estudiante [20,2].
18
Marco Teórico. Capitulo 2
2.3.3 Módulo pedagógico
El módulo pedagógico es un conjunto de especificaciones que indican la metodología a
seguir para la presentación del material a enseñar. Con base en el modelo del estudiante, debe
realizarse un análisis que permita tomar decisiones didácticas congruentes, para que el proceso
de enseñanza se realice con éxito. Existen muchas teorías y métodos acerca de la forma en la
que se debe llevar a cabo dicho proceso, entre los que se encuentran los siguientes:
Implantación; cuando el conocimiento se transfiere al sujeto, sin pasar por un
proceso previo de razonamiento, como la simple memorización.
Instrucción; cuando el experto en un dominio, presenta una serie de conceptos al
alumno siguiendo una estrategia de enseñanza predeterminada.
Analogía; cuando las similitudes entre objetos se establecen de manera concisa y
breve.
Ejemplos; cuando después de utilizar otro método, se presentan muestras
ampliamente descriptivas o gráficas de un conocimiento recién expuesto.
Observación; método valioso cuando se ha desarrollado un nivel razonable de
competencia en el dominio seleccionado. Este método nos permite detectar los
detalles de la solución a un problema en un ambiente no inventado.
Descubrimiento; adquisición de conocimiento sin la ayuda de alguien que ya tiene
ese conocimiento.
Método socrático; guía al estudiante a través de preguntas que le' permiten
explorar sus malas concepciones. Durante el proceso de exploración se supone que
el estudiante razona acerca de lo que sabe y lo que no sabe [7].
19
Marco Tebrico. Capítulo 2
Método guiado; ofrece al estudiante una forma de guiarlo cuando va resolviendo
un problema, de tal forma que cuando se equivoca recibe una retroalimentación
inmediata.
Aprendizaje situado; concebido por John Dewey, centra el aspecto práctico de la
educación en la idea de “aprender haciendo”, de tal manera que las habilidades y el
conocimiento puedan utilizarse como herramientas para uso futuro. Esta teoría
propone que las actividades durante el aprendizaje deben ordenarse de tal forma
que el estudiante necesite saber qué es lo que debe aprender, por qué necesita
saberlo, y cómo puede ser usado el conocimiento adquirido. Estas actividades
deben considerar la funcionalidad cognitiva dentro del contexto social, cultural e
histórico. Esta teoría supone también que el conocimiento necesita ser
contextualizado y practicado de tal forma que pueda ser aplicado y transferido [3].
Ambiente social de aprendizaje; está basado en la creencia de que se aprende en
grupo. Pueden construirse de forma centralizada o distribuida, y sus métodos de
diseño pueden ser clasificados como recíprocos, cooperativos, colaborativos, y
competitivos.
Sistemas de aprendizaje recíprocos: Su diseño permite que existan
cambios en el papel de los usuarios (profesores y alumnos) reales o
virtuales.
Sistemas de aprendizaje cooperativo: La cooperación sucede cuando una
tarea se divide en dos o más partes, y cada parte es realizada por un
estudiante dependiendo de su experiencia.
Sistemas de aprendizaje colaborativo: La colaboración ocurre cuando una
tarea es realizada por los estudiantes compartiendo responsabilidad en cada
parte del trabajo. La colaboración requiere coordinación entre los
estudiantes.
20
Marco Teórico. Capitulo 2
0 Sistemas de aprendizaje competitivo: Se crean con la intención de que el
estudiante sea motivado por la comparación entre su habilidad y la de los
demás.
2.3.3.1 Teoría del Aprendizaje Acumulativo de Gagné
El trabajo de Gagné-Briggs procede de distintas teorías y permite diseñar o prescribir
procedimientos de instrucción. En este método se comparten postulados del conductismo y
cognoscitivismo'. Para Gagné el aprendizaje se produce por interacción del sujeto con su
entorno y consiste en el proceso de cambio en sus capacidades, que se traduce en cambio en su
conducta. Gagné formuló tres postulados básicos que son el punto de partida para su teona de
la instrucción [12]:
Es necesario partir de objetivos muy bien formulados.
Se debe establecer una secuencia ordenada de enseñanza que ayude en e1,logro de
los objetivos.
Es básico proporcionar condiciones de aprendizaje de acuerdo a los objetivos que
se busque lograr, las características del aprendiz y en especial a sus capacidades
prerrequisitos, el tipo de aprendizaje que se desee, los resultados concretos que se
esperan, y la situación que se dé.
La teoría conductista centra su atención en la conducta humana. Para Skinner [is] "el
aprendizaje es un cambio observable y permanente de la conducta, y la enseñanza es la
disposición de contingencias de reforzamiento que permite acelerar el aprendizaje". El uso
más directo del conductismo en la instrucción es la enseñanza programada y, derivado de ésta,
la aparición de material programado. Este material probado y ajustado, puede empieke en un
proceso de enseñanza individualizada. Algunas de sus ventajas son las siguientes:
21
Marco Teórico. Capítulo 2
El programa de aprendizaje señala una secuencia programada e impone límites de
tiempo para lograrlo, de forma que se puedan nivelar las capacidades,de los
estudiantes.
Se aplica la individualización ya que cada estudiante va a su ritmo, aunque tiene
el reto de utilizar para el desarrollo de las actividades un tiempo.
El conocer en forma inmediata el éxito en una actividad de aprendizaje puede
aumentar la motivación para la realización de otras actividades.
2.4 Estado del Arte
El objetivo de esta sección es presentar algunos de los proyectos de investigación
sobre Sistemas Tutores Inteligentes que se han desarrollado o están en desarrollo en diferentes
universidades y centros de investigación, tanto nacionales como extranjeros.
2.4.1 Universidad Autónoma de Sinaloa
En la Universidad Autónoma de Sinaloa se encuentra registrada la tesis “Desarrollo
de Sofmiare Educativo: Análisis, Diseño, Programación” de la cual sólo se obtuvo una breve
descripción que indica que se trata de un Sistema Tutor Inteligente para la enseñanza de SQL,
y plantea como principal objetivo del trabajo resolver de forma automática la generación del
modelo del estudiante. Dado que no existe mayor información acerca del mismo, no fue
posible determinar la metodología empleada en su desarrollo.
Las teorías cognoscitivas centran su atención en los procesos mentales y las estructuras de la memoria humana
con el fin de explicar la conducta humana [13].
I
22
Marco Teórico. Capitulo 2
Se revisó una aplicación de ejemplo y se encontró que el sistema no guarda 10s
cambios que se van dando de forma automática sino que lo hace hasta el final de la sesión.
También se aprecia que no presenta ningún cambio en la presentación del material del curso
después de cada evaluación que se hace al alumno; sólo se presentan dos evaluaciones y en
ambas, al cometer un error, el estudiante es regresado por el sistema inmediatamente al
principio del capítulo que está siendo evaluado. Además, no trae una herramienta adicional
que permita modificar el contenido del curso y practicar los conceptos aprendidos.
2.4.2 Sistemas Tutores Inteligentes: Una forma de conseguir Sistemas Hipermedia
Educativos
Es un proyecto basado en la unión de dos sistemas: los sistemas tutores inteligentes
(STIs) y los sistemas hipermedia (SHs). Creando lo que ellos llaman un sistema hipertutor o
un sistema hipermedia adaptativo, el cual está formado por un componente hipermedia y un
componente tutor.
El componente hipermedia consta de tres módulos: el módulo interfaz, que presenta
la información del curso y obtiene las reacciones del usuario; el módulo hiperespacio, que
contiene la información que se le va a presentar al alumno; y el módulo de control de la
navegación, el que se encarga de comunicar al componente hipermedia con el componente
tutor.
El componente tutor, realiza un seguimiento del alumno controlando los
conocimientos que éste adquiere a partir de las evaluaciones y ejercicios programados. Se
encuentra dividido en tres módulos: el dominio pedagógico que representa los conceptos a
aprender por el alumno y además establece la secuencia de presentación del contenido del
curso; el módulo didáctico, se encarga de adaptar el sistema al alumno, basado en el nivel de
aprendizaje determinado por medio de las evaluaciones realizadas al estudiante; y el módulo
del alumno, donde se clasifica al alumno en cuatro apartados: características, conocimiento del
dominio, material didáctico utilizado y la historia del proceso de interacción con el sistema. El
desmollo de ese proyecto se basa en las teorías que dan sustento a la simbiosis producida al
unir los sistemas tutores con los sistemas hipermedia [ i l l .
23
Marco Teórico. Capitulo 2
2.4.3 A Knowledge - Based Tutoring System for SQL Programming
En el artículo [21] se hace una breve descripción los Sistemas de Instrucción Asistida
por Computadora (CASI, Traditional Computer-Aided Instruction Systems) que al evolucionar
se trasformaron en los Sistemas Tutores Basados en Conocimiento (KBTS, Knowledge-Based
Tutoring Systems) o Sistemas Tutores Inteligentes (ITS, Intelligent Tutoring Systems).
También, en dicho artículo se propone una arquitectura para la construcción de un
sistema de enseñanza, la cual difiere en algunos aspectos de la arquitectura tradicionalmente
empleada en la construcción de ITSs. Dicha arquitectura consta de cinco módulos; los cuales
se mencionan a continuación:
1 ) Base del dominio del conocimiento, contiene los conceptos fundamentales que el
estudiante debe aprender acerca de la programación en SQL.
2) Base de conocimiento global, representa el conocimiento global acerca del curso.
3) Base de conocimiento pedagógico, guarda el conocimiento de cómo enseñar el
curso.
4) Modelo del estudiante, refleja el estado que guarda el conocimiento del estudiante
respecto al dominio del conocimiento.
5 ) El agente de comunicación. El agente de comunicación es un conjunto de
procedimientos organizados en cuatro módulos:
Planeación.
Discusión.
Evaluación.
Corrección.
Marco Teórico. Capítulo 2
La función de esos cuatro módulos determina el mecanismo de control durante el
proceso del tutor. El módulo de planeación ayuda al estudiante a seleccionar un nuevo tema
apropiado al nivel de dificultad. El estudiante regido por el dominio del conocimiento está
representado por el modelo del estudiante.
La base de conocimiento pedagógico provee la forma de cómo seleccionar un nuevo
tema de la base de conocimiento global. El sistema puede ser aplicado en dos formas: activa y
pasiva. En el modo de planeación activa, el estudiante tiene el control de la selección de los
temas a tratar; en el modo pasivo, el sistema es el que toma el control de la selección de los
temas a tratar.
Se describe también la forma de representación del conocimiento global, que incluye
la organización del curso, las relaciones entre los temas a cubrir en el curso, es decir,
determina la secuencia de los temas a tratar. En una primera etapa, en 1994, se implementó
sólo el sistema manejador del conocimiento global, llamado manejador de curriculum CM
(Curriculum Manager por sus siglas en inglés), donde la interfaz del sistema para el estudiante
estaba definida por un grupo de comando de sistema: DISPLAY, FOCUS, STUDY, NOT-
STUDY, y SKIP. Estos comando proveían las herramientas necesarias a los usuarios para
construir el curriculum del curso de acuerdo con requerimientos individuales después de un
periodo de discusión (análisis). Posteriormente, en 1996, se presentó el proyecto como tesis de
doctorado, describiendo el producto final como un sistema tutor desarrollado en C y Tcl-Tk
bajo el sistema operativo Solaris versión 2.4, en cuya interfaz el instructor puede construir
varias bases de conocimiento y el estudiante puede aprender la programación en SQL.
25
Capitulo 3 Análisis y Solución Conceptual del Problema
Capítulo 3 Análisis y Solución Conceptual del Problema
En este capítulo se hace una descripción general de los problemas que se presentaron
en la implementación de la herramienta construida como parte de este proyecto de tesis.
Además, se muestra la arquitectura general del sistema, se explica el funcionamiento de cada
uno de sus componentes.
26
Capítulo 3 Análisis y Solucibn Conceptual del Problema
3.1 Planteamiento general del problema
Como se mencionó en el capítulo anterior, la arquitectura utilizada en la construcción
de STI (Figura 3.1), considera el diseño y desarrollo de cuatro módulos: módulo de
conocimiento (dominio experto), modelo del estudiante, módulo didáctico (pedagógico), y la
interfaz del usuario.
Módulo Pedagógico
Usuario
Figura 3.1 Arquitectura básica de un Sistema Tutor Inteligente.
Este tipo de herramientas pretenden comportarse como lo haría un tutor humano:
guían al estudiante paso a paso en su proceso de aprendizaje.
La aplicación desarrollada como parte de este proyecto de tesis, se describe como una
herramienta que permite al usuario de la misma crear sistemas de enseñanza-aprendizaje. Se
tomó como punto de partida la arquitectura básica de un STI, a la cual se le añadió un módulo
más, cuyo propósito es simplificar la elaboración y modificación del material didáctico. A
dicho módulo se le llamó Sistema Generador y Administrador de Cursos Tutores (SGyACT).
También se elaboró un curso de SQL, el cual se implementó con la herramienta
desarrollada como parte de este trabajo de tesis. Su contenido se muestra en la (Figura 3.2).
2 1
Capitulo 3 Análisis y Solución Conceptual del Problema
Este proyecto fue concebido con la idea de apoyar a los profesores de instituciones de
educación superior, en la elaboración de cursos tutores como herramientas de apoyo que
coadyuven a mejorar la calidad de la enseñanza en dichos centros de estudio.
o Tutorial de SQL anorámica General de SQL
! i......o Bases de Datos: Definición Como Crear Tablas Base
/ '.....-O Creación de Tablas Base a-66 Recuperación de Datos i ! , i..-o Consultas : . . . . !..--o Consultas Simples ~ i.--.-.o Funciones de Consolidación ~ i . j..--..o Consultas Anidadas . . . . o Comparadores Like y Not Like ~ Comparadores Null y Not Null d.-F+Actualización de Datos
/....4 Instrucción insert '.....e Instrucción update '..-..o Instrucción delete
i ;......o Introducción
Figura 3.2 Curso de SQL creado con el SGyACT.
Es importante aclarar que el SGyACT no puede ser empleado en la construkción de
cualquier tipo de curso tutor, debido a que hay temas que difícilmente se podrían representar
con diapositivas por ejemplo: un curso de guitarra o de baile.
Otro de los problemas que se presentaron en el desarrollo de la herramienta fue el
encontrar una estructura de datos lo bastante flexible que nos permitiera representar el
conocimiento que se desea enseñar (SQL), dado que muchas de las técnicas empleadas en la
elaboración de ITSs no son apropiadas para este caso en particular, y otro es cómo organizar
ese conocimiento de tal forma que al estudiante le resulte fácil su aprendizaje, dándole la
oportunidad de tener alternativas en su estudio; es decir, que tenga la opción de elegir el tema
a partir del cual empezar a estudiar el material del curso.
Por otro lado tenemos que otro de los problemas que se observaron en el desarrollo
del SGyACT, fue hacer que de alguna manera los resultados de las evaluaciones que se les
practicaran a los estudiantes influyeran en la presentación del material del curso.
28
Capítulo 3 Análisis y Soluci6n Conceptual del Problema
3.2 Diseño general propuesto
La arquitectura empleada en la construcción del SGyACT se muestra en la (Figura
3.3). El lenguaje de programación utilizado en su implementación fue Java; así dadas las
características que éste presenta, en un futuro, la herramienta permitirá (sobre todo la interfaz
del alumno) ser accedida a través de internet. !
En la elaboración del ambiente gráfico se eligió el paquete Swing JFC (por las siglas
en inglés de Java Foundation Classes), el cual es una ampliación del AWT (por las siglas en
inglés de Abstract Windowing Toolkit), y es un conjunto de APk' que permiten el desarrollo
rápido de prototipos y de interfaces gráficas de usuario en Java.
3.2.1 Módulo de conocimiento
Contiene el material del curso que se desea presentar al estudiante (ejercicios y
conceptos de SQL). Este material está estructurado en diapositivas de Power Point, las cuales
son transformadas en archivos de imágenes (formato gif o jpeg) ya que Java no permite la
visualización de aquéllas.
+ Ejercicios ~
! I ................... ~ ............................ 3 ;
Figura 3.3 Arquitectura de la herramienta construida en este proyecto de tesis.
API es un conjunto de rutinas, protocolos y herramientas para construir aplicaciones de interfaz. I
29
Capítulo 3 Analisis v Solución Conceotual del Problema
3.2.2 Módulo pedagógico
No sólo contiene los conceptos a aprender por el alumno, sino que, además éstos
deben estar organizados de forma tal que la enseñanza de los mismos resulte sencilla, clara y
eficaz, ya que en el proceso de instrucción es importante conocer el orden en que éstos se van
a presentar, las relaciones que existen entre cada uno de ellos, y de qué forma esas relaciones
ayudan al estudiante en el proceso de enseñanza.
Por consiguiente para estructurar el material de cada uno de los cursos que sean
implementados con la herramienta se emplea un grafo instruccional, en donde cada nodo del
grafo representa un átomo de información, el cual, puede ser un átomo de evaluación o un
átomo de conocimiento, y las aristas representan las relaciones de precedencia que existen
entre cada uno de éstos. Para ejemplificar lo anterior, considérese el curso de SQL creado con
la herramienta (Figura 3.2), el capítulo Recuperación de Datos que aparece en la (Figura 3.4)
y las relaciones de precedencia para cada uno de sus átomos de información; en la (Figura 3.4)
se muestra el grafo instruccional que representa tales relaciones.
4
Capítulo Recuperación de Datos.
Por razones prácticas se han etiquetado cada uno de los átomos de información del capítulo como se muestra a continuación.
A Consultas. B Consultas simples. C Funciones de consolidacibn. D Consultas anidadas. E F
Comparadores Like y Not Like. Comparadores Null y Not Null.
Relaciones de Precedencía ,Grafo Instruccional
A B B C
6 D
6 E
6 F
Figura 3.4 Grafo instruccional del capítulo Recuperación de Datos.
30 'I
Capítulo 3 Análisis y Solución Conceptual del Problyma
Los átomos de conocimiento representan conceptos y ejemplos; mientras que los
átomos de evaluación representan exámenes, los cuales pueden ser prácticos o teóricos. ,,
Definimos un átomo de información como un conjunto de conocimientos (conceptos)
y ejercicios tales que, para el propósito de la enseñanza, se consideran como una unidad, la
cual no es conveniente subdividir.
Además, se deberá evitar que al establecer las relaciones de precedencia para cada
uno de los temas del curso se produzcan ciclos; es decir, se debe prevenir que un mismo tema
aparezca tanto como tema inicial en una relación de precedencia y como tema final en alguna
de las relaciones de precedencia que se deriven a partir de ésta, lo cual produciría un plan de
estudios confuso (Figura 3.5).
Capítulo Recuperación de Datos.
Por razones prácticas se han etiquetado cada uno de los átomos de información del capítulo como se muestra a continuación.
A Consultas. B Consultas simples. C Funciones de consolidación. D Consultas anidadas. E F
Comparadores Like y Not Like. Comparadores Null y Not Null.
Relaciones de Precedencia .Grafo lnstruccional
A B
B C
B D B E B F
D B Figura 3.5 Grafo instruccional del capítulo Recuperación de Datos mostrando un ciclo.
Capítulo 3 Análisis y Solución Conceptual del Problema
El plan de estudios se forma al linealizar el grafo de instrucción, el cual se crea al
establecer las relaciones de precedencia que existen entre cada uno de los átomos de
información y capítulos de un curso en particular. AI linealizar el grafo de instrucción,
también se facilita representar de forma gráfica el material del curso que se esté creando.
Para construir el plan de estudios, una vez que se han establecido las relaciones de
precedencia tanto de capítulos como de átomos de información, se hace uso de un algoritmo
al cual se le ha llamado Planificador. Este algoritmo toma los grafos instruccionales que se
han creado y los ordena de acuerdo a las relaciones de precedencia que se hayan establecido.
Una vez que se ha ordenado el gafo y se ha aplicado el algoritmo Planificador se
tiene la secuencia en que se presentará el material del curso; así cuando ai profesor o diseñador
del curso se le presenten dos temas los cuales pueden estar en diferente orden en dos
secuencias posibles de presentación, éste no deberá preocuparse por indicar cuál de los dos
temas será el primero que deba ver el estudiante, el Planificador io hará por él.
El algoritmo empleado en la construcción del Planificador es una variante del
algoritmo para encontrar vías mínimas de Dijkstra [16], el cual se emplea para encontrar el
camino más corto de un nodo dado al resto de los nodos de un grafo; la variante que se
implementó se encarga de encontrar la distancia más grande de un nodo dado al resto de los
nodos del grafo. A continuación se muestra un ejemplo de su funcionamiento (Figura 3.6).
32
Capítulo 3 Análisis y Solución Conceptual del Problema
Lista de arcos (LA) B Atomos de información (AIC) ............... A--. / / / / /
,c ANT.: Antecesor SUC: Sucesor ..........
1 ............ Al B [ CI DI El F li ; A
Distancia = O
ANT SUC
9 Nodos .permanentes (NT) Lista de nodos transitorios
Plan de estudios (F'E
Atomo de
Distanda
S"WSW
I +
Figura 3.6 Ejemplo que muestra el funcionamiento del algoritmo Planificador.
Tomando como referencia el grafo instruccional y las relaciones de precedencia del
capítulo Recuperación de Datos (Figura 3.4), se considera una lista de arcos la cual contiene
las relaciones de precedencia del capítulo mencionado (LA), una lista de nodos permanentes
(NP), una lista de nodos transitorios (NT), una lista que contiene los átomos de información
del capítulo (AIC) y una que contiene el plan de estudios (PE). Las entradas del algoritmo son
(LA) y (AIC), y la salida es (PE); mientras que (NP) y (NT) son listas de trabajo. Los pasos
del algoritmo son los siguientes:
Se toma como nodo inicial un nodo de la lista de átomos, tal que no aparezca
como sucesor dentro de la lista de arcos y se le asigna una distancia igual a cero.
Dicho nodo se agrega a la lista de nodos permanentes, se obtienen sus nodos
sucesores y se agregan a la lista de nodos transitorios.
Capitulo 3 Anilisis y Solución Conceptual del Problema
El siguiente paso es tomar cada uno de los nodos de la lista de nodos transitorios
tales que todos sus antecesores se encuentran en la lista de nodos permanentes;
para cada uno se toma la distancia de su antecesor y se le suma uno, se elimina de
la lista de nodos transitorios y se incluye en la lista de nodos permanentes.
Se obtienen los sucesores de cada uno de los nodos que se agregan a la lista de
nodos permanentes y se añaden a la lista de nodos transitorios.
Una vez que la lista de nodos transitorios quede vacía, entonces se finaliza el
proceso de ordenamiento del grafo de instrucción para un capítulo en particular;
en caso contrario regresar al paso 3.
A continuación se da una descripción del algoritmo de Dijstra y enseguida se da una
descripción formal del algoritmo Planificador.
Pero antes se describirá la terminología empleada. Sea G un grafo fuertemente
conexo, entonces se denota como o al nodo de donde se desea encontrar una distancia hacia
cada uno de los nodos restantes de G. A cada nodo i de G se le asignan dos etiquetas: una
denominada nodo guía (o simplemente guía), la cual se denota por di), y otra denominada
distancia que se denota por d(i). Al concluir el algoritmo el valor de la etiqueta d(i) será igual
a la distancia de (o - i)* = UI, UZ...., uq en G, mientras que g(i) es el penúltimo elemento
de la secuencia, es decir u q - l .
La letra P se reserva para un conjunto de nodos, los cuales reciben el nombre de
nodos permanentes; en tanto que T se usa para denotar un conjunto de nodos llamados
transitorios. AI conjunto de arcos de G se le designa con la letra A . Por último, en cada
iteración aparece un nodo llamado pivote, el cual se denota por p , en tanto que i y j se utilizan
para designar nodos en general, la letra Y se usa para designar un conjunto de nodos
denominados próximos.
34
Capítulo 3 Análisis y Soluci6n Conceptual del Problema
3.2.2.1 Algoritmo de Dijkstra
Paso 1 .- Iniciación
a.- Hágase
P = 0, T = 0 , p = o .
El conjunto de nodos permanentes P y el conjunto de nodos transitorios T se declaran
vacíos, y el de nodo origen o se convierte en nodo pivote.
b.- Hágase
d @ ) = O y P = @ )
Al nodo origen o (= p ) se le asigna una etiqueta de distancia igual a cero y el nodo
pivote se convierte en permanente.
Paso 2.- Minimización
a.- Encuéntrese
Y = { i I íp, i) E A , i e P).
Se obtiene el conjunto Y de los vértices terminales de los arcos que tienen a p como
nodo inicial, pero que no son permanentes; a los nodos que pertenecen a Y se les denomina
próximos.
b.- Hágase:
d i ) = P. á(i) = díp) + líp, i) para i E Y n T.
Donde líp, i) es la longitud del arco (p, i).
Se asignan etiquetas guía y distancia, según las fórmulas anteriores a los nodos
próximos que no son transitorios.
35
Capítulo 3 Análisis y Solución Conceptual del Problema
c.- Hágase:
g( i ) = P. d(i) = d@) + l@, i).
Parai E YnTytalqued(i)>d@)+I@,i).
Los nodos próximos que también son transitorios tienen etiquetas antiguas asignadas
en iteraciones anteriores, entonces para cualquer nodo i cuya etiqueta actual de distancia d(i)
sea mayor que su distancia al origen a través de p (d(p) + l(p, i)), se le asignan nuevas
etiquetas g(i) = p (el nodo queda “guiado” por p ) y d(i) = d(p) + I@, i) (la distancia de i al
origen se considera ahora a través de p ) .
d.- Obténgase
T = Y n T.
Los nodos próximos se hacen transitorios.
e.- Encuentresep tal que d@) = min d(i) para toda i E T
Se elige como nuevo nodo pivote al nodo transitorio cuya distancia ai origen sea más
pequeña.
f.- Hágase
T = T - {P}.
P = P u @}.
El nodo pivote se convierte de transitorio a permanente.
g.- Prueba de terminación:
¿T = 0?
No: regresa al paso 2.a.
Sí: la etapa de minimización finaliza.
36
Capiiulo 3 Análisis y Solución Conceptual del Problema
Si aún existen nodos transitorios, regrese al paso 2.a; en caso contrario la etapa de
minimización termina y se puede seguir al paso 3.
No se continúa con la descripción del paso tres, el cual se emplea para determinar las
vías mínimas de un nodo origen hacia el resto de los nodos del grafo, ya que sólo se usaron los
dos primeros pasos del algoritmo de Dijstra como guía para implementar el algoritmo del
Planificador.
3.2.2.2 Algoritmo Planificador
Paso 1 .- Iniciación
a.- Hágase
P = 0, T = 0 , p = o.
El conjunto de nodos permanentes P y el conjunto de nodos transitorios T se declaran
vacíos, y el nodo origen o se convierte en nodo pivote.
b.- Hágase
d@) = o y P = @}.
AI nodo origen o (= p ) se le asigna una etiqueta de distancia igual a cero y el nodo
pivote se convierte en permanente.
Paso 2.- Obtener distancia
a.- Encuéntrese
Y= {il@, i) E A , i e P}.
Se obtiene el conjunto Y de los nodos que tienen a p como nodo inicial, pero que no
son permanentes; a los nodos que pertenecen a Yse les denomina próximos.
37
Capítulo 3 Análisis y Solución Conceptual del Problema
b.- Hágase
d(i) = d(p) + 1 para i E Y
donde I@, i) es la longitud del arco (p, i).
Se asignan etiquetas de distancia, a los nodos próximos, sumándole uno a la distancia
del nodo antecesor p .
c.- Hágase:
d( i )=d@)+l .
Para i E Y n Ttal que d(i) <d@) + 1.
Los nodos próximos que también son transitorios tienen etiquetas antiguas asignadas
en iteraciones anteriores, entonces para cualquer nodo i cuya etiqueta actual de distancia ú(i)
sea menor que su distancia al origen a través de p (ú@) + l), se le asigna una nueva etiqueta
d(i) = d@) + 1 (la distancia de i al origen se considera ahora a través dep).
d.- Hágase
T = T - {P}.
P = P u@}.
El nodo pivote se convierte de transitorio a permanente.
e- Prueba de terminación: ¿ T = 0?
No: regresa al paso 2.a.
Si: la etapa de obtener distancia finaliza. .
38
Capítulo 3 Análisis y Solución Conceptual del Problema
3.2.2.3 Algoritmo para la detección de ciclos
Al establecer las relaciones de precedencia entre cada uno de los átomos de
información y capítulos de un curso, pueden encontrarse posibles ciclos que se den entre
dichas relaciones considerando el ejemplo del grafo instruccional del capítulo Recuperación
de Datos (Figura 3.4), tenemos que al intentar establecer una relación de precedencia entre los
átomos de información Comparadores null y not null y Consultas simples, se detecta un
ciclo (Figura 3.5), entonces el sistema le envía un mensaje de error al usuario; es decir, al
diseñador del curso indicándole que la relación que está tratando de crear no es válida.
3.2.3 Modelo del estudiante
Uno de los aspectos más importantes a considerar en el diseño del SGyACT, es el
proceso de evaluación, ya que a través de éste, el sistema modificará el plan de estudios para
cada estudiante de acuerdo a su ritmo y nivel de aprendizaje.
La forma de evaluar al estudiante es a través de exámenes, los cuales pueden ser
prácticos o teóricos. El profesor o diseñador de cursos podrá elaborar de forma indistinta la
cantidad de exámenes que desee. Cada una de las preguntas de los exámenes evalúa de forma
directa uno o más átomos de conocimiento.
39
Capítulo 4 Desarrollo y descripción de ia herramienta.
Capítulo 4 Desarrollo y Descripción de la Herramienta
En este capítulo se hace una descripción de la herramienta (SGyACT), y a través de
un ejemplo se muestran todas sus características. Dicho ejemplo, ayuda a comprender cual es
la función de cada uno de sus componentes y como estos se relacionan entre sí dando forma a
un curso tutor. Además, se incluye una descripción de su arquitectura, y de la base de datos
empleada en la construcción del sistema.
40
Capítulo 4 Desarrollo y descripción de la herramienta.
4.1 Elementos de la interfaz
El proceso de elaboración de un curso tutor con nuestra herramienta se puede dividir
en dos partes:
Creación del curso.
Generación del plan de estudios.
4.1.1 Creación del curso
Como se mencionó anteriormente, la herramienta se empleó en la elaboración de un
curso tutor para la enseñanza de SQL (Figura 3.2). En el ejemplo que se presenta a
continuación se muestra paso a paso cómo se creó dicho curso; en la figura 4.0 se muestra un
diagrama de flujo de la interfaz que describe este proceso de forma muy general, y en la figura
4.1 se presenta la ventana principal de la herramienta.
Figura 4.0 Diagrama de flujo de la interfaz.
41
Capitulo 4 Desarrollo y descripción de la herramienta.
Figura 4.1 Ventana principal del SGyACT.
Como se puede observar, la herramienta consta de un menú principal, que contiene
las opciones Cursos y Actualizar. AI seleccionar la opción Cursos, se presenta un sub-menú
con las opciones Abrir, Nuevo, y Salir.
Para crear el curso de SQL, el primer paso consiste en seleccionar la opción Nuevo
del menú Cursos. Una vez realizada esta acción, el sistema presenta una nueva ventana
(Figura 4.2), la cual permitirá al administrador de cursos dar de alta los datos de éste, los
cuales son Clave del curso, Título del curso y Autor, quien es el que implementa el curso. La
herramienta también permite al diseñador asignar una clave de acceso al curso que está
creando.
42
Capitulo 4 Desarrollo y descripción de la herramienta
El siguiente paso es guardar los datos del curso en la base de datos del sistema, y
elaborar cada uno de los capítulos que serán parte de éste, para ello se selecciona el botón
Aceptar.
1 Clave: ICTSPL
// Título: ICureo Tutorial ~ de SPL I__.____I______.... I " I Autor: bose William lngram Ramirez I!
_i -- E Asignar clave acceso 13
I Figura 4.2 Ventana de laopción nuevo.
A continuación, el sistema muestra una ventana, que permite al .administrador de
cursos introducir los datos de los capítulos a crear (Figura 4.3). El capítulo que se elabora
como parte de este ejemplo, es el capítulo Recuperación de Datos (Figura 3.2). La ventana
mostrada presenta dos campos de texto, en uno de ellos se introduce la Clave del capitulo y en
el otro, el Título.
Una vez que se han capturado los datos del capítulo, el siguiente paso es agregar los
átomos de información que están asociados a esté (Figura 4 3 , para tal efecto se debe
presionar el botón Aceptar.
' Clave: ICAP3
1 Titulo: IRecuperacion de Datos1 . . .- .. . . . ~
.. ~ ~ ..... . . . . . . . ~ ........
Figura 4.3 Ventana de la opción Aceptar.
Como se mencionó en el capítulo anterior, los átomos de información pueden ser de
dos tipos: átomos de conocimiento o átomos de evaluación. El botón Atomos de
Conocimiento permite al diseñador de cursos crear átomos de conocimiento o átomos de
43
Capítulo 4
ejemplo, y el botón Atomos de Evaluación permite seleccionar el tipo de examen que se
desea elaborar, los cuales pueden ser exámenes prácticos o teóricos (Figura 4.4).
Desarrolla y descripción de la herramienta.
A continuación procedemos a crear uno de los átomos de conocimiento asociado al
capítulo que se ha creado, para ello se selecciono el botón Atomos de Conocimiento.
Enseguida aparece la siguiente ventana (Figura 4.9, la cual podrá ser empleada por el
diseñador de cursos para capturar sus datos. Para este caso en particular, los atributos del
átomo de conocimiento que se creó se muestran a continuación: Título: Consultas, Grado de
dificultad: 2, Tipo de conocimiento: Memorización. A cada uno de los átomos de
conocimiento creados se les asigna un tipo de conocimiento, el cual servirá para evaluar
aspectos tales como comprensión, memorización o razonamiento, los cuales se tomarán en
cuenta al momento de crear un nuevo plan de estudios, también se tomará en cuenta el grado
de dificultad que presenta dicho átomo. El siguiente paso es seleccionar las diapositivas que
están relacionadas con el átomo de conocimiento creado (Figura 4.6) para lo cual se presiona
el botón Aceptar.
~ I C a p i i o : Recuperación de Datos 1 1 Título: IConsultas Simples
~ 1 Gradodificultad:
Tipo de conocimiento: 1 I I/
Figura 4 5 Ventana para crear átomos de conocimiento
44
Capitulo 4 Desarrollo y descripción de la herramienta.
La interfaz para dar de alta diapositivas incluye un botón etiquetado como
Explorador (Figura 4.6). AI pulsar este botón se presenta una interfaz que permite ai
diseñador de cursos buscar a través de cada uno de los directorios de su unidad de disco duro
(Figura 4.7) las diapositivas asociadas ai átomo de conocimiento creado. Una vez que se ha
localizado una, al seleccionarla, esta es mostrada en pantalla y además la herramienta toma
todas las imágenes que se encuentran en el mismo directorio en que ésta se encontró y las
coloca en una lista desplegable. En caso de que la imagen seleccionada no sea la correcta el
diseñador del curso podrá seleccionar otra imagen de la lista de imágenes o bien podrá volver
a seleccionar el botón Explorador para buscar más diapositivas en otro directorio de su disco
duro.
De igual manera si el diseñador del curso desea asociar más imágenes al átomo de
conocimiento creado deberá repetir el mismo proceso; es decir seleccionar una imagen de la
lista de imágenes o buscar mediante el botón Explorador.
En caso de que la diapositiva seleccionada sea un ejemplo (Figura 4.8), el diseñador
deberá pulsar el botón Atomo de Ejemplo, Io cual hará que aparezca una interfaz que le
permitirá introducir una consulta asociada a esa diapositiva (Figura 4.9),
II . . . .-._~__.__I_ -. .-
Figura 4.6 Ventana para d a m t a diapositivas.
45
Capitulo 4 Desarrollo y descripción de la herramienta.
QProaram Files - GI javacc2.ü B programas mjdkl.2.2 0 Recycled B T p w 1 ajdk1.3 .2 respaldo1 QTutor &Mis documentos Resaaldol4mARZO BWindows.Oi
Figura 4.7 Ventana opción “Explorador”
- - - - - w - - Y - - w p - v . , . . 1 -yc- -- - - , El Up0 de dlaposltlva selecclonada corresponde en cuanto a su contenldo a: I
Figura 4.8 Ventana de la opción “Atomo de Ejemplo”.
46
Capítulo 4 Desarrollo y descripción de la herramienta.
La interfaz empleada para dar de alta consultas tiene los siguientes elementos: un área
de texto para escribir instrucciones en SQL, un botón para Ejecutar la consulta que se ha
escrito y ver los resultados que ésta arroja (Figura 4.10), y un botón Aceptar para guardar la
consulta en la base de datos del sistema y asociarla a la diapositiva seleccionada.
Iselect - born A /where C l a v e A = ’al’
I
Figura 4.9 Ventana de la opción “Ejecutar”.
Figura 4.1 O Resultados de la consulta.
En caso de que el contenido de la diapositiva seleccionada haga referencia sólo a
conceptos, se debe pulsar el botón Atorno de Conocimiento (Figura 4.1 I).
47
Capítulo 4 Desarrollo y descripción de la herramienta.
, ., : .i
, .>/, .:,< . ,
realizar una consulta (query an inglés).
. . .
Figura 4.1 1 Ventana de la opción “Atomo de Conocimiento”.
Por Último si ya no se desea agregar más diapositivas al átomo de conocimiento dado
de alta, entonces se selecciona Cancelar. La secuencia de presentación de las diapositivas será
en el mismo orden en que éstas hayan sido dadas de alta.
Ahora para crear átomos de evaluación, se debe pulsar el botón Atornos de
Evaluación de la interfaz mostrada en la (Figura 4.4). Acto seguido aparece una interfaz que
nos permite seleccionar el tipo de examen a desarrollar (Figura 4.12).
Figura 4.12 Ventana para seleccionar el tipo de examen a crear.
48
1
Capítulo 4 Desarrollo y descripción de la heramienta.
Para elaborar un examen práctico se sigue el siguiente proceso: se pulsa de la ventana
mostrada en la Figura anterior, el botón Examen Práctico, y enseguida el sistema pide que se
introduzca una descripción del examen a crear (Figura 4.13).
____..- p1
, , i *.;. Capitulo: Recuperaclón de datos
Oescnpcion: IExamen .._....--.....__._.........._..._._....._.I.,._..__._. de consultas simples -
Figura 4.13 Ventana de la opción “Examen Práctico”.
El siguiente paso es capturar las preguntas del examen, para ello se presiona el botón
Aceptar. A continuación aparece una ventana que permite efectuar dicha acción (Figura 4.14).
. ias que ha cursado y las
I ~ ~. Figura 4.14 Ventana empleada para dar de alta las preguntas de un examen práctico.
Ahora lo primero que hay que hacer es escribir la pregunta, y una vez escrita, se
selecciona el botón Atomos Conocimiento; ai hacerlo aparecerá la siguiente ventana (Figura
4.1 S), la cual será empleada para seleccionar los átomos de conocimiento asociados a cada una
de las preguntas del examen que está elaborándose. Para seleccionarlos debe hacerse lo
siguiente: primero se selecciona un átomo de conocimiento de la fista de átomos de
conocimiento disponibles y enseguida se pulsa el botón Agregar; con esta acción se asocia el
átomo de conocimiento seleccionado con la pregunta del examen recién introducida (Figura
4.14). Después de seleccionar todos los átomos de información a la pregunta del examen, se
presiona el botón Aceptar.
49
Capitulo 4 Desarrollo y descripción de la herramienta.
Lista de átomos de conocimiento disponibles
Consultas Simples
Comparadoreo Like y Not Like tomparadores Null y Not Null
Lista de átomos asociados a la pregunta
Figura 4.15 Ventana usada en la selección de átomos de conocimiento asociados a la pregunta
*
Una vez seleccionados los átomos de conocimiento asociados a la pregunta,
siguiente paso es formular en SQL una consulta asociada a ésta (Figura 4.16).
el
para obtener las claves de las materias que ha cursado y las ha obtenido el alumno a l
.< .- .
~~
:-Escriba la consulta asociada a la pregunta - .----¡I ~
!
Figura 4.16 Ventana que muestra la consulta asociada a la pregunta.
La consulta introducida por el administrador de cursos, será usada durante el proceso
de evaluación. Cuando el estudiante presente un examen práctico, los resultados de la consulta
que él haya introducido en respuesta a la pregunta, se comparará con los resultados arrojados
por la consulta escrita por el administrador de cursos; si ambos resultados coinciden, a todos
50
Capítulo 4 Desarrollo y descripción de la herramienta.
los átomos de información asociados a la pregunta del examen que él ha respondido
correctamente, se les asignara una calificación aprobatoria. En el Capítulo 5 se explicará con
más detalle cómo se efectúa el proceso de evaluación.
Para crear un examen teórico, se debe pulsar el botón Examen Teórico mostrado en
la Figura 4.12; a continuación el sistema presenta la ventana usada para crear este tipo de
exámenes (Figura 4.1 7).
El proceso para crear un examen teórico es semejante al empleado en la creación de
un examen práctico, la diferencia estriba en la introducción de las respuestas. Un examen
teórico puede tener hasta cinco posibles respuestas asociadas a la pregunta que se ha
formulado, y los valores que éstas pueden tener es Correcto o Incorrecto. La forma de
introducirlas es la siguiente: una vez seleccionados los átomos de conocimiento asociados a la
pregunta, el sistema permitirá al diseñador de cursos insertar una respuesta a la pregunta
formulada, y si la respuesta responde correctamente a la pregunta se debe pulsar el botón
Correcta, en caso contrario, el botón Incorrecta. Para agregar más respuestas a la pregunta,
se debe presionar el botón Siguiente Respuesta. AI terminar de capturar todas las respuestas
de la pregunta se debe presionar el botón Aceptar.
Escriba laspregunta men ~- .~ ~~ ~...
I I , @Correcta 'O incorrecta - . . .. .. . . . . - . .- . - . .. -. . -. - .. .. . ___ . -. .. . _____..__ __ ... . .-
j! :!- Figura 4.17 Ventana empleada en la elaboración de exámenes teóricos.
51
Capítulo 4 Desarrolla y descripción de la herramienta.
4.1.2 Generación del plan de estudios
Una vez capturado todo el material del CUTSO, se procede a establecer las relaciones de
precedencia para cada uno de sus capítulos y átomos de información.
Para realizar lo anterior primero se debe seleccionar la opción Creas plan de
estudios del menú Cursos, una vez realizado esto, el sistema muestra la siguiente ventana
(Figura 4.18), la cual le indica al diseñador de cursos, los pasos a seguir para generar el plan
de estudios.
I I. Establecer relaciones de precedencia por Atomos de Información
1 3. Crea plan de estudios I
4. Crea interíaz alumno I
I * I ~ JI -__ -. . * - _ _ ~ - - . ~-
Figura 4.18 Ventana de la opción del menú Cursos ‘‘Generar plan de estudios”.
Tal y como se muestra en la ventana (Figura 4.18) se empieza por establecer las
relaciones de precedencia para cada uno de los átomos de información del curso. Para ello
debe seleccionarse el botón Atomos. Una vez realizada esta acción, se aparece una ventana
que muestra el contenido del curso que se ha creado. Enseguida se presenta un ejemplo que
explica los pasos a seguir para establecer tales relaciones (Figura 4.19). Para ello hemos
tomado como referencia el curso de SQL implementado con la herramienta (Figura 3.2).
1. Seleccionar de la lista que muestra el contenido del curso un capítulo; al hacer esto, se
muestran los átomos de información correspondientes ai capítulo seleccionado; para
este ejemplo en particular se selecciona el capítulo (Recuperación de Datos) y se
selecciona el átomo de información (Consultas).
Desarrollo y descripción de la herramienta. Capítulo 4
2. En la lista de átomos, la información que se muestra corresponde al resto de los
átomos de información que pertenecen al mismo capítulo al que pertenece el átomo de
información seleccionado en el paso anterior, con los cuales se puede establecer
relaciones de precedencia, en este caso se selecciona el átomo de información
(Consultas simples)
3. Por último, ai pulsar el botón Agregar, se establece una relación de precedencia entre
el átomo de información seleccionado (Consultas simples), el cual automáticamente
se elimina de la lista de átomos y se pasa a la lista de átomos predecesores, con el
átomo de información seleccionado en el paso 1 (Consultas).
Contenido del curso Lista de átomos predecesores - r
Estos mismos pasos se siguen para establecer las relaciones de precedencia para cada
uno de los átomos de información y capítulos del curso.
Por último se oprime el botón Plan de Estudios para crear el plan de estudios del
curso. Una vez que este se ha terminado de generar, el sistema presenta un mensaje ai usuario
informándole sobre el hecho.
Caoíiulo 4 Desarrollo y descripción de la herramienta.
Finalmente podrá seleccionarse el botón Interfaz Alumnos para ver cómo ha quedado
estructurado el material del curso que se ha creado de acuerdo a las relaciones de precedencia
establecidas previamente. Los detalles de la interfaz del alumno se describirán más adelante en
este capítulo.
A continuación se da una breve descripción de las clases y métodos más importantes
usados en la implementación del SGyACT.
4.2 Arquitectura de la interfaz SGyACT
La Figura 4.20 presenta las clases usadas en la implementación del sistema generador
y administrador de cursos tutores. Cada cuadro de texto en la Figura es una clase propia, es
importante aclarar que aunque cada una de las clases mostradas se implementaron en archivos
independientes, todas dependen de la clase SGyACT.
.. Figura 4.20 Clases que forman parte del SGyACT.
54
Capitulo 4 Desarrollo y descripción de la herramienta.
SGyACT
4.2.1 Clase SGyACT
CreaMenuBarO
Esta clase muestra en pantalla la ventana principal del sistema, la cual contiene una
barra de menú. En dicha barra, se presentan las opciones con las que cuenta la herramienta.
LOS métodos usados por la clase son los siguientes (Figura 4.21):
4.2.2 Clase Altacursos
Esta clase presenta en pantalla la ventana que muestra los campos de edición, que
permiten al usuario de la herramienta, capturar los datos de un curso tutor a crear. Los
métodos implementados en esta clase son los siguientes (Figura 4.22):
actionPerformed(). Cada vez que el usuario efectúe una acción sobre alguno de los
componentes de la interfaz, este método es invocado en respuesta a dicha acción.
escribe-BD(). Este método se encarga de establecer una conexión con el SMBD y enviar los
datos capturados por el diseñador de cursos a la base de datos del sistema.
validaDatos0. Este método es invocado por el método escribe-BD() para verificar que los
datos que serán guardados en la base de datos del sistema no sean cadenas vacías.
[ actionferformed() 1
escribe- SO() valida Datos()
Figura 4.22 Métodos de la clase Altacursos.
55
Capitulo 4 Desarrollo y descripción de la herramienta.
4.2.3 Clase AltaCapitulos
Esta clase presenta en pantalla la ventana que muestra los campos de edición, que
serán empleados por el usuario de la herramienta para capturar los datos de cada uno de los
capítulos del curso tutor que se esté elaborando (Figura 4.23).
actionPerformed()
escribe-B Do valida Datos[)
Figura 4.23 Métodos clase AltaCapitulos.
4.2.4 Clase AltaAtomosInformacion
Esta clase presenta en pantalla una ventana que permite al usuario de la herramienta
seleccionar el tipo de átomo de información que desee elaborar. Los métodos implementados
en esta clase son los siguientes (Figura 4.24):
verificaAtomosConocimiento(). Este método es invocado cuando el usuario de la
herramienta desea elaborar átomos de evaluación, con el fin de verificar que existan átomos de
conocimiento dados de alta para un capítulo en particular.
actionPerformed() venficaAtomosConocimiento() I I I I
I
AltaAtomosInformacion
Figura 4.24 Métodos clase AltaAtomosInformacion
4.2.5 Clase AltaAtomosConocimiento
Esta clase presenta en pantalla una ventana que permite ai usuario de la herramienta
introducir y seleccionar los datos del átomo de conocimiento a crear. Los métodos
implementados en esta clase son los siguientes (Figura 4.25):
56
Capitulo 4 Desarrollo y descripción de la herramienta.
interfazDiapositivas0. Este método crea un ejemplar de la clase AltaDiapositivas.
f interfazDiapositivas I ) 1 I
actionPerformed() Alta AtomosConocimiento escribe-BDO 1 Figura 4.25 Métodos de la clase AltaAtomos.
4.2.6 Clase AltaDiapositivas
Esta clase presenta en pantalla una ventana que permite al usuario de la herramienta
seleccionar las diapositivas que estarán asociadas a cada uno de los átomos de conocimiento,
los cuales formarán parte de cada uno de los capítulos del curso tutor que se esté elaborando.
Los métodos implementados para esta clase son los siguientes (Figura 4.26):
muestraExplorador0. Este método crea una ventana que permite al diseñador de cursos
buscar, en cada uno de los directorios de su unidad de disco duro, las diapositivas asociadas al
átomo de conocimiento que se ha creado, las cuales previamente se han transformado en
archivos de imágenes (formato gif o jpeg).
fiitraArchivos0. Este método es invocado por el método anterior y se encarga de filtrar los
archivos que el diseñador de cursos podrá ver. Al explorar en cada una de los directorios de su
unidad de disco, en busca de las diapositivas que estarán relacionadas con el átomo de
información creado, el método muestra, solo aquellos archivos cuya extensión sea (.gif ).
muestrahagen(). Este método muestra en pantalla las imágenes que el diseñador de cursos
seleccione al momento de buscar las diapositivas que estarán ligadas al átomo de información
creado.
actionPerformedO AltaDiapositivas
Figura 4.26 Métodos de la clase AltaDiapositivas.
57
Capítulo 4 Desarrollo y descripción de la herramienta.
4.2.7 Clase TipoExamen
Esta clase presenta en pantalla una ventana que permite ai usuario de la herramienta
seleccionar el tipo de átomo de evaluación que desee elaborar, el cual puede ser un examen
práctico o teórico. Los métodos implementados en esta clase son los siguientes (Figura 4.27):
I TipoExamen I Figura 4.27 Métodos de la clase TipoExamen.
4.2.8 Clase AltaExamenes
Esta clase presenta en pantalla una ventana que permite al diseñador del curso hacer
una descripción del examen a crear. Los métodos implementados en esta clase son los
siguientes (Figura 4.28):
interfazExamenTeorico(). Este método crea un ejemplar de la clase ExamenTeorico.
interfazExamenPracticoO. Este método crea un ejemplar de la clase ExamenPractico.
interfazExamenTeorico()
action Performed() AltaExamenes I Figura 4.28 Métodos de la clase AltaExamenes.
58
Capitulo 4 Desarrollo y descripción de la herramienta.
4.2.9 Clase ExamenPractico
Esta clase presenta en pantalla una ventana que permite al diseñador del curso
implementar un examen practico. Los métodos implementados en esta clase son los siguientes
(Figura 4.29):
interfazAtAsociadosO. Este método crea un ejemplar de la clase SelAtAsociadosPregunta.
I ExamenPractico escribe-BD()
Figura 4.29 Métodos de la clase ExamenPractico.
4.2.10 Clase ExamenTeorico
Esta clase presenta en pantalla una ventana que permite al diseñador del curso
implementar un examen teórico. Los métodos implementados en esta clase se muestran en la
Figura 4.30.
interfazA tAsociados() 1 I
actionPerformed() ExarnenTeorico escribe-BD()
Figura 4.30 Métodos de la clase ExamenTeorico
4.2.11 Clase SelAtAsociadosPregunta
Esta clase presenta en pantalla una ventana que permite al diseñador del curso
seleccionar los átomos de conocimiento que estarán asociados a cada una de las preguntas de
los exámenes que sean creados con la herramienta. Los métodos implementados en esta clase
son los siguientes (Figura 4.3 1):
59
Desarrollo y descripción de la herramienta. Capitulo 4
obtenAtomosConocimiento(). Este método se emplea para obtener los átomos de
conocimiento que serán presentados en pantalla. Con relación a lo anterior, el diseñador de
cursos, deberá seleccionar los que estarhn asociados a una pregunta en particular del examen
que se esté elaborando.
obtenClaveAtomosConocimiento0. Este método obtiene las claves de los átomos de
información presentados en pantalla.
r obtenAtomosConocimiento() 1 I
I action Performed() SelAtAsociadosPregunta
r -obtenC/azomosConocimiento() 1 Figura 4.3 1 Métodos de la clase SelAtAsociadosPregunta
4.2.12 Clase Abrir
Esta clase presenta en pantalla una ventana que permite al diseñador de cursos
seleccionar de la base de datos del sistema, los cursos tutores que se han creado, con el fin de
modificar su contenido. Los métodos implementados en esta clase son los siguientes (Figura
4.32):
encuentraCursos(). Este método se encarga de obtener de la base de datos del sistema, los
cursos que se han creado y mostrarlos en pantalla.
abreCursos0. AI seleccionar el curso tutor que se desea abrir, este método es invocado, y su
función es solicitar al diseñador de cursos la clave de acceso que éste tiene asignada. En caso
de no tenerla, el sistema habilitará inmediatamente las opciones que permiten modificar su
contenido, las cuales se muestran en la barra de menú al seleccionar la opción Actualizar.
I encuentracurso() I 1
actionPerformed() Abrir abrecurso()
Figura 4.31 Métodos de la clase Abrir
60
Capítulo 4 Desarrollo y descripción de la herramienta.
4.2.13 Clase AgregarAtomos
Esta clase presenta en pantalla una ventana que permite al administrador del curso
seleccionar el capítulo al cual se le desea agregar más átomos de evaluación. LOS métodos
implementados en esta clase se muestran en la Figura 4.33.
actionPetfomed{)
I I
Figura 4.33 Métodos de la clase AgregarAtomos
4.2.14 Clase Consultar
Esta clase presenta en pantalla una ventana que muestra y permite ai administrador de
cursos modificar o consultar el contenido de un curso tutor. Los métodos implementados en
esta clase son los siguientes (Figura 4.34):
creaIndiceCurso(). Este método presenta el contenido de un curso tutor, previamente abierto,
tal y como se presenta el índice de contenido de un libro: primero se muestra el título del
curso, enseguida los capítulos, y por último los átomos de información asociados a éstos.
valueChanged(). Este método es el receptor de eventos para el contenido del curso. Cuando el
usuario de la herramienta seleccione un átomo de información, se presentan en pantalla las
propiedades de éste; en caso de que el elemento seleccionado sea un capítulo, se crea un
ejemplar de la clase ConsultarCapitulo, la cual muestra los datos del capítulo que se ha
seleccionado.
intrerfazExamenPractico(). Este método es invocado cuando el usuario de la herramienta ha
seleccionado un átomo de evaluación y éste corresponde a un examen práctico; entonces, se
crea un ejemplar de la clase ConsultarExamenPractico, la cual se encarga de mostrar el
contenido de dicho examen.
61
Capítulo 4 Desarrollo y descripción de la herramienta.
interfazExamenTeorico0. Este método es invocado cuando el usuario de la herramienta ha
seleccionado un átomo de evaluación y éste corresponde a un examen teórico; entonces, se
crea un ejemplar de la clase ConsultarExamenTeorico, la cual se encarga de mostrar el
contenido de dicho examen.
interfazPredecesoresO. El ejemplar de la clase que se crea al invocar este método permite ver
las relaciones de precedencia que se establecieron para un átomo de información en particular.
interfazDiapositivas(). El ejemplar de la clase que se crea al invocar este método, permite ver
las diapositivas asociadas a un átomo de información en particular.
interfazCapitulos(). Este método crea un ejemplar de la clase ConsultarCapitulos y muestra
el contenido del capítulo seleccionado.
modificaNodoSeleccionado0. Este método es invocado cuando el administrador de cursos
selecciona un átomo de información que desea eliminar del curso.
removeCurrentNode0. Elimina de la interfaz el átomo de información seleccionado por el
usuario.
changeCurrentNode(). Este método es invocado cuando se modifica el título de un capítulo
del curso.
imprimirDatosAtomos(). Este método es invocado cuando el usuario de la herramienta
selecciona alguno de los átomos de conocimiento del curso, y se encarga de obtener de la base
de datos del sistema la información correspondiente a éste y la muestra en pantalla.
62
Capitulo 4 Desarrollo y descripción de la herramienta.
interfazExamen Practico() interfazExamen Teorice()
interfazPredecesores0 actionPerformed()
interfazDiapositivas() CrealndiceCurso()
interfazCapitulos() actualizaNodo()
I I 1 [
value Changed() removeCumentNode()
changeCurrentNode() ModificaNodoSeleccionado()
Figura 4.34 Métodos de la clase Consultar.
4.2.15 Clase ConsultarDiapostivas
Esta clase presenta en pantalla una ventana, la cual muestra y permite al
administrador de cursos modificar o consultar las diapositivas asociadas a un átomo de
información predeterminado. Los métodos implementados son los siguientes (Figura 4.35):
obtenerDiapositivasAtomos0. Este método obtiene, de la base de datos del sistema, las
diapositivas asociadas a un átomo de información que el administrador de cursos haya
seleccionado.
agregarDiapositivas0. Este método añade más diapositivas a un átomo de información
seleccionado por el administrador de cursos.
ObtenerDiapositivasA tomos() agregarDiapositivas()
actionPerformed() ConsultarDiapositivas muestralmagen()
Figura 4.35 Métodos de la clase ConsultarDiapositivas.
Capitulo 4 Desarrollo y descripción de la herramienta.
4.2.16 Clase ConsultarExamenPractico
Esta clase presenta en pantalla una ventana que muestra y permite al administrador de
cursos modificar o consultar el contenido de un examen práctico. Los métodos implementados
en esta clase son los siguientes (Figura 4.36):
obtenPreguntas0. Este método obtiene, de la base de datos del sistema, las preguntas
asociadas al examen seleccionado.
agregapreguntas(). Este método permite añadir más preguntas al examen seleccionado.
consultaAtomos(). Muestra los átomos de conocimiento relacionados con cada una de las
preguntas del examen.
obtenerpreguntas() consu/taAtomos() I actionPerformedl) ConsuItarExamenPractico agregaExamen()
Figura 4.36 Métodos de la clase ConsuItarExamenPractico.
4.2.17 Clase ConsultarExamenTeorico
Esta clase presenta en pantalla una ventana que muestra y permite al administrador de
cursos modificar o consultar el contenido de un examen teórico. Los métodos implementados
en esta clase se muestran en la Figura 4.37.
obtenerpreguntas() consultaAtomos() 1 actionPerformed() ConsultarExamenTeorico agrega Examen()
Figura 4.37 Métodos de la clase ConsultarExamenTeorico.
64
Capitulo 4 Desarrollo y descripción de la herramienta.
4.2.18 Clase ConsultarPredecesoresAtomos
Esta clase presenta en pantalla una ventana que muestra y permite al administrador de
cursos modificar o consultar los predecesores de un átomo de conocimiento seleccionado. LOS
métodos para esta clase son los siguientes (Figura 4.38):
obtenAtomos(). Obtiene de la base de datos los predecesores para el átomo de información
seleccionado de antemano por el administrador de cursos.
action Petformed0 obtenAtornos()
Figura 4.38 Métodos de la clase ConsultarPredecesoresAtomos.
4.2.19 Clase ConsultarPredecesoresCapitulos
Esta clase presenta en pantalla una ventana que muestra y permite al administrador de
cursos modificar o consultar los predecesores de un capítulo seleccionado. Los métodos
implementados para esta clase son los siguientes (Figura 4.39):
obtenCapitulos0. Obtiene de la base de datos los predecesores para el capítulo seleccionado
de antemano por el administrador de cursos.
Figura 4.39 Métodos de la clase ConsultarPredecesoresAtomos
65
Capítulo 4 Desarrollo y descripción de la herramienta.
4.2.20 Clase PrecedenciaAtomos
Esta clase presenta en pantalla una ventana, la cual permite al administrador de cursos
establecer las relaciones de precedencia que existen entre cada uno de los átomos de
información del curso que se ha creado. Los métodos implementados en esta clase son los
siguientes (Figura 4.40):
verificaCiclos(). Determina si se encuentran ciclos al especificar una relación de predecencia.
crea fndiceCurso() valueChanged()
action Performed() PrecedenciaAtomos verifica Ciclos()
Figura 4.40 Métodos de la clase PrecedenciaAtomos.
4.2.21 Clase PrecedenciaCapitulos
Esta clase presenta en pantalla una ventana, la cual permite al administrador de cursos
establecer las relaciones de precedencia que existen entre cada uno de los capítulos del curso
que se ha creado. Los métodos implmementados en esta clase se muestran en la Figura 4.41.
crealndice Curso() vafueChanged()
action Performed() PrecedenciaCapitulos verifica Ciclos()
Figura 4.41 Métodos de la clase PrecedenciaCapitulos.
1
66
Capítulo 4 Desarrollo y descripción de la herramienta.
4.2.22 Clase GeneraPlanEstudios
Esta clase implementa el algoritmo planificador y es usada en la generación de planes
de estudio, y los métodos con los que cuenta esta clase son los siguientes (Figura 4.42):
ordenaAtornos{) GeneraPlanEstudios ordenaCapifu/os()
Figura 4.42 Métodos de la clase GeneraPlanEstudios.
ordenaAtomos0. Establece el orden en que se presentarán los átomos de información del
curso, de acuerdo a las relaciones de precedencia previamente establecidas.
ordenaCapitulos(). Establece el orden en que se presentarán los capítulos del curso, de
acuerdo a las relaciones de precedencia previamente establecidas.
4.2.23 Clase InterfazGeneraPlanEstudios
Esta clase presenta en pantalla una ventana que muestra los pasos a seguir para crear
el plan de estudios de un curso. Los métodos implmementados en esta clase se muestran en la
Figura 4.43.
action Performed{)
InterfazGeneraPlanEstudios
Figura 4.43 Métodos de la clase InterfazGeneraPlanEstudios.
Capitulo 4 Desarrollo y descripción de la hemmienta.
4.3 Arquitectura de la interfaz del alumno
La interfaz del alumno está compuesta por dos ventanas. En una de ellas se muestran
los capítulos del curso, al seleccionar alguno en particular, se presenta otra ventana que
contiene los átomos de información asociados al capítulo seleccionado. En la Figura 4.44 se
muestran los átomos de información del capítulo Recuperación de Datos.
............ ,... .....
@.Consultas Simples
c) Consultas Anidadas
F.unciones de Consolidación
Figura 4.44 Contenido del capítulo Recuperación de Datos.
Como se puede observar, la ventana presenta botones al lado derecho de las etiquetas
que indican el nombre de los capítulos y átomos de información del curso. Estos botones
aparecen coloreados según el avance del estudiante.
Un botón de color rojo le indica al estudiante que no es conveniente que vea el contenido
del átomo de información o capítulo al cual está asociado, ya que es requisito para poder ver el
contenido de dicho átomo o capítulo, haber visto el contenido de algún capítulo o átomo
predecesor que todavía no ha visto.
68
Capitulo 4 Desarrollo y descripción de la herramienta.
Un botón de color amarillo le informa ai estudiante que el contenido del átomo de
información o el capítulo asociado a éste ya fue visto. Un botón de color verde señala que el
contenido del átomo de información o capítulo asociado a éste puede ser visto.
Por ejemplo considerando el contenido del capítulo Recuperación de Datos (Figura
4.44), tenemos que todos los átomos de información del capítulo tienen asociados un botón de
color rojo, excepto el átomo de información titulado Introducción, el cual tiene asociado un
botón de color verde. AI terminar de ver el contenido de éste, el botón asociado al átomo de
información Introducción cambia de verde a amarillo, y el resto de los botones del capítulo
continúan en rojo, excepto el botón asociado al átomo de información Consultas Simples el
cual cambia de rojo a verde. El cambio de color rojo a verde se debe a que el átomo de
información Introducción es el antecesor del átomo de información Consultas Simples. AI
terminar de ver el contenido del átomo de información Consultas Simples el botón asociado a
éste pasará de color verde a amarillo, y los botones del resto de los átomos de información del
capítulo se pondrán en verde, debido a que todos tienen como predecesor al átomo de
información Consultas Simples (Figura 4.45).
. . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 Como Crear Tablas Base
0 Recuperación de Datos
0 Actualización de Datos
.. - . . . . . . . . . - .- . ~[G Consuitas . . . . . . . Simple6 - . . . . . . .
0 Funciones de Consolidacih @Consul- Anidadas
0 Comparadores Like y Not Like
Figura 4.45 Contenido del capítulo Recuperaciónde Datos después de ver el contenido del
átomo de información Consultas Simples.
69
Capitulo 4 Desarrollo y descripción de la herramienta.
A continuación se describen las clases que implementan la interfaz del alumno, y
también se mostrarán los algoritmos empleados para colorear los átomos de información y
capítulos del curso. Es importante aclarar que, además de presentar el contenido de cada uno
de los átomos de conocimiento, asimismo, la interfaz del alumno muestra, en caso de que el
alumno seleccione un átomo de evaluación, ya sea que éste sea un examen práctico o teórico,
las ventanas asociadas a estos, a través de las cuales se evaluará al estudiante.
4.3.1 Clase jPanelCapitulos
Es la clase principal que crea la interfaz del alumno y sus métodos son los siguientes
(Figura 4.46):
muestraAtomos0. Este método crea un ejemplar de la clase que implementa la interfaz
asociada a los átomos de conocimiento relacionados al capítulo que el estudiante haya
seleccionado.
coloreaCapitulos0. Este método es empleado para asignar de acuerdo al plan de estudios
generado y al siguiente algoritmo (el cual se describirá a continuación) los colores de los
botones que estarán asociados a cada uno de los capítulos del curso.
muestraAtomos()
I actionPerformedl) jPanelCapitulos coloreaCapitulos()
Figura 4.46 Métodos de la clase jPanelCapitulos.
4.3.1.1 Algoritmo para colorear capítulos
1. Amarillo: si la calificación de todos los átomos de conocimiento del capítulo es
aprobatoria y todos han sido repasados.
2. 'Verde: si algunos átomos del capítulo han sido repasados y otros no.
70
Capítulo 4 Desarrollo y descripción de la herramienta.
3. Verde: si todos los átomos del capítulo han sido repasados pero alguno tiene calificación
reprobatoria.
4. Verde: si ninguno de los átomos del capítulo ha sido repasado, pero todos los
prerrequisitos del capítulo son amarillos.
5. Rojo: si ninguno de los átomos del capítulo ha sido repasado, y existe algún capítulo
prerrequisito que es verde o rojo.
4.3.2 Clase jPanelAtomos
Esta clase presenta al estudiante los átomos de información asociados a alguno de los
capítulos del curso, sus métodos son los siguientes (Figura 4.47):
coloreaAtomos(). Este método es empleado para asignar, de acuerdo al plan de estudios
generado y al siguiente algoritmo (el cual se describirá a continuación) los colores de los
botones que estarán asociados a cada uno de los átomos de información del curso.
action Performed() jPanelAtomos coloreaA tomos()
Figura 4.47 Métodos de la clase jPanelAtomos.
4.3.1.1 Algoritmo para colorear átomos de información
1. Si el número de repasos es mayor que cero y la calificación del átomo es nula, entonces el
color es amarillo
2. Si el número de repasos es mayor que cero y la calificación del átomo es mayor de sesenta,
entonces el color es amarillo.
Capítulo 4 Desarrollo y descripción de la herramienta.
3. Si el número de repasos es mayor que cero y la calificación del átomo es menor que
sesenta entonces el color es verde
4. Si el número de repasos es igual a cero y todos los predecesores son amarillos, entonces el
color es verde.
5. Si el número de repasos es igual a cero y algún predecesor es verde o rojo, entonces el
color es rojo.
6 . Si el número de repasos es cero y no tiene predecesores, entonces el color es verde
Por último cada vez que el estudiante termine de ver el contenido de un capítulo o
átomo de información o presente un examen, la interfaz del alumno se actualizará presentando
al estudiante un nuevo plan de estudios que refleje el avance que éste va teniendo en el estudio
del material del curso.
4.4 Descripción de la base de datos.
La base de datos empleada por la herramienta se implementó en MS Access, y el
acceso se hace a través de JDBC (Java DataBase Connectivity, por sus siglas en inglés).
JDBC es una especificación de un conjunto de clases y métodos de operación que
permiten a cualquier programa escrito en Java acceder a sistemas de bases de datos de forma
homogénea. JDBC es un API desarrollada por Sun Microsystems y diseñada para soportar
SQL dinámico, usando como modelo la especificación ODBC [SI.
ODBC (Open Database Connectivity, por sus siglas en inglés), es una interfaz de
programación de aplicaciones (MI) que es independiente del SMBD y de la herramienta de
programación, desarrollada por Microsoft y basada en la especificación X/Open CAE “SQL
Call-Level Interface (CLI)” del SQL Access Group (SAG) y de acuerdo con la norma
ISO/IEC 9075-3 (E) Call-Level Interface (SQLKLI). El principal objetivo de ODBC es el de
72
Capítulo 4 Desarrollo y descripción de la herramienta.
permitir que las aplicaciones cliente desarrolladas para el ambiente Windows (versión 3.1 1 en
adelante) y OSi2 puedan tener interoperabilidad con SMBDs relacionales de alto rendimiento
que funcionan en ambientes Unix (como Oracle, Informix, Sybase, etc.) [4].
Las aplicaciones Java deben tener, al igual que ODBC, acceso a un controlador (driver)
de conectividad, el cual se encarga de establecer la conexión, la transmisión de datos y la
desconexión entre una aplicación cliente y el SMBD [14]. En cuanto a su forma de operar, un
controlador JDBC puede pertenecer a una de las siguientes cuatro categorías: Controlador
Puente JDBC-ODBC, Controlador JDBC para API Nativo, Controlador de Protocolo Nativo, y
Controlador de Protocolo de Red.
Para acceder a la base de datos del sistema, primero se empleó un controlador puente
JDBC-ODBC el cual es proporcionado por Java, dicho controlador presentó problemas al
establecer comunicación con el SMBD empleado por la herramienta. Para evitar este problema
se optó por utilizar un controlador comercial de tipo 3 (controlador de protocolo nativo) para
el acceso a la base de datos. A continuación se presenta una breve descripción de cada una de
las tablas de la base de datos de la herramienta. Pero antes de iniciar con dicha descripción se
mostrarán las relaciones que existen entre algunas de las tablas de la base de datos (Figura
4.48).
73
Capítulo 4 Desarrollo y descripción de la herramienta.
Nombre del campo Tipo de dato Longitud Propiedades ClaveCurso Nombrecurso Texto 50 Autor Texto 50 ClaveAcceso Texto 50
Texto 50 Llave primaria Descripción Clave del curso a crear Nombre del curso a crear Autor del curso Clave de acceso asignada al curso
Nombre del campo Tipo de dato Longitud Propiedades Ncontrol Texto so ClaveCurso Texto so
Descripción Clave del alumno Clave del curso
Ubicación en disco de la
Nombre del campo ClaveCapitulo ClaveCurso Nombrecapitulo
diapositiva Número de diapositivas
50 Si la diapositiva incluye un ejemplo en este campo se guarda la instrucción SQL asociada a la diapositiva
Tipo de dato Longitud Propiedades Descripción Texto so Llave primaria Clave del capítulo Texto so Clave del curso Texto so Nombre del capítulo
Nombre del campo Clavepregunta ClaveAtomo
Pregunta Consulta
Tipo de dato Longitud Propiedades Texto 50 Llave primaria Texto so
Texto 255 Texto 255
Secuencia asociada a la pregunta
han sido dadas de alta Texto 50 Número de preguntas que
Capitulo 4 Desarrollo y descripción de la herramienta.
50
SO
Tabla Atomos
información creado Nombre del átomo de información Tipo de conocimiento que TipoConocimiento Texto I
Nombre del campo At om o I ni c i a 1
AtomoFinal
ClaveCapitulo
Secuencia Numérico
Tipo de dato Longitud Propiedades Descripción Texto so Clave del átomo de
información inicial Texto so Clave del átomo que será
el predecesor del átomo inicial
Texto so Clave del capítulo
Longitud 50
Clavecurso
50
será el predecesor &I capítulo inicial
Texto SO Clave del curso
está asociado el átomo de
presenta el átomo -de información para su estudio Tipo de átomo de información (átomo de evaluación o átomo de conocimiento) Número de átomos creados.
JiiuloFinal I Texto 150 I IClave del capítulo que1
Capitulo 4 Desarrollo y descripción de la herramienta.
1 Nombre del campo 1 Tipo de I Longitud 1 Propiedades Descripción
ClaveAtomo Distancia ClaveAtomoPredecesor ClaveCapitulo
Clave Atomo
dato Texto Numérico Orden de presentación Texto 50 Atomo predecesor
50 Clave del capítulo Texto
50 Clave del átomo
Respuesta1
Longitud 50 50
Respuesta2 7
Propiedades Descripción Llave primaria Clave de la pregunta
Clave del átomo de
Respuesta3 I Respuesta4
Respuesta5
IC014
:a Tipo de dato Texto Texto
Texto Texto
Texto
Texto
Texto
Texto
Texto
Texto
Texto
Texto
Texto
valor de la respuesta 2
Capitulo 4 Desarrollo y descripción de la herramienta.
Nombre del campo Tipo de Longitud Propiedades
Ncontrol Texto 50 Nombre Texto 50 Alias Texto 50 Contraseña Texto 50
dato Descripción
Clave del átomo Distancia Atomo predecesor Clave del capítulo
Tabla AtomosAsocir Nombre del campo Clavepregunta
Propiedades
Atomol
Atom02
Descripción Clave de la pregunta Clave del átomo de información asociado a la pregunta Clave del átomo de información asociado a la
Atom03 50
Atom04
I Clave del átomo de
Atom05
50
50
IosPregunta Tipo de dato Texto Texto
información asociado a la pregunta Clave del átomo de información asociado a la pregunta Clave del átomo de información asociado a la pregunta
Texto
Texto
Texto
Texto
Longitud 50 50
50
Capitulo 4 Desarrollo y descripción de la herramienta.
Tabla AvancesAlumnos
78
Pruebas Capítulo 5
Capítulo 5 Pruebas
Este capítulo contiene los objetivos y los resultados de las pruebas realizadas a la
herramienta y en forma más específica a la interfaz del alumno.
79
Pruebas Capítulo 5
5.1 Objetivos de las pruebas
E1 objetivo de las pruebas es comprobar la funcionalidad de la interfaz del alumno; y
así mismo, verificar que la secuencia en que se presenta el material del curso se modifique de
forma automática, conforme él vaya avanzando en su estudio. Para ello se construyo un curso
tutor de SQL, el cuál se muestra en la (Figura 3.2).
Antes de continuar con la descripción de las pruebas es importante mencionar algunas
de las características de la interfaz, las cuales se presentan a continuación:
Primero, para guiar al estudiante en la lectura del material del curso, se utilizan
botones con los colores rojo, verde y amarillo, los cuales están asociados a cada uno de los
capítulos y átomos de información del curso. Estos botones indican lo siguiente:
Un botón de color amarillo indica que el contenido del capitulo o átomo de
información al cual se encuentra asociado ya fue visto.
Un botón de color verde sugiere que el material del capítulo o átomo de
información al cual está asociado, debe verse inmediatamente. Una vez que se ha
visto su contenido, dicho botón cambia de color verde a amarillo.
Un botón de color rojo señala que el átomo de información o capítulo asociado a
éste no es conviene que sea visto.
Si un estudiante selecciona un capítulo o átomo de información, que tenga asociado
un botón rojo, la herramienta, le permitirá ver su contenido, no sin antes, enviarle
un mensaje de advertencia indicándole que aún no ha visto los capítulos o átomos
de información que son prerrequisitos. También se le indica que en caso de no
aprobar los exámenes que se le presenten, entonces el capítulo o los átomos de
información asociados a éstos no se mostrarán como temas ya vistos en la interfaz
del alumno al generar un nuevo plan de estudios.
80
Pruebas Capitulo 5
Para comprender el proceso de evaluación del estudiante, es necesario tener presente
lo siguiente:
Inicialmente todos los átomos de información tienen asignada una calificación
inicial igual a menos uno.
Cada pregunta del examen puede tener asociados como máximo cinco átomos de
conocimiento.
Puede haber más de una pregunta que tengan asociadas un mismo átomo de
conocimiento.
El proceso que se sigue para evaluar al estudiante cuando éste presente un examen
teórico es el siguiente:
Para evaluar al estudiante, primero se obtienen todos los átomos de conocimiento que
están asociados a las preguntas del examen que el estudiante está presentando, enseguida se
determina cuántas preguntas evalúan a un mismo átomo de conocimiento. Una vez obtenida
esta información, lo siguiente es esperar a que el estudiante vaya contestando cada una de las
preguntas del examen, si la respuesta que introduce, de acuerdo a la pregunta que se le
formule, es incorrecta, a los átomos de información asociados a ésta se les asigna una
calificación de cero, en caso contrario se les asigna una calificación de cien, Cada vez que se
le asigne una calificación a un átomo de conocimiento, ésta es sumada a la calificación que
haya obtenido anteriormente, al final se obtiene un promedio de las calificaciones asignadas a
cada átomo de conocimiento. Esto servirá al momento de generar un nuevo plan de estudios,
ya que los algoritmos empleados para colorear capítulos y átomos de información emplean la
calificación asignada a los átomos de conocimiento.
Al finalizar el examen, de acuerdo con los algoritmos para colorear átomos y
capítulos mostrados en el capítulo anterior y los resultados de las evaluaciones efectuadas, la
interfaz del alumno se modifica automáticamente, mostrando un nuevo plan de estudios, en el
I 81
I
1
Pruebas Capitulo 5
cual se le indica al estudiante cuáles temas ya fueron vistos y aprobados, cuáles deberá volver
a repasar y cuales aun no debe ver.
En caso de que el estudiante presente un examen práctico, el proceso de evaluación es
el siguiente:
Se obtiene el resultado de la consulta formulada por el estudiante en respuesta a la
pregunta del examen y se compara con los resultados arrojados por la consulta que el
administrador de cursos introdujo al crearlo. Si ambos resultados, coinciden entonces los
átomos de conocimiento asociados a la pregunta se les asigna una calificación aprobatoria, en
caso contrario, se les asigna una calificación reprobatoria. En caso de que la calificación sea
reprobatoria, se obtienen los átomos de conocimiento que anteceden a los átomos de
conocimiento que fueron evaluados con dicha pregunta y las preguntas asociadas a estos, las
cuales le son aplicadas al estudiante y de igual manera si este responde correctamente, los
átomos de conocimiento asociados a éstas reciben una calificación aprobatoria en caso
contrario se vuelven a obtener los antecesores de los átomos de conocimiento que éstas
evalúan y por consiguiente las preguntas asociadas a éstos. El objetivo de esto es determinar
cuales serán los átomos de conocimiento que el estudiante deberá volver a repasar al generar
un nuevo plan de estudios.
En cuanto a los átomos de evaluación, los botones asociados a éstos toman un color
amarillo siempre y cuando todos los átomos de conocimiento que son evaluados por el examen
sean aprobados.
La interfaz del estudiante presenta el material del curso de SQL elaborado con el
SGyACT (Figura 3.2).
La interfaz consta de dos ventanas, en una de ellas se muestran los capítulos del
curso (Figura 5.1) y, al seleccionar alguno de ellos, se presenta una ventana que contiene los
átomos de conocimiento que están asociados al capítulo seleccionado. En este caso se
82
Pruebas Capítulo 5
seleccionó el capítulo Panorámica General de SQL y en la Figura 5.2, se muestran 10s
átomos de conocimiento asociados a este capítulo.
Para ver el contenido de los átomos de información, se selecciona cualquiera de los
que se le presentaron al seleccionar un capítulo del curso de SQL (Panorámica General de
SQL). Una vez realizado esto, se aparece una ventana que presenta las diapositivas asociadas
al átomo de conocimiento seleccionado (Introducción) (Figura 5.3).
0 Como Crear Tablas Base
0 Recuperación de Datos
Figura 5.1 Capítulos del curso tutor de SQL.
0 Bases de Datos: Definición jLr-Dm-1
Figura 5.2 Alomos de información del capitulo seleccionado.
El origen de la tecnología de bases de datos relacionales está se encuentra en ese artículo.
I 83
I
Capitulo 5 Pruebas
Una vez que se ha visto el contenido de los átomos de conocimiento del capítulo
Panorámica General de SQL, se selecciona el átomo de evaluación Examen Lenguaje
SQL (Figura 5.2); enseguida se le presenta una ventana al estudiante, la cual le muestra una
serie de preguntas, que sirven para evaluar los conceptos aprendidos en este capítulo (Figura I
5.4).
Figura 5.4 Ventana que muestra las preguntas de un examen teórico.
Al finalizar el examen, el color de los botones tanto de los átomos de conocimiento
como del capítulo cambian de color verde a amarillo, indicando que los temas del capítulo
Panorámica General de SQL ya fueron vistos y aprobados.
i i i 84
Conclusiones Capitulo 6
Capítulo 6 Conclusiones
En este capítulo se describen las conclusiones generales y los resultados que se
obtuvieron en el desarrollo de este trabajo de tesis y las recomendaciones para trabajos futuros
85
Conclusiones Capítulo 6
6.1 Conclusiones generales
La herramienta desarrollada en este proyecto de tesis abre una nueva línea de
investigación en el área de sistemas distribuidos del cenidet, y está encaminada hacia el
desarrollo de ambientes de enseñanza-aprendizaje, estableciendo las bases para futuros
trabajos de tesis.
Si bien es cierto que se ha trabajado mucho en el desarrollo de este tipo de sistemas,
algunos de los que se han implementado, en el ámbito nacional, están limitados a la enseñanza
de temas muy específicos en un área del conocimiento, por consiguiente no incluyen
herramientas que permitan editar y modificar su contenido o bien, puedan ser empleados en la
elaboración de otros cursos.
Por otro lado, tenemos que algunos sistemas que se han desarrollado con este mismo
propósito no incluyen dentro de su estructura herramientas que faciliten la elaboración de
exámenes que permitan evaluar el conocimiento adquirido por el estudiante. Esto es
importante, ya que en base a los resultados arrojados por las evaluaciones realizadas a los
estudiantes, el sistema deberá generar un plan de estudios personalizado para cada uno de ellos
adaptando el material del curso a su ritmo y nivel de aprendizaje.
6.2 Resultados obtenidos
Se desarrolló una herramienta basada en la arquitectura usada comúnmente en la
construcción de ITSs, la cual permite, además de crear cursos tutores, modificar su contenido.
También permite generar la interfaz del estudiante, así como la elaboración de exámenes
prácticos y teóricos.
La herramienta desarrollada genera planes de estudio personalizados para cada
estudiante en base a los resultados que éstos obtienen al ser evaluados.
86
Capitulo 6 Conclusiones
6.3 Trabajos futuros
Tanto la interfaz del sistema generador y administrador de cursos como la interfaz del
alumno pueden ser mejoradas en varios aspectos.
Uno de estos es agregar la posibilidad de que la interfaz del alumno pueda ser accedida
de forma simultánea a través de Internet por más de un estudiante. Otro aspecto es emplear
multimedia (sonido, imágenes y video) en la presentación del material del curso.
Asociado a lo anterior se debe agregar un módulo que permita sincronizar de alguna
forma los constantes accesos, actualizaciones y modificaciones que se hagan sobre la
información almacenada en la base de datos del sistema, así mismo se debe verificar que los
cambios realizados no dejen la base de datos en un estado inconsistente.
A continuación se mencionan algunos trabajos orientados a mejorar la interfaz del
sistema generador y administrador de cursos.
Actualmente se usan láminas de PowerPoint para elaborar el material del curso tutor
que será presentado al estudiante, y una vez que se ha terminado de crear, dichas láminas se
transforman en archivos de imágenes (formato gif o jpeg). Ahora bien si se utilizan otras
herramientas para preparar el contenido del curso, se debe agregar un módulo más al SGyACT
que permita al diseñador y administrador de cursos ver y seleccionar archivos en diversos
formatos además de los ya mencionados con anterioridad.
Uno de los aspectos más importantes de todo sistema tutor es su adaptabilidad; es
decir, el sistema debe seleccionar, organizar y presentar el material de estudio al estudiante de
tal forma que se adapte a su ritmo y nivel de aprendizaje, para lograr tales objetivos se debe
elaborar un plan de estudios personalizado.
87
Capítulo 6 Conclusiones
Para crear tal pian de estudios se deben tomar en cuenta tres factores los cuales son: el
tipo de conocimiento y el grado de dificultad de un átomo de conocimiento en particular y la
calificación asignada a éste después de haber sido evaluado.
Se debe modificar el algoritmo planificador y las clases que implementan la interfaz
del alumno de tal forma que, al momento de presentar el material del curso, se tome en cuenta
el tipo de conocimiento y el grado de dificultad que presentan cada uno de los átomos de
información asociados a éste.
0 1 - 0 5 6 1
88
Bibliografía
Baffes, P.T., Mooney, R. J., A Novel Application of Theory Rejhement to Student Modeline Proceding of the Amencan Association for Artificial intelligence, AAAI-96, pp. 403-408,1996,
Brown, J. s.; Collins, A.; and Duguid, P. Situated cognition and the culture of learning Technical report, Institute for Research on Learning, 1989.
Brown, G. p., "A framework for processing dialogue,", Rep. No. TR 182, Laboratory for Computer Sciencie, Massachussets Institute of Techmology. 1977.
CAFFE Jr.7 JAMES L. "Client-Server Databases and ODBC - WhatS It All Mean ?". 1 997, www . avail a.net/-j caffe/CI i en tS erverODB C. htm
cam, B.; Goldstein, Overlays: a theory modeling for computer-aided instruction. AI Lab Memo 41 7. Massachusetts Institute of Technology, Cambridge, Massachusetts, 1977.
Codd E. F., "A Relational Model of Data Large Shared Data Banks". ACM, No. 6, Junio 1970.
Carbonell, J. R., " A I in CAI: an Arti m a l Intelligence Approach to Com uter Asisted
?.&?.e . .
~ ..
13,
Instmcction", IEEE Transactions on L' an Machine System, Vol. 11 pp. 14-20;, 1970.
DEVIS Botella, Ricardo. "Todo Java (v): Acceso a Bases de Datos Mediante JDBC", En'Soluciones Avanzadas, 15 de septiembre de 1997.
Dillenbourg, P., Self, J., A environments, Vol. 2, Issue
modelling. Interactive learning
Eduardo Rivera porto, 'ilprendizaje Asistido or Computadora, Diseño y Realización 11, 1997, http://msip.lce.org/erporto/libros/edu fiedul .htm
Julián Gutiérrez, Tomás A. Pérez, Philippe Lopistéguy, Imanol Usandizaga, "sistemas
Tutores Inteligentes: Una Forma de Conseguir Sistemas Hipermedia Educativos"> 1995, http://www.ji.si.ehu.es/hyper/Publicaciones/CAEPIA95/CEAPIA95.html.
Marta Vitalia Corredor Montagnt. "Ar uitectura para Sistemas Inteli entes de
de Madrid., Madrid, 1994):
Mayer, R. E., El futuro de la psicología cognitiva. Alianza Editorial. Madrid. 1981.
~ ~ ~ ~ ~ ~ ~ i ó ~ Asistida por Computador , ($ esis de Doctorado, Universidad f - . olitecnica
Ortega Izaguirre Rogelio, ' I intevfaz JDBC para un Sistema de Administración de Bases de Datos Distribuidas", Tesis de Maestría, Centro Nacional de investigación y Desarrollo Tecnológico, S.E.P., Cuemavaca, Mor. 2000.
Pazos Range1 R., Pérez O. J., Sosa Victor, "sistema Manejador de B~~~~ de D~~~~ Distribuidas SiMBaDD Versión 1.1 para Windows",Centro Nacional de Investigación y Desarrollo Tecnológico, S.E.P., Cuemavaca, Mor.
Rodolfo A. pazos "Mitodos de Optimización para una Red interurbana de Transmisión de datos", Tesis de Maestría, Centro de Investigación de Estudios Avanzados del Instituto Politécnico Nacional. S.E.P., México DF. 1978.
Robert p. Taylor., The Computer in the school: Tutor, Tool, Tutee. New YOrk: Columbia Teachers College Press, 1980.
Russell, s., 1995.
p., Artificial Intelligence a modern approach. Prentice-Hall,
Skinner, B. F., The Science of learning and the art of teaching, Harvard Educational Review. 24(2). 1954.
SIeeman, D.3 Some Challenges for intelligent tutoring systems. Proceedings of the Tenth International Joint conference on Artificial Intelligence,Milan, pp. 1 166- 1 168, i 987.
Zhou Gang., Wmg T. L. Jason., Ng A. Peter, ''A Knowledge-Based Tutoring System for ~ Q L programming!: IEEE Transactions On Knowledge and Data Engineering, Vol. 8, No. 5, October 1996.