Este modelo se hace posible gracias a las funciones de secuenciamiento y datos rastreables que brinda SCORM 2004, las cuales permiten que las funciones de lazos internos y externos interactúen adecuadamente. Los datos rastreables son una base de datos estandarizada para fines de aprendizaje, en la cual se almacena el modelo del estudiante a partir de la suficiencia del estudiante en las habilidades. El secuenciamiento se define como la selección de las tareas a partir de la información en los datos rastreables.
Un tutor molecular (MT) es un ITS completo para un tema específico, que selecciona las actividades (tareas simples, ejercicios, etc.) según reglas sobre el modelo del estudiante, actividades estas que son realizadas por cada tutor atómico (AT), los cuales representan los diferentes pasos en la solución de un problema y tienen la capacidad de actualizar el modelo del estudiante.
Arquitectura del AT: tutores rastreadores de ejemplos
Desde el punto de vista de arquitectura, cada tutor atómico (AT) es un sistema completo de tutoría inteligente para una tarea o problema específico: tiene su propio modelo pedagógico, modelo de dominio (experto) y todo lo necesario para su ejecución dentro de un mismo LO (representaciones de procedimientos correctos e incorrectos, widgets gráficos, realimentación sobre errores específicos, recomendación de pasos correctos). Por ello su estructura es la de un tutor rastreador de ejemplos - Example Tracing Tutor, (Aleven, V.; et al., 2009). En este sentido, dado que la funcionalidad del tutor y el experto se deben codificar dentro del LO (independientemente de que sus códigos estén separados o integrados dentro del LO), es aconsejable realizar un análisis de tareas cognitivas (CTA) antes de implementar el ITS para especificar el correcto funcionamiento del tutor atómico.
Arquitectura del MT
Dado que un MT debe agregar ATs y seleccionar tareas, su arquitectura difiere de la de los AT, principalmente porque no posee una Interfaz de Usuario debido a que los MT no interactúan necesariamente con los estudiantes (a lo sumo mostrando una tabla de contenido de ATs de modulo o curso). Los MT deben tener un conjunto de reglas para buscar en el modelo del estudiante y seleccionar la actividad (AT) más adecuada. Estas son consultadas al inicio de un curso o módulo, y al término de toda actividad. El MT tiene codificado su propio modelo del tutor y del experto en dicho conjunto de reglas. De manera similar a los modelos de AT, este conjunto de reglas se debe diseñar a partir de un análisis CTA.
Para implementar los AT se utilizan tecnologías Web estándar como es requerido por SCORM: HTML y CCS para la Interfaz, y JavaScript para todo procesamiento de información.
En la Tabla 2-4 se aprecian fragmentos de código XHTML y JavaScript que ejemplifican la implementación de los lazos internos y externos del tutor inteligente y orientan sobre cómo se configura la arquitectura de los AT y MT a partir de estándares de programación Web.
Tabla 2-4: Ejemplos de código Web para lazos internos y externos de ITS sobre ángulos entre líneas, adaptado de (Soares, G; et al., 2013).
Propósito Código Ejemplo
Fragmento de código XHTML de la Interfaz: solución paso a paso de problema.
...<span id="q1_wording">- 1) Angle 1 and 5 are?</span> <select id="question_1" onchange="question_1_rules ()"> <option selected>---< /option>
<option>Alternate Interior Angles</option>... <option>Corresponding Angles</option> </select>
<span id="q1_img"></span>...
<span id="tutorStatus" class="bolddText">Go ahead and start solving the problem!</span>...
Función question_1_rules, invocada por la interfaz, evalúa el paso dado por estudiante, da
realimentación y actualiza el modelo (base de datos)
function question_1_rules(){
var grade = -1; // Correct answer
if(document.getElementById("qu estion_1" ).options[
document.getElementById ("question_1").s electedIndex].value == "Corresponding Angles") {
document.getElementById("question_1" ).disabled = true; document.getElementById("q1 _img").innerHTML = '<img src="check.gif " alt="This is correct!" />';
document.getElementById("tutor Status").innerHTML = "This is correct!";
grade = updateSkill(skill_1, 0.2); } else{ // Incorrect answer question_1_buggy_answer (); grade = updateSkill(skill_1, -0.1); }
myJsProgressBarHandler.setPerc entage(skill_1 + '_bar', Math.round(grade*100).to String());
} Función UpdateSkill:
actualiza indicador en pantalla y modelo de
function updateSkill(scormOb jective, value) { var objectiveID = findObjective(scormObjective); var newGrade = getGrade(objectiveID);
Propósito Código Ejemplo
estudiante en base de datos mediante SCORM
Objectives, en Run Time
newGrade = newGrade + value; if(newGrade >= 1){
newGrade = 1;
doSetValue("cmi.objectives." + objectiveID + ".success_status", "passed");
} else if(newGrade < 0) newGrade = 0; doSetValue("c mi.objectives." + objectiveID + ".score.scaled",
(Math.round(newGrade*100)/100).toString()); doCommit();
return newGrade; }
Fragmento de código del lazo externo (MT), SCO que recupera Objectives de la base de datos del estudiante
... var indexOfIdentifyObjective1=findObjective("Identify Cor- responding Angles");
grade1 = getGrade(indexOfIdentifyObjective1);
var indexOfIdentifyObjective2=findObjective("Calculate Cor- responding Angles");
grade2 = getGrade(indexOfIdentifyObjective2);
var indexOfIdentifyObjective3=findObjective("Identify Ver- tical Angles");
grade3 = getGrade(indexOfIdentifyObjective3);
var indexOfIdentifyObjective4=findObjective("Calculate Ver- tical Angles");
grade4 = getGrade(indexOfIdentifyObjective4); ... Fragmento de código del
lazo externo con reglas para selección de tareas.
… if ( (grade1 < X && grade2 < Y) || (grade1 < Z) || (grade2 < W) ){ selectActivity(“activity1”);
} else if ( (grade3 < X && grade4 < Y) || (grade3 < Z) || (grade4 < W) ){ selectActivity(“activity2”);
} else if ( (grade1 < A) || (grade2 < A) ){ selectActivity(“activity3”);
} else if ( (grade3 < A) || (grade4 < B) ){ selectActivity(“activity4”); }...
En este ejemplo, una respuesta acertada del estudiante, seleccionada de la lista de opciones, aumenta el desempeño en la habilidad respectiva de la pregunta en 20%, y una incorrecta lo disminuye en 10%. El tutor puede brindar ayuda antes de responder mediante el botón Hint, en este caso la habilidad disminuye en 5%. Pero al reintentar y responder correctamente la habilidad vuelve a aumentar. En caso de error se podría
llamar a más funciones que brinden retroalimentación específica al tipo de error cometido.
La actualización del modelo del estudiante utiliza los Objectives, variables especiales del rastreo de datos de SCORM que permiten almacenar y recuperar información sobre el desempeño del estudiante y que se manipulan mediante la API SCORM RTE.
Formalmente los servicios de lazo interno del tutor se especifican mediante un lenguaje de IA basado en reglas, como LISP o PROLOG, sin embargo, luego de un CTA, la funcionalidad del tutor AT se puede implementar a partir de la estructura funcional de JavaScript, con el fin de mantener el código dentro de los requerimientos Web estándar de SCORM.
Cada vez que es necesario seleccionar una actividad el MT invoca un SCO que ejecuta las reglas y asigna un valor booleano a un Objective primario de cada función para determinar si se ejecuta o se omite. Esto se hace en cada ejecución del lazo externo. SCORM posee algoritmos internos adecuados para implementar el lazo externo, sin embargo la personalización de la navegación es un proceso complicado, ya que se deben conocer bien las actividades disponibles y la manera de alternarlas, así como el desempeño del estudiante en el modelo de rastreo (base de datos) para seleccionar la actividad más conveniente para cada estudiante.
Cuando se deseen ensamblar ITS a partir de tutores de diversos orígenes, se debe tener precaución cuando estos diagnostican y actualizan las mismas habilidades del estudiante, para que no se interfieran mutuamente durante su proceso de actualización.
El trabajo de Soares y Jorge (2013) constituye un aporte importante en el campo de los ITS interoperables, abiertos y gestionables como OER tipo SCORM 2004 cuarta edición. Sin embargo la descripción de su trabajo detalla los aspectos técnicos de la implementación según estándar SCORM, sin realizar ningún aporte particular a los modelos pedagógico, experto y de estudiante, los cuales son abordados de una manera peligrosamente simple en aras de representar su funcionalidad no formal pero eminentemente práctica con tecnología Web que aunque estandarizada, no necesariamente es la más eficiente ni persistente ni representativa en el estudio e
investigación de los procesos psicológicos y cognitivos del aprendizaje. Su enfoque aunque claro y eficiente, no es fácilmente adaptable a las necesidades particulares de instrucción debido a la carencia de una herramienta de autoría que aparte al tutor y al experto de codificar directamente en XHTML, CCS y JavaScript, bajo el supuesto de un conocimiento profundo de SCORM 2004, particularmente de sus componentes RTE y N- S, y máxime cuando la persistencia de este longevo estándar está hoy amenazada con la aparición de estándares más modernos como xAPI y CMI-5.
En todo caso, su plantilla SCORM 1.3 de ITS puede ser utilizada con éxito por desarrolladores avanzados de contenidos para e-learning, expertos en programación Web, para implementar fácilmente la AI de ITS interoperables sobre LMS estandarizados, sin necesidad de dependencias externas (bases de datos ni frameworks adicionales como Tomcat para JAVA) lo cual es un gran alivio para la portabilidad y reutilización de los desarrollos.
Ontologías
y
Mapas
Conceptuales
en
el
2.5
modelamiento de ITS
Aunque en principio existe una correlación entre la representación visual de una red jerarquizada de conceptos de un mapa conceptual y la de una ontología, la transcripción de un esquema a otro no es directa ni trivial, principalmente porque los enlaces de conceptos en los cmaps no están categorizados como lo están en las ontologías, entre otras diferencias. En cuanto a los mapas mentales la migración es aún más incompleta.
Con el fin de adaptar la cantidad creciente de información distribuida disponible en la web al perfil y necesidades de los usuarios, los sistemas inteligentes y adaptativos deben estar al tanto de la información que contienen dichos recursos distribuidos para poderlos recuperar y asignar adecuadamente a los usuarios, sin intervención humana en este proceso de búsqueda y selección. Es evidente que los sistemas inteligentes (agentes) deben poder acceder a descripciones concisas de la información contenida en los diversos recursos para poder aplicar las reglas y criterios de selección y esto es justamente lo que ofrece una descripción semántica estandarizada (ontología OWL) de los recursos: una metainformación sobre la información de un recurso web y su estructura en un formato inteligible para las máquinas (RDF).
Las ontologías son componentes básicos de la tecnología Web Semántica y se definen como una gráfica o estructura tipo red que consiste en un conjunto de conceptos (vértices en la gráfica), relaciones entre conceptos (flechas dirigidas en la gráfica) e instancias asignadas a un concepto particular (registros de datos asignados a los vértices de la gráfica). Ocasionalmente las clases y los conceptos se utilizan para representar lo mismo en una ontología. El consorcio W3C recomienda utilizar RDF y OWL para la creación de ontologías.
En la Figura 2-9 se puede apreciar un ejemplo de ontología con diferentes tipos de documentos en un dominio educativo (Sarker, et al., 2008). La ontología define el concepto de Material Educativo. El tipo de documento más general Material Educativo puede ser considerado como una clase. En este modelo esta clase tiene definidos dos tipos o sub-clases: Material de Curso y Material de Examen. A su vez el Examen consiste de tareas de examen y los materiales de curso se pueden especializar en Clase, Ejemplo, Nota de Clase, Curso, Ejercicio y Asignación de Proyecto. La relación entre dos clases se describe como subTypeOf en la Figura 2-9, aunque puede describirse de otras formas como isaPartOf/isaSubclassOff mientras sea más conveniente y significativo, y esta relación puede ser representada en la forma de Sujeto-Predicado-Objeto (una proposición en lógica matemática clásica). No debe olvidarse que el idioma estándar propuesto para las descripciones en la Web Semántica es el inglés y por ejemplo se puede decir “Course Material is a subtype of Educational Material”.
Otro ejemplo adecuado es la ontología que describe el perfil de un aprendiz en la Figura 2-10, la cual se basa en la categoría Performance de IEEE Personal and Private Information (PAPI). El Performance (desempeño) se basa en experiencias de aprendizaje learningExperienceIdentifier, que se extrae de algún documento particular. La experiencia implica un Concept aprendido de la experiencia, el cual es respaldado por la propiedad learningCompetency. El desempeño es respaldado por un Certificate, que es expedido por alguna Institution. El Performance tiene cierto PerformanceValue, el cual en este contexto se define como un número de punto flotante en el rango de 0 a 1.
Figura 2-9: Ontología para tipos de documentos educativos (Sarker, et al. 2008)
Figura 2-10: Ontología para el desempeño del aprendiz, Learner Performance (Sarker, et al. 2008).
Como se puede apreciar la representación gráfica de las ontologías es conveniente para los usuarios humanos, pero es claro que los usuarios finales de las ontologías son las máquinas y por lo tanto incluso esta representación visual no está exenta de cierta familiaridad con la codificación o programación que es la forma final útil de la ontología.
Una ontología debe definir un vocabulario común para la gestión del conocimiento por parte de los usuarios humanos que requieren compartir información sobre el dominio. Incluye definiciones interpretables y comprensibles para la máquina, sobre conceptos básicos del dominio y sus relaciones. Las principales razones para desarrollar una ontología se pueden resumir en (Sarker, 2008): compartir estructura de información, reutilizar conocimiento, explicitar suposiciones, separar conocimiento de dominio y conocimiento operativo, analizar conocimiento, interoperabilidad entre dominios, escalabilidad de nuevos conocimientos y buscar o inferir un conocimiento en un dominio.
En el caso del diseño de ITS, las ontologías constituyen herramientas perfectas para la interoperabilidad y estandarización en el contexto de la Web Semántica. Prácticamente todos los modelos de sus componentes se beneficiarían de una definición e implementación ontológica, particularmente si el ITS considera el uso de sistemas multi agente para implementar su funcionalidad. Un ejemplo de una propuesta basada en ontología para diseñar un modelo difuso de estudiante para ITS se puede apreciar en Sani (et al., 2014). Las técnicas difusas permiten manejar la incertidumbre en parámetros, reglas y comportamientos de los modelos.
2.5.1 Protégé
Protégé (Standford University) es una de varias herramientas libres, expandibles, pero tal vez la más popular actualmente, para la creación y edición de ontologías e infraestructuras basadas en conocimiento. Al usar Protégé las ontologías pueden ser implementadas usando el lenguaje scripting RDF/OWL (incluyendo las versiones OWL Full, DL y Light), o también a través de su entorno plug-and-play basado en JAVA, que permite una vista tabulada que separa clases de subclases, clases de propiedades, clases de individuos, etc., y visualizar las características y relaciones atribuibles a cada objeto. Los archivos pueden exportarse en formato CLIPS, OWL, N-Triple y TURTLE.
A pesar de que su uso es sencillo, se requiere conocimiento fundamental sobre ontologías y tipos de objetos y relaciones definidas en ellas, sin lo cual se estaría completamente perdido dentro de la herramienta. Sin embargo existen muchos sitios con plantillas predefinidas y tutoriales que ayudan a dominar el tema en corto tiempo.
Protégé, desarrollada en JAVA, tiene dos tipos de versiones, en línea y escritorio. Al momento la última versión disponible es la 5.0 beta. En la Figura 2.11 se puede apreciar el aspecto de su interfaz en la versión para escritorio.
OwlViz es una de varias extensiones Protégé que permiten visualizar (más no crear) una ontología como un mapa conceptual. El nivel de visualización o grado de profundidad es personalizable. OntoViz y Techquila son extensiones similares pero menos eficientes.
Figura 2-11: Interfaz Protégé 5.0 Beta escritorio (en: protegewiki.standford.edu/wiki/)
2.5.2 CmapTools Ontology Editor (COE)
CmapTools (Cañas, A. et al.; 2001-2015) es una herramienta madura, diseñada en JAVA en el IHMC (Institute for Human and Machine Cognition) en la Universidad del Sur de la Florida, que permite elaborar y criticar colaborativamente modelos de conocimiento representados como mapas conceptuales interactivos, multimedia y exportar a diversos formatos de intercambio (como imágenes, páginas Web, etc.). Una aplicación derivada
denominada COE fue desarrollada recientemente y permite a los usuarios familiarizados con CmapTools crear ontologías en forma de mapas conceptuales. Los servidores de CMap además permiten a grupos de usuarios colaborar en línea y realimentarse mutuamente.
COE permite importar varios tipos de documentos XML y de texto y exportar ontologías en formatos OWL, N-Triple y Turtle. Brinda validación y sugerencias de conceptos. Es una herramienta primaria para mapas conceptuales con características ontológicas. Posee una interfaz gráfica drag and drop. La integración con Protégé tiene algunas dificultades, por ejemplo la disyunción entre dos clases no es traducida cuando es exportada a OWL. Sin embargo es una herramienta fácil de manejar e instalar y no requiere conocimientos en programación. Tiene una versión en línea con algunas limitaciones de operación en este momento. En la Figura 2-13 se aprecia una ontología de la duración de una batería en un sensor inalámbrico, elaborada en COE.
Figura 2-12: Ontología COE sobre duración de batería de un sensor inalámbrico de
Implementación de un curso inteligente
3.
interdisciplinar en el dominio de las Redes
de Sensores Inalámbricos (WSN)
Este capítulo indica de una manera concreta las herramientas y el proceso de instalación de los diversos componentes que permiten implementar funcionalidad de ITS interdisciplinar sobre una instalación de MOODLE LMS y demás herramientas Web y de escritorio, requeridas para el diseño de los materiales y la estructura del curso. Muchas de las técnicas y prácticas aquí sugeridas son el fruto de muchos años de experiencia práctica en la generación de recursos y actividades para e-learning con LMS MOODLE.
Infraestructura
3.1
En la Tabla 3-1 se resumen las aplicaciones necesarias para la implementación de ITS en LMS MOODLE. Aquí se describe el entorno local de las instalaciones (para PC). Debe notarse que una instalación de producción no se obtiene simplemente copiando los directorios de una instalación local a sus respectivos directorios en un servidor (suponiendo instalación sobre el mismo OS), ya que una instalación local no requiere ni implementa funciones de seguridad Web que son obligatorias en un servidor de producción expuesto al público. El sistema operativo sobre el cual se realizan las pruebas locales de esta instalación incidentalmente es MAC OSX (tres versiones, Lion, Mountain Lion y Yosemite) pero en principio el comportamiento debería ser el mismo para Windows (XP o posterior) y para LINUX (cualquier distro, aunque la recomendada para instalaciones web locales es Debian y para producción OpenSUSE).
En ejecución local se recomienda un procesador de más de 1.GHz, 2 GB RAM y todas las herramientas instaladas requieren algo menos de 1GB de espacio en disco. En producción se recomienda ancho de banda de 256 kbps por usuario en línea para streaming y la mayor cantidad de RAM, velocidad y disco duro posible.
Tabla 3-1: Requerimientos de infraestructura para sistema ITS propuesto
Aplicación Observaciones
MOODLE LMS 2.3 (local y producción)
Local: localhost:8888/moodle Producción, acceso desde:
(http://comunidad.udistrital.edu.co/fzamora/2015/12/05/proyecto- de-investigacion-en-sistema-web-de-tutoria-inteligente/) OS Local: Verificado en OSx Lion, Mountain Lion, Yosemite
Remoto: OpenSUSE
Servicios instalados Local: MAMP 2.0.1 (de paquete MOODLE + MAMP), Tomcat Remoto: Apache, MySQL, PHP, Tomcat
Extensiones MOODLE 2.3 (relativas a ITS)
DASIS pack: Navigation Web, Learner Preferences, Learner
Adaptation
Adaptive Quiz (ITR-CAT) Lesson Objectives Lesson (Nativa)
Extensiones MOODLE 2.3
Otras
WordTable ( Questions managing in MS-Word) STACK set (preguntas especiales CAS, Maxima) LTI extensions
(Ver lista completa de extensiones en Admin extensiones.) FileZilla Acceso SFTP a servidor producción. Priviletios ROOT requeridos para gestionar extensiones.
También acceso SSH por consola (local y remoto) Maxima CAS Sistema algebráico simbólico (local y remoto) TAO test engine Test Engine, requiere Apache Tomcat.
Otras aplicaciones
Text Wrangler (editor de texto local) para archivos .js, .php, .ini. Cmap Tools y COE (mapas conceptuales y ontologías), local, JRE
Protégé (local, JRE) editor de ontologías (OWL, RDF). Google Drive apps (personal, cloud y local)
Dropbox (personal, cloud)
R y extensiones CAT-IRT, paquete estadístico libre (local y remoto)
My UDUTU: autoría de contenidos SCORM (cloud) IEEE LOM editor (Windows, XML LOM editor) ReLoad (SCORM empaquetador, LOM agregador)
Ajustes de configuración del LMS y extensiones
3.2
No es necesario ser experto en aplicaciones, servidores y servicios Web para realizar investigación y desarrollo en e-learning e ITS, pero si es aconsejable estar familiarizado con el entorno de instalación, lenguajes de programación y bases de datos Web de MOODLE y otras aplicaciones de similares requisitos.
Las recomendaciones para administradores de MOODLE 2.3 (requerido por el ITS y en general) son:
Configuraciones para tamaño máximo de archivos: ubicar dentro de directorio de
instalación el folder de php y el archivo de configuración: /PhpX.X.X/>php.ini
Editar las variables: post_max_size = 16M Upload_max_filesize=100M
Por defecto upload_max_filesize es 2MB y es muy poco, por ejemplo para subir