martes, junio 11, 2013

Cómo colaborar con la plataforma MOOC de edX

¿Por qué edX?


edX es una iniciativa de prestigiosas universidades de NorteAmérica, Europa y Asia que han unido sus esfuerzos para poner a disposición del mundo una vasta biblioteca de cursos en línea usando su propia plataforma para MOOC (Massive Open Online Courses). Aunque es muy interesante su oferta de contenido (después de todo estamos hablando de clases que dan en Berkeley, Queensland, MIT, Harvard, entre otras), lo que llama especialmente la atención sobre edX frente a su competencia (por ejemplo Coursera o Udacity) es que han sido los primeros en abrir las entrañas de su plataforma a la comunidad del código abierto (open source).

¿Cómo funciona el proyecto? 

El proyecto edx-platform comprende dos componentes principales: la plataforma de gestión del aprendizaje (edX) y la herramienta de edición de contenidos (Studio).

El código fuente está escrito primordialmente en Python, aunque también hay partes escritas en Ruby y NodeJS. Los diferentes proyectos que integran la arquitectura están accesibles en repositorios alojados en GitHub, una especie de red social donde los participantes aportan al desarrollo de proyectos de software de código abierto. Este esquema fue favorecido por el consorcio detrás de edX para no limitarse a los recursos que ellos puedan aportar sino más bien aprovechar la iniciativa y creatividad de gente alrededor del mundo, siguiendo el ejemplo de iniciativas exitosas como la de Wikipedia.

La arquitectura de edX-platform

La plataforma está compuesta basicamente por:

  • un repositorio de Cursos
  • una interfaz con sistemas externos de calificación
  • bibliotecas de código y módulos para calificación
  • un entorno para ejecución de programas

Repositorio de cursos

Actualmente la plataforma del LMS (Learning Managenent sistema de gestión de aprendizaje) está basada en XModules (componentes de cursos), pero está siendo migrada a XBlock (arquitectura de componentes para construir cursos).

Configuration suministra una forma simple pero flexible de levantar una instancia de la plataforma edX completamente configurada y lista para usarse.

Interfaz con sistemas externos de calificación

XQueue define una interfaz entre el LMS y sistemas externos que provean la calificación de exámenes y trabajos enviados por los estudiantes. Esto permite que se usen los módulos de calificación que ya trae edX o que uno desarrolle o adapte su propio mecanismo personalizado de calificación y lo conecte con el LMS.

Calificación

Como la idea es que los cursos que se publiquen en esta plataforma estén abiertos para una comunidad enorme (alrededor de 100.000 participantes simultáneos) es necesario contar con mecanismos para calificar que no dependen de la intervención manual de uno o varios profesores. De esta manera, no solo se evalúan los típicos cuestionarios de selección única o múltiple, sino también respuestas abiertas. Para eso se cuenta con módulos como:

edx-ora (Open Response Assessor) recibe trabajos enviados desde el LMS a través de la interfaz XQueue, los pasa ya sea por un motor de calificación basado en aprendizaje automático, un sistema de calificación manual por pares o por profesores, según corresponda y devuelve el resultado al LMS.

Discern es un API que permite el uso de un motor de clasificación de textos basado en aprendizaje automático. Si uno quiere desarrollar su propio motor de calificación, debe implementarlo dentro de estar interfaz para comunicarse con el LMS. Una forma de hacerlo es basándose en bibliotecas de funciones como EASE.

EASE (Enhanced AI Scoring Engine) no es un módulo sino una biblioteca de funciones que permite alimentar mecanismos de clasificación de contenido textual basado en aprendizaje automático. Es útil para calificar exámenes que no se ajustan a un formulario de selección múltiple, como ensayos o preguntas de respuesta abierta. Suministra funciones que asignar una nota a texto arbitrario y predictores numéricos, buscando predecir objetivos a partir de valores arbitrarios de forma escalable y con alto desempeño.

Entorno para ejecución de programas

CodeJail gestiona la ejecución de programas en entornos seguros de prueba. Está diseñado en principio para ejecución de código Python, pero también se puede usar para otros lenguajes.

XServer recibe código fuente de programas enviados por los estudiantes desde el LMS y lo ejecuta usando sistemas de calificación, los cuales deben ser desarrollados aparte.

No hay comentarios.: