2020年からプログラミング教育が必修化されます。先生や保護者の中には、プログラミングを教えなければならないと勘違いしている人もいます。必修化の目的は、コードを書いたりするプログラミングスキルの育成ではなく「プログラミング的思考」の育成です。
目次
プログラミング的思考とは?
この度のプログラミング教育の必修化では、社会人がプログラミング教室で学ぶような言語を習得したりコードを書いたりすることではありません。
学習を通してプログラミング的思考を育成することが目的です。
文部科学省によると、プログラミング的思考は以下のように定義されています。
自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力
確かに
- プログラミング言語を習得する
- コードをかけるようにする
のようなことは求められていませんが、この定義だとまだよく分かりませんよね。以下で具体的に説明します。
今の教科学習でプログラミング的思考は育つ【算数の授業例】
「プログラミング」という新しい教科ができるわけではありません。既存の教科の中でプログラミング的思考は育成されます。scratch(スクラッチ)というソフトを用いた小学校5年生の算数の「正多角形」の学習を例示します。
正方形の作図
正方形を作図しようとすると、以下のようなプログラムを組みます。
- 100歩動かす
- 90度回す
- 100歩動かす
- 90度回す
- 100歩動かす
- 90度回す
- 100歩動かす
- 90度回す
ここで、同じ動作の繰り返しをひとまとめにします。
- 以下を4回繰り返す
- 100歩動かす + 90度回す
このような繰り返し動作を効率的にまとめることでは、実際にコードを書くときにも大切な考え方です。これはプログラミング的思考の一つです。
正三角形の作図
次に、正三角形を作図する場合です。
正三角形の1つの内角は60度ですから、先ほどのプログラムの「90度」→「60度」にすると以下のようなことが起きます。
この出力結果から、角度を60度回すだけでは正三角形を作図できないことが分かります。
回転する角度を120度に上げると、正三角形が作図できます。
キャラクターのネコの回転角は、内角ではなく外角だったと気付いて修正できました。
一般化、抽象化の考えを学ぶ
このようにしてプログラムを試行錯誤しながら、法則性や規則性を見つけます。同時に、正多角形の性質(算数)の理解を深めることができます。
「教科を」学ぶことと「教科で」学ぶこと
算数・数学教育では、一般化や抽象化の考えの育成に価値が置かれてきました。上記の例では、プログラミング学習を通してその考えを育成することができます。教科を学ぶというより、思考法を学ぶのです。算数という「教科で」プログラミング的思考を学習しながら、プログラミングで算数(正多角形の性質)という「教科を」学んでいました。
どの教科にもこの2つの視点が存在します。例えば英語の学習では、英会話ができるようにするために「教科を」学習することに加えて、文法学習や読解学習を通して物事を構造的に捉える視点や、スピーキングを通してコミュニケーション能力を「教科で」育成します。
この度のプログラミング教育必修化は、教科化ではありません。故に、「教科で」学びながらプログラミング的思考を育成することが求められているのです。
[…] […]