B4-2

地域イベントでの中高生向け一日プログラミング教室用教材の開発
Development of the Teaching Materials of a 1-day Programming Class forJunior and Senior High School Students at a Regional Event
室谷 心*1, 矢野口 聡*2Shin MUROYA*1, Satoshi YANOKUCHI*2*1
松本大学総合経営学部*1
Faculty of Comprehensive Management, Matsumoto University*2
松本大学松商短期大学部*2
Matsusho Gakuen Junior College
Email: muroya@matsu.ac.jp
あらまし：本稿では「ものづくりフェア」で開講する，中高生を対象としたプログラミング教室用の教材開発を報告する．イベントでの教室なので，内容は一日で閉じる必要があり，また主催者からは，受講者が持ち帰り，自宅で発展的な内容を自習できるものという希望があった．この要件を満たす教材として
RaspberryPi の利用を検討した．イベントが「ものづくり」をテーマとしたものなので，電子工作を組合せることとし．さらに，対象が中高生なのでプログラミングの入門と同時に発展性も意識して Scratch とPython とを並行して扱うメニューを考えた．
今年度のイベントは 7 月末のため，本論文は授業検討の経過報告である．大会での講演では実施した成果も追加して報告する予定である．
キーワード：プログラミング教育，中高生，教材開発，地域イベント

1. まつもと広域ものづくりフェア
松本市では，毎年「まつもと広域ものづくりフェア」が開催されている．このイベントは長野県中信地区の製造業の振興を目指して近隣市町村の商工会議所が共同で開催しているもので，“ものづくりフェア”の名前のとおり，製造業の会社のブースや工業高校や工業高専の出し物が中心である．今年度の企画として，進路の一つとして中高生にものつくり産業に興味を持ってもらおうと，「中高生を対象としたプログラミング教室」を実施することとなった．
商工会議所の担当者の要望は，“受講者が帰宅後，発展的な内容を自習できるような内容”というものであった．したがって，教材は講座終了後持ち帰りが前提で受講生の実費負担となり，高価なデバイスを使うことは好ましくない．

受講者がプログラミングや電気回路の基礎知識を持ち合わせていないことを想定し，必要な基礎知識を学ぶ教材も用意した．教材作成にあたって考慮したのは，受講者がプログラミング体験を通して，もの作りに対する論理的思考や創造力の必要性を感じ取れる内容にする点と，この教室をきっかけに自宅でも学習環境を整えて続けてもらえる点であった．
受講者が使用する機器は表 1 の通りである．
表1

教材として使う機器・工具

Raspberry Pi 3
キーボード、マウス、LCD
microSDカード
HDMIケーブル
5V/2.5A USB電源アダプタ
ブレッドボード2.

デバイス制御プログラミング教材

抵抗器

RaspberryPi の最大の特徴は外部の電子部品と電気信号を送受信できる GPIO と呼ばれるピンヘッダーが搭載されている点であるが，処理能力の向上によって GUI ベースのアプリケーションが実用レベルで動作するようになった．そこで今回は，RaspberryPi上で動作する Scratch を用いて GPIO を制御するプログラムを作成することにした．モニタ上の処理だけでなく，外部デバイスの制御ができることで，受講者のプログラミングに対する興味や意欲を引き出すことが期待できる．
教材として用意するものには RaspberryPi とその周辺機器の他，電子工作に必要なブレッドボード，ジャンパー線，各種電子部品，工具などがあるが，LEDジャンパーワイヤー
タクトスイッチ
ニッパ

3.

授業プラン

受講生として，プログミングも電子工作も未経験な中学生を想定し，RaspberryPi の OS 並びに必要なソフトのインストール作業などをあらかじめこちらで行ったものを配布することとした．
１日の授業の流れは下記のようなものである．プ
ログラミング初心者を想定して，まず Scratch を利用してプログラムの構造を視覚的に学習するスタイル― 289 ―

教育システム情報学会 JSiSE2016
第41回全国大会 2016/8/29-8/31

