Toolbox (software)

Last updated
ToolboX
Logo ToolboX SVG.svg
Developer(s) Francisco Vico at University of Málaga
Initial release2016
Written in GNU Octave
Operating system Ubuntu, Stretch, Raspbian, Lubuntu, Guadalinex
Type Educational software
License GNU General Public License v3
Website ToolboX official site

ToolboX is an integrated development environment designed to introduce computer programming in academic subjects with originally no competences in this matter. [1] [2] Its design is based on the premise that, when solving a problem, a student performs a sequence of computations (i.e., proceeds in an algorithmic way), that can be expressed in a computer language, similarly to how it is done on a notebook or blackboard.

Contents

Besides the environment and the academic contents, ToolboX compiles students' usage data and process it by means of big data algorithms based on artificial intelligence (just in the Andalusian region, a million students have access to this tool, after being integrated in the Guadalinex and Guadalinfo repositories). [3] These techniques perform knowledge acquisition about the students community, that can be used afterwards to improve teaching and resource planning. As examples of this knowledge, gifted students, ADHD and dyslexia can be prediagnosed. [4]

Functioning

ToolboX is a didactic resource that teachers can use at the classroom or in the computer room. When the program is launched, it shows a simple development environment, made of a command window, a text editor to write the program, and an optional graphic window. After choosing a problem list, the student must solve each of them by writing a program. It also provides help commands (to be executed in the command window) and other commands for debugging and running the program. When the solution computed by the program is correct, it shows the next problem, until the whole list is completed.

ToolboX splash.png
Example of math problem in ToolboX.png
Task examples in ToolboX: coding example (top), showing the command and graphic windows to the left, and the program editor to the right; and mathematics (bottom), just with the command and editor windows.

The programming language used is GNU Octave, for being a scientific programming language, widely used in education, science and engineering.

Problem definition

