# Toolbox

ToolboX es un entorno de desarrollo que permite introducir la programación de ordenadores en asignaturas sin competencias informáticas. 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
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). 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.

## Funcionamiento

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.
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

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.

## Instalación

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

### Mediante fichero deb

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
Versión 18

### Mediante ISO

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):
* seleccionar el fichero ISO descargado
* especificar el tamaño del fichero de persistencia (opcional), que puede ser de 1000MB
* 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

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

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). 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. 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

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.
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.
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.

### TXAC Planet

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. Es el material audiovisual que utiliza ToolboX.Academy para introducir cada concepto computacional y está basado en la misma plataforma.

## ToyScript

ToyScript 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:
Ejemplos de programas en ToyScript pueden ser: