Esquema de la Base de Datos

Anuncio
S.E.I.T.
D.G.I.T.
SECRETARÍA DE
EDUCACIÓN
PUBLICA
CENTRO NACIONAL DE INVESTIGACIÓN
Y DESARROLLO TECNOLÓGICO
cenidet
DESARROLLO DE MÓDULOS PARA PRESENTACIÓN
MULTIMODAL DE CONOCIMIENTOS Y ACCESO VÍA INTERNET
PARA UN SISTEMA TUTOR
T
E
S
I
S
QUE PARA OBTENER EL GRADO
DE MAESTRO EN CIENCIAS EN
CIENCIAS COMPUTACIONALES
P
R
E
S
E
N
T
A:
José Mario Martínez Castro
Director de Tesis
Dr. Rodolfo Abraham Pazos Rangel
Co-Director de Tesis
M.C. José Antonio Zárate Marceleño
CUERNAVACA, MORELOS, MÉXICO
JULIO DE 2004
Dedicatoria
A Dios
A mis padres
Alejandra y Mario
A mis hermanos
Alejandra y Ricardo
A mi famila
Katy, Pedro, Oswaldo,
Katia, Waldo
A mis compañeros y amigos
Sheydi, Roble, Giovanni, Fernando, David,
Hugo, Anely, Patricia, Areli, Antonio C.,
Eduardo, Moisés, Iris, Claudia, Víctor,
Gabriel, Antonio Z., Antonio M.
A mi esposa y mi hijo
Itzia y Alfredo
Con amor y la promesa
de retribuir con creces
la atención que no les
he brindado
Agradecimientos
A las instituciones que hicieron posible el logro de esta meta:
CENIDET,
SEP, COSNET, CONACYT.
UAEM, ITSCCh, UAGro, UAAca.
A las personas que con su guía ayudaron a la culminación de este proyecto:
Dr. Rodolfo Pazos Rangel
M.C. José Antonio Zárate Marceleño
Dr. Javier Ortiz Hernández
M.C. Felipe de Jesús Alaniz Quezada
M.C. Reynaldo Alanis Cantú
Tabla de Contenido
Capitulo 1.
Introducción
1
1.1. Antecedentes
1.1.1. Antecedentes para el desarrollo de la herramienta
1.1.1.1. Sistema Tutor para la Enseñanza de SQL
1.2. Obj etivo de la tesis
1.3. Beneficios
1.4. Descripción del problema
1.5. Alcances
1.6. Descripción del documento
Capitulo 2.
Marco teórico
13
2.1. Clasificación de los programas educativos
2.1.1. Bases de datos
2.1.2. Simuladores
2.1.3. Constructores
2.1.4. Programas herramientas
2.1.5. Programas tutores
2.2. Sistemas tutores
2.3. Estado del arte
2.3.1. Desarrollo de software educativo: análisis, diseño,
programación
2.3.2. Course sequencing techniques for large-scale web-based
education
2.3.3. ELM-ART: An Adaptive Versatile System for Web-based
Instruction
2.3.4. Instructional Planning Approaches: from Tutoring towards
Free Learning
2.3.5. Sistemas tutores inteligentes: una forma de conseguir sistemas
hipermedia educativos
2.3.6. A knowledge-based tutoring system for SQL programming
2.3.7. Otros sistemas tutores
2.4. CGIs
2.5. Servicetes
Capitulo 3.
2
3
3
8
9
10
11
12
Análisis del problema y propuesta de solución
3.1. Acceso Vía Internet
3.2. Otros Cursos
3.3. Normalización de la Base de Datos
3.4. Control de Alumnos y Cursos
3.5. Servicio de Exportar e Importar Cursos
3.6. Servicio de Respaldar y Restaurar la Base de Datos
3.7. Multimedia en la Presentación del Conocimiento
3.8. Sincronización de la Animación con el Sonido
3.9. Rapidez en la Transmisión de la Diapositiva
3.9.1. Degradación y Fluj o de Sonido
3.10.
Implementación de Ej emplos
i
14
15
15
16
16
16
18
21
21
22
26
29
31
33
35
35
37
40
41
41
42
43
43
44
44
45
46
46
47
3.11.
Evaluación
3.11.1.
Algoritmo para la Aplicación de Exámenes
3.11.2.
Algoritmo para la Selección de Preguntas
3.11.3.
Calificación de Preguntas
3.11.4.
Algoritmo para la Calificación por Átomos
3.12.
Visualización de Diapositivas
3.13.
Transferencia de Archivos
3.14.
Configuración de los Módulos
Capitulo 4.
Desarrollo y descripción de la herramienta
4.1. Arquitectura de la Herramienta
4.2. Módulo generador de cursos tutores (SGCT)
4.2.1. Clase AcercaDe
4.2.2. Clase ClienteTransf
4.2.3. Clase Configuracion
4.2.4. Clase CrearArchivoHTML
4.2.5. Clase CrearTablas
4.2.6. Clase LeerClave
4.3. Módulo administrador de cursos tutores (SACT)
4.3.1. Clase SACT
4.3.2. Clase AcercaDe
4.3.3. Clase AltaAlumnos
4.3.4. Clase AsignarAlumnosCurso
4.3.5. Clase AsignarAlumnos
4.3.6. Clase AsignarCursos
4.3.7. Clase Baj aAlumnoCurso
4.3.8. Clase ClienteTransf
4.3.9. Clase Configuracion
4.3.10. Clase ConsultarAlumnos
4.3.11. Clase ConsultarCursos
4.3.12. Clase EliminarAlumno
4.3.13. Clase EliminarCurso
4.3.14. Clase ExportarCurso
4.3.15. Clase ImportarCurso
4.3.16. Clase Imprimir
4.3.17. Clase ImprimirAlumnos
4.3.18. Clase ImprimirAvances
4.3.19. Clase ImprimirCursos
4.3.20. Clase RespaldarBD
4.3.21. Clase RestaurarBD
4.4. Módulo interfaz del alumno
4.4.1. Servicete Acceso
4.4.2. Servicete ConfigAlumno1
4.4.3. Servicete ConfigAlumno2
4.4.4. Clase Cursos
4.4.5. Servicete Capítulos
4.4.6. Servicete Temas
4.4.7. Servicete Diapositivas
4.4.8. Servicete Ej emplos
4.4.9. Servicete Examen
4.4.10. Servicete Evaluación
4.4.11. Clase Encabezado
ii
48
48
50
51
52
54
55
55
57
58
62
65
65
66
67
67
68
69
69
70
70
71
72
72
73
73
74
75
75
76
77
77
78
79
80
80
81
82
82
84
84
85
85
86
86
87
87
88
88
89
90
4.4.12. Clase Conexión
4.5. Módulo de transferencia de archivos
4.5.1. Clase TransfArchivos
Capitulo 5.
Pruebas de la Herramienta
5.1. Obj etivo de las Pruebas
5.2. Descripción de los Alcances
5.3. Descripción del ambiente de pruebas
5.4. Cursos de Pruebas
5.4.1. Material del Curso Enseñanza de SQL
5.5. Pruebas y Resultados
5.5.1. Prueba 1. Creación de Cursos
5.5.2. Prueba 2. Planificación del Curso Enseñanza de SQL
5.5.3. Prueba 3. Copiado e Instalación de un Curso
5.5.4. Prueba 4. Acceso al Sistema a través de Internet
5.5.5. Prueba 5. Visualización de Diapositivas
5.5.6. Prueba 6. Visualización de Ej emplos
5.5.7. Prueba 7. Visualización de Exámenes
Capitulo 6.
Conclusiones
92
93
93
94
95
99
102
103
107
109
112
114
115
117
120
6.1. Conclusiones generales
6.2. Resultados obtenidos
6.3. Trabaj os futuros
Anexo 1
90
91
91
121
121
122
Manual de Usuario
A1.1. Sistema Generador de Cursos Tutores
A1.1.1. Cursos
A1.1.1.1. Nuevo
A1.1.1.2. Abrir
A1.1.1.3. Crear Tablas
A1.1.1.4. Salir
A1.1.2. Actualizar
A1.1.2.1. Agregar
A1.1.2.1.1. Capítulos
A1.1.2.1.2. Átomos de Información
A1.1.2.1.2.1.
Átomos de Conocimiento
A1.1.2.1.2.1.1. Alta Diapositivas
A1.1.2.1.2.1.1.1.
Abrir y Cerrar Diapositivas
A1.1.2.1.2.1.1.2.
Diapositiva de Ej emplo o
Conocimiento
A1.1.2.1.2.2.
Átomos de Evaluación
A1.1.2.1.2.2.1. Exámenes Teóricos
A1.1.2.1.2.2.2. Exámenes Prácticos
A1.1.2.2. Modificar
A1.1.2.2.1. Contenido del Curso
A1.1.2.3. Consultar
A1.1.2.3.1. Contenido del Curso
A1.1.2.4. Crear Plan de Estudio
A1.1.2.4.1. Establecer relaciones de precedencia por Átomos
de Información
iii
124
125
125
126
127
128
129
129
129
130
130
131
132
133
134
134
135
137
138
138
143
143
146
147
A1.1.2.4.2.
Establecer relaciones de precedencia por
Capítulos
A1.1.2.4.3. Crear Plan de Estudio
A1.1.3. Configuración
A1.1.3.1. Configuración
A1.1.3.2. Acerca de ...
A1.2. Sistema Administrador de Cursos Tutores
A1.2.1. Cursos
A1.2.1.1. Consultar
A1.2.1.2. Respaldar
A1.2.1.3. Restaurar
A1.2.1.4. Exportar
A1.2.1.5. Importar
A1.2.1.6. Salir
A1.2.2. Alumnos
A1.2.2.1. Alta
A1.2.2.2. Consultar
A1.2.3. Informes
A1.2.3.1. Cursos
A1.2.3.2. Alumnos
A1.2.3.3. Avances
A1.2.4. Configuración
A1.2.4.1. Configuración
A1.2.4.2. Acerca de...
A1.3. Interfaz del Usuario
A1.3.1. Acceso al Sistema
A1.3.2. Cursos
A1.3.2.1. Datos de Configuración del Alumno
A1.3.3. Capítulos
A1.3.4. Temas
A1.3.5. Diapositivas
A1.3.5.1. Ej emplos
A1.3.5.2. Evaluación
A1.4. Transferencia de Archivos
Anexo 2
Diseño de la Base de Datos
A2.1. Descripción de la Base de Datos
147
148
148
149
152
153
153
154
156
158
160
161
163
163
164
165
166
167
168
170
171
172
175
176
176
177
178
179
180
181
182
183
187
189
190
Anexo 3
Diccionario de Datos
191
Anexo 4
Material del Curso Enseñanza de SQL
198
Anexo 5
Contenido de los Archivos
206
A5.1.
Contenido del Archivo DatosCurso.txt
Referencias
207
211
iv
Lista de Figuras
Figura
Figura
Figura
Figura
Figura
Figura
1.1.
1.2.
1.3.
1.4.
1.5.
1.6.
Arquitectura del sistema tutor.
Grafo instruccional.
Visualización de diapositivas y exámenes.
Visualizador de ej ercicios.
Módulo generador y administrador de cursos.
Base de datos.
4
5
6
6
7
8
Figura 2.1. División natural de los sistemas tutores.
Figura 2.2. Esquema de operación de un CGI.
19
36
Figura 3.1. Fragmento de la base de datos relacionado con la
Evaluación.
Figura 3.2. Algoritmo para la aplicación de exámenes.
Figura 3.3. Algoritmo para la selección de preguntas.
Figura 3.4. Asociación de átomos y preguntas.
Figura 3.5. Calificación del examen.
Figura 3.6. Calificación de átomos.
Figura 3.7. Esquema de repasos totales.
49
50
51
52
53
53
54
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
58
59
60
61
62
63
65
66
67
67
68
69
69
70
71
72
72
73
73
74
75
75
76
76
77
78
79
80
80
4.1. Modelo conceptual del sistema.
4.2. Distribución física.
4.3. Módulo generador de cursos.
4.4. Módulo administrador de cursos.
4.5. Módulo interfaz del alumno.
4.6. Esquema de la base de datos.
4.7. Métodos de la clase AcercaDe.
4.8. Método de la clase ClienteTransf.
4.9. Métodos de la clase Configuracion.
4.10. Método de la clase CrearArchivoHTML.
4.11. Métodos de la clase CrearTablas.
4.12. Métodos de la clase LeerClave.
4.13. Métodos de la clase SACT.
4.14. Métodos de la clase AcercaDe.
4.15. Métodos de la clase AltaAlumnos.
4.16. Métodos de la clase AsignarAlumnosCurso.
4.17. Métodos de la clase AsignarAlumnos.
4.18. Métodos de la clase AsignarCursos.
4.19. Método de la clase Baj aAlumnoCurso.
4.20. Método de la clase ClienteTransf.
4.21. Métodos de la clase Configuracion.
4.22. Métodos de la clase ConsultarAlumnos.
4.23. Métodos de la clase ConsultarCursos.
4.24. Método de la clase EliminarAlumno.
4.25. Métodos de la clase EliminarCurso.
4.26. Métodos de la clase ExportarCurso.
4.27. Métodos de la clase ImportarCurso.
4.28. Métodos de la clase Imprimir.
4.29. Métodos de la clase ImprimirAlumnos.
v
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
4.30.
4.31.
4.32.
4.33.
4.34.
4.35.
4.36.
4.37.
4.38.
4.39.
4.40.
4.41.
4.42.
4.43.
4.44.
4.45.
4.46.
Métodos de la clase ImprimirAvances.
Métodos de la clase ImprimirCursos.
Métodos de la clase RespaldarBD.
Métodos de la clase RestaurarBD.
Método del servicete Acceso.
Método del servicete ConfigAlumno1.
Método del servicete ConfigAlumno2.
Clase Cursos.
Método del servicete Capitulos.
Método del servicete Temas.
Métodos del servicete Diapositivas.
Método del servicete Ej emplos.
Métodos del servicete Examen.
Métodos del servicete Evaluacion.
Clase Encabezado.
Clase Conexión.
Métodos de la clase ServidorTransf.
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
5.1. Plan de estudios del curso Enseñanza de SQL
5.2. Preguntas teóricas y preguntas prácticas.
5.3. Asociación de átomos y preguntas.
5.4. Pantalla de captura para los datos de un curso nuevo.
5.5. Pantalla de captura de los datos del capítulo.
5.6. Pantalla de captura de los átomos de conocimiento.
5.7. Pantalla de captura de las diapositivas.
5.8. Consultar el curso creado.
5.9. Consulta de diapositivas asociadas al átomo.
5.10. Genera plan de estudios.
5.11. Establece relaciones de precedencia entre átomos.
5.12. Establece relaciones de precedencia entre capítulos.
5.13. Ventana exportar curso.
5.14. Contenido del archivo resp_sql.zip
5.15. Seleccionar el archivo que contiene el curso a importar.
5.16. Datos del curso a importar.
5.17. Ventana respaldo de la base de datos.
5.18. Acceso al sistema a través de Internet.
5.19. Acceso al sistema.
5.20. Visualización de diapositivas.
5.21. Diapositiva que contiene una consulta de ej emplo.
5.22. Resultados de la ej ecución de la consulta.
5.23. Preguntas de la evaluación.
5.24. Resultados de la evaluación teórica.
100
101
102
104
104
105
105
106
106
107
108
108
109
110
111
111
112
113
113
115
116
117
118
119
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
A1.1. Sistema generador de cursos.
A1.2. Menú cursos.
A1.3. Crear cursos nuevos.
A1.4. Abrir cursos disponibles.
A1.5. Clave de acceso.
A1.6. Base de datos a generar.
A1.7. Advertencia sobre borrado de datos.
A1.8. Creación exitosa.
A1.9. Menú actualizar.
A1.10. Menú agregar.
125
126
126
127
127
128
128
128
129
130
vi
81
81
82
84
84
85
85
86
86
87
88
88
89
90
90
91
91
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
A1.11.
A1.12.
A1.13.
A1.14.
A1.15.
A1.16.
A1.17.
A1.18.
A1.19.
A1.20.
A1.21.
A1.22.
A1.23.
A1.24.
A1.25.
A1.26.
A1.27.
A1.28.
A1.29.
A1.30.
A1.31.
A1.32.
A1.33.
A1.34.
A1.35.
A1.36.
A1.37.
A1.38.
A1.39.
A1.40.
A1.41.
Figura A1.42.
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
A1.43.
A1.44.
A1.45.
A1.46.
A1.47.
A1.48.
A1.49.
A1.50.
A1.51.
A1.52.
A1.53.
A1.54.
A1.54.
A1.55.
A1.56.
A1.57.
A1.58.
A1.59.
A1.60.
Ventana crear capítulo.
Seleccionar capítulo.
Ventana crear átomo de información.
Ventana crear átomo de conocimiento.
Ventana alta diapositivas.
Ventana seleccionar diapositiva.
Ventana alta diapositivas.
Seleccionar evaluación.
Crear átomo de evaluación teórica.
Crear evaluación teórica.
Asociar átomos de conocimiento a la pregunta.
Crear átomo de evaluación práctica.
Crear examen práctico.
Asociar átomos de conocimiento a la pregunta.
Menú actualizar (opción modificar).
Menú modificar (opción contenido del curso).
Ventana tabla de contenido.
Información del átomo.
Ventana consultar diapositivas.
Predecesores del átomo.
Advertencia de eliminación.
Advertencia de modificación.
Menú consultar.
Ventana tabla de contenido.
Ventana capítulo.
Ventana tabla de contenido.
Consultar diapositivas.
Predecesores del átomo de información seleccionado.
Menú actualizar (opción crear plan estudios).
Ventana genera plan de estudios.
Establecer relaciones de precedencia entre átomos de
información por capítulo.
Establecer relaciones de precedencia entre los capítulos
del curso.
Menú configuración.
Menú configuración (opción configuración).
Configuración del sistema - usuario.
Configuración del sistema - servidor.
Configuración del sistema - base de datos.
Configuración del sistema - visualizador.
Archivo de configuración del sistema.
Ventana acerca de...
Sistema administrador de cursos.
Menú cursos.
Menú cursos (opción consultar).
Ventana consultar cursos.
Confirmación de baj a.
Ventana asignar alumnos.
Menú cursos (opción respaldar).
Ventana respaldar base de datos.
Ventana guardar.
Menú cursos (opción restaurar).
Ventana restaurar base de datos.
vii
130
131
131
132
133
133
134
135
135
136
136
137
137
138
138
139
140
141
141
142
142
142
143
143
144
144
145
145
146
146
147
148
149
149
150
150
151
151
152
152
153
154
154
155
155
156
156
157
157
158
158
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
A1.61. Ventana abrir archivo.
A1.62. Ventana restaurar base de datos.
A1.63. Menú cursos (opción exportar).
A1.64. Ventana exportar curso.
A1.65. Ventana guardar.
A1.66. Menú cursos (opción importar).
A1.67. Ventana importar curso.
A1.68. Ventana abrir archivo.
A1.69. Ventana importar curso.
A1.70. Menú cursos (opción salir).
A1.71. Menú alumnos.
A1.72. Menú alumnos (opción alta).
A1.73. Ventana alta de alumnos.
A1.74. Menú alumnos (opción consultar).
A1.75. Ventana consultar alumnos.
A1.76. Confirmación de baj a.
A1.77. Ventana asignar cursos.
A1.78. Menú informes.
A1.79. Menú informes (opción cursos).
A1.80. Ventana reporte cursos.
A1.81. Menú informes (opción alumnos).
A1.82. Ventana reporte de alumnos.
A1.83. Menú informes (opción avances).
A1.84. Ventana imprimir avances.
A1.85. Ventana reporte de avance de alumnos.
A1.86. Menú configuración.
A1.87. Menú configuración (opción configuración).
A1.88. Configuración del sistema - usuario.
A1.89. Configuración del sistema - servidor.
A1.90. Configuración del sistema - base de datos.
A1.91. Configuración del sistema - visualizador.
A1.92. Archivo de configuración del sistema.
A1.93. Ventana acerca de...
A1.94. Acceso a la interfaz del alumno.
A1.95. Cuenta incorrecta.
A1.96. Clave incorrecta.
A1.97. Página de cursos.
A1.98. Configuración de los datos del alumno.
A1.99. Página de capítulos.
A1.100. Página de temas.
A1.101. Página de diapositivas.
A1.102. Ej emplos.
A1.103. Resultados de la consulta.
A1.104. Evaluación teórica.
A1.105. Evaluación práctica.
A1.106. Resultados de la evaluación teórica.
A1.107. Resultados de la evaluación práctica.
A1.108. Servicio de transferencia de archivos.
159
159
160
160
161
161
162
162
162
163
163
164
164
165
165
166
166
167
167
168
169
169
170
170
171
172
172
173
173
174
174
175
175
176
177
177
178
178
179
180
181
182
183
184
185
186
187
188
Figura A2.1. Diseño de la base de datos.
190
Figura A4.1. Inicio
Figura A4.2. Otras investigaciones
199
200
viii
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
A4.3. Antecedentes
A4.4. Estandarización SQL
A4.5. Propósito del curso
A4.6. Definición de bases de datos
A4.7. Ej emplo
A4.8. Tabla A
A4.9. Tabla M
A4.10. Tabla C
A4.11. Relaciones
A4.12. Definición de sistema administrador de base de datos
ix
200
201
201
202
202
203
203
204
204
205
Lista de Tablas
Tabla
Tabla
Tabla
Tabla
5.1.
5.2.
5.3.
5.4.
Estructura del curso Enseñanza de SQL.
Estructura del curso Introducción al lenguaj e Java.
Estructura del curso Manual de HTML.
Pruebas realizadas y alcances asociados
x
95
97
98
103
!"#$ %&'()*
Introducción
En este capítulo se describen aspectos generales del trabajo de investigación
desarrollado, antecedentes y objetivo de la tesis, beneficios a obtener con el uso de la
herramienta, descripción del problema, alcances del proyecto, y una breve descripción de la
estructura del presente documento.
1
1.1. Antecedentes
En los sistemas de enseñanza-aprendizaje se han desarrollado varias técnicas o
formas que pretenden eficientar este proceso. Para eso existe la llamada enseñanza tradicional,
donde en un aula un profesor imparte sus conocimientos a un grupo de alumnos. También está
la enseñanza en un sistema abierto, donde de forma semi-autodidacta el alumno estudia el
tema a tratar y periódicamente acude con el profesor para que le proporcione asesorías. Otra
de las formas es la autodidacta, donde el alumno estudia el tema por su cuenta y sólo acude
con el profesor para realizar una evaluación de conocimientos o examen; en este caso el
alumno autodidacta puede recurrir a varios métodos de estudio desde libros, apuntes y
referencias bibliográficas proporcionadas por el profesor, hasta los sistemas tutores
inteligentes.
Existen diversas definiciones y términos para nombrar a este tipo de sistemas, por
ejemplo en el Military Handbook (MIL-HDFK) 284 parte 3 y en el Military Standard (MILSTD)-1397D, el Software de Cursos Interactivo (Interactive Courseware, ICW) es el término
que se usa para denotar lo siguiente [HREF1, 1995] :
a) Un programa de computadora para controlar la instrucción del aprendiz
determinando el tiempo y el orden de la enseñanza. El aprendiz avanza a
través de la secuencia de eventos tomando decisiones y selecciones. La
instrucción avanza de acuerdo a las respuestas del aprendiz.
b) Un término para definir cualquier tipo de instrucción computarizada con la
característica de que el aprendiz responde a través de un dispositivo de
entrada. ICW puede ser parte integral de un sistema de instrucción basada en
computadora (Computer Based Instruction, CBI), instrucción asistida por
computadora (Computer Assisted Instruction, CAI) o un entrenamiento
basado en computadora (Computer Based Training, CBI).
Los sistemas de enseñanza basados en computadora se empezaron a desarrollar
desde hace 20 años, pero su uso fue limitado por dos razones principales: primero, estos
sistemas demandaban un equipo de cómputo muy grande para poder ejecutarlos, además de
2
tener un tiempo de respuesta muy lento; segundo, el número de científicos involucrados en
este campo era muy reducido, lo cual ha cambiado drásticamente.
Por razones históricas mucha de la investigación en el campo del software
educativo que involucra inteligencia artificial ha sido llamada “ICAI” (Intelligent Computer
Aided Instruction) que fue el resultado de la evolución de los “CAI” (Computer Aided
Instruction) normalmente utilizado por el uso de las computadoras en la educación. A mitad de
la década de los ochenta el nombre “ICAI” fue reemplazado por el uso de “ITS” (Intelligent
Tutoring Systems) [Wenger, 1987].
Inicialmente el control era asumido por el tutor (método prescriptivo). Más
recientemente se ha utilizado un método cooperativo entre el estudiante y el sistema. La
historia de los sistemas tutores inteligentes ha evolucionado al uso de múltiples estrategias de
enseñanza creando una arquitectura multiagente, en donde se considera que el aprendizaje en
un STI es un proceso constructivista que involucra diferentes partes y donde pueden utilizarse
diferentes estrategias de enseñanza.
Se considera que el primer sistema tutor se creó en los laboratorios de
investigación Bolt, Bernaek and Newman, Inc., en Cambridge, Massachusetts, por Jaime
Carbonell en 1970. Este sistema, llamado SCHOLAR, tenía el área de conocimiento de la
geografía de Sudamérica.
1.1.1. Antecedentes para el desarrollo de la
herramienta
Se describe a continuación el trabajo previo que ha sido desarrollado en el
cenidet, como parte de la línea de investigación Sistemas Tutores.
1.1.1.1. Sistema Tutor para la Enseñanza de SQL
[Ingram, 2001]
Este proyecto tiene como objetivo diseñar e implementar un sistema tutor para la
enseñanza del lenguaje de bases de datos SQL, con la finalidad de apoyar al proceso de
enseñanza-aprendizaje en instituciones de educación superior.
3
La arquitectura (Figura 1.1) consta de los siguientes componentes: módulo de
conocimiento, modelo del estudiante, módulo pedagógico, interfaz del alumno, y módulo
administrador y generador de cursos, se incluye también la base de datos donde está contenida
la información.
Componentes del Sistema Tutor
Módulo de Conocimiento
Módulo Pedagógico
Diapositivas
Planificador
Ejercicios
Exámenes
Atomodeinformación(Conceptosy Ejercicios)
Atomodeinformación(Conceptosy Ejercicios)
Puntosdeevaluación(exámenes)
Puntos deevaluación(exámenes)
Información de Alumnos
Grafo Instruccional
Interfaz del Alumno
Modelo del Estudiante
Visualización de Ejercicios
Visualización de Diapositivas
Módulo Administrador
y Generador de Cursos
Módulo de Control
Visualización de Exámenes
Figura 1.1. Arquitectura del sistema tutor.
El módulo del conocimiento está formado por una base de conocimientos. La
estructura de datos que se utiliza en el diseño de ésta es la de un grafo instruccional (Figura
1.2). Cada nodo del grafo representa un átomo de información o un punto de evaluación, y las
aristas representan las relaciones de precedencia que existen entre ellos. Se define el átomo de
información, como un conjunto de conocimientos (conceptos) y ejercicios tales que, para el
propósito de la enseñanza se considera como una unidad, la cual no es conveniente subdividir.
4
Grafo Instruccional
Atomo de información (conceptos y ejercicios)
Puntos de evaluación (exámenes)
Figura 1.2. Grafo instruccional.
El modelo del estudiante basa su operación en el proceso de evaluación por medio
de exámenes, con los que se evalúa el nivel del conocimiento del estudiante. Las preguntas del
examen están asociadas a una serie de átomos de información, asignando una calificación al
átomo de información relacionada con la pregunta correspondiente. Dicha calificación
representa el grado de conocimiento del estudiante.
Los átomos que tengan una baja calificación son tomados en cuenta al momento
de generar un nuevo plan de enseñanza. Las reglas de precedencia son utilizadas para
condicionar el avance del usuario entre los átomos de información, además de proporcionar la
secuencia de presentación de los temas propuestos en el curso.
El módulo pedagógico usa el método overlay como estrategia de enseñanza para
transmitir el conocimiento. Con base en el modelo del estudiante el planificador realiza un
análisis que permite generar el nuevo plan de enseñanza, de tal forma que el proceso de
enseñanza se realice con éxito.
5
Interfaz del Alumno: Visualización de Diapositivas
y Exámenes
Módulo de Conocimiento
Diapositivas
Ejercicios
Exámenes
Información de Alumnos
Interfaz del Alumno
Grafo Instruccional
Modelo del Estudiante
Visualización de Ejercicios
Módulo de Control
Visualización de Diapositivas
Visualización de Exámenes
Figura 1.3. Visualización de diapositivas y exámenes
La interfaz del alumno está dividida en dos secciones: la visualización de
diapositivas y exámenes (Figura 1.3), y la visualización de ejercicios (Figura 1.4). La primera
muestra el contenido del curso y exámenes, y la segunda presenta los ejercicios donde el
usuario introduce instrucciones de SQL.
Interfaz del Alumno: Visualización de Ejercicios
Módulo de Conocimiento
Diapositivas
Ejercicios
Exámenes
Información de Alumnos
Grafo Instruccional
Interfaz del Alumno
Visualización de
Ejercicios
Figura 1.4. Visualizador de ejercicios.
6
El módulo administrador y generador de cursos (Figura 1.5) inicia su operación
desde el momento de dar de alta el contenido del curso tutorial en la base de conocimientos,
estableciendo las relaciones de precedencia de cada uno de los átomos de información y
puntos de evaluación, estableciendo un plan inicial de enseñanza.
Este plan inicial se modifica automáticamente adaptándolo al nivel y ritmo de
aprendizaje del estudiante, sobre la base de los resultados obtenidos de las evaluaciones y al
seguimiento del grafo instruccional. Esto se realiza de forma recurrente cada vez que el
estudiante es evaluado.
Módulo Generador y Administrador de Cursos
Módulo Generador y Administrador de Cursos
Capítulos del curso
ODBC - JDBC
Atomos de información
Exámenes
Ejercicios
Alumnos del curso
AA
tom
oodd
eeinin
form
ación
on
cep
tos
jercicios)
tom
form
ación(C
(C
on
cep
tosyyEE
jercicios)
PPuunntos
en
tosddeeevalu
evaluación
ación(exám
(exám
enes)
es)
Grafo Instruccional
Base de Datos del Sistema
Tutor
ACCES
Figura 1.5. Módulo generador y administrador de cursos.
La base de datos (Figura 1.6) es finalmente donde se encuentra la información
referente al curso (diapositivas, ejercicios, exámenes), la información referente al avance de
los alumnos, y el grafo instruccional.
7
Diapositivas
Ejercicios
Exámenes
Información de
Alumnos
Grafo Instruccional
Figura 1.6. Base de datos.
Dentro de las limitaciones del proyecto se encuentran las siguientes:
•
La presentación del material se realiza basada en láminas de Microsoft PowerPoint.
•
Se usa Microsoft Access como sistema manejador de bases de datos.
•
Está orientado al manejo por parte de sólo un usuario, y su acceso está limitado a la
plataforma Windows.
•
No se emplea multimedia en el material del curso.
1.2. Objetivo de la tesis
El objetivo consiste en la implementación de módulos que doten a la herramienta
para el desarrollo de sistemas tutores (ST) de mayores capacidades tales como la presentación
multimodal de conocimiento, dotar de la flexibilidad del Internet como medio de
comunicación entre el alumno y el ST, incluir la enseñanza de cursos de diversos temas, así
como la administración en forma remota de los cursos.
8
El sistema debe probarse con la construcción de un tutor para la enseñanza del
lenguaje de consultas SQL (Leguaje de Consulta Estructurado, por las siglas de Structured
Query Language) tanto en la parte teórica como práctica.
1.3. Beneficios
Los beneficios que recibirá el estudiante en el uso de este tipo de sistemas tutores,
se pueden dividir en dos grupos: los referentes directamente al proceso de aprendizaje y los
que tienen relación con el uso del sistema.
Por el lado de los beneficios asociados con el proceso de aprendizaje, podemos
destacar los siguientes: el uso de diversos medios para la presentación del conocimiento, tales
como texto, audio e imágenes, con lo cual se aprovecha la capacidad de los diferentes medios
para obtener información por parte del estudiante [Klausmeier & Goodwin, 1997]. Otros
beneficios son la adaptabilidad y flexibilidad del sistema a las capacidades y ritmo de
aprendizaje del estudiante.
Relacionados con el uso del sistema podemos mencionar lo siguiente: el uso de
Internet da la posibilidad de ingresar al sistema desde cualquier parte del mundo, ya que donde
exista una computadora y una conexión a Internet es posible utilizarlo.
Respecto a su versión inmediata anterior, este sistema tutor contará con las
siguientes ventajas: la inclusión del audio e imágenes en las presentaciones, el cambio en la
interfaz desarrollada bajo ambiente Windows para ser accesible desde Internet, y la
posibilidad de acceso a mayor cantidad de estudiantes, ya que la versión anterior fue diseñada
para atender a un solo alumno.
Dentro de la línea de investigación, en versiones posteriores a esta herramienta, el
sistema podrá ser usado en una primera etapa como auxiliar en la enseñanza de diversas
asignaturas, y posteriormente como el principal medio de estudio en las áreas de educación a
distancia.
9
1.4. Descripción del problema
El presente trabajo se basa en la introducción de mejoras a la interfaz de la
herramienta para el desarrollo de sistemas tutores, de tal forma que facilite el aprendizaje al
alumno/usuario del sistema.
Es posible dividir en tres grupos la problemática encontrada para el desarrollo y
diseño de este proyecto: el primer grupo se refiere al acceso al sistema, el segundo a la
información del curso, y el tercero a la reestructuración de la base de datos de control y de
conocimiento.
Respecto al acceso al sistema, la interfaz del usuario se encontraba desarrollada
bajo ambiente Windows y se modificó para ser accesible mediante Internet, con el propósito
de dotar al sistema de las ventajas que ofrece el Internet, por lo que fue necesario replantear la
operación del sistema tutor en cuanto a la forma de acceso a la base de conocimientos, el
control del programa de estudios, además de la implementación de un esquema multiusuario,
lo que permitirá el acceso a una mayor cantidad de usuarios.
Existían implementados en el sistema tutor ejemplos que están directamente
relacionados con el SiMBaDD para Windows, lo que limitaba la cantidad de instrucciones que
era posible ejecutar, por lo que dichos ejercicios tuvieron que ser implementados con otro
sistema manejador de bases de datos que pudiera ser utilizado en Internet.
En cuanto a la información del curso podemos destacar la inclusión de diversos
medios para la presentación del conocimiento, tales como diapositivas de PowerPoint, sonido,
e imágenes. También existe el problema de la transmisión de forma eficiente de la
información contenida en la base de datos, además de la sincronización del sonido con las
imágenes y diapositivas a desplegar. La sincronización se refiere a la asociación de las
imágenes con el audio, además de hacer coincidir las imágenes desplegadas con la explicación
que le corresponde.
La base de datos de conocimiento, solo estaba diseñada para un curso por lo que se
modificó con el fin de soportar una cantidad indefinida de cursos, así como la asignación de
más de un curso a cada alumno. Por lo que respecta a la base de datos de control, no estaba
10
diseñada para ser utilizada en un ambiente multiusuario, por lo que fueron necesarios cambios
en su estructura para poder llevar el control de los programas de estudio de más de un alumno
a la vez.
1.5. Alcances
La herramienta desarrollada en el proyecto de investigación cubre los siguientes
puntos:
• Acceso al sistema tutor a través de Internet.
• Módulo Interfaz del Usuario.
•
Acceso al Sistema.- Validación de las cuentas y claves de acceso de
los alumnos.
•
Visualización
de
diapositivas.-
Presentación
multimodal
del
conocimiento (sonido e imágenes), y sincronización del sonido con las
imágenes y diapositivas a desplegar.
•
Visualización de ejemplos.- Adecuación de los ejemplos del sistema
tutor anterior a la nueva forma de acceso.
•
Visualización de exámenes.- Evaluación de los exámenes teóricos y
prácticos.
• Módulo Generador.- Se utilizaron los módulos creados en el sistema tutor
anterior, adecuándolos para su interacción con la nueva arquitectura.
•
Módulo Generador de Cursos, para la creación del curso.
•
Módulo Pedagógico, para la planificación del curso.
• Módulo del Estudiante, para la evaluación del curso.
11
• Reestructuración de la base de datos anterior con objeto de incluir los archivos
de sonido e imágenes, crear otros cursos de diversos temas, y acceder a la
información vía Internet.
• Módulo de Administración.- Instalación y copiado de los cursos, realización de
informes, administración de alumnos, y respaldo y restauración de la base de
datos.
• Módulo de Transferencia de Archivos.- Auxiliar en el manejo de archivos al
servidor para la instalación de cursos y restauración de la base de datos.
• Debido a las limitaciones de los medios de comunicación (ancho de banda),
esta versión de la herramienta no se pretende instalar en un servidor al que
puedan acceder una gran cantidad de usuarios simultáneamente desde cualquier
parte del país, por lo cual se recomienda utilizarlo en servidores de páginas
Web para Intranet o con un número limitado de usuarios.
1.6. Descripción del documento
El presente documento presenta en su segundo capítulo las bases teóricas que
sustentan este proyecto de tesis, la clasificación de los programas educativos, una descripción
de los sistemas tutores, el estado del arte, los antecedentes para el desarrollo de la herramienta,
y las tecnologías para el control de páginas Web interactivas: CGIs y servicetes (servlets).
En el tercer capítulo se presenta el planteamiento general del problema y su
propuesta de solución, además de la arquitectura del sistema.
El cuarto capítulo contiene una descripción de la herramienta desarrollada en este
trabajo de tesis, integrada por los módulos de generación de cursos, administración de cursos,
interfaz del alumno y transferencia de archivos.
Los objetivos y la descripción de las pruebas realizadas a la herramienta están
descritos en el quinto capítulo.
El sexto capítulo contiene las conclusiones generales, los resultados obtenidos,
además de recomendaciones y propuestas de trabajos futuros.
12
!"#$ %&'()+
Marco
Teórico
En este capítulo se presentan las bases teóricas que sustentan el proyecto de tesis,
la clasificación de los programas educativos, los sistemas tutores, el estado del arte, los
antecedentes del desarrollo de la herramienta, así como una descripción de los CGIs y los
servicetes.
13
2.1. Clasificación de los programas educativos
Stolurow en 1969 planteó cinco formas fundamentales de enseñanza que se
pueden clasificar como enseñanza asistida por computadora, a saber: (1) tutorial, (2) ejercicios
y práctica, (3) preguntas, (4) juegos y (5) solución de problemas. A esta lista se le agrega el
diálogo. En cualquiera de estas modalidades el estudiante se sienta frente a un aparato
registrador que constituye su "interfaz" o conexión a la computadora [Klausmeier & Goodwin,
1997].
Existen diversas clasificaciones de los programas didácticos dependiendo de las
características principales que se deseen destacar de tales programas. Pere Marqués [Marqués,
1996] realiza un compendio de algunas de las tipologías existentes basadas en diferentes
criterios.
Uno de estos criterios se basa en la consideración del tratamiento de los errores
que cometen los estudiantes. Un tipo lo constituyen los programas tutores directivos, que
hacen preguntas a los estudiantes y controlan en todo momento su actividad. Se producen
errores cuando la respuesta del alumno está en desacuerdo con la que la computadora tiene
como correcta. Otro tipo consiste de los programas no directivos, en los que la computadora
adopta el papel de un laboratorio o instrumento a disposición de la iniciativa de un alumno que
pregunta y tiene una libertad de acción sólo limitada por las normas del programa. La
computadora no juzga las acciones del alumno, se limita a procesar los datos que éste
introduce y a mostrar las consecuencias de sus acciones sobre un entorno.
Otra clasificación de los programas se enfoca en la característica de poder
modificar los contenidos del programa y distingue entre programas cerrados (que no
pueden modificarse) y programas abiertos, que proporcionan un esqueleto, o una estructura,
sobre la cual los alumnos y los profesores pueden añadir el contenido que les interese.
Sin embargo la clasificación que presenta categorías más claras es la que toma en
cuenta el grado de control del programa sobre la actividad de los alumnos y la estructura
de su algoritmo, que es la que se presenta a continuación:
1. Bases de Datos.
14
2. Simuladores.
3. Constructores.
4. Programas Herramienta.
5. Programas Tutores.
2.1.1. Bases de datos
Proporcionan datos organizados, en un entorno estático, según determinados
criterios y facilitan su exploración y consulta selectiva. Se pueden emplear en múltiples
actividades como por ejemplo: seleccionar datos relevantes para resolver problemas, analizar y
relacionar datos, extraer conclusiones y comprobar hipótesis.
Las bases de datos pueden tener diferentes estructuras según el propósito para el
que fueron diseñadas: jerárquica, existen unos elementos subordinantes de los que dependen
otros subordinados, tales como los organigramas; relacional, cuando están organizadas
mediante unas fichas o registros con una misma estructura y rango; o documental, si utilizan
descriptores y su finalidad es almacenar grandes volúmenes de información documental:
revistas, periódicos, etc.
2.1.2. Simuladores
Presentan un modelo o entorno dinámico (generalmente a través de gráficos o
animaciones interactivas) y facilitan a los alumnos su exploración y modificación, que pueden
realizar aprendizajes inductivos o deductivos mediante la observación y la manipulación de la
estructura subyacente. De esta manera pueden descubrir los elementos del modelo, sus
interrelaciones, y pueden tomar decisiones y adquirir experiencia directa de frente a
situaciones que frecuentemente resultarían difícilmente accesibles en la realidad (control de
una central nuclear, contracción del tiempo, pilotaje de un avión). También se pueden
considerar simulaciones ciertos videojuegos que facilitan el desarrollo de los reflejos, la
percepción visual y la coordinación psicomotríz en general, además de estimular la capacidad
de interpretación y de reacción ante un medio concreto.
15
2.1.3. Constructores
Son programas que tienen un entorno programable y facilitan a los usuarios unos
elementos simples con los cuales pueden construir elementos más complejos o entornos. De
esta manera potencian el aprendizaje heurístico y facilitan a los alumnos la construcción de sus
propios aprendizajes, que surgirán a través de la reflexión que realizarán al diseñar programas
y comprobar inmediatamente, cuando los ejecuten, la relevancia de sus ideas. Se pueden
distinguir dos tipos de constructores: constructores específicos, donde se les permite a los
alumnos la construcción de determinados entornos, modelos o estructuras, y de esta manera
avanzan en el conocimiento de una disciplina o entorno específico; y los lenguajes de
programación, tales como LOGO y PASCAL, que ofrecen unos "laboratorios simbólicos" en
los que se pueden construir un número ilimitado de entornos.
2.1.4. Programas herramienta
Son programas que proporcionan un entorno instrumental con el cual se facilita la
realización de ciertos trabajos generales de tratamiento de la información: escribir,
organizar, calcular, dibujar, transmitir y captar datos. Los más utilizados son programas de uso
general que provienen del mundo laboral y, por tanto, quedan fuera de la definición que se ha
dado de software educativo. Los programas más utilizados de este grupo son procesadores de
textos, gestores de bases de datos, hojas de cálculo, editores gráficos, programas de
comunicaciones, programas de experimentación asistida, lenguajes y sistemas de autor
2.1.5. Programas tutores
Son programas que en mayor o menor medida dirigen el trabajo de los
alumnos. Su objetivo se basa en que, a partir de unas informaciones y por medio de la
realización de ciertas actividades previstas de antemano, los estudiantes apliquen determinadas
capacidades y aprendan o refuercen unos conocimientos y/o habilidades. Cuando se limitan a
proponer ejercicios de refuerzo sin proporcionar explicaciones conceptuales previas se
denominan programas tutores de ejercitación, como es el caso de los programas de preguntas
(drill & practice test) y de los programas de adiestramiento psicomotor, que desarrollan la
coordinación neuromotríz en actividades relacionadas con el dibujo, la escritura y otras
habilidades psicomotrices.
16
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 el
aprendizaje de los estudiantes y facilitan la realización de prácticas más o menos rutinarias y
su evaluación; en algunos casos una evaluación negativa genera una nueva serie de ejercicios
de repaso. A partir de la estructura de su algoritmo, se distinguen cuatro categorías:
•
Programas lineales que presentan al alumno una secuencia de información y/o
ejercicios (siempre la misma o determinada aleatoriamente) con independencia de la
corrección o incorrección de sus respuestas. Transforman a la computadora en una
máquina de enseñar transmisora de conocimientos y adiestradora de habilidades.
•
Programas ramificados basados inicialmente también en modelos conductistas,
siguen recorridos pedagógicos diferentes según el juicio que hace la computadora
sobre la corrección de las respuestas de los alumnos o según su decisión de profundizar
más en ciertos temas. Ofrecen mayor interacción, más opciones, pero la organización
de la materia suele estar menos compartimentada que en los programas lineales y
exigen un esfuerzo más grande al alumno. Pertenecen a este grupo los programas
multinivel, que estructuran los contenidos en niveles de dificultad y prevén diversos
caminos, y los programas ramificados que establecen una diferenciación entre los
conceptos y las preguntas de profundización, que son opcionales.
•
Entornos tutores. En general están inspirados en modelos pedagógicos cognitivistas,
y proporcionan a los alumnos una serie de herramientas de búsqueda y de proceso de la
información que pueden utilizar libremente para construir la respuesta a las preguntas
del programa. Este es el caso de los entornos de resolución de problemas (problem
solving), donde los estudiantes conocen parcialmente las informaciones necesarias para
su resolución y han de buscar la información que falta y aplicar reglas, leyes y
operaciones para encontrar la solución. En algunos casos, el programa no sólo
comprueba la corrección del resultado, sino que también toma en cuenta la idoneidad
del camino que se ha seguido en la resolución.
•
Sistemas tutores expertos, como los Sistemas Tutores Inteligentes (Intelligent
Tutoring Systems), los que, elaborados con las técnicas de la Inteligencia Artificial y
17
teniendo en cuenta las teorías cognitivas sobre el aprendizaje, tienden a reproducir un
diálogo entre el programa y el estudiante, y pretenden comportarse como lo haría un
tutor humano: guían a los alumnos paso a paso en su proceso de aprendizaje, analizan
su estilo de aprender y sus errores y proporcionan en cada caso la explicación o
ejercicio más conveniente.
Inicialmente el control era asumido por el tutor (método prescriptivo). Más
recientemente se ha utilizado un método cooperativo entre el estudiante y el sistema. La
historia de los sistemas tutores inteligentes ha evolucionado al uso de múltiples estrategias de
enseñanza creando una arquitectura multiagente, en donde se considera que el aprendizaje en
un STI es un proceso constructivista que involucra diferentes partes y donde pueden utilizarse
diferentes estrategias de enseñanza.
Se considera que el primer sistema tutor se creó en los laboratorios de
investigación Bolt, Bernaek and Newman, Inc., en Cambridge, Massachusetts, por James
Carbonell en 1970. Este sistema, llamado SCHOLAR, tenía el área de conocimiento de la
geografía de Sudamérica. Este conocimiento era representado por medio de una red semántica,
cuyos nodos representan objetos y conceptos geográficos, que son organizados
jerárquicamente, por medio de las relaciones entre los diferentes nodos que conforman la red
semántica.
2.2. Sistemas Tutores
Para este proyecto se sigue la división natural de los componentes (Figura 2.1) que
permiten crear un ambiente de enseñanza-aprendizaje: módulo de conocimiento (dominio
experto), modelo del estudiante, módulo pedagógico (estrategias de comunicación) y la
interfaz con el usuario [Wenger, 1987]. Divisiones similares se han propuesto en [Hartley &
Sleeman, 1973], [Laubsh, 1975], [Burton & Brown, 1976] y [Carr y Goldstein, 1977].
18
Módulo de
conocimiento
Interfaz
Modelo del
estudiante
Módulo
Pedagógico
Figura 2.1. División natural de los sistemas tutores.
El módulo de conocimiento contiene la representación del conocimiento del tema
que se pretende enseñar. Sus funciones principales son las siguientes:
•
Actuar como la fuente de conocimiento que se desea enseñar, incluye la generación de
expresiones y respuestas.
•
Servir como modelo para evaluar al estudiante.
•
Proporcionar información a otros módulos.
El modelo del estudiante permite representar el estado del conocimiento del
estudiante. Sus funciones principales son las siguientes:
•
Hacer hipótesis acerca de lo que sabe y lo que no sabe.
•
Hacer
hipótesis
de
las
capacidades,
preferencias
cognitivas
(compresión,
memorización y razonamiento), etc.
•
Sincronizar las actividades entre los otros módulos [Frasson et. Al., 1996].
El módulo pedagógico normalmente puede poner en práctica una o varias
estrategias de enseñanza:
19
•
Se hace cargo de dividir el plan de enseñanza en submetas para dirigir al estudiante en
forma individualizada.
•
Indica el cómo y el cuánto (dosificación de los contenidos), normalmente guardando
registro de las decisiones estratégicas generales y de los resultados del historial del
estudiante.
La interfaz procesa el flujo de comunicación de adentro hacia fuera y viceversa.
Esta tarea no es sencilla en este tipo de sistemas, ya que el canal de comunicación entre el
sistema y el estudiante normalmente es muy estrecho.
Los límites entre estos distintos módulos no están bien definidos; sin embargo,
reflejan un nivel de abstracción útil que constituyen una división tradicional en el campo
[Wenger, 1987].
Los investigadores han estudiado la posibilidad de construir representaciones
inteligentes del dominio, de la instrucción y del estudiante para una gran variedad de
dominios; sin embargo, actualmente el número de sistemas en uso en la industria, academia y
gobierno es relativamente pequeño. Bloom [Bloom, 1996] propone que esto se debe al
problema de transferencia de tecnología.
Una tarea importante en la integración de la tecnología de información en la
educación es el aumento de su papel para preservar la herencia cultural, mejorar la
transferencia de conocimiento y la integración social. Esto puede usarse al menos por tres
razones [Boy, 1996]:
•
Desarrollar un aprendizaje autónomo e individual.
•
Borrar barreras causadas por el aislamiento social y geográfico.
•
Abrir los sistemas educativos al mundo externo y eliminar los recursos locales.
Respecto a la interfaz, su evolución ha sido desde los libros tradicionales (papel),
libros electrónicos, que fueron los precursores del libro de texto electrónico (ET); los primeros
ETs usaban costosas computadoras y representaban solamente texto, las pantallas CRT (tubo
20
de rayos catódicos) añadieron gráficas, las computadoras personales los hicieron baratos y
accesibles, la tecnología multimedia añadió la posibilidad de presentar sonido, video y
animación. Y ahora Internet da la posibilidad de acceso a distancia.
Tradicionalmente los sistemas de enseñanza basados en Internet proporcionan un
alto grado de flexibilidad, que permite que el usuario obtenga la información que él quiera en
el orden que prefiera navegando a través de la red intuitivamente. Por lo que si el dominio es
muy grande, el usuario se puede “perder” en la gran cantidad de información disponible.
Desafortunadamente son estáticos, es decir, no dependen de las características del usuario ni
del conocimiento adquirido.
2.3. Estado del Arte
En esta revisión encontraremos diversos puntos de vista acerca de cómo atacar el
problema de la enseñanza a través de los sistemas tutores, tanto de instituciones nacionales
como extranjeras.
2.3.1.
Desarrollo
de
Software
Educativo:
Diseño, Programación [Uriarte, 1997].
Análisis,
Trabajo planteado como desarrollo de tesis de maestría en ciencias de la
computación en la Universidad Autónoma de Sinaloa.
Existe sólo una breve descripción del proyecto, donde indica el tema de tesis
“Sistema Tutor Inteligente para la Enseñanza de SQL”, y plantea como línea de investigación
específica la problemática de la generación automática del modelo del estudiante.
Dado que no existe mayor información acerca del proyecto, no es posible
determinar la metodología en la implementación. Se revisó una aplicación de ejemplo que no
cuenta con sonido, y no puede ser utilizado por más de un alumno a la vez. En términos
generales consiste en un curso, a diferencia del trabajo desarrollado en el presente proyecto
que es una herramienta para hacer tutores, incluyendo imagen y sonido para la presentación
del conocimiento, además de ser accesible a varios alumnos en forma simultánea.
21
2.3.2.
Course sequencing
web-based
education
2003]
techniques for large-scale
[Brusilovsky
&
Vassileva,
Artículo presentado en la revista internacional de educación continua en ingeniería
y aprendizaje permanente, en el año de 2003.
Los autores del artículo aseguran que la tecnología de ordenamiento
(planificación) desarrollada en el campo de los sistemas tutores inteligentes (STIs) puede
utilizarse en la educación basada en la Web a gran escala. Para lo cual describen dos modelos:
la generación dinámica de cursos (DCG - dynamic course generation) y el concepto basado
en el sistema de mantenimiento de cursos (CoCoA – concept - based courseware analysis).
Se describe, a forma de introducción, la forma en que los STIs realizan la
presentación del conocimiento: como una red de conceptos, donde cada concepto es una
pequeña parte del conocimiento; la forma que tiene esos sistemas de realizar el seguimiento en
el nivel de aprendizaje del alumno es ponderando las diferencias entre el modelo del domino,
establecido por el diseñador, y el modelo del estudiante, generado durante en la ejecución del
curso, esto es, mediante el mecanismo de overlay (superposición).
Utilizando este modelo y alguna estrategia de enseñanza el motor de ordenamiento
(planificador) decide cual de las técnicas de enseñanza almacenadas en la base de datos es la
mejor para que el estudiante obtenga el nivel de conocimiento adecuado. La mayoría de los
STIs realizan el ordenamiento de sólo un tipo de enseñanza, los más avanzados permiten el
ordenamiento de varios tipos de enseñanza como la presentación y los ejemplos
Aun cuando en el artículo se dice que el ordenamiento es una tecnología excelente
la para la educación a distancia basada en la Web a gran escala, existen sin embargo
diferencias entre los sistemas utilizados para la educación basada en a Web a gran escala y los
sistemas al nivel de investigación. Si se considera que un solo proveedor de cursos opera
decenas o cientos de cursos que pueden ser utilizados por miles de estudiantes, el problema
más grande para el proveedor sería el mantenimiento.
Para evitar los problemas de instalación, soporte y capacitación los proveedores
escogen un solo administrador de cursos, los cuales cubren sus principales necesidades, desde
22
proporcionar el material del curso, foros de discusión hasta la generación de reportes. Sin
embargo no cuentan con el ordenamiento dinámico.
Afirman los autores que es posible modificar la estructura estática tradicional,
derivando en un modelo que permita la no-predefinición de esta estructura y construirla “al
vuelo”, esto es, al tiempo en que el estudiante realiza la actividad del aprendizaje. Tal
aseveración la demuestran describiendo tres modelos: el sistema del siguiente paso, la
generación de cursos adaptativos y la generación dinámica de cursos.
El primero se basa en la evaluación de posibles opciones para continuar la
actividad de aprendizaje y seleccionar la mejor, verificando que la opción seleccionada sea la
predefinida por el autor, en caso contrario, si no es la apropiada se dispara un mecanismo de
reporte de posibles problemas.
El segundo se basa en la reusabilidad de los componentes del curso, tomados como
objetos contenidos en la base de datos, mismos que posibilidad la creación de cursos
personalizados al producir varias versiones del mismo curso a partir de los mismos objetos de
aprendizaje, pero dirigidos a diferentes audiencias. Lo descrito brinda el contexto para la idea
la generación de cursos adaptativos, mismos que implican ventajas como: definir el nivel del
curso para un grupo homogéneo de estudiantes mediante la determinación de los mismos
objetivos de aprendizaje e iniciando en el mismo nivel de conocimiento; otra ventaja se
obtiene cuando los estudiantes del mismo curso se comunican y comparten conocimientos; y
por último ya que el curso generado es estático puede ser administrado por un sistema
administrador de cursos regular.
El tercero de los modelos, difiere del anterior de tal forma que el sistema observa
y adapta el curso generado al progreso del estudiante, esto es, si el estudiante a lo largo del
curso no cumple las expectativas, el curso es re-planeado. El mayor beneficio de esto es la
gran adaptabilidad y personalización de los cursos sobre los estudiantes. Además los
estudiantes pueden ser de diferentes niveles de conocimiento y con diferentes metas
establecidas.
23
DCG – Generación dinámica de cursos
Este sistema genera cursos individualizados basándose en la meta de aprendizaje
establecida para cada estudiante, esta meta puede ser un tema en específico, un concepto e
inclusive todo el curso, también se toma en cuenta el conocimiento que el estudiante ya tiene
sobre el tema, el cual se obtiene mediante una preevaluación.
La arquitectura del DCG separa la estructura de conceptos del dominio del
material de instrucción y de las tareas pedagógicas. Utiliza la estructura de conceptos, la cual
es representada por medio de un conjunto de reglas, para generar el plan del curso; el
planificador tiene como tarea buscar la ruta que une los conceptos conocidos por el aprendiz y
la meta de aprendizaje.
La estructura del dominio contiene la estructura de temas y/o conceptos del
conocimiento a ser enseñado, representado por un grafo AND/OR, donde los nodos
representan los elementos del conocimiento (conceptos, temas, reglas); estas relaciones
pueden tener varios significados semánticos. A través del uso de prerrequisitos se genera una
estructura tipo curriculum que pude ser utilizada como una guía para definir la secuencia del
contenido.
El material de instrucción se clasifica conforme a su función pedagógica:
introducción, problema, explicación, ayuda, ejercicio, o prueba; también se clasifican con
respecto al medio utilizado: texto, imágenes, animación, video.
Para efectuar la presentación del material de instrucción el DCG cuenta con un
proceso planificador de la presentación, el cual decide cómo presentar el material al aprendiz.
Este proceso utiliza un grafo de tareas de instrucción, el cual expresa el conocimiento
pedagógico de cómo enseñar cada concepto.
De la misma forma como se representa el dominio del conocimiento las tareas de
instrucción se representan mediante un grafo AND/OR, donde los nodos representan tareas de
instrucción, y los enlaces representan la descomposición de las tareas en métodos. Así mismo
los enlaces AND representan enlaces a subtareas y los enlaces OR corresponden a métodos
alternativos para la realización de una tarea.
24
Se efectúan evaluaciones durante la presentación del curso al estudiante, si éste
contesta correctamente, significa que ha adquirido el conocimiento, por lo que no son
necesarios cambios al curso. Sin embargo, si el estudiante falla en la evaluación, será
necesario replanear el curso.,
La replaneación de curso puede llevarse a cabo, presentando una secuencia
alternativa del material de enseñanza o del método pedagógico utilizado para mostrar los
conceptos. Si el estudiante falla nuevamente el planificador genera una nueva secuencia de
conceptos dirigidos a alcanzar la meta de aprendizaje.
Este sistema fue implementado de 1995 a 1997, incluyó temas diversos de cursos
cómo: funcionalidad de un tostador eléctrico, teoría del jazz, diagnósticos de casos médicos,
capacitación en habilidades mecánicas (mecanografía). El equipo utilizado fue una
computadora IBM PC 486 bajo el sistema operativo MS-Windows. El planificador fue
implementado en lenguaje C++, la interfaz del estudiante se realizó en OpenScript, el material
de instrucción fue elaborado en ToolBook incluyendo gráficos avanzados y multimedia.
El planificador con la estructura del dominio del conocimiento y el modelo del
estudiante residió en un servidor, y los estudiantes descargaban el cliente junto con el plan del
curso y el material de instrucción, el cual eran páginas de Web.
CoCoA
–
Análisis y chequeo de consistencias
estáticos basados en la Web
de
cursos
El articulo continua con la descripción de un segundo modelo de aplicación, el
cual puede verificar la consistencia y calidad de un curso en cualquier momento además de
realizas algunas funciones de apoyo a los desarrolladores del curso, este sistema trabaja
analizando de forma inversa la secuencia del curso estático.
Los conceptos de curso se encuentran conectados de forma jerárquica en cierta
forma, aunque existen mas de un nodo raíz, los cuales pueden compartir nodos entre las
jerarquías. Estos nodos se enlazan estableciendo relaciones tipo padre-hijo, con lo cual se
conforma el dominio del conocimiento, el cual se utiliza para ordenar del contenido del curso,
25
con el fin de conectar los elementos del material e aprendizaje denominado temas de
aprendizaje.
Se utiliza el concepto de prerrequisitos para asociar las operaciones de instrucción
con dos conjuntos de conceptos: prerrequisitos y conceptos de resultado. Del mismo modo
estos pueden ser de diferentes tipos: prerrequisitos ligeros, prerrequisitos fuertes, resultados
ligeros y resultados fuertes.
Algunas de las operaciones que realiza el sistema como apoyo a los
desarrolladores del curso son: verificar los prerrequisitos, encontrar fallas en el contenido,
consolidar las presentaciones, selección de preguntas, guía para el diseño de preguntas, enlazar
las presentaciones con los ejemplos y ejercicios adecuados, comparar las metas del diseño del
curso contra las del curso real, ajustar la presentación y, controlar la dificultad de los ejemplos
y ejercicios.
Respecto al desarrollo del sistema, éste se realizó en lenguaje Java. Además, se
encontró un problema durante el uso del sistema, el cual consiste en indicar al estudiante los
posibles errores o inconsistencias que detectó el sistema, algunas graves otras no tanto, para
indicar el nivel en el error encontrado se implementó un código de colores que indican la
gravedad del error.
Se indica en rojo un error grave y en verde un error tolerable. Queda a decisión del
estudiante el tomar o no en cuenta los errores indicados por el sistema.
2.3.3.
ELM-ART: An Adaptive Versatile System for Webbased Instruction [Webber & Brusilovsky, 2001]
Este artículo fue presentado en la revista internacional de Inteligencia Artificial en
Educación en el año 2001.
El artículo trata de los problemas encontrados al desarrollar un sistema de
aprendizaje inteligente y adaptativo que pude ser usado en al educación basada en la Web.
ELM-ART (Adaptive remote tutor) es un sistema educacional interactivo e inteligente que dar
soporte al aprendizaje del lenguaje de programación LISP, el sistema provee la totalidad del
material en línea en forma de un libro de texto interactivo y adaptativo. Este sistema
26
demuestra como algunos de sus componentes pueden implementarse en la Web y cómo
múltiples componentes pueden integrarse en un solo sistema.
Aunque originalmente ELM-ART se diseñó como un libro de texto, le fueron
añadidas nuevas características que no son posibles implementar en un libro de texto, esto es,
la interactividad y la inteligencia. El sistema está representado en forma de hipertexto, está
organizado como un árbol de secciones, capítulos, cada uno separado en una página de Web.
Además es posible visualizar el contenido del curso de forma secuencial, de forma jerárquica,
o por medio de un glosario de términos.
Sin embargo no es un libro de texto electrónico estático y tradicional, sus páginas
incluyen algunos tipos de actividades interactivas, por medio de enlaces interactivos a:
glosario de términos, evaluador de LISP, ejemplos, solución de problemas de ejemplo.
Además contiene preguntas simples y problemas a resolver, donde los usuarios pueden probar
su conocimiento, y el sistema de forma inmediatamente evalúa las respuestas y provee de
forma inmediata la retroalimentación correspondiente.
Se distinguen diferentes niveles de conocimiento dentro de los entornos de
aprendizaje inteligente, en orden ascendente: domino del conocimiento, razonamiento,
metaconocimiento, y conocimiento reflexivo.
El sistema ELM-ART trabaja principalmente con los dos niveles menores. El
dominio del conocimiento, conocimiento conceptual, consta de enunciados, funciones, y
símbolos que son necesarios para resolver problemas del dominio. El razonamiento tiene que
ver con el conocimiento procedimental donde se utiliza el dominio del conocimiento para
resolver problemas.
El dominio de conocimiento se representa por medio del modelo overlay
multicapas, donde existen diferentes estados para las páginas o unidades del curso, los estados
son: visitado, aprendido, inferido, conocido. Las unidades se actualizan en los estados
indicados según el avance del alumno durante el curso.
27
Otra de las facilidades que proporciona el sistema es la posibilidad que se le otorga
al alumno de colaborar en la creación del modelo del estudiante definido para cada aprendiz.
De esta forma el aprendiz proporciona su propia estimación del conocimiento.
Los estados del sistema se definen por medio del siguiente código de colores:
verde, significa que la página tiene conceptos que deben ser aprendidos; rojo, significa que la
página no está lista para ser visitada, ya que no se han cumplido los prerrequisitos; blanco, su
significado depende del tipo de página o unidad a visualizar, si las páginas son de ejercicios o
problemas significa que éstos fueron resueltos correctamente, en el caso de tratarse de una
página terminal significa que ya se ha visitado, y si se trata de una página de una lección,
sección o subsección significa que todas las páginas subordinadas ya fueron visitadas en su
totalidad; anaranjado, su significado también depende del tipo de página o unidad a
visualizar, en el caso de una página terminar significa que el sistema infirió que el
conocimiento ya es conocido por el aprendiz, en caso de tratarse de páginas de lecciones,
secciones o subsecciones significa que no han sido visitadas todas las páginas subordinadas, y
en el caso de páginas de ejercicios o problemas significa que éstos no han sido resueltos
exitosamente.
Aun cuando el código de colores ayude al estudiante a decidir sobre el contenido
del curso que visualizará, el aprendiz puede llegar a confundirse en el uso del curso, por lo que
el sistema implementó un enlace directo al siguiente tema, el cual es definido por el sistema
indicando cual es el siguiente tema que mejor se adecue a la meta actual de aprendizaje.
Con respecto a la forma de evaluación que se utiliza en el sistema ELM-ART, se
realiza por dos razones, la primera es proporcionar una retroalimentación inmediata ala
aprendiz acerca del resultado de su evaluación indicando las razones por la cual la respuesta es
equivocada, la segunda se refiere al mecanismo de asegurar que el usuario ha aprendido los
conceptos.
En términos de implementación se realiza a través de diferentes tipos de preguntas:
de opción corta si / no, de una sola opción, de múltiples respuestas a una pregunta, de
contestación directa, y de complementación.
28
Éstas preguntas se pueden asociar en grupos que definen la evaluación de una
unidad, además cada pregunta puede pertenecer a más de un grupo, por lo que si una pregunta
ya fue contestada correctamente en una evaluación ya no aparece en las otras. Existen tres
situaciones en las que una pregunta aparece en varios grupos de evaluaciones, la primera como
pregunta en la evaluación de los ejercicios o nuevos conceptos, la segunda como evaluación
extra al final de una sección o lección, y la tercera como evaluación introductoria de páginas
de unidades subordinadas de una página no terminal.
El sistema ELM-ART cuenta con áreas específicas para la interacción del aprendiz
con el profesor o con otros aprendices, esto se lleva a cabo a través de las herramientas de
comunicación con que cuenta el sistema, como son: mensajes vía la Web, correo electrónico,
sala de chat y listas de discusión.
2.3.4. Instructional Planning Approaches: from Tutoring
towards Free Learning [Vassileva & Wasson, 1996]
El artículo fue publicado en las memorias de la EURO-AIED en Lisboa, Portugal
en 1996.
Los autores tratan en este artículo dos enfoques que existen para el control de la
planeación de la instrucción (“LOC” por sus siglas en inglés) en los sistemas de aprendizaje
basados en computadora.
Un enfoque (LOC/SYS) establece que es el diseñador del sistema quien debe
decidir lo que es necesario enseñar para que el aprendiz adquiera el conocimiento, tal y como
lo realizaría un profesor.
El otro enfoque (LOC/L) define que es el aprendiz quien debe participar en las
decisiones respecto al conocimiento a adquirir y a los mecanismos utilizados para tal fin, por
lo que establece que la computadora es solo un medio de enseñanza el cual debe ser neutral.
Generalmente las investigaciones realizadas se basan en uno de los dos extremos,
por un lado los sistemas tutores inteligentes determinan los eventos a ocurrir durante la
instrucción, por otro lado los sistemas que realizan negociaciones acerca de las metas a
29
alcanzar, y fomentan la colaboración entre los grupos de estudiantes como base para el
aprendizaje.
De tal forma que la planeación de la instrucción solo es útil en los casos en que el
desarrollo de un sistema educativo se incline por el enfoque LOC/SYS. Sin embargo lo que
actualmente se busca es un balance entre los dos enfoques con el objetivo de desarrollar
sistemas que arrojen mejores resultados, en cuando a aprendizaje se refiere.
La planeación de la instrucción tiene dos aspectos a tratar, uno tiene que ver con el
contenido del curso, y el otro con la forma de presentar ese contenido; esto es, con las metas
de aprendizaje y cómo llegar a esas metas definidas.
En el artículo también se presentan dos estrategias implementadas en los proyectos
denominados PEPE y TOBIE. Los cuales se describen a continuación.
En el proyecto denominado PEPE se utiliza la planificación del contenido y el
aprendizaje cognoscitivo para lograr las metas de aprendizaje establecidas para cada aprendiz.
Este proyecto fue implementado y probado en el lenguaje de programación LISP.
Básicamente el sistema desarrollado utiliza como principal estrategia la planeación
de reglas implementadas a través de prerrequisitos en cascada. El conocimiento se organiza a
través de conceptos que el estudiante debe aprender para posteriormente aplicar en la solución
de problemas, mismos que evalúan sus habilidades cognitivas.
La arquitectura del sistema se compone de: la base de conocimientos que identifica
los conceptos y sus relaciones (prerrequisitos, subconceptos, especializaciones, etc.), la base
de conocimiento de conceptos erróneos la cual guarda los errores mas comunes respecto a las
relaciones establecidas entre los conceptos, el modelo del estudiante que almacena lo que el
sistema cree que el estudiante entiende y lo que no endiente (a través del modelo overlay), el
historial de estudiante el cual contiene el conocimiento que el sistema cree que el estudiante
ha aprendido, el plan histórico donde se almacena las metas y planes que se han generado, y
por último la planeación del contenido que consta de tres fases: generación de metas,
generación del plan y monitoreo del plan.
30
Respecto del proyecto TOBIE, éste utiliza la planificación reactiva para la asesoría
y la tutoría de tal forma llevar a cabo el proceso de enseñanza.
El principal aspecto que se cubre con este proyecto es dotar al sistema de la
capacidad para cambiar las estrategias y metas de enseñanza, tal y como se realiza un profesor
durante una clase, modificando el contenido actual o seleccionando diferentes tipos de
enseñanza.
Sin embargo implementar este tipo de enseñanza es compleja y prácticamente
imposible, por lo que la solución es incorporar al sistema una descripción limitada de estos
diferentes tipos de enseñanza y dotar al sistema de la habilidad de detectar los cambios en el
entorno de aprendizaje con el propósito de reconocer la oportunidad de modificar el entorno
por otro con mayores posibilidades de alcanzar las metas.
El sistema TOBIE se centra en la representación del dominio del conocimiento, el
cual consta de un grafo AND/OR directo multicapas, que expresa en forma curricular los
conceptos, metas y solución de problemas.
Este grafo esta representado por un conjunto de reglas de producción, el modelo
del estudiante se implementa a través del modelo overlay, el componente pedagógico contiene
un planificador que genera dinámicamente el plan del contenido basado en la estructura del
conocimiento para alcanzar las metas.
En este proyecto interactúan los dos estilos de enseñanza, en lo que al control de la
planeación se refiere (LOC/SYS y LOC/L). En una primera etapa el sistema genera el plan del
contenido y permite que el aprendiz defina la meta de aprendizaje, en etapas posteriores es
posible la generación de varios planes de contenido seleccionando el adecuado de acuerdo al
dominio o criterio pedagógico.
Durante la ejecución del plan, si el estudiante se ajusta al plan diseñado por el
sistema no existe acción alguna por parte del sistema, sin embargo si el estudiante se aleja del
plan trazado el sistema puede reaccionar de varias formas: ignora los cambios detectados,
aconseja al estudiante a seguir el plan trazado, ajusta el plan a los cambios realizados, genera
un nuevo plan con la misma meta, o genera un nuevo plan pero ahora con una meta diferente.
31
2.3.5.
Sistemas Tutores Inteligentes: Una forma de
conseguir
Sistemas
Hipermedia
Educativos
[Gutiérrez, 1995].
Artículo presentado en la conferencia para la asociación española para la
inteligencia artificial. CAEPIA’95 en Alicante, España.
Se describe la realización del proyecto basado en la unión de dos sistemas: los
sistemas tutores inteligentes (STIs) y los sistemas hipermedia (SHs), que por sí solos cuentan
con ventajas y desventajas, pero unidos subsanan mutuamente sus desventajas. Con esto crean
lo que ellos llaman sistemas hipertutores o sistemas hipermedia adaptativos, los cuales se
conforman de dos partes: el componente hipermedia y el 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, que es el encargado de comunicar al componente hipermedia con el componente
tutor.
El componente tutor, realiza un seguimiento de la interacción 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, representa los
conceptos a aprender por el alumno, además de estructurar un orden de presentación, existe
una relación con el módulo hiperespacio del componente hipermedia; el módulo didáctico, se
encarga de adaptar el sistema al alumno, basado en el nivel de aprendizaje determinado
mediante las evaluaciones realizadas; 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 desarrollo de ese artículo se basa en las teorías que dan sustento a la simbiosis
producida al unir los sistemas tutores con los sistemas hipermedia. En el terreno práctico
comentan que se encuentran en proceso de construcción los prototipos para la enseñanza de
dos dominios de aplicación: el dibujo técnico industrial y los sistemas digitales. No se
32
especifica el tipo de material didáctico a utilizar (audio, imágenes, datos) en los cursos
propuestos, ni la metodología para la transmisión de la información.
Además de los componentes que se destacan en el artículo, en el trabajo
desarrollado en el presente proyecto se incluyen los módulos que servirán para un mejor
control de las actividades del estudiante (interfaz del usuario), para el control administrativo
del curso y de los estudiantes (módulo administrador de cursos), y para la realización de
ejercicios (módulo de ejercicios) específicos del dominio del conocimiento (SQL). Además se
incluyen imágenes y sonido en la presentación del conocimiento.
2.3.6.
A Knowledge - Based Tutoring
Programming. [Zhou, 1994]
System
for
SQL
Artículo presentado en la Sexta Conferencia Internacional del IEEE Herramientas
con Inteligencia Artificial en New Orleans, E.U.A.
El artículo describe brevemente los Sistemas de Instrucción Asistida por
Computadora Tradicional (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). Respecto a estos últimos, los autores describen su arquitectura en tres
puntos principales: 1) dominio del conocimiento, 2) modelo del estudiante, y 3) el
conocimiento pedagógico; afirmando que esta estructura no provee un sólido entorno para el
desarrollo efectivo de cualquier sistema ITS.
Se plantea la siguiente arquitectura como diseño inicial para el proyecto SQLTUTOR, la cual consta de cinco módulos: 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; y 5) el agente de comunicación.
33
El agente de comunicación es un conjunto de procedimientos organizados en
cuatro módulos: planeación, discusión, evaluación y corrección. 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 quien 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), donde la
interfaz del sistema para el estudiante estaba definida por un grupo de comandos del sistema:
DISPLAY, FOCUS, STUDY, NOT-STUDY y SKIP. Estos comandos 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.
En general el artículo se basa en mayor medida en una explicación de las mejoras
introducidas al modelo natural de los sistemas tutores, en la forma de construir y armar el
curso por parte del instructor, dejando de lado conceptos tales como la descripción de los
métodos utilizados en la presentación del curso, el tipo de medios usados para la
comunicación instructor-estudiante, el desarrollo del agente de comunicación, mejora de la
interfaz de construcción del curso, y principalmente la implementación de la interfaz a utilizar
por parte del estudiante para la interacción con el sistema.
34
Dicho artículo se centra en la facilidad que tendrá el instructor al momento de
crear el curso, a diferencia del trabajo desarrollado que tiene también una herramienta para
creación de cursos, pero considera aspectos en favor de los usuarios del sistema tales como
accesibilidad y variedad en los medios para la presentación del contenido del curso (imagen y
sonido).
2.3.7. Otros Sistemas Tutores
Existen otras instituciones educativas que realizan investigaciones acerca de los
sistemas tutores inteligentes, pero sus desarrollos van encaminados hacia otros dominios del
conocimiento.
Institución
Dominio del Conocimiento
IPN – Cinvestav
Enseñanza de las Matemáticas [Cuevas, 1999]
ITESM – Morelos
Sistemas de Ingeniería [Morales, 1998]
ITAM
Circuitos Lógicos [ITAM, 1999]
UdG
Informática
Educativa,
Enseñanza
de
Idiomas
[CUAltos, 2000]
UNAM
Difusión de las Tecnologías del Lenguaje [Pineda,
2000]
2.4. CGIs
Lo que normalmente se conoce como CGIs son pequeños códigos de programa
que se adaptan al estándar Common Gateway Interface (CGI), por el cual se puede tener
acceso a servidores de Internet que envían información a los usuarios. Mediante este sistema,
la Web se comunica con recursos externos a la misma (Figura 2.2).
35
Por ejemplo, un documento de HTML permanece estático; es decir, existe un
estado constante en el contenido el documento, un archivo de texto no cambia. Por otro lado
un programa CGI es ejecutado en tiempo real, y proporciona información de forma dinámica
[NCSA, 1999]. Existen muchos servicios para los que se usan secuencias de comandos CGI:
las consultas a bases de datos, el funcionamiento de foros, anuncios comerciales o banners, las
estadísticas en tiempo real, y contadores de acceso a páginas Web.
Directorio cgi-bin
Página Web
Petición de información
desde un formulario de Web
Respuesta
Datos formateados
por el CGI para ser
comprensibles
CLIENTE
Consulta
SERVIDOR de Web
BASE DE
DATOS
Figura 2.2 Esquema de operación de un CGI.
La programación de las secuencias CGI puede realizarse utilizando diversos
lenguajes, tales como C, Visual Basic, AppleScript, Perl, TCL, cualquier shell de Unix, etc.
Las aplicaciones escritas en alguno de estos lenguajes, como C, necesitan ser compiladas para
que se puedan ejecutar. Por otra parte, existen lenguajes llamados de secuencias de comandos,
como Perl, que no necesitan de esta operación, siendo su utilización mucho más intuitiva y
sencilla aunque no tan potente y más lenta.
A continuación se describen los pasos fundamentales del funcionamiento de un
CGI, concretamente uno que permita a los usuarios de una página Web acceder a la consulta
de una base de datos, pero puede ser adaptado a cualquier proceso del estándar CGI [HREF2,
1998].
36
1. Es necesario escribir la aplicación CGI o bien bajar una de las que de manera
gratuita, o por muy bajo precio, se ofrecen en Internet.
2. Se debe colocar la aplicación CGI en el servidor de Web. En la mayor parte de
ellos existe un directorio especial para colocar este tipo de archivos.
Normalmente se acostumbra nombrarlo como cgi-bin, cgi-local o similar, de
manera que sólo los programas CGI que han sido archivados en estos
directorios son operativos, no funcionando en cualquier otro directorio. Esto se
debe a medidas de seguridad y control.
3. Para que la aplicación CGI se ponga en funcionamiento es necesario que sea
llamada desde una página Web, por lo tanto debe existir un enlace, que en el
caso de una base de datos suele dar lugar a un documento de Web en forma de
formulario, donde el usuario escribe los datos que serán enviados al servidor
de Web.
4. El programa CGI se conecta a la base de datos asociada y solicita la
información solicitada por el usuario. La base de datos responde al CGI
aportando los datos que pueden estar en formato texto, audio, imágenes, video,
etc.
5. Por último, el programa CGI, una vez recibidos los datos, se dedica a darles una
apariencia que sea comprensible para el usuario, es decir, construye un
documento en HTML en función de los parámetros dados por el programador,
que incluye la información extraída de la base de datos. Esta página Web se
comporta como cualquier otra, pudiendo ser impresa, archivada en un disco
duro, o simplemente visualizada.
2.5. Servicetes
La parte más conocida de Java son los apliquetes (applets). Éstos no son más que
programas que se pueden cargar a través de una red y que se ejecutan de igual forma en
cualquier plataforma, todo ello gracias a las potentes características de Java. Hasta hace poco,
Java se utilizaba básicamente para dotar a las páginas Web de una mayor interactividad
37
mediante los apliquetes, y por tanto sólo se ejecutaba sobre el lado cliente. Pero el lado
servidor también puede beneficiarse de todas las ventajas que ofrece Java, gracias a los
servicetes (servlets).
Los servicetes se diferencian de los apliquetes básicamente en que se ejecutan en
el servidor y en que no presentan ningún tipo de interfaz gráfica puesto que se encargan de
hacer el trabajo oculto. Uno de los aspectos más interesantes de los servicetes es la
programación en un entorno cliente-servidor basado en HTTP, por lo que muchos
programadores que hasta ahora utilizaban CGIs, están utilizando servicetes. De hecho, hasta
ahora los CGIs eran el único medio para proporcionar interacción entre el cliente y el servidor.
A continuación se presentan algunas de las razones por las que se afirma que los
servicetes sustituirán a los CGIs:
•
Se programan utilizando un API estandarizada de Java, y por tanto se
benefician de todas las ventajas de este poderoso lenguaje.
•
Consumen menos recursos que los CGIs y los Fast-CGIs, por ejemplo, no
es necesario cargarlos en memoria tantas veces como peticiones de
ejecución existan; se pueden cargar indiferentemente y de forma
transparente tanto desde un disco local como desde una dirección remota.
•
Responden a la nueva filosofía de software distribuido.
•
Los servicetes pueden comunicarse entre sí, y por tanto, es posible una
reasignación dinámica de la carga de proceso entre diversas máquinas; es
decir, un servicete podría pasarle trabajo a otro servicete residente en otra
máquina.
•
Poseen una estructuración en los archivos fuente mucho más clara que los
CGIs (especialmente si esta comparación se efectúa con respecto a Perl).
•
Se pueden reutilizar CGIs ya hechos, incrustándolos en servicetes.
38
•
Es posible utilizarlos en servidores como el Apache, el Fastracker o el
Internet Information Server.
Con los servicetes se pueden implementar las siguientes aplicaciones:
•
Sistemas intermediarios que hasta ahora únicamente se implementaban con
CGIs, encaminados a la consulta a bases de datos. Los servicetes pueden
utilizar JDBC (Java Data Base Connectivity), lo que les permite extraer
información de cualquier sistema de bases de datos.
•
Automatización de un sistema de recepción y publicación de información.
Por ejemplo, es posible montar una estación meteorológica que permitiese
acceso a su información mediante una página Web; por un lado tendríamos
un servicete que recolectaría la información de los diversos tipos de
sensores y la almacenaría en bases de datos, y por otro lado, un servicete
que se encargaría de presentar esta información en función de las peticiones
del cliente basándose en estas mismas bases de datos.
•
Control de la recepción de e-mails, sistemas de news, chats, etc. Conviene
recordar que Java está especialmente indicado para la programación
utilizando los protocolos TCP/IP (SMTP, NNTP, conexiones socket, etc.).
•
Generar páginas en HTML en el cliente de forma dinámica.
•
Dado que los servicetes pueden manejar múltiples peticiones de forma
concurrente, es posible implementar aplicaciones colaborativas, como por
ejemplo una aplicación de videoconferencia.
39
!"#$ %&'(),
Análisis
del
Solución
Problema
y
Propuesta
de
Se analiza en este capítulo cada uno de los problemas presentados durante el
desarrollo del proyecto de tesis, así mismo se describe la solución encontrada para cada
problema.
40
3.1. Acceso Vía Internet
En la versión anterior de la herramienta, el acceso al sistema por parte del alumno
estaba diseñado para ser utilizado en el sistema operativo Windows en forma local, lo que
limitaba el número de usuarios para acceder al sistema.
El acceso al alumno al sistema a través de Internet se implementó por medio de
servicetes del lenguaje Java, los cuales una vez implementados, tienen como interfaz
visualizadores de páginas Web, tales como IExplorer y Netscape, entre otros.
Los servicetes ofrecen al alumno la flexibilidad de acceso al sistema prácticamente
desde cualesquier computadora que esté conectada a Internet, sólo se necesita el lanzador de
servicetes (servletrunner) de una computadora que tenga la función de servidor con una
dirección de IP fija, así como de un puerto disponible para dar respuesta a las solicitudes vía
formularios de HTML, accediendo a su ubicación por medio de una dirección de URL, por
ejemplo: http://shahar.sd-cenidet.com.mx:8080/servlet/Acceso.
Los datos que recibe el servidor de servicetes por parte del usuario, se envían a
través de formularios activando el método post, lo que garantiza que los datos no serán
desplegados en la barra de direcciones del visualizador de Web.
3.2. Otros Cursos
Originalmente se planteó la elaboración del material de un curso base (enseñanza
de SQL) por lo que el diseño del sistema giró en ese sentido, para lograr que con el sistema se
crearan otros cursos se modificó la base de datos, añadiéndose nuevos campos que dieran la
posibilidad de identificar los capítulos, átomos, diapositivas y evaluaciones teóricas de cada
curso.
Cabe hacer mención que dicha modificación sólo es adecuada en la
implementación de la enseñanza y evaluación de forma teórica de los otros cursos, ya que la
sección del sistema que lleva el control de los ejemplos y evaluaciones prácticas está diseñada
de forma específica para la enseñanza del lenguaje de consulta de bases de datos SQL.
41
3.3. Normalización de la Base de Datos
Las tablas contenidas en la base de datos no consideraban su utilización en forma
adecuada, encontrándose las siguientes deficiencias.
No se contaba con campos que reflejaran por sí solos los datos del curso, capítulo,
tema, diapositiva, pregunta teórica, respuestas, preguntas prácticas y ejemplos, entre otros; es
decir, la llave primaria estaba compuesta por la concatenación de los campos involucrados en
el registro, sólo separados por un guión que delimitaba los datos, así pues el campo para
identificar a la diapositiva D3 del tema A5 incluido en el capítulo 03 perteneciente al curso 1,
se definía como sigue: 1-03-A5-D3.
La implementación utilizada en el presente proyecto fue definir un campo para
cada dato que constituye la identificación del registro, definiendo la llave primaria como la
unión de los campos principales.
Otro de los problemas encontrados al sistema fue la captura desde teclado de las
claves de identificación de los registros de tipo alfanumérico. Esto se modificó restringiendo la
opción de asignación de la clave por parte del usuario, realizándose de forma automática; para
lo cual se modificaron los tipos de dato definidos para los campos que integran la llave
primaria, que originalmente se encontraban designados como caracteres a los que actualmente
utiliza el sistema, que son de tipo de dato numérico,
Existían también tablas cuyos registros se relacionaban de “Uno a Uno” así que,
dado que las llaves primarias de las dos tablas eran exactamente iguales y a la naturaleza de la
información, se tomó la determinación de crear una sola tabla que contuviera todos los campos
existentes en las dos tablas. Con esto se disminuyó el número de tablas en la base de datos, y
además se optimizaron los movimientos de altas, bajas y consultas a realizar en las dos tablas
con carácter de obligatorio.
Respecto a los archivos que contienen la información del curso, se adecuó el
procedimiento anterior en el cual se indicaba la ruta completa de la ubicación exacta del
archivo, esto obligaba a mantener sin cambios la estructura de directorios y archivos en la
computadora donde se generó el curso, imposibilitando así su exportación.
42
La solución propuesta fue dar al curso un directorio específico diferente de todos
los directorios del resto de los cursos instalados. Para el archivo se especificó sólo el nombre
del mismo, y ya en el servidor se ubicaron todos los archivos de los cursos en una ruta común,
diferenciándose por el directorio del curso.
3.4. Control de Alumnos y Cursos
En la primera versión del sistema existía sólo una interfaz para realizar la
administración de los cursos y alumnos, suponiendo que estas actividades serían desarrolladas
por una sola persona, aunado a las actividades preponderantes propias de la generación de
cursos. Se encontró que no necesariamente estas actividades de administración deben llevarse
a cabo a la par con el desarrollo y creación del curso.
Por lo tanto, se implementó la separación de las secciones de administración de
alumnos, además de la asignación de alumnos a cursos, y viceversa. Creando así el Módulo
Administrador de Cursos, donde es posible, además de las actividades ya referidas, la
eliminación definitiva del sistema, de cursos que no tengan alumnos asignados.
3.5. Servicio de Exportar e Importar Cursos
Un servicio incluido en los alcances del presente proyecto de investigación es la
creación de un servicio que facilite la instalación y copiado de los cursos generados. Esto con
la finalidad de implementar un esquema de red de distribución de cursos en los Institutos
Tecnológicos, donde existirán dos tipos de sedes: generadoras y receptoras de cursos.
La función principal de las primeras es la creación de cursos, esto en función de la
disponibilidad de los expertos en cada área del conocimiento (profesores). Estos cursos serán
exportados a las sedes que no cuenten con una infraestructura académica tal que les permita
crear cursos y que importen los cursos para instalarlos en sus servidores y así difundir el
conocimiento entre sus alumnos.
La información a exportar es sólo la que corresponde a los cursos seleccionados
para tal fin, sin incluir a los alumnos asociados ni el grado de avance en el mismo. Por su parte
al importar un curso éste se anexa a la lista de cursos ya dados de alta en el sistema que lo
43
recibe, verificando que no exista duplicidad en los campos de identificación del curso
(nombre, directorio).
Cabe mencionar que las sedes generadoras no sólo podrán cumplir esa función si
no que también estarán en posibilidades de ser receptoras de sus propios cursos, para beneficio
de sus alumnos. Este par de servicios se encuentra implementado en el Módulo Administrador
de Cursos, por la afinidad del sistema con el servicio ofrecido.
3.6. Servicio de Respaldar y Restaurar la Base de Datos
Otros servicios necesarios en todo sistema son los de respaldo y restauración de la
información de los cursos contenida en la base de datos, esto debido a un esquema de
protección de la producción intelectual de los profesores, aunado a la seguridad que implica
proteger la información del avance de los alumnos en cada materia que estén cursando.
La información a respaldar en este servicio es en su totalidad la contenida en las
tablas de la base de datos tanto de cursos (capítulos, temas, diapositivas, preguntas, respuestas,
ejemplos, evaluaciones, prerrequisitos y plan de estudios) como de alumnos (avances y
alumnos asociados a los cursos).
Al restaurar se plantea el borrado de toda la información, a través de la
eliminación de las tablas y la ejecución del proceso de creación de las mismas por medio de
instrucciones de SQL, esto con el fin de recuperarlas en caso de daño.
3.7. Multimedia en la Presentación del Conocimiento
Como medio para la presentación del curso, en la versión anterior del sistema se
utilizaban archivos en formato GIF, generados a partir de diapositivas de PowerPoint, de ahí el
nombre heredado al material del curso como diapositivas, de tal forma que estas diapositivas
sólo presentaban de forma estática y poco atractiva la información del curso.
Para darle un mayor atractivo y generar en el alumno una mayor atención a los
temas tratados, se implementó en el presente proyecto un mecanismo con el cual se dota al
material del curso de diversos medios para la presentación del conocimiento. Además del texto
y las imágenes estáticas que tenía la versión anterior, se incluyeron en esta versión los
44
siguientes medios: animación (es decir, la incorporación de las imágenes en movimiento) y el
sonido que consiste en una explicación oral del tema a tratar.
Se analizaron dos formas principales para la integración de la animación,
PowerPoint y Flash de Macromedia. Se optó por la segunda opción debido a las siguientes
ventajas: el encapsulamiento de los archivos de sonido y presentación de la diapositiva; el
formato del archivo en gráficos vectoriales que permite desplegar la presentación en el tamaño
que se ajuste a las necesidades del usuario sin observar problemas de resolución, además de
reducir en gran medida el tamaño del archivo resultante, lo cual redunda en una reducción del
tiempo en la trasmisión del archivo vía Internet.
Esta forma de presentación multimodal del conocimiento, se traducirá en un mejor
aprovechamiento de las capacidades cognoscitivas del estudiante, al hacer uso de los
diferentes tipos de memoria activados en esta forma de aprendizaje: la memoria visual, al
asociar el conocimiento a imágenes estáticas o en movimiento; y la memoria auditiva, al
escuchar la descripción de la diapositiva presentada. Estos dos tipos de memoria se
relacionarán con los conceptos del conocimiento vertidos en la presentación.
3.8. Sincronización de la Animación con el Sonido
Otro de los problemas derivados de la inclusión en el sistema de las características
multimedia para la presentación del conocimiento, fue la sincronización de las imágenes en
movimiento (animación) con el sonido.
A partir de la evaluación de las herramientas de presentación PowerPoint y Flash
de Macromedia se obtuvo lo siguiente: en la primera sólo se reproducen las acciones de forma
consecutiva, lo que implica un tiempo de espera entre la acción animación y la acción sonido,
lo cual impide la sincronización; sin embargo en la segunda herramienta es posible realizar
múltiples acciones de animación, ya que éstas están divididas en capas diferentes (layers) cuya
forma de relación es a través de segmentos de tiempo (frames), los cuales se sincronizan desde
su definición, y su reproducción se realiza en forma simultánea.
45
3.9. Rapidez en la Transmisión de la Diapositiva
Uno de los puntos relevantes a tomar en cuenta cuando se desarrollan aplicaciones
basadas en Internet, es el tiempo de respuesta del servidor ante una solicitud realizada por
parte del usuario. Esto se debe principalmente a dos factores: los medios de comunicación y el
tamaño de los archivos enviados como respuesta.
Desafortunadamente las limitaciones de los medios de comunicación con los que
se cuenta en la infraestructura sobre la cual se basa el Internet en nuestro país, están fuera del
alcance del presente trabajo de investigación. Sin embargo, en el segundo factor sí es posible
incidir de forma importante al lograr reducir el tamaño de la respuesta enviada sin perder
calidad, esto a través de la degradación del sonido.
3.9.1. Degradación y Flujo del Sonido
En este aspecto existen diversos formatos con los que es posible almacenar el
sonido, tales como el formato WAV, que consiste en la digitalización de las ondas analógicas
producidas por el sonido (voz, o música). Existe también el formato que genera archivos
compactados MP layer 1, 2 y 3 (MP3), que elimina del archivo las frecuencias no audibles
para el ser humano (altas y bajas frecuencias) dejando sólo el rango necesario para captar con
nitidez y claridad lo contenido en el archivo.
Una de las características con las que cuenta el Flash de Macromedia es la
degradación del sonido, esto es, disminuye la calidad y el tamaño del archivo resultante (SWF)
de forma independiente al tipo de formato con el que sea grabado el sonido, como pueden ser
los formatos WAV y MP3.
Otra de las ventajas encontradas es la reproducción del sonido en forma de flujo
(stream) con el cual, al momento de cargarse el archivo que contiene la presentación del tema,
no es necesario esperar a que se cargue dicho archivo en su totalidad, ya que se reproduce
conforme se recibe la información, de la misma forma en que se realiza la transmisión de
videoconferencia a través de Internet, llamado en inglés audio y video streaming.
Al término de la primera reproducción de la presentación es posible visualizar el
contenido de la misma cuantas veces se requiera, sin necesidad de transferir el archivo
46
nuevamente, ya que el archivo se encuentra ya en disponibilidad total, mientras no se realice el
acceso a otro tema u otra página de Web.
3.10. Implementación de Ejemplos
Dentro de los alcances del presente trabajo de investigación se encuentra el diseño
e implementación de ejemplos sobre el área del conocimiento específica desarrollada en el
proyecto –Consultas SQL–.
Existen dos secciones en el sistema donde se hace uso de los ejemplos: la primera
es donde el creador del curso genera el ejemplo y lo asocia a la diapositiva que corresponde, y
la segunda es donde el alumno visualiza la dispositiva y realiza una práctica con el ejemplo
asociado.
En relación a la generación del ejemplo y su respectiva diapositiva, la forma de
elaboración y asociación no experimentó grandes cambios, no así la referente a la
visualización en la Interfaz del Alumno.
Al presentar la diapositiva se pregunta si tiene ejemplo asociado, si es el caso se
genera un formulario que contenga como campo principal el ejemplo, el cual se evalúa de la
siguiente forma:
1. Se obtienen las dos instrucciones de SQL: la del ejercicio obtenido del
visualizador y la del contenido del ejemplo asociado a la diapositiva,
2. Acto seguido se ejecutan las dos instrucciones de SQL.
3. Primeramente se compara el número de columnas del resultado de las dos
instrucciones de SQL y si es igual continua, en caso contrario se define el
ejercicio como no aceptable.
4. A continuación se toma la primer columna del resultado del ejercicio y se
busca en el resultado del ejemplo el que corresponda en nombre, y se
compara a nivel de registro los datos contenidos en las columnas, y así
sucesivamente se toma la siguiente columna para su comparación, si no
47
existen diferencias se define el ejercicio como aceptable, en caso contrario
como no aceptable.
5. En caso de no existir un error al momento de la ejecución del ejemplo, se
despliegan los datos obtenidos en forma de tabla, en caso contrario el
sistema se limita a indicar que existe un error sin desplegar ningún
resultado.
3.11. Evaluación
El mecanismo de evaluación se compone de tres algoritmos, de cuyos resultados
depende la actualización del planificador, para decidir los temas permitidos a visualizar por
parte del alumno, implementado mediante el código de colores definido en el proyecto de tesis
predecesor [Ingram, 2001]
3.11.1. Algoritmo para la Aplicación de Exámenes
En el proyecto anterior, los átomos de evaluación (teórica y práctica) se
encontraban incluidos en la estructura conformada por el grafo instruccional, de tal forma que
sólo se presentaban exámenes cuando el planificador así lo indicara. Sin embargo, dado que
las preguntas cuentan con una asociación de átomos de información a los que evalúa, podría
darse el caso de presentar una evaluación aún cuando el átomo de información asociado al
examen no haya sido repasado.
Para evitar lo anterior se implementó el siguiente algoritmo:
1) Al término de la visualización de las diapositivas asociadas a los temas, se
realiza una exploración de la tabla Átomos y se analiza la posibilidad de aplicar
el examen contenido en cada átomo de evaluación (Figura 3.1).
48
Tablas Relacionadas con la Evaluación
Atomos
ClaveCurso
integer
ClaveCapitulo
integer
ClaveAtomo
integer
NombreAtomo
char(50)
TipoConocimiento char(50)
GradoDificultad
integer
TipoAtomo
integer
PreguntasAtomos
PreguntasPracticas
ClaveCurso
integer
ClaveCapitulo integer
ClaveAtomo integer
ClavePregunta integer
Pregunta char(50)
Consulta char(50)
ClaveCurso
integer
ClaveCapitulo integer
ClaveAtomo integer
ClavePregunta integer
ClaveCapitulo1 integer
ClaveAtomo1 integer
ClaveCapitulo2 integer
ClaveAtomo2 integer
ClaveCapitulo3 integer
ClaveAtomo3 integer
ClaveCapitulo4 integer
ClaveAtomo4 integer
ClaveCapitulo5 integer
ClaveAtomo5 integer
PreguntasTeoricas
ClaveCurso
integer
ClaveCapitulo integer
ClaveAtomo
integer
ClavePregunta integer
Pregunta
char(255)
Respuesta1
char(255)
Respuesta2
char(255)
Respuesta3
char(255)
Respuesta4
char(255)
Respuesta5
char(255)
VerdaderoFalso1 char(50)
VerdaderoFalso2 char(50)
VerdaderoFalso3 char(50)
VerdaderoFalso4 char(50)
VerdaderoFalso5 char(50)
Figura 3.1. Fragmento de la base de datos relacionado con la evaluación.
2) De la tabla PreguntasAtomos se obtienen los átomos de información que están
asociados al átomo de evaluación en cuestión, se determina la aceptación o
rechazo de la aplicación del examen tomando en cuenta las siguientes
consideraciones:
a) Si al menos un átomo de información no ha sido repasado, no se aplica el
examen (rechazo) y se pasa al siguiente átomo de evaluación, regresando al
punto 2.
b) Si todos los átomos de información ya fueron repasados y todos están
aprobados, no se aplica el examen (rechazo) y se pasa al siguiente átomo de
evaluación, regresando al punto 2 (Figura 3.2).
c) Si todos los átomos de información ya fueron repasados y al menos uno no
está aprobado, se determina aplicar el examen (aceptar) y termina la
exploración de átomos de evaluación (Figura 3.2).
49
Algoritmo para la Aplicación de Exámenes
Todos los
Atomos de Inf
Repasados
NO
Rechazo
SI
Todos los
Atomos de Inf
Aprobados
NO
ACEPTAR
SI
Rechazo
Figura 3.2. Algoritmo para la aplicación de exámenes.
Es importante mencionar que la calificación mínima aprobatoria que fue
considerada en el presente proyecto fue de 6.
3.11.2. Algoritmo para la Selección de Preguntas
Una vez definido el examen a aplicar, se seleccionan las preguntas a incluir, ya
que no se considera necesario presentar las preguntas cuyos átomos de información ya fueron
aprobados.
Tomando en cuenta lo anterior, se desarrolló el siguiente algoritmo:
1) De la tabla PreguntasAtomos se realiza la exploración de cada pregunta del
átomo de evaluación y se obtienen los átomos de información que son
evaluados por dicha pregunta (Figura 3.1).
2) Se evalúa cada pregunta en relación con la calificación de los átomos de
información asociados.
a) Si todos los átomos de información están aprobados, no se presenta la
pregunta, y se pasa a la siguiente pregunta, regresar al punto 2 (Figura 3.3).
50
b) Si al menos un átomo de información asociado a la pregunta evaluada no
tiene calificación aprobatoria, se incluye la pregunta en el examen a aplicar
y continúa el análisis de la siguiente pregunta, regresando al punto 2
(Figura 3.3).
Algoritmo para la Selección de Preguntas
Atomo
de Inf 1
Aprobado
NO
SI
Atomo
de Inf 2
Aprobado
NO
SI
Atomo
de Inf 3
Aprobado
NO
ACEPTAR
SI
Atomo
de Inf 4
Aprobado
Rechazo
NO
SI
SI
Atomos
de Inf 5
Aprobado
NO
Figura 3.3. Algoritmo para la selección de preguntas.
3.11.3. Calificación de Preguntas
El mecanismo para determinar si una pregunta es correcta o no, se define de
diferente manera para cada uno de los diferentes tipos de evaluación: exámenes teóricos o
exámenes prácticos. El primer tipo de examen es el de opción múltiple, donde las posibles
respuestas son definidas al tiempo de generar el curso, en un rango mínimo de dos y un
máximo de cinco opciones de respuesta, con sólo una respuesta definida como correcta.
Para el tipo de examen práctico se tiene asociada una instrucción de SQL. Para
cada pregunta el alumno escribe una instrucción de SQL, y para determinar si es correcta o no,
se comparan los resultados tomando en cuenta la cantidad de columnas resultante, y la debida
correspondencia del nombre de las columnas, sin importar el orden de aparición, y la
comparación de todos los datos de las columnas, de forma similar a como se implementaron
los ejemplos del punto 3.10.
51
3.11.4. Algoritmo para la Calificación por Átomos
Una vez que se determina si la pregunta es correcta o no, se le asigna un valor de 1
a la pregunta respondida de forma correcta y 0 para la pregunta respondida de forma
incorrecta.
De forma inversa a la selección de preguntas, ahora se realiza una exploración por
átomo de información asociado a las preguntas contenidas en el examen aplicado. Para obtener
su calificación total se aplica el siguiente algoritmo:
1) Se efectúa una explotación de la información implicada en el examen y se
obtienen las preguntas que lo evalúan. Como se muestra en la figura 3.4, el
átomo de información 1 es evaluado por las preguntas 1, 2 y 5; a su vez el
átomo de información 2 es evaluado por las preguntas 3 y 4; y el átomo de
información 3 es evaluado por las preguntas 1, 3 y 5.
Asociación de Átomos y Preguntas
Atomo de Inf. 1
Atomo de Inf. 2
Atomo de Inf. 3
...
Atomo de Inf. n
Pregunta 1
Pregunta 2
Pregunta 3
Pregunta 4
Pregunta 5
Figura 3.4. Asociación de átomos y preguntas.
2) Se califica al átomo de información de la siguiente manera:
a) Se suma 1 a la calificación del átomo por cada respuesta correcta, ver
figura 3.5.
52
Calificaciones del Examen
Pregunta
1
2
3
4
5
Resultado
Valor
CORRECTA
INCORRECTA
CORRECTA
INCORRECTA
CORRECTA
1
0
1
0
1
Figura 3.5. Calificación del examen.
b) El total de la suma se divide entre el número de preguntas, correctas e
incorrectas, asociadas al átomo de información, ver figura 3.6.
Calificación de los Átomos
Calificación
Atomo de Inf 1 = Preg1 + Preg2 + Preg5 = 1 + 0 + 1 = 2 = 66.66 %
numpreg
3
3
Atomo de Inf 2 = Preg3 + Preg4 = 1 + 0 = 1 = 50.00 %
numpreg
2
2
Atomo de Inf 3 = Preg1 + Preg3 + Preg5 = 1 + 1 + 1 = 3 = 100.00 %
numpreg
3
3
Atomo de Información
1
2
3
NumeroRepasos RepasosTotales
2
2
0
1
3
3
Figura 3.6. Calificación de átomos.
Cabe hacer mención que aunque un átomo ya haya sido evaluado y tenga
calificación aprobatoria, la calificación se modificará según proceda, en caso de obtener una
53
calificación no aprobatoria, el planificador cambiará su plan, lo cual significa que debe
repasarlo antes de continuar con el resto de los átomos subsecuentes, inicializando el contador
de repasos en cero, pero conservando el número total de repasos para futuras consideraciones,
ver figura 3.7.
Control de Repasos Totales
Alumnos
NumeroControl
NombreAlumno
Alias
Contraseña
integer
char(50)
char(50)
char(50)
AvancesAlumnos
NumeroControl
Clave Curso
ClaveCapitulo
ClaveAtomo
NumeroRepasos
RepasosTotales
FechaUltimoRepaso
CalificacionAtomo
integer
integer
integer
integer
integer
integer
char(50)
integer
Figura 3.7. Esquema de repasos totales.
3.12. Visualización de Diapositivas
En la versión anterior del presente proyecto la presentación del conocimiento se
basó en el uso de archivos con el formato GIF, y cuya visualización dentro del sistema es
soportada en el lenguaje Java. En esta versión se optó por la presentación multimodal del
conocimiento, lo cual implica un cambio en el formato de los archivos que contienen la
información de los temas a tratar en el curso; es decir, archivos SWF generados a partir del
software Flash 5.0 de Macromedia.
El lenguaje Java soporta la visualización sólo hasta la versión 2 de los archivos
SWF generados en Flash. La generación del archivo en una versión menor a la 5 implica la
reducción de las características multimodales y de animación en el material a presentar.
Así que tuvo que implementarse la visualización de las diapositivas del curso
dentro del sistema, por medio de la ejecución del visualizador de Web controlado desde el
54
sistema por medio de hilos de un proceso, el cual se limita a las acciones de creación y
destrucción, por lo que en las opciones de configuración se incluye la ruta donde se ubica el
visualizador de Web.
3.13. Transferencia de Archivos
Dentro de los servicios que se crearon en el módulo administrador de cursos se
encuentran los de restaurar la base de datos e importar cursos, así mismo, el módulo
generación de cursos cuenta con la opción de asociar diapositivas a los temas. Estas tres
opciones tienen en común el almacenamiento de información en la base de datos referente a
los cursos pero, sólo a nivel de renglones en las tablas, dejando de lado a los archivos SWF
que contienen la información de los temas del curso.
Estos archivos deberían ser instalados de forma independiente; es decir, copiar, del
servidor origen, los archivos SWF en algún medio de almacenamiento (CD, disquete, etc.) y
transportarlos hasta el servidor destino y copiarlos. Esto implicaría una mayor posibilidad de
error dentro del sistema, al no ubicar los archivos en la ruta adecuada, además de la
posibilidad de daño en el proceso.
Para resolver este problema se implementó un módulo denominado Transferencia
de Archivos, cuya función es precisamente la de copiar los archivos SWF del cliente al
servidor destino. Este módulo se compone de dos partes: el cliente y el servidor. El primero
ubicado entre el módulo administrador de cursos y el módulo generador de cursos, y el
segundo como un programa residente en el servidor que espera la conexión por parte del
cliente.
La comunicación del cliente con el servidor se lleva a cabo mediante un
mecanismo de transmisión de archivos, compuesto por dos conexiones, una de control y otra
de transferencia de datos, con un proceso que verifica el envío y recepción correcta del
archivo.
3.14. Configuración de los Módulos
En caso de existir algún cambio en las condiciones de operación del sistema, lo
más común sería modificar el sistema a nivel de archivos fuente, lo que implicaría en primera
55
instancia la necesidad de contar con dichos archivos para cada servidor, y la posibilidad de
modificar por error partes del programa que no deberían cambiar.
Como solución al problema anterior, se implementó un apartado que contiene los
parámetros para la operación del sistema, con lo cual se otorga al sistema la posibilidad de
continuar su ejecución ante los cambios. Se divide en cuatro secciones:
1) Usuario.
a. Nombre del usuario.
b. Clave de acceso.
c. Confirmar clave de acceso.
2) Servidor.
a. URL del servidor.
b. Dirección interna de los datos.
c. Puerto de acceso a los servicetes.
d. Dirección interna de la página principal.
3) Base de datos.
a. Controlador de la base de datos.
b. Puerto de acceso a la base de datos del SMBD.
c. Nombre de la clase Java del controlador JDBC.
d. Nombre de la base de datos del sistema.
e. Nombre de la base de datos de ejercicios.
4) Visualizador.
a. Ruta del visualizador (path).
56
!"#$ %&'()Desarrollo
y
Herramienta
Descripción
de
la
En esta sección se incluye la arquitectura del sistema, así como la descripción al
nivel de clases del módulo generador de cursos, del módulo administrador de cursos, del
módulo de interfaz del alumno, y del módulo de transferencia de archivos.
57
4.1. Arquitectura de la Herramienta
Primeramente el sistema se desarrolló para su uso en un equipo (monousuario)
donde se llevaban a cabo todas las actividades derivadas del uso del sistema: generación y
administración de cursos, así como el control de los alumnos.
Modelo Conceptual del Sistema (ST-SQL)
Módulo Transferencia
de Archivos
Módulo Administrador
de Cursos
Recepción / Guardado
Interfaz Administrador
Diapositivas
Módulo de Conocimiento
Ejercicios
Módulo Generador
de Cursos
Exámenes
Control de Alumnos
Interfaz del Diseñador
Grafo Instruccional
Módulo Pedagógico
Módulo
Interfaz del Alumno
Modelo del Estudiante
Planificador
Acceso al Sistema
Módulo de Control
Visualización de Diapositivas
Visualización de Ejemplos
Atomodeinformación(Conceptosy Ejercicios)
Atomo deinformación(Conceptos yEjercicios)
Puntos deevaluación(exámenes)
Puntosdeevaluación(exámenes)
Visualización de Exámenes
Figura 4.1. Modelo conceptual del sistema.
Para dotar al sistema de la capacidad de acceso por parte de múltiples usuarios de
forma simultánea, se decidió dividir la versión anterior del sistema, compuesto por un solo
módulo denominado Sistema Generador y Administrador de Cursos Tutores, en cuatro
módulos que agrupan las actividades de los cuatro tipos de usuarios identificados (Figura 4.1).
58
Distribución Física de los Componentes del Sistema (ST-SQL)
Interfaz del Alumno
(Servicete Java)
POSTGRESQL
Acceso al Sistema
Visualizador de Diapositivas
Base de Datos del Sistema
Tutorial
Visualizador de Ejemplos
Visualizador de Exámenes
Servidor
Linux
Módulo Pedagógico
LAN
Planificador
Atomodeinformación(Conceptos yEjercicios)
Atomo deinformación(Conceptosy Ejercicios)
Puntos deevaluación(exámenes)
Puntosdeevaluación(exámenes)
PC
Windows
PC
Windows
PC
Windows
Visualizador de
Web
Módulo del Estudiante
Módulo de Control
Interfaz del
Administrador
(Aplicación de
Java)
Interfaz del
Diseñador
(Aplicación de
Java)
Figura 4.2. Distribución física.
1) Módulo Generador de Cursos. Utilizado por el diseñador del curso para crear
un curso, que puede incluir ejemplos y exámenes. Las funciones del módulo son las
siguientes: la generación del plan de estudios a través de la creación del grafo instruccional
estableciendo las relaciones de precedencia de capítulos y átomos, apoyado por el usuario
experto en el conocimiento del tema a impartir. Además existe la opción de crear tablas del
sistema y ejercicios para la instalación del sistema en un nuevo servidor (Figura 4.3).
59
LAN
Módulo Generador de
Cursos
Aplicación de Java
Módulo Generador
de Cursos
POSTGRESQL
Interfaz del Diseñador
JDBC
Capítulos del Curso
Atomos de Información
Exámenes
Ejercicios
Base de Datos del Sistema
Tutor
Atomodeinformación(ConceptosyEjercicios)
Atomodeinformación(ConceptosyEjercicios)
Puntosdeevaluación(exámenes)
Puntosdeevaluación(exámenes)
Grafo
Instruccional 2
Figura 4.3. Módulo generador de cursos.
2) Módulo Administrador de Cursos. En este módulo el administrador realiza
las siguientes funciones: altas/bajas de alumnos, importar/exportar cursos, respaldar/restaurar
la base de datos, así como también la asignación o baja de un alumno a uno o varios cursos.
Cuenta además con una sección donde se informa del estado que guarda un alumno en
relación al avance que tiene en cada curso asignado (Figura 4.4).
60
LAN
Módulo Administrador
de Cursos
Aplicación de Java
Módulo Administrador
de Cursos
POSTGRESQL
Interfaz del Administrador
JDBC
Instalación
Control de Alumnos
Respaldo
Informes de Exámenes
Base de Datos del Sistema
Tutor
Figura 4.4. Módulo administrador de cursos.
3) Módulo de Transferencia de Archivos. Es un submódulo del sistema
administrador y del sistema generador de cursos, el cual envía los archivos generados de los
cursos hacia el servidor ubicándolos en la ruta adecuada para su posterior referencia y
visualización.
4) Módulo de la Interfaz de Alumno. Es utilizado por los alumnos y el único con
acceso a través de un visualizador de páginas Web para acceder a la información de los cursos
asignados, ver el contenido del curso, realizar los ejemplos establecidos, responder a las
evaluaciones programadas, así como también llevar el control del avance de cada alumno por
curso (Figura 4.5).
61
Módulo Interfaz del
Alumno
Servicete
Visualizador de Web
Vi
Internet/
Intranet
al
su
d
iza
d
or
eW
eb
Visualizador de Web
Interfaz del Alumno
JDBC
Acceso al Sistema
POSTGRESQL
Visualizador de Diapositivas
Base de Datos del Sistema
Tutor
Visualizador de Ejemplos
Visualizador de Exámenes
Figura 4.5. Módulo interfaz del alumno.
Como parte importante del sistema y para su correcta operación, se diseñó un
esquema de la base de datos que cubriera las necesidades generadas del diseño del sistema
(Figura 4.6). Los módulos que tienen comunicación directa con la base de datos lo hacen
desde un entorno de seguridad, para la salvaguarda de la información, para lo cual se requiere
de una cuenta y una contraseña para permitir su acceso. Esto es una de las características con
las que cuenta el sistema manejador de bases de datos seleccionado para su operación en el
presente proyecto.
El funcionamiento del módulo de conocimiento, del módulo pedagógico y del
modelo del estudiante, es el mismo descrito en el proyecto inmediato anterior, ubicado en el
punto 1.1.1.1.
62
Esquema de la Base de Datos
Alumnos
Cursos
NumeroControl
NombreAlumno
Alias
Contraseña
integer
char(50)
char(50)
char(50)
1
1
n
1
AlumnosCurso
NumeroControl
ClaveCurso
n
integer
integer
integer
char(50)
char(50)
char(50)
ClaveCurso
NombreCurso
Autor
ClaveAcceso
1
n
PreRequisitosCapitulos
n
integer
ClaveCurso
ClaveCapituloInicial integer
ClaveCapituloFinal integer
AvancesAlumnos
integer
integer
integer
integer
integer
integer
FechaUltimoRepaso char(50)
CalificacionAtomo integer
NumeroControl
ClaveCurso
ClaveCapitulo
ClaveAtomo
NumeroRepasos
TotalRepasos
Planestudioscapitulos
Capitulos
n
1
ClaveCurso
ClaveCapitulo
NombreCapitulo
integer
integer
char(50)
1
1
ClaveCurso
ClaveCapitulo
Distancia
ClaveCapituloPredecesor
integer
integer
integer
integer
1
n
n
Atomos
PreRequisitosAtomos
integer
ClaveCurso
ClaveCapituloInicial integer
ClaveAtomoInicial integer
ClaveCapituloFinal integer
ClaveAtomoFinal integer
Negritas - Llave Primaria
Cursivas – Llaves Foráneas
n
1
1
ClaveCurso
ClaveCapitulo
ClaveAtomo
NombreAtomo
TipoConocimiento
GradoDificultad
TipoAtomo
integer
integer
integer
char(50)
char(50)
integer
integer
Planestudiosatomos
1
1
ClaveCurso
ClaveCapitulo
ClaveAtomo
Distancia
ClaveCapituloPredecesor
ClaveAtomoPredecesor
integer
integer
integer
integer
integer
integer
1 1
n
n
PreguntasAtomos
n
PreguntasPracticas
ClaveCurso
ClaveCapitulo
ClaveAtomo
ClavePregunta
Pregunta
Consulta
integer
integer
integer
integer
char(50)
char(50)
ClaveCurso
ClaveCapitulo
ClaveAtomo
ClavePregunta
ClaveCapitulo1
ClaveAtomo1
ClaveCapitulo2
ClaveAtomo2
ClaveCapitulo3
ClaveAtomo3
ClaveCapitulo4
ClaveAtomo4
ClaveCapitulo5
ClaveAtomo5
integer
integer
integer
integer
integer
integer
integer
integer
integer
integer
integer
integer
integer
integer
n
PreguntasTeoricas
ClaveCurso
ClaveCapitulo
ClaveAtomo
ClavePregunta
Pregunta
Respuesta1
Respuesta2
Respuesta3
Respuesta4
Respuesta5
VerdaderoFalso1
VerdaderoFalso2
VerdaderoFalso3
VerdaderoFalso4
VerdaderoFalso5
integer
integer
integer
integer
char(255)
char(255)
char(255)
char(255)
char(255)
char(255)
char(50)
char(50)
char(50)
char(50)
char(50)
Diapositivas
ClaveCurso
ClaveCapitulo
ClaveAtomo
ClaveDiapositiva
Direccion
Consulta
integer
integer
integer
integer
char(50)
char(254)
Figura 4.6. Esquema de la base de datos.
Otras de las características del sistema son las siguientes:
•
Módulo Generador de Cursos:
aplicación.
•
Módulo Administrador de Cursos:
aplicación.
•
Módulo Interfaz del Alumno:
servidor de Servicetes.
•
Módulo Transferencia de Archivos:
servidor SocketStream.
•
Lenguaje de programación:
Java.
•
Conectividad con bases de datos:
JDBC.
•
Sistema operativo:
Windows y Linux.
•
Sistema manejador de bases de datos: PostgreSQL.
63
4.2. Módulo Generador de Cursos Tutores (SGCT)
Las clases que contiene este módulo desde la versión anterior no sufrieron cambios
radicales, sólo fue necesaria su modificación para hacerlas compatibles con la posibilidad de
inclusión de más de un curso en la base de datos.
Dicha modificación consistió en la inclusión de las claves del curso, capítulo, tema
y diapositiva en cada consulta realizada a la base de datos. El funcionamiento general se puede
consultar en [Ingram, 2001].
A continuación se mencionan las clases a las que se hace referencia:
• SGCT
• ConsultarExamenPractico
• Abrir
• ConsultarExamenTeorico
• AdaptadorJDBC
• ConsultarPrecedenciasAtomos
• AgregarAtomos
• ConsultarPrecedenciasCapitulos
• AltaAtomosConocimiento
• ExamenPractico
• AltaAtomosInformacion
• ExamenTeorico
• AltaCapitulos
• FormularConsulta
• AltaCursos
• GeneraPlanEstudios
• AltaExamenes
• Listas
• AltasDiapositivas
• ModificarConsulta
• BaseDeDatos
• PrecedenciaAtomos
• Consultar
• PrecedenciaCapitulos
• ConsultarAtAsPregunta
• ResultadosConsulta
• ConsultarCapitulo
• SelAtAsociadosPregunta
• ConsultarDiapositivas
De la misma forma y dadas otras necesidades del sistema, se crearon clases nuevas
que integran otras características al sistema, como las siguientes:
• AcercaDe
• CrearArchivoHTML
• ClienteTransf
• CrearTablas
• Configuracion
• LeerClave
64
4.2.1. Clase AcercaDe.
Esta clase muestra en pantalla una ventana que contiene la información de autoría
del sistema. Los métodos implementados son los siguientes (Figura 4.7):
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.
ConfiguraElementosInterfaz(). Se encarga de la construcción de los componentes de la
interfaz.
Terminar(). Se llama a este método para asegurar una sola salida a la clase, antes de su
destrucción se cierran los accesos a otras entidades tales como archivos, flujos de
datos y conexiones a servidores.
ConfiguraElementosInterfaz()
actionPerformed()
AcercaDe
Terminar()
Figura 4.7. Métodos de la clase AcercaDe.
4.2.2. Clase ClienteTransf
Esta clase se encarga de gestionar el envío y recepción de los archivos de datos
(SWF) con el módulo de transferencia de archivos. El método implementado es el siguiente
(Figura 4.8):
EnviarArchivos(). Este método se encarga de realizar la conexión vía socket stream con el
servidor de transferencia de archivos, así como de revisar la correcta recepción del
mismo. En caso de no ser así, se realizarán las conexiones necesarias hasta lograr
el objetivo.
65
ClienteTransf
EnviaArchivos()
Figura 4.8. Método de la clase ClienteTransf.
4.2.3. Clase Configuracion
Esta clase muestra en pantalla una ventana con las opciones para la edición de los
datos de configuración del sistema. Los métodos implementados son los siguientes (Figura
4.9):
EscribirDatos(). El método en cuestión graba los datos de configuración en un archivo
denominado Configuracion cuya extensión es TXT, en referencia a un formato de
archivo tipo texto.
LeerDatos(). Este método recupera la información de configuración del archivo
Configuracion.txt y asigna sus valores a las variables que se despliegan en la
ventana para su actualización.
ValidarDatos(). La validación consiste en verificar la correcta conformación de los datos a
grabar, tal como la confirmación de la contraseña.
ValoresOmision(). Asigna los valores a los campos definidos por omisión, para una
configuración utilizada durante la creación de la herramienta en el presente
proyecto de investigación.
66
actionPerformed()
ConfiguraElementosInterfaz()
ValoresOmision()
Configuracion
EscribirDatos()
ValidarDatos()
Terminar()
LeerDatos()
Figura 4.9. Métodos de la clase Configuracion.
4.2.4. Clase CrearArchivoHTML
Esta clase permite la visualización de un archivo de datos desde el visualizador de
páginas de Web. El método implementado es el siguiente (Figura 4.10):
CrearArchivoHTML(). A este método se le envía el nombre del archivo de datos y la ruta
donde de localiza el mismo, creando un archivo temporal que permite la
visualización del archivo desde la aplicación.
CrearArchivoHTML
CrearArchivoHTML()
Figura 4.10. Método de la clase CrearArchivoHTML.
4.2.5. Clase CrearTablas
La clase en cuestión muestra en una ventana las opciones para la creación de las
tablas del sistema y de ejemplos, esto en caso de iniciar una base de datos como nueva o al
recuperar la estructura de la base de datos. Los métodos implementados son los siguientes
(Figura 4.11):
67
CrearBD(). Abre el archivo que contiene la estructura y genera las tablas de la base de datos
seleccionada.
EliminaTablas(). Con el fin de no crear conflictos con la duplicidad de información y para
mantener la integridad referencial, se eliminan las tablas de la base de datos
seleccionada.
IniciaCreacion(). Inicia el proceso advirtiendo sobre la eliminación de toda la información
contenida en las tablas; en caso de aceptar el usuario continúa el proceso.
ObtenComando(). Extrae del archivo de datos las instrucciones para la creación de la
estructura de las tablas, las cuales se encuentran escritas en renglones por
separado. La función de este método es armar las instrucciones separándolas al
encontrar el caractér punto y coma (;).
actionPerformed()
ConfiguraElementosInterfaz()
Terminar()
CrearTablas
CrearBD()
ObtenComando()
IniciaCreacion()
EliminaTablas()
Figura 4.11. Métodos de la clase CrearTablas.
4.2.6. Clase LeerClave
Al acceder a la clase se muestran en una ventana dos campos que solicitan la
captura de la clave de acceso, la cual permitirá ingresar al curso para su actualización o
consulta. Los métodos implementados son los siguientes (Figura 4.12):
68
ConfiguraElementosInterfaz()
LeerClave
actionPerformed()
Terminar()
Figura 4.12. Métodos de la clase LeerClave.
4.3. Módulo Administrador de Cursos Tutores (SACT)
A continuación se da una breve descripción de las clases y métodos más
importantes usados en la implementación del SACT.
4.3.1.
Clase SACT
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.13):
CreaMenuBar(). Construye la barra de menú y añade funcionalidad a cada uno de sus
componentes.
main(). Método principal, el cual se ejcuta en primera instancia al iniciar el sistema.
CrearBarraMenu()
SACT
Figura 4.13. Métodos de la clase SACT.
69
main()
4.3.2.
Clase AcercaDe
Esta clase muestra en pantalla una ventana que contiene la información de autoría
del sistema. Los métodos implementados son los siguientes (Figura 4.14):
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.
ConfiguraElementosInterfaz(). Se encarga de la creación de los componentes de la interfaz.
Terminar(). Se llama a este método para asegurar una sola salida a la clase, antes de su
destrucción se cierran los accesos a otras entidades tales como archivos, flujos de
datos y conexiones a servidores.
ConfiguraElementosInterfaz()
AcercaDe
actionPerformed()
Terminar()
Figura 4.14. Métodos de la clase AcercaDe.
4.3.3.
Clase AltaAlumnos
La clase AltaAlumnos despliega en pantalla una ventana con los campos de
edición correspondientes a los datos principales del alumno. Los métodos implementados son
los siguientes (Figura 4.15):
AsignaDatos(). Este método establece los datos por omisión en los campos de edición del
alumno.
InscribirAlumno(). Este método verifica que los datos del alumno, nombre y cuenta, no se
encuentren duplicados en la base de datos, y en caso afirmativo inserta en la tabla
alumnos un registro nuevo con la información capturada.
70
LimpiarCampos(). La invocación a este método se realiza para eliminar los datos existentes
en los campos de edición de los datos del alumno.
ValidaCampos(). La validación consiste en verificar que los campos de edición no hayan sido
dejados en blanco, así mismo se verifica que los campos de contraseña y
confirmación contraseña coincidan.
AceptaDatos(). Este método despliega una ventana con el mensaje de advertencia recibido
como parámetro.
actionPerformed()
AsignaDatos()
Configura
ComponentesInterfaz()
AceptaDatos()
AltaAlumnos
InscribirAlumno()
ValidaCampos()
Terminar()
LimpiarCampos()
Figura 4.15. Métodos de la clase AltaAlumnos.
4.3.4.
Clase AsignarAlumnosCurso
Esta clase realiza las operaciones necesarias para dar de alta un alumno en un
curso. Los métodos implementados son los siguientes (Figura 4.16):
EliminaDatosTablaAvancesAlumnos(). Este método borra de la tabla de avances los
renglones existentes con la clave del curso y el número de control del alumno.
EscribeAlumnosBD(). La invocación de este método tiene por objeto validar si no existe un
renglón en la tabla alumnoscurso con los datos del alumno y el curso en cuestión;
en caso de no existir se crea.
EscribeAvancesAlumnos(). Este método tiene por objeto grabar en la tabla AvancesAlumnos
cada renglón que contiene la información del avance del alumno (número de
repasos, fecha del último repaso y la calificación), relativa a cada tema de cada
capítulo del curso en cuestión.
71
ObtenDatosParaTablaAvances(). Con este método se consiguen los datos de los capítulos y
temas de los cuales está compuesto el curso.
EliminaDatos
TablaAvancesAlumno()
actionPerformed()
EscribeAlumnoBD()
AsignarAlumnosCurso
Escribe
AvancesAlumnos()
ObtenDatosPara
TablaAvances()
Terminar()
Figura 4.16. Métodos de la clase AsignarAlumnosCurso.
4.3.5.
Clase AsignarAlumnos
La presente clase despliega en pantalla una ventana que contiene la lista de los
alumnos que no se encuentran todavía inscritos a un curso específico, con el propósito de
asociarlos al curso. Los métodos implementados son los siguientes (Figura 4.17):
ConfiguraInterfaz()
actionPerformed()
AsignarAlumnos
Terminar()
Figura 4.17. Métodos de la clase AsignarAlumnos.
4.3.6.
Clase AsignarCursos
De la misma forma que la clase inmediata anterior, esta clase despliega en pantalla
una ventana con la lista de los cursos que no se encuentran todavía asociados a un alumno
determinado, con el propósito de inscribirlo al curso. Los métodos implementados son los
siguientes (Figura 4.18):
72
ConfiguraInterfaz()
actionPerformed()
AsignarCursos
Terminar()
Figura 4.18. Métodos de la clase AsignarCursos.
4.3.7.
Clase BajaAlumnoCurso
Esta clase tiene por objeto dar de baja un alumno de un curso específico; es decir,
eliminar la asociación del alumno con el curso, previa confirmación de ejecución de la
operación. El método implementado es el siguiente (Figura 4.19):
DarBajaAlumnoCurso(). Este método elimina de las tablas alumnocurso y avancesalumnos
los renglones que contienen los datos referentes al alumno y curso seleccionado
para su baja.
BajaAlumnoCurso
DarBajaAlumnoCurso()
Figura 4.19. Método de la clase BajaAlumnoCurso.
4.3.8.
Clase ClienteTransf
Esta clase se encarga de gestionar el envío y recepción de los archivos de datos
(SWF) con el módulo de transferencia de archivos. El método implementado es el siguiente
(Figura 4.20):
73
EnviarArchivos(). Este método se encarga de realizar la conexión vía socket stream con el
servidor de transferencia de archivos, así como de revisar la correcta recepción del
mismo. En caso de no ser así, se realizarán las conexiones necesarias hasta lograr
el objetivo.
ClienteTransf
EnviarArchivos()
Figura 4.20. Método de la clase ClienteTransf.
4.3.9.
Clase Configuracion
Esta clase muestra en pantalla una ventana con las opciones para la edición de los
datos de configuración del sistema. Los métodos implementados son los siguientes (Figura
4.21):
EscribirDatos(). El método en cuestión graba los datos de configuración en un archivo
denominado Configuracion cuya extensión es TXT, en referencia a un formato de
archivo tipo texto.
LeerDatos(). Este método recupera la información de configuración del archivo
Configuracion.txt, y asigna sus valores a las variables que se despliegan en la
ventana para su actualización.
ValidarDatos(). La validación consiste en verificar la correcta conformación de los datos a
grabar, tal como la confirmación de la contraseña.
ValoresOmision(). Asigna los valores a los campos definidos por omisión, para una
configuración utilizada durante la creación de la herramienta en el presente
proyecto de investigación.
74
Configura
ElementosInterfaz()
actionPerformed()
ValoresOmision()
Configuracion
EscribirDatos()
ValidarDatos()
Terminar()
LeerDatos()
Figura 4.21. Métodos de la clase Configuracion.
4.3.10.
Clase ConsultarAlumnos
Esta clase despliega en pantalla una ventana con la lista de alumnos inscritos en el
sistema, de los cuales es posible visualizar los cursos a los que se encuentran asociados, de tal
forma que pueden realizarse operaciones de asignación y baja de cursos, así como la
actualización de los datos del alumno, además de eliminar en forma definitiva al alumno del
sistema. Los métodos implementados son los siguientes (Figura 4.22):
DatosAlumno(). Este método tiene como función la búsqueda de los datos referentes al
alumno seleccionado: nombre, cuenta y la lista de los cursos asociados.
actionPerformed()
ConfiguraInterfaz()
ConsultarAlumnos
Terminar()
DatosAlumno()
Figura 4.22. Métodos de la clase ConsultarAlumnos.
4.3.11.
Clase ConsultarCursos
Esta clase despliega en pantalla una ventana con la lista de cursos existentes en el
sistema, de los cuales es posible visualizar los alumnos inscritos, de tal forma que pueden
75
realizarse operaciones de asignación y baja de alumnos. Los métodos implementados son los
siguientes (Figura 4.23):
DatosCurso(). Este método tiene como función la búsqueda y despliegue en pantalla de los
datos referentes al curso seleccionado: nombre, autor y la lista de los alumnos
inscritos.
actionPerformed()
ConfiguraInterfaz()
ConsultarCursos
Terminar()
DatosCurso()
Figura 4.23. Métodos de la clase ConsultarCursos.
4.3.12.
Clase EliminarAlumno
La clase presentada elimina de la base de datos el alumno seleccionado, mismo
que recibe como parámetro al construir la clase. El método implementado es el siguiente
(Figura 4.24):
EliminaAlumno(). Este método tiene por objeto eliminar el alumno de la base de datos,
previa verificación de la inexistencia de cursos asignados; es decir, que el alumno
no esté inscrito en ningún curso al tiempo del borrado.
EliminarAlumno
EliminaAlumno()
Figura 4.24. Método de la clase EliminarAlumno.
76
4.3.13.
Clase EliminarCurso
La presente clase elimina de la base de datos el curso seleccionado, mismo que
recibe como parámetro al construir la clase. El método implementado es el siguiente (Figura
4.25):
EliminaCurso(). Este método tiene por objeto eliminar el curso de la base de datos, previa
verificación de la inexistencia de alumnos asignados; es decir, que el curso no
tenga ningún alumno inscrito al tiempo del borrado.
EliminarCurso
EliminaCurso()
Figura 4.25. Métodos de la clase EliminarCurso.
4.3.14.
Clase ExportarCurso
Esta clase muestra en pantalla una ventana con la lista de los cursos existente en el
sistema con el propósito de grabar los datos y archivos en un archivo compactado. Los
métodos implementados son los siguientes (Figura 4.26):
CreaArchivoZip(). Este método crea un archivo en formato compactado zip, en el cual se
adicionan el archivo de datos y los archivos swf del curso seleccionado.
DatosCurso(). Este método tiene como función la búsqueda y despliegue en pantalla de los
datos referentes al curso seleccionado: nombre y autor.
ExportarDatos(). Las funciones de este método son las siguientes: 1) seleccionar la ruta y
nombre del archivo compactado; 2) generar el archivo DatosCurso.txt, que
contiene la información necesaria para la creación del curso (tablas, campos,
datos); y 3) obtener de su ubicación original los archivos de datos swf.
77
ConfiguraInterfaz()
CreaArchivoZip()
ExportarCurso
actionPerformed()
Terminar()
DatosCurso()
ExportarDatos()
Figura 4.26. Métodos de la clase ExportarCurso.
4.3.15.
Clase ImportarCurso
La función de esta clase es la de presentar en pantalla una ventana que muestre los
datos del archivo a importar: fecha, hora, nombre y autor del curso, con el propósito de grabar
en la base de datos la información y archivos del curso seleccionado. Los métodos
implementados son los siguientes (Figura 4.27):
DatosCurso(). Al invocar este método muestra en pantalla los datos del curso: nombre, autor,
y ruta, mismos que son extraidos del archivo datoscurso.txt existene en el archivo
compactado seleccionado.
DesHabilitaTexto(). Este método se usa para evitar la edición en los campos de texto que
contienen los datos del nombre del curso, el autor y la ruta.
EliminaArchivos(). La llamada a este método tiene como efecto la eliminación de los
archivos temporales generados en el proceso de importación del curso.
ExtraerDatos(). El prpósito del método es el de obtener el archivo de información
(datoscurso.txt) y los archivos de datos del curso (swf), contenidos en el archivo
compactado seleccionado, y grabarlos en un directorio temporal para su uso
posterior.
ImportarDatos(). Con este método se realiza la grabación de la información del curso en la
base de datos.
78
LimpiarCampos(). Con la invocación a este método se inicializa en blanco los campos de
texto que despliegan el nombre y el autor del curso
ObtenComando(). Extrae del archivo de datos las instrucciones para la creación de la
estructura de las tablas, las cuales se encuentran escritas en renglones por
separado. La función de este método es armar las instrucciones separándolas al
encontrar el caractér punto y coma (;).
SeleccionarArchivo(). En este método se busca el nombre y ruta del archivo compactado que
contiene el archivo de informacion y los archivos de datos del curso.
TransferirArchivos(). El presente método realiza la transferencia de los archivos de datos del
curso al servidor de archivos de datos del sistema.
VerificarDatos(). La operación implementada en el método gira en torno a la revisión de los
contenidos en la base de datos, de tal forma que no existan los mismos datos que
se pretende importar; es decir, verificar que no exista otro curso igual en la base de
datos.
DatosCurso()
DesHabilitaTexto()
ImportarCurso
VerificarDatos()
TransferirArchivos()
EliminarArchivos()
SeleccionarArchivo()
ObtenComando()
ExtraerDatos()
ImportarDatos()
LimpiarCampos()
Figura 4.27. Métodos de la clase ImportarCurso.
4.3.16.
Clase Imprimir
La clase imprimir muestra en pantalla una ventana con una vista preliminar de los
datos del tipo de informe requerido, los cuales son recibidos en una tabla como parámetro
durante la construcción del objeto. Además envía a la impresora seleccionada los datos
mostrados en la vista previa. El método implementado es el siguiente (Figura 4.28):
79
print(). Método que imprime el objeto enviado como parámetro, en este caso se refiere a la
tabla donde se encuentran los datos a imprimir.
Imprimir
print()
Terminar()
Figura 4.28. Métodos de la clase Imprimir.
4.3.17.
Clase ImprimirAlumnos
En el método constructor de esta clase se genera un objeto de tipo tabla que
contiene la información de los alumnos dados de alta en el sistema y los cursos a los que están
inscritos (Figura 4.29).
ImprimirAlumnos
Terminar()
Figura 4.29. Métodos de la clase ImprimirAlumnos.
4.3.18.
Clase ImprimirAvances
En esta clase se presenta en pantalla una ventana que muestra en una lista los
alumnos existentes en el sistema, así como los cursos a los que están asociados con el fin de
seleccionar el alumno y curso de cual se construirá la tabla para su impresión. Los métodos
implementados son los siguientes (Figura 4.30):
80
DatosAlumno(). Este método tiene como función la búsqueda de los datos referentes al
alumno seleccionado: nombre, cuenta y la lista de los cursos asociados.
ImprimirDatos(). Una vez seleccionado el alumno y curso a imprimir al invocar a este
método, se genera una tabla con los datos del avance del alumno y curso
seleccionado.
ConfiguraInterfaz()
actionPerformed()
DatosAlumno()
ImprimirAvances
Terminar()
ImprimirDatos()
Figura 4.30. Métodos de la clase ImprimirAvances.
4.3.19.
Clase ImprimirCursos
En el método constructor de esta clase se genera un objeto de tipo tabla que
contiene la información de los cursos existentes en el sistema y los alumnos inscritos (Figura
4.31).
ImprimirCursos
Terminar()
Figura 4.31. Métodos de la clase ImprimirCursos.
81
4.3.20.
Clase RespaldarBD
La presente clase muestra en pantalla una ventana con la información referente a
los alumnos y cursos contenidos en el sistema, con la finalidad de grabar los datos de la base
de datos a un archivo compactado. Los métodos implementados son los siguientes (Figura
4.32):
CreaArchivoZip(). Este método crea un archivo en formato compactado zip, en el cual se
adicionan el archivo de datos y los archivos swf de los cursos a respaldar.
RespaldarDatos(). Las funciones de este método son las siguientes: 1) seleccionar la ruta y
nombre del archivo compactado; 2) generar el archivo DatosRespaldo.txt, que
contiene la información necesaria para la creación de los cursos (tablas, campos,
datos); y 3) obtener de su ubicación original los archivos de datos swf.
ConfiguraInterfaz()
actionPerformed()
CreaArchivoZip()
RespaldarBD
Terminar()
RespaldarDatos()
Figura 4.32. Métodos de la clase RespaldarBD.
4.3.21.
Clase RestaurarBD
La función de esta clase es la de presentar en pantalla una ventana que muestre los
datos del archivo a restaurar: fecha, hora, alumnos y cursos, con el propósito de grabar en la
base de datos la información y archivos de los cursos respaldados. Los métodos
implementados son los siguientes (Figura 4.33):
BorrarCurso(). Este metodo borra la informacion referente a la estructura de las tablas de la
base de datos del sistema, creando después una nueva estructura.
82
DatosRespaldo(). El método en cuestión extrae la información del respaldo del archivo de
datos "../temp/DatosRespaldo.txt" contenido en el archivo compactado, y muestra
los resultados en la ventana.
EliminarArchivos(). El presente método elimina los archivos extraidos del archivo
compactado.
EliminarArchivosCurso(). El método elimina los archivos de datos del curso restaurado.
ExtraerArchivosCurso(). Al invocar el método se inicia el proceso de obtención del archivo
de información y los archivos de datos del curso a restaurar, contenidos en el
archivo compactado del curso.
ExtraerDatos().
Este
método
obtiene
el
archivo
de
información
del
respaldo
(DatosRespaldo.txt), así como los archivos compactados de cada curso contenido
en el respaldo.
LimpiarDatos(). La invocación a este método se realiza para eliminar los datos existentes en
los campos de edición de los datos del respaldo actual.
ObtenComando(). Extrae del archivo de datos las instrucciones para la creación de la
estructura de las tablas, las cuales se encuentran escritas en renglones por
separado. La función de este método es armar las instrucciones separándolas al
encontrar el caractér punto y coma (;).
RestaurarDatos(). Este método inicia el proceso de restauración del respaldo seleccionado.
Para tal efecto primeramente graba la información de los cursos en la base de datos
del sistema, posteriormente recorre los cursos enviando los archivos de datos del
curso al servidor de archivos del sistema.
SeleccionarArchivos(). En este método se busca el nombre y ruta del archivo compactado que
contiene el archivo de informacion del respaldo y los archivos de datos de los
cursos.
83
TransferirArchivos(). El presente método realiza la transferencia de los archivos de datos de
los cursos contenidos en el respaldo al servidor de archivos de datos del sistema.
BorrarDatos()
DatosRespaldo()
EliminarArchivos()
Eliminar
ArchivosCurso()
TransferirArchivos()
RestaurarBD
Extraer
ArchivosCurso()
SeleccionarArchivo()
RestaurarDatos()
ObtenComando()
LimpiarDatos()
ExtraerDatos()
Figura 4.33. Métodos de la clase RestaurarBD.
4.4. Módulo Interfaz del Alumno
A continuación se da una breve descripción de las clases y métodos más
importantes usados en la implementación de la Interfaz del Alumno.
4.4.1.
Servicete Acceso
Esta clase despliega, en la ventana del visualizador de páginas Web, los resultados
de la verificación de la clave de acceso y la contraseña enviada por el usuario mediante de un
formulario. El método implementado es el siguiente (Figura 4.34):
service(). El presente método forma parte integral de las clases heredadas de la clase servlet,
cuya función es la de dar inicio a las operaciones del servicete.
Acceso
service()
Figura 4.34. Método del servicete Acceso.
84
4.4.2.
Servicete ConfigAlumno1
Este servicete despliega en la ventana del visualizador de páginas de Web los
datos del alumno: número de control, nombre y cuenta; así como los datos susceptibles de
modificación: cuenta y contraseña, mismos que una vez modificados serán actualizados en la
base de datos. El método implementado es el siguiente (Figura 4.35).
ConfigAlumno1
service()
Figura 4.35. Método del servicete ConfigAlumno1.
4.4.3.
Servicete ConfigAlumno2
Este servicete despliega en la ventana del visualizador de páginas de Web los
resultados de la modificación de los datos del alumno. En caso afirmativo mostrará los nuevos
datos del alumno: número de control, nombre y nueva cuenta. En caso negativo mostrará un
letrero informando que no se pudo realizar la modificación. El método implementado es el
siguiente (Figura 4.36).
ConfigAlumno2
service()
Figura 4.36. Método del servicete ConfigAlumno2.
85
4.4.4.
Clase Cursos
Esta clase muestra en la ventana del visualizador de páginas de Web los datos de
los cursos a los que el alumno se encuentra asignado: nombre y autor del curso. No se han
implementado métodos en esta clase, aparte del constructor (Figura 4.37).
Cursos
Figura 4.37. Clase Cursos.
4.4.5.
Servicete Capítulos
Este servicete muestra en la ventana del visualizador de páginas de Web los datos
referentes a los capítulos del curso seleccionado: status y nombre del capítulo. El status está
indicado por el código de colores definido para los capítulos. El método implementado es el
siguiente (Figura 4.38).
Capitulos
service()
Figura 4.38. Método del servicete Capitulos.
86
4.4.6.
Servicete Temas
Este servicete muestra en la ventana del visualizador de páginas de Web los datos
referentes a los temas del capítulo y curso seleccionados: status y nombre del tema. El status
está indicado por el código de colores definido para los temas. El método implementado es el
siguiente (Figura 4.39).
Temas
service()
Figura 4.39. Método del servicete Temas.
4.4.7.
Servicete Diapositivas
Este servicete muestra en la ventana del visualizador de páginas de Web los datos
referentes a las diapositivas del tema, capítulo y curso seleccionado: archivo de datos y
ejemplo. Además muestra, en caso de existir, la consulta de ejemplo asociada a la diapositiva.
Los métodos implementados son los siguientes (Figura 4.40):
AplicarExamen(). El presente método tiene como función la de verificar la pertinencia en la
aplicación de un exámen, siguiendo los lineamientos descritos en el capítulo 3. El
método muestra en la ventana del visualizador de páginas de Web el icono que
retorna en control a la página anterior, en este caso el examen a aplicar.
87
Diapositivas
AplicarExamen()
service()
Figura 4.40. Métodos del servicete Diapositivas.
4.4.8.
Servicete Ejemplos
El presente servicete tiene por objeto mostrar en la ventana del visualizador de
páginas de Web los resultados de la ejecución del ejemplo interactivo, asociado a la
diapositiva. En caso de éxito los resultados se muestran en formato de tabla, y en caso de
fracaso se informa que la consulta no pudo ser realizada como se capturó. El método
implementado es el siguiente (Figura 4.41).
Ejemplos
service()
Figura 4.41. Método del servicete Ejemplos.
4.4.9.
Servicete Examen
Este servicete muestra en la ventana del visualizador de páginas de Web las
preguntas del examen seleccionado para su aplicación. Los métodos implementados son los
siguientes (Figura 4.42):
AplicarExamen(). Este método muestra en pantalla las preguntas seleccionadas para su
exhibición, siguiendo los lineamientos descritos en el capítulo 3.
88
Examen
AplicarExamen()
service()
Figura 4.42. Métodos del servicete Examen.
4.4.10.
Servicete Evaluación
Este servicete despliega en la ventana del visualizador de páginas de Web los
resultados de la calificación de las preguntas incluidas en el examen, siguiendo los
lineamientos establecidos en el capítulo 3. Los métodos implementados son los siguientes
(Figura 4.43):
CalificarExamen(). En este método se define la calificación obtenida para cada átomo de
conocimiento tomando en cuenta las preguntas correctas e incorrectas, tal como se
define en el capítulo 3. Además, se guardan esas calificaciones en el avance del
alumno referente al curso.
CompararConsultas(). El objeto de este método es el de indicar si las instrucciones de SQL
recibidas como parámetros son iguales. Esto se logra comparando los resultados al
ejecutar las instrucciones en cuestión.
EvaluarExamen(). La función del presente método es indicar si las preguntas fueron
respondidas de forma correcta o incorrecta. Para el caso de preguntas teóricas se
indica de forma directa si la respuesta seleccionada es la correcta o no. En el caso
de preguntas prácticas se invoca al método de comparación de consultas, y sólo si
son iguales, la pregunta será considerada como correcta.
89
CalificarExamen()
CompararConsultas()
Evaluacion
service()
EvaluarExamen()
Figura 4.43. Métodos del servicete Evaluacion.
4.4.11.
Clase Encabezado
Esta clase utiliza el método constructor para mostrar en la ventana del visualizador
de páginas de Web los datos del alumno: curso, capítulo y tema, según el nivel en el que se
encuentre el alumno al verificar la información del curso (Figura 4.44).
Encabezado
Figura 4.44. Clase Encabezado.
4.4.12.
Clase Conexión
Esta clase establece el enlace entre los servicetes de Java y la base de datos, a
través del JDBC. Los datos necesarios para el establecimiento de dicha comunicación se
encuentran ubicados en un archivo de configuración, de forma similar a como se implementó
en el módulo de creación y el módulo de administración de cursos tutores (Figura 4.45).
90
Conexion
Figura 4.45. Clase Conexión.
4.5. Módulo de Transferencia de Archivos
A continuación se da una breve descripción de las clases y métodos más
importantes usados en la implementación de la Transferencia de Archivos.
4.5.1.
Clase TransfArchivos
Esta clase se implementa a través de un servidor socket stream, cuya función es la
de recibir los archivos de datos de los cursos y guardarlos en el subdirectorio
$HOME/public_html/(dir_datos)/(dir_cursos)/, el cual consta de dos parámetros: dir_datos, es
el directorio donde se almacenan los directorios de los cursos; dir_cursos, es el directorio
donde se almacenan los archivos del curso, cuya característica principal es ser único (Figura
46).
ServidorTransf
main()
Figura 4.46. Métodos de la clase ServidorTransf.
91
!"#$ %&'().
Pruebas
de
la
Herramienta
En este capítulo se describirán el objetivo y los alcances de las pruebas realizadas
a la herramienta.
92
5.1. Objetivo de las Pruebas
El objetivo de las pruebas es validar los requerimientos especificados en los
alcances de la propuesta de tesis.
5.2 Descripción de los Alcances
A continuación se describen los alcances incluidos en la propuesta de tesis, como
antecedente del presente proyecto de investigación [Martínez, 2000].
1. Creación del Módulo de Interfaz del Usuario, a desarrollar para la presentación
multimodal (sonido e imágenes) del conocimiento.
1.1. Acceso al Sistema.
1.2. Visualización de Diapositivas.
1.3. Visualización de Ejercicios.
1.4. Visualización de Exámenes.
2. Se utilizarán los módulos creados en el sistema tutor anterior, modificándolos
para su interacción con la nueva arquitectura.
2.1. Módulo Generador de Cursos, para la creación del curso.
2.2. Módulo Pedagógico, para la planificación del curso.
2.3. Modelo del Estudiante, para la evaluación del curso.
3. Acceso al sistema tutor a través de Internet.
4. Sincronización del sonido con las imágenes y diapositivas a desplegar.
5. Reestructuración de la base de datos actual para incluir los archivos de sonido
e imágenes.
6. Adecuación de los ejemplos interactivos (ejercicios) del sistema tutor actual a
la nueva forma de acceso.
7. Realización de pruebas con alumnos.
8. Creación del servicio que facilite la instalación y copiado del curso.
9. Debido a las limitaciones de los medios de comunicación, este tutor no se
pretende instalar en un servidor al que puedan acceder una gran cantidad de
usuarios simultáneamente desde cualquier parte del país.
93
5.3. Descripción del ambiente de pruebas
A continuación se describen los elementos requeridos durante la fase de pruebas
del sistema en cuanto a personal, equipo y software.
Para tal efecto se seleccionaron doce personas del Instituto Tecnológico Superior
de la Costa Chica, dos profesores Licenciados en Informática, y diez alumnos del séptimo
semestre de la carrera de Licenciado en Informática.
Respecto al equipo, se utilizó lo siguiente:
•
Una computadora Servidor, con procesador Pentium IV a 1.7 MHz, memoria
128 MB RAM, disco duro 40 GB.
•
Dos computadoras Clientes para el Generador de Cursos y para el
Administrador de Cursos, con procesador Pentium IV a 1.4 MHz, memoria
128 MB RAM, disco duro 40 GB;
•
Diez computadoras Clientes para la Interfaz del Alumno, con procesador
Pentium IV a 1.3 MHz, memoria 128 MB RAM, disco duro 20 GB.
•
Una Red de Comunicaciones, red de área local (LAN) con protocolo Ethernet a
una velocidad de 100 Mbps;
Además del equipo se requirió también instalar el siguiente software en cada uno
de los equipos utilizados:
•
Servidor: sistema operativo Linux Red Hat 7.3, base de datos PostgreSQL,
servidor de páginas de web Apache, Java Servlet Development Kit 2.0 para
Linux, controlador JDBC para PostgreSQL.
•
Servidor: Configurar el servidor con la dirección IP pública, con el fin de
acceder a la Base de Datos del Sistema desde Internet.
•
Clientes para el Generador de Cursos y para el Administrador de Cursos:
sistema operativo Windows 98SE, Java Runtime Environment 1.3 para
94
Windows, controlador JDBC para PostgreSQL, visualizador de páginas de web
IExplorer 5.0.
•
Clientes para la Interfaz del Alumno: sistema operativo Windows 98SE,
visualizador de páginas de web IExplorer 5.0.
Se instalaron en una red de área local los equipos de cómputo, estableciendo la
comunicación entre las computadoras a través del protocolo TCP/IP.
5.4. Cursos de Pruebas
A continuación se muestra el material empleado en las pruebas, que consta de la
estructura de los cursos:
1. Enseñanza de SQL, descrito en la tabla 5.1.
2. Introducción al Lenguaje JAVA, descrito en la tabla 5.2.
3. Manual de HTML, descrito en la tabla 5.3.
Es importante mencionar que sólo el primer curso contiene realmente material de
enseñanza, ya que los otros dos se utilizaron solo como muestra que el sistema soporta varios
cursos. El nivel de descripción de estos dos últimos cursos se limitó a introducir únicamente
los nombres de los temas que los componen.
Tabla 5.1. Estructura del curso Enseñanza de SQL.
Curso
Capítulo
Enseñanza de SQL
Introducción 1
Tema
Diapositivas
Ejercicios
Introducción
Creación de tablas base
Definición de la tabla Materias
Precompilación, compilación y ejecución de programas
Definición de la tabla Alumnos
Definición de la tabla Calificaciones
Ejercicios
95
Curso
Capítulo
Tema
Diapositivas
Ejercicios
Creación de índices
Creación de índices
Ejercicios
Llenado de tablas
Llenado de tablas
Consultas
Consultas
Consultas simples
Consultas simples - la variable SQLCODE
Consultas usando el asterisco (*)
Consultas con cursores
Consultas que involucran varias tablas
Ejercicios
Funciones de consolidación
Funciones de consolidación
Ejercicios
Consultas anidadas
Consultas anidadas
Ejercicios
Operaciones avanzadas
Operaciones avanzadas
cap1.swf
cap1-1.swf
cap1-2.swf
Comparadores Like y Not Like
cap1-3.swf
cap1-4.swf
cap1-5.swf
Valores nulos
cap1-6.swf
cap1-7.swf
cap1-8.swf
select * from alumnos
Ejercicios
96
Curso
Capítulo
Tema
Diapositivas
cap1-9.swf
Ejercicios
select * from materias
cap1-10.swf
select * from calificaciones
cap1-11.swf
cap1-12.swf
Evaluacion teórica
Evaluacion práctica
La instrucción Insert
La instrucción Insert
Ejercicios
La instrucción Update
La instrucción Update
Ejercicios
La instrucción Delete
La instrucción Delete
Ejercicios
Tipos de datos del manejador y variables anfitrionas
Tipos de datos del manejador
Variables anfitrionas
Tabla 5.2. Estructura del curso Introducción al lenguaje Java.
Curso
Capitulo
Tema
Diapositivas
Introducción al Lenguaje JAVA
Introducción a la programación en Java
Programación orientada a objetos y Java
Fundamentos de Java
Cómo trabajar con objetos
Arreglos, condicionales y ciclos
Cómo crear clases y aplicaciones en Java
Fundamentos de los applets de Java
Gráficos
Imágenes y animación
97
Ejercicios
Curso
Capitulo
Tema
Diapositivas
Manejo de eventos sencillos e interactividad
El Java Abstract Windowing Toolkit
Ventanas
HTML
El JDBC con mSQL
Miscelánea de clases de Java
Ejercicios
Tabla 5.3. Estructura del curso Manual de HTML.
Curso
Capitulo
Tema
Diapositivas
Manual de HTML
Antes de empezar
Recomendaciones
Publicar tu página
Introducción
Qué es el HTML
Estructura básica
Divisiones de un documento en HTML
Cabecera del documento
Cuerpo del documento
Elementos de un documento en HTML
Juego de caracteres
Espaciados y saltos de línea
Cabeceras y atributos del texto
Listas de elementos
Imágenes
Hiperenlaces
Tablas
Mapas
Formularios
Extensiones del HTML
Applet
Marquee
Sonido de fondo
98
Ejercicios
Curso
Capitulo
Tema
Diapositivas
Frames
Scripts
Trucos para tu página Web
Gifs animados
Gifs transparentes
Programas JavaScript
Ejercicios
5.4.1 Material del Curso Enseñanza de SQL
Para llevar a cabo las pruebas necesarias, se elaboraron en Flash de Macromedia
doce diapositivas correspondientes al Capítulo 1 del curso, las cuales se muestran en el anexo
4 del presente documento.
Se asignaron las diapositivas al capítulo 8 del curso, para llevar a cabo un mejor
esquema de pruebas tanto para el seguimiento de átomos, como para el proceso de evaluación;
tal asignación se muestra en la tabla 5.1. Estructura del Curso Enseñanza de SQL.
Respecto al plan de estudios del curso se designo de tal forma que cada capítulo y
átomo tuviera como predecesor el anterior, quedando como se indica en la figura 5.1.
99
Capítulo 1. Introducción
Átomo 1. Introducción
Capítulo 2. Creación de Tablas Base
Átomo 1. Definición de la tabla Materias
Átomo 2. Precompilación, compilación y ejecución de programas
Átomo 3. Definición de la tabla Alumnos
Átomo 4. Definición de la tabla Calificaciones
Átomo 5. Ejercicios
Capítulo 3. Creación de Índices
Átomo 1. Creación de Índices
Átomo 2. Ejercicios
Figura 5.1. Plan de estudios del curso Enseñanza de SQL
Referente a los ejemplos se seleccionaron tres consultas a realizar, mismas que se
asignaron a las diapositivas 8, 9 y 10, tal asignación se muestra en la tabla 5.1. Estructura del
Curso Enseñanza de SQL.
Con relación a las evaluaciones se elaboraron seis preguntas para aplicar el
examen, de las cuales cinco son teóricas y una práctica, tal como se muestra en la figura 5.2.
100
Preguntas Teóricas y Prácticas
1. Instruccion para Consultar Datos
4.
Instruccion para Unir Tablas
a) select
CORRECTA
a)
b) selecionar
INCORRECTA
c) selección
INCORRECTA
2. Instruccion para Modificar Datos
5.
unir
INCORRECTA
b)
juntar
INCORRECTA
c)
union
INCORRECTA
d)
join
CORRECTA
Instruccion para Crear Tablas
a) modificar
INCORRECTA
b) update
CORRECTA
a)
crear tabla
INCORRECTA
c) modify
INCORRECTA
b)
create
INCORRECTA
d) actualizar
INCORRECTA
c)
tabla creada
INCORRECTA
d)
creation table INCORRECTA
e)
create table
3. Instruccion para Eliminar Datos
a) Remove
INCORRECTA
CORRECTA
b) Borrar
INCORRECTA
c) delete
CORRECTA
d) Erase
INCORRECTA
Seleccionar Datos de los
Alumnos
e) Clear
INCORRECTA
a)
6.
select * from alumnos
Figura 5.2. Preguntas teóricas y preguntas prácticas.
Así mismo se asociaron las preguntas a los átomos del capítulo 8, con la finalidad
de mostrar las preguntas al visualizar las diapositivas, quedado como se indica en la figura 5.3.
101
Asociación de Átomos y Preguntas
Átomo 1
Pregunta 1
Átomo 2
Pregunta 2
Átomo 3
Pregunta 3
Átomo 4
Pregunta 4
Átomo 5
Pregunta 5
Pregunta 6
Figura 5.3. Asociación de átomos y preguntas.
5.5. Pruebas y Resultados
Las pruebas realizadas al sistema se dividieron en tres etapas, correspondientes a
cada uno de los módulos de que consta el mismo.
El diseño cada prueba se realizó de tal forma que posibilite la verificación de cada
uno de los puntos descritos en los alcances de la propuesta de tesis, mismos que se encuentran
descritos en la sección 5.2.
La relación antes mencionada se establece en la tabla 5.4.
Para llevar a cabo las pruebas se tomo como ejemplo la estructura del curso
Enseñanza de SQL; misma que describe Capítulos, Temas, Diapositivas y Ejercicios que
contiene el curso; dicha estructura se describe en la tabla 5.1.
102
Tabla 5.4. Pruebas realizadas y alcances asociados
Pruebas
Alcances
Pruebas al Módulo Generador de Cursos Tutoriales
2
Prueba 1.
Creación de Cursos
2.1
Prueba 2.
Planificación del Curso Enseñanza de SQL
2.2
Pruebas al Módulo Administrador de Cursos Tutoriales
Prueba 3.
Copiado e Instalación de un Curso.
8
1
Pruebas al Módulo Interfaz del Alumno
Prueba 4.
Acceso al Sistema a través de Internet
1.1, 3
Prueba 5.
Visualización de Diapositivas
1.2, 4
Prueba 6.
Visualización de Ejemplos
1.3, 6
Prueba 7.
Visualización de Exámenes
1.4, 2.3
5.5.1. Prueba 1. Creación de Cursos
Esta prueba satisface los requerimientos 2 y 2.1, consistentes en modificar los
módulos anteriores para su interacción con la nueva arquitectura, y creación del curso a través
del Módulo Generador de Cursos Tutores, respectivamente.
Ejecución de la Prueba
Primeramente se realizó la creación del curso, para lo cual se siguió el
procedimiento descrito en el anexo 1 de forma específica en el punto A1.1.1.1. La pantalla de
captura de cursos se muestra en la Figura 5.4.
103
Figura 5.4. Pantalla de captura para los datos de un curso nuevo.
Enseguida se procedió a capturar los capítulos, para este efecto se siguieron los
pasos descritos en el anexo 1 en el punto A1.1.2.1.1. La pantalla de captura de capítulos se
describe en la Figura 5.5.
Figura 5.5. Pantalla de captura de los datos del capítulo.
Para la asignación de los temas de cada capítulo se tomó como referencia lo
indicado en el anexo 1 específicamente en el punto A1.1.2.1.2. La pantalla de captura de
átomos se describe en la Figura 5.6.
104
Figura 5.6. Pantalla de captura de los átomos de conocimiento.
Como paso final y una vez dados de alta los átomos se procedió a dar de alta las
diapositivas en los temas correspondientes, el proceso está descrito en el punto A1.1.2.1.2.1.1.
del anexo 1. La pantalla de captura de las dispositivas se muestra en la Figura 5.7.
Figura 5.7. Pantalla de captura de las diapositivas.
105
Resultados de la Prueba
Los resultados de la creación del curso se aprecian en las Figuras 5.8. y 5.9. donde
se muestran los temas y capítulos dados de alta.
Figura 5.8. Consultar el curso creado.
Además se muestran en la Figura 5.9. las diapositivas asociadas al átomo
seleccionado.
Figura 5.9. Consulta de diapositivas asociadas al átomo.
106
5.5.2. Prueba 2. Planificación del Curso Enseñanza de
SQL
La prueba descrita cubre los requerimientos 2 y 2.2, que consisten en modificar los
módulos anteriores para su interacción con la nueva arquitectura, y planificar el curso
generando el grafo instruccional a través del Módulo Generador de Cursos Tutores,
respectivamente.
Esta prueba se llevó a cabo posterior a la creación del curso, lo que implica dar de
alta de capítulos temas, así como la asociación de las diapositivas y ejemplos del curso.
La prueba consiste en el establecimiento de las relaciones de precedencia entre
capítulo y átomos (Figura 5.10), esto es, la construcción del grafo instruccional, para tal efecto
se utilizó el plan de estudios descrito en la Figura 5.1.
Figura 5.10. Genera plan de estudios.
Ejecución de la Prueba
Primero se efectuó el establecimiento de las relaciones de precedencia entre
átomos, para lo cual se siguió el procedimiento descrito en el punto A1.1.2.4. del anexo 1. La
Figura 5.11 muestra la ventana para realizar las acciones descritas.
107
Figura 5.11. Establece relaciones de precedencia entre átomos.
Posteriormente se establecieron las relaciones de precedencia de los capítulos del
curso, tomándose como referencia los pasos indicados en el anexo 1 en el punto A1.1.2.4.2. La
ventana de captura de las relaciones de precedencia de los capítulos se muestra en la Figura
5.12.
Figura 5.12. Establece relaciones de precedencia entre capítulos.
108
Para finalizar se ejecutó el procedimiento para genera el Plan de Estudios,
indicado por el botón del mismo nombre ubicado como punto 3 descrito en la Figura 5.10.
Resultados de la Prueba
Como resultado se obtiene el grafo instruccional del curso, así como los planes de
estudio para cada uno de los alumnos inscritos al curso. Con lo que el curso queda listo para
que los alumnos inicien su operación.
5.5.3. Prueba 3. Copiado e Instalación de un Curso
La prueba que se describe a continuación cubre el punto 8 de los requerimientos,
que consiste en crear el servicio que facilite la instalación y copiado del curso.
Esto se realizó utilizando el Módulo Administrador de Cursos Tutores, con las
opciones Exportar e Importar, con las cuales es posible extraer un curso de un servidor para
introducirlo en otro, sin necesidad de crearlo de forma manual.
Ejecución de la Prueba
La primera parte de la prueba consistió en la generación de un archivo listo para su
exportación, este procedimiento se describe en el anexo 1 en el punto A1.2.1.4. En la Figura
5.13. se muestra la pantalla para seleccionar el curso a exportar.
Figura 5.13. Ventana exportar curso.
Con este proceso se generó un archivo en formato de archivo compactado
(resp_sql.zip) el cual contiene la información del curso sujeto a pruebas. El contenido de tal
archivo se muestra el la figura 5.14.
109
Figura 5.14. Contenido del archivo resp_sql.zip
Los archivos con extensión SWF corresponden a las diapositivas de Flash de
Macromedia, y el archivo DatosCurso.txt contiene la información referente al curso contenida
en la base de datos, misma que se organiza de tal forma que pueda ser utilizada únicamente
para la ejecución del proceso contrario, es decir, para su importación. El contenido del archivo
DatosCurso.txt se muestra en el anexo 5 en el punto A5.1.
La segunda parte de esta prueba consiste importar un curso, esto es, tomar el
archivo generado en el proceso de exportación e introducir la información en el servidor. Este
procedimiento se describe en el anexo 1 en el punto A1.2.1.5. La ventana de selección del
archivo del curso se muestra en la Figura 5.15.
110
Figura 5.15. Seleccionar el archivo que contiene el curso a importar.
Una vez seleccionado el archivo se analiza y extraen los datos del curso (Figura
5.16), donde se confirma su importación.
Figura 5.16. Datos del curso a importar.
Resultados de la Prueba
Como resultado de la prueba se obtuvo en primera instancia el archivo
compactado, con la información del curso Enseñanza de SQL, listo para su instalación en
cualquier servidor donde se tenga conexión; además de la copia del mismo curso en el
servidor local. Esto se verificó a través de la ventana de la opción respaldo, donde se muestran
los cursos y alumnos dados de alta (Figura 5.17).
111
Figura 5.17. Ventana respaldo de la base de datos.
5.5.4. Prueba 4. Acceso al Sistema a través de Internet
La prueba de acceso al sistema satisface los puntos 1.1. y 3, que corresponden al
acceso al sistema y acceso al sistema tutor a través de Internet, respectivamente.
Un elemento adicional usado en la prueba fue la asignación al servidor de la
dirección IP pública de la institución donde se realizó la prueba.
Ejecución de la Prueba
Para llevar a cabo esta prueba utilizó el Módulo Interfaz del Usuario en su primera
opción, este procedimiento se describe en el anexo 1 en el punto A1.3.1. La Figura 5.18
describe la pantalla de acceso por parte del alumno al sistema tutor.
Para llevar a cabo este proceso se capturaron en los campos designados para tal
fin, la clave de acceso y contraseña de los alumnos dados de alta en el Sistema.
112
Figura 5.18. Acceso al sistema a través de Internet.
Resultados de la Prueba
La prueba concluye de forma satisfactoria, al mostrar la página de Web con los
cursos asociados a los alumnos de los cuales se capturaron las claves de acceso y contraseñas,
como se muestra en la Figura 5.19.
Figura 5.19. Acceso al sistema.
113
5.5.5. Prueba 5. Visualización de Diapositivas
Los puntos 1.3, 4 y 5 de los requerimientos referentes a la visualización de
diapositivas, la sincronización del sonido con las imágenes y diapositivas a desplegar, y la
reestructuración de la base de datos para incluir los archivos de sonido e imágenes,
respectivamente; quedan cubiertos con esta prueba.
Ejecución de la Prueba
Para la ejecución de la prueba se continuó con la utilización del Módulo Interfaz
del Alumno en lo que respecta a la visualización de diapositivas, cuyo procedimiento se
encuentra descrito en el punto A1.3.5 del anexo 1.
Una vez que los alumnos accedieron al sistema seleccionaron del curso de prueba
el capítulo 8 Operaciones Avanzadas, así mismo se seleccionó el tema 1 accediendo a las
diapositivas asignadas a ese tema.
Resultados de la Prueba
Se muestra en la Figura 5.20. una de las diapositivas del material del curso, en la
cual se asocian las imágenes con el sonido (voz), además de la animación implementada en la
misma.
La presentación de la diapositiva tuvo dificultades en los casos en los que el
visualizador de páginas de Web no contaba con el Plug-In para desplegar los objetos SWF,
para corregir esto fue necesario esperar un periodo de tiempo para que de forma automática se
obtuviera el Plug-In de la página de Web de la empresa Flash de Macromedia.
Cabe mencionar que fueron notorias las dificultades por parte de los alumnos al
tiempo de acceder de forma simultánea al servidor de servicetes, ya que la pérdida de la
comunicación fue una constante.
Lo anterior se debió al número de conexiones concurrentes con las que cuenta el
JSDK (Java Servlet Development Kit), lo cual se corrigió aumentado el parámetro destinado
para tal fin.
114
Otra de las dificultades asociadas con la desconexión se debió a la interacción del
JSDK con el servidor de páginas de Web (Apache de Linux), ya que la compañía Sun
Microsystems [Sun 2003] recomienda la utilización de los servidores de páginas de Web
desarrollados por ellos, tales como Tomcat y Jakarta, los cuales cuentan con utilerías de apoyo
al servidor de servicetes.
Figura 5.20. Visualización de diapositivas.
5.5.6. Prueba 6. Visualización de Ejemplos
Con esta prueba se satisfacen los puntos 1.3 y 6 de los requerimientos, que
consisten en la visualización de los ejemplos y la adecuación de los ejemplos a la nueva
plataforma de acceso, respectivamente.
Ejecución de la Prueba
El proceso para la ejecución de esta prueba se basa en la opción visualización de
ejemplos del Módulo Interfaz de Alumno, mismo que se encuentra descrito en el anexo 1 en el
punto A1.3.5.1.
115
No todas las diapositivas diseñadas tienen ejemplos asociados, para la ejecución de
la prueba se seleccionaron tres consultas de ejemplo, mismas que se asociaron al mismo
numero de diapositivas.
La Figura 5.21. muestra una de las diapositivas que los alumnos accedieron para la
ejecución de las consultas de ejemplo.
Figura 5.21. Diapositiva que contiene una consulta de ejemplo.
Resultados de la Prueba
Como resultado se observa en la Figura 5.22. los resultados de la consulta
realizada a la base de datos de ejercicios.
Existió en la realización de esta prueba un retraso en la obtención de los
resultados, debido a que todas las ejecuciones de las consultas se realizan en la misma Base de
Datos denominada Ejercicios.
116
Figura 5.22. Resultados de la ejecución de la consulta.
5.5.7. Prueba 7. Visualización de Exámenes
La siguiente prueba cubre los puntos 1.4 y 2.3 de los requerimientos, consistentes
en la visualización de exámenes y la evaluación del curso por medio del modelo del
estudiante, respectivamente.
Ejecución de la Prueba
La opción de visualización de exámenes está contenida en el Módulo Interfaz del
Alumno, misma que fue utilizada para la realización de esta prueba, está descrita en el anexo 1
en el punto A1.3.5.2.
Durante la visualización de las diapositivas se presento a los alumnos la
posibilidad de aplicar un examen, una vez cubiertas las condiciones requeridas para tal fin,
mismas que se explican en el punto A1.3.5.2. del anexo 1. La Figura 5.23 muestra las
preguntas que contiene el examen.
117
Figura 5.23. Preguntas de la evaluación.
Los alumnos seleccionaron las respuestas a las preguntas según lo aprendido en las
diapositivas presentadas por el sistema, y enviaron sus respuestas al sistema para su
evaluación.
Los resultados de una de las evaluaciones se muestran en la Figura 5.24. donde se
especifica si la pregunta fue contestada correcta o incorrectamente. En caso de que algunas
preguntas sean respondidas incorrectamente, el sistema no provee al alumno de la respuestas
correctas, ya que el sistema sólo cuenta con un grupo de preguntas a evaluar, esto es, la
próxima evaluación contendrá las preguntas que haya contestado incorrectamente.
118
Figura 5.24. Resultados de la evaluación teórica.
Resultados de la Prueba
Una vez terminando de contestar los exámenes, se modifica el código de colores
asociado a cada tema y a cada capítulo en el plan de estudios de cada alumno. Esto con la
finalidad de determinar que acción tomar, esto es, continuar con la visualización de los
siguientes temas, o en caso contrario regresar y ver los temas que no están aprobados para
repasarlos.
119
!"#$ %&'()/)
Conclusiones
Como capítulo final del presente trabajo de investigación, se reporta la
información acerca de las conclusiones generales del proyecto, los resultados obtenidos, y
algunas sugerencias para trabajos a desarrollar en la línea de investigación denominada
Sistemas Tutores.
120
6.1. Conclusiones Generales
El presente trabajo de investigación es la segunda etapa de los trabajos
desarrollados en la línea de investigación de sistemas tutores, de la especialidad de Sistemas
Distribuidos del CENIDET. Este trabajo consistió en el diseño e implementación de módulos
que le permitieran al sistema tutor proporcionar los siguientes servicios: 1) la creación de más
de un curso tutor, 2) la administración de alumnos y cursos, 3) la transferencia de archivos
hacia el servidor de Web, y 4) la interacción de los alumnos con los cursos a través de Internet.
6.2. Resultados Obtenidos
A continuación se listan los resultados obtenidos en el desarrollo de esta tesis:
•
Modificaciones hechas en el Módulo Generador de Cursos Tutores:
o Modificación de la base de datos para dar soporte a más de un curso.
o Facilitar la modificación de los parámetros de configuración del módulo por
medio de un archivo separado del código.
o Cambiar el mecanismo de visualización de las diapositivas del curso (de GIF a
SWF), y por último,
o Implementar el envío de los archivos que contienen la información del curso
(diapositivas SWF) al servidor, para facilitar su visualización a través del
Internet.
•
Se desarrolló el módulo Administrador de Cursos Tutores, cuyas funciones son las
siguientes:
o Respaldar y restaurar la información de la base de datos y los archivos de los
cursos.
o Importar y exportar cursos desde y hacia otros servidores, con el fin de formar
una red de distribución de cursos a través del Sistema Nacional de Institutos
Tecnológicos.
121
o Administrar la información de los alumnos; es decir, dar de alta los alumnos en
el sistema y a continuación asignarlos a los cursos tutores disponibles.
o
•
Permitir la impresión de informes de avance de los alumnos en los cursos,.
Se desarrolló el módulo de Transferencia de Archivos, cuyas funciones son las siguientes:
o El envío y recepción de archivos SWF desde los módulos Generador de Cursos
y Administrador de Cursos, los cuales tienen la función de enviar los archivos
de los cursos al servidor, el que al recibirlos los ubicará en el directorio que
corresponda a cada curso.
•
Se desarrolló el módulo Interfaz del Alumno, cuyas funciones son las siguientes:
o Permitir el acceso a los alumnos al sistema a través del Internet, por medio de
un nombre de cuenta y contraseña.
o
Navegar en los cursos en los que fue dado de alta.
o Visualizar las diapositivas que contienen la información del curso indicado por
el planificador del curso.
o Ejecutar ejemplos de forma directa en la base de datos de ejercicios.
o Resolver exámenes teóricos y prácticos, para que basándose en el resultado de
los exámenes se modifique el planificador del curso.
6.3. Trabajos Futuros
En el desarrollo de la herramienta se presentaron algunos aspectos que no fueron
parte del alcance del presente trabajo de tesis, y es importante tratarlos de una manera más
amplia:
o Mejorar el método de evaluación y planificación del sistema tutor (adaptativo). En el
estado actual de la herramienta, el planificador de cursos es muy limitado, ya que no se
modificó desde la primera versión. Por lo tanto, pudiera ser mejorado si se tomara en
cuenta el grado de dificultad y el tipo de conocimiento (comprensión, memorización y
122
razonamiento), para que el tutor se adaptase al ritmo y nivel de aprendizaje del alumno.
Cabe hacer mención que los cambios necesarios para lograr lo anterior ya se encuentran
incorporados en el esquema actual de la base de datos del sistema.
o Facilitar la realización de ejemplos y evaluaciones prácticas en otras áreas del
conocimiento. Debido a que la herramienta fue orientada para la implementación del curso
Enseñanza de SQL, sólo se previeron los casos de la elaboración de ejemplos y la
aplicación de exámenes prácticos para el lenguaje SQL. Si se deseara crear cursos de otro
tipo que implicaran una parte práctica, sería necesario modificar el sistema para permitir la
inclusión de ejercicios y exámenes prácticos en otras áreas del conocimiento tales como
lenguajes de programación (C++, Java).
o Creación de una Herramienta Auxiliar en la Elaboración del Material Didáctico. Dado
que el material didáctico se debe realizar por separado y fuera de la herramienta, es
importante crear una herramienta que auxilie al profesor a diseñar y elaborar los cursos
bajo una metodología definida, que permita dar orden y asegurar una secuencia lógica del
trabajo desarrollado por el experto en el área, y que le facilite su labor al diseñador del
curso.
123
0123()*
Manual
de
Usuario
124
En este anexo encontraremos el manual de uso de los módulos que componen el
sistema: Sistema Generador de Cursos, Sistema Administrador de Cursos, Interfaz del Alumno
y Transferencia de Archivos
A1.1. Sistema Generador de Cursos Tutores
La función principal de este módulo es la creación de los cursos que incluye la
definición de capítulos, temas, evaluaciones teóricas y prácticas, ejemplos de consultas en
SQL; además de contar con otras funciones como la creación de tablas del sistema y la
configuración para el acceso a la base de datos, ver figura A1.1.
Figura A1.1. Sistema generador de cursos.
A continuación se describen brevemente las opciones con las que cuenta este
sistema. Cabe aclarar que para mayor información acerca de los procedimientos y técnicas
utilizadas en este módulo se puede consultar el documento elaborado por [Ingram, 2001] como
tesis de maestría antecesora del proyecto actual.
A1.1.1. Cursos
Contiene las opciones para crear cursos nuevos y abrir los ya existentes, además de
las opciones para la creación de las tablas y la salida del sistema, ver figura A1.2.
125
Figura A1.2. Menú cursos.
A1.1.1.1. Nuevo
Esta opción permite la creación de cursos nuevos, ver figura A1.3, para lo cual es
necesario dotar al sistema de los datos del mismo: nombre del curso, nombre del autor,
dirección, asignar y confirmar clave de acceso. El dato dirección se utiliza para ubicar
físicamente los archivos (*.swf) que contendrán el curso. Existe también la posibilidad de
asignar o no una clave de acceso al curso, esto con la finalidad de restringir las modificaciones
al curso sólo a los operadores que conozcan la clave. Para asignar una clave de acceso es
necesario activar la casilla de la misma así como introducir la misma clave en los dos campos
para su verificación.
Figura A1.3. Crear cursos nuevos.
126
Una vez creado el curso el sistema presentará de forma consecutiva las ventanas
para la creación del resto de los elementos a incluir en el curso, tales como capítulos, cuya
descripción se realiza en la sección A1.1.2.1.1; y átomos de información, cuyo uso se describe
en la sección A1.1.2.1.2.
A1.1.1.2. Abrir
La opción de abrir cursos despliega en una ventana los cursos dados de alta en el
sistema de los cuales se debe seleccionar uno, ver figura A1.4.
Figura A1.4. Abrir cursos disponibles.
Al detectarse una clave de acceso asignada al crear el curso, ésta se solicitará para
permitir la modificación del curso activando la opción actualizar en el menú principal, de lo
contrario no se permitirá el acceso al mismo, ver figura A1.5.
Figura A1.5. Clave de acceso.
En caso de cancelar y no seleccionar ningún curso, la opción actualizar en el menú
principal se desactivará automáticamente.
127
A1.1.1.3. Crear Tablas
Esta opción se utilizará en dos casos principalmente: el primero cuando el sistema
se instale por primera vez y no existan las tablas creadas en la base de datos, y el segundo
cuando exista daño en las tablas y no sea posible recuperar la información, ver figura A1.6.
Figura A1.6. Base de datos a generar.
Al seleccionar una de las opciones, se indicará que la información contenida en las
tablas se perderá y no se podrá recuperar por lo que será necesario realizar un respaldo previo
para salvaguardar la información, ver figura A1.7.
Figura A1.7. Advertencia sobre borrado de datos.
Cabe hacer mención que el sistema solamente crea la estructura de las tablas, para
lo cual es necesario que la base de datos ya esté dada de alta en el sistema manejador de bases
de datos, ya que esta acción no es posible realizarla desde la aplicación.
Figura A1.8. Creación exitosa.
128
A1.1.1.4. Salir
Seleccionando esta opción se consigue salir del sistema, de la misma forma que
seleccionando la cruz de la esquina superior derecha de la ventana principal, así como
presionando las teclas Alt + F4 que activan la misma función.
A1.1.2. Actualizar
Esta opción se activará una vez seleccionado el curso en la opción abrir (ver figura
A1.9, descrita en la sección A1.1.1.2), la cual permite realizar altas, modificaciones y
consultas al curso, así como la creación del plan de estudios.
Figura A1.9. Menú actualizar.
A1.1.2.1. Agregar
Este menú contiene las opciones para agregar capítulos y átomos de información al
curso seleccionado.
129
Figura A1.10. Menú agregar.
A1.1.2.1.1. Capítulos
Sólo se debe capturar en esta opción el nombre del capítulo y pulsar el botón Crear
Átomos de Información (descrito en la sección A1.1.2.1.2), con el objeto de conformar la
estructura del curso. Una vez completado el capítulo se despliega nuevamente la ventana Crear
Capítulo para continuar o terminar con dicha creación (Figura A1.11).
Figura A1.11. Ventana crear capítulo.
A1.1.2.1.2. Átomos de Información
Se accede a esta opción una vez seleccionado el capítulo donde serán dados de alta
los átomos de información (ver figura A1.12), mismos que se dividen en dos tipos, átomos de
conocimiento y átomos de evaluación, por lo que es necesario seleccionar el tipo de átomo de
información antes de crearlo, ver figura A1.13.
130
Figura A1.12. Seleccionar capítulo.
Figura A1.13. Ventana crear átomo de información.
A1.1.2.1.2.1. Átomos de Conocimiento
Los átomos de conocimiento contienen los siguientes datos: nombre del átomo,
grado de dificultad (del 0 al 5), y tipo de conocimiento (memorización, razonamiento y
comprensión), ver figura A1.14. El objeto de tal clasificación se describe en [Ingram, 2001].
131
Figura A1.14. Ventana crear átomo de conocimiento.
A1.1.2.1.2.1.1. Alta Diapositivas
Una vez creado el átomo de conocimiento, se deben asociar las diapositivas que
contienen información de esa parte del curso para anexarlas a una lista, para lo cual se
despliega la ventana Alta Diapositivas donde, con el botón denominado Explorador, se buscan
los archivos *.swf elaborados en Flash de Macromedia, ver figura A1.15.
132
Figura A1.15. Ventana alta diapositivas.
A1.1.2.1.2.1.1.1. Abrir y Cerrar Diapositivas
Por medio de los botones Abrir Diapositiva y Cerrar Diapositiva es posible
controlar la visualización de las diapositivas. Esto se realiza mediante le creación y
destrucción de un proceso donde se ejecuta una aplicación externa, en este caso el visualizador
de páginas Web, de manera conjunta con un archivo temporal en HTML que posibilita la
visualización del archivo de Flash de forma local, ver figura A1.16.
Figura A1.16. Ventana seleccionar diapositiva.
133
A1.1.2.1.2.1.1.2. Diapositiva de Ejemplo o Conocimiento
Para dar de alta una diapositiva en el átomo de conocimiento seleccionado, se debe
pulsar uno de los dos botones que tipifican a las diapositivas, como diapositiva de
información, o como diapositiva de ejemplo, ver figura A1.17.
Figura A1.17. Ventana alta diapositivas.
En este último tipo es posible asociar el ejemplo de una consulta en SQL a la
diapositiva seleccionada, por medio de una ventana donde se escribe la instrucción y se puede
verificar el resultado de la misma.
A1.1.2.1.2.2. Átomos de Evaluación
En el sistema se encuentran implementados dos tipos de exámenes que definen a
los átomos de evaluación: los exámenes teóricos y exámenes prácticos, ver figura A1.18. Éstos
tienen formas diferentes de implementación: mientras los teóricos se pueden utilizar para
cualquier tipo de curso, en cambio los prácticos sólo se encuentran implementados para la
evaluación de consultas de SQL.
134
Figura A1.18. Seleccionar evaluación.
A1.1.2.1.2.2.1. Exámenes Teóricos
Este tipo de exámenes se implementa basándose en preguntas con respuestas de
opción múltiple. No existe una cantidad que limite el número de preguntas en el examen. El
número de respuestas por cada pregunta no debe ser mayor que cinco, debido a la estructura
de la base de datos. Las respuestas se etiquetan como correctas o incorrectas, y sólo puede
existir una respuesta correcta, ver figura A1.20.
Figura A1.19. Crear átomo de evaluación teórica.
135
Figura A1.20. Crear evaluación teórica.
Es necesario asociar a cada pregunta hasta un máximo de cinco átomos de
información, esto con la finalidad de establecer un mecanismo para la calificación de los
átomos, ya que pueden asociarse varias preguntas a cada átomo de información, ver figura
A1.21.
Figura A1.21. Asociar átomos de conocimiento a la pregunta.
136
A1.1.2.1.2.2.2. Exámenes Prácticos
Dado que el proyecto está basado en la enseñanza del lenguaje SQL, los exámenes
prácticos sólo consideran la posibilidad de la evaluación en este sentido. En este tipo de
exámenes se escribe el texto de la pregunta a presentar y sólo existe una posible respuesta (una
consulta en SQL), la cual puede ser ejecutada para la verificación de los resultados, ver figura
A1.23.
Figura A1.22. Crear átomo de evaluación práctica.
Figura A1.23. Crear examen práctico.
137
Al igual que en los exámenes teóricos, también es necesario asociar a cada
pregunta hasta un máximo de cinco átomos de información, y del mismo modo pueden
asociarse varias preguntas a cada átomo de información, ver figura A1.24.
Figura A1.24. Asociar átomos de conocimiento a la pregunta.
A1.1.2.2. Modificar
Mediante esta opción es posible modificar el contenido del curso.
Figura A1.25. Menú Actualizar (opción Modificar).
A1.1.2.2.1. Contenido del Curso
Para modificar el contenido del curso se muestra en una ventana la estructura del
curso con sus capítulos y átomos en forma de árbol.
138
Figura A1.26. Menú modificar (opción contenido del curso).
Al seleccionar un capítulo se muestra en una ventana el nombre del curso y se da
la posibilidad de modificarlo, además de eliminarlo, y mostrar sus predecesores, por medio de
los botones designados para tales fines, ver figura A1.27. Es importante mencionar que al
eliminar un capítulo se eliminan también del sistema todos los elementos que lo componen
tales como los átomos de conocimiento con sus diapositivas y consultas asociadas, y los
átomos de evaluación con las preguntas y respuestas asociadas; de tal forma que no existe la
posibilidad de recuperar dicha información.
139
Figura A1.27. Ventana tabla de contenido.
Si se selecciona un átomo, se despliega en la sección de la derecha la información
concerniente al átomo; si es de conocimiento se muestra el título o nombre del átomo, el grado
de dificultad, y el tipo de conocimiento; además se habilitan los botones para consultar las
diapositivas asociadas a ese átomo y un segundo botón que muestra en una ventana los
predecesores definidos, ver figura A1.28.
140
Figura A1.28. Información del átomo.
En el caso de las consultas a las diapositivas, el sistema permite la posibilidad de
abrir y cerrar una diapositiva, agregar más diapositivas al átomo, así como eliminar, e
inclusive asociar una consulta en SQL a la diapositiva seleccionada, ver figura A1.29.
Figura A1.29. Ventana consultar diapositivas.
141
Por parte de las consultas a los predecesores definidos para el átomo de
información, es posible eliminar las relaciones de precedencia establecidas, ver figura A1.30.
Figura A1.30. Predecesores del átomo.
En caso de que el átomo seleccionado sea de evaluación, sólo se desplegará la
información del título o nombre del átomo, y el botón de exámenes mostrará la ventana de
consulta de exámenes donde se podrán agregar o eliminar preguntas, de tal forma que también
se hace la distinción entre exámenes teóricos y exámenes prácticos. La metodología para
agregar preguntas a los diferentes tipos de átomos de evaluación se describe en la sección
2.1.2.
Figura A1.31. Advertencia de eliminación.
Existen además dos funciones más que son las de eliminar y modificar. La primera
borra de la base de datos el átomo seleccionado, ver figura A1.31, y la segunda lo modifica
basándose en la información desplegada en los cuadros de diálogo de la ventana, ver figura
A1.32.
Figura A1.32. Advertencia de modificación.
142
A1.1.2.3. Consultar
Al seleccionar esta opción se puede consultar el contenido del curso.
Figura A1.33. Menú consultar.
A1.1.2.3.1. Contenido del Curso
Se muestra en una ventana la estructura del curso con sus capítulos y átomos en
forma de árbol, ver figura A1.34.
Figura A1.34. Ventana tabla de contenido.
143
Al seleccionar un capítulo se muestra en una ventana la información referente al
capítulo seleccionado y las operaciones a realizar: nombre del capítulo y consulta de
predecesores respectivamente, ver figura A1.35.
Figura A1.35. Ventana capítulo.
Mediante la operación Predecesores se consultan en una ventana los capítulos
predecesores del capítulo seleccionado, o de lo contrario se informa la inexistencia de los
mismos.
Figura A1.36. Ventana tabla de contenido.
Por otra parte al seleccionar un átomo se muestra en la sección derecha de la
ventana la información referente al átomo (título o nombre del átomo), y si es de conocimiento
se muestra el grado de dificultad y el tipo de conocimiento, ver figura A1.36. El botón
144
etiquetado como Diapositivas/Exámenes permite desplegar las ventanas correspondientes a la
consulta de diapositivas o exámenes según sea el caso del tipo de átomo seleccionado, ver
figura A1.37.
Figura A1.37. Consultar diapositivas.
En ambos casos, átomos de conocimiento y átomos de evaluación, la función
definida en el botón denominado predecesores se ejecutará de la misma forma, mostrando los
átomos de información predecesores del átomo seleccionado o se informará de la inexistencia
de los mismos, ver figura A1.38.
Figura A1.38. Predecesores del átomo de información seleccionado.
145
A1.1.2.4. Crear Plan de Estudio
La creación del plan de estudio se refiere al establecimiento de las relaciones de
precedencia de los capítulos y átomos; es decir, la construcción del grafo instruccional, que
dará la pauta al sistema para definir cuáles son los temas que el alumno debe revisar en su
avance por el curso, ver figura A1.40.
Figura A1.39. Menú actualizar (opción crear plan estudios).
Figura A1.40. Ventana genera plan de estudios.
146
A1.1.2.4.1. Establecer relaciones
Átomos de Información
de
precedencia
por
Para crear el grafo instruccional es necesario establecer las relaciones de
precedencia entre los átomos. Sólo se puede realizar esta acción entre átomos del mismo
capítulo, validando la inexistencia de ciclos en el grafo creado.
Figura A1.41. Establecer relaciones de precedencia entre átomos de información por capítulo.
Se muestra una ventana que en la sección izquierda presenta la información del
curso, los capítulos y sus átomos en forma de árbol. Una vez seleccionado un átomo, en su
sección derecha se muestran dos listas: en la primera se muestran los átomos del capítulo y en
la segunda, los átomos definidos como predecesores inmediatos del átomo seleccionado. La
forma de definir que un átomo sea o no predecesor, es con los botones que agregan y/o
eliminan el átomo de la lista de predecesores, ver figura A1.41.
A1.1.2.4.2. Establecer relaciones de precedencia por
Capítulos
De forma similar se establecen las relaciones de precedencia entre capítulos. Se
muestra una ventana que en la sección izquierda presenta la información del curso y sus
capítulos en forma de árbol. Una vez seleccionado un capítulo, en su sección derecha se
147
muestran dos listas: en la primera se muestran los capítulos del curso y en la segunda, los
capítulos definidos como predecesores del capítulo seleccionado, ver figura A1.42.
Figura A1.42. Establecer relaciones de precedencia entre los capítulos del curso.
La forma de definir que un capítulo sea o no predecesor, es con los botones que
agregan y/o eliminan el capítulo de la lista de predecesores, así mismo se valida que no existan
ciclos al realizar esta acción.
A1.1.2.4.3. Crear Plan de Estudio
La creación del plan de estudio se refiere a la construcción del grafo instruccional,
del cual se toma la información de las relaciones de precedencia de capítulos y átomos para
crear los planes de estudio por cada alumno inscrito al curso. Una vez realizada esta acción, el
alumno tendrá la posibilidad de iniciar el aprendizaje a través de la visualización del curso por
medio de la interfaz del alumno.
A1.1.3. Configuración
El menú Configuración contiene la opción de configurar el sistema basándose en
las necesidades de instalación del sistema en cada servidor, además de mostrar la información
que detalla la construcción de la herramienta. Tanto para el Módulo Generador de Cursos
148
como para el Módulo Administrador de cursos se utilizan las misma operaciones en cuanto a
configuración se refiere.
Figura A1.43. Menú configuración.
A1.1.3.1. Configuración
Esta opción define los datos necesarios para la operación del sistema, los cuales se
dividen en usuario, servidor, base de datos y visualizador; de tal forma que es posible ajustar
el sistema a los cambios en la configuración sin necesidad de modificar el código fuente.
Figura A1.44. Menú configuración (opción configuración).
149
En los datos del usuario se define la cuenta, clave de acceso y confirmación;
necesarios para acceder a la base de datos, ver figura A1.45.
Figura A1.45. Configuración del sistema - usuario.
Los datos del servidor son URL (dirección donde se encuentra ubicado el servidor
del sistema manejador de base de datos), dirección interna de los datos (es el subdirectorio en
el servidor donde se grabará la información del curso; o sea, los archivos *.swf de Flash),
puerto de acceso a los servicetes (es el puerto donde se encuentra activado el servidor de
servicetes donde está implementada la interfaz del alumno) y dirección interna de la página
principal (nombre del archivo que activa la página Web de la interfaz del alumno), ver figura
A1.46.
Figura A1.46. Configuración del sistema - servidor.
Por parte de la base de datos los datos son controlador de la base de datos (es el
nombre del archivo *.jar que contiene las clases que implementan el acceso a la base de datos,
con esto se da la posibilidad de acceder a diferentes sistemas manejadores de base de datos sin
modificar el código fuente), puerto de la base de datos (es el puerto donde se encuentra
activado el manejador de BD), nombre de la clase de Java del controlador, nombre de la base
150
de datos del sistema (es donde se encuentran las tablas que contienen la información de los
cursos y alumnos del sistema) y base de datos de ejercicios (es el nombre de la base de datos
de ejemplos donde se ejecutan las consultas en SQL de ejemplos y de los exámenes prácticos),
ver figura A1.47.
Figura A1.47. Configuración del sistema - base de datos.
Los datos del visualizador se centran en la ubicación física del archivo que ejecuta
el navegador; es decir, la ruta de acceso a la aplicación del visualizador de páginas Web,
misma que es posible encontrar mediante el botón Explorar que abre un cuadro de diálogo
para la búsqueda del archivo. También es posible abrir y cerrar el visualizador como un
proceso que ejecuta una aplicación externa, ver figura A1.48.
Figura A1.48. Configuración del sistema - visualizador.
Por último se pueden establecer valores por omisión para los datos en la
configuración, no sólo para la sección que se muestra en ese momento en pantalla sino para las
cuatro secciones. Estos valores se basan en la configuración utilizada para la realización de las
pruebas locales del sistema. La función Guardar graba la información de la configuración en el
archivo Configuracion.txt que será utilizado durante la ejecución de todo el sistema, sobre
151
todo al momento de realizar operaciones sobre la base de datos. En ese mismo archivo se
graban direcciones de URL generadas a partir de los datos capturados, tales como URLBD,
URLEjercicios, URLDatos, URLServicetes y URLAcceso, ver figura A1.49.
Figura A1.49. Archivo de configuración del sistema.
A1.1.3.2. Acerca de ...
En esta opción se despliegan los créditos de autoría del módulo Sistema Generador
de Cursos Tutores y la versión del sistema, ver figura A1.50.
Figura A1.50. Ventana acerca de...
152
A1.2. Sistema Administrador de Cursos Tutores
Las funciones de este módulo son la administración de cursos y alumnos; o sea,
altas, asociaciones, informes, incluyendo la importación y exportación de cursos, además de
respaldos y restauración de la información contenida en la base de datos.
Figura A1.51. Sistema administrador de cursos.
A continuación se describen las opciones con las que cuenta el sistema. Es
oportuno mencionar que todas las opciones de este módulo fueron desarrolladas en el presente
trabajo de investigación, con excepción de la función que genera el plan de estudios al
momento de asignar un alumno a un curso.
A1.2.1. Cursos
Esta opción, además de la consulta de cursos, posibilita el guardado de la
información así como su recuperación.
153
Figura A1.52. Menú cursos.
A1.2.1.1. Consultar
Se despliega en una ventana una lista con los cursos dados de alta en el sistema.
Para mostrar la información de un curso se debe seleccionar uno, con lo cual el sistema
muestra el nombre del curso, el autor y los alumnos asignados, ver figura A1.54.
Figura A1.53. Menú cursos (opción consultar).
154
Figura A1.54. Ventana consultar cursos.
Las operaciones a realizar son las siguientes: la asignación de alumnos, mediante
una ventana que muestra los alumnos disponibles; baja del alumno, con la cual se elimina el
alumno seleccionado del curso, y se elimina de la base de datos la información del avance, ver
figura A1.55; y eliminar curso, con la cual se borra de la base de datos la información
correspondiente al curso (capítulos, átomos, diapositivas, y evaluaciones), a esta última
función se podrá acceder sólo cuando no exista ningún alumno dado de alta.
Figura A1.54. Confirmación de baja.
Además de las opciones ya referidas, existe una opción que permite asignar
alumnos al curso, la cual muestra los alumnos faltantes por asociar, ver figura A1.55.
155
Figura A1.55. Ventana asignar alumnos.
A1.2.1.2. Respaldar
Con esta función es posible guardar toda la información referente al sistema. Para
efectos de verificación se muestran los cursos y alumnos existentes, ver figura A1.57.
Figura A1.56. Menú cursos (opción respaldar).
156
Figura A1.57. Ventana respaldar base de datos.
Al seleccionar el botón Respaldar BD se debe seleccionar la ruta y nombre del
archivo donde se guardará la información, ver figura A1.58. A este archivo se le asignará la
extensión .ZIP, ya que éste es el formato de compactación utilizado en esta opción.
Figura A1.58. Ventana guardar.
Además de la información existente en la base de datos, en el archivo compactado
se incluyen también los archivos *.swf que contienen las diapositivas que muestran los cursos,
con lo cual se respalda toda la información del sistema existente en el servidor.
157
A1.2.1.3. Restaurar
Para la restauración de la base de datos se muestra una ventana con los datos que
debe contener dicho respaldo, ver figura A1.60.
Figura A1.59. Menú cursos (opción restaurar).
En primera instancia se debe seleccionar el archivo que contenga el respaldo
realizado con la opción descrita anteriormente, por medio de una ventana de diálogo para
definir la ruta y el nombre del archivo en cuestión, ver figura A1.61.
Figura A1.60. Ventana restaurar base de datos.
158
Dicho archivo debe cumplir con un formato en su construcción para ser
reconocido como respaldo del sistema. En la ventana se muestran los datos obtenidos del
archivo: fecha y hora de creación, así como los cursos y alumnos contenidos en el sistema.
Figura A1.61. Ventana abrir archivo.
Una vez verificada la información, se inicia la restauración del sistema, con lo cual
se eliminará toda la información existente en la base de datos del sistema, y la reemplazará por
la información contenida en el archivo de respaldo, ver figura A1.62.
Figura A1.62. Ventana restaurar base de datos.
159
A1.2.1.4. Exportar
La opción que se describe a continuación permite al sistema guardar en un archivo
compactado la información correspondiente al curso seleccionado de la lista desplegada en la
ventana, ver figura A1.64. Además de la información del curso existente en la base de datos,
se guardan también los archivos *.swf que contienen el material del curso.
Figura A1.63. Menú cursos (opción exportar).
Figura A1.64. Ventana exportar curso.
Para realizar esto se debe seleccionar la ruta y nombre del archivo donde se
guardará la información, para tal fin se muestra una ventana de diálogo que facilita esta
operación, ver figura A1.65. A este archivo se le asigna la extensión .ZIP, ya que bajo ese
método de compactación se grabará la información.
160
Figura A1.65. Ventana guardar.
Posteriormente se iniciará el proceso con el formato definido para el caso.
A1.2.1.5. Importar
Para la importación de un curso a la base de datos, se muestra una ventana con los
datos que debe contener el archivo para realizar tal acción, ver figura A1.67.
Figura A1.66. Menú cursos (opción importar).
La importación del curso se realiza para añadir cursos al servidor actual. Para
iniciar este procedimiento se debe seleccionar la ruta y el nombre del archivo que contenga el
curso a importar, por medio de una ventana de diálogo que realice la operación, ver figura
A1.68.
161
Figura A1.67. Ventana importar curso.
Dicho archivo debe cumplir con el formato definido durante la exportación del
curso. Si cumple con el formato se extraerán los datos del curso: nombre, autor y dirección del
curso; en caso contrario no se permitirá continuar la operación.
Figura A1.68. Ventana abrir archivo.
Antes de importar el curso, se valida que el nombre del curso y la dirección no
existan en la base de datos. En caso de existir datos iguales, el sistema permite al usuario
modificar los datos que se repitan para poder continuar.
Figura A1.69. Ventana importar curso.
162
A1.2.1.6. Salir
Seleccionando esta opción lograremos salir del sistema, de la misma forma que
seleccionando la cruz de la esquina superior derecha de la ventana principal, así como
presionando las teclas Alt + F4 que activan la misma función.
Figura A1.70. Menú cursos (opción salir).
A1.2.2. Alumnos
Con esta opción se realizan las acciones propias de la administración del sistema
tutor en función del alumno; es decir, las altas, las consultas y las modificaciones de las
asociaciones realizadas de alumnos a cursos.
Figura A1.71. Menú alumnos.
163
A1.2.2.1. Alta
Como objeto esencial del sistema se encuentran los alumnos que son los
beneficiarios con la implementación de este tipo de sistemas. Con esta opción se crean los
alumnos con sus datos principales: número de control, nombre, cuenta, contraseña y por
último la confirmación de su contraseña; misma que les será de utilidad al ingresar al sistema
desde algún visualizador de páginas de Web, ver figura A1.73.
Figura A1.72. Menú alumnos (opción alta).
Figura A1.73. Ventana alta de alumnos.
164
A1.2.2.2. Consultar
En esta sección del sistema se realizan las operaciones básicas de la administración
de los alumnos, consulta y modificaciones de alumnos y cursos en los que están dados de alta,
ver figura A1.75.
Figura A1.74. Menú alumnos (opción consultar).
Figura A1.75. Ventana consultar alumnos.
165
Se presenta la pantalla de forma similar a la de consulta de cursos (sección
A1.2.1.1), donde se selecciona el alumno a consultar y en la parte inferior se despliegan los
cursos en los que está dado de alta.
Figura A1.76. Confirmación de baja.
Las acciones a realizar son las siguientes: eliminar alumno, sólo en caso de no
contar con ningún curso asociado; baja curso, se realiza la baja lógica del alumno en el curso
seleccionado, o sea, se elimina la asociación alumno curso, ver figura A1.76; y asignar cursos,
despliega la ventana para asociar otro curso al alumno en cuestión, cabe mencionar que en
dicha ventana sólo aparecen los cursos que no están asociados a ese alumno, ver figura A1.77.
Figura A1.77. Ventana asignar cursos.
A1.2.3. Informes
En la opción de informes se encuentran implementados los siguientes informes:
cursos, alumnos, y avance por alumno por curso. Es importante aclarar que el proceso de
impresión del lenguaje Java en los sistemas Windows 9x requiere de una cantidad de memoria
de 128 MB para asegurar la correcta impresión de los informes.
166
Figura A1.78. Menú informes.
Primeramente se despliega en pantalla el contenido de lo que se enviará a
imprimir, dando la posibilidad de modificar el tamaño de la letra y el ancho de las columnas a
imprimir.
A1.2.3.1. Cursos
En este informe se despliega en pantalla la información de los cursos dados de alta
en el sistema, así como los alumnos dados de alta en cada uno.
Figura A1.79. Menú informes (opción cursos).
167
Existe la posibilidad de modificar el formato de la información a imprimir: tamaño
de letra, mediante el objeto Jslider; y el tamaño de la columna, posicionando el cursor al final
de la misma, y con un movimiento tipo Drag & Drop (arrastrar y soltar) indicar cuál es el
tamaño deseado, ver figura A1.80.
Figura A1.80. Ventana reporte cursos.
A1.2.3.2. Alumnos
En este informe se despliega en pantalla la información de los alumnos inscritos en
el sistema, así como los cursos a los que les está permitido el acceso.
168
Figura A1.81. Menú informes (opción alumnos).
Existe la posibilidad de modificar el formato de la información a imprimir: tamaño
de letra, de la misma forma que en la opción inmediata anterior (informe de cursos), ver figura
A1.82.
Figura A1.82. Ventana reporte de alumnos.
169
A1.2.3.3. Avances
La presente opción tiene como objetivo proporcionar la información necesaria
referente a las calificaciones obtenidas por el alumno en un curso, para la cual se muestra una
ventana donde se deben seleccionar en primer lugar el alumno, con lo cual se desplegarán los
cursos a los que está asignado dicho alumno. Al momento de seleccionar un curso, se está en
posibilidad de imprimir el informe, ver figura A1.84.
Figura A1.83. Menú informes (opción avances).
Figura A1.84. Ventana imprimir avances.
170
Dicho informe se presentará en pantalla para su consulta, dando también la
posibilidad de modificar el tamaño de la letra y el ancho de las columnas de la misma forma
que en las diferentes opciones de esta sección, ver figura A1.85.
Figura A1.85. Ventana Reporte de avance de alumnos.
A1.2.4. Configuración
El menú configuración contiene la opción de configurar, la cual sirve par satisfacer
las necesidades de instalación del sistema en cada servidor, además de mostrar la información
que detalla la construcción de la herramienta. Tanto para el Módulo Generador de Cursos
como para el Módulo Administrador de cursos se utilizan las misma operaciones en cuanto a
configuración se refiere.
171
Figura A1.86. Menú configuración.
A1.2.4.1. Configuración
Esta opción define los datos necesarios para la operación del sistema, las cuales se
dividen en usuario, servidor, base de datos y visualizador; de tal forma que es posible ajustar
el sistema a los cambios en la configuración sin necesidad de modificar el código fuente.
Figura A1.87. Menú configuración (opción configuración).
En los datos del usuario se define la cuenta, clave de acceso y confirmación;
necesarios para acceder a la base de datos, ver figura A1.88.
172
Figura A1.88. Configuración del sistema - usuario.
Los datos del servidor son los siguientes: URL, dirección donde se encuentra
ubicado el servidor del sistema manejador de base de datos; dirección interna de los datos, es
el subdirectorio en el servidor donde se grabará la información del curso, o sea, los archivos
*.swf de Flash; puerto de acceso a los servicetes, es el puerto donde se encuentra activado el
servidor de servicetes donde está implementada la interfaz del alumno; y dirección interna de
la página principal, nombre del archivo que activa la página Web de la interfaz del alumno,
ver figura A1.89.
Figura A1.89. Configuración del sistema - servidor.
Por parte de la base de datos los datos son los siguientes: controlador de la base de
datos, es el nombre del archivo *.jar que contiene las clases que implementan el acceso a la
base de datos, con esto se da la posibilidad de acceder a diferentes sistemas manejadores de
base de datos sin modificar el código fuente; puerto de la base de datos, es el puerto donde se
encuentra activado el manejador de BDs; nombre de la clase de Java del controlador; nombre
de la base de datos del sistema, es donde se encuentran las tablas que contienen la información
de los cursos y alumnos del sistema; y base de datos de ejercicios, es el nombre de la base de
173
datos de ejemplos donde se ejecutan las consultas en SQL de ejemplos y de exámenes
prácticos, ver figura A1.90.
Figura A1.90. Configuración del sistema - base de datos.
Los datos del visualizador se centran en la ubicación física del archivo que ejecuta
el navegador, es decir, la ruta de acceso a la aplicación del visualizador de páginas Web,
misma que es posible encontrar mediante el botón Explorar que abre un cuadro de diálogo
para la búsqueda del archivo. También es posible abrir y cerrar el visualizador como un
proceso que ejecuta una aplicación externa, ver figura A1.91.
Figura A1.91. Configuración del sistema - visualizador.
Por último se pueden establecer valores por omisión para los datos en la
configuración, no sólo para la sección que se muestra en ese momento en pantalla sino para las
cuatro secciones. Dichos valores se basan en la configuración utilizada para la realización de
las pruebas locales del sistema. La función Guardar graba la información de la configuración
en el archivo Configuracion.txt que será utilizado a lo largo de todo el sistema, sobre todo al
momento de realizar operaciones sobre la base de datos. En este mismo archivo se graban
174
direcciones de URL generadas a partir de los datos capturados, tales como URLBD,
URLEjercicios, URLDatos, URLServicetes y URLAcceso, ver figura A1.92.
Figura A1.92. Archivo de configuración del sistema.
A1.2.4.2. Acerca de...
En esta opción se despliegan los créditos de autoría del módulo Sistema
Administrador de Cursos Tutores, y la versión del sistema.
Figura A1.93. Ventana acerca de...
175
A1.3 Interfaz del Usuario
Por medio de este módulo el alumno tiene la posibilidad de acceder al sistema, con
el objetivo de visualizar los diferentes cursos que le fueron asignados, además de realizar
ejemplos , y sujetarse a evaluaciones que lo guiarán por los temas sugeridos en base a los
resultados obtenidos.
A1.3.1 Acceso al Sistema
La página de Web con la que el alumno accederá al sistema, está dividida en dos
secciones: a la derecha se encuentra el área que desplegará la información de los cursos, y a la
izquierda está el área de menú, la cual contiene los campos de cuenta y contraseña para el
acceso, ver figura A1.94. Además, la página cuenta con enlaces o ligas a páginas de Web que
contienen información acerca del proyecto y otras que posibilitan el enlace a las páginas
principales del cenidet, el Departamento de Ciencias Computacionales, y la especialidad de
Sistemas Distribuidos, de la misma forma es posible obtener la dirección electrónica del
administrador del sistema.
Figura A1.94. Acceso a la interfaz del alumno.
176
En caso de no ser aceptada la cuenta o la contraseña, el sistema indicará cuál fue el
motivo por el cual rechazó la petición de acceso, ver figuras A1.95 y A1.96.
Figura A1.95. Cuenta incorrecta.
Figura A1.96. Clave incorrecta.
A1.3.2 Cursos
Una vez aceptados el nombre de la cuenta y la contraseña proporcionada por parte
del alumno, el sistema mostrará los cursos a los cuales el alumno tiene acceso, mismos que
fueron asignados por parte del administrador del sistema, y permitirá cambiar los datos de
configuración del alumno, ver figura A1.97.
177
Figura A1.97. Página de cursos.
Para seleccionar un curso sólo se necesita pulsar sobre el botón de color verde
situado al costado izquierdo del nombre del curso seleccionado.
A1.3.2.1 Datos de Configuración del Alumno
En lo que respecta al cambio de los datos de configuración del alumno, se accede a
esta opción a través del botón de11signado para tal fin.
Figura A1.98. Configuración de los datos del alumno.
178
La página implementada para realizar el cambio muestra dos tablas. La primera
con los datos actuales: nombre del alumno, número de control y cuenta; y la segunda contiene
los datos susceptibles de modificación: cuenta y contraseña; de esta última se solicita una
confirmación para seguridad de los datos. La acción de cancelación de las modificaciones se
lleva a cabo pulsando la flecha en la parte inferior, con la que regresaremos a la página que
muestra los cursos, ver figura A1.98.
A1.3.3 Capítulos
Al seleccionar un curso el sistema despliega los capítulos dados de alta; éstos se
presentan con un código de colores conformado por botones verdes, rojos y amarillos, ver
figura A1.99.
Figura A1.99. Página de capítulos.
Los botones verdes indican que se puede acceder al capítulo, ya que sus capítulos
predecesores ya fueron revisados o contiene al menos un tema cuyo color también es verde.
179
Los botones rojos indican que el capítulo no debe ser accedido ya que existen
capítulos predecesores que deben ser revisados previamente.
Los botones amarillos indican que el capítulo no debe ser accedido ya que el total
de los temas ya fueron revisados o aprobados y son de color amarillo.
Cabe mencionar que el sistema sólo despliega una ventana de advertencia y
permite al alumno decidir si revisa o no el capítulo.
A1.3.4 Temas
El sistema presentará en pantalla los temas del capítulo seleccionado en la sección
inmediata anterior. Al igual que en los capítulos, existe un código de colores que sirve al
alumno de guía para revisar la información del curso, ver figura A1.100.
Figura A1.100. Página de temas.
Los botones verdes indican que se puede acceder a las diapositivas del tema, ya
que sus temas predecesores ya fueron revisados o aprobados.
Los botones rojos indican que el tema no debe ser accedido ya que existen temas
predecesores que deben ser revisados.
Los botones amarillos indican que el tema no debe ser accedido debido a que ya
fue revisado o aprobado.
180
El sistema funciona de la misma forma que en la sección de capítulo desplegando
una ventana de advertencia que permite al alumno decidir si revisa o no las diapositivas del
tema.
A1.3.5 Diapositivas
Ésta es la ultima parte de la estructura de la que se compone un curso, la cual
contiene la información a presentar al alumno, basada en el formato de animación SWF de
Flash, ver figura A1.101.
Figura A1.101. Página de diapositivas.
La página se despliega en una ventana completa sin el uso de marcos para
aprovechar al máximo el área del visualizador de páginas de Web y lograr una mayor visión
de la diapositiva por parte del alumno. Cuenta con los botones para el desplazamiento entre las
diapositivas pertenecientes al tema: inicio, anterior, siguiente, y final; así mismo se despliega
el número de la diapositiva actual y el total de las mismas.
181
A1.3.5.1 Ejemplos
En el diseño del sistema las diapositivas tienen la opción de contar con una
consulta o instrucción de SQL para ser ejecutada por parte de los alumnos, con el fin de
reforzar el conocimiento ejemplificando una consulta asociada a la diapositiva, ver figura
A1.102.
Figura A1.102. Ejemplos.
Al ejecutarse la consulta de ejemplo, realiza la conexión y obtiene los resultados
en forma real de la base de datos de ejercicios, ver figura A1.103.
182
Figura A1.103. Resultados de la consulta.
A1.3.5.2 Evaluación
Al término de la visualización de las diapositivas de un tema, se pulsa la flecha de
retorno para activar el módulo que programa las evaluaciones a realizar durante el curso.
Dichas evaluaciones se aplicarán al alumno tomando en cuenta las asociaciones de las
preguntas a los átomos de evaluación, definidas en el módulo generador de cursos.
183
Figura A1.104. Evaluación teórica.
Aplicando el algoritmo de presentación de exámenes, se selecciona la evaluación a
aplicar y cuándo realizarla. Cada evaluación está compuesta de varias preguntas que también
son analizadas mediante el algoritmo de selección de preguntas para determinar la
conveniencia de incluirlas o no en la evaluación.
184
Figura A1.105. Evaluación práctica.
Existen dos tipos de evaluaciones: teóricas y prácticas. La primera se realiza
mediante preguntas de opción múltiple, donde se muestran a lo más cinco posibles opciones
de las cuales el alumno seleccionará sólo una, ver figura A1.104. La segunda está
implementada mediante la captura de consultas para ejecutar sobre la base de datos, similar a
la ejecución de los ejemplos contenidos en las diapositivas, ver figura A1.105.
185
Figura A1.106. Resultados de la evaluación teórica.
Una vez terminado de contestar el examen, se envía el formulario con las
preguntas del examen al sistema para su evaluación, y por medio del algoritmo para
evaluación de exámenes (teóricos y prácticos) el planificador del sistema determinará la
calificación para cada átomo de conocimiento del alumno en el curso, lo cual sirve para
modificar el código de colores asociado a cada tema y a cada capítulo, ver figuras 4.106 y
4.107.
En caso de existir respuestas incorrectas no se presentan al alumno las respuestas
correctas, ya que la base de preguntas es estática y los exámenes están formados siempre por
las mismas preguntas.
186
Figura A1.107. Resultados de la evaluación práctica.
A1.4 Transferencia de Archivos
El módulo de transferencia de archivos tiene como función la recepción de los
archivos que contienen la información del curso y su almacenamiento en el subdirectorio de
datos dentro del servidor. Dichos archivos los recibe a través de peticiones de los sistemas
generador y administrador de cursos tutores.
El sistema generador de cursos requiere del servicio del módulo de transferencia
para el envío de archivos, conforme se realice la creación y armado del curso en la sección alta
de diapositivas de los menús Nuevo y Actualizar Cursos.
Por su parte el sistema administrador de cursos utiliza el módulo de transferencia
para enviar al servidor los archivos en las opciones de instalación de cursos y restauración de
la base de datos, mismos que crean nuevos cursos en la base de datos del servidor.
Este módulo no interactúa directamente con alguno de los usuarios, sino a través
de los sistemas ya mencionados, por lo que su interfaz sólo se limita a una pantalla, indicando
187
que el servidor está listo y en espera. Al ocurrir un error en la transferencia de algún archivo
despliega en pantalla el nombre del archivo, la ruta y los bytes enviados y recibidos, ver figura
A1.108.
Figura A1.108. Servicio de transferencia de archivos.
188
0123()+
Diseño
de
la
Base
de
189
Datos
A2.1.
Descripción de la Base de Datos
La base de datos empleada por la herramienta se implementó en PostgreSQL bajo
el sistema operativo Linux, 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 administradores de bases de
datos de forma homogénea.
A continuación se muestra el diseño de la base de datos, donde podemos observar
las relaciones existentes entre las tablas (Figura A2.1).
Alumnos
Cursos
NumeroControl
NombreAlumno
Alias
Contraseña
integer
char(50)
char(50)
char(50)
1
1
n
1
AlumnosCurso
NumeroControl
ClaveCurso
integer
integer
n
integer
char(50)
char(50)
char(50)
ClaveCurso
NombreCurso
Autor
ClaveAcceso
1
n
PreRequisitosCapitulos
n
integer
ClaveCurso
ClaveCapituloInicial integer
ClaveCapituloFinal integer
AvancesAlumnos
integer
integer
integer
integer
integer
integer
FechaUltimoRepaso char(50)
CalificacionAtomo integer
NumeroControl
ClaveCurso
ClaveCapitulo
ClaveAtomo
NumeroRepasos
TotalRepasos
Planestudioscapitulos
Capitulos
n
1
ClaveCurso
ClaveCapitulo
NombreCapitulo
integer
integer
char(50)
1
1
ClaveCurso
ClaveCapitulo
Distancia
ClaveCapituloPredecesor
integer
integer
integer
integer
1
n
n
Atomos
PreRequisitosAtomos
integer
ClaveCurso
ClaveCapituloInicial integer
ClaveAtomoInicial integer
ClaveCapituloFinal integer
ClaveAtomoFinal integer
Negritas - Llave Primaria
Cursivas – Llaves Foráneas
n
1
1
ClaveCurso
ClaveCapitulo
ClaveAtomo
NombreAtomo
TipoConocimiento
GradoDificultad
TipoAtomo
integer
integer
integer
char(50)
char(50)
integer
integer
Planestudiosatomos
1
1
ClaveCurso
ClaveCapitulo
ClaveAtomo
Distancia
ClaveCapituloPredecesor
ClaveAtomoPredecesor
integer
integer
integer
integer
integer
integer
1 1
n
n
PreguntasAtomos
n
PreguntasPracticas
ClaveCurso
ClaveCapitulo
ClaveAtomo
ClavePregunta
Pregunta
Consulta
integer
integer
integer
integer
char(50)
char(50)
ClaveCurso
ClaveCapitulo
ClaveAtomo
ClavePregunta
ClaveCapitulo1
ClaveAtomo1
ClaveCapitulo2
ClaveAtomo2
ClaveCapitulo3
ClaveAtomo3
ClaveCapitulo4
ClaveAtomo4
ClaveCapitulo5
ClaveAtomo5
integer
integer
integer
integer
integer
integer
integer
integer
integer
integer
integer
integer
integer
integer
n
PreguntasTeoricas
ClaveCurso
ClaveCapitulo
ClaveAtomo
ClavePregunta
Pregunta
Respuesta1
Respuesta2
Respuesta3
Respuesta4
Respuesta5
VerdaderoFalso1
VerdaderoFalso2
VerdaderoFalso3
VerdaderoFalso4
VerdaderoFalso5
integer
integer
integer
integer
char(255)
char(255)
char(255)
char(255)
char(255)
char(255)
char(50)
char(50)
char(50)
char(50)
char(50)
Figura A2.1. Diseño de la base de datos.
190
Diapositivas
ClaveCurso
ClaveCapitulo
ClaveAtomo
ClaveDiapositiva
Direccion
Consulta
integer
integer
integer
integer
char(50)
char(254)
0123(),
Diccionario
de
Datos
191
Enseguida se proporciona una descripción de cada una de las tablas utilizadas en la
base de datos del sistema.
Tabla Alumnos
Nombre de columna
NumeroControl
NombreAlumno
Alias
Contrasena
Tipo de dato
char
char
char
char
Longitud
25
100
50
50
Propiedades
not null
Llaves
primary key
Columnas
NumeroControl
Referencia
Tablas
Nombre de columna
ClaveCurso
NombreCurso
Autor
ClaveAcceso
Tipo de dato
integer
char
char
char
Longitud
Dirección
Llaves
primary key
char
Columnas
ClaveCurso
50
Referencia
Tipo de dato
char
integer
Columnas
NumeroControl,
ClaveCurso
NumeroControl
ClaveCurso
Longitud
25
Descripción
Clave del alumno
Nombre del alumno
Cuenta
Clave de acceso al
sistema
Llave primaria
Tabla Cursos
Propiedades
not null
100
100
10
Descripción
Clave del curso
Nombre del curso
Autor del curso
Clave de acceso para
modificación del
curso
Ruta de los archivos
Tablas
Llave primaria
Tabla AlumnosCurso
Nombre de columna
NumeroControl
ClaveCurso
Llaves
primary key
foreign key
foreign key
Referencia
Propiedades
not null
not null
Columnas
Descripción
Clave del alumno
Clave del curso
Llave primaria
Alumnos
Cursos
NumeroControl Llave foránea
ClaveCurso
Llave foránea
Longitud
Propiedades
not null
not null
Tabla Capitulos
Nombre de columna
ClaveCurso
ClaveCapitulo
NombreCapitulo
Llaves
primary key
foreign key
Tipo de dato
integer
integer
char
Columnas
ClaveCurso,
ClaveCapitulo
ClaveCurso
100
Referencia
Descripción
Clave del curso
Clave del capítulo
Nombre del capítulo
Columnas
Llave primaria
Cursos
192
ClaveCurso
Llave foránea
Tabla Atomos
Nombre de columna
ClaveCurso
ClaveCapitulo
ClaveAtomo
NombreAtomo
TipoConocimiento
GradoDificultad
TipoAtomo
Llaves
primary key
foreign key
Tipo de dato
integer
integer
integer
char
char
integer
integer
Columnas
ClaveCurso,
ClaveCapitulo,
ClaveAtomo
ClaveCurso,
ClaveCapitulo
Longitud
Propiedades
not null
not null
not null
100
50
Referencia
Descripción
Clave del curso
Clave del capítulo
Clave del átomo
Nombre del átomo
Tipo de conocimiento
Grado de dificultad
Tio de átomo
Columnas
Llave primaria
Capitulos
ClaveCurso,
ClaveCapitulo
Llave foránea
Longitud
25
Propiedades
not null
not null
not null
not null
Descripción
Clave del aumno
Clave del curso
Clave del capítulo
Clave del átomo
Numero de repasos
totales del átomo
Numero de repasos
desde la última sesión
Fecha del repaso más
reciente
Calificación del
alumno en el átomo
Tabla AvancesAlumnos
Nombre de columna
NumeroControl
ClaveCurso
ClaveCapitulo
ClaveAtomo
TotalRepasos
Tipo de dato
char
integer
integer
integer
integer
NumeroRepasos
integer
FechaUltimoRepaso
char
CalificacionAtomo
integer
Llaves
primary key
Columnas
NumeroControl,
ClaveCurso,
ClaveCapitulo,
ClaveAtomo
NumeroControl
ClaveCurso,
ClaveCapitulo,
ClaveAtomo
foreign key
foreign key
50
Referencia
Columnas
Llave primaria
Alumnos
Atomos
NumeroControl Llave foránea
ClaveCurso,
Llave foránea
ClaveCapitulo,
ClaveAtomo
Propiedades
not null
not null
not null
not null
Tabla Diapositivas
Nombre de columna
ClaveCurso
ClaveCapitulo
ClaveAtomo
ClaveDiapositiva
Tipo de dato
integer
integer
integer
integer
Longitud
Dirección
char
100
193
Descripción
Clave del curso
Clave del capítulo
Clave del átomo
Clave de la
diapositiva
Ruta donde se ubica
el archivo de datos
Secuencia
integer
Consulta
char
Llaves
primary key
Columnas
Referencia
ClaveCurso,
ClaveCapitulo,
ClaveAtomo,
ClaveDiapositiva
ClaveCurso,
Atomos
ClaveCapitulo,
ClaveAtomo
foreign key
Orden de aparición de
la diapositiva
Instrucción SQL de
ejemplo
255
Columnas
Llave primaria
ClaveCurso,
ClaveCapitulo,
ClaveAtomo
Llave foránea
Longitud
Propiedades
not null
not null
not null
not null
Descripción
Clave del curso
Clave del capítulo
Clave del átomo
Clave de la pregunta
Clave del primer
capítulo
Clave del primer
átomo asociado a la
pregunta
Clave del segundo
capítulo
Clave del segundo
átomo asociado a la
pregunta
Clave del tercer
capítulo
Clave del tercer
átomo asociado a la
pregunta
Clave del cuarto
capítulo
Clave del cuarto
átomo asociado a la
pregunta
Clave del quinto
capítulo
Clave del quinto
átomo asociado a la
pregunta
Referencia
Columnas
Tabla PreguntasAtomos
Nombre de columna
ClaveCurso
ClaveCapitulo
ClaveAtomo
ClavePregunta
ClaveCapitulo1
Tipo de dato
integer
integer
integer
integer
integer
ClaveAtomo1
integer
ClaveCapitulo2
integer
ClaveAtomo2
integer
ClaveCapitulo3
integer
ClaveAtomo3
integer
ClaveCapitulo4
integer
ClaveAtomo4
integer
ClaveCapitulo5
integer
ClaveAtomo5
integer
Llaves
primary key
Columnas
ClaveCurso,
ClaveCapitulo,
ClaveAtomo,
ClavePregunta
Llave primaria
194
foreign key
ClaveCurso,
ClaveCapitulo,
ClaveAtomo
Atomos
ClaveCurso,
ClaveCapitulo,
ClaveAtomo
Llave foránea
Longitud
Propiedades
not null
not null
not null
not null
Descripción
Clave del curso
Clave del capítulo
Clave del átomo
Clave de la pregunta
Texto de la pregunta
Instrucción SQL
como respuesta
Tabla PreguntasPracticas
Nombre de columna
ClaveCurso
ClaveCapitulo
ClaveAtomo
ClavePregunta
Pregunta
Consulta
Tipo de dato
Integer
Integer
Integer
Integer
Char
Char
Llaves
primary key
Columnas
ClaveCurso,
ClaveCapitulo,
ClaveAtomo,
ClavePregunta
ClaveCurso,
ClaveCapitulo,
ClaveAtomo
foreign key
255
255
Referencia
Columnas
Llave primaria
Atomos
ClaveCurso,
ClaveCapitulo,
ClaveAtomo
Llave foránea
Longitud
Propiedades
not null
not null
not null
not null
Descripción
Clave del curso
Clave del capítulo
Clave del átomo
Clave de la pregunta
Pregunta
Primera respuesta
Segunda respuesta
Tercera respuesta
Cuarta respuesta
Quinta respuesta
La primera respuesta
es falsa o verdadera
La segunda respuesta
es falsa o verdadera
La tercera respuesta
es falsa o verdadera
La cuarta respuesta es
falsa o verdadera
La quinta respuesta es
falsa o verdadera
Tabla PreguntasTeoricas
Nombre de columna
ClaveCurso
ClaveCapitulo
ClaveAtomo
ClavePregunta
Pregunta
Respuesta1
Respuesta2
Respuesta3
Respuesta4
Respuesta5
VerdaderoFalso1
Tipo de dato
integer
integer
integer
integer
char
char
char
char
char
char
char
255
255
255
255
255
255
50
VerdaderoFalso2
char
50
VerdaderoFalso3
char
50
VerdaderoFalso4
char
50
VerdaderoFalso5
char
50
Llaves
primary key
Columnas
ClaveCurso,
ClaveCapitulo,
ClaveAtomo,
ClavePregunta
Referencia
Columnas
Llave primaria
195
foreign key
ClaveCurso,
ClaveCapitulo,
ClaveAtomo
Atomos
ClaveCurso,
ClaveCapitulo,
ClaveAtomo
Llave foránea
Longitud
Propiedades
not null
not null
Descripción
Clave del curso
Clave del capítulo
Numero de nodos
entre el capítulo
actual y el capítulo
inicial
Clave del capítulo
predecesor del
capítulo actual
Referencia
Columnas
Tabla PlanEstudiosCapitulos
Nombre de columna
ClaveCurso
ClaveCapitulo
Distancia
Tipo de dato
integer
integer
integer
ClaveCapituloPredeceso integer
r
Llaves
primary key
foreign key
Columnas
ClaveCurso,
ClaveCapitulo
ClaveCurso,
ClaveCapitulo
Llave primaria
Capitulos
ClaveCurso,
ClaveCapitulo
Llave foránea
Longitud
Propiedades
not null
not null
not null
Descripción
Clave del curso
Clave del capítulo
Clave del átomo
Numero de nodos
entre el átomo actual
y el átomo inicial
Clave del capítulo
predecesor
Clave del átomo
predecesor del átomo
actual
Referencia
Columnas
Tabla PlanEstudiosAtomos
Nombre de columna
ClaveCurso
ClaveCapitulo
ClaveAtomo
Distancia
Tipo de dato
integer
integer
integer
integer
ClaveCapituloPredeceso integer
r
ClaveAtomoPredecesor integer
Llaves
primary key
foreign key
Columnas
ClaveCurso,
ClaveCapitulo,
ClaveAtomo
ClaveCurso,
ClaveCapitulo,
ClaveAtomo
Llave primaria
Atomos
ClaveCurso,
ClaveCapitulo,
ClaveAtomo
Llave foránea
Longitud
Propiedades
Descripción
Clave del curso
Clave del capítulo
incial de una arista del
grafo instruccional
Tabla PreRequisitosCapitulos
Nombre de columna
ClaveCurso
ClaveCapituloInicial
Tipo de dato
integer
integer
196
ClaveCapituloFinal
integer
Clave del capítulo
final de una arista del
grafo instruccional
Llaves
foreign key
Columnas
Referencia
ClaveCurso,
Capitulos
ClaveCapituloIni
cial
Columnas
ClaveCurso,
ClaveCapitulo
Llave foránea
Tabla PreRequisitosAtomos
Nombre de columna
ClaveCurso
ClaveCapituloInicial
Tipo de dato
integer
integer
Longitud
ClaveAtomoInicial
integer
ClaveCapituloFinal
integer
ClaveAtomoFinal
integer
Llaves
foreign key
Columnas
Referencia
ClaveCurso,
Atomos
ClaveCapituloIni
cial,
ClaveAtomoInici
al
197
Propiedades
Columnas
ClaveCurso,
ClaveCapitulo,
ClaveAtomo
Descripción
Clave del curso
Clave del capítulo
incial
Clave del átomo incial
de una arista del grafo
instruccional
Clave del capítulo
final
Clave del átomo final
de una arista del grafo
instruccional
Llave foránea
0123()Material
del
Curso
Enseñanza
198
de
SQL
A continuación se muestran las diapositivas elaboradas para la realización de las
pruebas del sistema, correspondientes al capítulo 1 del curso “Enseñanza de SQL”.
Figura A4.1. Inicio
199
Figura A4.2. Otras investigaciones
Figura A4.3. Antecedentes
200
Figura A4.4. Estandarización SQL
Figura A4.5. Propósito del curso
201
Figura A4.6. Definición de bases de datos
Figura A4.7. Ejemplo
202
Figura A4.8. Tabla A
Figura A4.9. Tabla M
203
Figura A4.10. Tabla C
Figura A4.11. Relaciones
204
Figura A4.12. Definición de sistema administrador de base de datos
205
0123().
Contenido
de
los
Archivos
206
A5.1. Contenido del Archivo DatosCurso.txt
// NombreCurso - Enseñanza de SQL
// AutorCurso - Dr. Rodolfo A. Pazos Rangel
// AccesoCurso - sql1
// RutaCurso - sql
// Tabla - Capitulos
insert into Capitulos values ( clavecurso, 1, 'Introduccion 1');
insert into Capitulos values ( clavecurso, 2, 'Creacion de Tablas Base');
insert into Capitulos values ( clavecurso, 3, 'Creacion de Indices');
insert into Capitulos values ( clavecurso, 4, 'Llenado de Tablas');
insert into Capitulos values ( clavecurso, 5, 'Consultas');
insert into Capitulos values ( clavecurso, 6, 'Funciones de Consolidacion');
insert into Capitulos values ( clavecurso, 7, 'Consultas Anidadas');
insert into Capitulos values ( clavecurso, 8, 'Operaciones Avanzadas');
insert into Capitulos values ( clavecurso, 9, 'La Instruccion Insert');
insert into Capitulos values ( clavecurso, 10, 'La Instruccion UpDate');
insert into Capitulos values ( clavecurso, 11, 'La Instruccion Delete');
insert into Capitulos values ( clavecurso, 12, 'Tipos de Datos del Manejador y Variables Anfitrion');
insert into Capitulos values ( clavecurso, 13, 'Capitulo de Evaluaciones');
// Tabla - PreRequisitosCapitulos
insert into PreRequisitosCapitulos values ( clavecurso, 1, 2);
insert into PreRequisitosCapitulos values ( clavecurso, 2, 3);
insert into PreRequisitosCapitulos values ( clavecurso, 3, 4);
insert into PreRequisitosCapitulos values ( clavecurso, 4, 5);
insert into PreRequisitosCapitulos values ( clavecurso, 5, 6);
insert into PreRequisitosCapitulos values ( clavecurso, 6, 7);
insert into PreRequisitosCapitulos values ( clavecurso, 7, 8);
insert into PreRequisitosCapitulos values ( clavecurso, 8, 9);
insert into PreRequisitosCapitulos values ( clavecurso, 9, 10);
insert into PreRequisitosCapitulos values ( clavecurso, 10, 11);
insert into PreRequisitosCapitulos values ( clavecurso, 11, 12);
insert into PreRequisitosCapitulos values ( clavecurso, 12, 13);
insert into PreRequisitosCapitulos values ( clavecurso, 13, 0);
// Tabla - PlanEstudiosCapitulos
insert into PlanEstudiosCapitulos values ( clavecurso, 1, 0, 0);
insert into PlanEstudiosCapitulos values ( clavecurso, 2, 1, 1);
insert into PlanEstudiosCapitulos values ( clavecurso, 3, 2, 2);
insert into PlanEstudiosCapitulos values ( clavecurso, 4, 3, 3);
insert into PlanEstudiosCapitulos values ( clavecurso, 5, 4, 4);
insert into PlanEstudiosCapitulos values ( clavecurso, 6, 5, 5);
insert into PlanEstudiosCapitulos values ( clavecurso, 7, 6, 6);
insert into PlanEstudiosCapitulos values ( clavecurso, 8, 7, 7);
insert into PlanEstudiosCapitulos values ( clavecurso, 9, 8, 8);
insert into PlanEstudiosCapitulos values ( clavecurso, 10, 9, 9);
insert into PlanEstudiosCapitulos values ( clavecurso, 11, 10, 10);
insert into PlanEstudiosCapitulos values ( clavecurso, 12, 11, 11);
insert into PlanEstudiosCapitulos values ( clavecurso, 13, 12, 12);
// Tabla - Atomos
insert into Atomos values ( clavecurso, 1, 1, 'Introduccion', 'Memorizacion', 0, 0);
insert into Atomos values ( clavecurso, 2, 1, 'Definicion de la Tabla de Materias', 'Memorizacion', 0, 0);
insert into Atomos values ( clavecurso, 2, 2, 'Precompilacion, Compilacion y Ejecucion de Program',
'Comprension', 1, 0);
207
insert into Atomos values ( clavecurso, 2, 3, 'Definicion de la Tabla Alumnos', 'Memorizacion', 0, 0);
insert into Atomos values ( clavecurso, 2, 4, 'Definicion de la Tabla Calificaciones', 'Memorizacion', 0, 0);
insert into Atomos values ( clavecurso, 2, 5, 'Ejercicios', 'Razonamiento', 2, 0);
insert into Atomos values ( clavecurso, 3, 1, 'Creacion de Indices', 'Comprension', 1, 0);
insert into Atomos values ( clavecurso, 3, 2, 'Ejercicios', 'Razonaniento', 2, 0);
insert into Atomos values ( clavecurso, 4, 1, 'Llenado de Tablas', 'Memorizacion', 0, 0);
insert into Atomos values ( clavecurso, 5, 1, 'Consultas', 'Comprension', 1, 0);
insert into Atomos values ( clavecurso, 5, 2, 'Consultas Simples', 'Comprension', 1, 0);
insert into Atomos values ( clavecurso, 5, 3, 'Consultas Simples - La Variable SQLCODE', 'Comprension', 1, 0);
insert into Atomos values ( clavecurso, 5, 4, 'Consultas usando el Asterisco (*)', 'Memorizacion', 2, 0);
insert into Atomos values ( clavecurso, 5, 5, 'Consultas con Cursores', 'Comprension', 2, 0);
insert into Atomos values ( clavecurso, 5, 6, 'Consultas que Involucran varias Tablas', 'Comprension', 2, 0);
insert into Atomos values ( clavecurso, 5, 7, 'Ejercicios', 'Razonamiento', 3, 0);
insert into Atomos values ( clavecurso, 6, 1, 'Funciones de Consolidacion', 'Comprension', 2, 0);
insert into Atomos values ( clavecurso, 6, 2, 'Ejercicios', 'Razonamiento', 3, 0);
insert into Atomos values ( clavecurso, 7, 1, 'Consultas Anidadas', 'Comprension', 3, 0);
insert into Atomos values ( clavecurso, 7, 2, 'Ejercicios', 'Razonamiento', 4, 0);
insert into Atomos values ( clavecurso, 8, 1, 'Operaciones Avanzadas', 'Comprension', 3, 0);
insert into Atomos values ( clavecurso, 8, 2, 'Comparadores LIKE y NOT LIKE', 'Comprension', 3, 0);
insert into Atomos values ( clavecurso, 8, 3, 'Valores Nulos', 'Comprension', 3, 0);
insert into Atomos values ( clavecurso, 8, 4, 'Ejercicios', 'Razonamiento', 4, 0);
insert into Atomos values ( clavecurso, 9, 1, 'Instruccion Insert', 'Comprension', 3, 0);
insert into Atomos values ( clavecurso, 9, 2, 'Ejercicios', 'Razonamiento', 4, 0);
insert into Atomos values ( clavecurso, 10, 1, 'Instruccion UpDate', 'Comprension', 3, 0);
insert into Atomos values ( clavecurso, 10, 2, 'Ejercicios', 'Razonamiento', 4, 0);
insert into Atomos values ( clavecurso, 11, 1, 'Instruccion Delete', 'Comprension', 3, 0);
insert into Atomos values ( clavecurso, 11, 2, 'Ejercicios', 'Razonamiento', 4, 0);
insert into Atomos values ( clavecurso, 12, 1, 'Tipos de Datos del Manejador', 'Comprension', 4, 0);
insert into Atomos values ( clavecurso, 12, 2, 'Variables Anfitrionas', 'Razonamiento', 5, 0);
insert into Atomos values ( clavecurso, 13, 1, 'Atomo 1', 'Comprension', 1, 0);
insert into Atomos values ( clavecurso, 13, 2, 'Atomo 2', 'Comprension', 1, 0);
insert into Atomos values ( clavecurso, 13, 3, 'Atomo 3 Evaluacion Teorica', 'null', 0, 1);
insert into Atomos values ( clavecurso, 13, 4, 'Atomo 4 Evaluacion Practica', 'null', 0, 2);
// Tabla - PreRequisitosAtomos
insert into PreRequisitosAtomos values ( clavecurso, 1, 1, 2, 1);
insert into PreRequisitosAtomos values ( clavecurso, 2, 1, 2, 2);
insert into PreRequisitosAtomos values ( clavecurso, 2, 2, 2, 3);
insert into PreRequisitosAtomos values ( clavecurso, 2, 3, 2, 4);
insert into PreRequisitosAtomos values ( clavecurso, 2, 4, 2, 5);
insert into PreRequisitosAtomos values ( clavecurso, 2, 5, 3, 1);
insert into PreRequisitosAtomos values ( clavecurso, 3, 1, 3, 2);
insert into PreRequisitosAtomos values ( clavecurso, 3, 2, 4, 1);
insert into PreRequisitosAtomos values ( clavecurso, 4, 1, 5, 1);
insert into PreRequisitosAtomos values ( clavecurso, 5, 1, 5, 2);
insert into PreRequisitosAtomos values ( clavecurso, 5, 2, 5, 3);
insert into PreRequisitosAtomos values ( clavecurso, 5, 3, 5, 4);
insert into PreRequisitosAtomos values ( clavecurso, 5, 4, 5, 5);
insert into PreRequisitosAtomos values ( clavecurso, 5, 5, 5, 6);
insert into PreRequisitosAtomos values ( clavecurso, 5, 6, 5, 7);
insert into PreRequisitosAtomos values ( clavecurso, 5, 7, 6, 1);
insert into PreRequisitosAtomos values ( clavecurso, 6, 1, 6, 2);
insert into PreRequisitosAtomos values ( clavecurso, 6, 2, 7, 1);
insert into PreRequisitosAtomos values ( clavecurso, 7, 1, 7, 2);
insert into PreRequisitosAtomos values ( clavecurso, 7, 2, 8, 1);
insert into PreRequisitosAtomos values ( clavecurso, 8, 1, 8, 2);
insert into PreRequisitosAtomos values ( clavecurso, 8, 2, 8, 3);
insert into PreRequisitosAtomos values ( clavecurso, 8, 3, 8, 4);
insert into PreRequisitosAtomos values ( clavecurso, 8, 4, 9, 1);
insert into PreRequisitosAtomos values ( clavecurso, 9, 1, 9, 2);
insert into PreRequisitosAtomos values ( clavecurso, 9, 2, 10, 1);
208
insert into PreRequisitosAtomos values ( clavecurso, 10, 1, 10, 2);
insert into PreRequisitosAtomos values ( clavecurso, 10, 2, 11, 1);
insert into PreRequisitosAtomos values ( clavecurso, 11, 1, 11, 2);
insert into PreRequisitosAtomos values ( clavecurso, 11, 2, 12, 1);
insert into PreRequisitosAtomos values ( clavecurso, 12, 1, 12, 2);
insert into PreRequisitosAtomos values ( clavecurso, 12, 2, 13, 1);
insert into PreRequisitosAtomos values ( clavecurso, 13, 1, 13, 2);
insert into PreRequisitosAtomos values ( clavecurso, 13, 2, 13, 3);
insert into PreRequisitosAtomos values ( clavecurso, 13, 3, 13, 4);
insert into PreRequisitosAtomos values ( clavecurso, 13, 4, 0, 0);
// Tabla - PlanEstudiosAtomos
insert into PlanEstudiosAtomos values ( clavecurso, 1, 1, 0, 0, 0);
insert into PlanEstudiosAtomos values ( clavecurso, 2, 1, 1, 1, 1);
insert into PlanEstudiosAtomos values ( clavecurso, 2, 2, 2, 2, 1);
insert into PlanEstudiosAtomos values ( clavecurso, 2, 3, 3, 2, 2);
insert into PlanEstudiosAtomos values ( clavecurso, 2, 4, 4, 2, 3);
insert into PlanEstudiosAtomos values ( clavecurso, 2, 5, 5, 2, 4);
insert into PlanEstudiosAtomos values ( clavecurso, 3, 1, 6, 2, 5);
insert into PlanEstudiosAtomos values ( clavecurso, 3, 2, 7, 3, 1);
insert into PlanEstudiosAtomos values ( clavecurso, 4, 1, 8, 3, 2);
insert into PlanEstudiosAtomos values ( clavecurso, 5, 1, 9, 4, 1);
insert into PlanEstudiosAtomos values ( clavecurso, 5, 2, 10, 5, 1);
insert into PlanEstudiosAtomos values ( clavecurso, 5, 3, 11, 5, 2);
insert into PlanEstudiosAtomos values ( clavecurso, 5, 4, 12, 5, 3);
insert into PlanEstudiosAtomos values ( clavecurso, 5, 5, 13, 5, 4);
insert into PlanEstudiosAtomos values ( clavecurso, 5, 6, 14, 5, 5);
insert into PlanEstudiosAtomos values ( clavecurso, 5, 7, 15, 5, 6);
insert into PlanEstudiosAtomos values ( clavecurso, 6, 1, 16, 5, 7);
insert into PlanEstudiosAtomos values ( clavecurso, 6, 2, 17, 6, 1);
insert into PlanEstudiosAtomos values ( clavecurso, 7, 1, 18, 6, 2);
insert into PlanEstudiosAtomos values ( clavecurso, 7, 2, 19, 7, 1);
insert into PlanEstudiosAtomos values ( clavecurso, 8, 1, 20, 7, 2);
insert into PlanEstudiosAtomos values ( clavecurso, 8, 2, 21, 8, 1);
insert into PlanEstudiosAtomos values ( clavecurso, 8, 3, 22, 8, 2);
insert into PlanEstudiosAtomos values ( clavecurso, 8, 4, 23, 8, 3);
insert into PlanEstudiosAtomos values ( clavecurso, 9, 1, 24, 8, 4);
insert into PlanEstudiosAtomos values ( clavecurso, 9, 2, 25, 9, 1);
insert into PlanEstudiosAtomos values ( clavecurso, 10, 1, 26, 9, 2);
insert into PlanEstudiosAtomos values ( clavecurso, 10, 2, 27, 10, 1);
insert into PlanEstudiosAtomos values ( clavecurso, 11, 1, 28, 10, 2);
insert into PlanEstudiosAtomos values ( clavecurso, 11, 2, 29, 11, 1);
insert into PlanEstudiosAtomos values ( clavecurso, 12, 1, 30, 11, 2);
insert into PlanEstudiosAtomos values ( clavecurso, 12, 2, 31, 12, 1);
insert into PlanEstudiosAtomos values ( clavecurso, 13, 1, 32, 12, 2);
insert into PlanEstudiosAtomos values ( clavecurso, 13, 2, 33, 13, 1);
// Tabla - Diapositivas
insert into Diapositivas values ( clavecurso, 1, 1, 1, 'cap1.swf', 1, 'null');
insert into Diapositivas values ( clavecurso, 1, 1, 2, 'cap1-1.swf', 2, 'null');
insert into Diapositivas values ( clavecurso, 1, 1, 3, 'cap1-2.swf', 3, 'null');
insert into Diapositivas values ( clavecurso, 1, 1, 4, 'cap1-3.swf', 4, 'null');
insert into Diapositivas values ( clavecurso, 1, 1, 5, 'cap1-4.swf', 5, 'null');
insert into Diapositivas values ( clavecurso, 1, 1, 6, 'cap1-5.swf', 6, 'null');
insert into Diapositivas values ( clavecurso, 1, 1, 7, 'cap1-6.swf', 7, 'null');
insert into Diapositivas values ( clavecurso, 1, 1, 8, 'cap1-7.swf', 8, 'null');
insert into Diapositivas values ( clavecurso, 1, 1, 9, 'cap1-8.swf', 9, 'select * from alumnos');
insert into Diapositivas values ( clavecurso, 1, 1, 10, 'cap1-9.swf', 10, 'select * from materias');
insert into Diapositivas values ( clavecurso, 1, 1, 11, 'cap1-10.swf', 11, 'select * from calificaciones');
insert into Diapositivas values ( clavecurso, 1, 1, 12, 'cap1-11.swf', 12, 'null');
209
insert into Diapositivas values ( clavecurso, 1, 1, 13, 'cap1-12.swf', 13, 'null');
// Tabla - PreguntasAtomos
insert into PreguntasAtomos values ( clavecurso, 13, 3, 1, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0);
insert into PreguntasAtomos values ( clavecurso, 13, 4, 1, 13, 1, 13, 2, 0, 0, 0, 0, 0, 0);
// Tabla - PreguntasTeoricas
insert into PreguntasTeoricas values ( clavecurso, 13, 3, 1, 'Instruccion para Seleccionar Datos', 'seleccionar',
'select', 'seleccion', 'null', 'null', 'INCORRECTA', 'CORRECTA', 'INCORRECTA', 'null', 'null');
// Tabla - PreguntasPracticas
insert into PreguntasPracticas values ( clavecurso, 13, 4, 1, 'Seleccionar Datos de los Alumnos', 'select * from
alumnos');
210
425262178"9
211
[Bloom, 1996]
C.P. Bloom. “Promoting the Transfer of Advanced Training
Technologies”, C.Frasson, G. Gauthier, A. Lesgold (Eds.) Intelligent
Tutoring Systems Third International Conference, ITS’96, pp. 1-9,
1996.
[Boy, 1996]
G. Boy. “Learning Evolution and Software Agents Emergence,
C.Frasson, G. Gauthier”, A. Lesgold (Eds.) Intelligent Tutoring
Systems Third International Conference, ITS’96, pp. 57-65, 1996.
[Brusilovsky & Vassileva, 2003] P. Brusilovsky, J. Vassileva “Course sequencing techniques for
large-scale web-based education”, Int. J. Continuing Engineering
Education and Lifelong Learning, Vol. 13, Nos.1/2, p. 75, 2003
[Burton & Brown, 1976]
R.R. Burton, J.S. Brown. “A Tutoring and student modelling
paradigm for gaming environments”. Colman, R.; and Lorton, P.Jr
(Eds.) Computer Science and Education. ACM SIGCSE Bulletin,
vol. 8 no. 1, pp. 236-246, 1976.
[Carr y Goldstein, 1977]
B. Carr, I. P. Goldstein. Overlays: a Theory Modeling for
Computer-Aided Instruction. AI Lab Memo 417 (Logo Memo 45).
Massachusetts Institute of Technology, Cambridge, Massachusetts,
1977
[CUAltos, 2000]
CUAltos. “Centros de AutoAcceso”. Centro Universitario de los
Altos, Universidad de Guadalajara, Tepatitlan de Morelos, Jal. 2000
http://www.cualtos.udg.mx/novedades/cntro_auto.htm.
[Cuevas, 1999]
C.A. Cuevas V. “Sistemas Tutores Inteligentes”. Centro de
Investigación y de Estudios Avanzados del Instituto Politécnico
Nacional,
Mexico.
D.F
1999.
http://www.cinvestav.mx/mat_edu/ccuevas.html.
[Frasson et. Al., 1996]
C. Frasson, T. Mengelle, E. Aïmeur, G. Gouardéres. “An ActorBased Architecture for Intelligent Tutoring Systems, C. Frasson, G.
Gauthier, A. Lesgold” (Eds.) Intelligent Tutoring Systems Third
International Conference, ITS’96, pp. 57-65, 1996.
[Gutiérrez, 1995]
J. Gutiérrez, T.A. Pérez, P. Lopésteguy, I. Usandizaga. “Sistemas
Tutores Inteligentes: Una Forma de Conseguir Sistemas Hipermedia
Educativos”. Conferencia de la Asociacion Española para la
Inteligencia Artificial. CAEPIA’95. Asociación Española para la
Inteligencia Artificial, AEPIA: Alicante, España.
[Hartley & Sleeman, 1973]
J. R. Hartley, D. H. Sleeman. “Towards Intelligent Teaching
Systems”, Int. Jrnl Man-Maschine Studies, vol. 5, pp. 215-236,
1973.
212
[HREF1, 1995]
“Interactive
Courseware”,
OTI/1_2/index.html, 1995.
[HREF2, 1998]
“Cómo Funciona Internet. CFI: Funcionamiento de los CGI.
Capítulo 3.6.” http://ctv.es/areas/servicio/funciona/miltimed.cgi.htm,
1998.
[Ingram, 2001]
J.W. Ingram, R. Pazos. Tesis de Maestría: Sistema Tutorial para la
Enseñanza de SQL. Centro Nacional de Investigación y Desarrollo
Tecnológico. Junio de 2001.
[ITAM, 1999]
ITAM. “Copernicus - Desarrollo de una Tecnología Educativa desde
una Perspectiva Humanística - Sistema Tutor para la Materia
Circuitos Lógicos”. Instituto Tecnológico Autonomo de México,
Mexico
D.F.
1999
http://www.itam.mx/organizacion/divisiones/dai/cognitiv/html/proye
ctos/copernicus/index.html.
[Klausmeier & Goodwin, 1997]
H. J. Klausmeier & W. Goodwin. Tomo I: Psicología Educativa Habilidades Humanas, Aprendizaje. Enciclopedia de Psicología
Educativa - Aprendizaje, Habilidades Humanas y Conducta. Oxford
University Press Harla México. ISBN 970-613-233-3. 1997.
[Laubsh, 1975]
J. H. Laubsh. “Some Thoughts About Representing Knowledge in
Instructional Systems”. Proceeding of the Fourth International Joint
Conference on Artificial Intelligence, Tsibili, USRR, pp. 122-125,
1975.
[Marques, 1996]
P. Marques. El Software Educativo, “Biblioteca Virtual de
Tecnología Educativa”, Universidad Autónoma de Barcelona.
Barcelona,
http://www.doe.d5.ub.es/te/any96/marques_software.
España, 1996. [email protected].
[Martínez, 2000]
J. M. Martínez C., R. A. Pazos R.. Propuesta de Tesis de
Maestría:Desarrollo de Módulos para presentación Multimodal de
Conocimientos y Acceso Vía Internet para un Sistema Tutor. Centro
Nacional de Investigación y Desarrollo Tecnológico. Diciembre 5 de
2000.
[Morales, 1998]
E. Morales. Tutores Inteligentes, División de Ingeniería y Ciencias.
Instituto Tecnológico y de Estudios Superiores de Monterrey
Campus Morelos. Cuernavaca, Mor., 1998.
[NCSA, 1999]
NCSA. “CGI: Common Gateway Interface”.
http://hoohoo.ncsa.uiuc.edu/cgi/intro.html , 1999.
[Pazos, 1997]
R. Pazos, J. Pérez, V. Sosa. Notas del Curso Sistema Manejador de
Base de Datos Distribuidas SIMBaDD. Versión 1.1 para Windows.
Centro Nacional de Investigación y Desarrollo Tecnológico, Febrero
1997.
213
http://www.sc.istucf.edu/
-
[Pineda, 2000]
J.L. Pineda. “Sistemas Tutoriales, Multimodales Inteligentes para la
Difusión de las Tecnologías del Lenguaje”. Instituto de
Investigaciones en Matemáticas Aplicadas y en Sistemas –
Universidad Nacional Autónoma de México; Mexico, D.F. 2000.
http://uxdea4.iimas.unam.mx/redii/resultado.html
[Sastre, 1998]
J.C. Sastre. “Cursos: Java en Castrellano – Introducción a los
Servlets”.
http://www.geocities.com:0080/SiliconValley/Lakes/5276/servlets1.
html, 1998.
[Sun, 2003]
Sun MicroSystems. http://java.sun.com/, 2003.
[Uriarte, 1997]
F. Uriarte M. “Desarrollo de Software Educativo: Análisis, Diseño,
Programación”. Maestría en Ciencias de la Computación Perfil
Informática Educativa, Unidad de Posgrado Culiacán, Facultad de
Ingenieria,
Universidad
Autónoma
de
Sinaloa.
1977
http://tiny.uasnet.mx/prof/cln/ccu/edu-info/fidel.htm
[Vassileva & Wasson, 1996]
J. Vassileva, B. Wasson. “Instructional Planning Aproaches: from
Tutoring towards Free Learning”. Proceedings of EUROAIED’96,
Lisboa, 30.9 - 2.10 pp 1-8, 1996
[Weber & Brusilovsky, 2001]
G. Weber, P. Brusilovsky, “ELM-ART: An Adaptive Versatile
System for Web-based Instruction”, International Journal of
Artificial Intelligence in Education, 12, 351-384, 2001.
[Wenger, 1987].
E. Wenger. Artificial Intelligence and Tutoring Systems, Morgan
Kaufmann Publishers, Inc., 1987.
[Zhou, 1994]
G. Zhou, J.T.L. Wang, P.A. Ng. “A Knowledge-Based Tutoring
System for SQL Programing”. Proc. Sixth IEEE International
Conference Tools with Artificial Intelligence, pp. 352-358, New
Orleans, 1994.
214
Descargar