ToolboX is based on the notion of problegram to represent problems of a wide range of academic subjects. The definition includes information like the statement, tips or wiki help, its (alpha)numeric solution, proposed programs (in different languages), and a take-home-message after the task is solved. The relations of problems (or modules) are just lists with the names of the files in JSON format.

 {  "class": "wordproblem",  "statement": "Determine $$ \left(\frac{2}{3}\right)^2$$",  "solution":  "4/9",  "tip"    : ["Raise numerator and denominator to the same power."],  "keyword": ["mathematics", "rationals"],  "wiki"   : ["\poweroffraction"],  "hint" : {    "js"    : "",    "octave": ""  },  "program" : {    "js"    : "  numerator   = pow(2, 2);  denominator = pow(3, 2);  solution = numerator / denominator;  },    "octave": "  numerator   = 2^2  denominator = 3^2  solution = numerator / denominator"  },  "takehomemessage": "The power of a fraction derives from the product of fractions.",  "author": "ToolboX",  "URL"   : "toolbox.uma.es",  "CC"    : "BY-NC-SA 3.0"  }

Installation

ToolboX can be installed in the Andalusian public centers from the Guadalinex repository, [5] as well as in the Andalusian network of rural centers Guadalinfo. [6] The program can also be installed out of these networks, in two different ways:

With a deb file

On a computer with a Debian-based Linux distribution (like Ubuntu, Stretch, Raspbian, Lubuntu), ToolboX can be installed from a deb file following these steps:

Ubuntu version history#Ubuntu 16.04 LTS (Xenial Xerus)

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

Ubuntu version history#Ubuntu 18.04 LTS (Bionic Beaver)

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

With an ISO file

The ISO file must be first downloaded, and then install UNetbootin. Next, a pen drive (+4GB) is plugged in, UNetbootin is run, and the ISO file is burnt as a live version with persistent storage (this process will erase the pen drive, which must be copied beforehand, if needed):

  1. select the downloaded ISO file
  2. specify the size of the persistent storage (optional), for example 1000MB
  3. select the unit where the pen drive is plugged.

When the copy process completes, the system is restarted from the live version on the pen drive, which is selected as the booting method (this might demand interrupting the restart at the beginning by pressing a special key, like ESC, F2 or F9 on the PC, or Alt key on a Mac) to access the BIOS and select the preferred booting method. Once the system has booted from the live version, the main menu can be accessed from the upper-left corner, and ToolboX can be found in the Programming category.

User instructions

After running ToolboX, the screen is divided into three areas: a system console, a text editor, and a graphic window. By typing the 'task' or 'help' commands in the console, information is obtained on the task modules and the list of available commands. Once a task is loaded with command 'task', 'tip' and 'wiki' might provide additional information. Each task is solved by typing a program on the text editor, and running it with the 'go' command in the console.

Distribution

In version 0.0, it was oriented to the Spanish educational system and included problem lists for all pre-university subjects. It was distributed in a USB flash drive provided to the students, which instructors can apply for online. [7] This drive contains a live Linux distro, the interpreter of the GNU Octave programming language, and the ToolboX and necessary software. [8]

ToolboX is currently distributed under GNU GPLv3 license. Its first version includes a repository of tasks for several subjects of pre-college education (mathematics, physics and chemistry). [9] [10] The source code is available in a public repository.

See also

Related Research Articles

Package manager Software tools for handling software packages

A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner.

Scilab

Scilab is a free and open-source, cross-platform numerical computational package and a high-level, numerically oriented programming language. It can be used for signal processing, statistical analysis, image enhancement, fluid dynamics simulations, numerical optimization, and modeling, simulation of explicit and implicit dynamical systems and symbolic manipulations.

APT (software) Free software package management system

Advanced package tool, or APT, is a free-software user interface that works with core libraries to handle the installation and removal of software on Debian, and Debian-based Linux distributions. APT simplifies the process of managing software on Unix-like computer systems by automating the retrieval, configuration and installation of software packages, either from precompiled files or by compiling source code.

Gambas Integrated development environment

Gambas is the name of an object-oriented dialect of the BASIC programming language, as well as the integrated development environment that accompanies it. Designed to run on Linux and other Unix-like computer operating systems, its name is a recursive acronym for Gambas Almost Means Basic. Gambas is also the word for prawns in the Spanish, French, and Portuguese languages, from which the project's logos are derived.

Ubuntu Linux distribution developed by Canonical Ltd.

Ubuntu is a Linux distribution based on Debian and composed mostly of free and open-source software. Ubuntu is officially released in three editions: Desktop, Server, and Core for Internet of things devices and robots. All the editions can run on the computer alone, or in a virtual machine. Ubuntu is a popular operating system for cloud computing, with support for OpenStack. Ubuntu's default desktop has been GNOME since version 17.10.

sudo Command on Unix systems to temporarily assume root privileges

sudo is a program for Unix-like computer operating systems that enables users to run programs with the security privileges of another user, by default the superuser. It originally stood for "superuser do", as that was all it did, and it is its most common usage; however, the official Sudo project page lists it as "su do". The current Linux manual pages for su define it as "substitute user", making the correct meaning of sudo "substitute user, do", because sudo can run a command as other users as well.

Puppy Linux is an operating system and family of light-weight Linux distributions that focus on ease of use and minimal memory footprint. The entire system can be run from random-access memory (RAM) with current versions generally taking up about 600 MB (64-bit), 300 MB (32-bit), allowing the boot medium to be removed after the operating system has started. Applications such as AbiWord, Gnumeric and MPlayer are included, along with a choice of lightweight web browsers and a utility for downloading other packages. The distribution was originally developed by Barry Kauler and other members of the community, until Kauler retired in 2013. The tool Woof can build a Puppy Linux distribution from the binary packages of other Linux distributions.

In mathematics, specifically in elementary arithmetic and elementary algebra, given an equation between two fractions or rational expressions, one can cross-multiply to simplify the equation or determine the value of a variable.

Live USB USB drive with a full bootable operating system

A live USB is a portable USB-attached external data storage device containing a full operating system that can be booted from. The term is reminiscent of USB flash drives but may encompass an external hard disk drive or solid-state drive, though they may be referred to as "live HDD" and "live SSD" respectively. They are the evolutionary next step after live CDs, but with the added benefit of writable storage, allowing customizations to the booted operating system. Live USBs can be used in embedded systems for system administration, data recovery, or test driving, and can persistently save settings and install software packages on the USB device.

cdrkit is a collection of computer programs for CD and DVD authoring that work on Unix-like systems. cdrkit is released under the GNU General Public License version 2. Fedora, Gentoo Linux, Mandriva Linux, and Ubuntu all include cdrkit. Joerg Jaspert is cdrkit's leader and release manager.

Linux Mint Ubuntu-based Linux distribution

Linux Mint is a community-driven Linux distribution based on Ubuntu, bundled with a variety of free and open-source applications. It can provide full out-of-the-box multimedia support for those who choose to include proprietary software such as multimedia codecs.

Subscript and superscript A character set slightly below and above the normal line of type, respectively

A subscript or superscript is a character that is set slightly below or above the normal line of type, respectively. It is usually smaller than the rest of the text. Subscripts appear at or below the baseline, while superscripts are above. Subscripts and superscripts are perhaps most often used in formulas, mathematical expressions, and specifications of chemical compounds and isotopes, but have many other uses as well.

gOS (operating system)

gOS or "good OS" was an Ubuntu-based Linux distribution created by Good OS LLC, a Los Angeles-based corporation. Its CIO David Liu described that after meeting Enlightenment and open source people, he realized that his dream to bring Web 2.0 applications into mainstream use could be achieved by creating a Linux distribution that made it easy for users to access Google and Web 2.0 applications. David Liu went on to create the Chinese Twitter clone called Wozai (我在), leaving gOS officially defunct.

The Debian build toolchain is a collection of software utilities used to create Debian source packages (.dsc) and Debian binary packages from upstream source tarballs.

The Fantastic Film Festival of the University of Málaga, also known as Fancine Málaga, has been celebrated annually since 1990 in the city of Málaga, Spain, and it focuses on the fantastic, science-fiction and horror movie genres. It is celebrated in the month of November.

Windows Subsystem for Linux Compatibility layer for running Linux binary executables natively on Windows

Windows Subsystem for Linux (WSL) is a compatibility layer for running Linux binary executables natively on Windows 10, Windows 11, and Windows Server 2019.

Zstandard, commonly known by the name of its reference implementation zstd, is a lossless data compression algorithm developed by Yann Collet at Facebook. Zstd is the reference implementation in C. Version 1 of this implementation was released as open-source software on 31 August 2016.

References

  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 (14 September 2016). Proyecto ToolboX. Workshop Educación en Informática sub-18 (ei<18). V Congreso Español de Informática. Salamanca. p. 2. Retrieved 10 September 2016.
  3. Vico, Francisco (June 28, 2018). "Inteligencia Artificial para analizar el progreso de los estudiantes con ToolboX". Educación 3.0.
  4. Castillo, Ignacio (July 22, 2018). ""Programar será tan importante como saber leer o escribir"". La opinión de Málaga.
  5. Castillo, Ignacio (July 15, 2018). ""Los profesores son la clave del éxito del proceso de transformación digital"". La opinión de Málaga.
  6. Maldonado, Encarna (March 20, 2017). "Don Alejandro y la pandilla del Minecraft". Málaga hoy.
  7. Maldonado, Encarna (September 12, 2016). "El padre de Alba te enseña a programar". Málaga hoy.
  8. Vico, Francisco. "Proyecto ToolboX". geb.uma.es. Archived from the original on December 1, 2017. Retrieved September 10, 2016.
  9. Maldonado, Encarna (September 12, 2016). "El padre de Alba te enseña a programar". Málaga hoy.
  10. Maldonado, Encarna (September 24, 2017). "La 'caja de la programación' aterriza en los colegios". Málaga hoy.