物理コンピューティング教育を始めるブロック型プログラミング MakeCode Editor:オルタナティブ教育でのSTEAM探究
はじめに:物理コンピューティングが拓くオルタナティブ教育の可能性
近年の教育現場では、単なる知識の習得に留まらず、体験を通して学ぶこと、そして創造性や問題解決能力といった非認知能力を育むことの重要性が増しています。特にオルタナティブ教育においては、生徒一人ひとりの興味関心に基づいた探究活動や、実社会とのつながりを意識した学びが重視されています。
このような背景の中で注目されているのが「物理コンピューティング」です。これは、コンピュータープログラムとセンサーやモーターといった物理的な部品を組み合わせることで、現実世界とインタラクトするシステムを作り出す分野です。物理コンピューティングは、抽象的なプログラミングの概念を具体的な物理的な動きや光、音と結びつけるため、生徒はより直感的にプログラミングの面白さや可能性を実感できます。
本記事では、物理コンピューティング教育を手軽に始められるブロック型プログラミング環境「MakeCode Editor」に焦点を当てます。MakeCode Editorがオルタナティブ教育の理念や現場での実践にどのように貢献しうるのか、具体的な活用方法や導入に関する情報と合わせてご紹介します。
MakeCode Editorとは
MakeCode Editorは、Microsoftが開発した、初心者向けのブロック型プログラミング環境です。ウェブブラウザ上で動作し、ソフトウェアのインストールは不要です。大きな特徴は、micro:bitやAdafruit Circuit Playground Express、LEGO Mindstorms Education EV3、Minecraft Education Editionといった、様々な教育用デバイスやプラットフォームに対応している点です。
視覚的なブロックをドラッグ&ドロップで組み合わせることでプログラムを作成できるため、プログラミング未経験者でも直感的に操作を学ぶことができます。また、作成したブロックプログラムはJavaScriptやPythonといったテキストベースのコードに変換して表示することも可能であり、より高度なプログラミングへの移行もスムーズに行えます。
対応するデバイスごとに特化したエディターが提供されており、例えばmicro:bit用のエディターでは、micro:bitに搭載されているLEDマトリクスやボタン、加速度センサー、光センサーといった機能を簡単に扱うためのブロックが用意されています。ウェブ上でプログラムを作成し、USBケーブルでデバイスに書き込むことで、すぐにその動作を現実世界で確認できます。
オルタナティブ教育におけるMakeCode Editorの親和性
MakeCode Editorは、オルタナティブ教育が重視する以下の理念と高い親和性を持っています。
- 体験を通した学び(Learning by Doing): 抽象的なコードだけでなく、物理デバイスの反応(LEDが光る、モーターが動く、音が鳴るなど)を通じて、プログラムが現実世界に影響を与えることを実感できます。これは座学だけでは得られない深い理解につながります。
- STEAM教育の実践: 科学(Science)、技術(Technology)、工学(Engineering)、芸術(Arts)、数学(Mathematics)といった分野を横断的に学ぶSTEAM教育において、MakeCode Editorはプログラミング(Technology)、電子工作・回路(Engineering)、センサーを使った観測・データ収集(Science)、動きや光を使った作品作り(Arts)、計測や座標の概念(Mathematics)といった要素を統合するハブとなり得ます。
- 探究学習の促進: 生徒自身の「こうしたい」というアイデア(例えば「暗くなったら自動で光るライトを作りたい」「体の動きに合わせて音が鳴る装置を作りたい」)を実現するためのツールとして活用できます。試行錯誤を繰り返しながら、自ら課題を見つけ、解決策を考え、形にしていく探究プロセスを強力に支援します。
- 個別最適化と多様なアウトプット: 生徒は自身の興味やペースに合わせて様々なプロジェクトに取り組めます。同じツールを使っても、完成するものは生徒のアイデア次第で無限に多様です。個々の生徒の関心や得意なことに合わせた学びを提供できます。
- 創造性と問題解決能力の育成: ゼロからアイデアを形にする過程で創造性が養われます。また、意図した通りに動かない時に、原因を探し、修正を試みる(デバッグ)経験を通して、論理的な思考力や粘り強く問題に取り組む力が育まれます。
オルタナティブ教育での具体的な活用例
MakeCode Editorは、オルタナティブ教育の様々なシーンで活用可能です。以下に具体的な実践アイデアをいくつかご紹介します。
-
環境センサープロジェクト(小学高学年〜):
- 概要: micro:bitの光センサーや温度センサーを使って、教室や学校の庭、自宅などの環境データを計測・記録するプロジェクト。
- 実践:
- MakeCode Editorでプログラムを作成。例えば、光の明るさを計測し、特定の明るさ以下になったらLEDを点灯させるプログラム。温度を計測し、ボタンを押したらLEDに表示するプログラムなど。
- 生徒は自ら「何を測りたいか」「どのように表示したいか」といった問いを立て、プログラムを設計します。
- 完成した装置を様々な場所に設置してデータを収集し、そのデータから何が分かるか、なぜそのような結果になったのかを考察します。
- ポイント: 科学的な観測スキルとプログラミングを結びつけます。環境問題やSDGsといったテーマとの連携も可能です。
-
インタラクティブアート・楽器制作(中学年〜):
- 概要: micro:bitの加速度センサーやMakey Makey(導電性のあるものをキーボード入力に変換するデバイス)とMakeCodeを連携させ、体の動きや触れたものに応じて音や光が変わる装置を作るプロジェクト。
- 実践:
- MakeCode Editorで、micro:bitが傾いたら音を鳴らす、振ったらLEDが光る、といったプログラムを作成。
- Makey Makeyを使う場合は、バナナや粘土など導電性のあるものと繋ぎ、触れることでコンピューター上の特定のキー入力とし、MakeCodeが反応するようにプログラミング。
- 生徒は「どのような動きや操作で、どんな音や光を出したいか」を考え、創意工夫を凝らした作品を制作します。
- ポイント: 芸術的な表現と技術を融合させます。協力して一つの大きな作品を作ることで、協働性も育めます。
-
自動制御・ロボットプログラミング(小学高学年〜):
- 概要: micro:bitとモータードライバーやサーボモーターを組み合わせたり、対応する教育用ロボットキット(例:BBC micro:bit用ロボットキット)を使用したりして、簡単なロボットや自動で動く仕組みを作るプロジェクト。
- 実践:
- MakeCode Editorで、特定の距離を移動する、障害物を避ける、光を追いかけるといったプログラムを作成。
- センサーからの入力(距離センサー、光センサーなど)に応じて、モーターの動きを制御するプログラムを設計します。
- 生徒は「どのように動かしたいか」「どんな機能をつけたいか」といった目標設定から始め、それを実現するためのアルゴリズムを考え、プログラミングを行います。
- ポイント: 工学的な思考力と問題解決能力を養います。物理的な制約の中で最適な解決策を探る実践的な学びです。
-
Minecraft Education Editionとの連携(全学年対象、Edition導入が必要):
- 概要: Minecraftの世界で、MakeCode Editorを使って建築を自動化したり、オリジナルのミニゲームを作成したりするプロジェクト。
- 実践:
- Minecraft Education Edition内でMakeCode Editorを開き、ブロックを並べるプログラムや、特定のイベント(ブロックを置く、敵を倒すなど)に反応するプログラムを作成。
- 例えば、コマンドブロックを使って大量のブロックを一瞬で設置するプログラムや、プレイヤーが特定の場所に到達したらイベントが発生するゲームロジックなど。
- ポイント: 生徒に馴染みのあるゲーム環境を使い、プログラミングの応用範囲の広さを示せます。創造的なワールド構築と論理的なシステム設計を結びつけます。
これらの例は一部であり、MakeCode Editorと対応デバイス、生徒のアイデアを組み合わせることで、さらに多様なプロジェクトが実現可能です。
MakeCode Editorのメリット・デメリット
メリット
- 直感的で簡単な操作性: ブロック型インターフェースは、プログラミング初心者や低年齢の生徒にも理解しやすく、すぐに使い始められます。
- ウェブブラウザ上で動作: ソフトウェアのインストールが不要なため、様々なデバイス(Windows PC、Mac、Chromebook、タブレットなど)から手軽にアクセスできます。
- 物理デバイスとの連携: 抽象的なコードだけでなく、現実世界での物理的な反応を見ながら学べるため、学習意欲が高まります。
- 無料かつオープンソース: MakeCode Editor自体は無料で利用でき、教育機関にとって導入しやすいコスト構造です。
- シミュレーター機能: 物理デバイスが手元になくても、プログラムの動作をウェブ上でシミュレーションできるため、事前に試したり、デバイスが少ない環境でも学習を進めたりできます。
- テキストコードへの切り替え: JavaScriptやPythonといったテキストコードに切り替えて表示・編集できるため、ブロックプログラミングから次のステップへの移行を支援します。
デメリット
- 対応デバイスの購入が必要: 物理コンピューティングを実践するには、micro:bitなどの対応デバイスを追加で購入する必要があります。
- デバイス連携に関する課題: デバイスとコンピューターの接続や、プログラムの書き込みに際して、環境によっては予期せぬ問題が発生する可能性があります。
- より高度なプログラミングには限界がある: 大規模で複雑なソフトウェア開発には向いていません。あくまで物理コンピューティングやプログラミング入門に特化しています。
- 日本語による公式サポート・ドキュメントの限定性: 主要なドキュメントやコミュニティは英語が中心です。日本語での情報収集やサポートには限界がある場合があります。
導入と運用について
MakeCode Editorの導入は比較的容易です。
- デバイスの選定と準備: まず、どのデバイス(micro:bit、Adafruit Circuit Playground Expressなど)を使って学習するかを決め、必要な台数を準備します。デバイスは教育機関向けのセットなどが販売されています。
- ウェブブラウザへのアクセス: 生徒が使用するコンピューターやタブレットで、MakeCode Editorのウェブサイト(makecode.microbit.org など、使用するデバイスに応じたURL)にアクセスします。ソフトウェアのインストールは不要です。
- プログラミング環境の設定: 特に設定は必要ありませんが、学校のネットワークによっては特定のウェブサイトへのアクセス制限がないか確認が必要です。
- デバイスへの書き込み: 作成したプログラムをデバイスに書き込む際は、USBケーブルでコンピューターとデバイスを接続し、MakeCode Editorからダウンロードしたファイルをデバイスのストレージにコピーするという手順が一般的です。
想定されるコスト: MakeCode Editor自体の利用は無料です。コストは主に物理デバイスの購入費用になります。micro:bitは単体で約2,000円〜3,000円程度で購入可能で、センサーやモーターなどがセットになった教育用キットも販売されています。デバイスの種類や購入台数によってコストは変動します。
運用上の注意点: * デバイスの充電や電池交換が必要な場合があります。 * デバイスとコンピューターの接続に関するトラブル(認識しないなど)が発生する可能性があるため、基本的なトラブルシューティングの手順を把握しておくと良いでしょう。 * 複数の生徒が同時に利用する場合、USBポートの数やデバイスの管理方法を事前に計画しておく必要があります。
操作性・習得コスト
MakeCode Editorの操作性は非常に高く、プログラミング初心者でも比較的短時間で基本的な使い方を習得できます。
- 操作の簡単さ: ブロックをドラッグ&ドロップして組み合わせる直感的な操作です。各ブロックが持つ機能は分かりやすく、パズル感覚でプログラムを作成できます。
- 習得にかかる時間: 数時間程度の簡単なチュートリアルやプロジェクトに取り組むだけで、基本的なプログラミングの流れ(入力→処理→出力)や、センサー・アクチュエーターの扱い方を理解できます。
- 学習支援機能: エディター内に簡単なチュートリアルが用意されているほか、作成したプログラムの動作をシミュレーターで確認できるため、物理デバイスがない状況でも学習を進められます。
- 日本語対応: エディターのインターフェースは多くの言語に対応しており、日本語での表示が可能です。
ただし、物理デバイスとの連携には、USB接続やファイルのコピーといった手順が必要です。これはPC操作に慣れていない生徒や教師にとっては最初のハードルとなる可能性もありますが、一度手順を覚えてしまえば繰り返し行う作業です。
サポート体制
MakeCode Editor自体に関する公式のサポートは、Microsoftのウェブサイトで提供されているドキュメントが中心となります。多くは英語ですが、基本的な使い方のガイドやFAQが掲載されています。
また、micro:bitなど、対応する各デバイスの提供元やコミュニティが、それぞれ独自のドキュメント、チュートリアル、フォーラムなどを提供しています。特にmicro:bitは世界中で教育利用されており、公式ウェブサイト(microbit.org)やサードパーティによる豊富な教育資料(一部日本語あり)やコミュニティが存在します。
日本語でのサポートに関しては、販売代理店や、MakeCode Editorや対応デバイスを活用したワークショップなどを実施している教育関連団体が独自のサポートを提供している場合があります。導入を検討する際は、これらの情報を合わせて確認すると良いでしょう。
まとめ
MakeCode Editorは、ブロック型プログラミングの分かりやすさと物理デバイスとの連携という強みを持ち、オルタナティブ教育における体験的・探究的な学び、そしてSTEAM教育の実践に非常に適したツールです。
抽象的なコードだけでなく、現実世界のセンサーやモーターを制御し、光や音、動きとしてフィードバックを得る過程は、生徒の知的好奇心を刺激し、プログラミングが単なるコンピューターの中だけの話ではなく、現実世界と繋がっていることを実感させます。
導入コストは主にデバイス購入費用のみで、ソフトウェア自体は無料、操作も直感的であるため、新しいツールへの習得に時間を要する可能性のある教師や、多様なバックグラウンドを持つ生徒にとっても取り組みやすいツールと言えます。
物理コンピューティング教育は、これからの社会で重要となる創造性、問題解決能力、そしてデジタルと物理世界を結びつける思考力を育む上で有効な手段です。MakeCode Editorは、その第一歩を踏み出すための強力な支援ツールとなるでしょう。オルタナティブ教育の現場で、生徒たちの主体的な探究活動や創造的なものづくりを支援するために、MakeCode Editorの活用を検討してみてはいかがでしょうか。