プログラミング的思考は普遍的な力

ここ近年、良く耳にする「プログラミング的思考」というワードですが、「一体なんのことを言っているのか良くわからない」というお話しを伺うことが多いように思います。

この「プログラミング的思考」の定義ですが、文部科学省では次のように取りまとめています。

「自分が意図する一連の活動を実現するために、どのような動きの組み合わせが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組み合わせをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」
(引用:小学校段階におけるプログラムング教育の在り方について

また、プログラミング教育の必要性としては、「将来どのような職業に就くとしても時代を超えて普遍的に求められる力」というように書かれています。

バランスよく使いこなす脳力

「○○的」ということは「○○のような」ということですので、「プログラミング的思考=プログラミングの時にするような思考」なわけですが、そもそもプログラミングの経験が無ければ、どのようなものかはピンとこないかもしれません。

プログラミングをする上で、必要な能力としては、

読解力
創造力
応用力
発想力
表現力
それらを論理的に積み上げられる論理的思考力
また、問題解決力も必要ですし、モノゴトを抽象化する能力も必要です。

ここで、注意しなくてはならないのは、プログラマーが全員、この能力を持っているかと言えばそうではありません。特に「抽象化」する能力は相当の訓練を受けていないと備わらない能力の一つだと断言できます。

このように、プログラミングをする上では、一般的に言われる、「右脳」「左脳」の両方が必要であり、また、それをバランスよく使いこなす脳力が必要となります。

これは「将来どのような職業に就くとしても時代を超えて普遍的に求められる力」だと言えますね。