Toolbox (소프트웨어)

**ToolboX**는 컴퓨터 프로그래밍을 학술 과목에 접목하여 비전공자들에게 소개하도록 고안된 통합 개발 환경이다. 학생들이 문제를 해결할 때 노트북이나 블랙보드에서 수행되는 것과 마찬가지로, 컴퓨터 언어로 표현할 수 있는 일련의 계산 (예: 알고리즘 방식)을 수행한다는 전제를 기반으로 디자인되었다.

ToolboX는 환경 및 학술 콘텐츠 외에도 학생들의 사용 데이터를 수집하고 인공지능을 기반으로 하는 빅데이터 알고리즘을 통해 처리한다. (Guadalinex 및 Guadalinfo 저장소에 통합된 이후에 안달루시아 지역에서만 백만 명의 학생들이 접근할 수 있게 되었다.) 이러한 기술은 교육 및 자원 계획을 개선할 수 있도록 학생 커뮤니티에 관한 정보를 얻는데 사용될 수 있다. 이러한 정보의 예로 영재 학생, ADHD 및 실독증을 가진 학생을 사전 진단 할 수 있다.

## 기능
ToolboX는 선생님이 강의실이나 컴퓨터실에서 사용할 수 있는 교육자료이다. 프로그램이 시작되면 명령 창, 프로그램을 작성하는 텍스트 편집기 및 그래픽 창으로 이루어진 간단한 개발 환경이 표시된다. 문제목록을 정하고 나면 학생은 프로그램을 작성하여 문제를 해결해야한다. 명령 창에서 실행되어야 할 도움말 명령과 프로그램 디버깅 및 실행을 위한 다른 명령을 제공하기도 한다. 프로그램에 의해 계산 된 솔루션이 정확하면 전체 목록이 완료될 때까지 다음 문제가 표시된다.사용된 프로그래밍 언어는 교육, 과학 및 공학에서 널리 사용되는 과학적 프로그래밍 언어인 GNU Octave이다.

## 문제 정의
ToolboX는 다양한 학문 분야의 문제를 표현하는 problegram 의 개념을 기반으로한다. 정의에는 문제, 팁, wiki 도움말, 해당 (알파) 숫자 솔루션, 제안 된 프로그램 (다른 언어) 및 문제를 푼 후 해당 문제에 대한 핵심정리 같은 정보가 포함된다. 문제 (또는 모듈)의 관계는 JSON 형식의 파일 이름이있는 목록이다.
  {
  "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"
  }

## 설치
ToolboX는 Guadalinex 저장소의 안달루시아 공공센터와 안달루시안 농촌 지역의 Guadalinfo네트워크에서 설치할 수 있다. 이 네트워크를 이용하지 않는다면 아래의 두 가지 방법을 통해 설치할 수도 있다.

### deb file을 통해 설치하는 방법
데비안 기반의 리눅스 배포판 (Ubuntu, Stretch, Raspbian, Lubuntu)이 설치된 컴퓨터에서 ToolboX는 다음 단계에 따라 deb  file을 통해 설치할 수 있다.
```bash
$ 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)
```bash
$ wget -N --quiet toolbox.uma.es/download/toolbox_latest.deb
$ sudo apt-get update
$ sudo gdebi toolbox_latest.deb
  ...
```


### ISO file을 통해 설치하는 방법
ISO file 을 먼저 다운로드 한 다음 UNetbootin을 설치해야한다. 그 후 USB (+ 4GB)를 연결하면 UNetbootin이 실행되며 ISO 파일은 영구 저장소가있는 라이브 버전으로 구워진다. (이 과정은 USB를 지우므로 필요하다면 반드시 미리 복사해 놓아야 한다.)

# 다운로드 한 ISO file을 선택한다.
# 영구 저장 장치의 크기를 지정한다. (예 : 1000MB)  (선택사항)
# USB가 연결된 유닛을 선택한다.

복사 프로세스가 완료되면 부팅 방법으로 선택된 USB의 라이브 버전에서 시스템이 다시 시작된다. (이 경우 PC에서는 ESC, F2 또는 F9, Mac에서는 Alt 키와 같은 특수 키를 눌러 부팅을 중단하는 과정을 거쳐야 할 수 있다.) BIOS에 들어가 원하는 부팅 방식을 선택한다. 시스템이 라이브 버전에서 부팅되면 왼쪽 상단 모서리에서 주 메뉴에 액세스 할 수 있고 *Programming* 카테고리에서 *ToolboX*를 찾을 수 있다.

## 사용
ToolboX를 실행하면 화면은 시스템 콘솔, 텍스트 편집기, 그래픽 창 세 영역으로 구분된다. 콘솔에 'task' 또는 'help' 명령을 입력하면 작업 모듈과 사용 가능한 명령 목록에 대한 정보가 제공된다. 'task'명령으로 작업이 로드되면 'tip'과 'wiki'가 추가 정보를 제공한다.
각 작업은 텍스트 편집기에서 프로그램을 입력하고 콘솔에서 'go'명령을 통해 실행된다.

## 배포
버전 0.0에서는 스페인 교육 시스템에 맞추어 모든 대학 예비 과목에 대한 문제 목록을 포함했으며, 교사가 온라인으로 신청하면 학생들에게 USB flash drive 형태로 제공되었다. 이 드라이브에는 라이브 리눅스 배포판, GNU Octave 프로그래밍 언어 해석기, ToolboX 및 필요한 소프트웨어가 들어 있다.

ToolboX는 GNU GPLv3 라이센스로 배포된다. 첫 번째 버전에는 대학 취학 전 교육 (수학, 물리 및 화학) 과목의 과제가 포함되어 있다. 소스코드 source code  는 공용저장소에서 사용 가능하다.

## 같이 보기
* 코조 (프로그래밍 언어)
* 마이크로소프트 스몰 베이직
## 각주

## 외부 링크
* Averroes blog  (Council of Andalusia, Board of Education)
* official website

분류:교육용 프로그래밍 언어