iPadとマインドストームEV3を使ったプログラミング体験


小林道夫先生 神奈川大学附属中・高等学校

小林道夫先生
小林道夫先生

今日はiPadを使ってプログラムを組む授業を紹介します。最初に私から15分ほど概要を説明して、その後実際にプログラミングを先生方に経験していただこうと思います。

 

現在、情報教育の狙いという話になると、この3つの柱の中で「ICT活用」「情報モラル」ということがしきりに取りざたされます。先生方にも、情報モラルに関する事件が起きるたびに、管理職の方々から「情報モラルに関する指導を強化するように」というお話が来ることが多いと思います。確かにこれに関しては、SNSの問題がありますので、神経を使うところではありますが。

それからICT活用と言うと、日本で今盛んに取り組まれているのは、電子黒板やデジタル教科書、タブレットなどですが、この「情報の科学的な理解」、すなわちCS(コンピュータ・サイエンス)というのが、現在世界的に非常に注目をされています。ヨーロッパをはじめとして、情報教育というのは、情報活用やリテラシーからプログラミングへという方向に進んできているという状況です。

プログラミングというのは、今までは興味を持った人が大学や専門学校で専門的に学んでエンジニアになる、というもので、義務教育科はきちんと教えられていませんでした。現在、義務教育でプログラミングを扱っているのは、中学の技術家庭科の「技術」の中の「制御とプログラム」の部ですが、必修であるにもかかわらず、時間を取るのが難しいのが現状です。


今、技術家庭科の技術分野で、情報に時間をかけられるのは、中学校3年間で15~20時間しかありません。その中でプログラムをしようとしても、せいぜい2、3時間くらいしか取れず、そこで実際にプログラムを組んだりフローチャートを教えたり、というのは本当に難しいです。

では、世界的にはどのような形で動いているかと言えば、ルーチンワークをIT化してデータ解析を行うと、コストカットができて効率的になる、ということが現在わかってきています。ですから例えば、会社には経営や経理、商品開発や営業と様々な部門があって、経理部門でコンピュータを導入しようとする場合に、これまでは外注したりアウトソーシングしたりしていました。自分達でプログラミングが組めなかったわけですから。しかし、プログラミングの能力があれば、あるいはプログラミングの基本を理解していれば、その会社の人自身がプログラムを組んで自分なりに開発ができる、ということになります。そうすればコストカットができますし、仕事も効率的になるわけです。ですから、「コンピュータを活用する力」を一歩進めて、「自らプログラムを作って問題解決をする」という力を付けていけば、より豊かな社会を作ることができるだろうということなのです。

 

世界各国のプログラミングに対する取り組みを表にまとめましたが、一番上にあるエストニアはSkypeの発祥国ですが、小学校1年生から高校3年生まで必修化されています。ご存じのとおりSkypeはMicrosoftに買収され、Microsoftはエストニアにお金をごっそりつぎ込んでいますが、そういった助成金や補助金で、教育にかなりIT関連のものが組み込まれています。ここにありますように、Scratch、WEBやモバイルのアプリ開発などに取り組んでいます。ここで注目すべきは小学校1年生からやっているということです。

イギリスは、5歳から16歳までのプログラミングの必修化に取り組もうという動きがあります。イスラエルも高校で必修化し、中学校は検討していくということです。デンマーク、フィンランド、アメリカはご覧の通りです。アメリカのところに「STEM教育」というものがありますが、STEMとはサイエンス(science)、テクノロジー(technology)、エンジニアリング(engineering)、数学(mathematics)の頭文字です。「全てのアメリカ人にプログラミングを」とオバマ大統領が宣言しています。

このように、「コンピュータを活用する」という姿勢から、「子ども達にプログラミングの力を付ける、教えていく」というのが世界的な動きとなっています。これらについてもっと詳しく知りたいという方は、国際IT財団という、いろいろな調査研究をしている機関のホームページにエストニアやイギリスの取り組みに関するレポートが載っていますので、ぜひご覧ください。
http://www.ifit.or.jp/

「なぜ今プログラミングなのか」。これはつまり、コンピュータとは何かを知って、これからの時代を豊かに生きる、ということだと思います。活用するだけではどうなるか、というのが、今どきのスマホをずっと使いっぱなしの子ども達の姿です。ゲームをどんどんのめりこんでお金を搾取され続ける。ゲームにかじりつくだけで、自分で作るということをしなくなる。そして、タップに慣れてキーボードの活用能力がどんどん落ちています。

 

「論理的でクリエイティブな考え方を学ばせる」、これも重要なところで、プログラミングは基礎学力であるという捉え方が、やはり今いろいろな国でプログラミングを初等教育から取り入れようとしていることの理由になります。ただ、やはり、初めてのプログラミングとなると、なかなか取り組みづらいというのが現実です。情報教育の創世記の頃、20数年前はソフトウエアもなかなかなく、苦労をされた先生方も多かったでしょう。今は易しい言語もありますが、それでももっとしっかり取り組ませたいということになると、実際スクリプトを書かせたり、言語を教えたりといったことは難しいというのが現実です。

 

そこで今回皆さんに体験していただくのが、ロボットを使うプログラミングです。プログラムが簡単で、実際に作ったプログラムでロボットを動かしてみることができるので、子ども達が興味を持てるとともに達成感を得ることもできます。さらにフローチャートや、ロボットの動きを見ながら、自分でPDCAサイクル(Plan-Do-Check-Action cycle)を確認できるというところが非常におもしろいところです。


実際の授業展開をご紹介しましょう。

 

単元の指導計画は、中学校では「プログラムによる計測・制御」のものですが、高校で行っても全く問題ありません。

 

