Toolbox

entorno de programación para GNU Octave que permite la resolución de problemas de asignaturas del sistema educativo mediante la realización de programas

ToolboX es un entorno de desarrollo que permite introducir la programación de ordenadores en asignaturas sin competencias informáticas.[1][2]​ Parte de la premisa de que el alumno, al resolver un problema, realiza cálculos en una secuencia determinada (es decir, procede algorítmicamente) y puede expresarlos en un lenguaje informático sencillo, del mismo modo que lo hace en estilo libre sobre cuaderno o pizarra y la versión más nueva de toolbox solo soporta la versión 1.14.2.5 , no soporta otra versión que no sea esa

ToolboX
Información general
Tipo de programa Software educativo
Desarrollador Universidad de Málaga
Modelo de desarrollo FOSS
Lanzamiento inicial 2016
Licencia GNU General Public License v3
Información técnica
Programado en GNU Octave, Bash
Enlaces

Aparte del entorno y los contenidos académicos, ToolboX incluye un módulo para la recopilación de datos de uso por los alumnos y su procesamiento posterior mediante técnicas de big data basadas en inteligencia artificial (sólo en la comunidad andaluza, tras la inclusión en los repositorios Guadalinex y Guadalinfo, tendrán acceso un millón de alumnos).[3]​ Estas técnicas permiten extraer conocimiento sobre la comunidad estudiantil, que podrá ser utilizado para mejorar la actividad docente y la administración de recursos. Algunos ejemplos de esta extracción de conocimiento son el prediagnóstico de altas capacidades, TDAH o dislexia.[4]

Funcionamiento editar

ToolboX es un recurso didáctico que el docente puede utilizar en el aula o en la sala de ordenadores. Al iniciar el programa se muestra un entorno de programación con un diseño sencillo, compuesto por una ventana de comandos, un editor de texto para programar y, opcionalmente, una ventana gráfica. Tras seleccionar una relación de problemas, el alumno debe resolver cada uno escribiendo un programa. Dispone de comandos de ayuda (que puede ejecutar en la ventana de comandos) y otros para depurar y ejecutar el programa que desarrolla. Cuando la solución calculada por el programa es correcta, pasa al siguiente problema, hasta que el alumno completa la lista.

Ejemplos de tareas en ToolboX: de programación (arriba), con ventanas de comandos y gráfica a la izquierda y editor de programa a la derecha; y de matemáticas (abajo), sólo con ventana de comandos y editor.

El lenguaje utilizado es GNU Octave, por ser un lenguaje de programación ampliamente utilizado en educación, ciencia e ingeniería.

Definición de un problema editar

ToolboX se apoya en la noción de problegrama para la representación de problemas de diferentes asignaturas. La definición incluye el enunciado, pistas o ayudas, la solución (alfa)numérica, programas propuestos en diferentes lenguajes) y un mensaje de refuerzo o aclaración cuando se resuelve el problema. Las relaciones de problemas (o módulos) son listas con los nombres de estos ficheros en formato JSON.

 {
 "class": "wordproblem",
 "statement": "Calcula $$ \left(\frac{2}{3}\right)^2$$",
 "solution":  "4/9",
 "tip"    : ["Eleva numerador y denominador al exponente."],
 "keyword": ["segundo ESO", "matemáticas", "fracciones"],
 "wiki"   : ["\poweroffraction"],
 "hint" : {
   "js"    : "",
   "octave": ""
 },
 "program" : {
   "js"    : "
 numerador   = pow(2, 2);
 denominador = pow(3, 2);
 solution = numerador / denominador;
 },
   "octave": "
 numerador   = 2^2
 denominador = 3^2
 solution = numerador / denominador"
 },
 "takehomemessage": "La potencia de una fracción se deriva del producto de fracciones.",
 "author": "ToolboX",
 "URL"   : "toolbox.uma.es",
 "CC"    : "BY-NC-SA 3.0"
 }

Instalación editar

ToolboX se puede instalar en los centros educativos públicos de Andalucía desde el repositorio Guadalinex,[5]​ así como en la red andaluza de centros rurales Guadalinfo.[6]​ También puede utilizarse a nivel particular, fuera de estas redes, en dos modalidades:

Mediante fichero deb editar

