ホチキス先生の「プログラマーと呼ばれたい」

InfoPath & SQL Server !

Posts Tagged ‘議論の取りまとめ

プログラミング教育の体系化(2) – 「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」には中学校や高等学校でのプログラミング教育についても言及されている – 目標は「全ての高校生がプログラミングを問題解決に活用することを学べるようにする」こと

with one comment

平成28年4月19日に文部科学省の初等中等教育局教育課程課教育課程企画室によって開催された「小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議」は、平成28年6月16日に「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」を発表した。これを受ける形で、文部科学省は平成29年3月に新しい小学校学習指導要領(平成29年告示)を発表した。

この「議論のとりまとめ」にはプログラミング教育について、「子供たちに、コンピュータに意図した処理を行うよう指示することができるということを体験させながら」や「プログラミングを体験しながら」という記述が随所にあり、実際にプログラミングをすること、つまり「コーディング」することの重要性が示されている。その一方で、コーディングを「覚える」ことが「目的ではない」という誤解をまねく表現もあることについて、前掲の記事で示したところだ。

プログラミング教育の体系化(1) – 「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」を読み解く – プログラミング教育に対する誤解を払拭するために
https://matsumotoyoshio.wordpress.com/2019/08/01/%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e8%82%b2%e3%81%ae%e4%bd%93%e7%b3%bb%e5%8c%96%ef%bc%88%ef%bc%91%ef%bc%89-%e3%80%8c%e5%b0%8f%e5%ad%a6%e6%a0%a1%e6%ae%b5/

この有識者会議の「議論のとりまとめ」は「小学校段階における」プログラミング教育の在り方についてという題であるが、小学校だけでなく中学校や高等学校のプログラミング教育にも言及されており、体系的なプログラミング教育の必要性を示唆している。

1.プログラミング教育を小、中、高等学校の教育課程全体で位置付ける

「議論のとりまとめ」の冒頭「有識者会議における議論の視野」には次のように書かれている。全文を引用する。

「小学校段階におけるプログラミング教育について議論をまとめるに当たっては、人工知能の進化等にみられる、近年の急速な情報化の進展が教育に与える影響や、そうした中で教育課程全体としてどのような力を育成していくことが求められるのかといった、情報化の進展と教育課程全体との関係について整理しておく必要があった。こうした点については、中央教育審議会における次期学習指導要領改訂に向けた議論も踏まえながら、下記1.や2.において整理している。」(小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ) – 有識者会議における議論の視野)より引用

すなわちプログラミング教育は「近年の急速な情報化の進展」が背景にあり「情報化の進展と教育課程全体との関係」を見直す必要があったことから始まっている。ここで重要なのは「教育課程全体として」という言葉である。この「教育課程全体」という言葉は「2.これからの時代に求められる資質・能力とは」の冒頭に「特に、情報化の進展という社会的な変化の中では、以下のような資質・能力が重要になると考えられることから、こうした力の育成が教育課程全体を通じて実現されることが強く求められる。」とあり、言語能力との関連において「発達の段階に即して系統的に育成されるよう、小・中・高等学校を見通して教育内容の充実を図ることが検討されている。」とある。

すなわち、ここでの「教育課程」という言葉は単に小学校段階の教育を指しているのではなく、小学校、中学校、高等学校と義務教育諸学校を通じた教育課程のことを意味している。

2.中学校と高等学校でのプログラミング教育について

「3.学校教育におけるプログラミング教育の在り方とは」の「(2)学校教育として実施するプログラミング教育は何を目指すのか」には小・中・高等学校を通じたプログラミング教育について書かれている。ここでも「学校教育として」の言葉は小学校だけを指しているのではないことがわかる。以下引用する。

「【知識・技能】(小)身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気付くこと。(中)社会におけるコンピュータの役割や影響を理解するとともに、簡単なプログラムを作成できるようにすること。(高)コンピュータの働きを科学的に理解するとともに、実際の問題解決にコンピュータを活用できるようにすること。」(小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ) – 3.学校教育におけるプログラミング教育の在り方とは)より引用

つまり小学校で育成する「知識・技能」は、中学校と高等学校で発展的にコンピュータに関する教育を学ぶ系統的な学習プロセスの過程にあるということだ。また「知識」だけでなく「技能」として育成すること、すなわちプログラミングによる問題解決を実践的に身に付けることが求められている。そして「思考力・判断力・表現力等」には次のように発達の段階に応じたプログラミングを学ぶことを指摘している。

