プログラミング教育とは

0
360

日本では小学校が2020年度からプログラミング教育が必修化されました。中学校でも2021年度から、高校では2022年度から必修化されたと理解している方が多いですが、中学では2011年度、普通課高校では2003年度から必修化されており、2021年、2022年度からは新しい教育指導要綱での対応になっただけで、基本は変わっていません。

このプログラミング教育のために、自宅での学習の準備をする方もいるようですが、どのような準備が必要になるでしょうか。

プログラミング教育とは

プログラミング教育とは論理的思考能力を育てることです。

全員をプログラマーにするという教育ではなく、コンピューターの基本原理を学び、プログラミングの基本となる論理的な思考能力を学び、様々な環境でそれを生かしてもらう事を意図しています。
数学で数学者を育ているのではなく、技術で大工を育てようとしているのではないのと同じ考えで、問題解決能力を身につける事などが教育の目的です。

文部科学省の手引き等などでは次のように説明しています。

小学校
・総則において,各教科等の特質に応じて,「プログラミングを体験しながら,コンピュータに意図した処理を行わせるために必要な論理的思考力を身に付けるための学習活動 」を計画的に実施することを新たに明記 ・算数,理科,総合的な学習の時間において,プログラミングを行う学習場面を例示

中学校
・技術・家庭科技術分野において,プログラミングに関する内容を充実 (「計測・制御のプログラミング」に加え,「ネットワークを利用した双方向性のあるコンテンツの プログラミング」について学ぶ)

高等学校
・全ての生徒が必ず履修する科目(共通必履修科目)「情報I」を新設し,全ての生徒が,プログラミングのほか,ネットワーク(情報セキュリティを含む)やデータベースの基礎等について学ぶ ・「情報II」(選択科目)では,プログラミング等について更に発展的に学ぶ

https://www.mext.go.jp/content/20200608-mxt_jogai01-000003284_004.pdf

具体的に小学校では次のように説明されています。

知識及び技能
身近な生活でコンピュータが活用されていることや、問題 の解決には必要な手順があることに気付くこと。

思考力、判断力、表現力等
発達の段階に即して、「プログラミング的思考」 を育成すること。

学びに向かう力、人間性等
発達の段階に即して、コンピュータの働きを、 よりよい人生や社会づくりに生かそうとする態度を涵養すること。

https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/1375607.htm

小学校の段階では本格的なプログラミングは学習しませんが、本格的なプログラミングで必要になるのが英語です。
2020年より小学3年生から英語が必修化、ローマ字も学習し、プログラミングで必要なキーボード操作も可能になります。

高校くらいになると本格的なプログラミングを実習することもある用ですが、プログラミングが必修化したからと何かのプログラミング言語を家庭で学習する必要はありません。
もちろん、家庭で学習しておけば参考になりますが、コンピューターサイエンスの基礎を系統立てて学習する学校教育と、課程での独学による教育は異なります。プログラミング教育のために学習する場合は、プログラミング言語よりも先にコンピューターサイエンスの基礎の学習をしましょう。

プログラミング学習の前に基本を身につけよう

プログラミング学習が進むと、キーボードの使い方など、コンピュータの基本操作も必要になりますが、それよりも重要なのがコンピュータがどうして動くのかという基本的です。
ここで言うコンピュータは、いわゆるパソコンの事に限らず、中にコンピュータが入っている機器一般のことです。スマートフォン、タブレットはもちろん、様々な情報機器一般のことで、以前はマイクロコンピュータ、略してマイコンと呼ばれていた機器が入った製品の事です。最近はテレビ、家電などありとあらゆる機器にコンピュータが入っています。

この基本は、大学でも、高校でも小学校でも同じで、基本を理解した上で、プログラミング自体の学習に進んでいきます。
コンピュータに関する専門学問をコンピュータサイエンスと言いますが、自動車免許の取得に車の基本を学習するのと同様に、コンピュータやプログラミングに関する学習の前に、どのように動作しているのかの基本を学びます。

小学校、中学校でプログラミング学習の準備のための基本的な知識を学ぶには、基本を解説した書籍などを読むのが最適です。
その上でわからない事をインターネットで調べるなどして知識を補完しましょう。

その上で何らかのプログラミング言語を学習します。もちろん、コンピュータサイエンスを学習しながらプログラミング言語の学習も行えば、理解はより深まるでしょう。