2018.07.20

【GAKURINSHA TOPICS】
2018年教育の行き先 小学校プログラミング教育

 2020 年から小学校におけるプログラミング教育が必修化することになりました。今回はプログラミング教育にどれぐらいの時間がかけられるのか、また、その内容や目的についてを見ていきたいと思います。
まず、具体的にはどれぐらいの時間がプログラミング教育にあてられることになるのでしょうか。
実はこれは正確には定められていません。総合的な学習の時間や算数、理科などの各科目の学習時間内でプログラミング教育が行われることになりますが、その内容やボリュームについては各学校の裁量に委ねられています。
次にどのような内容・目的で実施していくかについてですが、最初にプログラミング教育の定義について考えてみましょう。文部科学省が2016 年6 月に公表した「小学校段階におけるプログラミング教育の在り方について」においては、「プログラミング的思考」を次のように定義しています。

  「プログラミング的思考とは、自分が意図する一連の活動を実現するために、どのような動きの組み合わせが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組み合わせをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」

 つまり、プログラミング教育は、プログラミング言語を学ぶことを主たる目的とするものではありません。より本質的な問題解決の手段の一つとして、プログラミング的思考を子どもたちが理解し、身につけていくことが目標とされているのです。
 「プログラミング的思考」とは何かを考えるには、コンピュータプログラムがどのようなものかを押さえておく必要があるでしょう。
 コンピュータと呼ばれている電子計算機は、大量の四則演算に基づく計算を短時間で正確に行うために開発されました。この電子計算機に対して「どのような順番で何の演算を行うか」を命令するために記述されるものがコンピュータプログラムであり、コンピュータプログラムを記述する行為が「プログラミング」と呼ばれているものです。
 現代におけるコンピュータプログラムは、各種のプログラミング言語の文法に基づいて文字列を記述していくものが大多数を占めますが、小学校で実施されるプログラミング教育は、画面上に視覚的なアイテムを配置することで行われます。これは文字列によるプログラムの記述の代替として行われているもので子どもたちが取り組みやすいよう工夫されています。
 プログラミング言語が作られることによって、プログラムはより簡潔で人間にとって理解しやすいものとなりました。例えば、多くのプログラミング言語は繰り返しの処理を記述する文法をもっています。この繰り返しの文法を活用することにより、演算を逐一記述した場合に膨大な量の命令となるプログラムを簡潔に記述することが可能となりました。
「プログラミング的思考」の定義で述べられている「記号の組み合わせの改善」とは、一連の操作の中に繰り返しの構造を見出したり、一つ一つの動きに分けて高度な抽象化を行うことで、プログラムを簡潔にしたり、汎用性を高めたりすることです。
 このように、問題の中に潜む構造を見出したり、試行錯誤を行ったりする過程で培われる論理的思考力、論理力は、対象がコンピュータでなくとも、生活の様々な場面で役に立つものです。プログラミングでも日常生活においても、「うまくいかない」ということは当然あるべき事象ですが、プログラミング教育では、試行錯誤によって効率的な筋道を見つけ出したり、発生した問題の解決に取り組んだりする力を養うことができます。
 小学校教育において「プログラミング的思考」を養う目的は、ここにあると言えるでしょう。 (文/学林舎編集部)