今年もそろそろ終わるので、毎年好例の振り返りをしたいと思う。
長男が小学校に入学したらやりたいと思っていたことにプログラミング教育の格差の公平化というものがあって、公平化に関するものを購入してみた。
先にプログラミング教育の格差の公平化について触れておくと、パソコンという言葉で連想することとして、最初の購入の時点で他の学習と比較して高額になってしまうということがある。
だからといって、安物のパソコンを購入すると動作が重くて、使い物にならないというストレスからの挫折を味わう事になり、世帯収入による教育の格差が発生してしまう。
このような背景の中で候補に挙がるもので思い付くものを一通り購入した。
最初に購入したものが大阪の学校で生徒に渡されるChromebookだ。
Chromebook自体は私が参加しているプログラミング教室で日本で購入できるようになった頃から導入していたが、自身で購入してみて、教室ではChromebook縛りで使ってみた。
Chromebookは低スペックのマシンで動作するように特化していて、OS自体もオープンソースで無償のため価格は非常に安いが標準機能はインターネットの閲覧とAndroidアプリなので、パソコンとしての制約が強い。
Chromebookはプログラミングの教育の端末として向いているか?を調査する
次に購入したのが、BBC Micro:bitでIoTやロボット等の電子工作を学習する上で注目されているマイコンだ。
続いて購入したのが、シングルボードコンピュータであるRaspberry Piで、このコンピュータの購入から一気に視野が広がった感がある。
後術するが、Raspberry Piはプログラミング教育でChromebookとMicro:bitに求めた機能を両方満たしていつつ低価格で購入できるものであった。
最後に購入したのが、当ブログでは紹介していないが、
Android GoというOSが入っている小型のタブレットになる。
Android Goは低スペックのスマホ用に開発されたOSで、低価格スマホの要になると期待されている。
Chromebook縛りでプログラミング教室を乗り切ってみた時に得られた事を整理する。
ChromebookはLinuxモードを利用することで、プログラミング教育という言葉で連想する期待されることの大半は出来たけれども、Chromebookで苦戦した箇所がいくつかあった。
一つ目に低価格帯のChromebookに搭載されているCPUがARMアーキテクチャ(以下ARMと略す)なのだけれども、ARM上でプログラミングを学ぶ環境を準備する事が難しかったこと。
LinuxのDebian系のOSに慣れていないと難しい箇所がある。
ChromebookのLinuxアプリで日本語入力をできるようにする
二点目はプログラミングがある程度できるようになったらハードウェアの方も見たくなるが、Linuxモード自体がバーチャルマシン上で動作する為、USBから送信されるシリアル信号等に触れる事が難しい。
Chromebookではハードウェアを学ぶ為にHTML5製のWebアプリが用意されているが、学ぶ上では物足りない。
https://googlechromelabs.github.io/serial-terminal/
Chromebookの説明で触れたが、今回購入したもので共通することとして、
CPUがARMアーキテクチャということがある。
ARMはスマホやタブレットのCPUというイメージが定着していて、市場にスマホが登場した時からARMが盛り上がり、ChromebookでもARMが搭載されているものが多く更に盛り上がった感がある。
今年の終盤にGoogleが自社製のCPUとしてARM製のTensorの発表があり、今後更に期待されるCPUだ。
グーグル初の独自SoC「Tensor」--今分かっているすべてのこと - ZDNet Japan
ただ、ARM製のパソコンで教室を運営してみて、ARMに対応したソフトウェアが少ない。
普段開発で利用しているエディタがARM版で公開されていないため、慣れる為に開発機の方でARM版のあるものを使い始めた。
※ARM版があるエディタとしてMicrosoftのVS Codeがある。
次はRaspberry Piについて触れてみる。
Raspberry Piは5,000〜13,000円程度で購入できるパソコンで、電子工作の他、一般的なパソコンで出来ることもできちゃうパソコンだ。
※Raspberry PI Zeroであればもっと安く購入できる
Raspberry Piと赤色LEDでホタルのような点滅を試す
別途、液晶ディスプレイ(テレビも可)、キーボード、マウスとmicro SDカードを合わせて20,000円程度でハイスペックの自分専用のマシンになる。
標準のOSはDebian系のLinuxをベースにしたRaspberry Pi OSだけれども、頑張ればWindowsでも動かす事が出来る。
※Raspberry Pi OSはオープンソースで無償のOS
Raspberry PIの凄いところは、13,000円程度で購入したモデルのスペック(CPUとメモリ)が100,000円付近の価格帯のWindows機のスペックと同等であるということ。
もう一つ凄いのがメインのマシンになり、Chromebookで苦戦したハードウェアの学習を簡単に行う事が出来る。
※Webアプリの開発者にとって、ローカルネットワークを簡単に試すことが出来るので良い教材となる。
他にもOSの入れ替えにかかる費用がmicroSDカード1枚分なので、Ubuntuを気軽に試したりすることができる。
他にも色々と良いことがあるが、この場ではここまでにする。
Raspberry Piの難点として、Chromebook同様ARMアーキテクチャであるため、使えないソフトウェアがあるが、ChromebookのLinuxモードよりも環境構築のハードルは低い。
最後にBBC Micro:bitとRaspberry Piの共通点だけれども、どちらもPythonという言語を推している。
※Micro:bitの方は実際にはMicroPython
Pythonは世界中の研究者に愛されている言語というイメージが強く、シンプルな記述でありながら複雑な計算を行うライブラリが豊富なので、これらのコンピュータでPythonに慣れつつ、いずれはアカデミックな内容に挑戦するハードルを大きく下げる。
Anaconda(Pythonディストリビューション) - Wikipedia
今回の話を総括すると、ARMアーキテクチャ + Debian + Pythonの教材を充実することができれば、価格の面でプログラミング教育の格差を平等化することが出来るかもしれないと薄っすら見えてきた。
初学者の内からDebian系Linuxに触れておくことで、いずれはOSSやサーバ関係の事に触れる抵抗も減るので、パソコンの理解は加速するはず。