見出し画像

クラウドIDEをプログラミングの練習に使う

ぼくが大学でやっているプログラミングの講義ではreplitというのを使っている。これはクラウドIDEと呼ばれるもので、ブラウザ上で動作するプログラミング環境のことだ。

ブラウザがあれば動くため、利用しているのがどんなOSのパソコンであっても問題なく使える。キーボード入力は少し面倒ではあるがタブレットでも使える。また、手元に自分のパソコンがなくても、誰かのパソコン(のブラウザ)を使えば、すぐにいつもと同じ環境にアクセスできる。

プログラミングを教えるとき、一番のネックになるのは、OSごとの違いだ。同じパソコンといってもWindowsとMacではまったく違うし、それぞれの中でもOSのバージョンが違ったりしていて、それぞれごとに説明をするのは不可能に近い。しかし、クラウドIDEがあればこの問題は解決する。ブラウザで特定のURLにアクセスして、IDとパスワードを入れるだけであればOSは関係ない。Dockerなどのような仮想環境を使うというのはプログラマーなら思い浮かぶが、学生が持つそれぞれのパソコンに何かをインストールしなければいけないというのは変わらないので、結局それぞれのパソコン上でプログラミング言語が使えるようにするのとたいして手間は変わらない。

そこでクラウドIDEである。

このアイデアは、何年か前にビジネスパーソン向けのプログラミング講座を開いたときに試してみたのだが、その時は対面だったのでそれぞれのパソコンをのぞき込むことができ、インストールの作業がない部分簡単かな、ぐらいの認識にしかならなかった。しかし今回は実際に学生に会って授業をすることがほとんどなく、学生が自分のパソコン上で動かしているプログラムをみることはできない。しかし遠く離れた場所から、各自の様子をみることが簡単にできた。

私が選んだのは replit というサービスである。このサービスは複数人で同じ画面(サービスの中ではプロジェクトと呼ばれる)にアクセスできるようにするのは有料だ。しかし、教育用途に関してはアカデミー枠があり、無料で使えるのである。しかも人数の制限がない。課題の提出機能などもあって、教える側からするととても使いやすい。いきなり実戦投入して大丈夫か不安はあったものの、結果としてはよい判断だった。アカデミー枠の申し込みについては、英語でいろいろ資料を作って出すのかなと思っていたが、単に申し込んだだけで、approveされたとの連絡もなく使えるようになっていた。

しかし、オンライン講座では万能に見えるreplitにも一つだけ弱点があった。対面授業のように、同時にアクセスすると、誰かの画面がおかしい振る舞いになるのだ。 `puts "Hello, World"` のように簡単なプログラムを動かしてみているだけなので、一人一人にはそれほど負荷の高いことをさせてはいないのだが、それぞれが動かしている仮想マシンを取りまとめて動かすところが弱いのだろう。無料で使っているわけだから文句が言えた話ではないが、仮想マシンのスペックが低いことが問題なのかも知れない。プロジェクトをいくつか作り、分散して使ってもらうようにしたらある程度安定した。たぶん、仮想マシンが入っている大元のサーバが違うものになり、余裕を持たせられたのかなと思っている。

こんな弱点はあれど、準備が少なく学習が始められることや、中身が共有しやすいことなどは、クラウドIDEでなければできないことである。結論としては間違った判断ではなかったと思う。

[2023/11/15追記]
なんとreplitの教育機関向けエディションがなくなるという連絡が届きました。代替ツールを探さねば…。残念。

この記事が気に入ったらサポートをしてみませんか?