5時間で組んでいます。最初にロボットの動く仕組みや現在社会で活躍しているロボットの話をして、2時間目にアルゴリズムやフローチャートを教えて、3時間目にセンサーの働き、4時間目にロボットを試走させてみて、最後の5時間目は競技会、というものです。

 

こちらが評価の観点です。

 

下記が授業デザインのポイントとして、「生徒達が自ら積極的に参加する授業」を行うために、どのような点に注意したらよいか、ということをまとめたものです。1の「まずはやらせてみる」というのが、この活動の特徴だと思います。4の「ワークシートの準備」というのも重要でして、やってみた、作ってみた、面白かった、楽しかった、できた・できなかった、だけで終わるのではなく、その部分でどのような学びがあったのか、ということをしっかりと定着させることも必要です。

例えば、2時間目にプログラムを作ってみるために、フローチャートの記号を教えます。そして、今回学んだ朝起きて学校に登校するまでに、どんな順序で来たかということを書いてみよう、というものです。そして今回学んだ記号を使ってフローチャートを書いてみよう、ということで進んでいきます。

 

3時間目・4時間目には、カラーセンサーや超音波センサーを使って分岐処理やライントレースをして、5時間目には実際に競技会をやってみます。こちらがその競技会のワークシートです。競技会のコースが載っていて、どんなプログラムを組んだとかをまとめて、最後に実際に組んだプログラムにどんな問題があって、それに対してどのような解決策をとったのか、ということも記入していくようになっています。


このように進めていけば、子ども達は競技会をやった、うまくいった・いかなかっただけで終わるのではなく、問題解決の過程を踏んだことが残るのではないかと思います。

本校では、5年前にコンピュータの入れ替えがあった時にマインドストームを導入しました。その時から2人1組での形でこの活動を行っています。現在出ているマインドストームのEV3はiPadで操作ができますので、今日はこれを使って先生方に実際に体験していただきたいと思います。
*マインドストームHP http://www.legoschool.jp/mindstorms/

■マインドストーム体験授業レポート

EV3はbluetoothでマシンとiPadがペアリングできるので、iPadで組んだプログラムがそれぞれのマシンに転送できる形になっています。参加した先生方は、2人ペアになってプログラミングに取り組みました。

最初に小林先生が、端子やセンサー、モーターの場所や連動の仕組みなど、マインドストームの基本的な構造を一つずつ丁寧に説明をされました。

 

いよいよプログラミングの開始です。


専用ソフトを使って、アイコン操作とメニュー選択・数値入力でプログラムを作っていきます。アイコンをドラッグ&ドロップでつないで、数値を入力して送信ボタンを押すと、マシンが動きだします。会場のあちこちから「おぉ!」という声が上がります。


アイコンをつなぎ変えたり、数値を変えたりすることでマシンの動きが自由に変化させられます。勢い余って机から落ちてしまいそうになったりフリーズしたりしても、プログラムアイコンや数値を変えれば、すぐに修正ができます。このように基本的な操作をするだけでも、「プログラムの作成」→「動作検証」→「フィードバック」→「再検証」→「完成」というステップを経験することができます。

 

10分ほど基本的な動きを交代で確認した後は、センサーを使うことを導入します。センサーがモノや色を感知してどのような動きにするか、ということを決めるためには、タイマーやタイヤの回転数も指定することが必要になります。「どの程度動いてほしいか」を決めるためには、何度も動かしてみて感覚をつかむことが必要になります。try and errorを楽しみながら経験できる活動になります。

 

開始から20分ほど経過したところで、今度は条件分岐に入りました。ここでは、マシンを机に貼られた黒いテープに沿って走らせるライントレースを題材にします。カラーセンサーで黒を認識することを設定し、さらに認識した後マシンのホイールの回転やステアリング、パワー、回転数を調整して、黒いテープに沿って走るように設定します。さらに、黒を認識しなかった場合にはどのように動くかも設定します。これをループのアイコンで挟んで置くと、設定した動きが無限に繰り返されます。

 

プログラムができたグループが、マシーンを黒テープの上に置いてスイッチを入れるたびに歓声が上がっていました。この活動で、「順次」→「条件分岐」→「反復」→「ループ」のステップも押さえたことになります。

 

この後終了までの45分は、今まで行ったことを応用して、ペアでプログラムを組む活動を行いました。授業で行う際には競技会形式で実施するものです。

 

用意されたコースは2つ。1つは曲線の入ったライントレースの、やや複雑な形のもの。もう1つは、床に描かれたみなとみらい付近の観光スポットを回って、最後はレストランの駐車場に車庫入れするという「デートコース」を走らせるものです。

 

何度も繰り返してプログラムを改良しながらも、あくまで安全策で進めたり、「車庫入れはバック」にこだわったり、ギリギリで突っ込んでもスピードを重視したり、とペアによって走り方にも様々な特徴があります。参加した先生方の熱気も最高潮で、休憩時間に入ってからもコースの周りでは試走の順番待ちの列が途切れませんでした。

 

小林先生からのアドバイスです。
「コース作りは、先生が適当に作ってあげればよいです。レベル設定は、あまり難しくすると生徒が諦めてしまうので、欲張らずに、クラスの状態に合わせて少しチャレンジングな程度くらいに設定するのがよいでしょう。大事なのは、やりっぱなしにしないことです。できた・できなかったではなく、どんなところを工夫したか、どこが解決できなかったか、という結果をきちんと残すことなのです」

 

◆小林先生が授業で使用したワークシート◆ダウンロードは以下から

※ICTE情報教育セミナーみなとみらい―いま,プログラミング教育が熱い!!―
(2015年7月28日@神奈川大学みなとみらいエクステンションセンター)講演