Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
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.
Keywords: visualizations, Khan Academy, data processing, distance learning, learning analytics, e-
learning, recommendations, architecture.
ÍNDICE DE CONTENIDOS
CAPÍTULO 1. INTRODUCCIÓN ....................................................................................... 10
1.1. MOTIVACIÓN ................................................................................................................................. 10
1.2. OBJETIVOS ..................................................................................................................................... 11
1.3. PLANIFICACIÓN TEMPORAL DEL TRABAJO .............................................................................. 13
1.4. ESTRUCTURA DE LA MEMORIA ................................................................................................... 14
CAPÍTULO 2. ESTADO DEL ARTE .................................................................................. 16
2.1. BIG DATA Y LEARNING ANALYTICS EN LA ACTUALIDAD.................................................... 16
2.2. FASES DEL PROCESO DE LEARNING ANALYTICS .................................................................... 20
2.3. VISUALIZADORES ......................................................................................................................... 23
2.4. RECOMENDADORES ..................................................................................................................... 28
2.5. LA PLATAFORMA KHAN ACADEMY Y SU SOPORTE DE LEARNING ANALYTICS ................ 30
2.5.1. Descripción de las funcionalidades de Khan Academy ................................................................ 30
2.5.2. Elementos de gamificación ......................................................................................................... 33
2.5.3. Elementos de Learning Analytics .............................................................................................. 34
CAPÍTULO 3. PROPUESTA DE PARÁMETROS DE ALTO NIVEL .............................. 39
3.1. PROGRESO TOTAL EN LA PLATAFORMA .................................................................................. 39
3.1.1. Uso efectivo de la plataforma ..................................................................................................... 40
3.1.2. Abandono de videos o ejercicios .................................................................................................. 40
3.1.3. Tiempo total en la plataforma ................................................................................................... 41
3.1.4. Uso de elementos opcionales ....................................................................................................... 41
3.1.5. Focalizador de videos o ejercicios ................................................................................................ 42
3.2. PROGRESO CORRECTO EN LA PLATAFORMA .......................................................................... 43
3.2.1. Progreso efectivo en la plataforma .............................................................................................. 43
3.2.2. Progreso eficiente en la plataforma ............................................................................................. 45
3.3. DISTRIBUCIÓN DEL TIEMPO DE USO DE LA PLATAFORMA ................................................. 49
3.3.1. Uso de la plataforma y eficiencia por tramos horarios ................................................................. 49
3.3.2. Media y varianza del tiempo de uso del usuario ......................................................................... 50
3.3.3. Constancia ................................................................................................................................ 50
3.4. HÁBITOS DE LUDIFICACIÓN ...................................................................................................... 51
3.4.1. Interés en ganar medallas .......................................................................................................... 51
3.4.2. Proporción de puntos por ludificación ......................................................................................... 51
3.5. HÁBITOS RESOLVIENDO EJERCICIOS ....................................................................................... 52
3.5.1. Seguidor de recomendaciones ...................................................................................................... 52
3.5.2. Usuario olvidadizo.................................................................................................................... 52
3.5.3. Evitador de vídeos, evitador de pistas y usuario no reflexivo ....................................................... 53
3.5.4. Usuario abusador de pistas ....................................................................................................... 54
CAPÍTULO 4. DESARROLLO DEL MÓDULO ALAS-KA DE ANALÍTICA DE
APRENDIZAJE .................................................................................................................... 56
4.1. ESPECIFICACIÓN DE REQUISITOS .............................................................................................. 56
4.1.1. Funcionalidad del sistema ......................................................................................................... 56
4.1.2. Requisitos funcionales ............................................................................................................... 57
4.1.3. Requisitos no funcionales ........................................................................................................... 58
4.2. ANÁLISIS Y DISEÑO ...................................................................................................................... 59
4.2.1. Tecnologías y APIs del sistema ................................................................................................. 59
4.2.2. Estructura del sistema ............................................................................................................... 62
4.2.3. Modelo de datos ........................................................................................................................ 65
4.2.4. Diseño para el Procesamiento de Datos ..................................................................................... 67
4.2.5. Diseño para varios cursos Mono-Instancia ................................................................................. 70
4.3. IMPLEMENTACIÓN ....................................................................................................................... 71
4.3.1. Entorno de trabajo.................................................................................................................... 71
4.3.2. Fases de codificación .................................................................................................................. 72
4.3.3. Estructura y utilidad del código ................................................................................................. 75
4.3.4. Codificación del procesado de datos ............................................................................................ 77
4.3.5. Problemas en la codificación ...................................................................................................... 78
4.4. PRUEBAS REALIZADAS ................................................................................................................. 79
4.4.1. Pruebas unitarias ...................................................................................................................... 80
4.4.2. Pruebas modulares .................................................................................................................... 81
4.4.3. Prueba global ............................................................................................................................ 82
4.4.4. Pruebas de seguridad ................................................................................................................. 83
4.5. INTEGRACIÓN ............................................................................................................................... 83
4.6. VALIDACIÓN Y VERIFICACIÓN ................................................................................................... 83
4.7. MANTENIMIENTO ........................................................................................................................ 85
4.8. RESULTADO FINAL DE LA IMPLEMENTACIÓN DE ALAS-KA .............................................. 85
CAPÍTULO 5. EVALUACIÓN DEL PROCESO DE APRENDIZAJE ............................. 86
5.1. DESCRIPCIÓN DE LA ESTRUCTURA Y ENTORNO DE LAS EXPERIENCIAS ........................... 86
5.1.1. Primera experiencia curso 0 en UC3M ..................................................................................... 86
5.1.2. Segunda experiencia curso 0 en UC3M .................................................................................... 87
5.2. RESULTADOS Y DISCUSIÓN DE LOS MISMOS EN LA PRIMERA EXPERIENCIA ..................... 88
5.2.1. Arquitectura para la evaluación ................................................................................................ 88
5.2.2. Estadísticas generales de uso de la clase ..................................................................................... 89
5.2.3. Evaluación por combinación de parámetros ................................................................................ 91
5.2.4. Conclusiones de la primera experiencia ................................................................................... 100
5.3. RESULTADOS Y DISCUSIÓN DE LOS MISMOS EN LA SEGUNDA EXPERIENCIA ................ 100
5.3.1. Arquitectura para la evaluación ............................................................................................. 101
5.3.2. Estadísticas generales de uso de la clase .................................................................................. 101
5.3.3. Evaluación por perfiles de usuario .......................................................................................... 105
5.3.4. Conclusiones de la segunda experiencia ................................................................................... 112
CAPÍTULO 6. CONCLUSIONES Y TRABAJO FUTURO ............................................... 113
6.1. CONCLUSIONES .......................................................................................................................... 113
6.2. RESULTADOS RELACIONADOS ................................................................................................ 114
6.3. TRABAJO FUTURO ...................................................................................................................... 116
APENDICE 1. MANUAL DE USUARIO ........................................................................... 118
APENDICE 2. MANUAL DE INSTALACIÓN ................................................................ 124
REFERENCIAS ................................................................................................................. 127
ÍNDICE DE FIGURAS
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:
start cron_job_bloque_x
for curso in cursos:
estudiantes = coger_estudiantes(cod_curso)
for estudiante in estudiantes:
encolar_task[procesamiento_bloque_x(estudiante, cod_curso)]
encolar_task[calcula_media(cod_curso)]
end cron_job_bloque_x
En el anterior pseudocódigo se podría ver de manera esquemática el funcionamiento de los cron jobs
con varios cursos. En primer lugar, se recorrería el número de cursos existentes y se cogería dentro
del bloque los estudiantes de dicho curso. Con los estudiantes de ese curso se genera un bucle for
con la función que procesa las medidas de dicho bloque. Además, se le pasa por parámetro a dicha
función el curso, para que sepa qué ejercicios y vídeos tiene que coger, así como el estudiante para
saber los datos que necesita para generar la medida. En último lugar se generaría una task adicional,
cuya función sería el cálculo de la media de la clase, de los distintos parámetros procesados en dicha
tarea cron job.
Por parte de la interfaz, la forma de mostrar la información de los diferentes cursos es mediante
cajas de selección como se puede ver en la figura 42.
Figura 42. Cajas de selección para visualizar la información de los diferentes cursos.
Mediante este sistema de cajas de selección, cada vez que se carga una de las asignaturas, cambian
los alumnos disponibles en dicho curso. Mientras que no estén las 3 cajas de selección con una
opción elegida no se carga ninguna visualización. Se puede ver como muestra diferentes alumnos en
diferentes cursos en la figura 43.
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
71
Figura 43. Ejemplo de diferentes usuarios cargados en función del curso seleccionado.
4.3. IMPLEMENTACIÓN
Una vez realizada la especificación de requisitos y diseño en los puntos anteriores, es momento de
transformar dichas especificaciones en el código que cumpla los objetivos. Este capítulo se va a
centrar en explicar una visión general de ese proceso de codificación de la aplicación. Se comentará
el entorno de trabajo, los criterios de diseño que se han seguido así como la estructura del código.
Para finalizar, se comentarán algunos problemas que han surgido durante la implementación.
4.3.1. ENTORNO DE TRABAJO
Eclipse [42]:
El IDE (Integrated Development System) seleccionado es Eclipse debido a su amplia utilización así
como que provee de los plug-in necesarios para integrarse tanto con el lenguaje Python como con
el desarrollo sobre App Engine. Además Eclipse ofrece numerosas herramientas que proveen
facilidades para el desarrollo web. La versión utilizada es classic 4.2.2.
Plug-in Google App Engine [43]:
Está disponible un plug-in que incorpora algunas funcionalidades de App Engine a través de
Eclipse, lo cual facilita la creación de aplicaciones. Es de instalación sencilla, como el resto de los
plug-in en eclipse, e incorpora la posibilidad de lanzar de forma sencilla el servidor de desarrollo,
depurar la ejecución de la aplicación poniendo puntos de ruptura, o subir la aplicación a la nube de
App Engine, entre otras funcionalidades que facilitan el trabajo sobre esta infraestructura.
PyDev [44]:
PyDev es un plug-in para Eclipse que permite el desarrollo con Python, Jython e IronPython en
este IDE. Añade funcionalidad que facilita la implementación de aplicaciones mediante
interpretación de código Django, completar código, auto importaciones, análisis de código, o
consola interactiva.
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
72
Dev_appserver [45]:
La SDK de Python para el desarrollo en App Engine incluye una aplicación web que simula el
entorno de App Engine en tu ordenador, por lo que este es el servidor de desarrollo que se ha
utilizado para ejecutar el código y realizar la implementación.
Este entorno simulado fuerza algunas restricciones no existentes en App Engine como algunas
funciones que no son usables o la obligatoriedad de tener que cargar módulos Python. Sin
embargo, ofrece algunas facilidades como que no hay problemas de cuotas por uso máximo del
entorno o tiempos máximos de respuesta.
4.3.2. FASES DE CODIFICACIÓN
En esta sección se van a repasar las fases que ha seguido la codificación de ALAS-KA se argumenta
los motivos de seguir dicho orden.
4.3.2.1. Fase 1: Preparación del entorno de trabajo
El primer paso obligado para poder empezar a trabajar ha sido preparar el entorno de trabajo desde
el cual se va a desarrollar. Se ha utilizado un PC con Windows Vista con los componentes que se
han descrito antes: Eclipse como IDE con los plug-in para facilitar la interpretación de Python
PyDev y el plug-in de Google App Engine. El servidor que se ha usado para ejecutar la aplicación
App Engine ha sido el que incluye la API por defecto que simula la infraestructura en la nube de
App Engine dev_appserver.
La forma de trabajo ha sido totalmente independiente a Khan Academy. A pesar de ser un plug-in,
se ha codificado sin que sea dependiente de la existencia de este código, sólo necesita de sus datos.
Por ello, a la hora de codificar no ha hecho falta tener el código de Khan Academy en el entorno de
trabajo, y sólo se ha necesitado sus Model Class donde están definidas las entidades del Datastore.
Esto hace que al no modificar el código de Khan Academy, sea más difícil que surjan problemas
por la instalación de ALAS-KA. Por lo tanto, lo único que se necesita de Khan Academy es copiar
las clases de las entidades del Datastore que son necesarias.
Por otra parte, ALAS-KA es una aplicación para procesar datos y visualizarlos, por lo que necesita
datos para proceder a su evaluación. Por ello, era necesario contar con un conjunto de datos reales
que permita probar que las medidas funcionan correctamente, en el mayor número de casuísticas
que sucedan en la realidad. Es decir, por ejemplo alumnos que no hayan hecho nada, u otros que
hayan hecho todo. Para suplir esta necesidad, se han utilizado datos generado por los cursos 0 de la
Universidad Carlos III de Madrid. Estos cursos se explicarán más en profundidad en el siguiente
capítulo del trabajo. Una vez exportadas todas las entidades que son necesarias para ALAS-KA
procedentes de la primera experiencia, ocupan un total de 30 Megabytes entre todos los tipos. El
siguiente paso es importarlas al Datastore del dev_appserver para poder realizar pruebas.
La última acción necesaria es la codificación de unos scripts que se encargan de generar las
entidades necesarias para la configuración de ALAS-KA, esto ya se ha comentado previamente. Los
script generan las entidades ViewerUser, ViewerVideo y ViewerExercise. Para generar estas entidades es
necesario el uso del juego de datos que se ha importado, específicamente de las entidades UserData,
Exercise y Video de Khan Academy del curso 0 de física de 2012. En base a estos datos se codifica
un script para que cargue de forma aleatoria estudiantes a 3 cursos diferentes (Física, Química y
Matemáticas), ya que es necesario la existencia de varios cursos para la implementación de ALAS-
KA multi-curso. Por otra parte, también se realizan unos script para dividir los ejercicios y vídeos
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
73
en 3 cursos, e importarlos a las entidades ViewerExercise y ViewerVideo. Con este entorno preparado,
se puede empezar a codificar la aplicación.
4.3.2.2. Fase 2: Codificación de la interfaz de usuario
El segundo paso es la codificación de la interfaz de usuario que va a permitir navegar por las
distintas funcionalidades y visualizaciones. La aplicación básicamente va a tener 4 posibles pantallas:
Home: Esta es la pantalla de inicio en la que aparece una introducción a la plataforma y
todos los bloques de medidas con sus parámetros en tablas. Al poner el cursor por encima
aparece una breve descripción.
User: Esta opción es la que permite a los profesores observar las visualizaciones de forma
individual de cada uno de los alumnos. Hay tres cajas de selección, una para el curso, otra
para el alumno y otra el tipo de medida.
Class: Desde aquí se acceden a las visualizaciones globales de clase, tiene dos cajas de
selección, una para el curso y otra para el tipo de medida.
About: Aquí se hace referencia a las personas participantes en el proyecto y sus direcciones
de contacto.
En esta etapa del proceso sólo se codificó las interfaces de user y class, y se codificó el
funcionamiento de la generación de las diferentes visualizaciones en función de cuáles eran las
opciones seleccionadas en las cajas de selección. La metodología que se ha utilizado ha sido utilizar
un iframe o marco HTML. Se considera que es una buena opción porque no hay que recargar la
página cada vez que se produzca un cambio en el contenido, por lo que la experiencia del usuario es
buena. Otra posible opción habría sido recuperar los datos por peticiones AJAX y recargar las
visualizaciones, pero podría haber sido de más complicada implementación.
Para realizar esto, se implementa una lógica de negocio mediante JavaScript para las cajas de
selección, de forma que se genera una URL de forma dinámica en función de las opciones que
están siendo seleccionadas. Dicha URL es introducida como propiedad src del iframe (dicha
propiedad define el contenido del iframe). El manejador que recibe dicha petición GET, tiene
implementada la lógica de negocio para devolver la plantilla que contiene la visualización correcta,
en función de las opciones elegidas en las cajas de selección. En caso de que no estén
seleccionados todos los parámetros, se devolverá una plantilla sin contenido. De esta manera la
experiencia del usuario es buena ya que conforme cambia de un estudiante a otro, el contenido del
iframe se va actualizando con las nuevas visualizaciones sin tener que recargar la página.
Otro de los puntos implementados en este apartado ha sido la hoja de estilo en cascada (CSS). Se ha
escogido una plantilla base y a partir de ella se ha trabajado para ajustarla a este proyecto. Se eligió
trabajar en la hoja de estilo en esta etapa de la implementación para ser capaces de ir mostrando
como se verá la versión final desde el principio, aunque normalmente el formato es de lo último
que se aplica en el desarrollo.
4.3.2.3. Fase 3: Codificación del primer bloque de procesado
En esta fase se inicia la codificación del primer bloque de procesado, se entiende esto como el ciclo
completo de la implementación de las medidas de dicho bloque, la organización de ellas en un cron
job que sea ejecutado por el sistema periódicamente. Como se ha explicado con anterioridad, el cron
job generará una task por cada uno de los alumnos en cada curso y la introducirá en su
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
74
correspondiente queue. Posteriormente, el sistema se encargará de ir ejecutándolas por si mismo
cuando pueda.
Esta era una fase crítica ya que el diseño estaba decidido, pero no se tenía seguridad de que fuera a
funcionar correctamente. Había que terminar este ciclo para comprobar que efectivamente el
diseño inicial funcionaba bien y era viable usarlo para procesado de grandes cantidades de datos.
Después de la implementación correcta de un primer bloque de procesado, la información obtenida
queda guardada en las entidades de ALAS-KA y se puede consultar para mostrar las visualizaciones.
4.3.2.4. Fase 4: Codificación del primer bloque de visualizaciones
Una vez que los datos del primer bloque de medidas ya están disponibles en el Datastore, es el
momento de ver cómo se van a representar. En este punto se realiza un análisis del API de Google
Charts viendo cuales son las visualizaciones que se consideran más acordes a las necesidades de este
proyecto. Esta API incluye una gran cantidad de información y documentación para la
configuración de las visualizaciones en función de las necesidades.
Para las visualizaciones individuales, se eligen los diagramas de barras [46] en los que se van a
mostrar dos barras para cada tipo de medida. La primera barra hará referencia al resultado del
cálculo de la medida de dicho usuario y la segunda será el valor medio de la clase. De esta manera,
se pueden comparar de forma inmediata las dos barras para ver si el usuario se encuentra por
encima o por debajo de la clase. La figura 44 muestre este tipo de visualización.
Figura 44. Ejemplo de visualización de barras en ALAS-KA.
También se utilizan otra forma de diagramas de barras acumulados que se verá más adelante. Para
las visualizaciones de clase se utilizan los diagramas de tarta [47], de esta forma se puede ver en qué
posición se encuentran más alumnos de la clase. Se puede comprobar si la mayoría ha progresado
mucho o poco, o si la clase se encuentra equitativamente distribuida en todas las porciones. La
figura 45 muestra un ejemplo de visualización por diagrama de tarta.
Figura 45. Ejemplo de visualización de diagrama de tarta en ALAS-KA.
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
75
En esta sección, sólo hemos comentado con qué tipo de gráficas se han implementado
fundamentalmente las visualizaciones, pero más adelante se verán las interpretaciones de estas
gráficas en cada caso.
4.3.2.5. Fase 5: Codificación del resto de procesado y
visualizaciones
Una vez que el ciclo está completo para uno de los bloques de medidas, el procesado se ejecuta
mediante las tareas cron jobs de forma periódica y es posible visualizar los resultados mediante la
interfaz. Este camino hay que repetirlo para la codificación del resto de los bloques de medidas.
Aunque algunas de las visualizaciones son diferentes, el trabajo es más sencillo una vez que el
primer ciclo está completo. En este bloque entonces se termina de codificar los 5 bloques de
medidas restantes y sus visualizaciones.
4.3.2.6. Fase 6: Home, about y retoques finales
Al terminar la fase 5, la funcionalidad básica de la ALAS-KA está implementada, y esta última fase
son para los retoques finales. En primer lugar, se generan en el home una introducción y una
descripción de los parámetros. En el about las direcciones de contacto del equipo que ha realizado el
proyecto. Los retoques finales que se realizan son relaciones con formato, tamaño de elementos, o
colores en las visualizaciones. En definitiva culminar los detalles finales en base de la realimentación
recibida hasta el momento.
4.3.3. ESTRUCTURA Y UTILIDAD DEL CÓDIGO
En este punto se va a comentar la estructura del código y para qué sirven en líneas generales
algunos paquetes de código. También, se comentarán algunos aspectos de diseño relacionados con
la implementación que se ha realizado. La estructura que sigue el código de ALAS-KA que se ha
implementado es la siguiente:
ALAS-KA | app.yaml | cron.yaml | index.yaml | main.py | queue.yaml | +---static_viewer | | elements.css | | style.css | | | \---images | \---viewer_code | classes_viewer.py | class_handlers.py | menu_handlers.py | profileviewer_models.py | profile_handlers.py | viewer_consts.py |
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
76
+---viewer_cron | correct_progres.py | evaluation.py | exercise_solving_habits.py | gamification_habits.py | mean_calculator.py | time_distribution.py | use_of_platform.py | \---viewer_templates
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
rutas a cada RequestHandler.
app = webapp2.WSGIApplication([('/admin/use_of_platform', UseOfPlatform)], debug=True)
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
78
Una vez hecho esto, sólo haría falta configurar la queue en la que van a encolarse las entidades task,
que sería en el fichero queue.yaml de la siguiente forma:
queue: - name: use-of-platform rate: 15/s
Con esto, estarían terminados todos los archivos necesarios para el funcionamiento de un bloque de
procesado. Como se puede ver en el manejador #1, la clase tiene dos métodos el get(self) en #2 y el
post(self) en #6. Cuando se ejecute el cron job, lanzará una petición HTTP GET a la URL
/admin/use_of_platform, que es la especificada en el fichero cron.yaml. Esta petición será recibida por
el manejador UseOfPlatform, y llegará a su método get(self) #2.
Una vez en este punto, el código recuperará todos los estudiantes en #3, y como se puede observar
creará una task que introducirá en la queue denominada use-of-platform, esto lo hará por cada uno de
los estudiantes. El script que ejecuta la task #4 es a su vez, el mismo que anteriormente, es de
nuevo /admin/use_of_platform, que irá al mismo manejador UseOfPlatform. La diferencia es que
cuando el sistema ejecuta una task, lo hace mediante el método HTTP POST en vez del GET. Cada
vez que se ejecute una task llegará al método post(self) #6 del manejador y procesará el código en #7
Dicho código ejecutará el bloque de procesado de medidas de dicho usuario y se actualizará su
entidad UserProfile con las nuevas. Este bloque de procesado de medidas es la parte más gruesa del
código. Por último, también se puede observar que la última task que se generará en #5 va a otra
URL que es /admin/mean_calculator, que se encargará de calcular los valores medios de los distintos
parámetros del bloque de medidas que se pasa como argumento.
Con este diseño se consigue simplificar la unidad de procesado en un solo RequestHandler, que
recibirá las peticiones de invocación de los cron job en su método get(self) y las peticiones de ejecución
de las task en su método post(self).
4.3.5. PROBLEMAS EN LA CODIFICACIÓN
En este punto se van a comentar una selección de problemas que aparecieron durante la
codificación de la aplicación.
Exportar/Importar Datastore:
Una de las primeras dificultades encontradas fue a la hora de preparar el entorno de trabajo y
exportar la base de datos. Una vez exportadas las entidades del servidor de Google App Engine del
curso 0 de 2012 de física, se necesitaba importar al Datastore del servidor donde se iba a desarrollar.
Para realizar esto, se recibía un error constantemente indicando que la ID introducida en la línea de
comando no era acorde a la aplicación. Esto era debido a que de forma automática el servidor de
desarrollo cambiaba el nombre de la aplicación en el entorno de desarrollo a dev~IDaplicacion. La
solución fue añadir en la línea de comando el prefijo dev~ a la id de la aplicación para que se
produjera la importación de forma correcta. Este problema no se encontró documentado en ningún
sitio.
Otro de los problemas que han surgido fue al subir la aplicación a App Engine para la simulación
en el entorno real, ya que también hay que importar el Datastore en dicho entorno. Debido a los
límites de cuota gratuita del uso de dicho entorno, impedía importar la totalidad de los datos que se
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
79
tenían. Este problema tiene difícil solución a no ser que se habilite la facturación. Lo que se hizo
fue importar las entidades por partes diferentes días, para que se regenerara la cuota gratuita diaria.
Codificación de caracteres:
Han surgido numerosos problemas debido a la codificación de caracteres con signos latinos como
la ñ o el uso de acentuación diacrítica. Han aparecido tanto en las plantillas, debido a errores de la
librería Jinga2, como en el uso de la consola interactiva y en los ficheros Python de la aplicación. Ha
habido que resolverlos de distintas formas para escoger la codificación adecuada, pero
principalmente utilizando la función encode.
Acceso recursos estáticos:
El acceso a recursos estáticos también planteó un problema. La forma de gestionarlo de esta
infraestructura es diferente de otros sistemas. Hay que declarar una URL de acceso en un directorio
estático en el fichero app.yaml, como se ve en la siguiente porción de código:
handlers: - url: /static_viewer static_dir: static_viewer
Pero sin embargo, al intentar acceder con una ruta absoluta a las plantillas desde los manejadores
que se encontraban en la carpeta viewer_code no encontraban dicho directorio. Se tuvo que introducir
las plantillas en la carpeta viewer_template como se mostraba en la estructura de código, y acceder
mediante una ruta relativa en vez de absoluta.
Dev_appserver:
El servidor de desarrollo dev_appserver intenta simular el entorno real de App Engine. Pero algunas
funcionalidades no son simuladas de forma perfecta. En ocasiones se desconoce si el
funcionamiento será correcto una vez subido a App Engine. Uno de los problemas que más
dificultad generó fue un error que se encuentra documentado en [48]. Esto sucede a la hora de
hacer múltiples peticiones con multithreading. Dicho error aparecía en el procesado de los diferentes
parámetros debido a que se ejecuten muchos hilos de forma simultánea. Cuando se estaban
ejecutando las diferentes task el siguiente error de import:
ImportError: No module named _sqlite3
Este error provocaba que esa entidad task fallara y tuviera que volver a ser encolada y
posteriormente ejecutada de nuevo por el sistema. Este error no se reproducía en ningún caso en
App Engine.
4.4. PRUEBAS REALIZADAS
En esta sección se van a comentar todas las pruebas que se han ido realizando durante la
implementación de la aplicación.
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
80
4.4.1. PRUEBAS UNITARIAS
El primer paso es realizar pruebas unitarias de cada una de las medidas. Por esto se entiende que
cada bloque de medidas está formado por un número de parámetros, pues al ir implementando
cada uno de estos parámetros se realizan pruebas extensivas de funcionalidad para ver que el
resultado es correcto.
Este proceso de pruebas se realiza mediante el uso de la consola interactiva. La consola interactiva
es un shell directo con el servidor que permite la ejecución de código. Para poder habilitarla hay que
introducir unas líneas en el fichero de configuración app.yaml, la primera es la que sigue:
handlers: - url: /admin/interactive script: google.appengine.ext.admin.application login: admin admin_console: pages: - name: Interactive Console url: /admin/interactive
La primera línea dónde se añade una URL a los manejadores lo que hace es asociar la URL
/admin/interactive al script de la consola interactiva. La segunda línea de admin_console, la función que
tiene es añadir una pestaña en la consola de administración del servidor para acceder directamente a
la consola interactiva. Para acceder a la consola de administración del servidor de desarrollo,
dependiendo de la versión del dev_appserver que se esté utilizando estará ubicada en la URL
siguiente y puerto 8080.
Consola de administración: http://localhost:8080/_ah/admin
Consola interactiva: http://localhost:8080/admin/interactive
O bien si es una versión más reciente, se encuentra ubicada en el puerto 8000
Consola de administración: http://localhost:8000
Consola interactiva: http://localhost:8000/console
La interfaz de la consola interactiva se ve en la figura 46:
Figura 46. Consola interactiva del servidor de desarrollo dev_appserver.
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
81
A través de la consola interactiva lo que se hace es ejecutar código en la aplicación web que está
ejecutándose en el servidor. Gracias a esto se puede ejecutar cada uno de los parámetros de forma
individual añadiendo trazas en cada uno de los puntos donde se desee comprobar cuál es el
resultado. Desde la consola interactiva, para observar trazas, se puede utilizar el método print para
que imprima por pantalla el valor de distintas variables. De esta manera se comprueba que cada
procesado de cada medida está funcionando bien de forma unitaria viendo casos personalizados de
alumno en alumno.
4.4.2. PRUEBAS MODULARES
En esta sección se explica la realización de las pruebas modulares de cada bloque de medidas. En
este procesado se monitoriza que el proceso desde el que el cron job es lanzado. Se comprueba que
se generan las tasks por cada uno de los alumnos, que son encoladas en su correspondiente queue y
se van ejecutando poco a poco y correctamente.
En caso de que ocurran errores, se pueden poner trazas, pero en este caso no sirve el método print.
Es recomendado el uso del módulo de logging [49] de Python que incluye funciones para que el
servidor saque notificaciones. Estas notificaciones permiten comprobar los valores de ejecución de
las task en caso de que haya errores.
Figura 47. Prueba modular. Ejecutando cron job para verificar su funcionalidad.
Por ejemplo para el caso del cron job del grupo de medidas de Uso Total de la Plataforma. En la figura
47 se muestra dicho cron job, y se observa el botón “Run now”. Al pulsar dicho botón se fuerza el
ejecutado de la URL de dicho cron job. En este caso es la URL que aparece en la figura
/admin/use_of_platform. Esta acción hará que se generen las task por cada uno de los alumnos, como
se ve en la siguiente imagen.
Figura 48. Prueba modular. Comprobación de que las tasks se han encolado.
En la anterior imagen se ve como la queue con nombre use-of-platform tiene ahora 89 tasks encoladas.
Una task por cada uno de los alumnos de la plataforma. Por lo tanto, las tasks se han generado bien
y ahora se comenzarán a ejecutar. En caso de que haya algún error, una task se re-encolará al final
de la queue para volver a ejecutarse más tarde. El botón de “Purge Queue” eliminaría todas las tasks
existentes en dicha queue. Se puede ver más en detalle cada una de las tasks y cómo se van
ejecutando si se pincha sobre el nombre de la queue, esto se ve en la figura 49.
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
82
Figura 49. Prueba modular. Consulta de las diferentes tasks encoladas.
En la figura 49 se pueden observar algunas de las tasks que hay encoladas en la queue denominada
use-of-platform. Cada una de ellas representaría la unidad de procesado del grupo medidas de Uso Total
de la Plataforma para un alumno. La última task tiene como URL destino /admin/mean_calculator que
realiza el cálculo de los valores medios de cada medida de los diferentes grupos. El cron job estará
funcionando correctamente, si se ejecutan todas las task sin errores y se almacenan correctamente
los resultados en las entidades UserProfile y ClassMeanProfile.
4.4.3. PRUEBA GLOBAL
Una vez terminada la codificación completa de la aplicación y todas las pruebas unitarias y
modulares han sido satisfactorias, se realiza una prueba global para verificar que todo funciona
correctamente. Esta prueba global consiste en realizar una inicialización y puesta a punto completa
de ALAS-KA desde el inicio. Para ello se borran todas las entidades de ALAS-KA en primer lugar.
Seguidamente se ejecutarán los script de carga de ViewerUser, ViewerVideo y ViewerExercise (la forma
de hacer esto está explicada en la sección de integración de la aplicación en situada en la sección de
Integración). Finalmente se ejecutaran todos los cron jobs simultáneamente, y habrá que comprobar
que el proceso de generado de las distintas entidades tasks así como su encolamiento es
satisfactorio. La figura 50 muestra dicho proceso de encolamiento en todas las queues.
Figura 50. Prueba global. Ejecución de todos los cron jobs de procesado.
El sistema irá procesando cada una de las tasks cuando sea posible. Una vez que haya terminado
todas sin tener errores, hay que acceder a la interfaz de usuario y comprobar que todas las
visualizaciones se pueden ver de forma correcta. Con esto se terminaría la prueba global de
procesado de datos.
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
83
4.4.4. PRUEBAS DE SEGURIDAD
Por una parte se realizan pruebas con los distintos usuarios a los que se les han asignado los
distintos permisos. La utilidad de esto es comprobar que las pantallas y la interfaz de la aplicación,
se adaptan a los permisos que tiene el usuario que ha hecho log-in. Es decir, que los estudiantes
sólo puedan ver sus visualizaciones, los profesores todo lo relacionado con su clase, etcétera.
Posteriormente, se realizan pruebas más directas de URL. Con los diferentes usuarios con
diferentes permisos se ponen las URL de acceso directamente en el navegador, con el objetivo de
comprobar que en función del usuario y los permisos bloquea la petición. Para esto hay que
comprobar en cada uno de los manejadores el log-in del usuario actual y a qué opciones puede
acceder.
También se realizan comprobaciones de acceso a los cron jobs, cuyas URL sólo pueden ser accesibles
por administrador de la aplicación (o el propio sistema).
4.5. INTEGRACIÓN
Una vez terminado de desarrollar el plug-in de forma independiente de Khan Academy llega la hora
de instalarlo. Para ello debido a que hay elementos comunes que hay que unificar se necesita seguir
unos pasos para que la instalación sea correcta. El criterio de desarrollo ha sido el que ALAS-KA
modifique lo menos posible el código fuente de Khan Academy para evitar problemáticas después
de la aplicación. También, como se ha dicho antes, el código principal se ha desarrollado para que
sólo haya que copiarlo a la carpeta raíz de Khan Academy y ya esté operativo.
Los pasos a seguir para la integración/instalación de ALAS-KA con Khan Academy son los que se
especifican en el Apéndice 2: Manual de instalación
4.6. VALIDACIÓN Y VERIFICACIÓN
Una vez que la instalación ha terminado, hay que validar y verificar que en efecto ALAS-KA ha sido
instalada correctamente. Primero, hay que comprobar que la funcionalidad de Khan Academy sigue
intacta y la plataforma sigue funcionando correctamente. Por ello, la primera batería de pruebas
sería para comprobar que la plataforma Khan Academy esté totalmente operativa sin problemas.
Posteriormente, habría que comprobar que se han generado correctamente las entidades necesarias
para el funcionamiento de ALAS-KA en base a los script de carga. Esto se puede hacer desde el
Datastore Viewer. Es necesario ser administrador de la aplicación y acceder a ella a través del portal
de Google App Engine [50]. Una vez dentro se accede al Datastore Viewer y se puede comprobar
una a una las entidades para confirmar que se han generado correctamente. Se puede ver en la
figura 51.
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
84
Figura 51. Comprobación de entidades a través del Datastore Viewer.
Una vez comprobado que se han creado las entidades necesarias correctamente hay que verificar
que el procesado de datos funciona bien. Para ello, primero se accede a la pantalla de los cron jobs, en
la que hay que comprobar que aparecen correctamente con el resto de los que ya tiene Khan
Academy. De la misma forma habría que comprobar que las queues de ALAS-KA aparecen
correctamente. Ambas cosas se pueden ver en la figura 52. En rojo se ven a la izquierda y derecha
respectivamente algunos de los cron jobs y queues de ALAS-KA y el resto son de Khan Academy.
Figura 52. Cron jobs y queues de ALAS-KA en rojo en conjunto con las de Khan Academy.
Una vez hecha esta primera comprobación, es momento de ejecutar los cron jobs. El problema es
que en el servidor de desarrollo como sí que existe un botón para forzar la ejecución de un cron job,
pero en Google App Engine sólo se ejecutan cuando les toca periódicamente. Sin embargo, no hay
problema con acceder a la URL dónde se encuentra el script que ejecuta cada cron job y lanzar el
procesado de esta manera de forma manual. Así que habría que acceder a las 6 URL dónde está el
script de procesado de cada cron job. A dichos script sólo pueden acceder los administradores de la
aplicación. Un ejemplo para ejecutar las medidas del Progreso Correcto en la Plataforma sería acceder a la
siguiente URL.
http://(yourappid).appspot.com/admin/correct_progress
Otra forma de comprobar que funciona bien el procesado sería simplemente esperar hasta que se
ejecutara el cron job de forma automática. Una vez ejecutados de esta manera los 6 script de
procesado de medidas, se comprueba que se ejecutan correctamente todas las tasks en la ventana de
queues, como se hizo en la sección de pruebas. Al terminar de ejecutarse todas hay que comprobar
que se han generado las entidades UserProfile como ClassMeanProfile mediante el Datastore Viewer.
Capítulo 4. Desarrollo del módulo ALAS-KA de analítica de aprendizaje.
85
Después de haber comprobado que el procesado ha funcionado correctamente, sólo queda probar
las visualizaciones. Se puede acceder como se ha dicho previamente, desde la URL
http://(yourappid).appspot.com/menu_viewer al menú de inicio y habría que comprobar que navegando
por ALAS-KA todo funciona correctamente. Habrá que acceder con una cuenta que tenga
privilegios de profesor para poder tener acceso a todo. Hay que destacar también que si se acaba de
hacer la instalación y los alumnos aún no han interactuado mucho con Khan Academy, casi no
habrá datos disponibles, por lo que se podrá ver poca información en las visualizaciones.
4.7. MANTENIMIENTO
La última etapa una vez instalada la aplicación sería el mantenimiento de la misma. Para el caso de
ALAS-KA es mínimo: hay que comprobar de vez en cuando que los cron jobs se han ido ejecutando
correctamente, y esto se puede hacer desde su interfaz como ya se ha descrito.
Por otra parte, es también necesario de que en caso de que se registren nuevos usuarios en Khan
Academy, se debe ejecutar de nuevo el script de carga que introduce a los usuarios de UserData a
ViewerUser. Este script comprobaría si existen usuarios nuevos y si los hay los introduciría en
ALAS-KA. Posteriormente, de la misma forma que se hizo en la instalación, habría que asignarles
los privilegios correctos a esos usuarios nuevos.
4.8. RESULTADO FINAL DE LA IMPLEMENTACIÓN DE ALAS-KA
En el Apéndice 1: Manual de usuario se pueden observar multitud de capturas de pantalla de la
versión final de la aplicación. También se comenta cuáles son las funcionalidades implementadas y
algunas formas de interpretar algunas medidas o distintas gráficas.
86
CAPÍTULO 5.
EVALUACIÓN DEL PROCESO
DE APRENDIZAJE
En este capítulo se presenta como combinar los parámetros de alto nivel diseñados así como las
visualizaciones de ALAS-KA para poder realizar la evaluación de cursos en la plataforma Khan
Academy. Esta evaluación se ilustra en los cursos 0 de la Universidad Carlos III de Madrid durante
2 ediciones. En primer lugar se presenta una descripción de los entornos y estructura de las
experiencias, para posteriormente analizar los resultados y conclusiones en cada una de ellas.
5.1. DESCRIPCIÓN DE LA ESTRUCTURA Y ENTORNO DE LAS
EXPERIENCIAS
En esta sección se describirán las dos experiencias en las que este trabajo se ha aplicado.
5.1.1. PRIMERA EXPERIENCIA CURSO 0 EN UC3M
En este punto se va a dar una visión global de la primera experiencia con la plataforma Khan
Academy en la Universidad Carlos III de Madrid (UC3M) para impartir un curso 0 pre-
universitario.
5.1.1.1. Estructura y entorno de la experiencia
La universidad decidió apostar por Khan Academy como un proyecto de innovación docente para
preparar los cursos 0, que son los cursos pre-universitarios en los que se repasan los conocimientos
que los alumnos deberían poseer antes de comenzar los cursos oficiales de Grado en ciencias
tecnológicas. La idea es aplicar la metodología de “flipping the classroom” en la que el alumno prepara
la lección en casa y sólo se resuelven dudas y plantean ejercicios durante las clases presenciales. El
primer curso 0 donde se aplicó fue en la temática de física y se llevó a cabo durante Agosto de
2012. En torno a unos 100 estudiantes tuvieron acceso a la plataforma. Este acceso on-line fue una
actividad no obligatoria.
La UC3M utiliza la plataforma Moodle para la organización de sus titulaciones y otros cursos de e-
learning. Debido a esto y a que Moodle proporciona algunas funcionalidades complementarias
(como los foros o una mejor administración de cursos) era muy interesante que Khan Academy
pudiera integrarse también con Moodle. Por esta razón, se integraron ambas plataformas para la
experiencia.
Capítulo 5. Evaluación del proceso de aprendizaje.
87
5.1.1.2. Personalización del entorno de Khan Academy UC3M
El curso 0 de la temática de física fue personalizado en diferentes aspectos para los estudiantes que
lo iban a realizar. Uno de los puntos de personalización fueron los vídeos, que fueron desarrollados
por profesores del departamento de física de la UC3M en su totalidad para cada una de las
temáticas. También fueron personalizados los ejercicios de la plataforma. Los conceptos a
preguntar en los ejercicios fueron desarrollados por profesores del departamento de física. Además,
como hay que utilizar un formato de etiquetas HTML específico para que los ejercicios sean
compatibles con Khan Academy, la codificación a este formato fue realizada en el departamento de
ingeniería telemática. Los ejercicios y vídeos son agrupados en temas dentro de la plataforma según
su relación.
Otro de los puntos que fue personalizado fue el de las medallas disponibles en Khan Academy. Por
una parte se personalizaron las imágenes y los nombres de los tipos de medallas disponibles en la
plataforma, de manera que fueran temáticas y tuvieran relación con la UC3M. Por otra parte,
también se personalizaron algunas de las medallas que estaban disponibles para ser ganadas por los
alumnos que fueran temáticas del curso de física en cuestión, por ejemplo al conseguir completar
un bloque temático de ejercicios.
5.1.2. SEGUNDA EXPERIENCIA CURSO 0 EN UC3M
Después del éxito del primer año en la experiencia de los cursos 0 con Khan Academy, se repitió al
año siguiente pero con mayor preparación y más cursos. En esta segunda experiencia que tuvo lugar
en agosto del 2013, la idea inicial se mantuvo, la cual era realizar unos cursos pre-universitarios de
preparación para los contenidos necesarios para afrontar el primer curso de las diferentes
titulaciones. En este caso, se prepararon cursos 0 de más temáticas, siendo exactamente en tres
cursos: física, química y matemáticas (el de matemáticas fue impartido tanto en los campus de
Leganés como el de Getafe de la UC3M). En total el número de alumnos matriculados fue sobre
180 en física, 90 en química y más de 270 en matemáticas.
El diseño inicial que se tenía planeado era realizar los 3 cursos en una misma plataforma de Khan
Academy. Esa es la razón por la que se desarrolló toda la implementación de ALAS-KA para que
fuera capaz del procesado de datos para varios cursos en una misma instancia. Sin embargo, la
decisión final fue realizar una implementación de Khan Academy por cada uno de los cursos. Por
ello, hubo que adaptar ligeramente la interfaz y código de ALAS-KA para este cambio, lo que no
entrañó mucha dificultad. Debido a esto, todo el entorno de trabajo está replicado con 3 servidores
de desarrollo y 3 instancias de Khan Academy diferentes, diferentes alumnos, así como los
ejercicios y vídeos formando los diferentes temas, funcionando en App Engine. Con respecto al
resto de configuración de los servidores no hubo muchos cambios comparados con la experiencia
anterior. De esta manera, se mantuvo el sistema que integra Moodle con Khan Academy y también
se volvió a personalizar cada una de las plataformas con medallas propias.
Relacionado con este trabajo fin de máster, en esta segunda experiencia se realizaron las etapas de
Integración, Validación y Verificación así como el Mantenimiento de ALAS-KA en cada una de las
3 instancias de Khan Academy, una por cada curso.
Capítulo 5. Evaluación del proceso de aprendizaje.
88
5.2. RESULTADOS Y DISCUSIÓN DE LOS MISMOS EN LA PRIMERA
EXPERIENCIA
Después de este primer curso 0 de física que se realizó en agosto de 2012, se hizo el análisis de los
datos disponibles y a raíz de ello se propuso un conjunto de medidas que son las que se han
explicado en el capítulo tercero. Para poder evaluar el resultado del curso así como del conjunto de
parámetros propuesto se decide aplicarlo para sacar conclusiones y poder refinarlo. Se explicará
inicialmente la arquitectura que se ha seguido para poder extraer las estadísticas de la Datastore
debido a las limitaciones de App Engine. Posteriormente se comentarán unas estadísticas generales
del uso de la plataforma en las que se pondrán también algunas visualizaciones y para finalizar se
mostrará como evaluar los resultados de estudiantes y de la clase en base a los parámetros
propuestos anteriormente.
5.2.1. ARQUITECTURA PARA LA EVALUACIÓN
En esta sección se va a explicar la arquitectura para la extracción de los resultados, por una parte las
APIs y tecnologías utilizadas para realizar el procesado y acceder a la Datastore de App Engine y
por otra parte el software utilizado en las visualizaciones.
Para acceder a la Datastore con los datos del curso 0 de física, se hace mediante el mismo sistema
que se ha explicado con anterioridad en el proyecto que es través de la consola interactiva que está
disponible directamente para ejecutar código en la instancia de App Engine. Este sistema permite
ejecutar de forma sencilla los script para extraer y procesar la información. Hay que recordar que
una de las limitaciones principales que tiene este sistema es que el tiempo máximo de una petición
es de 1 minuto. Esto es un gran impedimento en caso de que se vayan a extraer estadísticas pesadas,
como las de todos los alumnos de la clase.
Para solucionar el problema del tiempo máximo de respuesta, se hace uso de servicio que ofrece
App Engine de memoria caché denominado Memcache [51] y de un tipo de clase especial llamada
Cursor Class [52] que proporciona un cursor de resultados de una búsqueda. La manera de actuar es
abrir un cursor que contenga todos los alumnos e ir recorriéndolo poco a poco sin que llegue a
sobrepasar el tiempo máximo de respuesta. Se irá guardando la posición del cursor en la memoria
caché y recuperando dicha posición cada vez que se ejecute de nuevo, para empezar desde el punto
dónde se finalizó en la anterior sub-consulta. Lo que ese consigue es dividir una consulta que
duraría varios minutos en pequeñas consultas que duren menos de un minuto. El resto de las
funciones provienen de la API normalmente utilizada para interaccionar con la Datastore.
Para las visualizaciones y otras estadísticas se han utilizado:
Microsoft Excel [53] es la aplicación del paquete Office que está compuesta por hojas de
cálculo. Para el manejo de los resultados de los parámetros con todos los alumnos y la
realización de posteriores gráficas era bastante adecuada, ya que también incluye funciones
aunque de una manera más simplificada.
Statistical Package for the Social Sciences [54], que es más conocido como SPSS, también
ha usado para el manejo de los datos y la realización de visualizaciones. Principalmente
usado para tareas más complejas, como la generación de correlaciones entre los distintos
parámetros que se han generado para todos los alumnos.
Capítulo 5. Evaluación del proceso de aprendizaje.
89
5.2.2. ESTADÍSTICAS GENERALES DE USO DE LA CLASE
En este punto se van a dar unas estadísticas generales del uso que se ha realizado durante el curso a
nivel de clase, no centrándose en ningún alumno de forma individual. El conocer el nivel de
interacción de los alumnos con el curso puede dar una idea sobre el éxito de la experiencia. Hay que
recordar que el curso estaba formado por un conjunto de 35 ejercicios y 27 vídeos, estando
matriculados más de 100 alumnos. Sin embargo, para estos análisis sólo se han tenido en cuenta los
datos de un total de 66 alumnos, los cuales se considera que han interactuado con la plataforma. El
resto de los alumnos han sido descartados al no haber entrado en la plataforma o no haber
interactuado lo suficiente. Uno de los factores a considerar sobre el curso, era la opcionalidad de
realizarlo o no, y otro es que era en periodo de vacaciones en agosto. Estas pueden ser causas de
que algunos alumnos no llegaran a interaccionar fuertemente con la plataforma.
El tiempo total invertido por los 66 estudiantes sobre los que se va a realizar el análisis de 402 horas
(215 resolviendo ejercicios y 187 viendo vídeos), aunque en realidad el tiempo total en la plataforma
sería mayor si se cuenta el tiempo de navegación. Se puede decir por estos resultados que el
estudiante medio invirtió unas 6 horas en la plataforma. No hay una gran diferencia entre los
tiempos viendo ejercicios y vídeos, por lo que se podría decir que ninguna de las dos actividades
tiene una preponderancia sobre la otra, aunque habrá que analizar cada caso individual por separado
más adelante para ver la realidad de esta afirmación. Además, el estudiante medio entró a la
plataforma 6.4 días diferentes.
Considerando porcentajes de vídeos empezados y terminados por los usuarios, el estudiante medio
empezó el 48% de los vídeos y terminó el 37% de ellos. En términos globales, los 66 estudiantes
empezaron 891 vídeos de los cuales 696 fueron completados en su totalidad. Esto representa un
porcentaje del 78% de completitud en los vídeos iniciados, lo cual es satisfactorio. Se puede analizar
en más detalle en la figura 53, dónde se introducen 5 intervalos de porcentaje completado en cada
uno de los vídeos empezados.
Figura 53. Porcentaje de completado de los vídeos que han sido empezados.
En esta última figura se observa que el 81% de los vídeos que han sido empezados, han sido
completados en más del 80% de su longitud. Esto es un porcentaje bastante grande, ya que sólo el
19% restante ha sido completado en menos del 80 %. De esto se puede obtener como conclusión
que la mayoría de los vídeos que han sido comenzados han sido vistos en más del 80%.
Capítulo 5. Evaluación del proceso de aprendizaje.
90
Respecto a los ejercicios, podemos considerar distintas medidas de uso como por ejemplo el
número de ejercicios no intentados por el usuario, ejercicios resueltos correctamente al menos una
vez y el número de ejercicios con proficiency alcanzados. Los resultados muestran respectivamente un
50.16 %, 44.90 % y un 34.25 % de ejercicios. Se puede observar el número de proficiency alcanzadas
por usuario en más detalle en la figura 54.
Figura 54. Número de proficiency alcanzadas en los ejercicios por cada uno de los usuarios.
La figura 54 muestra el número de ejercicios en los que el usuario alcanzó el nivel de proficiency en
cada uno de ellos. Se puede observar que el caso más común es el de menos 5, pero los demás se
encuentran distribuidos de forma equitativa. En total hubo 3 usuarios que completaron todos los
vídeos, 4 usuarios que alcanzaron el nivel de proficiency en todos los ejercicios, pero tan sólo 1 de
ellos alcanzo ambas cosas.
De estos resultados se sacan como conclusiones que hubo una participación positiva en la
plataforma. Teniendo en cuenta que este curso repasaba conceptos para prepararlos para los
distintos grados y que muchos de esos conceptos ya deberían de conocerlos del instituto, esto hace
que pueda decrecer la participación para los casos en los que ya conocen determinados conceptos.
Además de las condiciones comentadas con anterioridad, de que el curso era opcional y era en mes
de verano, se puede concluir que los resultados de participación fueron buenos.
Analizando en más detalle la interacción de los usuarios con los ejercicios, se puede concluir que un
usuario medio necesitó 80 segundos para resolver correctamente un primer ejercicio de cada tipo,
además de 2 intentos y 0.5 pistas. Estos son valores razonables, ya que el usuario medio no necesitó
demasiados intentos para contestar correctamente y en 1 de cada 2 ocasiones pidió pista para
resolver un ejercicio por primera vez correctamente.
Todos los ejercicios y vídeos están agrupados en 24 temas. Se puede analizar la distribución del
tiempo en cada uno de estos temas y se encuentra en que algunos de ellos los estudiantes dedicaron
mucho tiempo y otros poco. En la figura 55 se puede ver estos resultados de forma desglosada por
cada tipo de ejercicio.
Capítulo 5. Evaluación del proceso de aprendizaje.
91
Figura 55. Distribución del tiempo en los diferentes temas.
Se puede observar como algunos temas como producto escalar, trabajo y energía, tiro parabólico y
plano inclinado tienen los mayores porcentajes de todos, mientras que hay otros como el radio de
Larmor y generación de voltaje que tienen los menores. Esto puede deberse a diferentes razones,
dificultad de ejercicios o lecciones en vídeos, que los estudiantes tengan un mayor vacío en dichos
conceptos
5.2.3. EVALUACIÓN POR COMBINACIÓN DE PARÁMETROS
En este punto se va a mostrar la aplicación sobre los datos de Khan Academy generados en esta
experiencia, de los parámetros propuestos en el capítulo 3. Además, se comentará cómo combinar
estos parámetros para obtener conclusiones sobre la evaluación del aprendizaje. Se mostrarán
algunas correlaciones entre parámetros para ver cómo se relacionan unos con otros y además se
darán algunos datos generales. También, se introducirán distintas gráficas de varios parámetros y se
analizará la posible interpretación que se puede obtener de ellos.
El objetivo del curso es preparar a los estudiantes para las clases presenciales. En base a esto los
profesores pueden pedir que la evaluación del curso sea una medida que junte varias condiciones
por ejemplo combinando condiciones AND y OR. Por ejemplo, considerando un mínimo de 16
vídeos totalmente completados (del parámetro UEV2) o 21 ejercicios en los que el usuario haya
alcanzado la proficiency (del parámetro UEE3), se puede decir que 22 de los 66 estudiantes estaban
bien preparados para las clases presenciales.
Entre los estudiantes que hicieron un buen trabajo en la plataforma y superaron las condiciones
impuestas para considerar que habían hecho un correcto progreso en la plataforma, las medidas
sobre la eficiencia pueden dar una idea de quienes fueron más eficientes en su aprendizaje teniendo
en cuenta el tiempo empleado o el número de intentos necesarios. Se puede ver uno de estos
ejemplos en la figura 56. En dicha figura se introduce un histograma, sirve para ver el porcentaje de
ejercicios correctos sobre el total de ejercicios (parámetro EJ1 en el capítulo 3) intentados de los
usuarios.
Capítulo 5. Evaluación del proceso de aprendizaje.
92
Figura 56. Histograma de la eficiencia de ejercicios correctos con respecto de los intentados de los usuarios.
Como se puede ver, casi todos los usuarios se sitúan en niveles de eficiencia entre el 80 y el 95 % de
ejercicios correctos con respecto del total de intentados. Esto puede ser debido a que como se ha
comentado, la mayoría de los ejercicios son paramétricos por lo que una vez que se resuelve el
primero correctamente, los demás deberían ser más sencillos de responder. Este tipo conocimiento
ganado a partir de esta primera evaluación, ayuda a mejorar las medidas para que sean más finas a la
hora de detectar eficiencia. Los estudiantes que no son eficientes en su aprendizaje, se les puede
aconsejar o guiar a mejorar sus patrones para aprovechar mejor el tiempo, porque no es sólo
importante aprender, sino también hacerlo en una manera eficiente.
Relacionado con esta eficiencia, es más sencillo comparar las de los diferentes alumnos a través de
gráficas para ver cuáles de ellos destacan sobre el resto. En la figura 57 se puede ver una
representación de la eficiencia temporal (EJ3) para resolver ejercicios correctos.
Figura 57. Eficiencia temporal de los usuarios resolviendo ejercicios de forma correcta.
El valor central de la figura 57 representaría el valor normal medio de tiempo, que un usuario
debería necesitar para resolver ejercicios correctamente. Si los usuarios están muy por encima de
dicho valor, esto indica que resuelven ejercicios mucho más rápido que dicho valor medio, mientras
Capítulo 5. Evaluación del proceso de aprendizaje.
93
que los que estén por debajo es que son menos eficientes. Por lo que dos estudiantes pueden haber
tenido el mismo progreso en la plataforma y sin embargo haber tenido eficiencias muy diferentes
para conseguirlo.
Entre los estudiantes que no hicieron un progreso correcto en la plataforma (no alcanzaron los
umbrales estipulados para superar el curso), los parámetros del bloque de Uso Total de la Plataforma
pueden dar una idea de si el estudiante hizo un esfuerzo grande (en ejercicios, vídeos o simplemente
tiempo) a pesar de no haber conseguido superar el curso. Por ejemplo, para un tiempo total (TT) de
más de 225 minutos de interacción, y más de 15 vídeos empezados (del parámetro UEV1) o más de
20 tipos de ejercicios comenzados (del parámetro UEE1), se pueden detectar 8 estudiantes que no
consiguieron hacer un progreso correcto en la plataforma, pero que sin embargo hicieron un buen
esfuerzo en ella. Estos estudiantes puede que necesiten una ayuda extra con respecto al temario.
Se puede establecer un test de correlación de Pearson, el cual nos muestra que hay una relación
significativa al 99% entre el tiempo total y los siguientes parámetros: videos completados en UEV2
(r=0.80), videos comenzados en UEV1 (r=0.81), ejercicios intentados en UEE1 (r=0.71) y
ejercicios con proficiency en UEE3 (r=0.73). Por lo tanto, el tiempo total en la plataforma es un buen
parámetro para predecir la cantidad y calidad de las interacciones con la misma.
Se puede establecer una relación para el cálculo del abandono de vídeos (AV) con los parámetros
vistos anteriormente sobre los vídeos empezados UEV1 y los vídeos completados UEV2. Se puede
observar en la figura 58 una visualización sobre el parámetro AV.
Figura 58. Representación visual de los parámetros NVA y NVC para obtener abandono de vídeos.
En la figura 58 se muestra el número de vídeos accedidos NVA con el círculo verde y el número de
vídeos completados NVC con el círculo azul. Esta gráfica da una idea de los niveles de abandono
de vídeos para cada usuario. Se puede ver también como un modelo que indica la persistencia al ver
un vídeo y finalizarlo. En el eje X se representan los usuarios y en el de las Y el número de vídeos.
Gráficamente se pueden comparar los dos puntos para deducir si el usuario ha abandonado muchos
vídeos de los que ha comenzado o no. Las líneas más largas representaran usuarios que tienden a
abandonar los vídeos mientras que las más cortas indican lo contrario, es decir aquellos usuarios
Capítulo 5. Evaluación del proceso de aprendizaje.
94
que terminan los vídeos que comienzan. Un caso extremo podría ser el del usuario número 30 que
ha empezado todos los vídeos, pero no ha terminado ninguno de ellos. El caso contrario sería
aquellos usuarios que solo tienen un círculo verde, lo que implica que han terminado todos los
vídeos que han comenzado, se pueden ver ejemplos de este tipo de comportamiento en los usuarios
número 2 a 6.
Este tipo de medidas también podrían ser adaptadas de forma sencilla en un sistema recomendador
para detectar usuarios no persistentes y lanzarles recomendaciones. Por ejemplo, se podría chequear
la medida de AV para que en el caso de que fuera superior a por ejemplo un 40% de abandono, se
mandara una advertencia. Una posible recomendación podría ser decirle a un estudiante que se
centrara más en terminar los recursos que comienza o para advertir a un profesor del
comportamiento de algunos estudiantes.
Sin embargo un detalle importante es que esta gráfica puede tener distintas interpretaciones válidas.
Por ejemplo, un estudiante puede empezar muchos vídeos pero no terminar muchos de ellos. Esto
podría deberse a que el estudiante está teniendo dificultades para comprender el vídeo o que ya
posee los conocimientos que son explicados en el vídeo. La interpretación y recomendación final
debe depender en otros variables como por ejemplo si el estudiante ya sabe cómo resolver dichos
ejercicios. En algunos pasos, no será posible determinar una interpretación de las causas exactas de
alguna información presentada en una sola visualización.
Análogamente, también se pueden analizar los resultados en el abandono de ejercicios (AE) como
un parámetro que pone en relación los parámetros de ejercicios intentados UEE1 con respecto los
ejercicios en los que se ha alcanzado el nivel de proficiency UEE3, como se había visto en el capítulo
3. Los resultados sobre el abandono en ejercicios se pueden ver en la figura 59.
Figura 59. Representación visual de los parámetros NEA y NEP para obtener el abandono de ejercicios.
En la figura 59, se muestra el número de ejercicios accedidos (NEA) con el círculo verde y el
número de ejercicios con proficiency (NEP) con el círculo azul, para dar una noción del parámetro
AE. La interpretación de esta gráfica sería exactamente la misma que la que se ha visto
anteriormente para AV.
Capítulo 5. Evaluación del proceso de aprendizaje.
95
Otra de las cosas que se pueden inferir es si los usuarios están más focalizados en un aprendizaje
visual o activo, si prefieren ver vídeos o realizar ejercicios. Es sencillo realizar una comparación
entre el tiempo que ha pasado cada uno de los estudiantes de una clase de forma separada haciendo
ejercicios y vídeos. Un ejemplo podría ser estudiantes que dedicaron gran cantidad de tiempo
resolviendo ejercicios, podría implicar que son estudiantes que prefieren un aprendizaje activo con
respecto visual. Sin embargo, es complicado ofrecer interpretaciones generalizadas de este tipo, por
lo que las conclusiones finales deben ser siempre teniendo en cuenta el contexto educativo, de los
materiales que contenga el curso, entre otras cosas.
Figura 60. Distribución del tiempo de usuario en azul tiempo en ejercicios (TE) y verde en vídeos (TV).
En la figura 60 se puede observar la distribución del tiempo de uso de la plataforma de algunos
usuarios. Las barras azules representan el tiempo empleado en resolver ejercicios y las verdes el
empleado en vídeos. En algunos estudiantes, la diferencia entre dichas barras es enorme, lo que
puede representar distintas tendencias en su aprendizaje. Se puede ver como ejemplo de distintos
comportamientos
El parámetro de elementos opcionales (EO) da información sobre si los usuarios están interesados
en las funcionalidades extra y no obligatorias que proporciona la plataforma. Un número total de 17
estudiantes, lo que representa aproximadamente un 25% de la clase, utilizó al menos alguno de los
distintos elementos opcionales de los que dispone la plataforma. El test de correlación de Pearson
entre EO y TT (r=0.16, p=0.19) y con UEE3 (r=0.3, p=0.014) sugiere que el uso o no de elementos
opcionales, no está fuertemente relacionado con el tiempo total en la plataforma ni con el
porcentaje de ejercicios con proficiency.
Los parámetros relativos con la constancia, dan una idea de si los estudiantes aprenden en una
manera constante o no. La varianza y la media del tiempo empleado en la plataforma durante el
curso deben de ser tomados en consideración para valorar esta constancia. En algunas situaciones,
los estudiantes puede que aprendan de una manera más duradera si lo hacen de forma constante,
por lo que el sistema podría recomendar a los usuarios más inconstantes el que trabajaran de una
manera más regular.
Capítulo 5. Evaluación del proceso de aprendizaje.
96
Figura 61. Medidas de varianza y media del tiempo en la plataforma de algunos usuarios.
En la anterior figura se puede ver medidas sobre la constancia del usuario, con la varianza y la
media, durante el periodo de actividad del curso que comprende el intervalo de [01/08/2012] a
[08/09/2012]. Se puede observar por ejemplo que el usuario 4 ha sido muy constante en su
aprendizaje, debido a que la varianza es muy pequeña con respecto de su media. Mientras que por
ejemplo el usuario 8 ha sido mucho más inconstante, ya que a pesar de tener medias similares la
varianza es mucho mayor en su caso. De esta manera se podrían hacer deducciones similares para el
resto de usuarios.
También se pueden establecer diferentes horarios en los que accede el usuario a la plataforma y
calcular en cual de dichas zonas la eficiencia del usuario es más alta. Si las diferencias de eficiencia
entre zonas fueran considerables se le podría recomendar al usuario que trabajara las que mejor
eficiencia tengan. Relativo a esto, se puede observar la distribución del tiempo del usuario en tres
intervalos horarios de mañana [7:00 a 13:59] (H1), de tarde [14:00 a 20:59] (H2) y de noche [21:00 a
06:59] (H3). En la siguiente figura se pueden ver los resultados.
Figura 62. Distribución del tiempo en intervalos temporales de mañana (azul), tarde (verde) y noche (amarillo).
Así mismo, la tabla 3 presenta la distribución del tiempo en cada uno de los intervalos de forma
global, en vez de por cada usuario, para tener una idea de cuáles son los tiempos de uso más típicos
de la clase.
Capítulo 5. Evaluación del proceso de aprendizaje.
97
Mañana Tarde Noche
Ejercicios (horas) 112.5 91.4 10.8
Videos (horas) 96.5 82.6 1.2
Total (horas) 209 174 19
Tabla 3. Distribución del tiempo en intervalos horarios de la clase.
En la figura 62, se podía observar mediante barras de porcentaje acumulativas la proporción de
tiempo en cada uno de los intervalos de cada usuario. Algunos tienen un perfil claro para
clasificarlos en uno de los intervalos y otros lo distribuyen de forma más equitativa. Si se establece
un umbral del 65% para evaluar si un usuario tiene un perfil de mañana/tarde/noche, los resultados
se ven en la siguiente tabla.
Perfil de
mañana Perfil de tarde
Perfil de
noche
Perfil no
claro
Número de
Usuarios 21 17 1 29
Tabla 4. Clasificación de los usuarios en perfiles horarios de uso.
Como se puede ver en los resultados, la mayoría de los usuarios se focalizan en el trabajo de
mañana y tarde y hay muy poco tiempo empleado en la noche. Esto podría estar relacionado con
que la edad media de los usuarios no es muy elevada, por lo que es posible que no trabajen mucho
de noche debido a esa razón.
Otro tema de interés es el saber si los estudiantes están motivados por conseguir ganar medallas.
Dos estudiantes pueden haber tenido una participación muy fuerte en la plataforma, pero uno de
ellos haber ganado muchas medallas mientras que el otro tenga una cantidad considerablemente
menor indicando que no está motivado por ellas. El ser capaces de identificar a estudiantes
motivados por estos elementos, puede hacer más fácil su participación en otras actividades o
recomendaciones personalizadas para mejorar su proceso de aprendizaje.
En la plataforma se dieron un total de 3038 medallas a los usuarios que se han ponderado para
estos parámetros. Esto da un total de 46 medallas/usuario. Comparando dicho valor medio con lo
que ha ganado cada usuario, se puede obtener una idea de qué usuarios han ganado más medallas
que el resto.
En la figura 63 se puede ver un ejemplo relativo a esto. Es de rápida visualización que hay algunos
usuarios que claramente destacan sobre el resto. Por ejemplo el usuario número 10 ha ganado un
total de 338 medallas, lo que corresponde con 7 veces más que la media de la clase. Se puede
afirmar que este usuario está motivado por ganar medallas.
Capítulo 5. Evaluación del proceso de aprendizaje.
98
Figura 63. Número de medallas conseguidas por usuario comparadas con el valor medio.
Otra de las medidas de interés que se pueden comentar con respecto a los hábitos del estudiante al
resolver ejercicios es el parámetro de seguidor de recomendaciones (SR) que se puede ver en la
figura 64.
Figura 64. Histograma que representa el porcentaje de ejercicios accedidos mediante recomendación.
En el eje X se ve el porcentaje de ejercicios accedidos con recomendación del sistema y en el eje Y
se ve el número de usuarios que se encuentran en dicho caso. De esta gráfica la conclusión que se
puede sacar es que los alumnos están distribuidos equitativamente hasta el 70% de ejercicios. Esto
quiere decir que hay usuarios que siguen las recomendaciones usualmente y otros que no. También
será interesante ver como correla este tipo de comportamiento con otros parámetros.
En la figura 65 se ilustran los resultados relacionados con el modelo cognitivo de comportamiento
propuesto en el capítulo 3 para detectar usuarios con comportamientos de abusador de pistas,
evitador de vídeos y pistas así como usuario irreflexivo (CAP, CEV, CEP y CUI respectivamente).
En la siguiente gráfica se pueden ver los resultados de aplicar dicho modelo sobre algunos usuarios.
Capítulo 5. Evaluación del proceso de aprendizaje.
99
Figura 65. Distintos perfiles de comportamiento obtenidos a partir de la aplicación de un modelo cognitivo.
En la gráfica se puede ver el ejemplo de algunos usuarios en los que se observa el porcentaje de
veces en los que han sido clasificados de cada comportamiento. Las barras azules representan
evitador de vídeos (CEV), barras verdes evitador de pistas (CEP), barras amarillos usuario
irreflexivo (CUI) y las moradas como abusador de pistas (CAP). También son interesantes las
estadísticas generales a nivel de clase, en las que si se pone un umbral del 25% para clasificar a un
usuario bajo dicho perfil de comportamiento. Los resultados indicarían que 30.3% tienen el perfil
de evitador de pistas, 25.8% evitador de evitador de vídeos, 40.9% usuario no reflexivo y un 12.1%
abusador de pistas.
Adicionalmente, la tabla 5 muestra las correlaciones entre los diferentes comportamientos
comentados al resolver problemas. Las únicas correlaciones que son estadísticamente significativas
a un nivel del 99% son:
El usuario no reflexivo con respecto a los comportamientos de evitador de vídeos y pistas.
Lo cual tiene sentido, ya que el usuario no reflexiona sobre las posibilidades que tiene a su
alcance como ver vídeos y pistas, en vez de ello, responde compulsivamente.
Evitador de vídeos y pistas, también tiene sentido, ya que un usuario que tenga tendencia a
no ver los vídeos puede que también la presente sin pedir pistas, es decir, no usa los
recursos que tiene a su alcance.
Además, algunas relaciones fueron estadísticamente no significativas como por ejemplo abusador
de pistas con respecto a evitador de pistas y vídeos, lo cual también tiene sentido ya que un usuario
que se comporta evitando el uso de recursos, no se espera que a la vez abuse de ellos.
Capítulo 5. Evaluación del proceso de aprendizaje.
100
Evitador de
pistas
Evitador de
vídeos
Usuario no
reflextivo
Abusador de
pistas
Evitador de
pistas 1 0.382 0.607 -0.186
Evitador de
vídeos 0.382 1 0.289 0.096
Usuario no
reflexivo 0.607 0.289 1 0.317
Tabla 5. Tabla de correlación entre perfiles de comportamiento.
5.2.4. CONCLUSIONES DE LA PRIMERA EXPERIENCIA
Esta primera experiencia sirvió principalmente para ser capaces de probar y obtener resultados
correspondientes a la aplicación del conjunto de medidas propuesto en primer lugar. Sobre el
contenido de estos resultados, fue escrito el artículo [55] para el congreso LAK13. El análisis de
resultados y realimentación recibida en esta primera experiencia nos ayudó a mejorar y pulir
diferentes aspectos, como por ejemplo prestar especial atención a la sencillez a la hora de
interpretar visualizaciones, o no abrumar con mucha información al mismo tiempo. Estas
conclusiones fueron criterios primordiales a la hora de diseñar posteriormente ALAS-KA.
Debido a que el conocimiento de la plataforma así como sus posibilidades habían aumentado
considerablemente, estos resultados obtenidos también ayudaron a la hora de redefinir algunas
medidas, para hacerlas más exactas, o para ofrecer nuevos parámetros o combinar varios en una
misma medida. Por otra parte, las correlaciones entre algunos parámetros como por ejemplo la
correlación negativa entre los comportamientos de evitador de pistas y abusador de pistas, indicaba
que el trabajo iba por el bueno camino ya que los resultados tenían sentido.
Ya desde el principio en esta primera evaluación quedó claro que uno de los problemas que iban a
surgir iba a estar relacionado con la arquitectura para extraer y procesar datos, por lo que estaba
claro que este punto iba a ser de un gran interés y habría que dedicarle tiempo al diseño para el
procesado de datos en ALAS-KA, tanto debido a las necesidades computacionales como a la
respuesta de la base de datos.
5.3. RESULTADOS Y DISCUSIÓN DE LOS MISMOS EN LA SEGUNDA
EXPERIENCIA
En este apartado se van a comentar los resultados y análisis realizados de la segunda experiencia
donde se ha aplicado el modelo propuesto de datos de alto nivel. Ha tenido lugar en la segunda
preparación de los cursos 0 mediante la plataforma Khan Academy en agosto de 2013. La idea
inicial era la misma, la preparación de los alumnos y repaso de conceptos para el inicio de las clases.
Este año debido al éxito del anterior, se imparten los cursos 0 para 3 temáticas: física, matemáticas y
química. Se comentará primero la arquitectura para la evaluación que difiere del anterior caso,
seguidamente se comentará alguna información general del curso y se terminara con una evaluación
de los resultados orientada a perfiles de usuario.
Capítulo 5. Evaluación del proceso de aprendizaje.
101
5.3.1. ARQUITECTURA PARA LA EVALUACIÓN
En esta experiencia se ha intentado realizar la evaluación usando al 100% la funcionalidad
introducida mediante ALAS-KA. Por lo tanto no se han generado script adicionales para la
generación de procesado diferente y no ha sido necesaria la utilización de la consola interactiva. La
arquitectura utilizada ha sido el acceso a las distintas instancias de ALAS-KA en cada uno de los
cursos y la extracción de los resultados que se muestran en dichas visualizaciones.
5.3.2. ESTADÍSTICAS GENERALES DE USO DE LA CLASE
En esta sección se van a dar algunos datos generales de acceso y de uso de la plataforma, y sobre el
progreso que han hecho los usuarios en los diferentes elementos que la forman. Las conclusiones
las vamos a extraer principalmente de las gráficas de clase que se encuentran disponibles en ALAS-
KA. Aunque una posibilidad sería hacer comparativas entre los resultados de los distintos cursos e
intentar dar explicaciones para razonar dichas diferencias, en esta evaluación se va a seguir el
camino de la anterior y se va analizar los resultados de una clase.
El número de usuarios por cada uno de los cursos que han accedido a la plataforma han sido de
167 para física, 243 para matemáticas y 73 para química. Si siguiéramos el mismo criterio que se
utilizó en la anterior experiencia para calificar qué usuarios han hecho una interacción mínima con
la plataforma se quedarían en 114 para física, 171 para matemáticas y 55 para química, lo que
supondría un 68%, 70% y 75% respectivamente. Para esta evaluación, sin embargo, se utilizarán los
datos de todos los estudiantes que hayan participado en la plataforma, ya que es la información que
se recibe de ALAS-KA.
En vez de ir utilizando gráficas de los 3 diferentes cursos, lo cual podría ser dudoso para obtener
una evaluación clara, se van a utilizar de un solo curso para ver qué datos generales se pueden
conocer a través de ALAS-KA de un curso. Debido a que matemáticas ha sido el curso con mayor
cantidad de alumnos, se van a utilizar los resultados de dicho curso.
Figura 66. Medidas de Uso Total de la Plataforma parámetros UEE1 y UEE2 en ALAS-KA.
En primer lugar sobre el bloque de Uso Total de la Plataforma, en la figura 66 de diferentes ejercicios
accedidos y aquellos ejercicios que han tenido al menos uno correctamente. Los porcentajes de
ejercicios a los que han accedido los alumnos no es excesivamente grande, se puede ver que sólo un
21% de los alumnos ha accedido a casi todos los ejercicios. Si bien hay que tener en cuenta que aquí
están incluidos los estudiantes que no han participado mucho en la plataforma, y de ahí podría venir
el dato de que un 40% de los alumnos han accedido sólo a unos pocos ejercicios. Por otro lado, los
alumnos que han hecho al menos un ejercicio bien de casi todos los tipos disponibles han sido de
Capítulo 5. Evaluación del proceso de aprendizaje.
102
un 13.2%. Las diferencias entre estas dos medidas provienen de aquellos usuarios que han accedido
a algunos ejercicios, pero ni siquiera lograron hacer uno bien.
Figura 67. Medida de Uso Total de la Plataforma parámetro UEV1 en ALAS-KA.
Con respecto de los porcentajes de diferentes vídeos accedidos que aparecen en la figura 67, se
puede ver que los resultados son similares al caso de los ejercicios accedidos. Las medidas UEE1 y
UEV1 parecen indicar que tan sólo un 20% de los usuarios de la clase, ha accedido a todos los
recursos disponibles en la plataforma. Sin embargo, estas gráficas sólo hablan de los accesos que se
han hecho tanto en ejercicios y vídeos pero no sobre si han alcanzado el nivel de proficiency o de si
han completado el video. En la figura 68 se muestran las tasas de abandono en ejercicios y vídeos
(AE y AV) del curso.
Figura 68. Medida de Uso Total de la Plataforma parámetros AE y AV
La figura 68 muestra los porcentajes de abandono, se puede observar una diferencia considerable en
los porcentajes de los grupos de “muchos” y “la mayoría” de ejercicios abandonados con respecto
de los resultados en vídeos. Esto implica claramente que las tasas de abandono son mayores de
forma general en ejercicios que en vídeos. Esto puede tener distintas causas, como que los vídeos
no presentan dificultades insalvables como puede suceder en un ejercicio. La dificultad es menor al
ver un vídeo ya que no pone a prueba tus conocimientos, o simplemente diferentes tendencias que
tengan los alumnos. Aunque es imposible el ofrecer una interpretación generalizada para toda la
clase.
Figura 69. Medida de Uso Total de la Plataforma parámetros EO y focalizador (FE y FV)
Capítulo 5. Evaluación del proceso de aprendizaje.
103
La figura 69 muestra en primer lugar, las gráficas para ver en qué tipo de recursos se focalizan para
aprender los usuarios. Se puede observar que los usuarios que se concentran en el aprendizaje
mediante vídeos superan a los de ejercicios con un 40% a 28% respectivamente, aunque no es una
diferencia abismal sí que puede dar una idea de hacia qué tipo de recurso se orienta más la clase. Sin
embargo estos resultados habría que contrastarlos con los recursos disponibles en el curso. Por
ejemplo podría ser que la proporción de tiempo requerido de vídeos en el curso fuera mayor que
para ejercicios. Por otra parte, hay un 30% de usuarios que no muestran una tendencia
predominante, y que han dividido su aprendizaje de forma aproximadamente equitativa entre los
dos tipos de recurso. En relación al acceso a elementos opcionales que también aparece en la figura
69, un 20% de los usuarios de la plataforma los han utilizado, lo que no es una gran cantidad.
Aunque teniendo en cuenta que esto no está obligado ni explicado en ningún sitio tampoco es de
extrañar.
Figura 70. Medidas de Correcto Progreso en la Plataforma parámetros PE y PV.
Con respecto al progreso en ejercicios y vídeos del bloque Correcto Progreso en la Plataforma que se
pueden ver en la figura 70, en términos generales no es muy alto. Se puede observar como hay muy
pocos alumnos en ambos tipos de recurso que hayan hecho un progreso muy alto y sin embargo
hay muchos que han hecho un progreso muy bajo. El progreso en vídeos parece ligeramente
superior al hecho en ejercicios y esto también puede estar en relación con el tipo de usuarios que se
ha visto antes, ya que había más usuarios que centraban su aprendizaje en vídeos que en ejercicios.
Hay que tener en cuenta que en estas estadísticas no se ha filtrado ningún alumno de los que ha
accedido, por lo que hay que tener en cuenta que muchos de los alumnos, simplemente accederían a
la plataforma y no interactuarían en absoluto.
Figura 71. Medidas de Correcto Progreso en la Plataforma parámetros EJ4 y EV.
Con respecto a la eficiencia en ejercicios y vídeos en la figura 71, se puede observar diferencias
fundamentales. Para el caso de los ejercicios se pueden encontrar pocos usuarios (en torno al 5%)
que alcancen niveles de eficiencia altos realmente a la hora de resolver un ejercicio por primer a vez.
Puede ser que los umbrales establecidos no sean los más adecuados en este curso, ya que fueron
establecidos por primera vez en un curso diferente. Aunque esto va a ayudar a detectar con bastante
diferencia los usuarios más eficientes de la plataforma del resto. Por parte de la eficiencia en vídeos
aparece una tendencia clara, que es o bien que los usuarios son muy eficientes y ven los vídeos al
Capítulo 5. Evaluación del proceso de aprendizaje.
104
100%, o bien tienen unos niveles de eficiencia bajos y han necesitado ver el vídeo por segunda vez.
Pero se puede ver que hay muy pocos usuarios que se encuentren en un punto medio de eficiencia.
Figura 72. Medidas de Hábitos de Ludificación parámetros de motivación en medallas.
En la figura 72 se muestran las dos medidas del bloque de Hábitos de Ludificación que se han
implementado para intentar detectar alumnos que muestran un interés especial en los elementos de
ludificación disponibles. Los resultados de ambas son similares, no habiendo grandes diferencias. Se
encuentran distribuidos de más a menos en función de la motivación. Esto puede ayudar a detectar
a los alumnos que se encuentran realmente motivados que están en los niveles más altos ya que se
diferencian de forma considerable del resto.
Figura 73. Medidas de Distribución del Tiempo de Uso de la Plataforma.
En la figura 73 se muestran las medidas disponibles de clase relativas a la Distribución del Tiempo de
Uso de la Plataforma. En relación a como se reparten los usuarios en los distintos intervalos de
trabajo del día (H1, H2 y H3), se siguen manteniendo los resultados obtenidos en otras experiencias.
Principalmente los usuarios trabajan en la mañana y tarde, estando ligeramente por encima el
trabajo en las mañanas y hay muy pocos alumnos que concentren su aprendizaje durante periodos
nocturnos. Tan sólo un 33% de los usuarios no tiene un perfil claro, lo que implica que el resto
concentra su aprendizaje en un intervalo concreto. Con respecto a las eficiencias en los diferentes
intervalos horarios, no se pueden apreciar grandes diferencias entre la eficiencia en un horario u
otro, sin embargo lo interesante será ver para un mismo usuario si tienen eficiencias diferentes en
los intervalos horarios.
Capítulo 5. Evaluación del proceso de aprendizaje.
105
Figura 74. Medidas de Hábitos Resolviendo Ejercicios parámetros SR y UO.
En la figura 74 se muestran las medidas de recomendador de ejercicios y usuario olvidadizo del
bloque de Hábitos Resolviendo Ejercicios. Los resultados que se observan no muestran tendencias claras
de la clase y se ve que están distribuidos de forma más o menos equitativa, será de más interés el
analizar casos particulares de usuarios así como correlaciones de estos parámetros con otros.
Figura 75. Medidas de Hábitos Resolviendo Ejercicios parámetros de CEP, CEV, CUI y CAP.
Las medidas relativas a la aplicación del modelo cognitivo de comportamiento, para detectar
usuarios evitadores de pistas y vídeos, no reflexivo y abusadores de pistas (CEP, CEV, CUI y CAP
respectivamente) muestran que la clase tiene un perfil con cierta tendencia a evitar pistas y vídeos
así como a no reflexionar. Una reflexión interesante es que en todos los casos la mayoría de
usuarios están situados en el grupo más alto de “Very high” o en la categoría más baja “Very low” eso
puede estar relacionado con que los usuarios normalmente mantienen su tendencia, y que cometen
siempre los mismos comportamientos erróneos o lo hacen siempre bien.
5.3.3. EVALUACIÓN POR PERFILES DE USUARIO
En este apartado se van a analizar los resultados mediante casos individuales de usuarios por cómo
han sido clasificados a través de las medidas en ALAS-KA. La idea es introducir los conceptos de
cómo interpretar los resultados para obtener información acerca del comportamiento de los
alumnos, qué tipo de información se puede recibir y cómo combinarla, o ver distintos casos de
estudiantes diferentes. El objetivo es obtener un conocimiento adicional que ayude a los profesores
Capítulo 5. Evaluación del proceso de aprendizaje.
106
en la toma de decisiones a la hora de recomendar o actuar en el proceso de aprendizaje. Los
ejemplos de los estudiantes que se van a poner serán totalmente anónimos.
Figura 76. Ejemplo de estudiante con altas tasas de abandono en ALAS-KA.
En la figura 76 se puede ver un ejemplo de algunas de las medidas disponibles en Uso Total de la
Plataforma, concretamente este estudiante es un buen ejemplo para observar como en su interacción
ha accedido a la mayoría de los recursos. Se pueden ver las medidas UEE1 para ejercicios y UEV1
en vídeos que muestran unos porcentajes de acceso a ambos tipos de recursos muy altos. Este
estudiante ha accedido a prácticamente todos los elementos disponibles que había en la plataforma.
En contrapartida, se puede ver que los parámetros de tasas de abandono AE para ejercicios y AV
para vídeos, muestran unos porcentajes de abandono altísimos. Por consiguiente, éste estudiante ha
accedido a casi todos los recursos, pero sin embargo ha completado muy pocos de ellos. La
interpretación de esto puede ser más complicada en cuanto a la posibilidad de que el estudiante o
bien ya conociera el temario y se sintiera aburrido, o que fueran de una dificultad muy elevada. Otra
opción es que haya sido muy curioso pero no ha tenido el tiempo.
Figura 77. Ejemplo de estudiante que abandona ejercicios pero completa los vídeos.
En la figura 77 se muestra un ejemplo donde se tiene un estudiante que ha accedido a una gran
cantidad de vídeos así como un gran número de ejercicios. Pero mientras que la tasa de abandono
de vídeos es del 0%, es decir ha completado todos los vídeos, la de ejercicios supera el 50%, lo que
es bastante. Este estudiante muestra una tendencia diferente, que puede ir enfocada a que termina
de ver los vídeos, pero aun así tiene problemas al resolver los ejercicios y por eso los abandona.
Una posible interpretación es que no le preste suficiente atención a los vídeos para adquirir los
conocimientos y posteriormente no sepa resolver el ejercicio asociado.
Capítulo 5. Evaluación del proceso de aprendizaje.
107
Otro tipo de usuario en estos casos, son aquellos que completan los recursos conforme los
comienzan, con lo cual tienen tasas de abandono muy bajas ya que no pasan al siguiente recurso
hasta que no terminan los ya comenzados.
Figura 78. Ejemplo de estudiante que hace progreso sólo en ejercicios.
Con respecto del Correcto Progreso en la Plataforma, en la figura 78 se muestra un ejemplo de un
usuario que sólo ha realizado progreso en ejercicios (PE), pero es un progreso considerable del 75%
de todos los ejercicios disponibles, por lo que este usuario probablemente ya tenía los
conocimientos necesarios para afrontar la resolución de los ejercicios y no ha necesitado ver los
vídeos. Esto también es corroborado por su eficiencia, que al estar por encima de la media de la
clase indica que no ha necesitado una gran cantidad de intentos para realizar ese progreso.
Figura 79. Comparación de estudiantes con progreso similar pero diferentes eficiencias.
En la figura 79 se puede ver un ejemplo de dos estudiantes que tienen un progreso en vídeos (PV) y
en ejercicios que es similar. Sin embargo se puede ver claramente que el estudiante A tiene unos
niveles de eficiencia mayores que el estudiante B para un progreso bastante similar. Podríamos decir
que ante el mismo progreso, el estudiante A ha hecho un mejor trabajo en la plataforma. Sería
interesante saber si estos resultados asociados a mejores eficiencias ante el mismo progreso están
relacionados con un aprendizaje mayor o menor, pero esto no forma parte de este proyecto.
Capítulo 5. Evaluación del proceso de aprendizaje.
108
Figura 80. Distribución del tiempo de trabajo con eficiencias similares en todos los intervalos horarios.
Con respecto a la Distribución del Tiempo de Uso de la Plataforma, en la figura 80 se puede ver un
estudiante que ha participado en todos los intervalos horarios. Se puede ver dicha distribución
mediante los parámetros H1, H2 y H3 mediante la gráfica por barras acumuladas. Aunque la
distribución muestra que principalmente ha trabajado en la mañana y la tarde. Lo importante en
este caso es ver que las eficiencias de los parámetros EH1, EH2 y EH3 de dicho usuario (además de
ser altas) son similares en todos los intervalos del día, por lo que no hay una pista clara de que este
estudiante trabaje mejor en un intervalo horario que en otro.
Figura 81. Distribución del tiempo de trabajo con eficiencias muy dispares en los intervalos horarios.
En este caso, la figura 81 muestra un usuario que tiene también los tiempos de uso muy
distribuidos, casi de forma equitativa entre los intervalos horarios del día. Sin embargo, la gran
diferencia es que este usuario tiene unos niveles de eficiencia bastante diferentes en los tres
intervalos del día, alcanzando sus mejores números en el horario de mañana y los peores en el de
tarde. Una recomendación clara para este usuario sería decirle que trabaje en horario de mañana, o
que vigile el trabajo que hace por la tarde ya que lo está haciendo peor.
Capítulo 5. Evaluación del proceso de aprendizaje.
109
Figura 82. Comparación de la constancia de trabajo de dos estudiantes en la plataforma.
En la figura 82 se puede ver otro ejemplo de este bloque, pero que ilustra otro tipo de información
relacionada con la constancia de los alumnos. Se puede ver como los estudiantes C y D tienen un
valor medio (tiempo que han utilizado la plataforma al día) similar. Esto quiere decir que el tiempo
dedicado al curso ha sido similar. Pero basta con comparar los niveles de varianza de ambas para
saber que el estudiante C ha sido muchísimo más constante en su aprendizaje que el estudiante D.
Esto quiere decir que aunque el tiempo que le han dedicado ha sido similar, el estudiante C lo ha
ido haciendo poco a poco durante el tiempo que el curso ha estado disponible y el estudiante D ha
hecho toda su interacción en un espacio de tiempo mucho menor, por lo que ha sido poco
constante en su aprendizaje. Como en otros casos será interesante saber si este progreso de manera
más constante correla con unos niveles de aprendizaje mayores o menores, o si no tiene relación.
Con respecto a las medidas de Hábitos de Ludificación, se muestra en la 83 un ejemplo de esto. En
esta gráfica se muestra una comparativa de dos estudiantes, que aunque no aparezcan dichas
visualizaciones, presentan unos progresos en la plataforma que son similares. Las medidas que
aparecen son las relativas al interés por las medallas (IM) así como el porcentaje de puntos (PL),
por otra parte se ha añadido la medida del uso de elementos opcionales (EO), que también está
relacionada con la ludificación. Los resultados muestran, que a pesar de que la interacción ha sido
similar, el estudiante E no ha utilizado ninguno de los elementos opcionales disponibles ni ha
mostrado mucho interés por conseguir medallas. En el lado opuesto, el estudiante F ha utilizado
todos los elementos opcionales disponibles en la plataforma y muestra un interés por las medallas
muy superior al resto de la clase, situándose unas 8 veces por encima de la media. Se puede ver en
este ejemplo una tendencia con clara diferenciación entre dos usuarios, uno realmente motivado
por los elementos opcionales y no obligatorios que se le plantean y otra que no le motivan dichos
elementos.
Capítulo 5. Evaluación del proceso de aprendizaje.
110
Figura 83. Comparativa del interés de las medallas y los elementos opcionales entre dos estudiantes.
Con respecto al bloque de Hábitos Resolviendo Ejercicios del estudiante, se muestra primero en la figura
84 del seguimiento de recomendaciones (SR) en dos estudiantes. A pesar de haber interactuado
bastante con la plataforma en ambos casos, el estudiante G muestra que prácticamente no ha
seguido nunca las recomendaciones en que ejercicio hacer siguiente del sistema, por lo que
posiblemente haya seguido otro orden de su preferencia. Por parte del estudiante H alcanza unos
niveles del 60% de ejercicios a los que ha accedido ha sido por recomendación del sistema.
Figura 84. Comparación de estudiantes con parámetro SR muy diferentes.
En la figura 85 se ve los resultados de un estudiante relativos a los parámetros del modelo cognitivo
en los que se obtienen los parámetros para evitador de vídeos y pistas (CEV y CEP), así como
usuario no reflexivo y abuso de pistas (CUI y CAP). Los resultados de este alumno muestran una
tendencia clara en los comportamientos de evitador de vídeos y pistas y en el de usuario no
reflexivo, sin embargo el parámetro de abuso de pistas es prácticamente nulo. Esto está en relación
a que como se ha visto en la primera experiencia, los parámetros evitador de pistas y abuso de
pistas, evidentemente no correlan, aunque hay excepciones.
Capítulo 5. Evaluación del proceso de aprendizaje.
111
Figura 85. Ejemplo de los parámetros de comportamiento resolviendo ejercicios de estudiante no abusador de
pistas.
Algunos alumnos muestran casos en los que todos los parámetros de comportamiento son altos o
al revés, en los que todos son bajos. Sin embargo, hay otros resultados que pueden ofrecer
conclusiones más detalladas sobre un usuario. La siguiente figura 86 muestra un usuario que tiene
unos comportamientos predominantes de usuario no reflexivo y abusador de pistas, sin embargo
los de evitador de vídeo y pistas son bajos. Este usuario muestra unos comportamientos
predominantes en los que se podría concluir que no reflexiona sobre la realimentación que recibe,
sería posible avisar al profesor o enviarle una advertencia/recomendación para que reflexione sobre
la información que recibe al pedir pistas o así como sobre sus errores al contestar erróneamente los
problemas.
Figura 86. Ejemplo de estudiante con comportamiento no reflexivo y abusador de pistas predominante.
El siguiente estudiante en la figura 87 muestra unas tendencias diferentes a las vistas con
anterioridad. En este caso los perfiles predominantes de comportamiento son evitador de pistas y
evitador de vídeos, mientras que usuario no reflexivo y abusador de pistas son bajos. Este usuario
muestra un perfil en el que no usa los recursos disponibles para la resolución de los ejercicios, en
este caso los vídeos y pistas, y sus respuestas son erróneas en un porcentaje alto. Una posible
recomendación directa o advertencia sería que usara los recursos disponibles para mejorar su
conocimiento y conseguir resolver los ejercicios correctamente en mayor proporción. También se
puede observar un nuevo caso en el que se ve como los perfiles de evitador de pistas y abusador de
pistas no correlan.
Capítulo 5. Evaluación del proceso de aprendizaje.
112
Figura 87. Ejemplo de estudiante con perfiles predominantes de evitador de pistas y vídeos.
Con esto terminan los ejemplos que se van a poner de la evaluación mediante los perfiles de
usuarios obtenidos en ALAS-KA.
5.3.4. CONCLUSIONES DE LA SEGUNDA EXPERIENCIA
Parte de las conclusiones a obtener en esta segunda experiencia queda como trabajo futuro que se
va a realizar más adelante. Queda por realizar como tareas principales una evaluación de ALAS-KA
desde diferentes puntos de vista por parte del profesorado de los cursos 0, así como un análisis
exhaustivo de los datos resultantes. Información adicional sobre esto se comentará más en
profundidad en la sección de trabajo futuro.
A continuación se exponen las conclusiones que se pudieron obtener más relacionadas con la
arquitectura de ALAS-KA. El diseño inicial ha sido satisfactorio, ya que todo funcionó sin
ocasionar ningún problema durante el periodo de duración del curso: tanto la arquitectura base de
funcionalidad que se integró con la plataforma Khan Academy sin ningún problema, como el
procesado de datos que funcionó correctamente ejecutándose de forma periódica sin tareas de
mantenimiento demasiado grandes. Se echó de menos la posibilidad de tener una consola de
administración para poder asignar los diferentes permisos de ALAS-KA a los usuarios y es una de
las tareas posibles de trabajo futuro.
Otra de las conclusiones obtenidas, es que mucho del procesado no es significativo hasta que no ha
terminado el curso, mientras que otras medidas pueden ser más significativas conforme va
avanzando el curso temporalmente. Hay que tener en cuenta que los resultados en los periodos
iniciales del curso pueden ser poco claros debido a los pocos datos existentes en la base de datos,
por lo que también es recomendable esperar unos cuantos días a que los estudiantes hayan
participado en la plataforma para que los parámetros procesados tengan más sentido.
Por otra parte, debido a que la facturación en App Engine está relacionado también con el número
de operaciones con la Datastore, hay que llevar cuidado en cursos de muchos alumnos y grandes
procesados de datos como el que se hace aquí, ya que los aumentos en el facturación son muy
significativos. Hay que tener en cuenta que conforme haya más alumnos y vaya aumentando el
curso en tiempo (habrá muchos más datos) el coste diario del mantenimiento de la aplicación irá
creciendo. Llegado el momento en el que el curso haya finalizado pero se vaya a mantener la
plataforma, es interesante la opción de desactivar el procesado periódico (ya que los datos se van a
mantener iguales porque los alumnos no van a participar en la plataforma) ya que así no se
generaría ese coste diario adicional, pero se podrían seguir accediendo en ALAS-KA a los últimos
resultados generados.
113
CAPÍTULO 6.
CONCLUSIONES Y TRABAJO FUTURO
En este capítulo se van a comentar las conclusiones que se pueden establecer al haber finalizado
este trabajo. Primero se hará un repaso sobre los objetivos puestos al inicio para analizar su grado
de cumplimiento así como algunas lecciones aprendidas. Posteriormente se comentarán los
resultados que han sido conseguidos relacionados con este proyecto. Para terminar se hará
referencia a las líneas de trabajo futuro existentes.
6.1. CONCLUSIONES
Los objetivos fijados en este trabajo fin de máster han sido cumplidos en su totalidad:
Se han definido e implementado un conjunto de parámetros de alto nivel para la
plataforma Khan Academy a partir del procesamiento de datos de bajo nivel en forma de
eventos. Tras el análisis, los parámetros se han dividido en cinco grupos principales: uso
total de la plataforma, progreso adecuado en la plataforma, distribución temporal, hábitos
de ludificación, hábitos en la resolución de ejercicios.
Se ha diseñado, implementado e integrado el módulo ALAS-KA extendiendo la capacidad
de learning analytics de la plataforma Khan Academy y añadiendo nuevas visualizaciones
tanto individuales como de la clase basadas en los parámetros anteriormente definidos.
Para ello, se ha tenido que definir una arquitectura, describir sus elementos y relaciones, y
solventar diferentes aspectos técnicos como la realización de los procesados periódicos y
tiempo de respuesta al usuario o la mejor forma de presentar las visualizaciones.
Se ha mostrado cómo utilizar esos parámetros y visualizaciones del módulo ALAS-KA
para evaluar el aprendizaje y tener información inteligente del proceso de aprendizaje. Dos
métodos diferentes se han explicado para dicha evaluación del proceso de aprendizaje: uno
basado en combinación de parámetros incluyendo correlaciones entre ellos; otro orientado
a perfiles de aprendizaje con distintos tipos de usuarios. Esto se ha aplicado exitosamente a
los cursos 0 de la Universidad Carlos III de Madrid en las ediciones de 2012, 2013.
Para la consecución de estos objetivos se han tenido que aprender o/y hacer uso de conocimientos
muy diversos tales como programación de servidor, lenguaje de programación Python, Google App
Engine, Datastore basado en Big Data, código de la plataforma Khan Academy, librería de Google
Charts, conocimiento y herramientas estadísticas, estado del arte en temas relacionados, etc.
Durante el desarrollo del trabajo se han obtenido bastantes lecciones. Una bastante importante es
que para conseguir un tipo de información en concreto de alto nivel que pueda comprender el
usuario, hay muchas opciones de realizar el procesado de los datos. Por ejemplo, hay muchas
maneras de medir la eficiencia. Así para la eficiencia de realización de ejercicios se puede o no
Capítulo 6. Conclusiones y trabajo futuro.
114
tomar el tiempo invertido, el número de intentos, tener en cuenta la resolución correcta, etc.
Además, muy diversos procesados se pueden pensar para dar una medida final de 0 a 1 de la
eficiencia. Es complicado a priori saber cuál de ellas será la más exacta o la que más se adapte a las
necesidades de los profesores y alumnos. En muchas ocasiones dependerá del contexto concreto.
Es importante saber discernir las medidas que pueden ser más idóneas y elegir las apropiadas
basado en razonamientos sólidos. De cara a las visualizaciones, los profesores y alumnos deben
tener un número limitado de medidas para que no estén desbordados, y explicarles bien de una
manera sencilla cada una de ellas. Aunque la realimentación posterior de profesores y alumnos, así
como resultados estadísticos pueden hacer cambiar la elección de los parámetros a mostrar.
Por otra parte, hay parámetros que pueden resultar de mucho interés, pero que no se pueden
calcular por la propia semántica y funcionalidad de la plataforma. Así mismo, según la acción de los
alumnos habrá parámetros que queden indefinidos por falta de suficientes datos o que estos no
sean reveladores, teniendo un grado de incertidumbre.
Además, en bastantes casos la interpretación y acción a tomar en función de determinados
resultados de parámetros no está clara. Por ejemplo, ¿qué hay que recomendarle a un alumno que
abandona los vídeos? El que empiece a ver vídeos y no los complete puede ser porque ve el inicio
del vídeo y como ya comprende las lecciones los descarta, o porque el alumno está actuando mal en
la plataforma sin completar los materiales. De momento, la decisión de recomendación y actuación
se deja habitualmente al profesor para que evalúe el contexto específico para poder tomar este tipo
de decisiones. Es un reto ofrecer una forma sistemática de interpretar los resultados para cada
usuario, y normalmente es más efectivo una interpretación de forma individual para cada usuario en
función de varios parámetros. También, hay algunos parámetros que tienen sentido conforme se va
desarrollando la experiencia, pero que van perdiendo interés conforme se alcanza el final del curso.
Con respecto al diseño e implementación de ALAS-KA, la aplicación ha sido correctamente
integrada en los diferentes cursos 0 del año 2013 y ha estado accesible para profesores y otras tareas
de investigación. Un elemento a tener en cuenta es que el procesado de datos aumenta
exponencialmente conforme el curso va aumentando, ya que las cantidades de datos generadas por
los usuarios son cada vez mayores. Para este caso que estaba funcionando sobre Google App
Engine esto también suponía un aumento en la facturación del coste del servidor. Hay que ser
conscientes de este aspecto para hacer un diseño de un sistema que sea capaz de escalar
correctamente durante todo el curso.
Relativo a la evaluación del conjunto de parámetros ofrecidos, se considera que ha sido positiva, ya
que han posibilitado la evaluación de los cursos en la plataforma Khan Academy. Del primer tipo
de evaluación expuesto, han salido conclusiones interesantes como la determinación de alumnos
que han hecho un correcto uso de la plataforma viendo quienes son más eficientes, alumnos que
dedicaron mucho esfuerzo pero que no resolvieron bien los ejercicios, o correlaciones entre
diferentes parámetros de comportamientos de los usuarios. Del segundo tipo de evaluación
expuesto, se han clasificado a los alumnos en diferentes clústeres de estilos de aprendizaje
determinando aspectos como cuando son más eficientes.
6.2. RESULTADOS RELACIONADOS
Relacionado con este trabajo fin de máster, hasta el momento han sido aceptados para su
publicación 2 artículos en congresos (uno de ellos ya publicado). Además, parte de los resultados
del trabajo han sido utilizados en proyectos de investigación, diversas charlas han estado
Capítulo 6. Conclusiones y trabajo futuro.
115
relacionadas con este trabajo, y el módulo ALAS-KA desarrollado ha sido aplicado en una
experiencia real en la Universidad Carlos III de Madrid en los cursos 0 online del año 2013. A
continuación se comentan más en detalle estos resultados.
Publicaciones relacionadas:
Los dos artículos aceptados relacionados con este trabajo fin de máster, en los que el autor de este
trabajo fin de máster es coautor, son:
El artículo de la referencia [55]. Este es el primer artículo publicado relacionado con el
trabajo realizado. Este artículo expone algunos de los parámetros propuestos en el capítulo
número 3, así como la forma de combinarlos para evaluar un curso junto con los resultados
de la evaluación en el curso 0 de 2012. Fue aceptado y presentado en el congreso Learning
Analytics and Knowledge (LAK2013) y ha sido publicado por la ACM con Proceeding LAK '13
Proceedings of the Third International Conference on Learning Analytics and Knowledge. Pages 112-
116. doid=2460296.2460318
El artículo de la referencia [56]. Este artículo ha sido aceptado para su publicación. En este
artículo se tratan aspectos del capítulo de arquitectura de la plataforma, modelo de datos y
arquitectura de procesado. Se encuentra aceptado en el congreso TEEM 2013 en el Track
5. A promised land for educational decision making? Present and future of learning analytics. También
será publicado por la ACM bajo Proceedings First International Conference in Technological
Ecosystems for Enhancing Multiculturality 2013.
Diseminación en otros eventos:
Este trabajo se ha desarrollado como proyecto dentro del laboratorio de e-learning Gradient [57],
dentro del grupo GAST del departamento de Ingeniería Telemática en la Universidad Carlos III de
Madrid y ha sido expuesto y presentado en diferentes foros y conferencias.
Como ejemplo, dentro de dicho proyecto, se hizo una demo de ALAS-KA que estaba disponible
para su utilización por los asistentes en las pauses café de las IV Jornadas eMadrid sobre MOOCs
[58]. Este trabajo también fue expuesto en el video demonstración [59] de herramientas de e-
learning de la UC3M en dichas jornadas.
Transferencia de resultados a proyectos:
Parte de los resultados de este trabajo han sido utilizados en los proyectos de investigación
siguientes:
Proyecto: “Emadrid: Investigación y desarrollo de tecnologías para el e-learning en la Comunidad de Madrid”.
Entidad financiadora: Comunidad de Madrid
Entidades participantes: Universidad Carlos III de Madrid
Duración: desde 01/01/2010 hasta 31/12/2013
Investigador responsable: Carlos Delgado Kloos
Proyecto: “EEE-Virutal: Orquestando espacios educativos especulares”.
Entidad financiadora: Ministerio de Ciencia e Innovación. CICYT
Entidades participantes: Universidad Carlos III de Madrid, Universidad Pompeu Fabra,
Universidad de Valladolid
Capítulo 6. Conclusiones y trabajo futuro.
116
Duración: desde 01/01/2012 hasta 31/12/2014
Investigador responsable: Carlos Delgado Kloos
Aplicación real:
El módulo ALAS-KA desarrollado en este trabajo fin de máster ha sido dejado disponible para los
profesores de la Universidad Carlos III de Madrid en los cursos 0 de la edición 2013. Así mismo, el
trabajo desarrollado ha sido utilizado para la evaluación de los cursos 0 en la Universidad Carlos III
de Madrid en las ediciones 2012 y 2013.
6.3. TRABAJO FUTURO
A pesar de que el alcance y el desarrollo que se ha hecho a lo largo de este proyecto ha sido
bastante amplio, todavía hay muchas áreas de mejora y conclusiones que obtener de todos los datos
generados. Se pueden determinar distintas líneas de trabajo futuro: unas continuistas para seguir
mejorando ALAS-KA como plataforma, también mejoras relativas a los distintos parámetros, u
otras de análisis de datos y nuevos horizontes con las posibilidades que abren otras plataformas y
experiencias. Se van a comentar de forma breve algunos de los posibles puntos de trabajo futuro
que se barajan en los distintos ámbitos.
Relativos a la mejora de los parámetros:
o Por una parte, a partir de las ideas que nos han reportado las distintas experiencias,
se pueden mejorar los parámetros con el objetivo de que den una información más
útil. También las mejoras podrían ir asociadas a técnicas estadísticas para
determinar qué variaciones de parámetros son más efectivas para predecir por
ejemplo las notas de los alumnos.
o Recibir una realimentación por parte del profesorado y otras fuentes para saber
cuáles son los parámetros de mayor interés y qué parámetros nuevos podrían ser
útiles para ser capaces de evaluar y mejorar el proceso de aprendizaje
o Proponer nuevos parámetros con los que se pueda inferir nueva información,
como por ejemplo una información más detallada relacionada con la ludificación.
Mejoras en ALAS-KA:
o En primer lugar realizar una evaluación de utilidad, usabilidad y accesibilidad de la
plataforma ALAS-KA. Esta realimentación dará las primeras mejoras posibles y
más directas para hacerla más útil y usable por usuarios con perfil no técnico.
o Añadir una interfaz de administración para asignar privilegios a los distintos
usuarios de una manera sencilla.
o Incluir una herramienta de administración de cursos desde la que se pueda
configurar el número de cursos, los alumnos que pertenecen a cada curso así como
los vídeos y ejercicios existentes en Khan Academy que los componen de forma
sencilla.
o Incorporar un módulo de recomendaciones en el que se le manden
recomendaciones a los estudiantes para mejorar su proceso de y por otra parte,
advertir a los profesores de ciertas situaciones como alumnos que tengan
problemas, o materiales y recursos que deben ser revisados. Para tener estas
recomendaciones, se deberían tener en cuenta en muchos casos más variables
asociadas al contexto educativo concreto de cada experiencia, ya que a veces los
parámetros pueden tener varias interpretaciones diferentes.
Capítulo 6. Conclusiones y trabajo futuro.
117
Análisis de datos en experiencias:
o Calcular nuevas correlaciones de parámetros entre ellos para ver cómo se
relacionan unos con otros y de esta forma sacar más conclusiones.
o Calcular correlaciones de los distintos parámetros y perfiles de aprendizaje con
ganancias de aprendizaje, para saber por ejemplo, si mayores niveles de eficiencia
tienen una relación con que un estudiante haya aprendido más o menos. Esto se
puede realizar haciendo pre-test y post-test justo antes y después respectivamente
de realizar el curso en la plataforma de la Khan Academy para calcular una
ganancia de aprendizaje.
o Utilizar técnicas de clustering para agrupar a los alumnos en función de los
parámetros procesados. Estos clusters serían formados combinando varios valores
de parámetros para formar grupos. Así no sólo habría clusters por cada parámetro
considerado como ahora, sino como combinación de varios de ellos.
o Utilizar otras técnicas de minería de datos como regresión, estimación o/y
aprendizaje máquina, para realizar modelos de predicción por ejemplo para
determinar las notas futuras de cada usuario o para prevenir el abandono de cursos
futuros.
o Hacer un análisis exhaustivo para ver los diferentes resultados obtenidos en los
cursos e intentar razonar el porqué de estas diferencias. Por ejemplo, dependiendo
de los tipos de ejercicios, la materia que se va a dar, o el perfil de los alumnos.
Nuevas experiencias:
o Seguir aplicando estos parámetros en las diferentes nuevas experiencias por venir
en cursos en Khan Academy para obtener una mayor cantidad de datos. Los
resultados y conclusiones siempre son más fiables cuanto mayor es el número de
muestras disponibles.
Aplicación de parámetros en plataformas diferentes:
o Es interesante también la posibilidad de extrapolar este conjunto de medidas a
otras plataformas similares que se puedan usar para gestionar cursos a nivel
universitario como por ejemplo edX [60] que actualmente ha liberado su código de
forma libre. Por supuesto debido a la semántica propia y a los conjuntos de datos
generados en cada plataforma, habrá que hacer adaptaciones en las medidas,
algunos parámetros no serán viables y existirá la posibilidad de incluir nuevos
parámetros, por lo que los resultados pueden ser diferentes y aprender nuevas
cosas.
118
APENDICE 1.
MANUAL DE USUARIO
En este apéndice se va a hacer una revisión de las diferentes pantallas de ALAS-KA, que permitirán
recorrer la interfaz y conocer los tipos de interacción que se puede hacer en cada una de las
pantallas. Esta guía puede ayudar al usuario a entender la funcionalidad que existe implementada en
la aplicación y como usarla de forma general.
INTRODUCCIÓN:
ALAS-KA es una herramienta de learning analytics que está basada en la plataforma de Khan
Academy. Su objetivo es el de ofrecer unas visualizaciones de distintos tipos de información que
puedan ayudar a los profesores y alumnos a mejorar el proceso de aprendizaje durante el curso en la
plataforma de Khan Academy. Los alumnos van a poder acceder a las visualizaciones de sus
propios parámetros pero no a las del resto de alumnos o a la clase. Los profesores podrán ver las
visualizaciones de todos los alumnos del curso y también otras globales de la clase.
Figura 88. Página de entrada home a ALAS-KA.
Apéndice 1. Manual de usuario.
119
La forma de acceder a ALAS-KA es relativamente sencilla. Su sistema de log-in está asociado al
mismo que utiliza Khan Academy, por lo tanto sólo se tiene que acceder a Khan Academy desde la
URL habitual y hacer log-in. Una vez hecho esto puedes acceder a ALAS-KA desde la URL situada
en http://your_khan_academy_url/menu_viewer.
La figura 88 muestra el menú de entrada en ALAS-KA. En el home de la interfaz de entrada se
puede ver una breve descripción de la plataforma y unas tablas que están organizadas por los
bloques de parámetros así como los distintos parámetros que los componen. Si se pone el ratón por
encima de cualquiera de los bloques de medidas o de alguno de los parámetros, saltará el cuadro
que sale en la imagen con una breve descripción para que se pueda comprender cada uno de ellos.
Esto puede ayudar al usuario a ver en que bloques se agrupan las medidas y que información se
muestra en cada uno de ellos, de esta forma dependiendo de qué tipo de información desee recibir
acudirá a uno o a otro. También se puede leer la descripción de cada uno de los parámetros por
separado para analizar con más exactitud qué información transmite cada uno de ellos.
Por otra parte, en caso de que se desee contactar con las personas participantes en la plataforma, las
direcciones de contacto se pueden encontrar en la pantalla about como se ve en la figura 89.
Figura 89. Pantalla about para el contacto con las personas que han desarrollado ALAS-KA.
En las secciones siguientes se van a describir cuáles son las visualizaciones que se pueden acceder y
su significado.
VISUALIZACIONES INDIVIDUALES:
Para acceder a las visualizaciones individuales de los diferentes estudiantes hay que pinchar en la
pestaña user del menú de ALAS-KA. Esto nos lleva a una interfaz en la que hay dos cajas de
selección: en la primera denominada “Select the student” se pueden elegir los distintos estudiantes de
la clase, y en la segunda llamada “Type of measure” se puede acceder al tipo de medidas que se quieren
consultar. Las existentes en el tipo de medidas coincidirán con las tablas vistas en home y cada una
de ellas incluirá dichos parámetros. Una vez que las dos cajas de selección tengan elementos
escogidos, aparecerá la visualización acorde a lo que se haya elegido. También se puede ir
cambiando las cajas e irán cambiando las visualizaciones acorde a su selección. Se puede ver dicha
interfaz en la figura 90.
Apéndice 1. Manual de usuario.
120
Figura 90. Interfaz de visualizaciones individuales de la pestaña user en ALAS-KA.
En cada uno de los bloques de medidas aparecen una serie de parámetros representados por
visualizaciones de barras. Además aparece una tabla en la parte inferior que resume de forma verbal
las diferentes medidas sobre dicho usuario, donde también se puede observar la definición de
dichas medidas poniendo el curso por encima de ellas. En la figura 91 se puede observar las
visualizaciones del bloque Uso Total de la Plataforma.
Figura 91. Visualizaciones individuales de Uso Total de la Plataforma en ALAS-KA.
En la imagen 91 se muestra el bloque de medidas de Uso Total de la Plataforma, que está orientado a
ofrecer parámetros sobre el uso que han hecho los usuarios de los distintos elementos en la
plataforma. La idea general de las visualizaciones, como se puede ver en la figura anterior, es la de
mostrar en cada medida dos barras, una barra que haga referencia al usuario y otra que haga
referencia al valor medio de la clase en dicho parámetro. Esto posibilita el darse cuenta si ese
usuario destaca o está por debajo de la clase en dicho parámetro. La mayoría de las medidas están
dadas de 0 a 100 en forma de porcentaje, el mantener el formato de esta forma facilita la
compresión de las medidas, aunque hay en algunas que ha sido poco conveniente el mostrarlas en
forma de porcentaje, por lo que no se ha hecho.
Analizando los usuarios de forma individual se puede saber cuál es su utilización de la plataforma, el
progreso que han hecho u otros parámetros de diversa índole. Esto puede ayudar al profesor a
realizar un seguimiento más personalizado para hacer recomendaciones, evitar que alumnos no
consigan completar el curso de forma satisfactorio o conocer mejor el tipo de persona con la que
está tratando y que forma de enseñanza pudiera ser más eficiente.
Apéndice 1. Manual de usuario.
121
Otra de las visualizaciones disponibles son las de tipo de barra acumulada. Se puede ver un ejemplo
en el bloque de medidas de Distribución del Tiempo de Uso de la Plataforma, en la medida para ver el uso
temporal por intervalos. Se ve dicha gráfica en la figura 92.
Figura 92. Visualización de la Distribución Temporal del Uso en la Plataforma en ALAS-KA.
La idea en esta visualización es que la barra completa represente el 100% del tiempo y sea rellenada
por los distintos periodos de tiempo en los que ha trabajado. Por lo tanto el intervalo proporcional
del total de la barra relleno por los diferentes colores (mañana, tarde y noche) representará el
porcentaje de tiempo que dicho usuario ha trabajado en dicho intervalo. La barra inferior mostraría
la misma idea, pero sobre el tiempo total de todos los usuarios de la plataforma, de esta forma
también se puede comparar si el usuario en cuestión trabaja más que la media del resto de la clase
en cada intervalo.
Figura 93. Ejemplo de visualización de los Hábitos Resolviendo Ejercicios en ALAS-KA.
En la figura 93 se incluyen las gráficas de barras y la tabla con la descripción de dicho alumno.
Dicha tabla sirve como un soporte adicional a las visualizaciones realizando una descripción verbal
Apéndice 1. Manual de usuario.
122
de cuáles son los resultados de cada parámetro para dicho usuario. Por cada uno de los parámetros
se definen unos umbrales mediante los cuales se agrupan los usuarios en 5 grupos y en base a
dichos grupos se realiza la descripción que parece en las tablas posteriormente. Estos umbrales son
también los mismos que se usan posteriormente para las visualizaciones de clase.
VISUALIZACIONES DE CLASE:
Para acceder a las visualizaciones de clase tan sólo hay que acceder a la pestaña class en el menú de
ALAS-KA. Lo cual llevará a una pantalla de funcionamiento similar a la de user, pero en la que sólo
hay una caja de selección denominada “Type of measure”, ya que las visualizaciones son de la clase
completa y no se puede cambiar entre los diferentes estudiantes. En la figura 94 se puede ver un
ejemplo de las gráficas de clase del grupo de medidas Progreso Correcto en la Plataforma.
Figura 94. Ejemplo de visualización de clase de Progreso Correcto en la Plataforma en ALAS-KA.
Como se puede ver en cada una de los parámetros se ofrecen 5 grupos para cada uno de los
parámetros. Los umbrales de cada uno de estos intervalos son comunes con las tablas de
descripción verbal en la pestaña user de visualizaciones individuales. Este tipo de gráficas pueden
ayudar a obtener una idea de la clase de forma general, por ejemplo de una simple ojeada se podría
ver qué porcentaje de la clase ha hecho un gran avance en vídeos o ejercicios, para saber cuál es el
avance medio de la clase. También hay otras visualizaciones de clase que son algo diferentes, se
puede ver un par de ejemplos en la siguiente figura.
Figura 95. Visualizaciones de clase de distribución temporal y uso de elementos opcionales en ALAS-KA.
En la figura 95 se pueden ver dos visualizaciones de distintos bloques de medidas. En la primera, se
pone el porcentaje de la cantidad de usuarios que se puede asignar a cada uno de los intervalos
Apéndice 1. Manual de usuario.
123
temporales (mañana, tarde y noche) que se han asignado en ALAS-KA, y para los usuarios que no
son clasificables en ninguno de ellos, se asignan como que no tienen un perfil de horario claramente
definido. En ese tipo de medidas no se agrupan de la misma forma que en las otras, sino que se
clasifica en cuál de las distintas posibilidades dentro de la medida corresponderían los usuarios. En
la visualización que aparece también en la figura 95 sobre el uso de elementos opcionales, ocurre
algo similar, sólo se cuenta el porcentaje de usuarios que los han usado o no, no la cantidad de us
124
APENDICE 2.
MANUAL DE INSTALACIÓN
En este apéndice se recogen los pasos para realizar la instalación e integración del código de ALAS-
KA con el de Khan Academy
ELEMENTOS COMUNES E INDEPENDIENTES:
En este punto se comentan cuáles son los elementos comunes entre ALAS-KA y Khan Academy
que hay que unificar y cuales son independientes el uno del otro.
Elementos independientes:
o La carpeta static_viewer, contiene los ficheros estáticos de ALAS-KA, entre ellos las
imágenes necesarias y las hojas de estilo CSS.
o Paquete viewer_code, contiene todo el código perteneciente a ALAS-KA de manera
qué es mucho más sencillo ya que todo está aglutinado en un solo paquete
Elementos comunes que hay que unificar entre ALAS-KA y Khan Academy:
o El fichero main.py dónde está el mapping de las diferentes URL.
o Fichero app.yaml de configuración de la aplicación .
o Fichero cron.yaml de configuración de tareas cron job.
o Fichero queue.yaml de configuración de queues.
PROCESO DE INSTALACIÓN DE ALAS-KA:
1. UNIFICACIÓN DEL CÓDIGO
En primer lugar hay que unificar el código generado para ALAS-KA con el ya existente de Khan
Academy. Eso implica que hay que copiar los elementos independientes a la raíz de Khan Academy
y unificar los que son comunes añadiendo el código de ALAS-KA a los ficheros ya existentes de
Khan Academy:
Se introducen la carpeta static_viewer y el paquete viewer_code en la carpeta raíz de Khan
Academy
En el fichero main.py hay que añadir el mapping de las URL a las clases nuevas que hacen
referencia en ALAS-KA. También añadir los import de dichas clases nuevas. Por esto se
entiende que cuando llegue al sistema una petición get a dicha URL tendrá que redirigirla a
las nuevas clases de ALAS-KA debidas que antes no estaban en Khan Academy.
En el fichero app.yaml que es el archivo de configuración de la aplicación hay que realizar
varias modificaciones. En primer lugar hay que habilitar la consola interactiva mediante el
código necesario, esto ha sido ya explicado en la sección de Pruebas Realizadas en ALAS-
KA. La segunda acción es incluir la librería el código para habilitar la librería de Numpy en
Apéndice 2. Manual de instalación.
125
su versión “1.6.1”. Por último incluir el mapping del static dir para acceso a los recursos
estáticos ubicados en la carpeta static_viewer.
Introducir en el fichero cron.yaml las 6 tareas cron job desarrolladas para ALAS-KA sin
modificar las existentes de Khan Academy.
Introducir en el fichero queue.yaml las 6 queues desarrolladas para ALAS-KA sin modificar
las existentes de Khan Academy.
En definitiva aunque todo este listado de modificaciones pueda parecer tedioso, de forma resumida
lo único que hay que hacer es copiar todo el código generado para ALAS-KA en los archivos de
Khan Academy sin sobrescribir ni modificar el código original.
2. ADAPTACIÓN DEL CÓDIGO AL CURSO
Debido a que cada curso está compuesto por unos ejercicios y vídeos diferentes, así como su fecha
de inicio, hay algunos detalles que hay que adaptar.
Ya que los cursos tienen diferentes fechas de inicio, hay que adaptar la medida de la media
y varianza (para calcular la constancia del alumno) poniendo el día de la fecha de inicio del
curso. Para ello hay que modificar en el viewer_code/viewer_cron/time_distribution.py dentro de
la función constancy_meanvar(self, usuario) la variable startDate a la fecha de inicio del
curso.
Los nombres de los ejercicios y las youtube_id de los vídeos también cambia por lo que hay
que hacer esta adaptación también. En el fichero del script de carga de ejercicios y vídeos
denominado scripts/exercise_videos_script.py escribir en la variable listaEjercicios los nombres de
todos los ejercicios pertenecientes a dicho curso. De la misma forma en la variable
listaVideos escribir las youtube_id de los vídeos del curso.
También sería posible añadir un enlace a ALAS-KA en la pantalla inicial de Khan Academy
que llevara a los usuarios de forma más sencilla a la pantalla inicial que está ubicada en
http://(yourappid).appspot.com/menu_viewer.
3. EJECUCIÓN DE SCRIPTS Y ASIGNACIÓN DE PERMISOS
En este paso habría que ejecutar los script necesarios para que se generen las entidades de ALAS-
KA ViewerUser, ViewerExercise y ViewerVideo.
En primer lugar hay que acceder a la consola interactiva, de la misma forma que se ha
explicado en la sección de pruebas. La URL donde estará ubicada es
http://(yourappid).appspot.com/admin/interactive.
Se puede ejecutar el script para cargar los ejercicios y videos, como se ha dicho antes
ubicado en scripts/exercise_videos_script.py sólo habría que copiar el contenido y ejecutarlo en
la consola interactiva. Este script cargará los vídeos y ejercicios de las entidades Exercise y
Video de Khan Academy necesarios para el curso, a las entidades de ALAS-KA
ViewerExercise y ViewerVideo
De la misma forma para cargar los usuarios existentes de la entidad UserData de Khan
Academy a la entidad ViewerUser de ALAS-KA, se ejecuta el script situado en
scripts/script_load_users.py.
Ahora es necesario adjudicar los diferentes permisos, uno de los puntos de trabajo futuro
es realizar una interfaz para la administración de los diferentes permisos de los diferentes
usuarios de ALAS-KA. Debido a que en la actualidad todavía no se encuentra disponible,
hay que modificar estos permisos a mano desde la interfaz del Datastore. Por lo tanto
Apéndice 2. Manual de instalación.
126
desde la interfaz de administración de Google App Engine, en la pestaña del Datastore
Viewer (se explicó su acceso en la sección de Validación y Verificación). Se accede a la
entidad de ViewerUser y se tiene que ir usuario en usuario asignando los permisos. Para los
profesores, hay que poner la propiedad professor = True, de forma similar para los alumnos
habrá que poner la propiedad student = True. En caso de que ese usuario no tenga permisos
y no deba acceder a las visualizaciones, habrá que dejar ambas propiedades a False.
4. VALIDACIÓN DEL FUNCIONAMIENTO CORRECTO
Para validar el funcionamiento correcto de la instalación de ALAS-KA se puede consultar la sección
de Validación y verificación.
127
REFERENCIAS
[1]. Informes de IBM sobre Big Data - http://www-01.ibm.com/software/data/bigdata/
[2]. Baepler, P. Murdoch, C. J. Academic Analytics and Data Mining in Higher Education.
International Journal for the Scholarship of Teaching and Learning Volume 4, Number 2, July 2010.
[3]. Drachsler, H. Greller, W. The pulse of learning analytics understandings and expectations
from the stakeholders. In LAK12 – Vancouver, British Columbia, Canada 29 April – 2 May
2012.
[4]. Informe sobre detección de crimen mediante Big Data -
http://londoncalling.co/2013/04/using-big-data-to-fight-crime-and-predict-what-
products-consumers-might-purchase-in-the-future/
[5]. 1st International Conference on Learning Analytics and Knowledge 2011 -
https://tekri.athabascau.ca/analytics/about
[6]. George Siemens and Phil Long. Penetrating the Fog: Analytics in Learning and Education.
EDUCAUSE Review Volume 46, Number 5, September/October 2011
[7]. Siemens, G. Baker, R. Learning analytics and educational data mining: towards
communication and collaboration. Proceedings of the 2nd International Conference on Learning
Analytics and Knowledge, Pages 252-254 .
[8]. Campbell, J.P. and Oblinger, D.G. 2007. Academic Analytics. EDUCAUSE Quarterly.
October (2007).
[9]. Clow, D. The learning analytics cycle: closing the loop effectively. Proceedings of the 2nd
International Conference on Learning Analytics and Knowledge. Pages 134-138.
[10]. Documentación en Wikipedia de RDF -
http://en.wikipedia.org/wiki/Resource_Description_Framework
[11]. M. Wolpers, J. Najjar, K. Verbert, and E. Duval. Tracking actual usage: the attention
metadata approach. Educ. Technol. Soc., 10(3):106–121, 2007.
[12]. P. J. Muñoz-Merino, M. Wolpers, K. Niemann, M. Friedrich, A. Pardo, C. Delgado Kloos,
and M. Muñoz-Organero. CAM in the semantic web world. In I-SEMANTICS ’10
Conference Proceedings, 2010.
[13]. V. Aleven, B. M. McLaren, O. Roll, and K. Koedinger. Toward tutoring help seeking;
Applying cognitive modeling to meta-cognitive skills. In ITS-2004 Conference Proceedings,
pages 227-239, 2004.
[14]. Feng, M. Hefferman, N. T. Koedinger, K. R. Predicting state test scores better with
intelligent tutoring systems: developing metrics to measure assistance required. Proceedings of
the 8th international conference on Intelligent Tutoring Systems. Pages 31-40.
[15]. Santos, J. L. Verbert, K. Govaerts, S. Duval, E. Visualizing PLE Usage. Proceedings of
EFEPLE11 1st Workshop on Exploring the Fitness and Evolvability of Personal Learning
Environments. Pages 34-38.
[16]. Schmitz, H., Schefel, M., Friedrich, M., Jahn, M., Niemann, K., Wolpers, M. CAMera for
PLE. Proceedings of the 4th European Conference on Technology Enhanced Learning: Learning in the
Synergy of Multiple Disciplines. 507-520.
Referencias.
128
[17]. Duval, E. Santos, J. L. Verbert, K. Govaerts S. Goal-oriented visualizations of activity
tracking: a case study with engineering students. LAK 12 Proceedings of the 2nd International
Conference on Learning Analytics and Knowledge. Pages 143-152.
[18]. Mazza, R. Dimitrova, V. Visualising Student Tracking Data to Support Instructors in Web-
Based Distance Education. Proceedings of the 13th international World Wide Web conference on
Alternate track papers & posters. Pages 154-161.
[19]. WebCT. World Wide Web course tool. WebCT educational technologies, Vancouver,
Canada. http://www.webct.com.
[20]. Zhang, H. Almeroth, K. Knight, A. Bulger, M. Mayer, R. Moodog: Tracking Students’
Online Learning Activities. Journal of Interactive Learning Research, 21(3). Pages 407-429.
[21]. Course Management System (CMS) Moodle - https://moodle.org/
[22]. Estadísticas de uso de Moodle - https://moodle.org/stats/
[23]. Tang, T. & McCalla, G. (2005). Smart Recommendation for an Evolving E-Learning
System: Architecture and Experiment. International Journal on E-Learning, 4(1), Pages 105-
129. 2013.
[24]. Chen, Q. Persen, R. A recommender system for collaborative knowledge. Proceedings of the
2009 conference on Artificial Intelligence in Education. Pages 309-316.
[25]. O. Santos and J. Boticario. Users experience with a recommender system in an open source
standard-based learning management system. In Andreas Holzinger, editor, HCI and
Usability for Education and Work, volume 5298 of Lecture Notes in Computer Science, pages
185–204. 2008.
[26]. Plataforma e-learning .LRN - http://www.dotlrn.org/
[27]. Organización Khan Academy - https://www.khanacademy.org
[28]. Proyecto Google Course Builder - https://code.google.com/p/course-builder/
[29]. Información relativa para la creación de ejercicios compatibles con Khan Academy -
https://github.com/Khan/khan-exercises
[30]. Página de Wikipedia sobre gamificación -
http://es.wikipedia.org/wiki/Gamificaci%C3%B3n
[31]. Lenguaje de programación Python versión 2.7 -
http://www.python.org/download/releases/2.7/
[32]. Entorno de trabajo webapp2 - http://webapp-improved.appspot.com/
[33]. Lengua para plantillas Jinga2 - http://jinja.pocoo.org/docs/
[34]. API matemática Numpy para Python - http://www.numpy.org/
[35]. API para representaciones matemáticas Matplotlib para Python - http://matplotlib.org/
[36]. Documentación general sobre Google App Engine -
https://developers.google.com/appengine/docs/python/overview?hl=es
[37]. Documentación sobre la App Engine Datastore -
https://developers.google.com/appengine/docs/python/datastore/
[38]. Documentación sobre la API de visualizaciones Google Charts -
https://developers.google.com/chart/interactive/docs/index?hl=es
[39]. API de visualizaciones Highcharts - http://www.highcharts.com/
[40]. Documentación sobre el App Engine Cron Service -
https://developers.google.com/appengine/docs/go/config/cron
[41]. Documentación sobre la API Task Queue
https://developers.google.com/appengine/docs/java/taskqueue/
[42]. IDE utilizada para el desarrollo Eclipse - http://www.eclipse.org
[43]. Plug-in para el desarrollo en Eclipse de proyectos Google App Engine -
https://developers.google.com/appengine/docs/java/tools/eclipse?hl=en
[44]. Plug-in para el desarrollo de proyectos Python en Eclipse PyDev - http://pydev.org
Referencias.
129
[45]. Documentación sobre el servidor de desarrollo dev_appserver de App Engine
https://developers.google.com/appengine/docs/python/tools/devserver?hl=en
[46]. Documentación sobre diagramas de barras en Google Charts -
https://developers.google.com/chart/interactive/docs/gallery/barchart
[47]. Documentación sobre diagramas de tartas en Google Charts -
https://developers.google.com/chart/interactive/docs/gallery/piechart
[48]. Error documentado del servidor de desarrollo de App Engine -
https://code.google.com/p/googleappengine/issues/detail?id=9008
[49]. Documentación sobre la librería logging de Python -
http://docs.python.org/release/2.5/lib/module-logging.html
[50]. Portal de entrada a Google App Engine - https://appengine.google.com
[51]. Documentación del servicio Memcache en App Engine -
https://developers.google.com/appengine/docs/python/memcache/?csw=1
[52]. Documentación de cursores Cursor Class en App Engine -
https://developers.google.com/appengine/docs/python/search/cursorclass
[53]. Software de hojas de cálculo Microsoft Excel - http://office.microsoft.com/es-es/excel/
[54]. Software para análisis predictivo SPSS -
http://www01.ibm.com/software/es/analytics/spss/
[55]. Muñoz-Merino, P. J. Ruipérez, J. A. Delgado, C. Inferring higher level learning information
from low level data for the Khan Academy platform. Proceeding LAK '13 Proceedings of the
Third International Conference on Learning Analytics and Knowledge. Pages 112-116.
[56]. Ruipérez, J. A. Muñoz-Merino, P. Delgado, C. An architecture for extending the learning
analytics support in the Khan Academy framework. Proceedings First International Conference in
Technological Ecosystems for Enhancing Multiculturality 2013.
[57]. Portal de laboratorio de e-learning Gradient - http://gradient.it.uc3m.es/research/
[58]. IV Jornadas de e-learning del proyecto eMadrid - http://www.emadridnet.org/iv-jornadas-
emadrid-sobre-e-learning
[59]. Demo herramientas de la Universidad Carlos III de Madrid - http://vimeo.com/68842988
[60]. Plataforma de MOOCs edX - https://www.edx.org