を取る．初めは Scratch Cat の動作でプログラムの動作を確認するが，Scratch 固有の環境から離れるために，RaspberryPi に付属している Minecraft Pi を利用
して Scratch Cat 以外によるプログラム動作の可視化を行う．さらに同じ Minecraft Pi 上の動作を Pythonで実現し，Scratch のタイルと Python のプログラムとの対比を行い同じ構造をしていることを確認する．
ここまでを午前の 3 時間で行う．
午後は回路の初歩の解説と電子工作から始め，ScratchGPIO7 の基本的な動作を解説する．受講者の学年によって理科の履修状況が違うので，電気回路の話は，回路の連続性とダイオードの極性程度にとどめる必要があるであろう．最後のコマでは，
ScratchGPIO7 を使ったプログラミングを行い，時間があれば，同じ動作をする Python プログラムの作成を行う．
表２

時限
１

２
３

４
５

授業の流れ（1 コマ 50 分）
授業内容
RaspberryPi 自身とアプリケーションの起動と終了
Scratch の入門と MinecraftPi の動作確認
Scratch を使って繰り返しと分岐の練習
Scratch2MCPI を使って繰り返しの可視化
Minecraft に対して Python を使って同じ動作をさせる．
電気回路の基本と電子工作の入門
ScratchGPIO7 の動作確認
ScratchGPIO7 を使ったプログラミングと同じ動作をする Python プログラムの作成ようにした．このプログラムに繰り返し処理を追加して 4 色の LED を様々な順番で点滅させるイルミネーションのプログラムに発展させる．
分岐処理の例題では，回路上にタクトスイッチを配し，2 色の各 LED の点灯をスイッチで制御する．
分岐処理の第 1 段階では各色 LED に対応したタクトスイッチを押すと LED が点灯するプログラムを作成させ，第 2 段階では 2 つのスイッチを押す組み合わせによって 2 色の LED の両方またはいずれかが点灯するプログラムを作成させる内容とした．
基本 3 構造の使い方を理解させたところで，3 つの処理を組み合わせたゲームの作成に進む．画面座
標上の 4 方向に対応した 4 個のタクトスイッチと，信号機に見立てた赤と青の LED を回路上に配置し，乱数を使ってどちらか 1 色の LED を任意の秒数点灯させる．一方，画面上には 4 方向に対応した矢印ス
プライトを用意し，これも乱数を使って任意の秒数表示させる．プレーヤーは，青色 LED が点灯時のみ画面に表示された矢印の方向に対応したタクトスイッチを押すとスコアが得られるというルールでゲームを行う．このプログラムを完成させることで，受講者に基本 3 構造を活用した新たなプログラム作品へのイメージを膨らませてもらう．
これらの試案は 1 日で完結する内容としたものであるが，配列を使った神経衰弱ゲームのプログラミングを扱った教材を受講者に提供して自宅での発展学習を促せれば，1 日教室の更なる成果が期待できるものと考える．

タイルプログラミングを用いた Squeak や Scratch
は，入門用のプログラミング環境として定評があるが，既存のタイルの環境から離れた次のステップへの接続が問題となる．ここでは，Mineraft Pi や電子工作と組み合わせることによって，プログラム実行の様子を可視化するとともに，Scratch Cat に対するプログラミングから離れ，さらに同じ動作，同じ構造のプログラムを実際に Python で作ることによって，言語を使ったより高度なプログラムの作成へとスムーズに発展していくことを期待している．

4.

デバイス制御プログラミング教材の試案

図１

Scratch は流れ図を作成する感覚でプログラムを組むことが可能なため，処理の流れを視覚的に理解しやすい．そこで，プログラミングの基本 3 構造である直線型処理，繰り返し処理，分岐処理を段階的に理解できる例題を作成した．
直線型処理の例題では 3 色の LED を直線に配線して順番に点灯させるプログラムを作成する．併せて画面上に点灯メッセージを表示させることで，出力先の違いを意識させている．次に，変数を使ったLED の点灯順や点灯時間を制御する方法を学べる

分岐処理のプログラムと回路図
参考文献(1) 総務省：”プログラミング人材育成の在り方に関する調査研究報告書”，http://www.soumu.go.jp/main_content/000361430.pdf（2016 年 4 月 30 日参照）
(2) 金丸隆志：”Raspberry Pi で学ぶ電子工作－超小型コンピュータで電子回路を制御する”，講談社，東京（2014）(3) 阿部和弘編著:“Raspberry Pi ではじめるどきどきプログラミング”, 日経ＢＰ社, 東京（2014）(4) 河野悦昌:“Raspberry Pi 電子工作レシピ”, 翔泳社, 東京（2014）― 290 ―