プログラミング学習が必修化されたことはいいことだとは思うんだけど、まだ授業をしたことがなくて、はじめはどんなことをやったらいいのか悩んでます。
という悩みにおこたえします。:じゃあどうする?
<本記事の内容>
●初めてScrachを教えるときの授業の流れ(本時案)
●小学校で扱うプログラミングとは
●プログラミングに関する学習活動の分類【6分類】
●プログラミングの授業の形態【3タイプ】
●プログラミングの授業の目的【2タイプ】
プログラミングの授業はやってみると子供たちも楽しそうに活動をするし、どんどん難しいことにもチャレンジしていくし、なかなか奥が深いものです。
でも初めの一歩はかなり抵抗がありますよね。
そこで、そんな先生方に向けて、まずは一歩目を踏み出すためのヒントをお伝えできたらと思います。
後半には、小学校で扱うプログラミングについてわかりやすくまとめてあるので、目を通していただけららと思います。
私は長いこと教育関係の現場を渡り歩き、教育研究所では学校ICTの研究にも携わってきました。
もしよかったらプロフィールのページにもお立ち寄りください。
初めてScrachを教えるときの授業の流れ(本時案)
いきなりですが、Scrach(スクラッチ)という子供向けのプログラミング言語を、初めて教えるときの授業の流れについてまとめてみました。
Scratchは全国の小中学校で広く使われているので、先生方も一通りの知識を身につけておいた方がいいでしょう。
初めてのプログラミングの授業
子どもたちが授業として初めてScratchを学ぶときという前提なので、導入として「プログラミングとは」という時間をとってあります。
<本時の流れ>
① (導入)プログラミングとは
② (活動1)Scratchをはじめてみよう
③ (活動2)ネコを動かそう
④ (活動3)線を引こう(5年生の算数の正多角形を意識して)
⑤ (活動4)課題に挑戦しよう(先に進みたい子供のために)
⑥(まとめ)プログラミングについて確認する
それでは、本時の流れの各項目についてパソコンの画面を交えながら、説明します。
① プログラミングとは(導入)
「全自動洗濯機について考えてみましょう。」
「スイッチを入れたあと、スタートボタンを押すだけで仕上がってしまう洗濯機があります。」
「みんながスタートボタンを押した後、洗濯機の中ではどんなことがおきているのかな?」
子どもの反応
「水が出て止まる」
「洗い始める」
「うちの洗濯機は汚れセンサーがついてるよ」
などなど、子どもたちの反応は止まらなくなることでしょう。
そこで先生は、あらかじめ用意しておいたカードで、洗濯機の動きの流れを整理してみます。
あえてカードにしたのは、それがプログラミングの「命令」や「コード」に当たるものだからです。
一通りの流れがわかったところで、自動のスイッチを押したあと、洗濯機の中に入っているコンピュータが水の量、動きの強さ、時間などを判断しながら、並べたカードにしたがって洗濯物を洗う、そのカード一つ一つが命令で、順序よく命令を並べることがプログラミングだということを伝えましょう。
② Scratchをはじめてみよう(活動1)
パソコンでScratchを立ち上げる。(パソコンを立ち上げる等の作業はここでは省略します)
クラスのみんながScratchを立ち上げたところで、大きな画面またはスクリーンでScratchの画面の使い方を簡単に説明します。
スクラッチのサイトはこちらから
<作ってみよう> をクリックしましょう。
<閉じる> をクリックして、チュートリアル(説明動画)という小さな画面を閉じましょう。
画面の大まかな説明をします。
●「ブロックパレット」:ここに並んでいる命令ブロックを使ってプログラミングをします。
●「スクリプトエリア」:命令ブロックを並べてプログラミングをする場所です。
●「ステージ」:プログラムを実際に動かしてみる場所です。
この画面では、このネコをプログラムで動かすことができます。
ネコだけでなく、いろいろなスプライト(キャラクター)を動かすことができます。
もちろんオリジナルのスプライトも作れます。
●「スプライトリスト」:プログラムで動かすスプライトを用意しておくところです。
●「ステージリスト」:スプライトを動かすステージの背景を変更したりするところです。
今回の授業で使うのは「ブロックパレット」「スクリプトエリア」「ステージ」の3つです。
③ ネコを動かそう!(活動2)
「今、ネコのスプライトが止まっているのは、何もプログラムされていないからだよ。
だから、ネコが動くように命令を並べてプログラムしてみよう。」
「左上の <10歩動かす> という命令ブロックを右のスクリプトエリアにドラッグアンドドロップしてください。」
「これでプログラム完了です!」
「たった1つの命令でも立派なプログラムなのです!」
「この命令を実行するためには、スクリプトエリアにおいたブロックをクリックしてみましょう」
「ほんの少しだけ右に動きましたね。」
「今度はブロックの中の数字を変えてみましょう。」
「 <-10> と入力してみます。」
注意!数字は半角で入力させてください。
「ブロックをクリックしてみよう!」
「ネコはさっきとは反対の方向に動いたね。」
「ということは、プラスの数字だと前向きに、マイナスの数字だと後ろ向きに動くんだね。」
プラス、マイナスの言葉は学年に合わせて説明しましょう。
「少し時間をあげるからいろいろ数字を変えてネコを動かしてごらん。」
この時間を取りすぎると、あとの活動の時間がなくなってしまうので、さらっと進めましょう。
④ 線を引こう(活動3)
「はじめは線を引く命令ブロックが表示されていないので、新しく表示させてみましょう。」
「左下の <+> をクリックします。」
「 <ペン> をクリックしましょう。」
「ペンに関係した命令がたくさん追加されましたね。」
「この命令を使うことで、ステージに線を引くことができます。」
「早速、こんな命令の組み合わせを作ってみます。」
先生の画面を見せて、同じように命令を組ませます。
「一番上の <旗が押されたとき> という命令は、プログラムのスタートを命令するものなので、これからはプログラムの先頭にこの命令ブロックをつけてください。
「早速、ステージの右上の
<緑の旗> をクリックしてみましょう。」
「ネコが右に動いてそのあとに線が引けましたね。」
「少しの間、自由に線を引いてみましょう。」
他の命令も使っていいことにします。
⑤ 課題に挑戦しよう!
ここで2つほど課題を用意しましたが、これは進み方が早い子ども用という扱いでいいと思います。
こうした小さな課題を用意しておくことで、進度の違う子どもたちが飽きないようにするといいですね。
課題1 点線を引いてみよう!
解答 1
課題2 シマシマの線を引いてみよう!
解答2
解答1と解答2は、プログラミングとしては「繰り返し」という命令を使って次のように記述しますが、今回はあくまでも導入なので「繰り返し」という命令は使わずに表現しています。
この「繰り返し」という命令を教えることで、5年生の「多角形の作図」のところで活きてきますね。
⑥ まとめ
導入で扱った内容と活動で覚えた命令のことを交えながら、プログラミンングが身近なものであることを子どもたちに伝えましょう。
今回の授業はここまでとします。
「本時の流れ」というより「手順書」になってしまいましたが、まずはこれでScratchワールドの入り口に入りました。
この先、どの方向に進むのか? それは先生方次第です。
進む先の参考例として、文科省、総務省、経済産業省がすすめているプロジェクトのホームページをご紹介します。
このサイトにはたくさんの実施事例が分類され掲載されているので、まずはこのようなところから進む方向を探っていってもいいと思います。
「小学校を中心としたプログラミング教育ポータル」へのリンク
ここから先は、小学校でのプログラミング教育そのものについてまとめてあります。
プログラミング教育の世界に足を踏み込むときの一つの地図になるかと思います。
小学校で扱うプログラミングとは
プログラミング教育で目指すもの
最初に少しだけ堅い話を書きます。
学習指導要領に書かれているプログラミング学習の目的を見てみましょう。
新学習指導要領の総則では、
児童がプログラミングを体験しながら,コンピュータに意図した処理を行わせるために必要な論理的思考力を身に付けるための学習活動
小学校学習指導要領(平成29年告示) 総則
に取り組むこととされています。
また、解説では、次のように明記されています。
小学校段階において学習活動としてプログラミングに取り組むねらいは,プログラミング言語を覚えたり,プログラミングの技能を習得したりといったことではなく,論理的思考力を育むとともに,プログラムの働きやよさ,情報社会がコンピュータをはじめとする情報技術によって支えられていることなどに気付き,身近な問題の解決に主体的に取り組む態度やコンピュータ等を上手に活用してよりよい社会を築いていこうとする態度などを育むこと,さらに,教科等で学ぶ知識及び技能等をより確実に身に付けさせることにある。
小学校学習指導要領(平成29年告示)解説 総則編
すなわち、将来プログラマーになれるようにプログラミングの基礎を学んでおきましょう!というようなものではありません。
また、「必修化」と言われ、保護者の中には「プログラミング」という教科ができると勘違いしている方もいたりしますが、そうではありません。
「必修化」といわれてもカリキュラムがあるのではなく、学習内容も示されているものでもない。
ある意味自由度が高いのですが、その自由度の高さこそが先生方の悩みどころではないでしょうか。
教科書があって学習内容があれば、それに向けた教材研究もしやすいというもの。
でも、それがないのだから自分で教材研究をして自分で授業の流れを作らなくてはならないのです。
自治体によっては自治体の設備に合わせ、カリキュラムを作成しているところもありますが、まだまだ少ないのが現状です。
このような現状のなかで、まずは授業をやらなくてはならない、そんな先生方に向けてこの記事を書きました。
プログラミングの授業作りのヒントになればと思います。
プログラミングに関する学習活動の分類【6分類】
文部科学省が公表している「小学校プログラミング教育の手引」をみてみると、プログラミングに関する学習活動を下の表のように、A~Fに分類しています。
分類A〜Fについてそれぞれ実際にどのような実践があるか事例を紹介します。
A 学習指導要領に例示されている単元等で実施するもの
算数:[第5学年]B図形(1)正多角形
理科:[第6学年]A物質・エネルギー(4)電気の利用
総合的な学習の時間:情報に関する探究的な学習
B 学習指導要領に例示されてはいないが、学習指導要領に示される各教科の内容を指導するもの
(例)国語:[第2学年]「主語と術後に気をつけながら場面に合った言葉を使おう」
C 教育課程内で各教科等とは別に実施するもの
(例)プログラミング〜プログラムをつくってロボットを動かそう〜
D クラブ活動など、特定の児童を対象として、教育課程内で実施するもの
(例)パソコンクラブでのプログラミング
E 学校を会場とするが、教育課程外のもの
(例)プログラミングによる地域伝統芸能復興
F 学校外でのプログラミングの学習機会
(例)プログラミングによる「トーチリレー」協働制作ワークショップ
それそれの事例は、「小学校を中心としたプログラミング教育ポータル」に詳しく掲載されています。
プログラミングの授業の形態【3タイプ】
プログラミング教育には、「アンプラグドプログラミング」、「ビジュアルプログラミング」、「フィジカルプログラミング」という3つの形態があります。
<プログラミングの授業の3つの形態>
●アンプラグドプログラミング
●ビジュアルプログラミング
●フィジカルプログラミング
アンプラグドプログラミング
パソコンやタブレットなどを使わずにプログラミングを学習する授業形態のことです。
方法としては大きく分けて3つあります。
●本を使って学ぶ
●カードやボードゲームを使って学ぶ
●アクティビティを活用して学ぶ
本を使って学ぶ
アンプラグドプログラミングを本で学ぶ方法で、とても有名なのが、フィンランドの女性プログラマーであるリンダ・リカウスさんが書いた「ルビィのぼうけん」です。
文部科学省のホームページでも紹介されているのが、子どもがプログラミング を学ぶきっかけになればと作った絵本で、特徴としては、プログラミングのいわゆる「コード」が一文字も出てこないことです。
本の構成としては、前半が「ルビィ」が宝石集めの冒険をする絵本のパートで、後半が練習問題のパートとなっていて、この2つのパートを楽しく読み進めることで、プログラミング に必要な理論的思考を学ぶことができます。
この本をアマゾンで見てみる
カードやボードゲームを使って学ぶ
ボードゲームには論理的思考や問題解決能力など、プログラミングに必要な考え方が学べるものも多くあります。
数人のグループで行うものが多いので、グループ内のコミュニケーションを深める活動としてもメリットがあります。
様々な商品もありますが、工夫次第では先生方の手作りの方が子どもたちも盛り上がるでしょう。
このゲームをアマゾンで見てみる
アクティビティを活用して学ぶ
NHKのWhy?プログラミングの各動画の中で「ジェイソンをプログラミング」というコーナーがあるのですが、まさにこのイメージです。
教室でのアクティビティの場合、一人のプログラマー役の子どもが、コントロールされる側の子どもたちに「前に進む」「跳ねる」「まわる」などの命令を出して、コントロールされる側の子どもたちがそのとおりに動くといったアクティビティです。
NHKの動画を見てからやってみると、イメージも湧きやすくて面白いですね。
ビジュアルプログラミング
今回の記事で使ったScratch(スクラッチ)が日本の公立の小学校では一番メジャーなビジュアルプログラミング言語です。
また、Visucuit(ビスケット)も低学年で使われることが多いので、この2つについて説明します。
ビジュアルプログラミング言語とは、プログラムをテキスト(文字)で書くのではなく、ブロックやアイコンのような視覚的なオブジェクトを並べてプログラミングするプログラミング言語です。
Scratch
ScratchはアメリカのMIT(マサチューセッツ工科大学)メディアラボのライフロング・キンダーガーテン・グループが、小学生でも簡単にプログラミングができるようにと開発した言語です。
その特徴は?
・インストール不要、そして無料
・直感的な操作
・日本語に完全対応
・教育現場での圧倒的な支持
例えば左が正三角形を描くためのプログラム右がプログラムで描いた正三角形
Scratchの詳しい始め方や使い方はこちらの記事を参考にしてください。
Viscuit
Viscuit(ビスケット)は、NTTの研究所で開発されたビジュアルプログラミング言語です。
プログラミングのための「言語」というより、楽しみながら自分なりに手順を考え、作品を創りあげることのできる仕組みという感じです。
ビスケットで遊んでいる子どもたち、特に小さな子どもたちは、プログラミングをしているという意識はほとんど無いように思います。
それほど直感的にコンピュータに接することができる楽しい仕組みなのです。
その特徴は?
・インストール不要、そして無料
・直感的な操作
・日本で開発
・教育現場からの支持
例えば左が魚を動かすプログラム
右がプログラムによって動く魚たち
Viscuitの詳しい始め方や使い方はこちらの記事を参考にしてください。
フィジカルプログラミング
ロボットを使ったプログラミング学習では、ロボットを作りながらプログラミングを学ぶものもありますが、完成しているロボットをプログラミングで動かしながら学習するものもあります。
ロボット教材で有名なところでは、先生方もお世話になっている教材メーカーのアーテック社製のロボットがあります。
このロボットは、様々なブロック状のパーツを組み立て、専用の配線を接続して作り上げるものです。
このロボットはStuduino(スタディーノ)というScrachをベースにしたソフトでプログラミングをして動かすことができます。
この他にもレゴ社製のロボットや、ダンボールで自由に工作をして作るロボットなど様々あります。
ただ費用がかさむため、どこの学校でもすぐに活用できるとう訳にはいかないのが現状です。
アーテックロボベーシックをビックカメラで見てみる
プログラミングロボットについての詳しい記事はこちらから
プログラミングの授業の目的【2タイプ】
小学校でプログラミングを扱う授業はその目的によって、大きく分けて2つあります。
1つは「プログラミングそのものを教える授業」。
そしてもう一つは、「プログラミングを使って課題を解決する授業」。
前者はプログラミングを学習することが目的となっているのに対し、後者はプログラミングが課題解決の手段となっています。
この2つのタイプの授業は厳密に分けられるものではなく、小学校の段階では与えられた課題を解決しながらプログラミングを学んでいくということになるでしょう。
どちらにしても、プログラミングを教える先生方は、その時々の授業がどんな目的をもったものなのかをしっかり意識することも大切ですね。
<2つのタイプの授業>
●プログラミングそのものを教える授業
●プログラミングを使って課題を解決する授業
じゃあどうする? まとめ
プログラミング学習が必修化されたことはいいことだとは思うんだけど、まだ授業をしたことがなくて、初めはどんなことをやったらいいのか悩んでます。
という悩みをいただき、
じゃあどうする?
と、考えてみました。
今回はScratchの使い方の本当の第一歩目の部分にスポットを当てて、授業の流れをまとめてみました。
先生方がプログラミングの授業の第一歩を踏み出すための、お手伝いができれば幸いです。
コメント