Skip to content
This repository has been archived by the owner on Jul 4, 2021. It is now read-only.
Leandro Di Lorenzo edited this page Apr 9, 2017 · 16 revisions

Mumuki Query Learning

MQL se integra a la Plataforma Mumuki como un proyecto destinado a la enseñanza online de Bases de Datos relacionales.

Motivación

En el equipo docente de la materia Bases de Datos en la Universidad Nacional de Quilmes surgió la necesidad de contar con herramientas que permitan mejorar la enseñanza de determinados conceptos, entre ellos SQL. Entendemos que la mejora en la enseñanza debe surgir desde diferentes aspectos: calidad en la transmisión de conceptos, planteo de problemas inteligentes, voluntad del alumno en ejercitarse y buen feedback con el alumno para comprender los problemas surgidos y los conceptos adquiridos por él. MQL busca mejorar estos dos últimos puntos de una forma no invasiva.

Objetivo

El proyecto busca generar una plataforma online de enseñanza de conceptos de Bases de Datos, primariamente enfocado a SQL. No es la idea desarrollar una plataforma nueva sino integrarse a Mumuki mediante un motor que procese comandos de SQL.

Mumuki es una plataforma de enseñanza de programación desarrollada y mantenida por programadores y docentes argentinos mediante un enfoque que pioriza los conceptos por sobre las tecnologías. Mumuki cuenta con un entorno en el cual un docente puede establecer un aula virtual y plantear un temario de aprendizaje en base a un conjunto de ejercicios.

Una de las ventajas que tiene Mumuki es la posibilidad de generar seguimientos no solo sobre el temario propuesto sino también sobre el avance de cada ejercicio gracias a un sistema de versionado de soluciones. Esto posibilita no solo que el docente visualice las resoluciones de los ejercicios sino también que tanto docente como el propio alumna sea capaz de revisar y evaluar el avance en la construcción de la solución de cada ejercicio.

Este enfoque de versionado de la construcción de las soluciones es una herramienta fundamental para lograr un feedback temprano y asincrónico con respecto a los días de cursada presencial. Esto permite no sólo evaluar una solución sino también la manera en la que se llegó a una solución (correcta o incorrecta).

Haciendo uso de todas estas facilidades se pretende desarrollar un motor que permita establecer ejercicios de SQL, procesar las soluciones y brindar una respuesta acorde.

Arquitectura

MQL es un componente más de la Plataforma Mumuki.

Cuando un alumno está realizando un ejercicio, eventualmente lo envía para verificar la solución. Ese código es recibido por Mumuki Laboratory mediante un Request HTTP. El Laboratory lo procesa y lo reenvía al Runner correspondiente, agregando código o datos extras según hayan sido configurados para ese ejercicio.

Mumuki cuanta con varios módulos de aprendizaje. Como en cada módulo se enseñan diferentes conceptos, cada concepto está ligado a una o varias tecnologías. De esta forma Mumuki Laboratory sabe a qué Runner enviar la información, según cual sea el ejercicio que se está intentando resolver.

El Runner recibe los datos y procesa la solución haciendo uso de Docker. Los Runners son implementaciones concretas del conmponente Mumukit, el cual establece la lógica común sobre como los Runners deberían comportarse.

Cada Runner entonces procesa el código recibido y se lo envía a su Docker a la espera de un código de salida o un set de resultados, según el ejercicio. El Runner procesa el resultado recibido de Docker y retorna al Laboratory en el formato correspondiente para que el Laboratory pueda mostrarle al alumno la verificación de su solución en un formato común.

En la imagen se puede visualizar el comportamiento descripto.

Arquitectura MQL

Otras páginas

Recursos

Clone this wiki locally