「【思考力・判断力・表現力等】発達の段階に即して、「プログラミング的思考」(自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力)を育成すること。」(小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ) – 3.学校教育におけるプログラミング教育の在り方とは)より引用

ここも回りくどい表現であり隔靴掻痒たる感が否めないが「意図する一連の活動を実現」するために「記号の組み合わせをどのように改善」すればいいかを「論理的に考える」ことは、まさに「プログラミング」そのものであり、たとえどのような言語を使おうが、それがテキストであれブロック型であれ、実際にコーディングして試さなければ「より意図した活動に近づく」かどうかを理解できないだろう。つまり発達の段階に即した「プログラミング」を学ばなければならない。

3.中学校と高等学校の学習指導要領について

「議論のとりまとめ」の「(3)発達の段階に即した資質・能力の育成」には、次のように中学校や高等学校の学習指導要領についても言及されている。以下引用する。

「中学校及び高等学校では、それぞれの学校段階における子供たちの抽象的思考の発達に応じて、構造化された内容を体系的に教科学習として学んでいくこととなる。中学校では技術・家庭科において、高等学校では情報科において学ぶこととなるが、現在、中央教育審議会においては、中学校及び高等学校におけるプログラミング教育の充実についても議論されている。」「具体的には、中学校技術・家庭科技術分野の『情報に関する技術』において、計測・制御に関するプログラミングだけではなく、コンテンツに関するプログラミングを指導内容に盛り込むことによって、プログラミングに関する内容を倍増させること、高等学校情報科に共通必履修科目を新設し、全ての高校生がプログラミングを問題解決に活用することを学べるようにすることが検討されている。」(小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ) – 3.学校教育におけるプログラミング教育の在り方とは)より引用

小学校でのプログラミング教育は特定の教科にまとめられないが、中学校では「技術・家庭科」で、高等学校では「情報科」で「構造化された内容を体系的に」学ぶことをふまえ、中央教育審議会でプログラミング教育を検討していることに言及している。そして中学校では従来からあった「計測・制御」だけでなく「コンテンツに関するプログラミング」が指導内容に盛り込まれると書かれており「倍増」という表現まである。高等学校では「全ての高校生がプログラミングを問題解決に活用することを学ぶ」と検討されている。

すなわち、この有識者会議は「小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議」であるが、「議論のとりまとめ」に書かれていることは中学校、高等学校と義務教育諸学校の体系的なプログラミング教育を視野に入れた中で、小学校でのプログラミング教育について示されていると理解するべきである。

2019年8月6日

松本 吉生(まつもとよしお)

Microsoft MVP Data Platform
京都に生まれ、神戸で幼少期を過ごす。大学で応用化学を学んだのち、理科教諭として高等学校に勤務する。教育の情報化が進む中で校内ネットワークの構築運用に従事し、兵庫県立明石高等学校で文部科学省の「光ファイバー網による学校ネットワーク活用方法研究開発事業」に携わる。兵庫県立西宮香風高等学校では多部制単位制の複雑な教育システムを管理する学籍管理データベースシステムをSQL ServerとInfoPath、AccessなどのOfficeソフトウエアによるOBA開発で構築・運用する。2015年から2017年まで兵庫県立神戸工業高等学校でC#プログラミング、IoTなどのコンピュータ教育を行い、現在は兵庫県立神戸甲北高等学校に勤務する。2004年からマイクロソフトMVP(Microsoft Most Valuable Professional)を受賞し、現在16回目の連続受賞。2016年にマイクロソフト認定教育者(Microsoft Innovative Educator Experts : MIEE)を受賞し、現在4回目の連続受賞。

プログラミング教育の体系化(1) – 「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」を読み解く – プログラミング教育に対する誤解を払拭するために

with one comment

平成28年4月19日、文部科学省の初等中等教育局教育課程課教育課程企画室は、「小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議」を開催することとした。その趣旨は「世界に誇る日本の小学校教育の強みを生かしつつ、次世代に必要な資質・能力を、学校と地域・社会の連携・協働の中で育むことができるよう、小学校段階で育成すべき資質・能力と効果的なプログラミング教育の在り方や、効果的なプログラミング教育を実現するために必要な条件整備等について検討を行うため」としている。

小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議について(文部科学省)>
http://www.mext.go.jp/b_menu/shingi/chousa/shotou/122/houkoku/1370400.htm

この有識者会議は平成28年6月16日に「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」を発表した。これを受ける形で、文部科学省は平成29年3月に新しい小学校学習指導要領(平成29年告示)を発表した。この学習指導要領では新しくプログラミング教育が位置づけられることなり、平成30年度と31年度は移行期間であり、平成32年度すなわち令和2年度、2020年度から完全実施となる。

