【会長コラム】プログラミング教育の守備範囲はどこまでか?

Cover Image for 【会長コラム】プログラミング教育の守備範囲はどこまでか?

「プログラミング」の英語的意味

2020年から小学校のプログラミング教育が必修化され、学校でも家庭でもプログラミングへの意識が高まりました。プログラミングといえば、誰もがすぐに思い浮かべるのは、キーボードで呪文のような難解な言語を入力しながらアプリケーションやサービスを作ることでしょう。これらは、プログラミングというよりも厳密にはコーディングと呼んだ方が正確かもしれません(もっとも、デザイン業界でのコーディングはHTML/CSSコーディングを指したりするので、コンテクストにより使い方は気をつける必要があります)。

“プログラミング(Programming)”という単語はどう見ても英語ですが「実は海外では通じない」と聞くと驚かれる方も多いのではないでしょうか。全く通じないというのは言い過ぎですが、少なくとも日本での意味とは異なります。海外ではプログラムを書くための教育を”Coding Education”と呼ぶことが多いようです。単にコンピュータを使いこなすための教育は”ICT”や”Computing”と呼び、少し深いところまでコンピュータの仕組みを理解するための教育を”Computer Science”と呼んでいます。

では、海外での”Programming”はどういうときに使われるかというと、アルゴリズムを組み立てたりするコーディングを指すことが多くなっているように見えます(あくまでも非ネイティブの感覚的なもので、人によって感じ方は違うかもしれませんが)。例えば、高度なアルゴリズムを記述して問題解決を行うコンテスト(ACM-ICPCやTopCoderなど)は、”Coding Contest”ではなく”Programming Contest”です。

“Programming”の意味を英英辞典で調べると下記のように書いてあります。

the act or process of planning or writing a program

要は、プログラムを書くことすべて、です。なので変に意識をしすぎているだけかもしれませんが、英語で”Programming Education”と言ったときのニュアンスが日本人の感覚と違うのは覚えておいて損はないと思います。

Computational Thinkingから派生した日本独自のプログラミング的思考

日本の小学生は「プログラミング的思考」を学ぶことに重きを置いています。これはコーディングではなく、英語的な意味でのProgrammingでもなく、”Computational Thinking”に近いものです。つまり、コンピュータサイエンティストのようにコンピュータを手足のように活用できる力、課題を理解し適切な解決方法を考える力、の育成を目指したものです。

どういうことなのか、実例をもとに考えてみましょう。

ネットで本を販売するショッピングサイトのアイデアを思いついたとします。何も考えずに作ると、トップページに本の一覧画面があり、本の画像の横に一つずつ「買う」ボタンを付けます。欲しい本の「買う」ボタンを押すと、一冊ごとに画面が切り替わり、配送先住所や決済情報を入力すると思います。そのあと、また別の本を買うときには、最初の画面に戻って、また同じことを繰り返します。ユーザからすれば、不便極まりないサイトです。

そこで、今度は、「カート」という概念を導入して、「買う」ボタンの代わりに「カートに入れる」ボタンを準備します。こうすると、毎回画面を行き来せずに、複数冊を買う場合でも、すべて買う本が決まった段階で決済手続きに移ることができます。これは「カート」という抽象化した概念を取り入れることで処理が効率化される例です。課題を認識し物事を抽象化して考えることによりユーザの行動パターンを効率化できた、というのは、プログラミング的思考を発揮した好例でしょう。

このようなショッピングサイトの作成は、以前であればコーディングをしないとできないことが多くありましたが、最近はモジュールを組み合わせるだけのノーコードツール(いわゆるプログラミング言語でコードを書かなくでもアプリやサービスが作れるツール)でも比較的簡単に作ることができます。ノーコードツールだからプログラミング的思考はいらない、ということはなく、むしろ課題解決に集中できる環境になっているので、プログラミング的思考が備わっているかが試されるのだと思います。

AIが得意なことは任せてしまい、人間はより知的生産性が高い活動へ

しかし、ノーコードツールで作れるサイトには限界があります。トップページには人気順に本を並べる、ネット閲覧履歴などを把握して好みの本を推薦する、というように、アルゴリズムが関連してくると、徐々にノーコードでは書ききれなくなります。チャットでコミュニケーションを取るときに、定型文だけでは会話が完全に成立しないのと同じです。

課題解決のためのアルゴリズムをコーディングするのは、現時点ではAIよりも人間に分があります。それが、時間とともにAIの能力が進化してくると、エンジニアだけに任せずに、誰でもAIと連携しながら新しい仕組みやサービスを作れるようになるはずです。そのようにAIと協調できる人材になるためにはプログラミング的思考が大事であり、プログラミング教育が本当にカバーするべき守備範囲だと思います。

最後に当メディアを運営するソニー・グローバルエデュケーションのKOOVパートナープログラミング教室をご紹介します。

KOOVパートナープログラミング教室は、「KOOV」という教材を使用してロボット制作・プログラミング学習を行う教室です。

「KOOV」はカラフルで触りたくなるブロックが特徴的で、楽しみながらロボットを制作できます。

直感的に使えるプログラミング言語を用いて、小さなお子さまでも簡単にロボットを動かせます。

全国47都道府県で1000以上の教室数を展開しているため、どなたでもお近くの教室が見つかります!

無料体験を行っていますので、ぜひ気軽にお申込みください!

「VIRTUAL KOOV」を体験してみる!

KOOVパートナープログラミング教室の体験教室に申し込む

ソニー・グローバルエデュケーションの プログラミング教育

Media banner AMedia banner B