オンライン研修動画
2020年度から小学校においてプログラミング教育が必修化されました。小学校教員向けに校内研修や自己研修で活用できる資料を作成しました。ぜひ、校内研修等で活用していただき、プログラミング教育の実践に生かしてください。
オンライン研修用動画
小学校教員向けにプログラミング教育研修用動画を作成しました。研修用動画の視聴にあたって次の点を御確認ください。
1.学校での校内研修や教員の自己研修においてご活用ください。
2.各研修用動画の再生時間は10分程度です。
3.動画を視聴する場合は、画像上に表示される「再生」ボタンをクリックしてください。
4.資料をダウンロードする場合は、「資料のダウンロード」をクリックしてください。
なお、研修後の御意見や実践された内容に関する投稿をお待ちしております。「事例・アイデアー交流のページー」での投稿、または愛媛県総合教育センター情報教育室まで御連絡ください。
■ プログラミング教育の概要1<講義>
▶動画の概要
・小学校プログラミング教育の位置付け
・小学校プログラミング教育のねらい
・小学校プログラミング教育で育みたい資質・能力
▶動画の再生時間(8分11秒)
■ プログラミング教育の概要2<講義>
▶動画の概要
・「プログラミング教育の概要1」の続編
・プログラミングに関する学習活動例
・プログラミング教育を進める上での留意点
▶動画の再生時間(4分37秒)
■ プログル-多角形コース編-1<実習>
【動画は会員ページに掲載】
▶動画の概要
・小学校第5学年の算数「円と正多角形」における学習
・ウェブ上のプログラミング教材「プログル」を利用する。
・プログラミングでキャラクターを動かして図形を描きながら、多角形の性質を学習する。
・STEP1 ~ 5を掲載(正方形・正三角形を描く。)
▶動画の再生時間(9分49秒)
▶資料のダウンロード(pdf,2.9MB)※プログルのウェブサイトで提供されています。
■ プログル-多角形コース編-2<実習>
【動画は会員ページに掲載】
▶動画の概要
・「プログルー多角形コースー1」の続編
・STEP6 ~ 8を掲載(正六角形・正五角形・正八角形・正十角形・正七角形、星型を描く。)
・プログラミングの基本的な概念である「順次処理」「繰り返し」を身に付けることができる。
▶動画の再生時間(11分20秒)
■ PGCon(ピジコン)1<実習>
【動画は会員ページに掲載】
▶動画の概要
・小学校第6学年の理科「電気の利用」における学習
・プログラミング教材「PGCon(ピジコン)」を利用する。
・電気を効率的に利用する方法などをプログラミングで体験し、その仕組みを学習する。
・「PGCon(ピジコン)」に関する詳細は、次の紹介ページで確認できます。
「PGCon(ピジコン)」紹介ページへのリンク
▶動画の再生時間(9分36秒)
■ PGCon(ピジコン)2<実習>
【動画は会員ページに掲載】
▶動画の概要
・「PGCon(ピジコン)1」の続編
・LEDを一定時間点灯させるプログラムの作成
・イルミネーション(点灯と消灯を繰り返す)プログラムの作成
・センサーを利用したプログラムの作成
▶動画の再生時間(12分25秒)
■ Scratch(スクラッチ)1<実習>
【動画は会員ページに掲載】
▶動画の概要
・小学校第5学年の算数「円と正多角形」における学習
・ウェブ上のプログラミング教材「Scratch」を利用する。
・キャラクターを動かす。
・ペンで線をかく、消す。
・正方形をかくプログラムの作成
・「Scratch(スクラッチ)」に関する詳細は、次の紹介ページで確認できます。
「Scratch(スクラッチ)」紹介ページへのリンク
▶動画の再生時間(10分50秒)
■ Scratch(スクラッチ)2<実習>
【動画は会員ページに掲載】
▶動画の概要
・「Scratch(スクラッチ)1」の続編
・繰り返しの処理で正方形をかく。
・正三角形、正六角形、正八角形をかく。
・プログラミング体験のねらいについて
▶動画の再生時間(10分53秒)
■ Scratch(スクラッチ)3<実習>
【動画は会員ページに掲載】
▶動画の概要
・「Scratch(スクラッチ)2」の続編
・正五角形をかく。
・演算ブロックを使った角度の計算
・様々な正多角形をかく。
・まとめ
▶動画の再生時間(7分47秒)
■ アンプラグドコンピューティング<講義・演習>
【動画は会員ページに掲載】
▶動画の概要
・アンプラグドコンピューティングの概要
・小学校第4学年の算数「2けた÷1けたのわり算」における学習
・児童のプログラミング的思考を育む演習
・教科での学習において活用できる事例の紹介
▶動画の再生時間(15分23秒)
▶参考資料 本サイト内「アンプラグドコンピューティング」のページ
ICT活用指導力向上研修
小学校教員の指導力向上を目的に、オンラインで自己研修できる資料を作成しました。
注意事項をご確認いただき、研修動画の視聴をお願いします。
<注意事項>
1 ワークシートは、研修前にダウンロードしてご活用ください。
2 研修内で例題や演習に取り組む際には、動画を一時停止してください。
<研修資料>
◆【アルゴリズム・フローチャート編】
● 研修動画
Scratchでプログラミング教育を学ぶ
本ページで紹介する研修題材は、「順次」「分岐」「反復」といったプログラミングの基本構造のほか、コンピューターに記憶を与える「変数」などのプログラミングの基礎的な内容、そして、効率的なプログラミングに欠かせない「ライブラリー」の利用についての理解につながることを目指したものです。
それぞれの演習問題には、Scratch3で作ったサンプルプログラムファイルが添付されていますので、
Scratchプログラミング環境を起動し、サンプルプログラムを展開して、課題となっているプログラミングに挑戦しながら、研修を進めていってください。
それぞれ、解答例もついていますので、参考にしてください。
ただし、同じ動作を実現するプログラムでも、書き方は様々ですので、あくまでも参考にしていただければと思っています。
- Scratchプログラミング環境を起動しておく(外部サイト(オフラインエディターでも可))。
注意:Scratch3.0は、Internet Explorerに、対応していません。Microsoft EdgeまたはChromeをお使いください。 - 本ページのサンプルプログラムの表示(例:「演習1_ダウンロード」)をクリックして、使用している端末にダウンロードする。
- ダウンロードされたファイル(Windows端末なら、デフォルトでは「ダウンロード」フォルダーに格納される。)のファイル名を確認する。
- 1で準備していたScratchプログラミング環境において、ツールバーの「ファイル→コンピューターから読み込む」を選択する。
- アップロードするファイルを選択するフォームが現れるので、これを使って、3で確認したファイルをScratch3プログラミング環境内に読み込んでください。
(ミッション)
与えられた 9 つのブロックを使って、
次の 1, 2, 3 からなるミッションをクリアするプログラムを完成させましょう。
(フローチャート)
(使用するブロック)
注:「左の数」と「右の数」は 変数カテゴリーの中の「変数を作る」で作成した「変数」です。
(ミッション)
与えられた6つのブロックを使って、
ネコをクリックするとカウントダウンが始まるプログラムを完成させましょう。
(使用するブロック)
注:「数」は 変数カテゴリーの中の「変数を作る」で作成した「変数」です。
(ミッション)
(プラスアルファ!)
ミッションに書かれた機能以外に付加したい機能を考えて、プログラミングを楽しみましょう。
例:ドラムをクリックしたとき、スティックが動き、音が鳴る。
スコアが10上がるたびに、背景が変わる。 など
(ミッション)
与えられた9つのブロックをネコとおサルさんに分けて、プログラムを作成し、
ネコの質問におサルさんが答えるプログラムを完成させましょう。
(使用するブロック)
注:「『質問』を送る」は「質問」というメッセージを送信するブロック、 「『質問』を受け取ったとき」は「質問」というメッセージを受信したときに動くプログラムを書くときに、最初に付けるブロックを表します。
この「質問」というメッセージのように、新たにメッセージを作成するときは、 「『・・・』を受け取ったとき」ブロックの『・・・』の右横にある下三角印をクリックして「新しいメッセージ」を選択することで、作成できます。
動画で考える授業研究
授業研究ー6年生理科「電気と私たちの生活」
授業概要
単元名 電気と私たちの生活(6年生理科)
小単元名 効率的な電気の利用
実施校 A小学校 令和元年12月20日実施
授業の目標 センサーを使ってプログラミングする活動を通して、身の回りにある電気を効率よく利用した道具があることに気付く。
参考資料 学習指導案(PDFファイル)は会員ページに掲載
準備物 パソコン(タブレット)・プログラミングスイッチ・モーター・発光ダイオード プロペラ・紙コップ・クリップつき導線・電池・乾電池ホルダ
授業展開
【動画は会員ページに掲載】
- 身の回りにある電気を節約する仕組みについて考える。
- どのような省エネのための仕組みがあるかグループで考える。
- グループごとに考えた仕組みを発表する。
- プログラミングについて知る。
- 身の回りの便利な仕組みにおいて、コンピュータの果たしている役割を知る。
- センサーの役割を考える。
- 人感センサーを用いた「扇風機」のプログラミングを全体で考える。
- 条件に応じて動作を変更させるためのプログラムについて学ぶ。
- Scratchにプログラムし、組み立てたプログラムで正しく動くか試す。
- 明るさ・人感センサーを用いた「玄関の照明」のプログラミングを考える。
- 周りの明るさや人の存在を光るか光らないかの条件にするためのアルゴリズムを考える。
- Scratchにプログラムし、組み立てたプログラムで正しく動くか試す。
- みんなのプログラムを比較する。
- 本時のまとめ、振り返り
解説
学習指導要領との関連
小学校学習指導要領(平成29年告示)での、プログラミングについての記述を見てみましょう。
第1章「総則」において、主体的・対話的で深い学びの実現に向けた授業改善を実現するための、各教科等での配慮事項として、言語活動の充実等と並んで、プログラミング体験が挙げられています(第1章第3の1の(3) )。
第2の2の(1) に示す情報活用能力の育成を図るため、各学校において,コンピュータや情報通信ネットワークなどの情報手段を活用するために必要な環境を整え、これらを適切に活用した学習活動の充実を図ること。また,各種の統計資料や新聞、視聴覚教材や教育機器などの教材・教具の適切な活用を図ること。
あわせて、各教科等の特質に応じて、次の学習活動を計画的に実施すること。
ア 児童がコンピュータで文字を入力するなどの学習の基盤として必要となる情報手段の基本的な操作を習得するための学習活動
イ 児童がプログラミングを体験しながら、コンピュータに意図した処理を行わせるために必要な論理的思考力を身に付けるための学習活動
ここで述べられているように、プログラミング教育では、体験を通して論理的思考力を身に付けるという観点が必要です。
プログラムは意図した処理をコンピュータに指示するものです。プログラムの仕組みを体験的に理解したり、設定したい動作を実現するために、どのような仕組みをどのような順番で組み込んでいくかなどを考えながらプログラミングすることにより、子どもたちは、身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに、自然に気付いていくことになります。
つまり、プログラミング教育で大切にしたいのは、そういった、体験から自然発生する気付きなのです。
なお、第2章第4節「理科」では、
第1章総則の第3の1の(3) のイに掲げるプログラミングを体験しながら論理的思考力を身に付けるための学習活動を行う場合には、児童の負担に配慮しつつ、例えば第2の各学年の内容の〔第6学年〕の「A物質・エネルギー」の(4) における電気の性質や働きを利用した道具があることを捉える学習など、与えた条件に応じて動作していることを考察し、更に条件を変えることにより、動作が変化することについて考える場面で取り扱うものとする。
とあり、身近な生活でコンピュータが活用されている場面等を題材にすることにより、組み込みたい動作を実現するためには、その動作が発生する際の条件設定が大切であることや、それをプログラムに手順として組み込むことにより、意図した処理を行うよう指示することができることを、体験を通して理解させることが大切であるとされています。
電気の性質や働きを利用した道具があることを捉える学習が例示されていますが、上記のことを考慮に入れれば、本事例の授業者が題材にした「人が近くにいた場合のみ動く扇風機」や「家の外灯」は、そういった仕組みを考察し、理解するのに適した教材と言えます。
参考に、学習指導要領でプログラミングについての記述がある「算数」「総合的な学習の時間」での記述を記載しておきます。
「理科」での記述と比べてみてください。
第2章第3節「算数」での記述:
第1章総則の第3の1の?のイに掲げるプログラミングを体験しながら論理的思考力を身に付けるための学習活動を行う場合には、児童の負担に配慮しつつ、例えば第2の各学年の内容の〔第5学年〕の「B図形」の?における正多角形の作図を行う学習に関連して、正確な繰り返し作業を行う必要があり、更に一部を変えることでいろいろな正多角形を同様に考えることができる場面などで取り扱うこと。
第5章「総合的な学習の時間」での記述:
情報に関する学習を行う際には、探究的な学習に取り組むことを通して、情報を収集・整理・発信したり,情報が日常生活や社会に与える影響を考えたりするなどの学習活動が行われるようにすること。第1章総則の第3の1の?のイに掲げるプログラミングを体験しながら論理的思考力を身に付けるための学習活動を行う場合には、プログラミングを体験することが、探究的な学習の過程に適切に位置付くようにすること。
ここがポイントー授業をこう見るー
本授業には、プログラミング教育に関する見どころがたくさんあります。いくつか授業参観のポイントを挙げますので、授業研究の際の参考にしてください。
-
授業参観の観点を決める
まずは、プログラミング教育の視点から、自分なりの、授業参観の観点を設定しましょう。
一例を挙げてみます。設定例:
- 学びや協議の中で、児童が目的意識を持ち、自主的に問題を解決しようとする意欲や態度がいかに育っているか。
- 児童のわくわく感を、論理的に考えることの楽しさに、いかに繋げられているか。
参考に、「小学校におけるプログラミング教育のねらい」についての文章を記載しておきます。これを、自らの授業観に照らして、自分なりの観点にアレンジしなおすと良いのではないでしょうか。
小学校におけるプログラミング教育のねらいは、「小学校学習指導要領解説総則編」においても述べていますが、非常に大まかに言えば、①「プログラミング的思考」を育むこと、②プログラムの働きやよさ、情報社会がコンピュータ等の情報技術によって支えられていることなどに気付くことができるようにするとともに、コンピュータ等を上手に活用して身近な問題を解決したり、よりよい社会を築いたりしようとする態度を育むこと、③各教科等の内容を指導する中で実施する場合には、各教科等での学びをより確実なものとすることの三つと言うことができます。
(「小学校プログラミング教育の手引き(第二版)」(2018 文部科学省)より) -
プログラミング的思考を働かせている場面を感受する
「プログラミング的思考」を二つの言葉でまとめ直すと、「アルゴリズム化」+「プログラミング」となります。
つまり、問題解決の手順を明確化すること(アルゴリズム化)、その上で、それをコンピュータに指示を与えるためのプログラムの形にすること(プログラミング)、そして、それを論理的に行うこと、これが「プログラミング的思考」なのです。
しかし、手順を考えたり、それをプログラムの形にする際には、どうしても、論理的に考えざるを得ません。ですから、適切な題材と指導により、子どもたちは、自然にプログラミング的思考を育んでいくのです。特に、プログラミングをものづくりとして捉えれば、必要なものを自分で調達せざるを得ませんから、必要な知識や考え方は自分で獲得していくことになります。これが、プログラミング教育が「自ら学ぶことを学ぶ教育」であると言われる所以なのです。
一例を挙げましょう:
動画の14分30秒のシーンで、照明のスイッチを入れるときの条件を「暗いとき人が近づいたら」としていた児童が、プログラミングする際は、これを「暗くなったかつ人を感知したら」と言い直しています(15分33秒のシーン)。
「人が近づいた」を「人を感知した」と言い直しているのは、用意されているブロックがセンサーを主語にしたものだからでしょうが、注目すべきは、「AのときBならばC」という事柄を「AかつBならばC」と、自然に言い直している所でしょう。
「~のとき」は条件を表していますから、「AのときBならばC」は、プログラム的には「Aならば『BならばC』」ということになります。これが「『AかつB 』ならばC」と同値であることに気付くことは、論理的な考察無くしてはなし得ないことです。
これには、授業者の工夫が大きく関わっていると考えられます。
授業者は、児童のコンピュータに配付したプログラミング用の作業スペースに、あらかじめ使用することが期待されるブロックを用意していました(具体的には、「明るくなった」「暗くなった」「人を感知した」「人を感知しなくなった」「スイッチを入れる」「スイッチを切る」「【 】なら【 】」「【 】なら【 】でなければ【 】」「【 】かつ【 】」「【 】または【 】」の10のブロック)〈参考:11分40秒のシーン〉。
子どもたちは、作業スーペースを見て、当然、これらのブロックを使って「暗いとき人が近づいたら」という条件を、どう表現すればいいのだろうかと考えるわけです。
まさにこのとき、プログラミング的思考が発揮されたのです。
意図した動きをさせるための命令をするためには、プログラミング言語を使って、そのプログラムの言葉に翻訳する必要があります。このシーンは、子どもたちが、このことを理解した瞬間だったと思います。まさに、自然な形で。
このように、適切な題材と指導により、子どもたちが自然に、プログラミング的思考を発揮している場面は、ほかに、いくつもあります。
そういった観点で、動画を見てみると、プログラミング教育のよさ・おもしろさがより伝わってくると思います。
-
「AかつB」「AまたはB」「Aでない」ー論理演算ー
プログラミングをしていると、子どもたちは、必要なものや知識を自分で調達し、解釈して、試行錯誤しながらやがては自在に扱うようになってきます。「かつ」や「または」がいい例。実際に、この授業では、子どもたちが、「かつ」や「または」を自在に使いこなしていますが、実際にそうなっていることを目の当たりにすると、驚きを禁じ得ませんね。
しかし、不思議ですよね。子どもたちは、なぜ「かつ」という言葉を知っていたのでしょうか。
ここにも、授業者の工夫が隠されているのです。
「かつ」「または」「でない」の三つは、プログラミング的には「論理演算子」と言って、コンピューターにとっては、四則演算同様、計算に使う重要なものとなります。当然、プログラミングをする場合には、多くの場面で使うことになりますから、論理演算についての理解は必要になります。
では、授業者は、どういった工夫をして、子どもたちにとって「かつ」などの論理演算子を身近な言葉にしていったのでしょうか。
キーワードは、「アンプラグドコンピューティング」です。
実は、授業者は事前に、「かつ」ということばを使って言い直すといったゲームを行って、子どもたちが、「かつ」を身近に感じられるようにしていたのです。
例:「うれしいし、たのしい」→「うれしい かつ たのしい」
まさに「アンプラグドコンピューティング」ですね。
プログラムは、コンピュータに指示を与えるための文章ですから、当然、言葉として捉えることは重要な観点といえます。授業者が行った、この、楽しい事例は、その観点から見て、非常に象徴的であると考えます。
プログラミングもしくはアンプラグドコンピューティングを通して、子どもたちの表現力を広げることができる。プログラミング教育は、そういった可能性を秘めているのです。
補足ード・モルガンの法則を見つけた子どもたちー
16分38秒のシーンは、児童が作成したプログラムの二つ目の紹介です。
まず、子どもたちが作成したプログラムは、「もし、暗くなったかつ人を感知したなら、スイッチを入れる、でなければ、スイッチを切る」というものでした(16分15秒のシーン)。
当然、このプログラムは意図した動作をする正しいプログラムです。しかし、プログラムは表現方法の一つですから、表し方は一意ではありません。プログラムする児童の思考を反映したものになります。
16分38秒のシーンで、教室の大型テレビ画面に表示されたのは、スイッチを切る(またはスイッチが入っていない)条件を分析し、「もし、明るくなった、または人を感知しなくなったなら、スイッチを切る」と表現したプログラムでした。
ところで、皆さんは「ド・モルガンの法則」をご存じでしょうか。
$$ \lnot (p \land q) \Leftrightarrow \lnot p \lor \lnot q $$
$$ \lnot (p \lor q) \Leftrightarrow \lnot p \land \lnot q $$式で書くと、このようになりますが、「かつ」「または」で連結された条件式を否定すると、「かつ」「または」が逆になるといったことです。つまり、「$$p$$かつ$$q$$」の否定は「$$p$$でない、または$$q$$でない」となるといったことです。
これは、高校で学習する内容になっているのですが、実は、この授業では、プログラミングを通して、子どもたちがこの事実を、自然に発見する場面が見られます。
その現れが、16分38秒のシーンなのです。
16分15秒のシーンで表示されたプログラム中の「(暗くなったかつ人を感知した)でなければ」を「『明るくなった、または人を感知しなくなった』なら」と表現しているわけですが、これは、まさに、ド・モルガンの法則の考え方そのものでしょう。
条件「$$p$$かつ$$q$$」の否定は、「$$p$$でないまたは$$q$$でない」という条件と同値であるので、この分析は正しいですが、実際には、「でなければ」を用いることと同じことになり、煩雑になっただけのように見えます。
しかし、注目すべきは、条件「$$p$$かつ$$q$$」の否定が「$$p$$でないまたは$$q$$でない」という条件と同値であるという、高校数学で学習することになるド・モルガンの法則の一部を、小学校6年生が、自らの目的を達成するために自然な形で導出したことにあります。
目的のために自ら学び考えることが自然な形で行われるというプログラミング教育の特徴的な一面が表出された瞬間でした。
プログラミングーつっこんだ話題ー
フローチャートを描いてみると・・・
意図した動作を起こさせるための条件を考えさせることを重視したため、授業者は、「条件設定」を「言葉」で書かせるという指導を行っています。
これは、学習指導要領にある「与えた条件に応じて動作していることを考察し、更に条件を変えることにより、動作が変化することについて考える」という活動に合致したものでしょう。
しかし、フローチャート(処理の流れを図解化したもの)で攻めるのも、一つの方法です。図を描く分、時間がかかりますが、プログラムを考える大きなヒントになるので、今後、プログラミングの機会が増えてくることを考慮に入れれば、フローチャートによる表現を経験することの意義は深いものと考えます。
例えば、動画の中で、児童が「暗くなったとき、人が近づいたら、スイッチを入れる・・・」と、照明に与えたい仕組みについて発表していますが、これを生かしてフローチャートを描くと次のようになります:
さて、これを生かして、プログラムを作成すると、どのようになるでしょうか。
実は、「もし【】なら【】でなければ【】」ブロックを二つ、入れ子状態にして配置することになります:
いかがですか?論理構造として、複雑に見えますね。しかし、フローチャートを見れば、このように「もし」ブロックを入れ子にすることが自然だということが分かりますよね。
実際のプログラミングの場面では、このように、「条件分岐」や「繰り返し」を入れ子にしたプログラムを作成することは多くあります。中学校や高校でのプログラミングのことを考えれば、このような、フローチャートによる表現とそれを反映したプログラムの作成についても学習してみることは、意義深いと思われます。是非、参考にしてください。
Scratchによる「家の外灯」シミュレーション
授業では、「プログラミングスイッチ」という教材を使って、実際にLEDを光らせていました。
ただし、こういった教材を使用しなくても、Scratchなどのプログラミング環境があれば、シミュレーション教材を作成して、シミュレーションによる学習や先生方の研修会を実施することも可能です。
Scratch3.0による「家の外灯」シュミレーション作成用教材を用意しました。ダウンロードし、それをScratchプログラミング環境に読み込んでお使いください。