小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)(文部科学省)>
http://www.mext.go.jp/b_menu/shingi/chousa/shotou/122/attach/1372525.htm

小学校学習指導要領(平成29年告示)(文部科学省)>
http://www.mext.go.jp/component/a_menu/education/micro_detail/__icsFiles/afieldfile/2019/03/18/1413522_001.pdf

1.誤解をまねく表現

この「議論の取りまとめ」の冒頭には「有識者会議における議論の視野」と書かれた部分があり、どのような考え方で議論がすすめられ結論を出したかが簡潔にまとめられている。しかしここに誤解をまねく表現がある。それは2段目の文で、正確を期すために引用すると次のように書かれている。

「小学校段階におけるプログラミング教育については、学校と民間が連携した意欲的な取組が広がりつつある一方で、コーディング(プログラミング言語を用いた記述方法)を覚えることがプログラミング教育の目的であるとの誤解が広がりつつあるのではないかとの指摘もある。“小さいうちにコーディングを覚えさせないと子供が将来苦労するのではないか”といった保護者の心理からの過熱ぶりや、反対に“コーディングは時代によって変わるから、プログラミング教育に時間をかけることは全くの無駄ではないか”といった反応も、こうした誤解に基づくものではないかと考えられる。」(小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ) – 有識者会議における議論の視野)より

ここでは「コーディングを覚えることがプログラミング教育の目的ではない」のであり、保護者は子どもにコーディングを教えなければならないと心配する必要はないし、コーディングが時代によって変わっても今やろうとしているプログラミング教育は役に立つものである、と言っている。しかしコーディングを覚えなくもいい、と言っているのではなく、そもそもコーディングをしなくていいとも言っていない。コーディングは小学校でもしなければならないし教えなければならないはずだ。なぜならプログラミングをしなければ「プログラミング的思考」など身につくはずがないのだから。

しかしインターネットで「プログラミング教育」というキーワードで検索すると、いわゆる識者の意見として「プログラミング言語やコーディングを学ぶわけではない」といった誤解をしているものがみられる。プログラミング言語やコーディングそのものを否定的にとらえる考え方になってしまっているのだ。これは間違いである。

この原因の一端は、誤解をまねく上記の文にある。上記の文は、「コーディング」について「覚えること」がプログラミング教育の「目的ではない」と言っている。だから小学生にコーディングを覚えさせてテストで文法的に正しいコードが答えられることを求めることは間違いだし、コードを書けるようになることを目標にしてはいけない、と言っている。しかし授業ではコーディングを覚えさせなければならない。なぜならコーディングを覚えなければプログラムを書けないからだ。

2.授業ではコードを書かなければならない

前述の「有識者会議における議論の視野」には次の段にこう書いてある。「プログラミング教育とは、子供たちに、コンピュータに意図した処理を行うよう指示することができるということを体験させながら、将来どのような職業に就くとしても、時代を超えて普遍的に求められる力としての「プログラミング的思考」などを育むことであり、コーディングを覚えることが目的ではない。こうしたプログラミング教育についての考え方や、小学校段階における具体的な在り方等を、下記3.や4.において示している。」(小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ) – 有識者会議における議論の視野)より

ここも婉曲でわかりにくい書き方がされているのだが、「子供たちに、コンピュータに意図した処理を行うよう指示することができるということを体験させながら」というところは、要するに「プログラミングをさせる」ということだ。「コンピュータに意図した処理を行うよう指示する」ことは現時点ではまさに「コーディング」のことであり「ができるということを体験」は実際にコードを書いてコンピュータで実行し動いたことを確かめることだ。つまり小学生にはコーディングをさせ、自分で考えたコードが正しく動くということを体験させなければならない。そのためにはコードの書き方がわからなければならないし、開発ツールの使い方を覚えなければならないし、作ったコードを動かす方法も知らなければならない。

もちろん特定のプログラミング言語の書法を暗記してすらすらコーディングできるようになる必要はないし、そもそもテキスト型のコーディングでなくブロック型のコーディングでもよいだろう。重要なことは、コンピュータにやらせたい処理を自分で考えてプログラミングをし、失敗体験もしながら正しく動くプログラムを作り上げる体験をさせることであり、それにはコーディングを覚えなければならないはずだ。

