情報教育/モラル

教科「情報」実践報告

違いのわかるライントレースの学習

――スクイークEtoys等を活用したプログラミング学習の一例

谷川 佳隆(千葉県立船橋芝山高等学校 教諭)

谷川佳隆

【あらまし】

ライントレースのプログラムを考えるとき、センサーがラインから外れたかどうかを動いてから判断するか、判断してから動くかの2通りが考えられる。フリーでプログラミング学習環境を提供している「スクイークEtoys」というソフトウェアを活用して、この2通りプログラムを組み、実行結果を自ら確認することで、2つのプログラムの違いを体感し、フローチャートで表現させた指導の例を紹介する。

【1】はじめに

第2回全国高等学校情報教育研究会の分科会において、神奈川県立横浜清陵総合高等学校 五十嵐 誠 先生の「Squeakを使ったプログラミング教育の導入」を拝聴させていただいた。スクイークEtoysは知っていたので、五十嵐先生の発表を参考に、平成21年度の2学期からスクイークEtoysを2年選択「情報B」の中で授業実践を開始した。平成21年度と22年度は、当時勤務していた千葉県立船橋豊富高等学校で、2年選択「情報B」で実践を行い、平成23年度は現在勤務している千葉県立船橋芝山高等学校で、2年必修「情報B」で、スクイークEtoys等を活用した授業実践を行った。

ここでは、ライントレースの学習に中心とした内容である。

【2】スクイークEtoysについて

2.1 スクイークEtoys

スクイークEtoysは、「パーソナルコンピュータの父」といわれるAlan Kay博士によって生み出された教育用フリーソフトウェアである。その後、世界中のたくさんの技術者によって機能の改良が行われ、世界中で利用されている(3)

コンピュータの基本的操作ができれば、スクイークEtoysは年齢を問わずプログラミングできる環境を提供している。

2.2 スクイークEtoysの特徴

世界中で使われている教育用のコードが公開されているフリーソフトウェアである。

絵を描くことができ、自分で描いた絵を動かすことができる。

「タイル」を探し出し、その「タイル」に数値や条件を選ぶことで、プログラミングすることができる。

2.3 スクイークEtoysの活用

ライントレースの学習では、実際にプログラミングした結果を台車型ロボットなどで実行して、生徒に確認させるのが効果的と思われるが、予算の確保や機材の管理など多くの問題が存在する。そこでフリーソフトウェアであるスクイークEtoysで描いた画像にスクリプトを組み込むことで、生徒個々がプログラミングした結果を学ぶ環境を確保できる。

図1 スクイークEtoysでの実行画面

【3】ライントレースの学習に向けて

3.1 変数についての学習

スクイークEtoysにおいて、画像の進む距離や回す角度などの変数を簡単に設定できる。変数の値を変化させながら、実行結果を考察することができる。

3.2 タイマーの作成

テキストボックスに数値を表示し、秒が60になったときにどんな判断と処理が必要かを考えて、タイマーの作成をさせる。どの生徒でも、タイマーが正しく動くかが明らかにわかる。ライントレースの学習で、車を1周にどのくらい時間がかかるか計測するためにも利用できる。

3.3 センサーについての学習

ライントレースを学習する前に、センサーについて簡単に学習させる。身近にあるセンサーを考え、その役目を考えさせる。センサーの理解には、人間などの感覚器官との比較も利用する。そして実際に、ライントレースするロボットの動画を生徒に見せ、どうしてライントレースができるのかを考えさせ、センサーの役目を理解させる。

3.4 フローチャートについての学習

まず、プログラムの基本構造である順次処理・判断分岐・ループについて説明する。プログラミングを考えていく上で、どのように順次処理・判断分岐・ループを組み合わせてプログラミングしたかを可視化することで、生徒の理解が深まる。フローチャートを生徒に書かせる指導が、タイルを利用してスクリプトを作成するスクイークEtoysを利用することで、スムーズに指導できた。

図2 スクリプトとフローチャート

【4】ライントレースの学習

4.1 ライントレースの学習の位置づけ

新教育課程「情報の科学」において、「問題解決とコンピュータの活用」の単元の「問題の解決と処理手順の自動化」に対応させることができる。

4.2 ロボットによるライントレース

ライントレースの学習をするにあたり、レゴ社マインストームNXTで、1センサーと2センサーでライントレースする様子を録画し、生徒にその動画を見せた。また、村田製作所の最新ロボット「1輪車ロボットセイコちゃん」がS字の道を動く様子を録画し、生徒にその動画を見せるなど、興味やイメージを高めるためことを取り入れた。

4.3 判断のタイミングによる結果の確認

図3 生徒がライントレースを学習している様子まず、センサーがラインから外れたかどうかを判断してから動くスクリプトを作成し、実行してライントレースができるのかを確認させる。次に、違う画像を判断してから動くスクリプトを作成して、実行し結果を確認する。このときにタイマーを同じ画面上に作成してあれば、1周に要する時間がわかり、比較しやすくなる。また、同時に2つの画像を動かすことができるので、進み方や動き方の違いが画面を見て確認できる。

1センサーで実行した2つのプログラムをフローチャートで表現させる。2センサーにおいても2つのプログラムをフローチャートで表現させる。また、2つのプログラムによる実行結果の違いを比較させて、その違いを自分の言葉でプリントに記入する活動も取り入れた。

【5】おわりに

平成23年度から勤務している千葉県立船橋芝山高等学校で、必修「情報B」において、全クラスでスクイークEtoys等を活用したプログラミング学習を指導した。授業は無事に進み、生徒にとても好評であった。

参考文献

  1. (1)五十嵐 誠:Squeak を使ったプログラミング教育の導入、第2回全国高等学校情報教育研究会(平成21年)
  2. (2)大岩 元:ことだま on Squeak で学ぶ論理思考とプログラミング、イーテキスト研究所(2008)引用・参考サイト
  3. (3)スクイークEtoys(Squeak Etoys): http://etoys.jp/squeak/squeak.html

※第4回全国高等学校情報教育研究大会大阪大会要項から転載
(2012年7月掲載)