小学校及び中学校におけるプログラミング教育の指導内容について
この記事は #kosen10s Advent Calendar 2017 の12日目の記事です。
前の日は92thunderくんの「electron-vueでメモ帳アプリを作ってみた - つくりおき」でした。
(追記)12日中に投稿を目指してましたが,40秒ほど遅れてしまったみたいです……すいません。
25日が最終なので,大体今日ぐらいが折り返しになります。
ちょっと毛色が違う,誰しもが受けたであろう教育のお話を。
小学校学習指導要領に盛り込まれたプログラミング教育
今年の3月に,小学校や中学校で何を教えるかを示す学習指導要領が改訂されました。
改訂された中に,小学校でプログラミング教育を行うことが盛り込まれました。
(3) 第2の2の(1)に示す情報活用能力の育成を図るため,各学校において,コンピュータや情報通信ネットワークなどの情報手段を活用するために必要な環境を整え,これらを適切に活用した学習活動の充実を図ること。また,各種の統計資料や新聞,視聴覚教材や教育機器などの教材・教具の適切な活用を図ること。
あわせて,各教科等の特質に応じて,次の学習活動を計画的に実施すること。
ア 児童がコンピュータで文字を入力するなどの学習の基盤として必要となる情報手段の基本的な操作を習得するための学習活動
イ 児童がプログラミングを体験しながら,コンピュータに意図した処理を行わせるために必要な論理的思考力を身に付けるための学習活動
(小学校学習指導要領 第1章総則 第3教育課程の実施と学習評価
1主体的・対話的で深い学びの実現に向けた授業改善)
10sたちが小学生だった頃,そして今までも,コンピュータで文字を入力するなどの学習は行われて来ました。特に総合的な学習の時間の調べ学習など。
この改訂で「プログラミング」という言葉が盛り込まれ,プログラミングを介して論理的思考力を身に付けることがねらいとされることがわかります。
また,学習指導要領をより詳しく説明した学習指導要領解説も見てみます。
また,子供たちが将来どのような職業に就くとしても時代を越えて普遍的に求められる「プログラミング的思考」(自分が意図する一連の活動を実現するために,どのような動きの組合せが必要であり,一つ一つの動きに対応した記号を,どのように組み合わせたらいいのか,記号の組合せをどのように改善していけば,より意図した活動に近づくのか,といったことを論理的に考えていく力)を育むため,小学校においては,児童がプログラミングを体験しながら,コンピュータに意図した処理を行わせるために必要な論理的思考力を身に付けるための学習活動を計画的に実施することとしている。その際,小学校段階において学習活動としてプログラミングに取り組むねらいは,プログラミング言語を覚えたり,プログラミングの技能を習得したりといったことではなく,論理的思考力を育むとともに,プログラムの働きやよさ,情報社会がコンピュータをはじめとする情報技術によって支えられていることなどに気付き,身近な問題の解決に主体的に取り組む態度やコンピュータ等を上手に活用してよりよい社会を築いていこうとする態度などを育むこと,さらに,教科等で学ぶ知識及び技能等をより確実に身に付けさせることにある。したがって,教科等における学習上の必要性や学習内容と関連付けながら計画的かつ無理なく確実に実施されるものであることに留意する必要があることを踏まえ,小学校においては,教育課程全体を見渡し,プログラミングを実施する単元を位置付けていく学年や教科等を決定する必要がある。なお,小学校学習指導要領では,算数科,理科,総合的な学習の時間において,児童がプログラミングを体験しながら,論理的思考力を身に付けるための学習活動を取り上げる内容やその取扱いについて例示しているが(第2章第3節算数第3の2(2)及び同第4節理科第3の2(2),第5章総合的な学習の時間第3の2(2)),例示以外の内容や教科等においても,プログラミングを学習活動として実施することが可能であり,プログラミングに取り組むねらいを踏まえつつ,学校の教育目標や児童の実情等に応じて工夫して取り入れていくことが求められる。
(小学校学習指導要領解説総則編 第3章教育課程の編成及び実施
第3節教育課程の実施と学習評価 1主体的・対話的で深い学びの実現に向けた授業改善
(3)コンピュータ等や教材・教具の活用,コンピュータの基本的な操作やプログラミングの体験)
ざっくりまとめたら……
- どんな仕事でも論理的思考が必要
- 言語を覚えたり,技能を習得することじゃなくて,論理的思考力を育てる
- 社会が情報技術に支えられていることに気付く,問題解決に主体的に取り組む態度を養う,コンピュータを上手に活用する,教科等で学ぶ知識及び技能をより確実に身に付けさせることがねらい
- 小学校の教育課程全体を考え,学年や教科を決める
- 算数科や理科,総合的な学習の時間の指導要領に指導の例示があるけど,それ以外でやってもいい
ということです。
なので,初心者プログラミングでよく用いられるCをゴリゴリ書いていくような感じではなく,
Scratchでねこさん動いた! 思い通りに動かせた! 辺りから,どうやったら想定したものを実装できるかというところまででいいのかなと思います。
書いててふと思ったのですが,10sたちはプログラムに初めて触れたのはいつぐらいで,どの言語なんでしょうか。
私は記憶にあるのが,小学4年生か5年生の頃,音楽を自分で流してみたいって思ってテキスト音楽「サクラ」 を使ってやったのが始まり,だったかなと思います。
プログラミングではないものの,近いものがあったなーと振り返るこの頃。
懐古はさておき,心配なのは「小学校教諭がどこまで指導できるか」という点です。
実践例はいくつかありますが,ベテランの先生ほどなかなかプログラミングをつかむことが難しいのではないかと予想しています。
デジタルネイティブ世代の先生が率先し,ベテランの先生は指導するに当たってのノウハウを共有するのが,今のところ現実的なのだろうと思います。
中学校技術科の情報領域で取り扱うプログラミング
一方,中学校技術科ではどのようにプログラミングを指導するのでしょうか。
10sたちが中学生の頃には,すでにプログラミングの内容は取り扱われておりました。
内容としては,センサ,コンピュータ,アクチュエータの計測・制御システムについてと,簡単なプログラム作成でした。
今回の指導要領改訂ではどうなったのでしょうか。こちらも見てみます。
(2) 生活や社会における問題を,ネットワークを利用した双方向性のあるコンテンツのプログラミングによって解決する活動を通して,次の事項を身に付けることができるよう指導する。
ア 情報通信ネットワークの構成と,情報を利用するための基本的な仕組みを理解し,安全・適切なプログラムの制作,動作の確認及びデバッグ等ができること。
イ 問題を見いだして課題を設定し,使用するメディアを複合する方法とその効果的な利用方法等を構想して情報処理の手順を具体化するとともに,制作の過程や結果の評価,改善及び修正について考えること。
(3) 生活や社会における問題を,計測・制御のプログラミングによって解決する活動を通して,次の事項を身に付けることができるよう指導する。
ア 計測・制御システムの仕組みを理解し,安全・適切なプログラムの制作,動作の確認及びデバッグ等ができること。
イ 問題を見いだして課題を設定し,入出力されるデータの流れを元に計測・制御システムを構想して情報処理の手順を具体化するとともに,制作の過程や結果の評価,改善及び修正について考えること。
(中学校学習指導要領 第2章各教科 第8節技術・家庭 第2各分野の目標及び内容 [技術分野] 2内容 D情報の技術)
中学校技術科では,もう少し具体的に指導内容が提示されています。
この改訂では「動作の確認及びデバッグ等ができること」が,プログラミング教育にも計測・制御にも盛り込まれています。
これまでの指導要領では「簡単なプログラムが作成できること」ぐらいだったのが,
動作を確認して実装できていなければデバッグまでできるようになるところまで教えることになります。
個人的に思うのは,デバッグはどうやって教えるんでしょうか。
バグの取り方は手順が決まっているわけではないからこそ,「問題解決能力」を育てる場面になるのだろうと考えます。
となると,意図的にバグを紛れ込ませておくほうが考える場面が生まれるということではないかと。
そこまでを踏まえてプログラムを組ませ,エラーや想定外の挙動に出会わせ,どうやってデバッグするか方法をいくつも想定しておく必要があるのではないでしょうか。
どえらい大変ですね。
おわりに
今回は指導要領や指導要領解説を引っ張ってきて,私個人の考えをちょろっと書いただけでした。
書く時間をしっかりと設けなかったことが反省点です。
また,小学校のプログラミング教育についての指導例をときどき考えているものの,
具体的に記述して他の人の目に晒すということもできておらず。
非電源でできるプログラミング教育が低学年からあればいいなと思っています。
今のところ考えているのが,伝言ゲームをベースにプログラミングの命令を簡素化して子どもたち同士で体を動かすのを伝える,みたいな。
うーん,要検討。
明日は yu_suke1994 くんです。「ウサミンパワー」ですって。ミンミンミンウーサミン!
どんなうなすけが出て来るんでしょうか。