この「コンピュータに意図した処理を行うよう指示することができるということを体験」という文は随所にみられる。婉曲ではあるが、これは「プログラミングを体験させる」ということである。つまり、小学校の授業では子どもたちにコードを書かせなければならない。プログラミング体験をさせなければならない。

そもそも「プログラミング的思考」はコードを書かずに身につくはずがない。このことはプログラマーなら知っている。当たり前だ。

3.職業プログラマーの養成も期待されている

前述の「有識者会議における議論の視野」の「4.小学校教育におけるプログラミング教育の在り方 – (3)教育課程外や学校外の学習機会とのつながり」には次の記述がある。

「小学校におけるプログラミング教育で、プログラミングに触れたことをきっかけとして、個人的に更に深く学んでみたいと思ったり、プログラミングに携わる職業を目指して学びたいという夢を持ったりする子供たちが増えてくることも期待される。」「プログラミングに興味を抱いた子供が、多様な才能を伸ばしていくことができるよう、民間で実施されている多様なプログラミング教育の機会や、土曜学習等における学習機会を個別に活用できるよう、都市部だけではなく全国を視野に入れ、官民連携して体制を整えていくことが求められる。」(小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ) – 有識者会議における議論の視野)より

これについてもインターネットの識者の意見として「プログラマーの養成を目指したものではない」といった極論がみられるが、「プログラミングに携わる職業」に就くにはプログラミングを知っておかなければならないし、職業プログラマーが育つことを期待しているのだ。これは国家的目標でもある。

他国のリーダーがこぞってプログラミング教育に言及するのも、プログラマーが育たないということは国家的な危機だからだ。これは大げさではない。近年の米中貿易摩擦も広範な通信技術に対する主導権争いである。日常生活において家電製品の多くはプログラムで制御されている。プログラムが必要ないのは単純な電熱器や扇風機のようなものくらいだろう。プログラマーがいなければ家電製品すら製造することが不可能になる。ましてや通信インフラを自国で開発、制御できないとなれば、もはや国家が破綻する。

もちろん直接的に職業プログラマーにならなくとも、およそ社会の各層での意思決定者たる人材はプログラミングのことを知っていなければならない。コンピュータやプログラミングを知らなければ意思決定を誤ることになるだろう。

令和2年、2020年の4月まであと9ヶ月であり、小学校の先生は教材研究などの取り組みをすすめていることだろう。各地でプログラミング研修会が開かれており筆者も呼ばれることがある。小学校では Scratch、Micro:bit、Minecraft などを使った実践が定着してきているが、今後は教材の作りこみに工夫が必要だろう。筆者の考えとしては、人感センサのような体感的なもの、サーボモーターなど動くものの制御を体験させることを推奨したい。そして今後は、小学校で基本的なプログラミング体験をした子どもたちが中学校や高等学校で発展的な学習をどうするのかが課題となるだろう。それは、もう、目の前にやってきている。

<次の記事>
プログラミング教育の体系化(2) – 「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」には中学校や高等学校でのプログラミング教育についても言及されている – 目標は「全ての高校生がプログラミングを問題解決に活用することを学べるようにする」こと
https://matsumotoyoshio.wordpress.com/2019/08/05/%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e8%82%b2%e3%81%ae%e4%bd%93%e7%b3%bb%e5%8c%96%ef%bc%88%ef%bc%92%ef%bc%89-%e3%80%8c%e5%b0%8f%e5%ad%a6%e6%a0%a1%e6%ae%b5/

2019年8月1日

松本 吉生(まつもとよしお)

Microsoft MVP Data Platform
京都に生まれ、神戸で幼少期を過ごす。大学で応用化学を学んだのち、理科教諭として高等学校に勤務する。教育の情報化が進む中で校内ネットワークの構築運用に従事し、兵庫県立明石高等学校で文部科学省の「光ファイバー網による学校ネットワーク活用方法研究開発事業」に携わる。兵庫県立西宮香風高等学校では多部制単位制の複雑な教育システムを管理する学籍管理データベースシステムをSQL ServerとInfoPath、AccessなどのOfficeソフトウエアによるOBA開発で構築・運用する。2015年から2017年まで兵庫県立神戸工業高等学校でC#プログラミング、IoTなどのコンピュータ教育を行い、現在は兵庫県立神戸甲北高等学校に勤務する。2004年からマイクロソフトMVP(Microsoft Most Valuable Professional)を受賞し、現在16回目の連続受賞。2016年にマイクロソフト認定教育者(Microsoft Innovative Educator Experts : MIEE)を受賞し、現在4回目の連続受賞。