小学校プログラミング必修化に向けての
Scratch を用いた教材開発と授業実践
2018 年 2 月 13 日
三重大学大学院教育学研究科 教育科学専攻 理数・生活系教育領域
山守研究室
216M021 吉原健人
i
目次
第
1章 はじめに ... 1
1.1 研究背景 ... 1
1.2 研究目的 ... 1
第
2章 本研究に用いたプログラミング言語「Scratch」について ... 3
第
3章 過去に取り組んだ研究について ... 4
第
4章
Scratchを用いたお絵描き授業「すいぞくかんをつくろう!」の授業実践 ... 5
4.1 実践概要 ... 5
4.2 実施内容 ... 5
4.3 学習のねらい ... 6
4.3.1 コンピュータによるお絵描きの利点 ... 6
4.3.2 伸ばす観点について ... 6
4.4 授業実践の流れ ... 7
4.5 本アプリの機能とプログラム ... 10
4.5.1 画像をリサイズして表示させる機能とランダムに画面を泳ぎ回る機能 ... 10
4.5.2 複数の魚の画像を整列させて泳がせる機能 ... 14
4.6 授業実践を通して分かったこと... 22
第
5章
Scratchを用いた図形理解を深めるための授業実践 ... 25
5.1 「星をえがこう!~Scratch
でプログラミング~」の授業実践 ... 25
5.1.1 実践概要 ... 25
5.1.2 アンケートによる理解度の確認 ... 30
5.1.3 アンケートの結果と考察 ... 31
5.1.4 本授業実践のまとめと今後の課題 ... 32
5.2 「ビューティフルな図形をえがこう!」の授業実践 ... 33
5.2.1 実践概要 ... 33
5.2.2 アンケートによる理解度の確認 ... 36
5.2.3 アンケートの結果と2016
年の結果と比較しての考察 ... 37
5.2.4 本授業実践のまとめと今後の課題 ... 39
第
6章 クラウド変数を用いた「めざせ!ローマ字マスター☆~えい語とのちがいを知ろう ~」の開発と授業実践... 40
6.1 実践概要 ... 40
6.2 日本で使われているローマ字 ... 41
6.3 本アプリの特徴 ... 41
6.4 クラウド変数について ... 42
6.5 授業実践の流れ ... 43
ii
6.6 本アプリにおける画面遷移図 ... 53
6.7 本アプリにある機能とそのプログラム ... 54
6.7.1 文字入出力機能 ... 55
6.7.2 ソフトウェアキーボード機能... 64
6.7.3 クラウド変数を用いた出題課題の制御と回答数、正解数の抽出 ... 76
6.7.4 個人課題画面への切り替えと児童が選択できる問題ジャンルを切り替える機能 ... 87
6.7.5 各10
問ある問題ジャンルごとの児童の正解数の抽出と一台の児童機の正解・不 正解 ... 95
6.7.6
その他スプライトとその機能について ... 113
6.8 本アプリで出題した問題の解説画面について ... 120
6.9 授業実践で分かったことと今後の課題 ... 128
第
7章 まとめ ... 130
7.1 本研究の成果 ... 130
7.2 今後の課題 ... 131
参考文献 ... 132
謝辞 ... 134
1
第 1 章 はじめに
1.1 研究背景
現在では、パソコンや携帯電話が日本で初めて登場してから約
30年から
40年程経過し た。その間、情報機器の性能の向上、我々の日常生活において様々な情報通信機器やコン ピュータの介入、インターネットの普及と利用者が増加したことにより、個人レベルでの 情報化と国際化が進んできた。
近年では、教育分野においても教員が
ICT機器を用いることや児童生徒達へのプログラ ミング教育を行う実践研究も増えてきた。筆者もその中の一人であり、筆者が学部生の時 には特に「ICT 教材」ということに重点を置いて、Scratch を用いた教材開発と授業実践を 行った。プログラミングに関して
2012年では中学校の技術・家庭科において「プログラム による計測・制御」が必修化され、小学校段階においても
2020年からプログラミング教育 が必修化される。最近では新聞やテレビニュースでもプログラミング必修化や
Scratchを 使った実践等が取り上げられ、プログラミング教育の在り方に対する関心の高さが確認で きる。文部科学省によると、 『プログラミング教育はコーディング(プログラミング言語を 用いた記述方法)を覚えることが目的ではない』としている。また、プログラミング教育 に関する有識者会議[1]では『プログラミング的思考』という言葉が使用され、それは『論 理的・創造的な思考力』が大きく関係するものであるという説明をしている。すなわち、
プログラミング教育に関して、単なる知識を問うのではなく、まず子どもたちにとってど のような力が身に付くのか、利点があるのかということを考えなければならない。例えば
「論理的・創造的な思考力」「問題把握能力と問題解決能力」「ものを作り上げる楽しさや 喜びを知る」 「身近なコンピュータと自分の関係についてより深く考えられる」「プログラ マーのような職業の視野を広げられる」等を考え、適切な課題を設定し進めて行く必要が あるということである。
1.2 研究目的
小学校におけるプログラミング教育について、2020 年からプログラミング教育が必修化
されたならば、教師はその授業や教材を考え実践して行かなければならない。 「外国語」に
関しても高学年で教科化、より低学年から必修化されることと併せて、2020 年からの小学
校におけるカリキュラムの大きな変化に教師が困惑する可能性は高い。また、児童の立場
から考えると、 「プログラミング」は日常的に行われる他の時間数の多い各教科と比べ「不
慣れなもの」になる可能性がある。加えて、学校で基本的に扱うプログラミング言語が決
まっていない状況で、学年間で使用するプログラミング言語が異なる場合、十分に時間を
掛けて説明することができるならば良いが、使い方が分かるまで余計に時間が掛かる、前
に使用していたプログラミング言語における動かし方や特徴を忘れてしまうといったこと
に繋がりかねない。故に、筆者はまず学校で
1年生から
6年生まで基本として扱うプログ
2
ラミング言語や環境を一つ決めておくのが良いと考える。本研究ではその基本とするプロ
グラミング言語をビジュアルプログラミング言語の一つである
Scratchと想定して進めて
行く。具体的には低学年では、まずパソコン操作に慣れ親しむことを目指し、
Scratchで作
られた教材で遊ばせる場合でも
1年生ではマウス操作、
2年生では簡単なキーボード操作が
伴うものに取り組ませる。中学年では、プログラミングするとどのようなことができるの
かを気付かせることを目指し、多くの
Scratchアプリを触らせて慣れ親しませるようにす
る。特に
3年生では、キーボード配列を マスターすることに取り組ませる。高学年では実
際に課題を解決するためのプログラムを組み、各学年を通して段階的にプログラミング教
育が達成されることを目指す。そのために本研究では
Scratchを用いた
ICT教材、プログ
ラミング教材の開発と授業実践を行っていく。
3
第 2 章 本研究に用いたプログラミング言語「Scratch」について
「Scratch」を用いる理由として様々な理由があるが、一つに「誰でも扱いやすい」特徴 があるからである。 「Scratch」[2-6]とは、小中学生向けに米国マサチューセッツ工科大学 建築・計画スクール内に設置された研究所
MIT Media Labが開発したプログラミング環境 である。Scratch はスプライト(動かす対象)を作成し、そのスクリプト(対応するスプラ イトのプログラムを組む場所)にブロック(命令プログラム)を組み合わせるだけで容易 く即座に動作させることができるビジュアルプログラミング言語の一つである。命令プロ グラムのブロックについて、構文の文法等を知らなくても、ブロックを組み合わせること ができるかできないかと形的に見るだけでよく視覚的に分かりやすい。
Scratchにはペイン ト機能が付いており、スプライトとして自身が描いた絵を使用する、画像ファイルを読み 込んで使用することが可能である。 「小中学生向け」とあり上述のように容易にプログラム を組むことができるが、プログラムの組み方次第では非常に高度なものを作成することが 可能である。
Scratch
のバージョンについて、現在のひとつ前のバージョン「Scratch1.4」に代わって、
2013
年
5月に最新版「Scratch2.0」がリリースされている。その
Scratch2.0の特徴として 以前のバージョン同様、簡単にプログラムが組めるということは変わっていない。また、
拡張機能であるがセンサーボードの使用や音声を録音・編集することも可能であり、サー バー上にデータを保存できるクラウド変数というものを使用することができるようになっ た。注目すべき点は
Scratch2.0からウェブアプリケーションとなり、Scratch をダウンロ ード、インストールしていなくてもインターネットに繋げられる環境であるならば
Webブ ラウザ上で実行や編集をすることが可能であることである。Scratch の
Webサイトにアカ ウント登録すれば作品を投稿しコメントを残すことができ、他者の作品鑑賞や交流も容易 にできるようになっている。Scratch2.0 の特徴を以下にまとめる。
1)
容易にプログラムを組むことができるにも関わらず、プログラムの組み方次第では 高度なものを作成できる。
2)
音や動きを工夫して入れられるので、使用者に感覚的に興味を持ってもらいやすい。
3)
クラウド変数を使用できるようになり、コンピュータ間で数値データを共有するこ とができる。
4)
ダウンロード、インストールしていなくてもインターネットに繋げられる環境であ るならば
Webブラウザ上で実行や編集をすることができることから、他者の作成し た作品を実行する、プログラムの内容を覗ける、 「Remix」という形で再編集して共 有できる。
5)
実行画面を他のページに埋め込んで実行させることも可能。
4
第 3 章 過去に取り組んだ研究について
筆者は、学部生の時から
Scratchを用いて研究を進めてきた。本章では、筆者の過去の 取り組みについて述べる。
2015年度の筆者が
4年生の時に『将棋への興味を引き出す
Webサイト「将棋遊びを楽しもう」の開発』という題目で卒業研究を行った。当研究では、日 本の伝統遊びの一つである将棋に着目し、将棋人口の減少ということを背景に、たくさん ある将棋の遊び方を取り上げ、将棋への興味関心を引き出すことを目的とした
Webサイト の開発を行った。単に遊び方を説明するのではなく、使用者が実際に遊んでいる所を見ら れる、あるいは実際に体験できることを目指し、そのための手段として動画や
Scratchを 用いた。具体的には、動画を撮影・編集して
youtubeに投稿した後、埋め込みコードを当
Webサイトに貼って見られるようにした。また
Scratchに関して、いくつかの将棋遊びが できる作品を作成した後に
Scratchサイトに投稿した。動画と同様、埋め込みコードを利 用し、当
Webサイト上でも動かせるようにするということを行った。図
3-1は当
Webサイ トにおける画面の一部である。最終的には、小学校の特別活動「クラブ活動」の授業で実 際に使用して授業実践を行うことができた。
(a)Top
画面
(b)メニュー画面(c)将棋遊び選択画面 (d)「べこまわし」ページ画面
(e)「はさみ将棋」ページ画面 (f)モーダルウィンドウ
図
3-1 過去の研究で作成した将棋Webサイト画面
5
第 4 章 Scratch を用いたお絵描き授業「すいぞくかんをつくろう!」
の授業実践
4.1 実践概要
小学校
1年生にパソコン操作を教えるためにお絵描きをさせることが多い。本研究[7-10]
では、絵を描いて終わりではなく、お絵描きを
Scratchソフトの中で描かせることで、描 いた絵を動かして見せ、描く意欲を高めようとした。さらに、クラス中の一人一人の描い た絵を集めて動かすことで、クラスの共同作業に参画する一体感を感じてもらうことにし た。
1回の授業の中で、全員に描かせて動かした画面を見せるために筆者が
Scratchでプロ グラムを組み用意した。その授業実践の実施方法を示す。
4.2 実施内容
2015
年
10月より津市立一身田小学校の1年生4クラスに対して、「生活科」授業の中
で
PC教室のパソコン及び
Windowsタブレット端末を使用して、各クラス
1回ずつ、初 めの一クラスは
45分で後の
3クラスは
60分で授業を行った。表
4-1は授業実践の日程で ある。本研究の実践について、筆者はまだ当時学部生であったが、大学院に進学すること が決まってからの研究である。一身田小学校では、直前の夏休み期間に
Windowsタブレッ ト(富士通
ARROWS Tab Q555/K64)へ機器更新がなされ、1年生にとっては触るのが初め てのパソコンになる。ジャストスマイルが導入されており、スマイルペイントお絵描きソ フトが存在しているが、それを用いず、Scratch2.0 を用いた。1 クラスの児童は
25名、
TA
に大学生約
10名を導入し、大学生1人あたり約
3名の児童をサポートする体制で行っ た。拡張グレードル(FMV-NDS22)によって有線
LAN、キーボード、マウス、外部モニタに接続しており、そこから本体を切り離すとネットワークが切れてしまうため、拡張グレ ードルに繋いだままタブレット画面を付属の電子ペンでタッチすることでお絵描きを行っ た。
表
4-1 授業実践の日程日付 授業時間 授業クラスと人数
TA10
月
21日(水)
13:30-14:15 1組(25 人)
1年生:11 人
4
年生:1 人
11
月
4日(水)
13:15-14:15 2組(25 人)
1年生:11 人
3年生:1 人
4
年生:1 人
11
月
18日(水)
13:15-14:15 3組(25 人)
1年生:11 人
3年生:1 人
4
年生:1 人
1
月
20日(水)
13:15-14:15 4組(25 人)
1年生:11 人
3年生:1 人
4
年生:1 人
6 4.3 学習のねらい
小学校でのコンピュータ活用は、各教科の中で情報手段に慣れ親しみ、適切に活用して 学習活動を充実させることにある。したがって、一年生の段階でも、コンピュータに触れ させ、一人一人の思いや表現の幅を広げたりして、自由にのびのびと表現できるよう学習 活動の展開が期待される。また「Scratch というものがある」「Scratch で描いた絵を動か すことができる」のように
Scratchに慣れ親しむことによって、今後の
ICT教育やプログ ラミング教育などで、
Scratchを用いる際に円滑に児童が対応できる可能性があると考える。
4.3.1 コンピュータによるお絵描きの利点
(1)
やり直しや修正が簡単にできるので、失敗を恐れずに表現を試すことを楽しめる。
(2)
試行錯誤ができるので、描きながら発想や構想を深めたりできる。
(3)
操作のテクニックや操作を習得することで、すぐに描けるため、描こうとする意欲が持 続する。
(4)
ファイルに保存することにより、作業の断続的な積み上げが容易である。
(5)
ネットワークを活用することにより、情報を共有したり発信したりして、グループ活動 が容易に実施できる。
4.3.2 伸ばす観点について (1)
造形への意欲
コンピュータを触ることにより、自分の思いを広げる活動を楽しもうとする。
(2)
発想の能力
線の太さや色などの特徴を生かし、自分なりの発想を行ない、描き始めようとする。
(3)
見通し能力
描いている途中で、出来上がりの見通しをもって構想を練る。
(4)工夫する力
コンピュータ機器の操作上、自分のイメージ通りにできないと把握する中で、イメージ 通り表現する方法を自分なりに工夫する。
(5)鑑賞の能力
友達の作品を見て、良さや工夫に気付き、自分の作品も含め、意見や感想を持つことが
できる。
7 4.4 授業実践の流れ
事前に筆者の
Scratchアカウント(yoshikento)サイトに本実践で用いるために作成し
た
Scratchアプリを投稿しておいた。一身田小学校では、Sky 株式会社のコンピュータ教
室支援ソフト「SKYMENU」が導入されている。SKYMENU を用いると「児童機を一斉 に起動・終了」 「先生機から児童機へ
URLなど情報を送る」 「児童機の操作を制御」といっ たことが可能となる。筆者はこの
SKYMENUを利用して、授業時間が始める前に先生機で
その
Scratchアプリの
Webページを開き「ページを送る」ボタンを押して一斉に児童機で
アプリの
Webページを開いた状態にしておいた。授業は以下の
1)から6)の流れで進めた。1)授業で何をするのか見通しを持たせるために、予め例として作成しておいた完成した水族
館の様子を見せるとともに「絵を描いてこのような水族館を作っていくよ」と伝える。
2)以下のような Scratch
のペイントツールの使い方を実際に教師が実演と問いかけをしな
がら説明する。
・線の描き方と色選択
・塗りつぶしの仕方
・消しゴムの使い方と戻るボタンの使い方
3)児童にScratch
上で魚を描かせる。
4)描き終わったら、TA
が協力して児童が描いた絵を「コスチューム」の所から画像の中心
を合わせ、魚が左を向いて描かれていた場合反転して右を向かせた状態で、
pngファイルで 共有フォルダに保存させる(図
4-1)。具体的に、図
4-1中の右上の赤丸で囲まれた場所を クリックすると、画像の中心を調整できるようになる。また、画像の保存は図
4-1中の左の 青枠中の「コスチューム
2」で右クリックし「ローカルファイルに保存」を選択すれば、pngファイルで保存することができる。
図
4-1 画像の中心を調整している画面8
5)教師が共有フォルダから児童の描いた絵(png
ファイル)をアプリにアップロードする。
具体的には、アプリにある画像がなくプログラムだけあるスプライトの「コスチューム」
から児童の描いた絵をアップロードする(図
4-2)。
(a) 画像がなくプログラムのみあるスプライト
(b) 「コスチューム」のアップロードボタンから画像をアップロードしている画面
図
4-2 画像なしのスプライトに画像をアップロードする様子9
6)児童が自分のパソコン上で泳ぐ自分の魚や、プロジェクターに投影されたクラスの水族館
の様子を鑑賞する(図
4-3、図4-4)。図
4-3 児童機の画面で描き終わった魚が泳いでいる画面(a) 1
組
(c) 3
組
(d) 4組
(b) 2
組
図
4-4 授業後に完成した水族館の様子10 4.5 本アプリの機能とプログラム
本アプリでは、主に描いた魚を動かせるための機能と画像をリサイズして表示させる機 能がある。描いた魚を動かせる機能に関してさらに細かく特徴を述べると「ランダムに画 面を泳ぎ回る機能」と「複数の魚の画像を整列させて規則的に泳がせる機能」がある。プ ログラム動作の状態遷移図を図
4-5示す。
図
4-5 プログラム動作の状態遷移図4.5.1 画像をリサイズして表示させる機能とランダムに画面を泳ぎ回る機能
緑の旗がクリックされた時に動くようになっていて一塊のプログラムで繋がっている
(図
4-6)。まずはプログラムの初めに「前に出す」ブロックを使用しているが、このブロ ックを用いることにより、スプライト間の重なりの順番は常時変わることとなり、ある
1つのスプライトが他のスプライトに常に埋もれた状態になることを防ぐことができる。次 に画像をリサイズするプログラムが動き始める(図
4-6の赤枠) 。児童は絵を大きく描きが ちで、児童によって描く絵の大きさも揃ってはいない。そのため、何も対策していないと 図
4-7のようになるので、その対策として画像をリサイズする機能が必要となるのである。
プログラムブロックに「大きさを~%にする」「大きさを~ずつ変える」がある。そのスプ
ライトの画像の大きさを
100%とするので、「大きさを~%にする」をスプライト間で同じ
数値で指定しても同じ大きさにはならない。大きさが揃っていない魚を大体同じ大きさに
11
するには別のアプローチが必要となる。そこで、筆者はスプライト「Sprite1」「Sprite3」
「Sprite4」の
3種類の線の画像スプライトを用意した(図
4-8)。この
3種類の線で魚の絵 が
3種類の線に触れている場合、触れている線が
2種類以下になるまでサイズを
1ずつ小 さくしてゆく。逆に魚の絵が
2種類以下の線としか触れていない場合、
3種類の線に触れる までサイズを
1ずつ大きくしてゆく。このようにすることで大体同じ大きさになるように した。但し、この線によるリサイズ機能は画像の横幅に着目して動いているので、絵が極 端に縦長であった場合はリサイズ機能が機能しなくなる可能性がある。今後、横線を加え て縦長の画像にも対応できるようにするか、
pngファイルを読み込んでサイズを指定できる ようなツールを作成する必要がある。リサイズのプログラムの実行後には、図
4-6青枠部分 のランダムに魚の絵が画面を泳ぎ回る機能を持ったプログラムが実行される。 「x1」 「x2」 「y1」
「y2」はローカル変数である。x1、y1 は現在の画像の座標を入れるための変数である。次 に移動先の
x座標に関しては-179 から
179までの乱数を用いて決定し
x2に入れる。移動 先の
y座標は-155 から
155までの乱数を用いて決定し
y2に入れる。この乱数の範囲であ れば、大体は画面上から絵が切れることなく表示することができる。
x1と
x2の値を比較し
て
x1<x2ならば魚の向きを右(90 度に向ける)にし、
x1>=x2ならば魚の向きを左向き(-90
度に向ける)にする。スプライトの回転方法は左右反転のみに設定し(図
4-9)、
0から
180度の間の角度ではスプライトは真っ直ぐ右を向き、0 から-180 度の間の角度ではスプライ トは真っ直ぐ左に向くようになっている。その後、2 から
4までの乱数の秒数で座標(x2、
y2)へ移動する。最後に0
から
3までの乱数の秒数動作を止めてから再び初めからプログ
ラムを繰り返し実行するようになっている。このプログラムによって自由に魚が泳ぎ回る
ことを表現した(図
4-10)。
12
図
4-6 「画像リサイズ」と「魚をランダムに画面中に泳ぎまわらせる」プログラム図
4-7 オリジナルのサイズでアップロードした時の画面13
図
4-9 回転の種類を左右のみにしたスプライト詳細画面(a) Sprite1
(c) Sprite4 (d) 3
本をまとめて表示させた画面
(b) Sprite3
図
4-8 スプライトが持つ線画像と組み合わせた時の線の間隔14
図
4-10 リサイズして自由に画面上を動く魚の絵の画面4.5.2 複数の魚の画像を整列させて泳がせる機能
自由に魚を泳がせていても、絶えずスプライト間の重なりを変えているので、全く見え なくなるという問題は解決しているが、それでもやはり魚の数の多さから「見えにくさ」
の問題はある。そこで、個々を見やすくする「複数の魚の画像を整列させて泳がせる機能」
をプログラムで作成した。水族館画面の右下にあるローテーションボタンをクリックする ことにより実行される。 「複数の魚の画像を整列させて泳がせる機能」動作の仕組みを説明 するにあたって、関係するスプライト、変数、メッセージ、プログラム等を挙げながら説 明する。
(1)スプライト名:
「ローテーションボタン」
スプライト「ローテーションボタン」はコスチューム画像として図
4-11の画像を持つ。
また、図
4-12はスプライト「ローテーションボタン」が持つプログラムである。旗がクリ ックされた時には指定座標に再配置し、このスプライトがクリックされた時に「整列で動 け」というメッセージを送る。
図
4-10 スプライト「ローテーションボタン」が持つコスチューム図
4-11 スプライト「ローテーションボタン」が持つプログラム15 (2)スプライト名:「ローテーション座標」
リスト「x 座標」 「y 座標」にローテーションで魚が回る
26地点分の座標の数値を格納す るプログラムを持つ(図
4-12)。メッセージ「整列で動け」を受け取った時に実行され、何 らかの不具合でリスト「x 座標」 「y 座標」リストの長さが
26でなくなってしまった時の対 応として、それぞれのリストで長さが
26でない時には、リストの長さが
0になるまで全て 消去し、もう一度
26地点分の座標数値を格納し直すようにしてある。リストに入れる座標 数値の順番は回る順ごとに対応させて格納している。
図
4-12 リスト「x座標」 「y 座標」にローテーションの座標を格納するプログラム
16 (3)スプライト名:「ローテーション初期位置決定」
26
個の魚の絵のスプライトがローテーションで回り始める初期位置をランダムで振り分 けるためのプログラム(図
4-13)を持つ。3つのローカル変数「i」 「j」「random」を設定 して使用し、リスト「場所」に
1から
26の数字を重複なく格納する。メッセージ「整列で 動け」を受け取った時に実行される。初めにローカル変数「i」 「j」の初期値を1にし、ロ ーカル変数「j」の数値を後で
1ずつ変えながらリスト「場所」のローカル変数「j」の数値 番目を
0で置き換えることを
26回繰り返す。次に、もし何らかの不具合でリスト「場所」
の長さが
26より小さい場合になった時の対応として、足りない分
0をリスト「場所」に追 加して長さを
26にするようにしている。ここまでがリスト「場所」に関しての初期化作業 である。次にローカル変数「i」 「random」を用いて初期化されたリスト「場所」に
1から
26の数字を重複なく格納するプログラムが実行される。後にローカル変数「i」の数値を
1ずつ変えながら「26<i」になるまで、つまり
26回このプログラムは繰り返されるようにな っている。まずローカル変数「random」に
1から
26までの乱数を入れ、その数値がリス ト「場所」に含まれているかどうかを判断する。もし含まれていなければ、そのままリス ト「場所」のローカル変数「i」の数値番目にローカル変数「random」の数値を格納するよ うにする。しかし、もし含まれている場合、リスト「場所」にその時のローカル変数「random」
の数値が含まれない、または「random=0」になるまでローカル変数「random」の数値を
1ずつ減らしながら調べていく。途中でリスト「場所」に格納された数値にローカル変数
「random」の数値が含まれなくなった時、その時のローカル変数「random」の数値をリ スト「場所」のローカル変数「i」の数値番目に格納する。 「random=0」までローカル変数
「random」の数値が変化した時、1 から
1ずつ減らし始める前の乱数を入れたローカル変 数「random」の数値までは既にリスト「場所」に格納されているということである。そこ で「random=0」になった場合、今度はローカル変数「random」の数値を
1ずつ加算しな がらリスト「場所」にローカル変数「random」の数値が含まれているかどうかを調べ、含 まれていない場合はリスト「場所」のローカル変数「i」の数値番目にローカル変数「random」
の数値を格納する。図
4-14はプログラムを実行した時のリスト「場所」に重複なく格納さ
れた数値の様子である。数値を格納した後には、メッセージ「位置情報」を送っている。
17
図
4-13 ローテーションで動き始める初期位置をランダムで振り分けるためのプログラム図
4-14 ランダムにリスト「場所」に重複なく格納された数値の様子18
(4)スプライト名:「1」
「2」…「26」
この
26個のスプライトに関してはほぼ同じようなプログラムを持っている。 「画像リサ イズ」と「魚をランダムに画面中に泳ぎまわらせる」のプログラムもその一つであり、こ れから説明する「複数の魚の画像を整列させて泳がせる機能」プログラムもほぼ同じよう な形で持っている。 「画像リサイズ」と「魚をランダムに画面中に泳ぎまわらせる」のプロ グラムの説明で述べたように、スプライト「1」から「26」が利用している変数にはローカ ル変数「x1」 「x2」「y1」 「y2」がある。図
4-15はスプライト「1」から「26」が同じ形で 持っているプログラムであり、本来ならずっと動き続ける「画像リサイズ」と「魚をラン ダムに画面中に泳ぎまわらせる」のプログラムを、 「ローテーションボタン」スプライトが 押されてメッセージ「整列で動け」が送受信した時、一度「1」から「26」のスプライト内 で動いているプログラムを強制的に終わらせる役割を持っている。このプログラムがある ことで「ランダムに動いていた状態」でも「規則的に動かせる状態」へと円滑に繋げるこ とができるようになる。図
4-16はスプライト「1」にある「複数の魚の画像を整列させて 泳がせる機能」プログラムであり、変数「i(全域) 」を利用している。プログラムの最初で 変数「i(全域) 」の初期値設定や最後に変数「i(全域) 」の数値を
1ずつ変えたりしている が、この動作はスプライト「1」だけのものである。他のスプライト「2」から「26」に関 してはこの変数「i (全域) 」の数値を変えるプログラムブロックは有していない。このまま、
スプライト「1」にあるプログラムを基に動作を解説していくと、図
4-13のプログラムの 最後で送られるメッセージ「位置情報」を受け取ると実行が開始される。最初に変数「i (全 域) 」の初期値を
1に設定し、リスト「x 座標」 「y 座標」の『リスト「場所」の一番目に格 納された数値』番目の座標数値を読み取り、スプライト「1」の座標を
1.5秒かけてその読 み取った座標数値の地点まで移動させる。例えば、リスト「場所」の一番目の数値が
5で あった場合、リスト「x 座標」 「y 座標」の五番目に格納された座標数値「65」 「-141」を読 み取り、スプライト「1」を座標(65, -141)に
1.5秒かけて移動させる。また、スプライ ト「2」ならリスト「場所」の二番目、スプライト「3」ならリスト「場所」の三番目とい うように、スプライト名に対応したリスト「場所」を参照するようにしてある。リスト「場 所」には重複しないようにランダムに
1から
26の数値が格納されているので、スプライト
「1」から「26」の移動先も重複することがなくなる。また「ローテーションボタン」スプ ライトが押される度、スプライト「1」から「26」の並びもランダムに変わるようになる(図
4-17)
。図
4-18は魚の絵が動くローテーションの地点である。ローテーションで動く向き
は地点
1から地点
2に進むように時計回りで動く。リスト「x 座標」 「y 座標」に格納され
た
26地点分の座標をただ規則的に回らせるのではなく、児童が自分の絵だけでなく他の人
の魚の絵に注視できるように、地点
27のアピールエリアを設け、そこで魚がアピールする
動きをするようにした。この動作は、先ほど述べたローテーションで動き始めるための初
期位置に移動させる動作が完了した後に実行される。まず、割り振られた初期位置の地点
から、次に動く地点をリスト「場所」と変数「i(全域) 」を用いて判別する。例えば、スプ
19
ライト「1」で、リスト「場所」の一番目の数値が初期位置の地点番号を表すので、次の地 点番号は『 【リスト「場所」の一番目の数値+変数「i(全域) 」の数値】を
27で割った余り の数値』となる。27 で割ったのは、一周期で変数「i(全域) 」の数値が
27ずつ増えるから である。この数値が
0でない、すなわち次に移動する地点が地点
27以外であれば、図
4-16の黒枠部分のプログラムで具体的に次に移動する地点を判別して進行方向に向きを調整さ せてから次の地点へと移動する。 『【リスト「場所」の一番目の数値+変数「i(全域)」の数 値】を
27で割った余りの数値』が
0、即ち次の移動地点が地点27である場合は、大きさ や角度を変えて波打つようなアピールの動きをする。そして「リサイズ」するためのプロ グラム(図
4-6)で用いた図4-8の線のスプライト「Sprite1」 「Sprite3」 「Sprite4」をここ でも用いて大きさを微調整しながら規則的な動きをするようにしてある。
図
4-15 魚の「ランダムな動き」から「規則的な動き」に切り替えるためのプログラム(a) プログラム(1/3)
図
4-16 魚のスプライトを整列させて規則的に泳がせるプログラム(図中の赤枠の部分のプログラムは本来なら
1列に繋がっているが、見やすいように編集
して
2列にして表記した。 )
20
(b) プログラム(2/3)
(c) プログラム(3/3)
図
4-16 魚のスプライトを整列させて規則的に泳がせるプログラム(続き)21
図
4-18 ローテーションで動く地点を表した画像図
4-17 「ローテーションボタン」を押す度に魚の初期位置が変わることを比較した画像22 4.6 授業実践を通して分かったこと
本授業実践では、積極的に取り組む児童の姿を見ることができ、描き終わった児童は他 にも絵を描こうとしたり、自身の魚の絵がプロジェクターに映された水槽に現れるのを待 ち遠しくしていた。魚をアップロードして見えるようにすると児童は「あ、~さんの魚や」
「見て見て、あれ僕が描いた魚」と反応したり、プロジェクターの前まで出てきて近くで 見ようとする児童が多数いた。また、筆者が教師として授業実践を進めて行く中で難点で あった所を「児童」と「教師」の視点で具体的に考えることができた。
「児童」の立場では(ア)お絵描きの時間、 (イ) 電子ペンの使い勝手、 (ウ)修正のテ クニック、(エ)塗り潰し、(オ)背景に色を付けたがるといったことが難点として挙げら れる。 (ア)お絵描きの時間に関して、描き始めるのに手本を見せながら説明等をする必要 があったため、描き始めるのに時間が掛かる。大体お絵描きの時間は
20分から
30分程を 見積もっていたが、お絵描きの時間で「何を描こうか」から考え始める児童が多く、お絵 描きする時間は短くなりがちであった。解決するためには、事前に詳しく担任の先生と話 し合いを進め、事前に「どのような絵を描こうか」と構想する時間を別で少しでも取って おくとスムーズに進められたと考える。ただ、
4クラスある内の実践が最後の方になったク ラスは、既に何をしたのか友達伝いに聞いていたようで、描きたい絵の構想が先に授業実 践をしたクラスよりも思い浮かんでいる様子であった。 (イ)電子ペンの使い勝手に関して、
手の握った箇所が画面に当たってペン先を検知させられず、意図しない線が入ってしまう 児童の姿が多く見られた。静電容量方式でなく、筆圧感知の電磁誘導方式または静電結合 方式になれば解決する可能性があると考える。(ウ)修正のテクニックに関して、「消しゴ ム」を左右に振らして消そうとする児童がほとんどであった。一つ前の状態に戻る「取り 消しボタン」も教えていたが、絵の輪郭や模様を一筆書きする児童が多く、取り消しボタ ンを押すと絵の大部分が消えて戻ってしまう場合が多かった。消しゴムの使い方にならす か、 「取り消しボタン」を活用する場合には、一度に輪郭を描くのではなく数回に分けて描 いていった方が良いということを児童に伝える必要がある。 (エ)塗り潰しに関して、閉曲 線にならず、塗る領域が全体に広がってしまう場面が見られた。この問題に関しては
TAに 筆の太さを太目に設定させることによって解決することができた。(オ)背景に色を付けた がるということに関して、数人の児童が背景に色や星や泡などのデコレーションを付けよ うとしていた。本アプリの「リサイズ」機能プログラムでは背景の色、星や泡を線が拾い、
泳いでいるように見えない、意図しない大きさになる危険性がある。そのため、背景は何 も描かないという指示が必ず必要となると考える。
次に「教師」の立場では(ア)ファイル保存と取り込み操作、 (イ)絵の位置の設定、 (ウ)
画像をアップロードした後に動作プログラムを繋げる操作といったことが難点として挙げ
られる。 (ア)ファイル保存と取り込み操作に関して、ファイル保存は
1年生の児童には難
しいため、教師が児童のパソコンでする必要がある。ただ人数が多いクラスの場合、時間
の都合上
TAの助力は必要不可欠となる。本実践では
25名の児童の
25個の画像ファイル
23
を先生機で読み込む時、共有フォルダへのファイルの到着がバラバラかつ再到着もあるた め、誰のファイルまで取り込んだか混乱した。故に本実践ではファイル名に氏名でなく端 末番号を追加するようにした。 (イ)絵の位置の設定に関しては、児童の描いている絵が中 心位置に描いているとは限らないため、中心位置へ移動させる操作が手作業で必要。また プログラムは絵が右向きに描かれていることを想定して組まれているので、左向きに描か れていた場合、反転ボタンを押して右向きにする手作業が必要となる。手作業ではあるが それほど時間は掛からないので
TAに設定するよう指示しておくか、児童に「右向きに描こ う」と指示を与えておく必要がある。 (ウ)画像をアップロードした後に動作プログラムを 繋げる操作に関して、本実践では魚の絵がアップロードされるまでは図
4-19のように、プ ログラムブロックを切り離して、 「画像リサイズ」と「魚をランダムに画面中に泳ぎまわら せる」プログラムが実行されないようにしている。アップロードが完了した場合にはプロ グラムブロックを繋げて旗を押せば実行されるようにする。このようにする理由としては 画像が空白なまま「画像リサイズ」機能を動かすと図
4-20のように、大きさがいつまでも 大きくなってしまうからである。図
4-20での数値の時に画像を読み込ませると、読み込み 画像を約
8倍の大きさにして表示させようとしてしまう。このように、大きさが大きいま ま画像を読み込むと処理が極端に遅くなってしまう可能性がある。問題を解決する為にプ ログラムブロックを切り離しているのである。また、画像をアップロードする際に一度プ ログラムの実行を止める、画像をアップロード度に上書き保存をすることをしておけば、
フリーズの防止や万が一フリーズしたとしても開き直して対応することができる。大きさ がいつまでも大きくなってしまうことに関して、大きさの値の制限を設定しておけば、い つまでも大きくなることはなくなりプログラムも切り離しておく必要がなくなると考える ので、今後の課題としてプログラムに追加していきたい。
今後の課題としては、
TAの人数が多すぎるので少しでも少ない助力で授業が成り立つよ
うにしていく必要があるということである。現場の教師で本授業実践を行うということを
考えると、
TAの人数を今回の授業実践のように集めることは困難であると考えるからであ
る。そのためには、先ほど述べた「大きさがいつまでも大きくなる」ことを解決できるよ
うなプログラムを考えて改良し、少しでも手作業の操作、手間を省けるようにしなければ
ならない。本授業実践は年々「動物を描く」 「虫を描く」のように形を変えて受け継がれて
いるので、これからもその受け継いだ実践者と話し合いをして洗練していきたい。
24
図
4-19 実行されないようにプログラムブロックを切り離した画面図
4-20 空白のまま「画像リサイズ」機能を数秒動かしたときのスプライトの大きさ25
第 5 章 Scratch を用いた図形理解を深めるための授業実践
2020
年からの「プログラミング」の必修化に向けた、プログラミング的思考力の向上を 実践する授業の一つとして、プログラムの逐次処理、繰り返し処理を体験させることで算 数科の図形理解を深めようとする授業を行った。先行研究として、プログラミング言語
「LOGO」を用いた杉野の研究[11]では、特に内角に着目して正多角形を描かせている。
LOGO
の基本的な特徴としては、簡単な命令文の文字を並べることによって、カメが動い て描画するというものである。杉野の研究では、命令文の文字を打ち込ませることなく使 えるようにボタンを作成し、数値を変えるだけで動作させられるようにしている。Scratch はビジュアルプログラミングであり、動作を持ったプログラムブロックを組み合わせてプ ログラムを作成するので、そもそもボタンを作成する必要はない。但し、LOGO とは異な り、図形を描く際の回転角度は外角を基本として考える必要がある。また、村田の研究[12]
や森の研究[13]では、Scratch を用いて正多角形を描くプログラムを作らせている。村田の 授業実践はクラブ活動の「パソコンクラブ」で行われている。森の授業実践においては、
正多角形を描くプログラムの作成に
8時間掛けている。本授業実践では、クラブ活動でな く算数科の中で学年全員を対象にして授業を行いたい。また、時間数についてもより少な い時数で効率的に学ばせることを目指した。
授業実践は
2016年に
4回、2017 年にも
4回行う機会があった。本章ではそれぞれの年 度における授業実践の内容とその結果を記述していく。
5.1 「星をえがこう!~Scratch
でプログラミング~」の授業実践
5.1.1 実践概要
2016
年
9月に行った授業実践[14-16]である。対象は津市立西が丘小学校の
5年生(4 ク ラス
132名)で、各クラス
1回(45 分間)の授業を行った。表
5-1は本授業実践の日程で ある。用いたプログラミングツールは
Scratch2.0で、授業の内容は、まず繰り返し処理を 用いた正五角形を描くプログラムから「なぜ
72度ずつ回転させながら描くのか」を児童が 理解し、その考え方を基に他の正多角形を描くプログラムの作成に挑戦させる。最後には、
応用として五芒星を描く場合の一回当たりの回転角度を考えプログラムを作成する活動を 行った。
表5-1 授業実践の日程
授業実践日 授業時間
TA9
月
15日(木)
1組
13:45-14:30 4組
14:40-15:25情報教育
2年
3人+3 年
3人
+4 年
3人+院生
1年
1人
9月
29日(木)
2組
13:45-14:303
組
14:40-15:25情報教育
2年
3人+3 年
3人
+4 年
3人+院生
1年
1人
26
授業は次の
1)から6)の手順で進めた。なお、大半の児童たちがScratch初体験である。
1)事前に用意した正五角形を描くプログラムから、プログラム実行時の動き、各種プログラ
ミングブロックの機能を説明(図
5-1)(a) 正五角形を描くプログラム(左)と
描画を消しスプライトの向きを設定する プログラム(右)
使うプログラムブロックの説明
・
⇒
動かすプログラムの一番最初に付ける。
画面の左上にある ボタンを押した時に、
プログラムが動くようにするため!
(b) プログラムブロックの説明1
・
⇒虫が向いている向きに、虫を動かすことができる
・
⇒虫を回すことができる
・
⇒虫の向きを上下左右に変えることができる
90度では虫は右を向く
(c) プログラムブロックの説明2
・
⇒「ペンを下ろす」をした後からは、
虫を動かすと線をえがける 例
・
⇒えがいた線を消すことができる
(d) プログラムブロックの説明3
・
⇒
何も動かないで休む時間を作れる
・
⇒
間にはさんだプログラムの動きを、
繰り返すことができる
く(e) プログラムブロックの説明4
図
5-1 正五角形のプログラムの提示と使用するプログラムブロックの説明スライド27
2)正五角形を描くプログラムの組み方を実演した後、同じプログラムを組ませる
回転角度の数値や進ませる歩数などの数値も自分で入力するようにし、
Scratchでのプロ グラムの組み方に慣れさせる。
3)正五角形を描く時になぜ72
度ずつ回転するのかを、正五角形を描き終わるまでの虫の目
線の向きの変化から説明(図
5-2)図
5-2正五角形を描く時になぜ
72度ずつ回転しながら描くのかについての説明
28
4)正六角形、正八角形、一筆書きの星を描くプログラムを作成する課題に取り組ませる(図 5-3)
虫の目線を主軸として考えてほしかったので、正五角形だけでなく、同じく描き終わる までに虫の目線が一回転する、正六角形、正八角形を描く課題を与えた。星はその応用で、
描き終わるまでに
2回転する。
(a) 課題の提示 (b) 五芒星の完成図と書き順の提示
(c) 星を描く課題のヒント1 (d) 星を描く課題のヒント2
図
5-3 課題の提示とヒントのスライド29
5)早くできた児童には、TA
の手本を見せて、各自で幾何学図形を描くプログラムの作成に
挑戦させる(図
5-4)6)解説、振り返りをする(図5-5)
五芒星の一画ずつを虫の目線に着目し、五芒星が描かれた後に虫の目線がちょうど二回 転していることを確認させた
図
5-4 自由課題での児童のプログラムが描いた図形(a) 星を描く時の虫の目線 (b) 一回当たりの回転角度の算出
図
5-5 星を描く課題の解説スライド30 5.1.2 アンケートによる理解度の確認
実践終了後に、児童たちの理解度を見るためにアンケート調査を行った。アンケートは
2016年
10月に実施した。主なアンケート項目について述べる。
(1)正五角形を描くプログラムにおいて、なぜ72
度回すのかを理解できたか
質問の隣には正五角形を描くプログラムの画像を張り付けておき、4 段階評定(1:まっ たく分からなかった、
2:あまり分からなかった、
3:何となく分かった、
4:よく分かった)
で回答を求めた。
(2)星を描くプログラムにおいて、なぜ144
度回すのかを理解できたか
質問の隣には星を描くプログラムの画像を張り付けておき、4 段階評定(1:まったく分 からなかった、2:あまり分からなかった、3:何となく分かった、4:よく分かった)で回 答を求めた。
(3)プログラム読み取り能力確認
本授業実践では、正多角形や星を描く課題後に、各自でプログラムブロックや数値を自 由に変えて、幾何学図形を描くプログラムの作成に挑戦させたので、 「プログラムを自分で 組む」という観点から、プログラム自体に対する理解を確認するような項目を用意した。
質問紙には図
5-6のように児童が作成した内から図形を描く
4つのプログラムを用意し、2 つのダミーを含んだ描かれる図形の候補
6つ用意した。プログラムと描かれると思う図形 を線で結ばせる形で回答を求めた。
図
5-6 プログラムの理解度を調べる質問31 5.1.3 アンケートの結果と考察
アンケート項目(1)、
(2)に関しては表5-2のようになった。
(1)、(2)の各項目の結果はあまり差が生じなかった。図形を描き終えるまでに虫の目線が何周(何度)回るのかというこ とに関して、正五角形と五芒星ではそれぞれ
1周、2 周と異なってはいるが、その虫の目 線を考えるという同じ思考のプロセスを辿ることから各項目の結果でそれほど差が生じな かったと考えられる。また、表
5-2の
4段階評定の内訳人数と割合から、アンケート項目
(1)、(2)においてそれぞれ79.7%、78.0%の児童が分かった側の回答をしている。
アンケート項目(3)における、
4つのプログラムが描く図形は図
5-7で示すように「円(図
5-7下部左から
3番目の図形) 」 、 「多数の円(図
5-7下部左から
6番目の図形)」、 「多数の 回転三角形(図
5-7下部左から
5番目の図形)」、 「星形の八角形(図
5-7下部左から
2番 目の図形)」である。正答率を算出(回答数=121、小数第二位を四捨五入)すると、「円」
に関しては
80.2%、「多数の円」に関しては
74.4%、「多数の回転三角形」に関しては
40.5%、「星形の八角形」に関しては
62.0%であった。4つの中で比較的簡単な「円」や「多数の円」
での正答率は
4つの中では高くなっているが、 「多数の回転三角形」や「星形の八角形」の 正答率は
4つの中では低く、プログラムの読み取り能力は、初めて
Scratchに触れる児童 が多かったことも考えられるが正多角形や五芒星の図形理解と比べると、そこまで身に付 いてはいないように考えられる。授業実践での児童の様子を振り返ると「数値を入れる→
試行→数値を変える→試行・・・」で取り組んでいた児童が多く、描かれた図形が偶然の 産物であった可能性が高いと考えられる。
図
5-7 アンケート項目(3)の解答とそれぞれの正解率回 答 数 平 均 値 標 準 偏 差 1( bad) 2 3 4( good) 118 3. 24 ( 0. 87) 5人( 4. 2%) 19人( 16. 1%) 37人( 31. 4%) 57人( 48. 3%) 118 3. 23 ( 0. 89) 5人( 4. 2%) 21人( 17. 8%) 34人( 28. 8%) 58人( 49. 2%)
*割合は小数第二位を四捨五入
表5-2 回転角度の理解度確認 (平均値、標準偏差、回答者の内訳人数とその割合)
( 1) なぜ72度回すのか分かりましたか ( 2) なぜ144度回すのか分かりましたか
4段 階 評 定 の 内 訳 人 数 と 割 合 *
32 5.1.4 本授業実践のまとめと今後の課題
2016
年の授業実践では
Scratchを用いて、正多角形について各辺の長さ、内角のそれぞ れ大きさが等しいというだけでなく、外角の概念も含ませて図形理解がより深まるよう算 数科と関連するような授業を構想し、授業実践を行った。アンケート調査では、約
8割の 児童から分かった側の回答が得られた。何故その数値の角度なのかを考えさせる発題を行 なえば図形理解が深まると思われる。しかしながら、プログラミングの能力については、
45
分の1回の授業では不足し、逐次処理と繰り返し処理だけで済む新しい課題を与えてプ ログラム作成させることは難しいと感じられた。授業の流れ
5)の「手本を見せて、各自で幾何学図形を描くプログラムの作成」において、偶発的に綺麗な幾何学図形ができた時や 近くの友だちの作品を見て触発された時に、とても盛り上がりを見せたが、何故その図形 になるのかまで理解が進まずにいた。手本からペンをどの順番で動かせば良いのか考える ところで、
TAに頼り切りになっていた。加えて「正多角形や星を描く課題と自由に幾何学 模様を描く課題の関連性が薄いこと」は今後の課題として考えていく必要があると本授業 実践通して捉えることができた。
また、現場の教師がこのような授業を行う場合、
TAの有無が重要であると思われる。本 授業実践では
10名程度の
TAを導入することで、全児童に課題を達成させることができた。
本授業実践では、1 クラスは事前に
Scratchを触らせて臨み、3 クラスは
Scratchを触っ たことなく臨んだが、授業遂行に違いを感じなかったのは
TAのサポートがあったからと 思われる。
アンケートでは「Scratch を使った授業をまたやりたいか」も尋ねており、回答数
115、4
段階評価で
80.0%の児童がまたやりたい側の回答をした。今後は、他教科他領域でのScratch
を活用した授業実践にも取り組み、プログラミング的思考力の向上をさせるには、
どのような課題を与えたら良いのかを考えていく必要がある。
33
5.2 「ビューティフルな図形をえがこう!」の授業実践 5.2.1 実践概要
2017
年
11月に行った授業実践[17]である。対象は津市立西が丘小学校の
5年生で、各ク ラス
1回(45 分間)の授業を行った。表
5-3は本授業実践の日程である。2016 年の活動で は「星をえがこう!~Scratch でプログラミング~」のタイトルの下、45 分間の中で、ま ず、正五角形を描くプログラムを教え、五芒星を描くプログラムに変形させる課題を与え た。その後、自由に幾何学模様を描くプログラムの作成にも挑戦させた。正五角形を描く 場合には、
72度ずつ回転させる必要があるが、何故
72度になるのか考えさせ、五芒星を描 く場合には何度回転させたら良いのかを問題にすることにより、図形理解にも繋げようと した。
実践後のアンケートから「なぜ~度回転させるのか」の理解度は高いが、幾何学模様に 関する質問からは、 「なぜそのような模様が描かれるのか」を考えられていない児童が多い ということが分かった。
そこで、
2017年の授業実践では、
2016年の授業実践では偶然の産物として描かれる場合 が多かった幾何学模様についても、プログラミング的思考に関わる繰り返し処理を理解さ せ、繰り返しの繰り返しで動くプログラムまで考えさせるようにした。
表5-3 授業実践の日程
授業実践日 授業時間
TA11
月
14日(火)
3組
13:45-14:30 4組
14:40-15:25情報教育
2年
3人+3 年
4人
+4 年
4人+院生
2年
1人
11月
17日(金)
1組
13:45-14:302
組
14:40-15:25情報教育
2年
3人+3 年
4人 +4 年
4人+院生
2年
1人
授業は次の
1)から8)の手順で進めた。2016年の授業実践にはなかった内容は
6)、7)の内容である。
1)事前に用意した正五角形を描くプログラムから、プログラム実行時の動き、各種プログラ
ミングブロックの機能を説明
2)正五角形を描くプログラムの組み方を実演した後、同じプログラムを組ませる
3)正五角形を描く時になぜ72
度ずつ回転するのかを、正五角形を描き終わるまでの虫の目
線の向きの変化から説明
4)正八角形、五芒星を描くプログラムを作成する課題に取り組ませる 5)五芒星を描くプログラムの解説をする
34
6)正方形を基にした幾何学模様を描くプログラムの仕組みを説明する(図5-8)
繰り返しの繰り返しを使うことで描かれる幾何学模様のプログラムを、児童に提示し描 かれる様子を見させるようにした。次に「なぜ幾何学模様が描かれたのか」の仕組みを理 解させるために、図
5-8(c)のように、内側の繰り返しが「正方形を描くもの」だということ、次いで虫の目線を「右回りに
60度回す」ということを確認させ『「正方形をえがいてから 右回りに
60度回す」ことを、6 回繰り返す』のようにプログラムを言葉で言い表すように した。6 回繰り返せば
360度回って元の位置に戻ってくるということも確認させた。
(c) なぜ幾何学模様が描かれたのかの説明
さらにチャレンジ!!
きれいな図形をえがいてみよう!
を複数使うときれいな図形がえがけるよ!
(a) 幾何学模様を描く課題の提示
どうすればいいの?(みんなもやってみよう!)
の中に、
を入れる。
そして、 の後ろに 例えば左の写真のように、
をつける。
できたら動かしてみよう!!
(b) 幾何学模様を描くプログラムの提示
図
5-8 例題を通して幾何学模様を描く仕組みを説明するスライド35
7)3
つの幾何学模様から一つ選ばせ、その模様を描くプログラムを作成する課題に取り組ま せる(図
5-9)何の図形が基になって描かれた幾何学模様なのかを提示した。図
5-9に示す幾何学模様で は右端の問題が一番難しい。それぞれ基となっている図形がどれだけ描かれているかに着 目させるようにした。
次の図形から1つ選んで、
その図形をえがくプログラムをつくろう!
正三角形が もとになっている
正八角形が もとになっている
正方形が もとになっている
(正方形を回すだけ じゃできないよ!)
むずかしい!!
(a) 3
つの幾何学模様を描く課題
(b) 幾何学模様課題の解答図
5-9 幾何学模様を描く課題提示と解答プログラムのスライド36 5.2.2 アンケートによる理解度の確認
実践終了後に、児童たちの理解度を見るためにアンケート調査を行った。アンケートは
2017年
11月に実施した。先に
2016年のアンケートの取り方とは異なる点を挙げると「4 段階評定」の取り方である。2016 年では選択項目の
1から
4の順に「まったく分からなか った」から「よく分かった」で回答を求めていたが、
2017年においては
1から
4の順に「よ く分かった」から「まったく分かなかった」で回答を求めている。また、2016 年では「あ まり分からなかった」 「何となく分かった」という聞き方をしていたが、
2017年では「どち らかというと分かった/分からなかった」という聞き方にしている。具体的にアンケート項 目について述べる。
(1)正五角形を描くプログラムにおいて、なぜ72
度回すのかを理解できたか
質問の隣には正五角形を描くプログラムの画像を張り付けておき、4 段階評定(1:よく 分かった、2:どちらかというと分かった、
3:どちらかというと分からなかった、4:まったく分からなかった)で回答を求めた。
(2)星を描くプログラムにおいて、なぜ144
度回すのかを理解できたか
質問の隣には星を描くプログラムの画像を張り付けておき、4 段階評定(1:よく分かっ た、2:どちらかというと分かった、3:どちらかというと分からなかった、4:まったく分 からなかった)で回答を求めた。
(3)
どのように「正方形を基にした幾何学模様」の図形が描かれたかを理解できたか 質問の下に授業で扱った正方形を基にした幾何学模様を張り付けておき、
4段階評定(1:
よく分かった、2:どちらかというと分かった、3:どちらかというと分からなかった、4:
まったく分からなかった)で回答を求めた。
(4)プログラム読み取り能力確認