DEPARTAMENTO DE INGENIERÍA TELEMÁTICA MÁSTER EN INGENIERÍA DE TELECOMUNICACIÓN DISEÑO E IMPLEMENTACIÓN DE UN MÓDULO DE ANALÍTICA DE APRENDIZAJE EN LA PLATAFORMA KHAN ACADEMY Autor: José Antonio Ruipérez Valiente Tutor: Pedro José Muñoz Merino Leganés, Octubre 2013
130
Embed
DISEÑO E IMPLEMENTACIÓN DE UN MÓDULO DE ANALÍTICA DE APRENDIZAJE …eprints.networks.imdea.org/1158/1/design_and... · 2015-10-29 · RESUMEN El proceso de aprendizaje está sufriendo
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
DEPARTAMENTO DE INGENIERÍA TELEMÁTICA
MÁSTER EN INGENIERÍA DE
TELECOMUNICACIÓN
DISEÑO E IMPLEMENTACIÓN DE
UN MÓDULO DE ANALÍTICA DE
APRENDIZAJE EN LA
PLATAFORMA KHAN ACADEMY
Autor: José Antonio Ruipérez Valiente
Tutor: Pedro José Muñoz Merino
Leganés, Octubre 2013
RESUMEN
El proceso de aprendizaje está sufriendo cambios debido a las posibilidades que proporcionan las
nuevas tecnologías en la educación. Una de estas posibilidades es la de recopilación exhaustiva de
datos. Actualmente, la mayoría de plataformas de e-learning son capaces de recopilar un gran
conjunto de datos de las interacciones de los alumnos en forma de eventos. Sin embargo, esos
datos de bajo nivel son difícilmente interpretables directamente por los actores que intervienen en
el aprendizaje. Un gran reto es como transformar esos datos de bajo nivel en información
inteligente y mostrarla a profesores y alumnos de una manera que sea sencilla de interpretar por
ellos. Estos aspectos los trata el área de analítica de aprendizaje (learning analytics) que ha emergido
con fuerza en los últimos años. La plataforma Khan Academy es una de las pioneras en mostrar
información relevante del proceso de aprendizaje, pero su funcionalidad puede ser ampliamente
mejorada para incluir nueva información inteligente que sea de utilidad para mejorar el proceso de
aprendizaje. En este trabajo, se ha diseñado e implementado un módulo de analítica de aprendizaje
para la plataforma Khan Academy, que extiende el soporte que proporciona esta plataforma por
defecto. Para ello, se han definido una serie de parámetros interesantes para conocer más acerca del
proceso de aprendizaje y se ha establecido la manera de procesarlos a partir de datos de bajo nivel.
Además, se han implementado estos parámetros, así como visualizaciones basadas en ellos de
manera que se muestren informaciones tanto individuales como de la clase. Para todo ello, se han
utilizado tecnologías como el lenguaje de programación Python, la infraestructura Google App
Engine, base de datos basada en Big Data, o Google Charts. Finalmente, se muestra como este
módulo y los parámetros definidos pueden ser utilizados para evaluar el proceso de aprendizaje,
ilustrándolo en los cursos 0 de la Universidad Carlos III de Madrid, donde se ha utilizado la
plataforma Khan Academy así como el módulo desarrollado en este trabajo fin de máster.
Palabras clave: visualizaciones, Khan Academy, procesado de datos, aprendizaje a distancia,
analítica de aprendizaje, e-learning, recomendaciones, arquitectura.
ABSTRACT
The learning process is changing due to the possibilities offered by the new technologies in
education. One of these possibilities is the exhaustive collection of data. Currently, most e-learning
platforms are able to collect large data set of students’ interactions as events. However, these low
level data are difficult to be interpreted directly by learning stakeholders. A major challenge is how
to transform these low level data into intelligent information, and show them to teachers and
students in an understandable way. Learning analytics, which is the science that deals with this
problem, has emerged strongly in recent years. Khan Academy is one of the pioneering platforms
to show relevant information about the learning process. However, Khan Academy’s learning
analytics module can be greatly improved to include new intelligent information that is useful to
enhance the learning process. In this work, we have designed and implemented a learning analytics
module for the Khan Academy platform, which extends the Khan Academy learning analytics
support by default. In this way, we propose a set of interesting parameters in order to learn more
about the learning process, and we establish a way to process them from the low level data.
Furthermore, these parameters have been implemented, as well as individual and class visualizations
based on these parameters. We have used technologies like the Python programming language,
Google App Engine infrastructure, Datastore based on Big Data, or Google Charts. Finally, we
show how this module and the defined parameters can be used to evaluate the learning process. We
apply this evaluation to undergraduate remedial courses at Universidad Carlos III de Madrid, where
the Khan Academy platform and the module developed in this master thesis have been used.
Figura 1. Diagrama de Gantt de la planificación del proyecto acometido. ................................................................................ 14
Figura 2. Publicidad mediante AdSense de Google. ................................................................................................................ 17
Figura 3. Mis recomendaciones en la red social de fotografía Flickr. ........................................................................................ 17
Figura 4. Recomendaciones en comercio electrónico en Amazon................................................................................................ 17
Figura 5. Nike Plus dashboard. (tomada de http://stokedbunny.files.wordpress.com/2011/05/graphic.jpg) ........................ 18
Figura 6. Visualizaciones de monitorización del sueño mediante pulsera Jawbone. (tomada de https://jawbone.com/up) ....... 18
Figura 7.Ciclo de learning analytics tomado de [9]. ................................................................................................................. 20
Figura 8. Entorno de trabajo para obtener datos CAM en [11]............................................................................................. 21
Figura 9. Grafo de representación de los principales elementos de la ligadura CAM-RDF en [12]. ........................................ 22
Figura 10. Modelo de los posibles comportamientos de usuario en [13].................................................................................... 22
Figura 11. Visualización de ejemplo de datos CAM [15]. .................................................................................................... 24
Figura 12. Visualización de ejemplo de los mensajes intercambiados en forma de red social en CAMera [17]. ....................... 24
Figura 13. Ejemplo de visualización para monitorizar la actividad de los estudiantes [17]. .................................................... 24
Figura 14. Visualización en CourseVis de los estudiantes que han iniciado hilos de discusión [18]. ....................................... 25
Figura 15. Visualización del rendimiento de los estudiantes en CourseVis mediante una matriz [18]. ................................... 25
Figura 16. Representación del comportamiento de los usuarios en CourseVis [18]. ................................................................. 26
Figura 17. Visualización de actividad por usuario en Moodog [20]. ...................................................................................... 27
Figura 18. Visualización de estadísticas por recurso en Moodog [20]. .................................................................................... 27
Figura 19. Ejemplo de herramienta de recomendación de artículos [23]................................................................................... 28
Figura 20. Recomendación de recursos relevantes en foro del sistema AnnForum [24]. ............................................................ 28
Figura 21. Modelo de recomendaciones [25]. ........................................................................................................................... 29
Figura 22. Implementación del modelo recomendaciones en dotLRN [25]. .............................................................................. 29
Figura 23. Icono de Khan Academy. ...................................................................................................................................... 30
Figura 24. Pantalla de inicio de Khan Academy en UC3M. .................................................................................................. 31
Figura 25. Knowledge Map en Khan Academy. ...................................................................................................................... 31
Figura 26. Interfaz para el visionado de vídeos en Khan Academy. ......................................................................................... 32
Figura 27. Interfaz para la realización de ejercicios en Khan Academy. .................................................................................. 33
Figura 28. Interfaz con algunas medallas que es posible ganar. ............................................................................................... 34
Figura 29. Interfaz para la creación de un nuevo reto o goal. ................................................................................................... 34
Figura 30. Progress Report de la clase en Khan Academy. ...................................................................................................... 35
Figura 31. Progress Sumary de la clase en Khan Academy. .................................................................................................... 35
Figura 32. Skill Progress Over Time de la clase en Khan Academy ........................................................................................ 36
Figura 33. Informe de Activity individual en Khan Academy. ................................................................................................ 36
Figura 34. Visualización Focus individual en Khan Academy. .............................................................................................. 37
Figura 35. Representación polinomio para el progreso efectivo en ejercicios. ............................................................................... 44
Figura 36. Representación polinomio para el progreso efectivo en vídeos. .................................................................................. 45
Figura 37. Representación gráfica de la función de eficiencia de videos. ..................................................................................... 48
Figura 38. Modelo cognitivo para la extracción de perfiles de estudiante. ................................................................................. 53
Figura 39. Diagrama del diseño del sistema ALAS-KA integrado con Khan Academy......................................................... 63
Figura 40. Modelo de datos. Entidades de Khan Academy (amarillo) y ALAS-KA (azul) así como su relación. .................. 66
Figura 41. Diseño para el procesamiento de datos. .................................................................................................................. 68
Figura 42. Cajas de selección para visualizar la información de los diferentes cursos. ............................................................... 70
Figura 43. Ejemplo de diferentes usuarios cargados en función del curso seleccionado. .............................................................. 71
Figura 44. Ejemplo de visualización de barras en ALAS-KA. ............................................................................................. 74
Figura 45. Ejemplo de visualización de diagrama de tarta en ALAS-KA. ........................................................................... 74
Figura 46. Consola interactiva del servidor de desarrollo dev_appserver. .................................................................................. 80
Figura 47. Prueba modular. Ejecutando cron job para verificar su funcionalidad. ................................................................... 81
Figura 48. Prueba modular. Comprobación de que las tasks se han encolado. ......................................................................... 81
Figura 49. Prueba modular. Consulta de las diferentes tasks encoladas. .................................................................................. 82
Figura 50. Prueba global. Ejecución de todos los cron job de procesado. ................................................................................... 82
Figura 51. Comprobación de entidades a través del Datastore Viewer. ................................................................................... 84
Figura 52. Cron jobs y queues de ALAS-KA en rojo en conjunto con las de Khan Academy. ............................................... 84
Figura 53. Porcentaje de completado de los vídeos que han sido empezados. ............................................................................. 89
Figura 54. Número de proficiency alcanzadas en los ejercicios por cada uno de los usuarios. .................................................... 90
Figura 55. Distribución del tiempo en los diferentes temas. ...................................................................................................... 91
Figura 56. Histograma de la eficiencia de ejercicios correctos con respecto de los intentados de los usuarios. ............................... 92
Figura 57. Eficiencia temporal de los usuarios resolviendo ejercicios de forma correcta. ............................................................. 92
Figura 58. Representación visual de los parámetros NVA y NVC para obtener abandono de vídeos. ................................... 93
Figura 59. Representación visual de los parámetros NEA y NEP para obtener el abandono de ejercicios............................... 94
Figura 60. Distribución del tiempo de usuario en azul tiempo en ejercicios (TE) y verde en vídeos (TV). ................................ 95
Figura 61. Medidas de varianza y media del tiempo en la plataforma de algunos usuarios. ..................................................... 96
Figura 62. Distribución del tiempo en intervalos temporales de mañana (azul), tarde (verde) y noche (amarillo). ..................... 96
Figura 63. Número de medallas conseguidas por usuario comparadas con el valor medio. ........................................................ 98
Figura 64. Histograma que representa el porcentaje de ejercicios accedidos mediante recomendación. ......................................... 98
Figura 65. Distintos perfiles de comportamiento obtenidos a partir de la aplicación de un modelo cognitivo. ............................. 99
Figura 66. Medidas de Uso Total de la Plataforma parámetros UEE1 y UEE2 en ALAS-KA. ...................................... 101
Figura 67. Medida de Uso Total de la Plataforma parámetro UEV1 en ALAS-KA. ....................................................... 102
Figura 68. Medida de Uso Total de la Plataforma parámetros AE y AV ......................................................................... 102
Figura 69. Medida de Uso Total de la Plataforma parámetros EO y focalizador (FE y FV) ............................................. 102
Figura 70. Medidas de Correcto Progreso en la Plataforma parámetros PE y PV. ............................................................... 103
Figura 71. Medidas de Correcto Progreso en la Plataforma parámetros EJ4 y EV. .............................................................. 103
Figura 72. Medidas de Hábitos de Ludificación parámetros de motivación en medallas......................................................... 104
Figura 73. Medidas de Distribución del Tiempo de Uso de la Plataforma. ........................................................................... 104
Figura 74. Medidas de Hábitos Resolviendo Ejercicios parámetros SR y UO. ..................................................................... 105
Figura 75. Medidas de Hábitos Resolviendo Ejercicios parámetros de CEP, CEV, CUI y CAP. ..................................... 105
Figura 76. Ejemplo de estudiante con altas tasas de abandono en ALAS-KA. ................................................................... 106
Figura 77. Ejemplo de estudiante que abandona ejercicios pero completa los vídeos. ............................................................... 106
Figura 78. Ejemplo de estudiante que hace progreso sólo en ejercicios. .................................................................................... 107
Figura 79. Comparación de estudiantes con progreso similar pero diferentes eficiencias. .......................................................... 107
Figura 80. Distribución del tiempo de trabajo con eficiencias similares en todos los intervalos horarios. .................................. 108
Figura 81. Distribución del tiempo de trabajo con eficiencias muy dispares en los intervalos horarios. ..................................... 108
Figura 82. Comparación de la constancia de trabajo de dos estudiantes en la plataforma. ...................................................... 109
Figura 83. Comparativa del interés de las medallas y los elementos opcionales entre dos estudiantes. ...................................... 110
Figura 84. Comparación de estudiantes con parámetro SR muy diferentes. ............................................................................ 110
Figura 85. Ejemplo de los parámetros de comportamiento resolviendo ejercicios de estudiante no abusador de pistas. .............. 111
Figura 86. Ejemplo de estudiante con comportamiento no reflexivo y abusador de pistas predominante. ................................. 111
Figura 87. Ejemplo de estudiante con perfiles predominantes de evitador de pistas y vídeos. ................................................... 112
Figura 88. Página de entrada home a ALAS-KA. ............................................................................................................. 118
Figura 89. Pantalla about para el contacto con las personas que han desarrollado ALAS-KA. ........................................... 119
Figura 90. Interfaz de visualizaciones individuales de la pestaña user en ALAS-KA. ......................................................... 120
Figura 91. Visualizaciones individuales de Uso Total de la Plataforma en ALAS-KA. ..................................................... 120
Figura 92. Visualización de la Distribución Temporal del Uso en la Plataforma en ALAS-KA. ...................................... 121
Figura 93. Ejemplo de visualización de los Hábitos Resolviendo Ejercicios en ALAS-KA. ................................................. 121
Figura 94. Ejemplo de visualización de clase de Progreso Correcto en la Plataforma en ALAS-KA. ................................... 122
Figura 95. Visualizaciones de clase de distribución temporal y uso de elementos opcionales en ALAS-KA. ......................... 122
ÍNDICE DE TABLAS
Tabla 1. Planificación temporal del trabajo realizado. ............................................................................................................. 14
Tabla 2. Learning y Academic Analytics [6]. ........................................................................................................................ 19
Tabla 3. Distribución del tiempo en intervalos horarios de la clase. .......................................................................................... 97
Tabla 4. Clasificación de los usuarios en perfiles horarios de uso. ............................................................................................. 97
Tabla 5. Tabla de correlación entre perfiles de comportamiento. ............................................................................................. 100
10
CAPÍTULO 1.
INTRODUCCIÓN
En este primer capítulo se explica cuál es la motivación para abordar este trabajo así como los
objetivos que se proponen. Además, se incluye la planificación de trabajo durante el periodo de
duración del proyecto y la estructura en la que está organizada la memoria del trabajo fin de máster.
1.1. MOTIVACIÓN
En los últimos años ha habido un incremento de la educación a distancia utilizando plataformas de
e-learning, ya sea mediante cursos completamente online o combinando educación presencial y
online. Inicialmente, las plataformas denominadas LMSs (Learning Management Systems) como
Moodle, WebCT, dotLRN o Dokeos han sido las mayormente empleadas para contener los cursos
y clases virtuales. Los cursos contenidos en plataformas LMSs son habitualmente privados y
restringidos a un número limitado de personas.
En la actualidad, ha surgido con fuerza el término MOOC (Massive Online Open Course). La
generación del término MOOC así como la aparición de multitud de ellos por las mejores
universidades del mundo, ha sido uno de los fenómenos de más impacto en el sector del e-learning.
Estos cursos masivos abiertos online, se diferencian de lo que ya venía siendo habitual desde hace
tiempo por distintas universidades, precisamente en ese componente que aglutina a tanta gente al
mismo tiempo: un mismo curso al que cualquiera se puede suscribir, bajo un calendario, siendo
tomado por miles de alumnos simultáneamente en todas las partes del mundo. Esta nueva
componente añade nuevos requisitos para las plataformas de e-learning como la necesidad de un
registro y suscripción sencillos, diferentes aspectos de la interfaz, funcionalidades sociales más
potentes, o mayor importancia de pruebas como revisión entre iguales al no ser factible para los
profesores corregir a una cantidad de alumnos tan grande. Algunas de las plataformas que han
surgido para dar respuesta a este nuevo paradigma son Coursera, Udacity, edX, MiriadaX o Khan
Academy.
Entre las necesidades que surgen con la introducción de los MOOCs, se acrecienta la de tener una
analítica de aprendizaje (learning analytics) potente, que permita realizar un seguimiento automático
detallado de los alumnos y así poder evaluar el mismo. Este aumento de necesidad de herramientas
automáticas para evaluar el proceso de aprendizaje se justifica debido a la gran cantidad de alumnos
que hay en estos cursos. Sin embargo, muchas plataformas de e-learning actuales tienen un pobre
soporte de learning analytics. Otras plataformas de e-learning han introducido importantes
características de learning analytics pero queda margen para poder ampliar este soporte con
características relevantes.
Entre los grandes retos de learning analytics está cómo a partir de datos de bajo nivel (usualmente
en forma de eventos que contienen datos como un nombre, acceso a recurso o tiempo en que se
produjo) se pueden obtener, a través de un procesado, información relevante para el proceso de
Capítulo 1. Introducción.
11
aprendizaje que pueda ser interpretada fácilmente por profesores o alumnos. Los datos
almacenados en grandes bases de datos educacionales son difícilmente interpretables a simple vista,
pero sin embargo tienen gran potencial informativo sobre la interacción del usuario sobre su
proceso de aprendizaje. La clave se encuentra en determinar la información que resulta de utilidad
para mejorar el proceso de , y cómo es posible conseguirla mediante una transformación de los
datos que se encuentran disponibles. Esta información y modo de obtenerla depende en muchos
casos del tipo de plataforma a considerar: su semántica y funcionalidades concretas.
La Universidad Carlos III de Madrid ha elegido en los años 2012 y 2013 a la plataforma Khan
Academy como plataforma de soporte on-line para algunos cursos 0. En esta plataforma, los
alumnos pueden interaccionar con videos o ejercicios durante todo Agosto antes de ir a las clases
presenciales de los cursos 0 en Septiembre. La plataforma Khan Academy tiene un buen soporte de
learning analytics, siendo una de las más avanzadas en este aspecto. La plataforma proporciona
bastantes datos de bajo nivel y algunas medidas de alto nivel sobre el proceso de aprendizaje. Pero
se ha querido mejorar considerablemente este soporte para poder comprender mejor el aprendizaje
en los cursos soportados por esta plataforma, y en particular para los cursos 0 de la Universidad
Carlos III de Madrid.
Se quiere extender el soporte de learning analytics de la plataforma Khan Academy para poder ser
capaces de ofrecer respuestas a preguntas como por ejemplo: ¿Qué usuario ha sido más eficiente?,
¿Está motivado por los elementos de ludificación?, ¿En qué horario del día trabaja mejor?, ¿Ha
abusado de pistas?, ¿Qué alumno ha sido más constante?
Con todo esto, se puede mejorar ampliamente el conocimiento que se tiene sobre el proceso de
aprendizaje de los estudiantes durante los cursos online en la plataforma Khan Academy. Este
conocimiento puede proporcionar las vías a los profesores para ser capaces de actuar antes de que
un estudiante abandone el curso, de realizar recomendaciones personalizadas en función de los
resultados de cada estudiante, o adaptar los contenidos del curso en función de las preferencias y
hábitos de los usuarios. Así mismo, puede proporcionar a los alumnos un medio de autorreflexión
de su aprendizaje para intentar cambiar determinados hábitos. En definitiva vías para mejorar el
aprendizaje.
1.2. OBJETIVOS
Este trabajo fin de máster tiene 3 objetivos fundamentales que se pasan a explicar a continuación.
Así mismo, por cada uno de los objetivos, se explicarán las habilidades requeridas para realizarlos.
1º Objetivo: Diseño de parámetros de alto nivel del proceso de aprendizaje para la
plataforma Khan Academy.
El primer objetivo es el diseño de un conjunto de parámetros que sean capaces de ofrecer
información de alto nivel sobre el proceso de aprendizaje. Estos parámetros de alto nivel serán
generados a partir de los datos de bajo nivel almacenados. Este diseño incluirá la definición e
interpretación exacta de cada uno de los parámetros de alto nivel, así como la manera exacta de
realizar el procesado de los datos de bajo nivel para poder inferirlos. Los datos de bajo nivel están
formados por un conjunto de eventos. Cada evento tiene información como el tiempo en que se
produce, el tipo de acción, recurso sobre el que se produce, o tipo de aplicación.
La semántica de dichos parámetros de alto nivel estará adaptada a la plataforma Khan Academy
debido a que es el sistema que se va a utilizar, pero bastantes de ellos serán extrapolables a otras
Capítulo 1. Introducción.
12
plataformas similares. Los parámetros estarán agrupados en bloques temáticos por funcionalidad
para ofrecer un tipo de información determinada.
Los requisitos principales para el desarrollo de este objetivo son una capacidad analítica profunda
para seleccionar los parámetros de alto nivel y elegir cómo realizar el procesado de los datos de bajo
nivel, así como un conocimiento del funcionamiento interno de la plataforma sobre la cual se van a
adaptar las medidas, en este caso Khan Academy. La capacidad para ver cuál es la información que
puede ser interesante para mejorar el proceso de aprendizaje y cómo se puede inferir dicha
información a partir de los datos disponibles, requiere un proceso de diseño, formulación
matemática y algorítmica pero también de creatividad. Así mismo, es necesario tener un amplio
conocimiento del estado del arte en el sector para saber qué cosas se han propuesto ya en otras
plataformas.
2º Objetivo: Diseño e implementación de una extensión del módulo de learning analytics
de la plataforma Khan Academy
Una vez que el conjunto de parámetros de alto nivel está diseñado, hay que implementar dichos
parámetros realizando los procesados tal como se definieron. Así mismo, hay que realizar un
conjunto de visualizaciones para mostrar dichos parámetros adecuadamente tanto individualmente
como de la clase en global. Así mismo, hay que tener en cuenta la plataforma Khan Academy para
integrar el módulo en ella, definiendo una arquitectura global. En esta línea, el segundo objetivo
será el diseño e implementación del “Add-on for the Learning Analytics Support in the Khan
Academy platform” (ALAS-KA), que incluirá una serie de visualizaciones en la plataforma Khan
Academy para alumnos y profesores, basados en los parámetros definidos en el objetivo 1.
Para el desarrollo de esta tarea es necesario tener conocimientos de desarrollo de software y
sistemas, así como de integración de software. Más concretamente es necesario el conocimiento de
las tecnologías sobre las cuales que se va a construir la aplicación que son: Google App Engine
(servidor y persistencia de datos con tecnologías de Big Data) y Python (lenguaje de programación).
Así mismo, debido a la importante componente de procesado de datos, también hay que tener
conocimientos de Data Science para hacer un adecuado diseño de esta importante parte de la tarea.
También son aconsejables conocimientos de usabilidad para la interfaz de la aplicación.
3º Objetivo: Combinación de parámetros y visualizaciones para evaluación de cursos, y su
aplicación práctica a los cursos 0.
En los objetivos anteriores se ha propuesto un modelo de parámetros y se ha implementado una
aplicación que los implementa y visualiza. En este objetivo se trata de definir una manera de
combinar dichos parámetros y visualizaciones para tener una evaluación de los cursos a los que se
aplica. Así mismo, se pretende ilustrar estas evaluaciones en cursos reales en el contexto de los
cursos 0 en la plataforma Khan Academy en los años 2012 y 2013.
Este objetivo requiere de capacidades analíticas y evaluativas, así como pensamiento crítico y
objetivo. Es importante tener en mente el proceso de aprendizaje del estudiante y las variables que
lo componen, tener empatía y ciertos conocimientos pedagógicos y de tendencias de aprendizaje a
la hora de evaluar los resultados de cada alumno o a nivel de clase para ser capaces de discernir cual
es la información que se puede inferir a partir de los resultados. Así mismo, se requiere el uso de
conocimientos y herramientas estadísticas para utilizar por ejemplo correlaciones entre diferentes
parámetros y obtener datos estadísticamente relevantes.
Capítulo 1. Introducción.
13
1.3. PLANIFICACIÓN TEMPORAL DEL TRABAJO
En este punto se muestra la planificación del trabajo que se ha realizado. En la tabla 1 se ilustra los
nombres de las diferentes tareas que se han realizado, las fechas de inicio y fin, y la duración de cada
tarea. La columna de predecesores hace referencia a las tareas que debían de ser completadas
previamente a empezar esa para establecer las relaciones entre unas y otras.
WBS Nombre de la tarea Comienzo Fin Duración Predecesores
1 Familiarización con la
plataforma Khan Academy (KA)
Mon 02/07/12
Tue 31/07/12
22 days
2
Preparación cursos 0 2012 (Colaboración en la configuración de la
plataforma)
Mon 16/07/12
Wed 01/08/12
13 days
3 Estudio tecnologías de KA:
Python , Google App Engine, Datastore
Wed 01/08/12
Mon 10/09/12
29 days 1
4
Diseño de un conjunto de parámetros de alto nivel a
partir de datos de bajo nivel de Khan Academy
Mon 10/09/12
Mon 22/10/12
31 days 3
5
Aplicación de los parámetros (mediante
scripts) y evaluación del curso 0 de física 2012
Mon 22/10/12
Fri 09/11/12
15 days 4
6
Revisión del conjunto de parámetros en base a los
resultados de su evaluación anterior
Mon 12/11/12
Mon 03/12/12
16 days 5
7 Especificación de requisitos
de ALAS-KA Mon
03/12/12 Fri
21/12/12 15 days
8 Periodo no trabajado por preparación final de curso
máster
Tue 25/12/12
Mon 11/02/13
35 days
9 Diseño de la estructura y procesado de datos en
ALAS-KA
Mon 11/02/13
Mon 11/03/13
21 days 7
10 Preparación entorno de
trabajo y pruebas iniciales Mon
11/03/13 Mon
25/03/13 11 days 9
11 Codificación interfaz de
usuario (lógica de negocio y visual) de ALAS-KA
Tue 26/03/13
Tue 16/04/13
16 days 10
12
Codificación del módulo de procesado de datos y de las visualizaciones de ALAS-
KA
Wed 17/04/13
Tue 02/07/13
55 days 11
13 Codificación de
modificaciones en base a Wed
03/07/13 Fri
26/07/13 18 days 12
Capítulo 1. Introducción.
14
feedback y retoques finales en ALAS-KA.
14
Preparación cursos 0 2013 (Integración, Validación y Mantenimiento de ALAS-
KA)
Mon 15/07/13
Fri 02/08/13
15 days
15 Periodo no trabajado por
descanso Sat
03/08/13 Sun
18/08/13 12 days
16 Diseño y redacción
memoria TFM Mon
19/08/13 Fri
04/10/13 35 days
Tabla 1. Planificación temporal del trabajo realizado.
Esta tabla 1 se traduce en el siguiente diagrama de trabajo temporal Gantt mostrado en la figura 1
en el que los números de cada una de las tareas están asociados a los códigos WBS (Work
Breakdown Structure) que aparecen en la tabla 1.
Figura 1. Diagrama de Gantt de la planificación del proyecto acometido.
1.4. ESTRUCTURA DE LA MEMORIA
En este apartado se va a comentar la estructura en la cual ha quedado divida la memoria del trabajo
fin de máster.
Capítulo 1. Introducción.
En este primer capítulo se aborda la introducción al proyecto que se ha desarrollado. Se comentan
las motivaciones que han impulsado a realizar dicho proyecto y cuáles son los objetivos que se
plantean. También se comenta como se ha organizado la planificación del trabajo a lo largo del
periodo en el que se ha afrontado este proyecto.
Capítulo 2. Estado del arte.
Debido a que este proyecto está enmarcado en el área de learning analytics, cuya línea de trabajo se
encuentra todavía en sus primeras fases y sobre todo en periodo de investigación, es necesario
hacer una revisión de los trabajos que han sido realizados en los diferentes artículos a nivel
internacional. Por ello en este capítulo segundo se hace un repaso de las diferentes aplicaciones e
Capítulo 1. Introducción.
15
investigaciones que documentan trabajos sobre learning analytics en distintos tipos de experiencias.
También se hace una revisión de la funcionalidad y el soporte que incluye la plataforma Khan
Academy puesto que es la que se utiliza en este proyecto y es necesario conocer su funcionamiento.
Capítulo 3. Propuesta de parámetros de alto nivel.
El capítulo tercero describe el modelo propuesto para obtener información de alto nivel a partir de
los datos de bajo nivel generados por eventos existentes en la plataforma Khan Academy. Las
medidas son agrupadas por funcionalidad en bloques siendo la mayoría de ellas descrita mediante
formulación matemática.
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
El cuarto capítulo se centra en la descripción del proceso de desarrollo de ALAS-KA. Se
describirán las etapas que han sido necesitadas para el desarrollo del software que son las siguientes:
Especificación de requisitos, análisis y diseño, implementación, pruebas, integración, validación y
verificación, mantenimiento.
Capítulo 5. Evaluación del proceso de aprendizaje.
El quinto capítulo se centra en la evaluación del modelo de parámetros propuesto así como de los
resultados conseguidos mediante ALAS-KA. Esta evaluación está basada en los datos generados en
dos experiencias reales de la universidad Carlos III de Madrid usando la plataforma Khan Academy.
Capítulo 6. Conclusiones y trabajo futuro.
El sexto capítulo se centra en comentar las conclusiones obtenidas después del trabajo realizado, los
resultados alcanzados asociados a dicho proyecto y las líneas de trabajo futuro que se plantean.
Apéndice 1: Manual de usuario.
El primer apéndice que se incluye describe la funcionalidad básica de la plataforma implementada
ALAS-KA de manera que un usuario no técnico comprendiera como utilizarla.
Apéndice 2: Manual de instalación.
El segundo apéndice describe los pasos técnicos a realizar para instalar ALAS-KA en una
plataforma de Khan Academy a través de la cual se deseen impartir cursos.
16
CAPÍTULO 2.
ESTADO DEL ARTE
En este capítulo se hace un repaso de los diferentes trabajos relacionados con el proyecto que se
aborda aquí. En primer lugar se hará una revisión de lo que se considera “learning analytics” y estas
tecnologías de Big Data. Se proseguirá con una revisión de las fases del proceso de learning
analytics, así como ejemplos de visualizadores y recomendadores. Para terminar se hará un repaso
de la plataforma Khan Academy y en especial del soporte de learning analytics que ofrece por
defecto.
2.1. BIG DATA Y LEARNING ANALYTICS EN LA ACTUALIDAD
En los tiempos de un hoy en día donde la mayoría de los servicios y herramientas han sido
informatizados, se están generando más datos que nunca y es por ello que se está empezando a
llamar esta era como la del Big Data. Algunos informes como el de IBM [1] estiman que el 90% de
los datos existentes han sido creados en los últimos dos años debido al boom que ha habido en el
sector. Este hecho aumenta las necesidades de cada empresa de reorganizarse para adaptarse a esta
nueva era, y hacer uso de las grandes cantidades de datos que abren nuevas posibilidades y modelos
de negocio.
Se puede establecer una analogía entre el sector de marketing y negocio donde las técnicas de data
mining y de business intelligence [2] están muy extendidas en las compañías actuales. Uno de los
problemas más importantes dentro de las herramientas de business intelligence es cómo manejar
millones y millones de registros de datos que por sí solos no son entendibles y transformarlos en
información de alto nivel para que los stakeholders [3] de la organización tengan un soporte para la
toma de decisiones. En el sector de e-learning se está buscando un desenlace similar. Algunos de los
resultados que están consiguiendo las empresas en esta línea son las siguientes:
Crear nuevas aplicaciones que antes no eran posibles.
Adaptar y desarrollar ventajas competitivas.
Hacer más feliz al cliente.
Reducir costes.
El Big Data está presente en multitud de sectores, y la utilidad que se le da en cada uno es diferente,
en cada área intenta adaptarse a los intereses propios. A continuación se presentan algunos
ejemplos de la utilización de las tecnologías de Big Data en diferentes sectores:
Capítulo 2. Estado del arte.
17
Figura 2. Publicidad mediante AdSense de Google.
En la figura 2 aparecen ofertas de publicidad relacionadas con el producto AdSense de Google.
AdSense está embebido en páginas webs y genera de forma dinámica publicidad asociada a lo que el
usuario ha buscado anteriormente en Google. Es claramente un ejemplo del uso de los datos
generados y guardados sobre el usuario para adaptar la publicidad de manera personalizada.
Figura 3. Mis recomendaciones en la red social de fotografía Flickr.
Otra de las áreas que está en auge en la actualidad son las redes sociales, que también se han
adaptado a las nuevas posibilidades en este sector. Se pueden ver ejemplos de recomendaciones de
personas que podrías conocer (figura 3), o páginas que te podrían interesar. Estas recomendaciones
pueden estar basadas en las interacciones de los usuarios con la red social, sus círculos de amigos, u
otras cosas que los usuarios han marcado como que le gustan.
Figura 4. Recomendaciones en comercio electrónico en Amazon.
Las compras online mediante el comercio electrónico han aumentado exponencialmente con el
aumento de la confianza del consumidor y con la mejora de la seguridad tecnológica. Este tipo de
comercio facilita que la gente no tenga la necesidad de desplazarse a los lugares físicos para realizar
sus adquisiciones. También se han aprovechado las nuevas tecnologías para mejorar sus servicios
con sistemas recomendadores de productos a los usuarios como el de Amazon (figura 4) que
facilitan las compras a los consumidores.
Capítulo 2. Estado del arte.
18
Los anteriores ejemplos han estado especialmente centrados en recomendaciones que recibe el
usuario pero también hay muchas plataformas que muestran visualizaciones. Actualmente está muy
de moda los diferentes dispositivos de self-tracking. Estos dispositivos recogen grandes cantidades de
datos y tras un posterior procesado muestran ciertas estadísticas y visualizaciones que son de interés
al usuario. Uno de dichos ejemplos se puede ver en el uso de sistema de Nike Plus que recoge datos
cuando el usuario está corriendo y luego muestra ciertas estadísticas y visualizaciones, como se
puede ver en la figura 5.
Figura 5. Nike Plus dashboard. (tomada de http://stokedbunny.files.wordpress.com/2011/05/graphic.jpg)
En relación al self-tracking, están apareciendo diferentes “pulseras inteligentes” que también
recopilan datos sobre el usuario durante todo el día, como por ejemplo el número de pasos, su
actividad nocturna, etcétera. Posteriormente al conectar dicha pulsera a un dispositivo esta descarga
los datos, los cuales son procesados para mostrar las visualizaciones de su actividad al usuario. La
figura 6 muestra un ejemplo de una visualización, en la que se muestra información relativa al
periodo nocturno de sueño del usuario a partir de los datos recogidos durante dicho periodo.
Figura 6. Visualizaciones de monitorización del sueño mediante pulsera Jawbone. (tomada de
https://jawbone.com/up)
Aparte de los usos más conocidos, también otros sectores donde el uso del Big Data está teniendo
éxito. Un ejemplo es los algoritmos para detectar los lugares con más probabilidades de que ocurran
crímenes. En este trabajo [4] han conseguido en algunas experiencias reducir en un 12% los
crímenes en hogares y en un 26% el robo en tiendas.
Capítulo 2. Estado del arte.
19
En el sector del e-learning también se hace uso de los datos generados para extraer información que
sea de utilidad para profesores, alumnos y otros agentes involucrados en el aprendizaje. Se puede
denominar a la aplicación de Big Data en el e-learning como learning analytics o analítica de
aprendizaje. Sin embargo, el término de learning analytics es todavía muy variable y puede tener
diferentes concepciones. De acuerdo a la 1º Conferencia Internacional en Learning Analytics y
Conocimiento [5] se describe como “learning analytics es la medida, recolección, análisis e informe de los datos
sobre los estudiantes y sus contextos, con el propósito de entender y optimizar el aprendizaje y el entorno en el que
ocurre”. En el ámbito del e-learning hay varios términos relacionados con “learning analytics” como
las “academics analytics” o el “educational data mining”. El término “academics analytics” está más
relacionado con la explotación de grandes bases de datos educacionales a nivel institucional [6],
mientras que “learning analytics” se centra más en el proceso de aprendizaje del alumno. La
comparativa entre estos dos términos se pueden ver más en profundidad en la tabla 2.
Tipo de analíticas Nivel u objeto del análisis ¿Quién se beneficia?
Learning Analytics
A nivel de curso: Redes sociales, desarrollo conceptual, análisis del curso, “intelligent
curriculum”
Estudiantes, profesorado
Departamental: modelado predictivo, indicios del
éxito/fracaso Estudiantes, profesorado
Academic Analytics
Institucional: perfiles de aprendizaje, rendimiento
académico, flujo de conocimiento
Administradores, fundadores, marketing
Regional (ciudad/provincia): Comparación entre sistemas
Fundadores, administradores
Nacional e Internacional Gobiernos nacionales,
autoridades educacionales Tabla 2. Learning y Academic Analytics [6].
Así mismo, la diferencia [7] entre los términos “learning analytics” y “educational data mining” es
también difusa. Las técnicas de “educational data mining” se suele asociar a la utilización de
técnicas estadísticas y modelos predictivos para poder producir una acción inteligente en respuesta a
los resultados, mientras que el término “learning analytics” suele tener una concepción más amplia
que incluye, por ejemplo, visualizaciones complejas
El learning analytics se encuentra en etapas más iniciales en comparación con otras tecnologías de
Big Data aplicadas a los campos de comercio electrónico o publicidad por ejemplo. En la actualidad
tan solo ha habido 3 congresos de Learning Analytics habiendo empezado el primero en el año
2011. Aunque algunas plataformas ya incluyen algunos elementos de learning analytics, queda
mucho margen para la investigación para poder deducir y facilitar información relativa al proceso
del aprendizaje.
La educación superior es un campo donde se generan grandes cantidades de datos sobre los
estudiantes. La explotación de estos datos puede mejorarse considerablemente respecto a las
soluciones actualmente presentes. Este entorno de trabajo basado en analíticas puede ayudar a la
toma de decisiones en tiempo durante el proceso de aprendizaje del alumno y tener un gran
impacto en la educación.
Capítulo 2. Estado del arte.
20
2.2. FASES DEL PROCESO DE LEARNING ANALYTICS
El ciclo que engloba los procesos de learning analytics es un tema que ha sido abordado en
diferentes publicaciones. Por ejemplo, el trabajo desarrollado en [8] define el proceso con 5 pasos
que son Captura, Informar, Predecir, Actuar y Refinar. Este trabajo se centra un poco en su fase de
predicción mientras que el trabajo que se aborda aquí, todavía no se han aplicado modelos
predictivos. Otro trabajo que también ha desarrollado una idea similar a esta es [9], la cual se
asemeja más a trabajo desarrollado. En [9] definen el proceso de learning analytics como un ciclo
(que no termina) en el que los estudiantes (1) generan datos (2) y con esos datos se procesan unas
métricas (3), dónde el paso clave es cerrar el ciclo con intervenciones (4) y feedback sobre esos
resultados para mejorar el proceso. En la figura 7 se puede ver dicho ciclo.
Figura 7.Ciclo de learning analytics tomado de [9].
Este ciclo se adapta bien al trabajo que se ha realizado en este proyecto. En primer lugar se
establece un curso en el que van a interaccionar distintos estudiantes. La interacción de dichos
estudiantes generan los datos de bajo nivel que son necesarios. Se procesan los datos de bajo nivel
existentes para generar las métricas y por último en base a los resultados de las métricas se muestran
visualizaciones para hacer un seguimiento de los estudiantes. También es posible realizar
intervenciones en caso de que sean necesarias. Se van a comentar cada una de las secciones un poco
más en profundidad seguidamente.
Entorno de aprendizaje y estudiantes:
La primera parte está constituida por el marco de aprendizaje. Por una parte la plataforma de
aprendizaje, hay una gran cantidad y cada una de ellas tiene su propia semántica. Cada plataforma
también genera unos datos diferentes en un formato determinado. Los estudiantes pueden estar
enmarcados en diferentes contextos. Por ejemplo pueden ser estudiantes universitarios haciendo
una asignatura online, estudiantes informales realizando cursos en las muchas plataformas que
imparten MOOCs de forma gratuita, o estudiantes realizando un máster, por poner algunos
ejemplos.. Los cursos a su vez también pueden ser muy diferentes. Habrá algunos que estén
orientados más a un aprendizaje mediante lectura de lecciones o visionado de vídeos y otros que
tengan un nivel de actividad mayor y haya que resolver muchos ejercicios y cuestionarios. Hay
algunos MOOCs en la actualidad que también tienen consolas para la compilación y la ejecución de
código y esto también puede generar diferentes datos. Por lo tanto en la primera fase hay que
realizar un análisis de todo este entorno y los estudiantes que lo componen.
Capítulo 2. Estado del arte.
21
Generación y captura de datos:
Esta segunda etapa es la conformada por la interacción de los usuarios con la plataforma realizando
el curso. Dicha interacción puede incluir muchas acciones diferentes, como realizar ejercicios, ver
vídeos, hacer log-in en la plataforma, poner un post en el foro o mandar un mensaje a un
compañero como posibles ejemplos. Todas estas acciones realizadas por los estudiantes es posible
que sean capturadas en forma de eventos y almacenados en las bases de datos para su persistencia.
Dependerá de cada plataforma y como gestiona dichos eventos, variará el número de eventos que
son capturados. Por supuesto para el interés y el desarrollo de métricas cuantos más eventos sean
capturados más posibilidades hay luego de inferir información a partir de dichos datos.
Otro tema relacionado es el formato de dichos eventos. Uno de los formatos más diseminados es
aquella que recoge las acciones de los usuarios sobre diferentes recursos así como recuperar el
contexto específico, esta información es denominada CAM (Contextualized Attention Metadata). El
análisis CAM engloba un espectro muy amplio de acciones del comportamiento de un usuario, por
ejemplo la detección de patrones, filtrar información dependiendo del contexto del usuario o la
personalización en función de requisitos del usuario.
El relación a esto, una especificación que también se usa en este contexto es la RDF (Resource
Description Framework) [10], desarrollada por W3C (World Wide Web Consortium) originalmente
como un lenguaje de metadatos. Se usa como método general para realizar descripciones
conceptuales o modelado de información de recursos web, usando una gran variedad de notaciones
y formatos para la serialización de datos.
Hay diferentes trabajos que han propuestos sus propios modelos de datos CAM adaptados al
contexto de cada plataforma. En el trabajo en [11] se propone uno de estos modelos, presenta un
esquema y entorno de trabajo para la recolección y unión de observaciones de tipo CAM en
función del contenido y el contexto. Posteriormente se pueden establecer correlaciones entre las
observaciones, lo que refleja la relación del usuario con los diferentes contextos y contenidos. En la
figura 8 se presenta dicho entorno de trabajo.
Figura 8. Entorno de trabajo para obtener datos CAM en [11].
Otros trabajos han optado por otros formatos como por ejemplo en [12]. En este trabajo se
propone una unión CAM-RDF para extender la información disponible en dichos eventos. Este
tipo de formato también soporta la funcionalidad de observar las observaciones en una forma más
conveniente como algoritmos de grafos. En este trabajo las interacciones generadas por el portal
Capítulo 2. Estado del arte.
22
MACE son almacenadas como datos CAM y con una ligadura XML, para posteriormente mediante
el procesado de una aplicación transformarlos a datos CAM-RDF. Un ejemplo de dichos grafos
con ligadura CAM-RDF se ve en la figura 9.
Figura 9. Grafo de representación de los principales elementos de la ligadura CAM-RDF en [12].
Procesado de métricas:
Una vez que los datos de la interacción de los usuarios con la plataforma ya han sido generados y
capturados en un formato determinado es momento de procesarlos. En el trabajo que se ha
realizado en este proyecto, se incluye el capítulo tercero completo en el que se explica dicho
procesado específico para los datos de Khan Academy. Aunque finalmente esto dependerá de la
semántica de cada plataforma y la forma en la que captura sus eventos. Algunos trabajos se centran
la aplicación de modelos estadísticos, algoritmos, aprendizaje máquina, otros trabajos se centran
más en monitorizar el proceso de aprendizaje de los usuarios para mejorarlo. Dependerá de la
información que se desee inferir y qué datos estén disponibles.
Figura 10. Modelo de los posibles comportamientos de usuario en [13].
El siguiente trabajo [13] hace un procesado de los comportamientos que hace el usuario al intentar
resolver un problema, por ejemplo si pide pistas, si no las pide aunque no sabe la respuesta, si ha
consultado el glosario disponible. Para ello se basa en un modelo de los distintos comportamientos
que puede tener un usuario en cada instante, dicho modelo es similar al que se propone en este
trabajo en el capítulo 3, pero ambos son a su vez diferentes porque están adaptados a las semánticas
Capítulo 2. Estado del arte.
23
de las respectivas plataformas. Dicho modelo que es mostrado en la figura 10, en el cual utiliza los
datos generados por el usuario para inferir distintos comportamientos.
Otros trabajos como el presentado en [14] plantean un modelo de procesado de datos diferente. En
dicho trabajo utilizan los datos disponibles durante todo el curso, los cuales han sido obtenidos
mediante un tutor inteligente para intentar estimar el rendimiento y puntuación obtenido en un
examen del estado (MCAS). Como parte de las variables para estimar dicha nota final, utilizan
diferentes eventos como las pistas pedidas y cuantos intentos han necesitado en vez de centrarse
solo en las puntuaciones de los ejercicios realizados. Posteriormente con todos los datos
disponibles aplican un modelo predictivo para intentar estimar el resultado del examen.
Análisis de los resultados e intervenciones:
La última etapa sería el análisis de los resultados de las métricas que se han obtenido al procesar los
datos. Es complicado ofrecer una forma sistemática de interpretar los resultados de forma
generalizada. Dicha interpretación debe estar sujeta a muchas variables, como la semántica de la
plataforma y del curso (obligatoriedad, voluntario, gratis, pagado…), temática y dificultad del curso,
combinación de diferentes métricas al mismo tiempo, etcétera. De la misma forma, las
intervenciones a realizar por los profesores sobre alumnos en función de los resultados, tienen en
consideración numerosos aspectos pedagógicos que no se van a discutir en este trabajo.
Algunos sistemas recomendadores o de advertencias se basan en condiciones simples para enviar
cierto consejo prediseñado a los profesores o alumnos. Pero todavía faltan soluciones más
inteligentes, que puedan ser entrenadas para obtener la recomendación correcta en función de
multitud de variables. Además en este sector, siempre habrá que tener en cuenta ciertos aspectos
pedagógicos que no existen en otros como el comercio electrónico o las recomendaciones
musicales. Es importante también que el ciclo no acabé aquí, y que se realimente en las futuras
experiencias. Se mejore el entorno, la generación y captura de eventos así como su procesado, para
mejorar iteración a iteración este ciclo de learning analytics.
2.3. VISUALIZADORES
Para los profesores y los alumnos puede resultar de gran utilidad el tener un resumen por ejemplo
de las actividades y como se relación con otros iguales y diferentes participantes en la experiencia
educativa. Hay muchos tipos diferentes de visualizaciones y el objetivo común será la de mejorar el
proceso de aprendizaje. También es importante la posibilidad que les otorga a los usuarios de que
este proceso de aprendizaje no sea ciego y se pueda saber en cada momento en que punto se
encuentra uno del camino.
Existen en la literatura diferentes trabajos de visualizaciones relacionadas con el aprendizaje. En el
artículo [15] se visualizan datos de tipo CAM (Contextualized Attention Metadata) en un entorno
personal de aprendizaje. En dicho trabajo los alumnos pueden realizar diversas acciones/eventos
como (select, enter, send, update, exit, create o search) y van siendo almacenadas en la base de
datos. Posteriormente se pueden ver visualizaciones sobre la actividad de los usuarios de diferentes
formas. Un ejemplo de estas visualizaciones se puede ver en la figura 7, dicha figura presenta
capturas de eventos por tipo así como cuál ha sido la actividad durante la semana, mostrando
claramente un mayor índice en los primeros días de la semana y decreciendo posteriormente debido
a que el uso ha sido menor. También se pueden ver gráficas por ejemplo para ver que eventos son
más comunes en cada tramo horario o día de la semana.
Capítulo 2. Estado del arte.
24
Figura 11. Visualización de ejemplo de datos CAM [15].
Se pude ver otro ejemplo de visualizaciones para soportar la monitorización del trabajo en un
entorno personal de aprendizaje en la herramienta CAMera [16] que está basada también en datos
CAM. La figura 8 muestra un ejemplo de visualización de CAMera de la configuración del entorno
en forma de red social. Dicha visualización adquiere los datos procedentes de los mensajes que han
sido intercambiados entre los distintos usuarios de la plataforma.
Figura 12. Visualización de ejemplo de los mensajes intercambiados en forma de red social en CAMera [17].
Otras visualizaciones están más orientadas a monitorizar la actividad de los estudiantes de forma
general como [17]. En dicha plataforma se realiza un análisis de los objetivos del curso para ver que
usuarios los han completado, y también se puede visualizar el progreso de la clase de forma global.
La figura 9 muestra un ejemplo de visualización de este trabajo en el que se pueden ver las
estadísticas generales de la clase así como los objetivos.
Figura 13. Ejemplo de visualización para monitorizar la actividad de los estudiantes [17].
Seguidamente se muestran dos plataformas que tienen relación ALAS-KA, la plataforma que ha
sido desarrollada en este proyecto. La primera es CourseVis [18], es una plataforma de
visualizaciones que realiza un seguimiento de los datos creados por un LMS que en este caso es
WebCT [19]. CourseVis realiza una transformación de los datos disponibles para luego ponerlos a
disposición en representaciones gráficas que pueden ser exploradas y manipuladas por los
profesores del curso para examinar diferentes características de los usuarios como puede ser
sociales, cognitivas o de comportamiento. Algunas de las líneas para del desarrollo que han seguido
ha sido:
Capítulo 2. Estado del arte.
25
Recibir realimentación de los instructores para saber qué información a distancia podría
resultarle útil.
Diseñar CourseVis de manera que sea sencillo de usar hasta para instructores con
capacidades técnicas limitadas.
Que sea integrado con el LMS de manera que no tengan que aprender a usar una nueva
plataforma.
Es creado como software libre para que pueda ser leído, utilizado o modificado y así sea de
utilidad para el resto de la gente.
Relativo a las relaciones sociales que se establecen entre los alumnos, se puede ver quienes abren
más hilos de discusión o quienes dan más respuestas en la figura 10. Se puede ver la actividad en los
foros de los alumnos en cada día mediante el tamaño de los círculos.
Figura 14. Visualización en CourseVis de los estudiantes que han iniciado hilos de discusión [18].
También CourseVis contiene visualizaciones de matrices para ver el rendimiento de los usuarios en
cada uno de los test. Dicha matriz de rendimiento se puede en la figura 11. Esta matriz muestra en
distintos tonos de gris el rendimiento de cada alumno en cada uno de los ejercicios.
Figura 15. Visualización del rendimiento de los estudiantes en CourseVis mediante una matriz [18].
Además incluyen otras visualizaciones relacionadas con aspectos de comportamiento, los diferentes
aspectos que esta aplicación es capaz de medir son el número de accesos a los diferentes contenidos
de la página por temas, los accesos totales al curso, el progreso del usuario en cuanto a la
planificación del curso, los mensajes, así como las tareas y los test entregados. Toda esta
información es mostrada en la figura 12 mediante una visualización con los diferentes parámetros.
Capítulo 2. Estado del arte.
26
Sin embargo algunas de estas visualizaciones pueden resultar de difícil interpretación y no son del
todo intuitivas, como por ejemplo en la figura 12 se ve que hay una cantidad de información
abrumadora, no está claro a que parámetro pertenece cada resultado y es dificultoso distinguirlos.
Por otra parte la interpretación de forma general es complicada para un usuario que desconozca el
funcionamiento de la plataforma y dicha visualización en concreto.
Figura 16. Representación del comportamiento de los usuarios en CourseVis [18].
La segunda plataforma relacionada es Moodog [20] está basada en Moodle [21], que es actualmente
uno de los LMS de mayor uso y más extendidos. Está establecido en unos 239 países, con un total
de 87079 instituciones que lo usan, se pueden ver unas estadísticas de uso más detalladas en [22].
Debido a esta generalización de su uso, un plug-in como Moodog es un aporte de gran impacto a la
comunidad que usa Moodle, la cual es muy grande. Las diferencias principales entre CourseVis y
Moodle, es que CourseVis es una plataforma independiente mientras que Moodog está integrado
con Moodle como un plug-in. Además Moodog, a parte de las visualizaciones también implementa
un sistema de recordatorios. La plataforma Moodog no se intenta centrar en sólo tipo de registro en
un plano, basan su información en 4 dimensiones: quién, qué, cuándo y dónde.
Han dividido sus visualizaciones en cuatro tipos:
Resumen del curso: Se pueden observar estadísticas generales sobre un curso en particular,
como por ejemplo cuantos estudiantes hay inscritos, cuántos recursos hay disponibles, el
número de veces que un estudiante ha accedido a un recurso, entre otras.
Estadísticas por estudiante: Se usa para poder analizar un estudiante de forma
independiente más en profundidad o hacer una comparación entre distintos estudiantes.
Algunos de los datos que están accesibles son cuantas veces ha accedido el usuario a cada
recurso o a la plataforma, recoge la actividad en el foro con los hilos abiertos y los
mensajes puestos entre otras cosas.
Estadísticas por recurso: Para comprobar si hay problemas con ciertos recursos o cuales no
han sido accedidos aún. Para cada recurso se lista que estudiantes han accedido y el número
de accesos en total.
Estadísticas de tiempo: Permiten al instructor identificar los horarios con los que los
estudiantes intervienen en la plataforma. Ofrece tres periodos de tiempo diferentes:
semanal, día de la semana y hora del día.
Capítulo 2. Estado del arte.
27
La figura 13 muestra una visualización de la actividad realizada por el usuario en Moodog. En dicha
visualización se muestran por cada uno de los usuarios el número de sesiones, el tiempo online, los
recursos vistos así como estadísticas acerca de los foros.
Figura 17. Visualización de actividad por usuario en Moodog [20].
La figura 14 muestra una visualización sobre los accesos a los diferentes recursos de forma
individualizada. Esta visualización permite analizar cada uno de los recursos por separado, lo que
puede ayudar a detectar problemas en recursos en concreto. Muestra el número de accesos totales
así como el número de usuarios diferentes que han accedido.
Figura 18. Visualización de estadísticas por recurso en Moodog [20].
Tanto CourseVis como Moodog se nutren de un LMS ya existente para utilizar los datos que genera
e intentar hacer un seguimiento del aprendizaje de los usuarios, esto es una similitud con el caso de
ALAS-KA. Estos trabajos calculan distintos parámetros para ofrecer visualizaciones y este es el
mismo caso en el que se encuentra este trabajo. Algunas de las visualizaciones de CourseVis
resultan de gran interés, pero de una elevada dificultad de interpretar. De esto se puede establecer la
conclusión de que resulta muy importante que las visualizaciones sean sencillas de entender. Sobre
las visualizaciones de Moodog ofrecían un sistema por barras más sencillo, pero no tienen gran
profundidad y se limitan a mostrar eventos de bajo nivel como accesos o tiempo. De esto se puede
concluir que también es importante realizar un procesado previo para intentar ofrecer parámetros
más complejos y de más utilidad. CourseVis está diseñada para funcionar de forma independiente a
WebCT mientras que Moodog funciona como plug-in de Moodle.
ALAS-KA está diseñada como un plug-in para Khan Academy, pero también tiene la posibilidad de
funcionar como un sistema independiente si se realiza la extracción de datos de Khan Academy,
por lo que es posible su utilización mediante dos arquitecturas diferentes.
Capítulo 2. Estado del arte.
28
2.4. RECOMENDADORES
Otro de los campos en los que también ha habido muchas líneas de trabajo son las
recomendaciones en el campo del aprendizaje a distancia. Como se vio en la primera parte del
estado del arte, las recomendaciones basadas en los sistemas que usan los datos de bajo nivel están a
la orden del día, sin embargo se puede establecer que hay ciertos factores que hacen que el ámbito
de las recomendaciones en el e-learning [23] sea diferente de otros como por ejemplo, las
recomendaciones musicales:
Una de las diferencias principales es tener en cuenta los componentes pedagógicos que
existen intrínsecamente el contexto del aprendizaje. Algunos ítems que les hayan gustado a
ciertos estudiantes, puede que no sean pedagógicamente apropiados para ellos.
Las recomendaciones no deberían ser solo una lista de ítems que les resulta interesantes
sino que también es de vital importancia el orden en el que son vistos.
En este contexto, uno de los campos de mayor investigación ha sido la recomendación de artículos,
que se puede definir como “Dada una representación de mis intereses, búscame artículos relevantes” [23], estos
sistemas suelen combinar distintas técnicas para proporcionar las mejores recomendaciones
posibles a cada usuario. Se puede ver un ejemplo de este tipo de recomendaciones en la figura 15:
Figura 19. Ejemplo de herramienta de recomendación de artículos [23].
En este contexto de aprendizaje virtual, también hay líneas que buscan hilos de discusión que
puedan resultar relevantes para cada usuario en foros según sus intereses. Por ejemplo la
herramienta AnnForum [22] es un plug-in para el entorno FL3. Esta herramienta realiza
recomendaciones de mensajes relevantes y recibe realimentación por parte de los usuarios. Se puede
ver un ejemplo de dichas recomendaciones en la figura 16.
Figura 20. Recomendación de recursos relevantes en foro del sistema AnnForum [24].
Capítulo 2. Estado del arte.
29
En el siguiente ejemplo de recomendador [25] está basado en un modelo de recomendaciones
obtenido a partir de resultados empíricos. Este modelo permite a los desarrolladores el definir
recomendaciones e información adicional para los usuarios de porqué se les está recomendando
dicho recurso. En la figura 17 se muestra le modelo de las recomendaciones, está formado por
diferentes elementos como categorías, técnicas, origen, explicación, restricciones de timeout y
condiciones. Todas estas están relacionadas con el contexto.
Figura 21. Modelo de recomendaciones [25].
Una recomendación pertenece a una de las categorías disponibles, y ha sido generada por una (o la
combinación varias) técnica. En el momento de diseño de las recomendaciones del curso el
desarrollador les atribuye una categoría, restricciones de timeout y añade una explicación. El origen
y la técnica son dependientes de la forma en la que la recomendación fue generada. En el momento
de ejecución, las restricciones y condiciones tienen que ser chequeadas contra el modelo y el
contexto. En este trabajo [25] también han realizado una implementación práctica de este modelo
en la plataforma dotLRN [26] para enriquecer la funcionalidad básica de dicho sistema. La figura 18
muestra una captura de dicha integración.
Figura 22. Implementación del modelo recomendaciones en dotLRN [25].
En la figura 18 se pueden ver los diferentes elementos que se han explicado en el modelo, en dicho
ejemplo se le realizan diferentes recomendaciones en diferentes tipos de recursos así como la
justificación de porque las está recibiendo.
Se han visto en esta sección algunos ejemplos de los recomendadores disponibles en la actualidad.
En el trabajo realizado en el proyecto, se comentarán algunas ideas iniciales de qué
recomendaciones se podrían realizar a los profesores/alumnos en función de cómo es sus hábitos
de aprendizaje en la plataforma de Khan Academy, aunque no es el foco principal de este
desarrollo.
Capítulo 2. Estado del arte.
30
2.5. LA PLATAFORMA KHAN ACADEMY Y SU SOPORTE DE LEARNING
ANALYTICS
La organización Khan Academy [27], la cual se puede ver su icono empresarial en la figura 23, es
una entidad formada sin ánimo de lucro cuya misión es realizar un cambio para mejorar la
educación libre disponible para todo el mundo en cualquier lugar. Su aplicación web está disponible
para el acceso y utilización por parte de cualquier persona así como todos los contenidos que
incluye y de forma totalmente gratuita. Ha tenido un crecimiento espectacular desde su aparición,
en parte por el gran soporte ofrecido por algunas de las más grandes compañías de las TICs como
Google y Microsoft. Khan Academy incorpora la utilización de técnicas novedosas como son el uso
de elementos de gamificación o ludificación (proviene de la palabra inglesa gamification), así como
visualizaciones de learning analytics. En esta sección se realiza un repaso de la plataforma, su
estructura y todos los elementos que incorpora, poniendo especial atención en las funcionalidades
relacionadas con learning analytics para ser capaces de entender el trabajo realizado. El trabajo
realizado utiliza los datos provenientes de este sistema, por lo que es importante conocer su
funcionalidad, estructura, así como los elementos por defecto que incluye.
Figura 23. Icono de Khan Academy.
2.5.1. DESCRIPCIÓN DE LAS FUNCIONALIDADES DE KHAN ACADEMY
La funcionalidad de Khan Academy para el proceso de aprendizaje está centralizada en temas, cada
uno de los cuales está compuesto por vídeos y ejercicios. Se deben completar los videos y realizar
los ejercicios asociados para controlar cada concepto. En los ejercicios asociados a un concepto hay
que realizar un número de ellos bien para alcanzar el nivel de proficiency, que indica que se ha
alcanzado el nivel de maestría en dicho concepto.
En la figura 24 se puede observar una imagen de la pantalla de inicio de la plataforma Khan
Academy del curso de matemáticas de Agosto 2013 en la Universidad Carlos III de Madrid, siendo
todas las imágenes de ejemplo que se usarán en esta sección, pertenecientes a dicho curso. Las
imágenes 24 y 24 vienen acompañadas de una numeración asociada a un área de la pantalla para
ayudar en su explicación, y a continuación se pasa a explicar cada una de esas áreas.
1- Es el menú principal del curso. En dicho menú se puede ver una estructura en
diferentes temas que contiene sub-temas y cada uno de estos contiene en su interior los
ejercicios y vídeos asociados a cada tema.
Capítulo 2. Estado del arte.
31
2- Se puede ver el usuario que ha hecho log-in en la plataforma y el número de energy
points (que son el tipo de puntos que usa Khan Academy) que ha ganado durante la
interacción del curso.
Figura 24. Pantalla de inicio de Khan Academy en UC3M.
Se puede acceder también al Knowledge Map, que es un menú que incluye todos los ejercicios
disponible. También incluye como están relacionados entre sí para ver cuál sería el camino de
aprendizaje recomendado se muestra en la figura 25:
Figura 25. Knowledge Map en Khan Academy.
3- Se pueden observar el sistema recomendador de ejercicios que ofrece la plataforma en
la que se monitorizan una serie de ejercicios recomendados.
4- Muestra los diferentes ejercicios disponibles en el curso y el estado en el que se
encuentran mediante diferentes colores. Desde aquí se puede acceder a cualquiera de
ellos.
En la figura 26 se muestra la interfaz para cuando se están viendo vídeos con sus diferentes
elementos:
5- Este recuadro engloba el cuadro para la ventana de visionado del vídeo que está
enlazado en YouTube, las posibilidades típicas para rebobinar, parar y también incluye
la posibilidad de votar el vídeo.
6- Representa los energy points obtenidos en Khan Academy por la cantidad de vídeo
visionado, se van ganando cuando pasas más tiempo en el vídeo para dicho caso. Estos
puntos también puede ser conseguidos mediante otras vías como resolver ejercicios y
ganar medallas
7- Muestra la posibilidad de poner comentarios dentro de Khan Academy sobre el vídeo,
estos comentarios también se pueden votar por otros usuarios en caso de que lo
deseen
Capítulo 2. Estado del arte.
32
8- Al seleccionar en el botón verde “Practice this concept”, la plataforma redirecciona a la
URL adecuada para realizar el ejercicio asociado a dicho vídeo y tema. Además se
puede navegar entre los distintos temas a través de esta interfaz seleccionando en el
botón que aparece por debajo denominado “Next topic”. Esto permite de forma
sencilla al usuario ir avanzando en su aprendizaje, viendo vídeos y haciendo los
ejercicios asociados.
Figura 26. Interfaz para el visionado de vídeos en Khan Academy.
La figura 27 muestra la interfaz para al hacer ejercicios. Los ejercicios tienen la posibilidad de ser
paramétricos, lo que lleva a que los datos del enunciado van cambiando cada vez que se resuelve
correctamente un ejercicio, pero se mantiene igual si no se ha conseguido resolver. Aunque también
hay otros formatos de ejercicios como los de selección múltiple. Los elementos que se pueden ver
son los siguientes:
9- Es el enunciado del ejercicio, los valores numéricos que aparecen para este caso son
paramétricos y cambiarán cada vez que resuelva correctamente el ejercicio.
10- Es el campo para dar las respuestas al ejercicio. Khan Academy soporta redondeos de
decimales o múltiples intentos, entre otras cosas. Los múltiples intentos quedan
registrados con marcas temporales en la base de datos.
11- Este botón es para pedir pistas, mientras queden pistas disponibles. Cada vez que se
pulse se proporcionará (mientras queden disponibles) una pista al usuario para ayudarle
a resolver el ejercicio.
12- En esta ventana se muestra el vídeo que está asociado al ejercicio, lo que permite de
forma sencilla al usuario en caso de que no sepa resolver el ejercicio revisar la lección
en el vídeo para aprender a hacerlo.
13- Por debajo del enunciado se muestran las pistas que han sido pedidas hasta el
momento, irán escribiéndose en secuencia conforme se vayan pidiendo.
14- Cada vez que se accede de nuevo a un tipo de ejercicio (se entiende como tipo de
ejercicio, cada uno de los disponibles en la plataforma), el sistema pone a disposición
del usuario una batería de 8 ejercicios paramétricos (estos ejercicios serán el mismo
pero con diferentes valores en el enunciado) de ese tipo, y son los que aparecen en
esas cartas. El alumno irá ganando puntos al resolver ejercicios correctamente, la
puntuación obtenida será mayor en relación al número de intentos requeridos, si se han
pedido pista, e incluso se pueden conseguir medallas por contestar rápido.
Capítulo 2. Estado del arte.
33
El objetivo en cada tema es alcanzar el nivel de proficiency al resolver los ejercicios. En cada tipo de
ejercicio se va aumentando el progreso por contestar ejercicios correctamente, siendo mayor
cuantos menos intentos se hagan y menos pistas se utilicen. El mejor caso posible para alcanzar el
nivel de proficiency en un tema es responder 8 veces seguidas el ejercicio sin tener ningún fallo ni
pedir pistas.
Figura 27. Interfaz para la realización de ejercicios en Khan Academy.
Khan Academy usa un reproductor de ejercicios propio. Los ejercicios están en formato HTML
con Javascript con unas etiquetas propias que permiten de su interpretación por el reproductor.
Este reproductor también es posible usarlo en otra plataforma emergente como Google Course
Builder [28]. Khan Academy proporciona un framework [29] con toda la información requerida y el
software para crear ejercicios que sean utilizables en su sistema.
2.5.2. ELEMENTOS DE GAMIFICACIÓN
Una de las técnicas que se lleva usando desde hace un tiempo son las técnicas de gamificación o
ludificación, “La gamificación, a veces traducido al español como ludificación, jueguización o juguetización, es el uso
del pensamiento y la mecánica de jugabilidad en contextos ajenos a los juegos, con el fin de que las personas adopten
cierto comportamiento” [30]. Aunque este término ha sido acuñado hace no tanto tiempo, estas técnicas
se llevan usando ya desde hace muchos años. Han sido usadas en muchos y muy varios aspectos,
desde modificar conductas para la educación vial, promover la competitividad interna en una
empresa, fidelización de clientes…
En este caso el contexto es una plataforma educativa y su utilidad es hacer al usuario más
entretenido el proceso de aprendizaje, incluso que pueda “enganchar” para conseguir un mayor
número de medallas, retos, ser mejor que sus compañeros… Los elementos que incorpora
procedentes de juegos son la posibilidad de ganar puntos denominados energy points al hacer
ejercicios, ver vídeos, ganar medallas o superar retos. También incluye la posibilidad de ganar
numerosas medallas o badges, de lo que se pueden ver algunos ejemplos en la figura 19. Las medallas
se pueden obtener por diferentes y variadas formas, como contestar preguntas rápido, ver una
cantidad de vídeos, o pasar tiempo en la plataforma.
Capítulo 2. Estado del arte.
34
Figura 28. Interfaz con algunas medallas que es posible ganar.
Otras posibilidades que incorpora el sistema es la de personalización del perfil con avatares, o
medallas públicas para que vea el resto. Khan Academy también incluye un sistema de retos o goals,
este sistema puede establecer una relación con las misiones o quests en juegos. En dichas misiones,
análogamente con estos retos, hay que cumplir unos objetivos y cuando los consigues recibes un
premio o recompensa. Se puede ver dicha interfaz de retos la figura 20.
Figura 29. Interfaz para la creación de un nuevo reto o goal.
2.5.3. ELEMENTOS DE LEARNING ANALYTICS
Khan Academy ha sido una de las plataformas que más fuertemente ha apostado por
funcionalidades de learning analytics desde que empezó. Incluye un módulo de learning analytics
bastante extenso que permite hacer un seguimiento detallado del proceso de aprendizaje. Además,
Khan Academy incluye un sistema para profesores en el que los alumnos pueden seleccionar a otro
usuario como profesor, y este podrá acceder a los respectivos perfiles de los alumnos de su clase así
como a visualizaciones de la clase entera. Esto permite hacer un seguimiento más individualizado y
exhaustivo del proceso de aprendizaje de cada estudiante así como de la clase de forma global.
2.5.3.1. Visualizaciones de clase
Como se ha comentado brevemente antes, Khan Academy permite organización de alumnos en
torno una figura de profesor en forma de clases. Esto proporciona la posibilidad de realizar
visualizaciones a nivel de clase para ver el progreso de forma global. En la figura 30 se puede ver un
ejemplo de este tipo de visualización desde la pantalla general de las estadísticas de clase viendo el
Progress Report. Este informe realiza una descripción sobre el avance de cada usuario en los
diferentes temas.
Capítulo 2. Estado del arte.
35
Figura 30. Progress Report de la clase en Khan Academy.
Esta visualización permite observar en qué estado se encuentra cada uno de los temas para cada
usuario de la clase. En azul claro se muestran los ejercicios se encuentran en estado de empezados,
en azul fuerte aquellos en los que ha alcanzado el nivel de proficiency, en naranja aquellos que
necesitan revisión, y rojo aquellos sobre los que está teniendo problemas. La visualización de
Progress Report puede servir para detectar estudiantes que hayan hecho poco avance o por el
contrario algunos que vayan muy bien. La siguiente visualización relativa al Progress Summary, se
puede ver en la figura 31, esta gráfica permite el recuento a modo de resumen por cada uno de los
temas existentes en el curso, para ver cuantos usuarios han alcanzado el nivel de proficiency, si los han
empezado o si no lo han hecho. Esto permite hacer un análisis por cada tipo de ejercicio por
separado lo que puede llevar a encontrar ejercicios con problemas debido a que los usuarios no
consiguen hacerlos bien y realizar una corrección a tiempo de ejercicios problemáticos. Se puede
ver con el mismo código de colores que se ha comentado anteriormente el número de usuarios que
se encuentran en cada estado por cada tipo de ejercicio.
Figura 31. Progress Sumary de la clase en Khan Academy.
En la figura 32 se muestra el informe Skill Progress Over Time se muestra el progreso que ha tenido
cada usuario en los diferentes temas en el tiempo, de esta gráfica se podría deducir por ejemplo si
los usuarios han trabajado mucho en algunos días y menos en otros, es decir cómo ha sido el
progreso en la plataforma de forma temporal, pero como se puede observar es un poco complicada
de interpretar.
Capítulo 2. Estado del arte.
36
Figura 32. Skill Progress Over Time de la clase en Khan Academy
Otro tipo de visualizaciones que Khan Academy incluye son las siguientes:
- Informe Daily Activity Report, para ver en un día concreto el uso que han hecho los usuarios
en la plataforma separadamente.
- Informe Goals, para ver cuál es el estado de los retos o goals que ha creado cada alumno de
la clase en la plataforma.
2.5.3.2. Visualizaciones individuales
Khan Academy también incluye visualizaciones individuales de usuario. Estas visualizaciones
pueden ser accedidas por el propio usuario/estudiante que está utilizando la plataforma a modo de
self-awareness. Los profesores tienen acceso a dichas visualizaciones individuales de todos los
estudiantes en su clase, de forma que pueden analizar cada alumno de forma más detallada,
mientras que el alumno solo puede ver la suya. En la figura 33 se muestra el informe de Activity de
forma individual de cada usuario. El informe Activity muestra por días cual ha sido el tiempo
dedicado, los puntos obtenidos y si selecciona encima de cada barra la información es ampliada con
que ejercicios y vídeos se han estado practicando. Esto permite llevar un control del trabajo que has
estado realizando a lo largo del tiempo del curso.
Figura 33. Informe de Activity individual en Khan Academy.
Capítulo 2. Estado del arte.
37
Otro de los informes disponibles en la plataforma es el de Focus, que te muestra en porcentaje de
tiempo que ha dedicado el usuario a los diferentes temas. En la figura 34 se puede ver dicha
visualización, en el círculo exterior se muestran los porcentajes dedicados en los diferentes
ejercicios y en el interior el de los vídeos. También aparece mostrado en una estrella si el alumno ha
alcanzado el nivel de proficiency en dicho ejercicio. Con esta gráfica se puede hacer una idea de que
temas han necesitado más trabajo en comparación con el resto.
Figura 34. Visualización Focus individual en Khan Academy.
Otras dos visualizaciones que se permiten son las siguientes:
- Visualización de Skill Progress, que es la misma que aparece en la figura 30 en la sección de
clase, pero de forma individual para un solo alumno.
- Visualización Progress Over Time, como el caso anterior es la misma que aparece en la figura
32 en la sección de clase, pero de un solo alumno. Al ser de un solo alumno la
interpretación es más sencilla, se puede ver la constancia del alumno y en que periodos del
curso ha participado más.
2.5.3.3. Reflexiones sobre el módulo de learning analytics en Khan
Academy
Se ha hecho en esta sección un repaso del módulo de learning analytics que incluye Khan Academy,
como se ve en comparación con otras plataformas de aprendizaje virtual, es bastante extenso
teniendo visualizaciones tanto para el alumno como para el profesor. Sin embargo todas estas
visualizaciones tienen la premisa de recuperar los datos que han sido almacenados en las bases de
datos y representarlos en diferentes visualizaciones sin ningún procesado intermedio.
Por parte de las visualizaciones, se ha estudiado mucho el tema en investigación dónde se
intenta ver cuáles son las mejores formas para transmitir información de forma sencilla y
concisa sin crear confusión y es complicado. ¿Son estas las mejores formas en las que se
podría presentar esta información o se pueden buscar otras alternativas más sencillas y
directas en algunos casos?
En cuanto a la información que se pretende transmitir en las visualizaciones puede ser
complicada de interpretar, a veces también se encuentra saturada y es no es evidente el
saber qué conclusiones se pueden obtener de cada una de las visualizaciones.
Capítulo 2. Estado del arte.
38
El conjunto de las visualizaciones expresan en gran parte la misma información pero de
distintas formas, no hay procesado intermedio para intentar inferir información de más alto
nivel.
Después de este análisis, se piensa que aunque Khan Academy contiene un módulo de learning
analytics muy completo existe todavía amplia posibilidad de mejora. Debido a la gran cantidad de
datos que son almacenados sobre los usuarios y su interacción haciendo ejercicios y viendo vídeos,
es posible inferir mucha más información de la que actualmente provee.
39
CAPÍTULO 3.
PROPUESTA DE PARÁMETROS
DE ALTO NIVEL
Este capítulo se centra en el diseño propuesto de los parámetros de alto nivel a partir de los datos
de bajo nivel generados por el entorno educativo. En este caso los datos de bajo nivel están
generados por la interacción de los alumnos con la plataforma de Khan Academy, por lo que los
mismos están adaptados a la semántica y funcionalidad de dicha plataforma. No obstante, bastantes
de ellos serían extrapolables a diferentes plataformas en algunos casos realizando una adaptación a
las diferentes semánticas.
El proceso para el diseño de estas medidas conlleva tanto un análisis exhaustivo de los datos
disponibles en la base de datos, así como establecer cuáles son las informaciones relacionadas con el
aprendizaje que se pueden y se desean alcanzar. El análisis de los datos disponibles no es una tarea
trivial y es una cuestión que entabla gran dificultad en el campo del learning analytics. Resulta
abrumadora la cantidad de datos que se puede acumular y en muchas situaciones es complicado
saber cuál es la mejor transformación a realizar con ellos para inferir una determinada información.
Así mismo, en ocasiones no se puede inferir la información deseada o existe un grado de
incertidumbre en las inferencias realizadas.
Los distintos parámetros propuestos están agrupados por funcionalidad en 5 bloques.
Seguidamente se hará un análisis de cada uno de esos bloques por separado, explicando dentro de
cada bloque todas las medidas que se proponen de forma individual. Por cada medida se dará una
noción de que información proporciona así de cómo realizar el procesado desde datos de bajo nivel
para conseguirlo.
3.1. PROGRESO TOTAL EN LA PLATAFORMA
Los parámetros pertenecientes a este bloque se van a centrar en describir cuánto ha interactuado el
usuario con la plataforma. No van a valorar si el usuario lo ha hecho bien o mal, sino la cantidad de
interacción total, ejercicios y videos accedidos, tiempo empleado, etcétera. El objetivo de estas
medidas es el de dar una idea de si el usuario ha participado mucho o poco con la plataforma al
margen de que lo haya hecho bien o mal. Esto también puede ser útil para casos en los que el
estudiante no haya superado el curso satisfactoriamente, pero se quiera comprobar si por otra parte
sí que ha hecho un esfuerzo considerable en la plataforma. También se pueden obtener algunos
otros parámetros relacionados con el uso del alumno, como puede ser la focalización que hace en
los distintos recursos o si está interesado por los elementos no obligatorios que contiene la
plataforma.
Capítulo 3. Propuesta de parámetros de alto nivel.
40
3.1.1. USO EFECTIVO DE LA PLATAFORMA
El objetivo de esta medida es dar una idea global de cuanto ha usado un usuario la plataforma en
relación a los recursos disponibles que se encuentran en ella (en este caso vídeos y ejercicios). Esta
cantidad de uso se puede medir de diferentes formas, por lo que se ofrecen varias opciones
diferentes.
Se denota en este trabajo los ejercicios y videos disponibles como ED y VD respectivamente. Para
el caso de uso de los ejercicios disponibles en la plataforma se ofrecen tres medidas. Los datos a
tener en cuenta son el número de ejercicios accedidos (NEA), número de ejercicios con un mínimo
bien (NEB) y número de ejercicios en los que se ha alcanzado el nivel de proficiency (NEP). Las
siguientes son las medidas que se proponen para medir el uso efectivo en ejercicios (UEE).
Para el caso de los vídeos, se contempla el número de vídeos disponibles en la plataforma (VD).
Por una parte se analizará el número de vídeos accedidos (NVA) y en el otro caso el número de
vídeos con un mínimo completado (NVC). Este umbral de complexión en NVC no tiene por qué
ser necesariamente el 100% del vídeo, por ejemplo se podría considerar un vídeo como completado
en caso de que se hubiera alcanzado al menos un 80% de la duración del vídeo. Las siguientes
medidas son las que se proponen para medir el uso efectivo en vídeos (UEV).
Estas medidas propuestas dan una idea del uso que ha hecho el estudiante de los diferentes recursos
disponibles en la plataforma, pero sin entrar a valorar si lo ha hecho bien o mal.
Además, dentro de estas medidas es posible también asignar pesos diferentes tanto a los ejercicios
como a vídeos. Por ejemplo se podría para el caso de las medidas de uso en ejercicios UEE se le
podría asignar distintos pesos a los ejercicios en función de su complejidad. Para el caso de los
vídeos también sería posible asignar distintos pesos en función de importancia. Otra posibilidad
sería la asignación de un peso en función del porcentaje de tiempo total que suponga dicho vídeo
sobre todos los vídeos disponibles.
Por último también es posible el ofrecer medidas que combinen información relativa a vídeos y
ejercicios para tener una idea global del uso de la plataforma. Dependiendo de la importancia que se
le dé a cada tipo de recursos, también sería posible asignar ponderaciones diferentes a cada uno.
3.1.2. ABANDONO DE VIDEOS O EJERCICIOS
Esta medida está relacionada con si el usuario deja sin terminar los recursos que comienza. Para el
caso de los vídeos sería la búsqueda de usuarios que comienzan vídeos para luego nunca
terminarlos. Para el caso de los ejercicios se propone que sea aquellos usuarios que comienzan un
ejercicio pero no llegan a alcanzar la proficiency que marca como que ya han dominado la temática.
De esta manera el abandono de ejercicios (AE) estará marcado por el número de ejercicios
accedidos y el número de ejercicios en los que se ha alcanzado el nivel de proficiency (NEP).
Capítulo 3. Propuesta de parámetros de alto nivel.
41
En el caso de la medida de AE, será 0 cuando el número de ejercicios con proficiency sea igual al
número de ejercicios accedidos. Por el contrario será 1, es decir máxima, cuando no haya alcanzado
ningún ejercicio con proficiency en los ejercicios accedidos. Mientras que para medir el abandono de
vídeos (AV) se utiliza el número de vídeos accedidos y el número de vídeos completados.
De forma similar al caso de los ejercicios, en AV la medida será 0 cuando se hayan completado
todos los vídeos accedidos y será máxima cuando no se haya completado ninguno de los vídeos.
Estas medidas dan una idea de si el usuario termina los recursos a los que accede o va saltando de
uno en otro sin focalizarse en ninguno.
3.1.3. TIEMPO TOTAL EN LA PLATAFORMA
Una de las medidas más recurrentes es el saber cuánto tiempo ha empleado un usuario dentro de la
plataforma. En Khan Academy se almacenan los tiempos empleados cada vez que se ha accedido a
un ejercicio o a un vídeo. Sin embargo no se almacenan los tiempos de log-in o cuando se sale de la
plataforma, por lo que hay ciertos tiempos que no son monitorizables. Aun así de forma sencilla se
puede medir el tiempo en ejercicios (TE) y el tiempo en vídeos (TV) como:
∑
∑
Siendo Ne el número de veces que el usuario que ha accedido a cualquier tipo de ejercicio y xi el
tiempo empleado en el acceso i. Por otra parte Nv será el número de veces que ha accedido el
usuario a cualquier tipo de vídeo e yj será el tiempo empleado en el acºceso j. Para evitar ruido en
algunas medidas los valores de tiempo empleado en ejercicios son cortados por un límite superior,
ya que si un usuario entraba un ejercicio y lo dejaba en dicha interfaz por horas, luego computaba
como que había pasado horas realizando dicho ejercicios. Debido a esto se escoge poner un límite
superior al tiempo máximo por ejercicio para eliminar dicho ruido. Para obtener el tiempo total
(TT) sólo habrá que sumar los parámetros TE y TV, por lo que:
∑
∑
El tiempo empleado en la plataforma o el empleado en cada uno de los tipos de recurso por
separado tiene utilidad a nivel de conocimiento general, y para algunas medidas más complejas
como para saber en qué tipo de recurso se concentra el usuario.
3.1.4. USO DE ELEMENTOS OPCIONALES
La plataforma Khan Academy también incluye algunos elementos opcionales que no son de uso
obligatorio para realizar ejercicios o ver videos ni son necesarios para superar el curso. En esta
Capítulo 3. Propuesta de parámetros de alto nivel.
42
medida se analiza qué usuarios hacen uso de ellos con una ponderación personalizada. Los
elementos opcionales que se han tenido en cuenta son los siguientes:
La posibilidad de poner imágenes de personalización del perfil en forma de avatares.
La posibilidad de exponer en el perfil algunas de las medallas que el usuario ha ganado con
su interacción con la máquina
El sistema de Goals (objetivos o retos) que incluye Khan Academy. Este sistema permite a
los usuarios ponerse ciertos objetivos y en el caso de conseguirlos se les recompensa con
puntos. Las goals pueden quedar como abandonadas, en curso o completadas.
Con estas posibilidades existentes, la medida propuesta para elementos opcionales (EO) da una
ponderación a cada uno de estos ítems:
Se adjudicarán 1 punto en caso de que haya escogido una foto de avatar.
Se adjudicarán hasta 1 punto por las medallas públicas.
En relación con las goals
o Se adjudicarán 1.5 puntos en función las goals iniciadas
o Se adjudicarán otros 1.5 puntos en función del porcentaje de goals completadas con
respecto de las iniciadas
La distribución de los puntos es así debido a que se considera que asignar una foto de avatar o
poner medallas públicas es sólo unos pocos clicks. Mientras que las goals hay que engancharse más
con el juego y es más complicado de conseguir, por lo que están más valorados con una cantidad
mayor de puntos. De esta manera se tiene una forma de conocer si el usuario ha estado interesado
en utilizar elementos opcionales de la plataforma.
3.1.5. FOCALIZADOR DE VIDEOS O EJERCICIOS
Conocer en qué tipo de recursos focaliza el usuario más su interacción en proporción, puede indicar
qué estrategia de aprendizaje sigue cada usuario. Los recursos de la plataforma Khan Academy son
de dos tipos principalmente: ejercicios y vídeos. En este caso este análisis está limitado por el
contexto que ofrece la plataforma por lo que se puede analizar qué usuarios basan su aprendizaje en
ver videos y cuales lo hacen en hacer ejercicios.
Los ejercicios y vídeos se organizan por temas en los que cada vídeo (que son lecciones) tiene
asociados unos ejercicios. En esta medida se analiza en qué se ha focalizado más el usuario en cada
tema por separado para posteriormente realizar una media del conjunto. En cada tema se asocia una
puntuación debida a ejercicios y vídeos de la siguiente manera:
La puntuación de los vídeos es una medida lineal del porcentaje del vídeo visto.
La puntuación en los ejercicios es combinación del número de intentos realizados con el
ejercicio (relacionado con la insistencia) o si se ha realizado correctamente, así como del
tiempo que le han dedicado a ese ejercicio.
Una vez calculados los puntos en cada tema basta hacer un cociente para ver si se ha focalizado en
ejercicios o vídeos en cada tema de forma que la focalización de ejercicios y vídeos (FE y FV
respectivamente) sería:
Capítulo 3. Propuesta de parámetros de alto nivel.
43
∑
∑
Siendo en las últimas ecuaciones pei y pvi la puntuación obtenida en el tema i en ejercicios y vídeos
respectivamente y N el número de temas comenzados en la plataforma por el usuario. En dicha
ecuación sólo se tendrán en cuenta los temas que ha empezado un usuario, entendiéndose como
empezado si ha accedido a algún vídeo o ejercicio de dicho tema. Dependiendo de la importancia
que tenga cada tema o según el número de recursos disponibles en cada tema la ponderación sobre
el total puede ser diferente para cada tema del curso.
3.2. PROGRESO CORRECTO EN LA PLATAFORMA
El objetivo de este bloque de medidas es analizar el progreso correcto del usuario dentro de la
plataforma. Al contrario del punto anterior, dónde sólo medíamos la cantidad de uso, en este
bloque sí se valora lo bien que lo haya hecho el usuario. Estas medidas se dividen principalmente en
dos tipos: relacionadas con el progreso que ha hecho el usuario tanto en ejercicios como en vídeos,
y relacionadas con la eficiencia del usuario progresando en los vídeos y ejercicios.
Además, es posible diseñar otras medidas de evaluación personalizadas para saber si los estudiantes
han superado los requisitos del curso, o combinaciones de diferentes requisitos como ejercicios
bien realizados, porcentaje de vídeos o un mínimo de tiempo empleado. El abanico de posibilidades
es bastante moldeable a las exigencias del curso.
3.2.1. PROGRESO EFECTIVO EN LA PLATAFORMA
Esta medida intenta dar una idea de la cantidad de progreso adecuado que se ha realizado en el
curso, tanto en ejercicios como en vídeos. Se puede entender como progreso perfecto, en el caso de
los ejercicios, al avance que se realiza hasta alcanzar la proficiency en un tipo de ejercicio. Para el caso
de los vídeos, se considera el progreso perfecto como la visualización completa del mismo.
También se podrían tener en mente medidas globales de progreso contando ambos recursos.
3.2.1.1. Progreso en ejercicios
Como se ha dicho previamente, el progreso máximo dentro de un ejercicio estaría en alcanzar la
proficiency en el ejercicio. Un punto importante es que en Khan Academy la mayoría de los ejercicios
son paramétricos, por lo que una vez que se ha resuelto por primera vez el ejercicio, se podría
entender que el resto son repeticiones del mismo ejercicio con otros valores en el enunciado. Bajo
esta premisa, la dificultad debería decrecer conforme se va resolviendo más veces un ejercicio, ya
que una vez que se ha aprendido a resolverlo es más sencillo hacerlo de nuevo. Por lo tanto, se ha
considerado interesante ser capaces de proporcionar un progreso mayor asociado a las resoluciones
iniciales correctas que a las finales. También es posible que algunos ejercicios sean de selección
múltiple, y que dicho ejercicio contenga muchas posibles combinaciones de preguntas. Para dicho
tipo de ejercicios la asunción de dificultad decreciente no aplicaría, por lo que se seleccionaría una
escala línea para valorar el progreso.
Para llevar a cabo esto se ha diseñado un polinomio que se observa en la figura 35 con valor entre
[0~100] en el que se consideraría el 0 como ningún progreso y el 100 cuando se ha alcanzado el
Capítulo 3. Propuesta de parámetros de alto nivel.
44
nivel de proficiency. Este polinomio presenta aumentos mayores a progresos bajos para compensar el
hecho de que los ejercicios son paramétricos y la dificultad para resolver un problema es mayor de
inicio que al final. El polinomio de grado 5 (Pol1) ha sido elegido este porque se adapta a las
necesidades que se han expuesto previamente aunque podría haber otros polinomios que se
adaptaran mejor, pero esto ya sería un problema de optimización. Se muestra en la siguiente
ecuación dicho polinomio:
Figura 35. Representación polinomio para el progreso efectivo en ejercicios.
Por lo que el polinomio devolverá un valor entre 0 y 100 dependiendo del progreso que se haya
realizado en cada ejercicio. Para calcular el progreso total en todos los ejercicios sólo habrá que
hacer la media en todos los ejercicios, por lo que el progreso en ejercicios (PE) será el siguiente:
∑
Siendo N el número de ejercicios de la plataforma, xi el progreso en el ejercicio i y Pol1 el polinomio
para calcular el progreso efectivo en ejercicios. La wi representaría la ponderación aplicada a dicho
ejercicio, esta ponderación puede venir dada por distintos factores como la dificultad o importancia
de dicho ejercicio, en caso de que se quiera considerar que todos los ejercicios tienen un mismo
valor basta con darle un valor de 1. Esta medida proporciona una idea inmediata de cuanto ha
avanzado cada usuario en la resolución de los ejercicios existentes en la plataforma.
3.2.1.2. Progreso en vídeos
En cuanto a los vídeos, la interfaz de Khan Academy permite acceder a ellos y saltar en distintos
puntos del vídeo. En vez de hacer un simple progreso lineal en los vídeos, se ha desarrollado de
forma similar al punto anterior en ejercicios un polinomio que se considera que acerca el resultado
más a la realidad.
Capítulo 3. Propuesta de parámetros de alto nivel.
45
En muchos casos, al visualizar vídeos, los alumnos no lo llegan a ver completo (por ejemplo al
hacer zapping) y sólo ven una parte. Se ha considerado que los aumentos en un bajo porcentaje del
vídeo completado deberían ser menores que los de una persona que está alcanzando el vídeo
completo y está adquiriendo todos los conceptos en vez de ver sólo un poco de cada vídeo.
Además, al ver una mayor cantidad de vídeo, en muchas ocasiones se refuerza lo que se ha visto
anteriormente.
Para tener en cuenta esta circunstancia, se ha diseñado un nuevo polinomio (figura 36) con valor
entre [0~100], pero esta vez al contrario que la anterior, los incrementos iniciales son mucho
menores que los finales. De este modo se potencia que los usuarios que ven los vídeos enteros
tengan mayor progreso que los que han visto un poco, o saltos del vídeo. El polinomio, también de
grado 5 es el siguiente:
Figura 36. Representación polinomio para el progreso efectivo en vídeos.
De esta forma el polinomio devolverá el resultado del progreso de cada vídeo, por lo que el
progreso en videos (PV) será:
∑
Siendo N el número de videos de la plataforma, xi el porcentaje de vídeo i visto y Pol2 el polinomio
para calcular el progreso efectivo en vídeos y de nuevo wi sería la ponderación que se le da ha dado
al vídeo, como se ha explicado en otros casos. Esta medida proporciona una idea inmediata de
cuanto ha avanzado cada usuario en el visionado de los vídeos en la plataforma.
3.2.2. PROGRESO EFICIENTE EN LA PLATAFORMA
En esta sección el objetivo es ver lo eficiente que es el estudiante al resolver ejercicios o ver vídeos.
En este apartado se proponen varias formas para calcular la eficiencia resolviendo ejercicios
teniendo en cuenta el número de intentos requeridos, ejercicios bien realizados, o tiempo empleado.
Así mismo, se proporciona una eficiencia respecto a la visualización de vídeos.
Capítulo 3. Propuesta de parámetros de alto nivel.
46
3.2.2.1. Eficiencia de número de intentos en los ejercicios correctos
Esta medida de eficiencia está relacionada con el número de ejercicios correctos que se han
conseguido hacer. De forma general se puede establecer la medida más obvia que sería el porcentaje
ejercicios correctos, para ello se hace uso del número de ejercicios correctos (NEC) con respecto al
número de ejercicios accedidos (NEA). Esta medida de eficiencia en ejercicios (EJ) sería como
sigue:
Esta sería la medida más inmediata que se puede calcular relativa a la eficiencia de un usuario.
Puede ser que haya conseguido hacer el mismo progreso que otro pero haya hecho muchos más
ejercicios erróneamente.
Otra medida está relacionada con alcanzar el nivel de proficiency en un determinado ejercicio.
Mediante el sistema de Khan Academy se va acumulando progreso de 0 a 1 en un ejercicio por
hacerlos bien e incluso puedes perder si los haces mal, siendo 0 el mínimo de progreso y 1 el nivel
de proficiency. Para alcanzar el nivel de proficiency de la forma más rápida, basta con hacer 8 ejercicios
correctamente sin fallar ninguno y sin pedir pistas. Por consiguiente, se puede considerar que el
máximo nivel de eficiencia sería alcanzar una proficiency haciendo sólo 8 ejercicios. Se puede ofrecer
una medida de eficiencia en ejercicios relacionado con esta premisa:
∑
En esta medida N será el número de tipos de ejercicios distintos accedidos hasta el momento, se
calcula pues la eficiencia en cada tipo de ejercicio y posteriormente se hace la media. El resultado
será de dividir el progreso en el tipo de ejercicio i entre el número de ejercicios del tipo i accedidos
(NEAi). Se multiplica por 8 como se ha dicho antes, ya que alcanzar la proficiency con 8 ejercicios
bien sería la máxima eficiencia alcanzable.
3.2.2.2. Eficiencia temporal de los ejercicios correctos
En el punto anterior se ha analizado eficiencia en cuestión del número de intentos requeridos en
ejercicios que están resueltos correctamente, pero también se puede tener en cuenta el tiempo que
se necesita para hacer ejercicios correctos. La eficiencia temporal, por lo tanto, tiene en cuenta el
número de ejercicios correctos y el tiempo que se ha necesitado para resolverlos. Para ello se
necesita un valor comparativo para valorar si el resultado está por encima o por debajo de dicho
umbral. El umbral comparativo es obtenido de forma empírica por los datos generados en las
experiencias reales con estudiantes, para ello se calcula el valor medio requerido por los usuarios en
la plataforma para contestar correctamente un ejercicio. Dicho valor obtenido mediante esta
extracción empírica ha sido de 30 segundos.
El valor del tiempo en el ejercicio estará limitado superiormente con un máximo de 180 segundos.
Esto se hace para eliminar ruido debido a que, si el usuario deja la pantalla abierta aunque no esté
Capítulo 3. Propuesta de parámetros de alto nivel.
47
resolviendo el ejercicio, computaría con una gran cantidad de tiempo introduciendo ruido. Este
tiempo máximo por ejercicio también podría ser diferente para cada tipo de ejercicio en función de
la dificultad. Esta medida establecerá una eficiencia temporal resolviendo ejercicios. Será mayor que
1, es decir el usuario será más eficiente que la media, cuando su tiempo medio para resolver
ejercicios correctos sea menor de 30 segundos y menor que 1 cuando sea menos eficiente. Este tipo
de medida da información de forma sencilla sobre si un usuario es más o menos eficiente con
respecto del resto de la clase.
3.2.2.3. Eficiencia resolviendo ejercicios por tiempo e intentos
Como se ha comentado la mayoría de los ejercicios en Khan Academy son paramétricos, por lo que
la mayor dificultad la entraña resolver por primera vez correctamente el primer ejercicio, ya que
posteriormente en los ejercicios paramétricos solo cambian los valores pero el enunciado es el
mismo, y por lo tanto la resolución será más sencilla. Debido a esto, también resulta de interés ser
capaces de calcular una eficiencia para resolver ese ejercicio correctamente por primera vez, en esta
medida se combina el número de intentos y el tiempo necesario para resolver el correctamente el
primer ejercicio de cada tipo de los disponibles en la plataforma.
Los valores comparativos de tiempo y número de intentos necesarios se han obtenido como en
otros casos mediante la observación de las muestras reales de estudiantes, para este caso se han
escogido un máximo de 100 segundos y 6 intentos, eso es lo que será considerado como el peor
valor. La eficiencia en esta medida estará compuesta mitad del peso al tiempo empleado (TE) en ese
tipo de ejercicio para hacer uno bien y la otra mitad al número de intentos/respuestas requerido
para hacerlo bien (NI) necesarios para resolver el primer ejercicio bien de cada tipo.
∑[(
) (
) ]
De dónde N será el número de tipos de ejercicios intentados, TEi y NIi serán el tiempo dedicado y
el número de intentos necesarios en el ejercicio tipo i hasta resolver uno correctamente. Con esta
fórmula la eficiencia será máxima en caso de que el número de intentos sea 1. Para el caso del
tiempo, se comprueba mediante una condición que si es inferior a 10 segundos la eficiencia del
apartado temporal sea máxima y conforme sea mayor de 10 segundos será peor. En caso de que se
supere el máximo en el plano temporal de 100 segundos o en el de intentos de 6 intentos, la
eficiencia será mínima en el respectivo plano.
3.2.2.4. Eficiencia en la visualización de vídeos
Hasta ahora se han visto eficiencias al resolver ejercicios, pero también se puede intentar calcular
eficiencias en la visualización de vídeos. El concepto de eficiencia relacionada con videos sería
relativo a aquellos videos que se han completado o se ha alcanzado un mínimo de porcentaje
completado. En dichos vídeos, si el usuario ha repetido trozos de la visualización del video, es
decir, si ha tenido que visualizarlo más de una vez habría que considerar que ha sido menos
eficiente. Una eficiencia grande viendo vídeos la representaría el usuario que vea justo el 100% del
vídeo, sin necesidad de repetir en su visualización. Siguiendo dicho criterio, sería recomendable que
las bajadas fueran más abruptas en los puntos cercanos al 100% y menos abruptas en los más
lejanos.
Capítulo 3. Propuesta de parámetros de alto nivel.
48
Para cumplir dichas condiciones es necesario diseñar de nuevo un polinomio que se adapte a esta
idea. Sin embargo, debido a que las transiciones que tiene que hacer el polinomio son muy grandes,
sería necesario usar un polinomio de alto grado y las oscilaciones que sufre no lo hacen una opción
viable. La solución más sencilla pasa por diseñar una función por partes compuesta de dos
polinomios de menor grado que se adapte a los requisitos de esta medida. Por ello se diseñan dos
polinomios, uno cuyo rango de trabajo será entre el 70-100% (Pol3) del vídeo completado, es decir
para cuando no haya terminado de ver el vídeo. El otro situará su rango de trabajo entre el 100-
300% (Pol4) del vídeo completado, lo que quiere decir que el usuario ha visto más de una vez el
vídeo.
Sólo se computará un vídeo como visto una vez que haya superado el 70%, ese es el umbral
mínimo que se establece para comprobar que el usuario le haya dedicado suficiente tiempo al vídeo.
Por lo tanto para vídeos en los que haya sido visto un porcentaje menor total del 70% no serán
computados en esta medida. Los dos polinomios de grado 2 son los siguientes.
Podemos definir una función por partes , siendo x el porcentaje visto del vídeo tal que utilice
los Pol3 y Pol4 en función del umbral visto del vídeo, tal que:
{
Siendo la representación gráfica entre los puntos 70 y 300 de esta función la que sigue:
Figura 37. Representación gráfica de la función de eficiencia de videos.
En la representación se muestra en azul el Pol3 y verde el Pol4, la unión es el resultado como función
. En el eje X está el porcentaje de vídeo entrada y en el eje Y la eficiencia de salida. Para
calcular la eficiencia en videos (EV) habrá que aplicar esta función sobre todos los vídeos que
hayan sido vistos en un mínimo del 70% de su total, como se ve en la siguiente ecuación:
Capítulo 3. Propuesta de parámetros de alto nivel.
49
∑
De dónde N será el número de vídeos vistos con un mínimo del 70% y el porcentajei será el
porcentaje del total visto del vídeo i.
3.3. DISTRIBUCIÓN DEL TIEMPO DE USO DE LA PLATAFORMA
En esta sección se analizan los hábitos temporales del usuario en su interacción con la plataforma.
Una de las medidas más directas que podemos ver de este análisis es el tramo temporal (mañana,
tarde o noche) en el que cada usuario focaliza su aprendizaje. Se puede ver rápidamente en que
horario una clase tiene más usuarios trabajando. Derivado de ver el trabajo de los usuarios en
duchos intervalos, se pueden obtener eficiencias de cada usuario en cada uno de ellos, que en
ocasiones permiten encontrar horarios en los que un usuario trabaja mejor. Monitorizando además
las conexiones y el tiempo de cada una de ellas durante el periodo de duración del curso se puede
analizar también la constancia en el aprendizaje del usuario durante el progreso del curso.
Seguidamente vemos más en profundidad estas posibilidades
3.3.1. USO DE LA PLATAFORMA Y EFICIENCIA POR TRAMOS
HORARIOS
Esta medida se centra en dividir el día en tres intervalos: mañana, tarde y noche. No obstante las
medidas que se van a presentar de distribución temporal son fácilmente extensible para otros
intervalos de tiempo que se pudieran seleccionar, por ejemplo con un mayor número de ellos.
Posteriormente se calcula el tiempo dedicado en ejercicios y vídeos (TE y TV) en cada uno de estos
intervalos para ver en cuál de ellos se focaliza el trabajo de un estudiante. También puede ser de
interés verlo a nivel de clase, esto permite conocer a que horarios un grupo de estudiantes realizan
habitualmente sus actividades. Los intervalos de horarios elegidos son el tiempo de mañana [7:00 a
13:59], tiempo de tarde [14:00 a 20:59] y el tiempo de noche [21:00 a 06:59]. Posteriormente sólo
habrá que compara con el tiempo total (TT). Esto permite calcular fácilmente la distribución horaria
(H1, H2 y H3) en la que trabaja el alumno y si tiene un horario típico de más trabajo para cada
usuario.
Se podría poner un umbral mínimo para establecer que un usuario tiene un perfil característico de
horario, como por ejemplo, el 65% del tiempo en uno de los intervalos temporales.
También es posible utilizar dichos intervalos para calcular eficiencias de ejercicios bien en cada uno
de los intervalos. Para ello se calcula la eficiencia en cada horario (EH1, EH2 y EH3) y es posible
aplicar cualquiera de las medidas de eficiencia resolviendo ejercicios que han sido propuestas con
anterioridad. En este punto se pone un ejemplo teniendo en cuenta el número de ejercicios
accedidos (NEA) con respecto al número de ejercicios correctos (NEC):
Capítulo 3. Propuesta de parámetros de alto nivel.
50
Esto permite obtener las eficiencias resolviendo ejercicios en cada uno de los diferentes intervalos
temporales, lo que en algunos cosas proporcionará información valiosa relativa a en que horarios
los usuarios realizan más ejercicios bien.
3.3.2. MEDIA Y VARIANZA DEL TIEMPO DE USO DEL USUARIO
Este parámetro no tiene en cuenta los horarios como el anterior. El objetivo es calcular el tiempo
dedicado en ejercicios y vídeos cada día para posteriormente comprobar si el usuario ha estado
estudiando de una manera constante durante la duración del curso o si lo ha hecho solo
fuertemente en unos pocos días. Esto permite distinguir entre usuarios más constantes y menos
constantes aunque hayan trabajado la misma cantidad de tiempo. Primero se calcula la media
muestral del tiempo dedicado en cada día por el usuario durante el curso.
∑
Donde N es el número de días que dura el curso. Para el caso en el que el curso esté todavía en
progreso, N será el número de días que lleva el curso habilitado y será el tiempo dedicado a los
recursos en el día i. Posteriormente se calcula la varianza muestral que del tiempo del usuario.
∑
En el que el valor de los parámetros es el mismo comentado previamente. Con estas dos medidas se
puede saber si el usuario trabaja de una forma constante o inconstante, y la cantidad de tiempo
dedicado. La media muestral representará una idea de la cantidad de trabajo que ha realizado el
alumno. La varianza indica la diferencia cuadrática del tiempo dedicado cada día con respecto de la
media. Cuanto mayor sea la varianza indicará que el usuario ha sido más inconstante con respecto
de su media. Cuanto menor sea significará que habrá trabajado cada día más cercano a su valor
medio, es decir habrá sido más constante.
3.3.3. CONSTANCIA
En el punto anterior se ha propuesto medir la constancia del usuario mediante la media y la
varianza del tiempo que ha dedicado cada día durante la realización del curso. Sin embargo, en
ocasiones puede resultar de difícil interpretación los valores resultantes de media y varianza
comparando a unos usuarios con otros. En este parámetro se propone una medida única que
proporcione una idea de la constancia del usuario y sea más fácilmente interpretable y comparable
entre usuarios. De forma similar a lo hecho con anterioridad, se utiliza el tiempo dedicado cada día
en la plataforma, así como la media, formulándose de la siguiente manera la medida para la
constancia (C).
Capítulo 3. Propuesta de parámetros de alto nivel.
51
∑|
|
Siendo N el número de días que ha durado el curso, el tiempo empleado en el día i, y la
media del tiempo empleado cada día durante todo el curso.
3.4. HÁBITOS DE LUDIFICACIÓN
Como se ha comentado previamente, Khan Academy tiene un sistema fuertemente basado en
distintos elementos de juegos. Parte de esos elementos son la posibilidad de personalización de
perfiles de jugadores con avatares, el ganar energy points por hacer cosas bien, o el conseguir distintas
medallas o retos. Tal como se ha demostrado en múltiples estudios, los elementos de ludificación
pueden ser muy motivantes para los alumnos y ayudar a su aprendizaje. Analizar si el usuario está
motivado por estos elementos es útil de cara a que el profesorado conozca está información.
Conociendo que alumnos se motivan más ante este tipo de técnicas, es posible aplicarlas
posteriormente si se considera adecuado. Por ello en esta sección los parámetros tratan de dar una
medida de cuáles son los usuarios más motivados por los elementos de juegos.
3.4.1. INTERÉS EN GANAR MEDALLAS
Uno de los elementos fundamentales de ludificación existentes en la plataforma son las medallas. El
usuario puede ganar medallas de muchas maneras, por resolver ejercicios de seguido o rápido, por
completar temas enteros, por ver muchos vídeos, etc. Muchos de los usuarios se sienten atraídos
por conseguir más medallas y despuntan respecto a otros usuarios porque han conseguido muchas
más medallas que la media. Por lo que con una simple comparación de las medallas medias que
gana un usuario con respecto de las que ha ganado el usuario se puede saber si está realmente
motivado por conseguir medallas o no. Esta comparación se podría realizar de otras formas. Una
simple forma de formular el interés en medallas (IM) sería la siguiente:
De forma que m sería el número de medallas del usuario y el valor medio de medallas que se
han obtenido entre todos los usuarios de la plataforma. Si esta medida es superior a 1, indicaría que
el usuario consigue más medallas que la media, si es inferior que consigue menos.
3.4.2. PROPORCIÓN DE PUNTOS POR LUDIFICACIÓN
Otra de las formas de saber si un alumno se ha focalizado en los elementos de ludificación sería
calcular el porcentaje de puntos obtenidos por ellos. Los energy points en la plataforma se pueden
ganar mediante la resolución de ejercicios, visionado de vídeos o realizando elementos de
ludificación como ganar medallas o completar goals. Debido a esto se puede obtener fácilmente una
medida comparativa para ver qué porcentaje de esos puntos corresponde a elementos de
ludificación para comparar con el resto de la clase. De manera sencilla se puede calcular una medida
sobre los puntos por ludificación (PL):
Capítulo 3. Propuesta de parámetros de alto nivel.
52
Aunque estas medidas son sencillas, sí que van a mostrar tendencias diferentes sobre los elementos
de ludificación en los usuarios de la plataforma y esto ya es información valiosa que sirve para saber
qué usuarios han estado más interesados que otros.
3.5. HÁBITOS RESOLVIENDO EJERCICIOS
El flujo de eventos con sus marcas temporales que realiza un usuario cuando está resolviendo
ejercicios es almacenado en gran detalle por el sistema de Khan Academy. Esto permite
posteriormente reconstruir este flujo y analizar cuáles son los hábitos de determinado usuario al
resolver ejercicios. De esta forma, se pueden detectar comportamientos que se consideran erróneos
en base a determinadas casuísticas, así como otros perfiles que permitan conocer más en
profundidad al alumno para posteriormente realizar recomendaciones o intervenciones.
3.5.1. SEGUIDOR DE RECOMENDACIONES
El sistema básico de Khan Academy incluye la posibilidad de poner pre-requisitos y relaciones entre
los ejercicios. De forma que indica que ejercicios deben ser realizados con anterioridad. Además
incluye un recomendador de cuáles deberían ser los próximos ejercicios a realizar por los alumnos
junto con un link para entrar a ellos. El sistema monitoriza cuando un usuario ha entrado a dichos
ejercicios a través de recomendación del sistema. Esto permite conocer en qué porcentaje de las
veces que un usuario resuelve un ejercicio, éste lo ha hecho debido a una recomendación del
sistema. Se puede calcular de forma sencilla la un perfil de seguidor de recomendaciones (SR)
mediante el cociente entre el número de recomendaciones accedidas (NRA) y el número total de
ejercicios accedidos:
Esto permite saber si el usuario se caracteriza más por seguir las recomendaciones y el camino
recomendado, o tiene un perfil más de explorar los elementos que hay disponibles.
3.5.2. USUARIO OLVIDADIZO
En este perfil se trata de intentar obtener información acerca de si un usuario puede ser olvidadizo
con respecto de los conocimientos que ha aprendido. La manera que se hace esto es analizando por
cada tipo de ejercicio, a partir del momento en el que ha hecho uno bien y se supone que ya ha
aprendido a resolverlo, cuantos hace mal posteriormente. Deberían ser pocos además debido a que
la mayoría de los ejercicios son paramétricos y su dificultad es menor una vez que los has resuelto
correctamente. Aunque debido a que también es posible (aunque en los cursos realizados no es
común) que haya ejercicios de elección múltiple, esta medida sólo debería ser aplicable para los
ejercicios paramétricos.
El proceso de análisis que se hace es por cada tipo de ejercicio, una vez que ha hecho uno bien,
contar cuantos ha hecho erróneamente. Siguiendo este criterio, esta medida para usuario olvidadizo
Capítulo 3. Propuesta de parámetros de alto nivel.
53
(UO) tiene en cuenta el número de ejercicios accedidos después de haber hecho uno bien (NEAB)
y el número de ejercicios erróneos después de uno bien (NEEB).
∑
Dónde N son el número de ejercicios que han sido accedidos, NEEBi y NEABi serán el número de
ejercicios erróneos y accedidos después de haber hecho uno bien respectivamente del tipo de
ejercicio i. Con esta medida se puede tener una idea de si el usuario es capaz o no de fijar los
conocimientos una vez que ha aprendido a realizar un ejercicio o por el contrario los vuelve a hacer
mal.
3.5.3. EVITADOR DE VÍDEOS, EVITADOR DE PISTAS Y USUARIO NO
REFLEXIVO
Para este tipo de parámetros, se analiza el flujo de un usuario respondiendo un ejercicio, así como
los tiempos de cada evento. Para entender este tipo de parámetros hay que recordar algunas de las
funcionalidades de Khan Academy, que es la posibilidad de relacionar un ejercicio con su vídeo
asociado. En las experiencias que se han hecho en la universidad, todos los ejercicios tenían un
vídeo asociado en el cual se explica la lección que ayudará a completar dicho ejercicio. Además,
Khan Academy permite dar múltiples respuestas a pesar de ir fallando y también permite la opción
de pedir pistas de cómo resolver ejercicios en cualquier momento. Basado en este contexto, se ha
creado un modelo cognitivo de las posibles acciones que puede realizar un usuario al intentar
resolver un ejercicio y basado en él se intenta inferir algunos comportamientos como son en este
caso el de evitador de vídeos, evitador de pistas y usuario no reflexivo, que ya han sido previamente
mencionados en la literatura. El flujo de acciones es el reflejado en la figura 38.
Figura 38. Modelo cognitivo para la extracción de perfiles de estudiante.
El organigrama de la figura 38 se aplicará por separado a cada tipo de ejercicio en los múltiples
intentos del alumno hasta que haya hecho bien un ejercicio de ese tipo. Al acceder a un ejercicio y
responder al ejercicio, el sistema comprueba si ha respondido correctamente. En caso de que lo
Capítulo 3. Propuesta de parámetros de alto nivel.
54
haya hecho el comportamiento es evidentemente correcto, pero en caso de que la respuesta sea
incorrecta se comienza la comprobación que sigue:
En caso de que el usuario haya respondido incorrectamente y no haya visto el vídeo
asociado al ejercicio, se incrementa el contador de evitador de vídeos.
En caso de que el usuario responda incorrectamente y no haya pedido pistas, si el ejercicio
tenía pistas disponibles, se incrementa el contador de evitador de pistas. Además este
contador irá en función de cuantas pistas tiene disponibles el ejercicio y cuantas ha pedido.
Es decir si el ejercicio tenía 3 pistas disponibles y ha pedido 1, se aumentará
proporcionalmente a las pistas que no ha pedido.
En caso de que el usuario haya respondido antes de que hayan pasado 10 segundos o que
los posteriores intentos de resolución hayan estado separados entre ellos por menos de 10
segundos también, se considerará que el usuario no ha reflexionado en sus respuestas, por
lo que se aumentará el contador de usuario no reflexivo. Otra posibilidad sería considerar
los 10 segundos el umbral de irreflexividad y aumentar el contador con una cantidad
proporciona a cuanto irreflexivo haya sido el usuario.
En caso de que el usuario haya respondido incorrectamente, pero haya visto el vídeo, haya
pedido pistas y haya reflexionado antes de responder, se considera que el comportamiento
es correcto a pesar de que no haya sabido responder el ejercicio.
Este cálculo se realizará por separado por cada tipo de ejercicio hasta haberlo hecho al menos una
vez bien. Así se computaran y ponderarán todos los intentos necesarios para haberlo respondido
correctamente y se obtendrá una medida de cada uno de estos perfiles por cada ejercicio por
separado. Por último sólo hace falta calcular el valor medio de cada uno de estas medidas
computando todos los ejercicios que hayan sido intentados de resolver. De una manera genérica se
puede establecer la siguiente fórmula para los comportamientos de evitador de vídeos, evitador de
pistas y usuario irreflexivo (CEV, CEP y CUI respectivamente):
∑
Siendo N el número de ejercicios que han sido intentados alguna vez, y el contador del
comportamiento j (siendo j los comportamientos de evitador de vídeos, de pistas y usuario
irreflexivo) en el tipo de ejercicio i. Esto se aplicaría para cada tipo de ejercicio intentado hasta
hacer uno bien.
3.5.4. USUARIO ABUSADOR DE PISTAS
Debido a que la plataforma permite el uso de pistas, esto da posibilidades de analizar el uso de ellas
que hace el usuario. En esta medida se intenta saber si el usuario pide más pistas de las necesarias al
intentar responder ejercicios. Este análisis se hace de una forma sencilla como es comprobar los
tiempos en los que el usuario ha pedido las pistas. Se obtiene un valor de 10 segundos de forma
empírica a través de los datos generados por los usuarios para considerar que los usuarios han
abusado de pistas.
En caso de que entre al ejercicio y pida una pista antes de 10 segundos o que la diferencia temporal
entre pistas pedidas sea de menos de 10 segundos, se considerará que está abusando de pistas
porque no ha tenido tiempo de reflexionar sobre el enunciado del problema o sobre la pista dada
Capítulo 3. Propuesta de parámetros de alto nivel.
55
anteriormente. Esto se realizará para cada uno de los tipos de problema hasta hacer uno bien.
Posteriormente como en el resto de los casos, por ejemplo en el punto anterior se hará la media de
todos los ejercicios que han sido empezados para obtener un valor medio de en cuantas veces ha
abusado de las pistas. La formulación para inferir el comportamiento abusador de pistas (CAP) es
similar al apartado anterior.
∑
De forma análoga a lo visto anteriormente N el número de ejercicios que han sido intentados
alguna vez, y es el contador de abuso de pistas para el tipo de ejercicio i. Esto se aplicaría para
cada tipo de ejercicio intentado hasta hacer uno bien.
56
CAPÍTULO 4.
DESARROLLO DEL MÓDULO
ALAS-KA DE ANALÍTICA DE
APRENDIZAJE
En el punto anterior se ha propuesto un diseño con diferentes parámetros para generar
información de alto nivel a partir de datos de bajo nivel basada en la semántica y datos generados
por la plataforma Khan Academy. Este capítulo va a describir todo el proceso para el diseño e
implementación del Add-on of the Learning Analytics Support in the Khan Academy (ALAS-KA).
Este es un módulo que va a ampliar la funcionalidad existente en la plataforma Khan Academy con
nuevas medidas y visualizaciones de información sobre el proceso de aprendizaje de los estudiantes.
El objetivo es que está información pueda ser accesible por los alumnos y profesores mediante
visualizaciones para mejorar su experiencia de aprendizaje en la plataforma.
4.1. ESPECIFICACIÓN DE REQUISITOS
En este apartado se realizará una revisión de cuáles son los requisitos y la funcionalidad que se
pretende alcanzar con el desarrollo de la aplicación ALAS-KA.
4.1.1. FUNCIONALIDAD DEL SISTEMA
La funcionalidad principal del sistema es poner a disposición de los usuarios visualizaciones que
permitan recibir la información de alto nivel generada por los parámetros propuestos. Es
importante el uso de un diseño sencillo que permita la rápida interpretación de los resultados por
cualquier usuario no técnico. El procesado de dichos datos tendrá que ser generado de forma
periódica por la plataforma, para que las medidas se encuentren actualizadas cada vez que sean
consultadas. Se plantea dos grupos de visualizaciones:
Las primeras de forma individual centradas en cada usuario por separado y además con una
comparación con el valor medio de la clase en dicha medida. Esto permite dar una idea de
en qué punto se encuentra cada usuario y además compararlo con el resto de sus
compañeros.
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
57
Las segundas son visualizaciones globales de clase en forma de diagramas de tarta, esto
permite ver en qué punto se encuentran la mayoría de los usuarios de una clase dando una
visión global del conjunto.
Dentro del sistema va a haber dos tipos de usuarios: los profesores y los alumnos. Por lo tanto
también es necesario tener en cuenta esto a la hora de asignar privilegios para las visualizaciones.
Los profesores tendrán acceso a las visualizaciones individuales de todos los usuarios así como a las
visualizaciones de clase, mientras que los alumnos sólo podrán acceder a ver las visualizaciones
individuales suyas para conocimiento propio y no podrán acceder a las de ningún otro alumno ni a
las de clase. Además, como resulta evidente, el acceso a las visualizaciones estará restringido a sólo
usuarios.
Otra de las funcionalidades que incluye el sistema, es una descripción verbal de cada usuario de
forma individual para cada una de las medidas en forma de tabla. En dicha tabla se harán diferentes
agrupamientos para cada una de las medidas y una descripción verbal informará de en qué punto se
encuentra el usuario. Los valores umbrales para cada uno de estos agrupamientos han sido
estimados mediante los resultados de la primera experiencia de la aplicación de estas medidas. Esto
permite ajustar los valores umbral para agrupar en 5 grupos por cada una de las medidas a los
diferentes alumnos del curso. Estos valores umbral son los mismos que se usan para agrupar a los
usuarios y realizar las visualizaciones de clase en forma de diagramas de tarta.
4.1.2. REQUISITOS FUNCIONALES
En este apartado se van a especificar los requisitos de tipo funcional necesarios para ALAS-KA.
4.1.2.1. Visualización individual y de clase
Esta es la funcionalidad principal de la plataforma. Tiene que ofrecer visualizaciones a nivel
individual de cada usuario, y a nivel colectivo de la clase. Estas visualizaciones serán una
representación de las medidas que han sido explicadas en el capítulo 3. Una de las principales
necesidades es que las gráficas sean de sencilla interpretación para cualquier tipo de usuario.
4.1.2.2. Tabla descriptiva de usuarios
Además de las gráficas, otra necesidad que se impone es que haya unas tablas para la descripción
verbal de cada uno de los usuarios de forma individual. De forma similar a las gráficas individuales,
la tabla describirá verbalmente los resultados de cada una de las medidas para el usuario. Los
valores umbral para la asignación de cada usuario a un grupo son obtenidos de forma empírica
mediante pruebas en experiencias reales. El objetivo de esta tabla es procurar una vía verbal al
margen de las gráficas para recibir la información que generan las medidas de ALAS-KA.
4.1.2.3. Descripción de los parámetros
Se requiere añadir una descripción breve de cada uno de los bloques y de los parámetros que los
componen a fin de que los usuarios puedan consultar qué información aporta cada una de las
medidas que se muestran en la aplicación de manera intuitiva.
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
58
4.1.2.4. Funcionalidad adaptada al usuario
Dentro de ALAS-KA se pueden encontrar dos tipos de usuarios: profesor y alumno. Además se
pueden encontrar usuarios que no tengan cuenta en Khan Academy, o que sí la tengan pero no
deban tener acceso a ALAS-KA. Por ejemplo, los desarrolladores tienen cuenta en Khan Academy
pero no tienen por qué poder acceder a las estadísticas en ALAS-KA. Por lo tanto, se tienen que
definir 3 tipos de permisos: de profesor, alumno y un usuario externo. Para cada uno de estos
permisos, la funcionalidad disponible en ALAS-KA es diferente y deberá de adaptarse de forma
automática dependiendo del usuario que haya hecho log-in. Los alumnos tendrán acceso a las
visualizaciones individuales correspondientes a sí mismos, mientras que los profesores a
visualizaciones individuales de todos los alumnos y a las de clase, y finalmente los usuarios externos
sólo tendrán acceso a las pantallas de home y about pertenecientes a la aplicación pero a ninguna
visualización.
4.1.2.5. Soporte de distintos cursos en una única instancia al
mismo tiempo
Otra de las necesidades que debe suplir la funcionalidad de la aplicación es la posibilidad de
soportar diferentes cursos en la misma instancia de la plataforma de Khan Academy y por lo tanto
de ALAS-KA. Cada uno de estos cursos puede tener diferentes alumnos, estarán formados por
diferentes vídeos y ejercicios.
4.1.3. REQUISITOS NO FUNCIONALES
En este apartado se van a especificar los requisitos de tipo no funcional necesarios para ALAS-KA.
4.1.3.1. Tiempo de respuesta a peticiones de visualizaciones
Uno de los principales requisitos es proporcionar una buena experiencia de trabajo al usuario. Es
crítico poder garantizar que los tiempos de respuesta de la aplicación y en especial de acceso a las
diferentes visualizaciones sean bajos. Esto quiere decir que una vez que se acceda a un tipo de
visualización, se cambien entre distintos tipos de visualizaciones o diferentes alumnos, el tiempo de
respuesta que ofrece el sistema debe ser bajo y garantizar una interacción con la plataforma
continua sin tener parones para esperar la respuesta del sistema.
4.1.3.2. Procesado de estadísticas periódico
La generación de las estadísticas que se han diseñado e implementado en ALAS-KA no es un hito
único en el tiempo, sino que es un flujo continuo que tiene que ejecutarse de forma periódica, para
que se vayan actualizando conforme a la interacción y el avance de los usuarios en la plataforma.
Por ello ALAS-KA debe soportar un procesado periódico de todas las estadísticas para todos los
usuarios. Hay que establecer también dentro de este punto que tiene que existir un balance entre la
carga computacional exigida por el procesado de las estadísticas con el intervalo temporal con el
que se van a ejecutar de forma reiterada estas medidas.
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
59
4.1.3.3. Soporte a estadísticas separadas de distintos cursos en la
misma instancia
Uno de los requisitos funcionales que se ha comentado es la necesidad de que la plataforma soporte
varios cursos. En esta dirección es necesario que sea posible que las estadísticas ofrecidas para cada
alumno sean por curso, ya que si no podrían ser ambiguas. Además, de esta manera cada profesor
puede visualizar estadísticas relativas sólo de su curso y no globales. Por lo que el modelo de
procesado debe diferenciar entre los distintos los alumnos que participan en cada curso para
calcular las estadísticas globales de clase o los valores medios de clase.
4.1.3.4. Acceso mediante log-in en Khan Academy
Debido a que ALAS-KA va a ser una ampliación en forma de plug-in de Khan Academy se
establece que el sistema de acceso se realizará con el mismo sistema de autenticación existente en
Khan Academy. Esto facilita su uso al usuario ya que una vez que haya accedido a Khan Academy
podrá acceder sin necesidad de nada más a ALAS-KA.
4.1.3.5. Seguridad de acceso y gestión de permisos
Se necesita la gestión de los permisos de cada usuario de forma automática en función de las URLs
que puede acceder y asegurarse de que no tenga acceso a información que no le corresponde. Por
ejemplo, que un alumno no pueda acceder por URL a la información relativa a otro alumno, ni a
estadísticas de clase. También que usuarios no pertenecientes a ALAS-KA no tengan acceso a
ninguna de las visualizaciones. Este requisito es crítico ya que se debe garantizar la confidencialidad
de los datos e información que se pone a disposición de los profesores.
4.1.3.6. Interfaz accesible y usable de forma sencilla
La interfaz tiene que ser accesible de forma sencilla para cualquier usuario, y las visualizaciones
deber ser de fácil interpretación. Se debe hacer un diseño de los diferentes colores que se van a
utilizar en la interfaz y las visualizaciones de forma que tengan significado y faciliten la compresión
de la visualizaciones. Usuarios no técnicos deben de ser capaces de entender lo que se les presenta
sin un tiempo de reflexión grande. La navegación entre los diferentes elementos de la aplicación
debe de ser intuitiva.
4.2. ANÁLISIS Y DISEÑO
Este punto se va a centrar en el análisis y diseño del sistema que se va a realizar para cumplir con
los requisitos que se han expuesto en el punto anterior.
4.2.1. TECNOLOGÍAS Y APIS DEL SISTEMA
Uno de los puntos críticos a la hora de empezar el análisis y diseño de un sistema es el escoger las
tecnologías que se van a utilizar. En este caso debido a que la idea inicial del sistema es el desarrollo
de un plug-in para Khan Academy, la opción directa es la de utilizar las mismas tecnologías que usa
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
60
la plataforma inicial. Además, el uso del Datastore de App Engine es bastante adecuado por ser una
base de datos no relacional orientada a tecnologías del área de Big Data.
Otra opción posible es la de externalizar cierta parte de la funcionalidad de la aplicación. Por
ejemplo, se podría externalizar toda la funcionalidad del procesado de datos que es la
computacionalmente más costosa de la aplicación. Posteriormente, los resultados del procesado
podrían ser adquiridos por la aplicación principal mediante un servicio web de forma sencilla. Sin
embargo en este trabajo, para una mayor sencillez del desarrollo, se escoge realizar un desarrollo
conjunto de todas las partes de la aplicación y que este desarrollo sea integrado en el mismo
servidor en el que esté funcionando la instancia de Khan Academy. Por esta razón, se van a utilizar
las tecnologías en las que está desarrollada la plataforma principal Khan Academy.
4.2.1.1. Python
El lenguaje de programación que se ejecuta por debajo de la versión de Khan Academy utilizada es
Python en su versión 2.7 [31]. Python es un lenguaje de programación ampliamente utilizado de
alto nivel, su diseño está orientado para enfatizar la legibilidad del código y expresar conceptos
complejos de forma sencilla. Soporta múltiples tipos de programación como orientada a objetos,
imperativa o programación funcional. A continuación se mencionan las librerías utilizadas durante
la implementación de ALAS-KA de forma breve:
Webapp2 [32]: Es un entorno de trabajo ligero compatible con App Engine y para la
versión 2.7 de Python. Webapp2 es compatible con el estándar WSGI para aplicaciones
web Python, proporciona una gran cantidad de posibilidades que hacen el desarrollo más
sencillo como por ejemplo enrutamiento de URI, control de sesión y localización.
Jinja2 [33]: Es un moderno lenguaje de plantillas para Python con un diseño amigable. Se
encarga de interpretar el código de ejecución Python entre llaves que se añaden en las
plantillas Django.
Numpy [34]: Es un paquete de funciones para el procesado computacional en Python.
Dentro de este paquete se encuentran las funciones usadas para definir polinomios vistas
en el capítulo 3.
Matplotlib [35]: Es una librería Python para realizar representaciones 2D con figuras de
calidad. Se usa para realizar las representaciones de los polinomios definidos.
Tanto Wepapp2, como Jinga2 y Django, son usadas también en Khan Academy y esa es la razón
por la que han sido usadas para el desarrollo del plug-in, para proseguir con la misma filosofía de
desarrollo que se ha utilizado previamente en la plataforma. Numpy y Matplotlib son las librerías
más utilizadas para dicha finalidad en Python.
4.2.1.2. Google App Engine
Google App Engine [36] es una infraestructura de Google que permite el funcionamiento de
aplicaciones web. Contiene muchas facilidades que permiten construir de forma simple aplicaciones
web, mantenerlas y además escala muy bien conforme las necesidades de almacenamiento y tráfico
van creciendo. Gracias a esta infraestructura, un desarrollador se puede abstraer del mantenimiento
de servidores de forma que puede centrarse sólo en el desarrollo de la aplicación, y para su puesta
en marcha sólo tiene que subirla a dicha infraestructura. Soporta los lenguajes Java y Python y ahora
mismo está en fase de experimentación con PHP y Go. Su uso es gratuito mientras el tráfico y
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
61
almacenamiento no exceda unos límites. Una vez que la aplicación se haga demasiado grande se
pues contratar unas cuotas en las que sólo se paga por el uso que haya tenido la aplicación.
Podemos ver esta infraestructura como una caja negra que se encarga de todo el balance de
servidores necesario en función de la demanda de la aplicación, la ejecución de código, o
persistencia de datos.
4.2.1.3. App Engine Datastore
El App Engine Datastore [37] es una base de datos no relacional que proporciona un
almacenamiento robusto y escalable para las aplicaciones web. Contiene una interfaz así como una
rica API para el modelado de datos. También proporciona un lenguaje de peticiones similar a SQL
llamado GQL (Google Query Language). En el Dasastore, cada uno de los objetos que contiene, se
denominan entidades. Una entidad puede tener una o más propiedades que pueden ser de
diferentes tipos. Cada entidad es identificada mediante su kind o tipo, que categoriza el tipo de
entidad que está siendo buscada en una consulta. Su key o clave que la identifica inequívocamente
dentro de su tipo.
En la API de Python, un model o modelo describe un tipo de entidad, incluyendo los tipos y
configuración de sus propiedades. Estos modelos no son definidos como ocurre comúnmente
mediante tablas, sino que son definidos por clases Python, cuyos atributos describen las
propiedades. El nombre de la clase se convierte en el nombre de la entidad. Para crear una nueva
entidad sólo hay que instanciar un objeto de la clase, asignar sus atributos y posteriormente
introducirla en el Datastore mediante algún método como el put().
El Datastore difiere en algunos aspectos de las bases de datos tradicionales. Por ejemplo utiliza una
arquitectura distribuida para que automáticamente sea capaz de escalar para conjuntos de datos muy
grandes. Otra diferencia es que entidades del mismo tipo pueden tener diferentes propiedades, o
incluso que algunas entidades puedan tener propiedades con el mismo nombre pero siendo
diferentes tipos. Estas características propias provocan unas diferencias importantes en algunos
sentidos:
El Datastore está diseñado para escalar, permitiendo a la aplicación mantener el nivel de
rendimiento conforme el tráfico va aumentando.
Debido a que todas las consultas se generan mediante índices pre-diseñados, el tipo de
consultas que pueden ser ejecutadas son más restrictivas que las ejecutadas en bases de
datos tradicionales con SQL. Por ejemplo, no se pueden hace operaciones de unión entre
tablas o sub-consultas.
El Datastore no requiere que todas las entidades de un tipo tengan las mismas propiedades
obligatoriamente.
4.2.1.4. Google Charts
Para las visualizaciones que se van a ofrecer, se escoge la librería Google Charts [38]. La versión que
utiliza Khan Academy es Highcharts JS [39], pero se trata de una librería que requiere licencia para
su uso. Se opta entonces por la opción de Google Charts que es de uso libre bajo la licencia Apache
2.0. Esta librería proporciona una manera sencilla y adecuada para hacer visualizaciones de datos en
una aplicación web. Contiene numerosos tipos de visualizaciones, desde gráficas muy sencillas a
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
62
lineales, o a complejos árboles de datos. La forma más común de utilizarla es embebiendo
JavaScript en su página web.
4.2.2. ESTRUCTURA DEL SISTEMA
En esta sección se realizará la explicación del sistema. Primero se dividirá en los bloques para
posteriormente mediante un diagrama ilustrar la conexión entre todas las unidades y la explicación
de cada uno de los elementos.
4.2.2.1. Bloques del sistema
La estructura del sistema se puede dividir en tres bloques cuya funcionalidad será diferente en cada
uno de ellos. Los bloques en que se puede dividir la aplicación serán: el backend, frontend y
procesamiento de datos.
Backend:
El backend es el encargado de recoger la información de entrada del frontend para procesar la
petición y enviar una respuesta. Estará formado principalmente por las clases
webapp2.RequestHandler, que son los manejadores que se encargan de recibir la petición del usuario
en su método get(self), procesará los parámetros de entrada que contiene la petición y devolverá una
respuesta apropiada que contendrá dos elementos:
La ruta de la plantilla que se tiene que generar en el navegador del usuario.
Los parámetros/variables que van a ser necesarios para generar dicha plantilla.
Se encargará también de la gestión de permisos y seguridad en función del usuario que haya hecho
log-in, y en función de ello dará una respuesta o bloqueará la petición.
Frontend:
El frontend es la interfaz que el usuario recibe en su pantalla y con la que puede interactuar. La
interfaz ha sido diseñada de la forma más sencilla posible existiendo sólo 4 ítems en el menú de
inicio. Las pantallas de visualización individual y de clase están formadas por cajas de selección, que
permiten computar entre distintos grupos de medidas y alumnos. No existen campos de texto libre,
ni es necesario el log-in del usuario ya que usa el mismo de Khan Academy. La forma de mostrar
las diferentes visualizaciones sin tener que recargar la pantalla es mediante el uso de un marco
HTML cuyo contenido va variando en función de las modificaciones de las cajas de selección. Más
adelante se explicarán las razones de esta decisión.
Procesamiento de datos:
Este bloque es el encargado del procesado de las estadísticas que se generan periódicamente sobre
los alumnos en la plataforma. Está dividido en 6 bloques funcionales que son los correspondientes
con los explicados en el capítulo 3 y además un bloque de evaluación del curso. Cada uno de ellos
estará codificado por un fichero Python. Cada uno de estos ficheros será posteriormente ejecutados
para cada uno de los alumnos del curso de forma periódica mediante el Cron Service como un
trabajo periódico. También es necesaria su configuración mediante el fichero cron.yaml. Todo esto se
explicará más en profundidad más adelante.
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
63
4.2.2.2. Diagrama y explicación del sistema
En este punto se va a presentar el diagrama que hace referencia al diseño de la estructura del
sistema y los diferentes elementos que lo componen. Se explicará cada uno de ellos y las relaciones
que tiene con los demás elementos. Además se argumentará las razones de haber elegido dicha
opción y si podría haberse elegido otra.
Figura 39. Diagrama del diseño del sistema ALAS-KA integrado con Khan Academy.
En la figura 39 se muestra el diagrama del sistema integrado en el mismo servidor de Google App
Engine con Khan Academy. Ahora se van a comentar por separado cada uno de los elementos y
cuál es su función, así como su interaccionan con otros elementos.
Estudiantes:
Los estudiantes son evidentemente un elemento importante dentro del sistema. Son los que van a
interaccionar con la plataforma Khan Academy y generarán las entidades de bajo nivel de Khan
Academy que luego son necesarias para reconstruir el flujo que han seguido los usuarios y aplicar
todos los procesamientos para generar los parámetros de alto nivel. Además los estudiantes también
pueden acceder a la aplicación ALAS-KA y recibir realimentación con las visualizaciones de ellos
mismos para poder reflexionar sobre su propio aprendizaje. Los estudiantes, sin embargo, no
pueden acceder a las visualizaciones de la clase o a las de otros usuarios.
Profesores:
El trabajo de los profesores es el diseño de los vídeos y ejercicios de los cursos de Khan Academy,
pero además la monitorización del trabajo de los alumnos durante el curso. ALAS-KA proporciona
las herramientas necesarias para supervisar la progresión y el trabajo de cada alumno por separado
mediante visualizaciones individuales así como la clase en conjunto mediante visualizaciones
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
64
globales. Los profesores pueden acceder a todas ellas. Es mucho más fácil controlar la evolución
del curso y de cada uno de los alumnos gracias a ALAS-KA y a las visualizaciones que ofrece.
Pueden intervenir en caso de que se observe alumnos con problemas, hacer advertencias de forma
temprana, detectar ejercicios o vídeos con problemas y en realizar recomendaciones a los
estudiantes de forma más sencilla.
Datastore:
Como se ha dicho previamente, el App Engine Datastore proporciona el almacenamiento para
Khan Academy. La mayoría de los eventos que generan los estudiantes durante su proceso de
aprendizaje son almacenados. Ya que se ha diseñado ALAS-KA como un plug-in para funcionar de
forma conjunta en el mismo servidor de Khan Academy, la forma más directa es usar también este
sistema para la persistencia de datos. Otras opciones podrían haber sido el uso de otro sistema
como base de datos, que se encontrara fuera de App Engine, aunque para este caso no se vio la
necesidad de hacerlo. Dentro de los tipos de entidad existentes en el Datastore hay una diferencia
importante: podemos encontrar los modelos que hacen referencia a las entidades generadas por
Khan Academy y los que son necesarios y generados por ALAS-KA.
Entidades de Khan Academy: Son las generadas por la interacción de los usuarios, aquí
están las entidades necesarias y que se utilizan para el procesado de los parámetros que
ofrece ALAS-KA, pero además hay muchas otras que no resultan de interés a este
proyecto.
Entidades de ALAS-KA: Las entidades que se han diseñado aquí tienen dos funciones. Por
un lado hay unas que son para la configuración de ALAS-KA y contienen información
sobre los ejercicios, y vídeos de cada uno de los cursos (ya que soporta distintos cursos en
la misma plataforma, como se comentó previamente), así como los permisos de los
distintos usuarios que pueden acceder a la plataforma. Por otra parte también hay entidades
que se utilizan para guardar los datos que han sido generados mediante los procesados para
que posteriormente pueden ser rápidamente accesibles cuando una visualización sea
requerida. También son calculados y guardados datos de las medias de la clase, para que no
tengan que ser generadas cada vez que se solicita una visualización que las necesite.
Procesado de datos:
Este bloque está a cargo de realizar el procesado de datos y generar todos los parámetros
propuestos previamente en el capítulo 3. El objetivo es transformar los datos de bajo nivel
generados por los eventos de los usuarios en Khan Academy en parámetros de alto nivel, que
puedan transmitir información útil a los profesores para mejorar la experiencia de aprendizaje. La
tarea de procesado es realizada en el servidor de App Engine donde se ejecuta también Khan
Academy. Las propiedades que ofrece este servidor para la escalabilidad de carga en función del
procesado requerido facilitan esta tarea, por lo que es una buena opción. Sin embargo, este
procesado también podría ser realizado en caso necesario fuera del servidor de App Engine,
ejecutándose como un servicio externo de ALAS-KA. Este es uno de los puntos más importantes
por lo que será explicado más en profundidad en la siguiente sección.
Visualizaciones:
La API de Google Charts es la elegida para generar las visualizaciones debido a su simplicidad pero
a la vez su potente entorno de trabajo. Además dispone de numerosas visualizaciones que pueden ir
desde las más sencillas a algunas muy complejas. Sólo es necesario para ejecutar sus visualizaciones
en una aplicación web el cargar sus librerías JavaScript y ya están listas para ser generadas. Están
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
65
muy extendidas y probadas, por lo que también hay mucha documentación disponible para su
comprobación y verificación. Otro punto importante es que las gráficas están generadas usando
HTML5/SVG por lo que proporciona compatibilidad entre navegadores y entre dispositivos
(tablets, smartphones). Google Charts genera los gráficos en el lado del cliente por lo que el
servidor no tiene que realizar ningún procesado adicional. En el caso de esta aplicación, los datos
necesarios para las visualizaciones son pedidos al Datastore, y sólo son necesarios estos datos para
generar las visualizaciones, por lo que estos datos requeridos también podrían ser recibidos de una
fuente externa a través de por ejemplo, un servicio web.
Recomendador:
Cada vez que el procesado de los datos es ejecutado, la información queda disponible en ALAS-KA
para su acceso. Khan Academy incluye un recomendador de ejercicios en función del camino
recomendado de los usuarios a la hora de hacer ejercicios pero no incluye ninguna funcionalidad
adicional de recomendación a esta. El trabajo de este bloque de recomendador sería el analizar los
resultados de los procesos, y en base a determinadas reglas, que sea capaz de lanzar advertencias a
los estudiantes y profesores. Las recomendaciones pueden estar orientadas desde decir a un
estudiante que sería mejor trabajar en las mañanas ya que su eficiencia es mayor a avisar a un
profesor de que determinado estudiante no está interviniendo en la plataforma para evitar que
abandone el curso. Este bloque recomendador no ha sido implementado aún y es parte del trabajo
futuro.
4.2.3. MODELO DE DATOS
La solución implementada permite proporcionar información de diferentes cursos (formados por
ejercicios y vídeos) en la misma instancia de Khan Academy. Esta es una diferencia importante con
respecto a la funcionalidad inicial que ofrece la plataforma original. En caso de que se deseen poner
varios cursos en la misma instancia de Khan Academy formados por diferentes ejercicios (por
ejemplo física, matemáticas y química) y hay estudiantes diferentes en cada uno de los cursos, se
pueden analizar las gráficas de cada estudiante en cada uno de los cursos por separado, siendo las
estadísticas generadas sólo de los ejercicios y vídeos de cada curso que se consulte. Esto mejora la
exactitud de las métricas que se ofrecen, ya que no se mezclan los datos de los diferentes cursos.
Para realizar esto es necesario adaptar el modelo de datos para conseguir hacer esta separación entre
diferentes cursos, para diferenciar a cuál corresponde cada ejercicio, video o alumno. El diseño que
se ha realizado del modelo de datos es totalmente separado de las entidades originales de Khan
Academy para que el impacto que tenga la instalación de ALAS-KA sea mínimo con respecto de la
funcionalidad y código original de Khan Academy. De esta manera, se eliminan posibles problemas
que pudieran aparecer de la modificación del código base. En la figura 40 se explica el modelo de
datos introducido y cómo se relaciona con las entidades ya existentes de Khan Academy. Se
presentan las entidades de Khan Academy en amarillo y las nuevas entidades creadas de ALAS-KA
en azul. En la figura sólo se presentan las entidades de Khan Academy que resultan de importancia
para el funcionamiento de ALAS-KA aunque tiene muchas más que no aparecen. Se explica ahora
de forma breve el uso que tiene cada uno de los tipos de entidad.
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
66
Figura 40. Modelo de datos. Entidades de Khan Academy (amarillo) y ALAS-KA (azul) así como su relación.
UserData:
Esta entidad representa toda la información de un usuario en Khan Academy, conteniendo su
nombre, email, las medallas ganadas, o los ejercicios en los que ha alcanzado la proficiency. Es decir
contiene una gran variedad de datos, aunque no en un gran nivel de detalle sino más en un ámbito
de datos generales del uso de la plataforma.
Exercise and Video:
Estas entidades representan los ejercicios y vídeos disponibles en la plataforma de Khan Academy.
El proceso para añadir vídeos (tienen que estar subidos a YouTube) y ejercicios es mediante una
pantalla de administración que incluye Khan Academy y que permite realizar esta función.
Contienen información general como el título, descripción y otros datos requeridos para su
funcionamiento en Khan Academy.
UserExercise y UserVideo:
Estas entidades representan la interacción de un determinado usuario con un ejercicio específico o
vídeo. Por ejemplo, UserExercise incluye el número de veces que ha hecho dicho tipo de ejercicio
bien, cuál es su grado de progreso en dicho ejercicio, o cuantas veces ha accedido a ese ejercicio. El
UserVideo, de forma similar, también informa por ejemplo del tiempo de vídeo visto, o si ha
completado el vídeo.
ProblemLog y VideoLog:
Estas son unas de las entidades más importantes, y representa cada vez que el usuario ha accedido a
un ejercicio (ProblemLog) y vídeo (VideoLog), así como la interacción que ha hecho el usuario en
dicho acceso. La entidad ProblemLog almacena todos los eventos del usuario cuando intenta resolver
un ejercicio con marcas de tiempo, como por ejemplo cada vez que da una respuesta, pide una pista
y otras variables. Gracias a esto es posible reconstruir el flujo de interacción del usuario resolviendo
dicho ejercicio y procesar muchas de las medidas propuestas. Por ejemplo, es posible comprobar la
hora de entrada a los vídeos (VideoLog) para comprobar si ha visto los vídeos antes de intentar el
ejercicio relacionado.
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
67
ViewerUser:
Esta es la entidad que representa un usuario en ALAS-KA. Una de sus propiedades es una
referencia a la misma propiedad user de la entidad UserData. La propiedad user representa al usuario
de Khan Academy, de forma que hace la función de clave foránea, para unir el mismo usuario de
ALAS-KA al de Khan Academy. En esta entidad también se distingue entre profesores, alumnos, y
aquellos usuarios que no puedan acceder a ALAS-KA. También se incluye a qué curso pertenece
(en caso de que haya varios cursos a la vez). De esta manera se consigue configurar los distintos
roles y permisos existentes en ALAS-KA y la posibilidad de generar diferentes informaciones para
cada curso. Los profesores no son considerados como estudiantes aunque hayan interactuado con
el curso, por lo que sus datos no son utilizados para el procesado de los datos de bajo nivel.
ViewerExercise y ViewerVideo:
Estas entidades representan los ejercicios y vídeos en ALAS-KA. Tienen como propiedad
referencia las entidades de Khan Academy de Exercise y Video como clave foránea de forma que
están enlazadas a las originales, pero sin modificarlas. Tiene su utilidad en asignar dicho ejercicio o
vídeo a uno de los cursos correspondientes, así como otras modificaciones en caso de que fueran
necesarias (por ejemplo la ponderación del vídeo o ejercicio). Por ejemplo, se da el caso a veces de
que hay ejercicios o vídeos introductorios que también se encuentran en la plataforma, pero no se
desea que formen parte de las estadísticas, esta entidad permite indicar cuales son los ejercicios y
vídeos que hay que considerar en cada curso.
UserProfile:
Esta es la entidad principal de cada usuario. En ella se almacenan los resultados de todas las
medidas que se ejecutan en ALAS-KA. Generalmente se guardan en forma de porcentaje y son
actualizadas cada vez que son ejecutados los cron jobs. También es soportado que un mismo usuario
pertenezca a varios cursos al mismo tiempo. Para ese caso existiría una entidad UserProfile para cada
uno de los cursos a los que pertenece el usuario.
ClassMeanProfile:
Esta entidad ha sido diseñada para almacenar los valores medios por clase y por curso de cada una
de las medidas. Esto es útil para tener una sensación de si el usuario está por encima o por debajo
de la media de la clase en determinados parámetros que ayuda a ser capaces de poner un umbral o
poner al usuario en contexto comparativo. Se utiliza en algunas de las visualizaciones para dicha
comparación por lo que de esta manera no es necesario calcular estas medias cada vez que se vaya a
mostrar una gráfica sino que sólo hay que recuperar el valor anteriormente calculado.
4.2.4. DISEÑO PARA EL PROCESAMIENTO DE DATOS
Uno de los retos en learning analytics así como en otros dominios dónde hay que hacer grandes
extracciones y procesados de inmensas cantidades de datos (se puede hablar de millones de
registros), es la forma de hacerlo eficientemente y sin saturar el servidor. Es todo un desafío el
realizar un diseño que pueda funcionar de forma eficiente sin colapsar la capacidad de procesado
del servidor ejecutando extracción y procesado en intervalos regulares de tiempo.
Cada sistema de almacenamiento de datos es diferente por lo que la arquitectura más adecuada
puede diferir de uno a otro. Por ejemplo, el Datastore tiene ciertas restricciones, como la que se
había comentado previamente de la necesidad de generar pre-índices para realizar consultas. Otra
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
68
posible restricción es que las peticiones de usuario sólo pueden ejecutarse por un máximo de 60
segundos. Sin embargo, la parte positiva es como se ha comentado con anterioridad, el Datastore
está diseñado para escalar muy bien y permitir a las aplicaciones mantener sus niveles de
rendimiento conforme el tráfico demandado aumente y esto es muy importante. Además, esta
característica es transparente al desarrollador. En la figura 41 se puede ver el diseño para el
procesamiento de datos realizado. Se comentarán cada uno de los elementos de forma individual.
Figura 41. Diseño para el procesamiento de datos.
Cron jobs:
La longitud de las consultas más pesadas puede alcanzar entre los 30 y 60 segundos de extracción y
procesado. Este hecho hace que sea imposible realizar dicho procesado cada vez que una
visualización sea requerida, puesto que el usuario debería de esperar una cantidad de tiempo
enorme que haría la experiencia al usuario inaceptable por lo cual hay que buscar una solución. Para
solucionar este problema se configura el sistema de App Engine Cron Service [40] para procesar los
parámetros necesarios en intervalos de tiempo regulares. Una vez que el procesado ha terminado, se
almacenan los resultados en el tipo de entidad UserProfile de ALAS-KA. De esta manera, cuando es
necesario mostrar una visualización, se puede acceder a los resultados del procesado de forma
rápida y se irá actualizando en intervalos de tiempo.
También es importante encontrar un balance adecuado entre las necesidades de procesado
computacional requeridas y el intervalo de tiempo con el que se van a ejecutar las medidas
regularmente. Cuanto menor sea el intervalo de tiempo, evidentemente se ejecutarán las medidas
más frecuentemente y por consiguiente la carga computacional será mayor. Además, debido a que
una vez que se supera la cuota gratuita de Google App Engine, se tiene un coste monetario en
función del procesado, entonces cuanto menor fuera el intervalo de tiempo mayor sería el coste, al
haber un mayor número de operaciones con el Datastore. Por ello, este es un punto de decisión
importante, dependiendo de qué aplicación puede ser una necesidad prioritaria o no. En nuestro
caso, no es una necesidad prioritaria el que se actualice cada poco tiempo, por lo que el tiempo de
actualización elegido fue cada 12 horas (dos veces al día).
Se han creado 6 tareas cron jobs diferentes, uno para cada uno de los 5 grupos de medidas definidas
en el capítulo 3 y otro adicional para las medidas de evaluación. De esta manera, se agrupa el
procesado de las medidas por funcionalidad lo que ayuda a hacer la aplicación más escalable así
como balancear y dividir el procesado en bloques. El proceso para configurarlos es a través del
fichero cron.yaml en el que se indica los cron jobs existentes, el intervalo de tiempo de ejecución así
como huso horario y la URL dónde está ubicado el script a ejecutar. El sistema lanzará cada cierto
tiempo una petición HTTP GET a dicha URL para ejecutar el cron job. Dicho código generará una
entidad task por cada alumno de la plataforma, la cual representará el script de procesado de datos
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
69
de las medidas agrupadas en dicho bloque correspondiente a ese alumno. Cada una de dichas
entidades task serán encoladas en su queue correspondiente, lo cual es explicado a continuación.
Queue:
La Task Queue Python API [41] de App Engine, proporciona un poderoso sistema para ejecutar
trabajo en segundo plano. Se encarga de ejecutar las peticiones que no provienen del usuario. El
número de colas así como otros parámetros de diseño son configurados en el fichero queue.yaml de
configuración para el entorno de App Engine. Hay algunos parámetros para la configuración de
cuantas tasks se desean ejecutar por unidad tiempo, pero el resto es transparente al desarrollador, el
sistema se encarga de ejecutar las tasks al ritmo que es posible en función de las necesidades
computacionales requeridas y disponibles en el servidor. Por ello este es un excelente método para
balancear el trabajo sin saturar el servidor y que se vaya ejecutando el procesado en segundo plano
conforme sea posible.
También se han generado como en el caso de los cron jobs, 6 queues diferentes, una para cada uno de
los cron jobs. Las tasks generadas por cada uno de los cron jobs serán encoladas en su queue
correspondiente. La funcionalidad y el procesado se sigue manteniendo separado de esta manera,
incluso esto permite asignar diferentes prioridades a algunas medidas sobre otras.
Task:
Una task está considerada como una unidad pequeña y discreta de trabajo en App Engine. Cada una
de las task que generarán los cron job, será la unidad de procesado encargada de generar la estadística
de un tipo de medida y un alumno. Cada task generada se irá añadiendo paulatinamente a su queue
correspondiente. Una vez añadidas el sistema de encolado las irá ejecutando en el mismo orden que
fueron añadidos y cuando sea posible. En caso de que el procesado fallara, dicha task sería encolada
de nuevo. Por lo que se irá ejecutando el procesado de cada alumno y cada tipo de medida en
pequeñas unidades de trabajo que no saturarán el servidor ni agotarán los tiempos de respuesta
impuestos por App Engine, que para el caso de peticiones en segundo plano son de 10 minutos.
El proceso de ejecución de cada task, englobará una primera etapa en la que extraerá los datos de
bajo nivel requeridos de ese alumno de las entidades de Khan Academy. Posteriormente, realizará el
procesado personalizado de ese bloque de medidas correspondiente. Finalmente, almacenará los
resultados de las medidas ejecutadas sobre ese alumno en la entidad UserProfile de los models
definidos en ALAS-KA, para que posteriormente sean rápidamente accesibles en las
visualizaciones. Con esto se completaría el ciclo de ejecución para ese alumno que se iría repitiendo
para cada una de las task generadas.
La última task generada por cada cron job, será un sistema para calcular los valores medios de la clase
de los parámetros calculados en dicho bloque de medidas. Ese valor medio es almacenado en la
entidad ClassMeanProfile de ALAS-KA. El objetivo es recuperarlo luego de forma rápida al mostrar
visualizaciones, para comparar al usuario con los valores medios de la clase.
Procesado personalizado:
El procesado personalizado es la ejecución de los bloques de parámetros que se han descrito en el
capítulo 3. Cada cron job tendrá su propio procesado que será ejecutado en su correspondiente queue.
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
70
4.2.5. DISEÑO PARA VARIOS CURSOS MONO-INSTANCIA
Como se ha comentado previamente, ALAS-KA soporta que haya varios cursos en la misma
instancia de Khan Academy y extraer información de cada uno de ellos. Los cursos pueden estar
formados por diferentes ejercicios y vídeos, además que haya estudiantes matriculados en uno o
todos los cursos. Uno de los puntos más importantes para poder realizar esto es el modelo de datos
en las entidades ViewerUser, ViewerExercise y ViewerVideo. Estas entidades representan un usuario,
ejercicio y vídeo en ALAS-KA y es necesario referenciar a que curso pertenecen. En el caso de los
usuarios, pueden pertenecer a varios cursos a la vez. Se podría explicar la ejecución que realiza una
tarea cron job mediante pseudocódigo de la siguiente forma:
Estos son los ficheros que han sido implementados para el desarrollo de ALAS-KA, aunque se han
omitido algunos que forman parte de Khan Academy y eran necesarios también de utilizar en
ALAS-KA para hacer los cambios oportunos en ellos. Se ve con un “+” los paquetes y con “\” las
carpetas. Seguidamente se comenta un resumen de la utilidad de algunos de los ficheros.
En la raíz del código, se encuentran los archivos de configuración, que son los siguientes:
El fichero app.yaml es el que se encarga de la configuración de muchos aspectos de la
aplicación como librerías, ID de la aplicación, o algunos manejadores.
El fichero cron.yaml determina la configuración de los cron jobs existentes, de la misma forma
que el queue.yaml para las queues.
El fichero index.yaml es el que se encarga de definir el pre-indexado de las diferentes
entidades del Datastore. Este es el que determina el formato de las consultas a el Datastore.
El fichero main.py es el primero que ejecuta la aplicación y se encarga de poner en el
contexto de la aplicación web los mapping de las diferentes URL a los manejadores
adecuados.
En la carpeta de static_viewer se encuentran los recursos estáticos de la aplicación como son las hojas
de estilo de la interfaz y otra específica para algunos elementos HTML. También se encuentra la
carpeta images que contiene las imágenes que son necesarias para la interfaz.
En la carpeta viewer_code se aglutina todo el código propiamente de ALAS-KA, ya que el resto eran
ficheros de configuración y recursos estáticos. En su nodo raíz se encuentran los siguientes
elementos:
El fichero classes_viewer.py contiene algunas clases Python que fueron necesarias para
facilitar el desarrollo de ALAS-KA siguiendo una metodología orientada a objetos.
Los ficheros menu_handlers.py, profile_handlers.py, class_handlers.py son los manejadores de
peticiones de la aplicación. El primero se encarga de las peticiones y lógica de negocio para
los enlaces menu y el about. El segundo se encarga de las peticiones y la lógica de negocio de
las visualizaciones individuales. Por último, el tercero tiene la misma tarea para las
visualizaciones globales de la clase. Su trabajo es recibir una petición y dar la respuesta
adecuada en función de los parámetros de la petición.
El fichero profileviewer_models.py es el que contiene las clases que representan modelos de
Datastore con sus propiedades para definir las entidades necesarias para ALAS-KA.
En viewer_consts.py se agrupan algunas constantes que son necesarias para el desarrollo,
como por ejemplo los literales que dan la descripción a cada bloque y medida.
En el paquete viewer_cron se encuentra toda la funcionalidad del procesado de datos que se realiza en
ALAS-KA. Como se puede ver hay un fichero para cada uno de los cron jobs que se han
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
77
implementado, que a su vez existen por cada uno de los bloques de parámetros propuestos. Este es
el grueso del desarrollo de ALAS-KA y será comentado en más profundidad en la siguiente sección.
Por último, la carpeta viewer_templates contiene todas las plantillas con la representación gráfica de la
aplicación. Se han generado un total de 16 plantillas. Habrá una para cada una de las páginas
principales, que son menu, user, class y about. Y luego habrá una por cada tipo de visualización. Por lo
que serán 6 visualizaciones de usuario y otras 6 de clase que sumadas dan el total de las 16 plantillas.
Además se usa una plantilla HTML en blanco.
4.3.4. CODIFICACIÓN DEL PROCESADO DE DATOS
La codificación los ficheros del paquete viewer_code que implementan toda la funcionalidad del
procesado de datos ha sido el grueso del desarrollo de ALAS-KA, así como la parte más
complicada de implementar. En este punto se va a exponer como se han realizado todos ellos
poniendo como ejemplo como se ha codificado el procesado de medidas de Uso Total de la
Plataforma. Para ello se referenciará parte del código en use_of_platform.py. En las siguientes líneas se
ve parte de la estructura de dicho código. Las líneas están numeradas para comentarlas con
referencias del tipo #número.
class UseOfPlatform(webapp2.RequestHandler): #1 def get(self): #2 studentUsers = GqlQuery("SELECT * FROM ViewerUser WHERE student = True") #3 for studentUser in studentUsers: #4 taskqueue.add(queue_name='use-of-platform', url='/admin/use_of_platform', params={'userId': studentUser.key().name()}) #4 taskqueue.add(queue_name='use-of-platform', url='/admin/mean_calculator', params={'profileName': viewer_code.viewer_consts.USE_OF_PLATFORM}) #5 def post(self): #6 user_id = self.request.get('userId') #7 userProfile = UserProfile.get_by_key_name(user_id) #7 userProfile = bloqueProcesadoDeParametros(user_id) #7 userProfile.put() #7
También es necesario que se declare el cron job, en el fichero cron.yaml como sigue:
cron: - description: use-of-platform url: /admin/use_of_platform schedule: every 12 hours timezone: Europe/Madrid Como se ve, la URL dónde está el script que va a ejecutar el cron job es /admin/use_of_platform, por lo
que habrá que enlazar dicha URL al manejador que tiene que recibir esta petición que está
especificado en #1. Esto se hace en el fichero main.py a través de WSGIApplication para asignar las