Si se dispone de una distribución de Linux derivada de Debian (como Ubuntu, Lubuntu, Raspbian Stretch o Debian Stretch), puede instalarse ToolboX a partir de un fichero deb, siguiendo estos pasos:

Versión 16

$ wget -N --quiet toolbox.uma.es/download/toolbox_latest.deb
$ sudo apt-get update
$ sudo dpkg -i toolbox_latest.deb
  dpkg: dependency problems prevent ... 
  [otros mensajes]
$ sudo apt-get -f install
  [otros mensajes]
  Setting up [dependencia]
  ...

Versión 18

$ wget -N --quiet toolbox.uma.es/download/toolbox_latest.deb
$ sudo apt-get update
$ sudo gdebi toolbox_latest.deb
  ...

Mediante ISO editar

Es necesario descargar un fichero ISO e instalar UNetbootin. A continuación se conecta una memoria USB de, al menos, 4GB; se ejecuta UNetbootin y se crea una versión live con persistencia del ISO en el pendrive (este proceso borrará la memoria USB, debe hacerse copia previamente del contenido, si es relevante):

  1. seleccionar el fichero ISO descargado
  2. especificar el tamaño del fichero de persistencia (opcional), que puede ser de 1000MB
  3. se selecciona la unidad donde está la memoria USB.

Cuando concluye el proceso de copia, se reinicia el sistema y se selecciona el arranque desde la memoria USB, para lo que podría ser necesario interrumpir el inicio pulsando alguna tecla especial (generalmente ESC, F2 o F9 en PC, o Alt en Mac) para acceder a la BIOS y seleccionar el tipo de arranque. Una vez que el equipo se ha iniciado, arriba y a la izquierda está el menú principal y puede ejecutarse ToolboX desde el submenú Programming.

Utilización editar

Al ejecutar ToolboX, la pantalla se divide en tres áreas: terminal de comandos, editor de programa y ventana gráfica. Introduciendo los comandos 'task' o 'help' en el terminal de comandos se obtiene información de los módulos de tareas y los comandos disponibles. Una vez cargada una tarea con el comando 'task', se puede obtener más información con los comandos 'tip' y 'wiki'. La tarea se resuelve escribiendo un programa en el editor de programa y ejecutándolo con 'go' en el terminal de comandos.

Distribución editar

ToolboX se distribuye bajo licencia GNU GPLv3. En su primera versión ya incluye relaciones de problemas para varias asignaturas de la enseñanza preuniversitaria (matemáticas, física y química).[7][8]​ Esta memoria contiene una versión live de una distribución Linux, el intérprete del lenguaje de programación GNU Octave y los programas necesarios para su operativa.[9]​ Los fuentes Archivado el 12 de junio de 2018 en Wayback Machine. de la versión 1.0 están disponibles desde repositorio público.

ToolboX.Academy editar

ToolboX cuenta con su propia aplicación web, llamada Toolbox.Academy. Se puede acceder a una versión previa (demo) donde se mostrarán las nociones básicas de las distintas actividades.[10][11]

Esta versión en línea permite crear una cuenta personal, para poder guardar el progreso del usuario en las distintas tareas con las que cuenta la plataforma y poder acceder a la versión completa de la app.No solo eso, sino que los familiares y docentes también pueden registrarse para gestionar las cuentas de los menores o alumnado respectivamente.

Frontend de la plataforma ToolboX.Academy, con un entorno de programación: descripción de la tarea, mundo simulado y editor de programa.

Además, los centros pueden registrarse y gestionar todo lo relacionado con él: clases, módulos, profesores, alumnos... esto lo hará un gestor del centro, que se encargará de toda la organización y podrá ver información adicional del desempeño de los estudiantes.[12]

Backend de la plataforma ToolboX.Academy para administración de cuentas y seguimiento del progreso del alumnado.

TXAC Planet editar

Serie emitida en televisión que cuenta con 30 capítulos de 5-6 minutos con el objetivo de mostrar la programación como algo divertido al público más pequeño y juvenil[13]​. Es el material audiovisual que utiliza ToolboX.Academy para introducir cada concepto computacional y está basado en la misma plataforma.

Imagen de la serie emitida en televisión TXAC Planet , basada en la plataforma ToolboX.Academy, donde se introducen conceptos computacionales.

ToyScript editar

