どれ使う?プログラミング教育ツール

micro:bitでJavaScriptの世界を覗こう ~ビジュアル→テキストプログラミングへの第一歩

 2020年度からついに小学校でプログラミング教育が実施されます。これに伴い家庭でも手軽にプログラミングを学習できるツールが多数登場していますが、どんなツールを使えばいいのか迷ってしまう方も多いのではないでしょうか? そこで本連載では家庭でのプログラミング教育にピッタリなお勧めツールを紹介していきたいと思います。

 ここ何回かmicro:bitを扱ってきましたが、「micro:bit」でプログラミングをする時に使う専用のエディターは、Microsoftの「MakeCode」というプログラミング学習用プラットフォームで作られています。ブロック型の命令をドラッグ&ドロップで組み合わせて行えるビジュアルプログラミング方式なので、テキストでプログラムコードを書く必要がありません。キーボードに慣れていない子どもや、英数字がずらっと並んだ見た目に抵抗がある初学者にとっては大変便利です。実はこのエディターにはプログラミング言語のJavaScriptのコードで表示、編集するモードがあります。今回は、このJavaScriptモードを触ってみましょう。

サイコロのサンプルをブロックエディター作成

 まずは、簡単なプログラムを今まで通りブロックエディターで作ります。以前の記事でも扱ったサイコロのプログラムです。下の図の通り、「micro:bit」を振ると1から6の数字がランダムにLEDに表示されるプログラムを作ります。

JavaScriptエディターに切り替える

 次に、エディターの上部にあるトグルボタンを[JavaScript]に切り替えます。以下の通りテキストだらけの画面に切り替わります。これは、Web系のプログラムでよく使われるJavaScriptというプログラミング言語です。ブロックを組み合わせて作ったプログラムと全く同じ内容が記されています。この状態でも、画面左側のシミュレーターは動きます。[SHAKE]を押して動作を確認してみましょう。

ブロックで作ったプログラムがJavaScriptで表示された

 ここではJavaScriptで記述している意味はわからなくてよいので、ブロックエディターの表示と対応させて見てみましょう。すると、JavaScriptで書くときと同じ構成になっていることがわかります。MakeCodeのブロックエデイターは、テキストで打つプログラミングと同様の考え方で操作するように設計されているわけです。

ブロックとJavaScriptを色分けして比較するとわかりやすい

 2行目の“Math.randomRange(1, 6)”の部分で、“6”を“10”に変えるとどうなるでしょうか? ここは指定の範囲のランダムな数字を生成している部分です。“6”を“10”に書き換えると、生成するランダムな数の範囲が1から6ではなく、1から10になります。

数字だけ10に書き換える。必ず半角の数字で入力し、周辺のカッコを消さないように気をつける。シミュレーターでは1から10までの数が表示されることが確認できる

 トグルボタンで[ブロック]に切り替えてみると、乱数の表示範囲を示す数字が6から10に変わっていることがわかります。

[JavaScript]の側で書き換えた数字が[ブロック]側でも反映されている

JavaScriptエディターでプログラムを追加

 では、ふたたびトグルボタンで[JavaScript]に切り替えます。ここで、新しいプログラムを追加してみましょう。[A]ボタンを押したらLEDの表示が消えるプログラムを作ります。

 まず、エディター上で4行目にカーソルを合わせます。その状態で、左側のブロック一覧から、[入力]カテゴリーの[onButtonPressed]ブロックを選びます。これで、“ボタンAを押したら”という部分のプログラムが記述されます。

カーソルを4行目に合わせておく
ブロックを選ぶ
“ボタンAを押したら”のプログラムが記述された。AをBに書き換えればBボタンが機能する

 最後にLED表示を消すプログラムを追加します。まずカーソルを5行目に合わせます。6行目に並んでいる閉じカッコはそのまま消さないように気をつけてください。[基本]カテゴリーから[more]カテゴリーを選び、[clearScreen]ブロックを選びます。これで、“LEDの表示を消す”プログラムが記述されました。

カーソルを5行目に合わせておく
ブロックを選ぶ
LEDの表示を消すプログラムが追加された。5、6行目にできた空白行は本来不要なので削除してよい。シミュレーターでは、“SHAKE”で数字が表示され、ボタンAを押すと表示が消えることが確認できる

 最後に上部のトグルボタンで[ブロック]に切り替えると、[A]ボタンを押したときのプログラムが追加されていることが、ブロックエディターで確認できます。

JavaScriptエディターで追加したプログラムがブロックエディターで確認できる

 さらにもう一度[JavaScript]に切り替えると、コードが整理されて不要な空白行が消えました。

JavaScriptエディターに戻ったところ

 こうして[ブロック]と[JavaScript]のエディターを行ったり来たりしながら確認していると、テキストで書くコードが何を意味しているのかということが、なんとなくわかってきます。詳しいことがわからなくても、見慣れておくだけで構いません。テキストでびっしり埋まったプログラムを見るとそれだけでゲンナリしてしまうような感覚を減らせればまずは十分でしょう。いざ、テキストで書くプログラミングにステップアップしようと思ったときの心の敷居を下げられることが大切です。

 [JavaScript]モードでは直接文字をタイプしてコードヒントを頼りに入力していくこともできますので、より深く興味を持ったら知識をつけてチャレンジしてみましょう。