小学校において2020年度から必修化されることになったので「プログラミング教育」というキーワードを最近よく聞くようになりました。
しかし、情報が多くないため実態がよくわからないという方は多いのではないでしょうか?
本記事では「プログラミング教育」とは何を教えるものなのか?どんな授業が実施されるのかということについて解説します。
プログラミング教育とは
単純化して表現するとプログラミング教育とは「学生のITリテラシーを高めるための教育」です。
もうすこし詳しく説明すると下記の3つことを実現するための教育ということになります。
- プログラミングをするために必要な論理的思考力を育てる
- 現代社会がITに支えられていることに気づかせる
- ITを活用して身近な問題を解決したり、よりよい社会を築いたりしようとする態度を育てる
1についてはよく語られていて、2、3は忘れられがちなのですが3つとも重要なポイントです。
それぞれ詳しく解説します。
プログラミングをするために必要な論理的思考力を育てる
下記のようなことが考えられる能力を育てることです。
- コンピュータに何をさせたいか明確にする
- コンピュータにどのような動きをどのような順序でさせればよいか考える
- 一つ一つの動きに対応する命令(プログラム)を理解する
- コンピュータが理解できるプログラムに置き換える
- プログラムをどのように組み合わせれば自分がさせたいことを実現できるか考える
- 命令の組み合わせをどのように改善すれば自分が実現したい動きに近づくかということを試行錯誤しながら考える
わかりにくいので具体化します。
例えば正三角形をプログラムを使ってかく場合には下記のようなことを順番に考えていく必要があるということです。
※あくまで例なのでプログラムは架空のものです。
- 1辺の長さが5cmの正三角形を書く
- 下記の動きを順番にやる必要がある
- 5cmの直線を書く
- 左に120度曲がる
- 5cmの直線を書く
- 左に120度曲がる
- 5cmの直線を書く
- それぞれの動きに対応するプログラムは下記
- 直線を書く命令は line(1cm) と書く カッコの中は先の長さ
- 左に曲がる命令は left(30°) と書く カッコの中は曲がる角度
- 4.命令を下記のように組み合わせると5cmの正三角形がかける
- line(5cm)
- left(120°)
- line(5cm)
- left(120°)
- line(5cm)
三角形を書くだけではなく、問題が変わっても同じように考えられる力をつけます。
現代社会がITに支えられていることに気づかせる
子どももスマートフォンやPCを使って、Webサイトを見たり、アプリを使って学習したりしています。
それらは自然に生活の中に溶け込んでいるので、「裏側でITが活用されていること」や「どういう仕組みで動いているのか」についてはあまり意識しません。
そのことに意識的に目を向けるためにあらためて下記のことを教えます。
- 日常生活や社会の様々なところITが使われていること
- 人が作成したプログラムなどによってそれらが動いていること
ITを活用して身近な問題を解決したり、よりよい社会を築いたりしようとする態度を育てる
技術は問題解決に使うことではじめて価値が生まれます。
そのことを理解し、積極的に正しい形でITを活用するために必要な下記の2つの姿勢を育てることです。
- 学んだ技術や知識が身近な問題の解決に使おうとする気持ちを育てる
- ITによってよりよい社会を気づいていこうとする気持ちをはぐくむ
プログラミング教育についての誤解
下記の4点がよく誤解されています。どれも正確ではありません。
- プログラミング言語を習得する
- コード(プログラム)を書く
- 「プログラミング」という教科ができる
- パソコンが必須になる
順番に見ていきます。
プログラミング言語を習得するわけではない
結果的にそうなる可能性はありますが、javascript、C言語といったプログラミング言語の習得を目指すものではありません。
授業でプログラムを書くわけではない
システムエンジニアの方が書いているような記号の羅列を書く作業を授業でやるわけではありません。
「プログラミング」という教科で作られるわけではない
「算数」や「国語」と同じように「プログラミング」という教科が新しく作られるわけではありません。
今ある教科にプログラミング教育の要素を組み込む形になります。教科がつくられないので成績がつくということもありません。
パソコンは必須ではない。
プログラミング言語を習得したり、プログラムを書くわけではないので、必ずパソコンが必要というわけではありません。
「アンプラグドプログラミング教育」という電子デバイスを使わず、本やボードゲーム、紙のカードを使って学習する方法もあります。
アンプラグドプログラミング教育についてはこちらの記事で詳しく解説しています。
>> アンプラグドプログラミング教育とはなにか?簡単に使える教材も紹介
プログラミング教育では実際にどんな授業をするのか
具体的に授業でどんなことをするのかについては文科省がまとめている「小学校プログラミング教育の手引」に指導例として書かれています。
「学習指導要領」に具体的に書かれているのは下記の5つです。
- プログラミングを通して、正多角形の意味を基に正多角形をかく
- 身の回りには電気の性質や働きを利用した道具があること等をプログラミングを通して学習する
- 「情報化の進展と生活や社会の変化」を探究課題として学習する
- 「まちの魅力と情報技術」を探究課題として学習する
- 「情報技術を生かした生産や人の手によるものづくり」を探究課題として学習する
1つずつ内容を説明します。
プログラミングを通して、正多角形の意味を基に正多角形をかく
さきほど上で正三角形を書く例を挙げましたが、それと同じようなイメージです。
「辺の長さが全て等しく、角の大きさが全て等しい」という正多角形の性質を理解し、定規と分度器を使った作図とプログラミングによる作図を両方試します。
それによって手作業では難しいことがコンピュータであれば簡単にできることを確認します。
身の回りには電気の性質や働きを利用した道具があること等をプログラミングを通して学習する
まず、「電気はつくりだしたり蓄えたりできること」と「電気を光や音などに変換できること」について理解します。
そういった性質を利用した道具が身の回りにあることを学び、その道具をプログラミングによって操作してみます。
例えば、センサーで点灯する照明を題材にして下記のようなプログラムを組みます。
- センサーと人との距離を1mになったらスイッチをオンにする
- 10秒待つ
- もう一度、センサーと人の距離をはかって1m以上になっていたらスイッチをオフにする
待ち時間や距離の数値を変えてみて、どの数値の時に照明が最も使いやすくなるか考えます。
「情報化の進展と生活や社会の変化」を探究課題として学習する
身の回りの様々な製品やサービスがプログラムによって動いてることを学びます。
さらに、機械的な制御とプログラムによる制御を比較してそれぞれの利点を理解します。
例えば、カプセルトイ(ガチャガチャ)の自動販売機とジュースの自動販売機を比較します。
ジュースの自動販売機はプログラムによって硬貨の種類を判別したり、残りの商品の有無を管理したりできますが、カプセルトイの自動販売機にはできません。
実際にジュースの自動販売機の動きの一部を再現するプログラムも試行錯誤しながら作ります。
「まちの魅力と情報技術」を探究課題として学習する
例えば、「まちの魅力を効果的に発信しているのはどのようなものか」について意見交換を行い、「自分たちがお勧めするスポットをタッチパネル式で魅力的に発信することができないか」という課題を設定します。
実際にタッチパネル式の観光案内表示を見に行って、情報がどのように表示されているのか確かめます。
さらに、情報を表示させるためのプログラミングの方法を学び、自分たちで集めた情報を組み立てて案内表示を施策してみます。
「情報技術を生かした生産や人の手によるものづくり」を探究課題として学習する
例えば、自動ブレーキが搭載された自動車について学び、その仕組みはプログラムによって実現されていることを理解します。
簡易的に自動車の動きを再現できる教材などを使って実際プログラミングを行います。
「センサーが障害物を感知した時に止まる」という動きを実現するために実験を繰り返します。
実際の授業内容は学校次第
どれもあくまで例なので、違った形で学習したり、テーマが変わる場合もあります。
何年生の時に、どの教科で、どんな内容を何時間学習するのか、といった具体的な中身については各学校が判断することになっています。
プログラミング教育は2020年度から必修化
小学校では2020年からプログラミング教育が必修化されます。
必修化については別の記事にまとめていますので、詳しく知りたいかたはそちらを読んでみてください。
必修化によって何が起きるのか?親は何をしなくてはいけないのか?という疑問に答えています。