ToyScript[14]​ es un lenguaje creado para enseñar a programar. Es de tipo imperativo, basado en texto e intuitivo para estudiantes, que pueden entender los conceptos computacionales más elementales.

Una implementación de ToyScript está disponible en la plataforma ToolboX.Academy donde se utiliza para programar un robot simulado, resolviendo desde problemas sencillos con instrucciones, hasta condicionales, bucles y expresiones booleanas complejas.

La sintaxis del lenguaje en notación EBNF es la siguiente:

(* terminales básicos *)
letter = 'a' | ... | 'z' | 'A' | ... | 'Z'
digit = '0' | ... | '9'
arithmetic = '+' | '-' | '*' | '/'
relational = '==' | '!=' | '<' | '>' | '<=' | '>='
bitwise = '&' | '|'
negation = '!'

(* no-terminales básicos *)
natural = digit, { digit }
variable = letter, { letter | digit }
term = natural | variable
expression = term | '(', expression, ')' | expression, arithmetic, expression
condition = term, relational, term | term, bitwise, term | negation, term | '(', term, ')'

(* estructuras computacionales *)
code = instruction, { instruction }
instruction = 'up' | 'down' | 'left' | 'right' | 'info' | assignment | repeat | if | while
assignment = variable, '=', expression
repeat = 'repeat', natural, code, 'end'
if = 'if', condition, code, [ 'else', code ], 'end'
until = 'do', code, 'until', condition

Ejemplos de programas en ToyScript pueden ser:

repeat 5
  right
  down
end

direction = info
if direction == 1
  right
else
  left
end

do
  right
  objects = info
while objects < 10

Enlaces externos editar

Referencias editar

  1. Vico, Francisco (2017). «ToolboX: Una estrategia transversal para la enseñanza de la programación en entornos educativos». ReVisión 10 (2): 53-68. ISSN 1989-1199. 
  2. Vico, Francisco (2016). Proyecto ToolboX. Workshop Educación en Informática sub-18 (ei<18). V Congreso Español de Informática. Salamanca. pp. pp. 2. Archivado desde el original el 15 de agosto de 2018. Consultado el 10 de septiembre de 2016. 
  3. Vico, Francisco (28 de junio de 2018). «Inteligencia Artificial para analizar el progreso de los estudiantes con ToolboX». Educación 3.0. 
  4. Castillo, Ignacio (22 de julio de 2018). «"Programar será tan importante como saber leer o escribir"». La opinión de Málaga. 
  5. Castillo, Ignacio (15 de julio de 2018). «"Los profesores son la clave del éxito del proceso de transformación digital"». La opinión de Málaga. 
  6. Maldonado, Encarna (20 de marzo de 2017). «Don Alejandro y la pandilla del Minecraft». Málaga hoy. 
  7. Maldonado, Encarna (12 de septiembre de 2016). «El padre de Alba te enseña a programar». Málaga hoy. 
  8. Maldonado, Encarna (24 de septiembre de 2017). «La 'caja de la programación' aterriza en los colegios». Málaga hoy. 
  9. Vico, Francisco. «Proyecto ToolboX». geb.uma.es. Archivado desde el original el 1 de diciembre de 2017. Consultado el 10 de septiembre de 2016. 
  10. Almoguera, Pablo D. (19 de junio de 2021). «El profesor que quiere enseñar a programar a seis millones de escolares en España». elconfidencial.com. Consultado el 7 de julio de 2022. 
  11. Sánchez, Nacho (27 de diciembre de 2021). «“Un niño debería salir de Primaria sabiendo leer, escribir y programar”». El País. Consultado el 7 de julio de 2022. 
  12. Conversation, Francisco Vico, Alberto Zamora Jiménez, Miguel Mejía Jiménez , Raimon Segura Morera, The (20 de mayo de 2022). «¿A qué edad hay que aprender a programar?». El País. Consultado el 7 de julio de 2022. 
  13. «Una serie para aprender programación». labanda.canalsur.es. Consultado el 7 de julio de 2022. 
  14. Vico, F. (2020) ToyScript: A computer language for teaching coding in the K-12 system. Technical Report of Departamento de Lenguajes y Ciencias de la Computación, LCC ITI 20-1. Available at https://toolbox.uma.es/documents/ToyScript_1.0.pdf