#2 子供にプログラミング教育をさせるべき?【梅田 拓也】
現在、さまざまなところでプログラミングを学ぶ必要性が叫ばれ、小さな子ども向けの習い事としても人気になっています。ですが、そもそもプログラミングとはどのようなもので、なぜ必要なのでしょうか。これから進めていくべきプログラミング教育のあり方について考えます。
/ 12分15秒
今すぐ聴く
各ポッドキャストで聴く
Transcript
川添 前回に引き続き、「ネット社会に惑わされないために」をテーマにお話をお伺いするのは、学芸学部 メディア創造学科 助教でメディア研究と技術哲学がご専門の梅田拓也先生です。本日もここ京都にあります同志社女子大学のキャンパス内からお送りしていきます。では先生、よろしくお願いいたします。
梅田 よろしくお願いします。
川添 それでは今回2つめのエピソードということで、今日のキーワードは「プログラミング教育」としています。最近小学校、それから中学、高校でもプログラミングの授業というのが始まっていますけれども、私自身にもまだ幼児なんですが子どもがおりまして、その子どもが小学生になってからプログラミングの授業に関する話だったり、それを受けている子どもについていけるのかどうかっていうのが、すごく心配だなって今思っているところです。
梅田 なるほど。川添さんはプログラミング教室とか、そういったものにお子さんを今後通わせようとか、そういうことをお考えでしょうか?
川添 正直なところ、通わせる必要があるのかなっていうのが(2人笑)、そもそもわかっていない。プログラミングっていうもの自体をわかっていないので、その判断すらできない、できてないっていう、今そんな状況です。
梅田 なるほど。そもそも、どうして今、プログラミング教育が必要とされているのかっていう話なんですが、よくいろんなところでデジタルトランスフォーメーションとかね、何か仰々しいことが言われて、いろんなお仕事が、コンピュータとかデジタルメディアを使ってなされるようになっていってると。
その中で、そういう情報技術を使ったサービスを(現在)直接取り扱ってないような業種でも、情報技術に長けた人とかプログラミングができる人々が必要になってくる。だから教育の場で、プログラミングあるいは統計的なデータ分析の基礎を学んだ人を育てていきましょうというのが、社会的合意になってきているという状況ですよね。
川添 そうなんですね。そもそもですけど、プログラミングっていうのは、どういったものなんですか。
梅田 めちゃくちゃ平たく言うと、プログラミングっていうのは、コンピュータに対して命令をかけるっていうことなんです。コンピュータっていろんなことができるんですけど、コンピュータに“何かをやってください”っていう命令をかけるっていうのがプログラミングという言葉の意味だと思います。
何が具体的にできるかっていうと、コンピュータ上で文字とか映像とか音の処理をしたりだとか、コンピュータを何かの機械に繋いでその機械のセンサーとかモーターとかを自動で動かしたりとか。あるいは最近の流行りだと、大量のデータを…Twitterなどにあるたくさんのつぶやきとかを読み込んで、それを分析するとか。そういったことを「お願いします」というふうに命令すれば、コンピュータがやってくれる。そのお願いをするのがプログラミングなんですね。そう聞くとすごく複雑そうに聞こえるじゃないですか。
川添 はい。
梅田 でも、最近用いられている主流のプログラミング言語、Python(パイソン)とかJava(ジャバ)というプログラミング言語があるんですが、それはもう、さまざまな、今言ったようないろんな処理をするための命令文のセットが用意されてて、それを呼び出してあげれば、一言ピッと命令するだけで、そのすごく複雑なことがバーッとできるようになっている。だからプログラミングを学ぶっていうと、すごく難しそうに思えるんですけれど、実はそういうコンピュータに何ができて、それをどういうふうに命令してあげれば、それができるのかっていうことを学ぶものかなぁと。突き詰めて、わかりやすく言っちゃうと、そういうことなんじゃないかなと思います。
川添 そうなんですか。コンピュータが出始めたときに、いわゆるプログラマーっていう職業ですか、そういう人も出てきて、それが本当に専門的職種みたいな感じだったと思うんですけれど、もう今はそうではなくって、それこそJavaだったりの仕組みなどをきっちり理解すれば、今基本的に誰でもプログラミングができるようになるっていう、そういう理解でいいんですかね。
梅田 そうですね。もう少し言うと、コンピュータの実際の計算というか、機械の中で起きていることに近いプログラミングと、私たちが見る結果に近いプログラミングというのがあって。ちょっと難しいんですけど、コンピュータ自体を動かすためのプログラミングの仕事っていうのと、それを活用しながら何かデータを分析したり映像を作ったりするっていうようなプログラミングがあって、そこがすごく分かれてしまっているという感じかな。
だから今でも、すごく難しい複雑な、コンピュータのハードウェアを直接動かしているような(プログラミングの)仕事というのもあれば、本当にさっき言ったみたいに1行シュッと書いただけで、ある統計データをパッと分析するみたいな、そういう簡単なものもあり。
川添 へぇ…(驚)
梅田 より何か新しいものを生み出していこうとすると、前者のすごく複雑なほうを勉強しないといけないんですけど、でもコンピュータを使って何かプロダクトを生み出したり、データ分析をしたりする程度であれば、割と簡単なことでも済む。
川添 そうなんですね。
梅田 意外とパソコン1台買っておけば、誰でも勉強ができるということなのかと思いますね。
川添 今、小中高の授業としてプログラミングが入ってきたのは、先生がおっしゃった後者のほうが使えるようになるための基礎を学んでるっていうイメージですか。
梅田 そうですね。そこは今、結構ちゃんと繋がっていると思います。コンピュータの基礎的なプログラミングと、それを応用してどんどん使っていくところは、結構そこは繋がっているところがあって。そこを教えていこうみたいな、すごく基礎的な部分を小学校とかで教えていこうということなのかなと思います。
川添 そうなんですか。今後ですけれども、そういったプログラミングを学んだ知識などを、子どもたちが社会に出てからとか、社会のために役立つように活用していくためには、小中高でどういうことを学んでおいたらいいとお考えでしょうか。
梅田 うーん…難しいですね。プログラミングということ自体がすごく新しいものなので、教え方について研究者とか先生たちの中でも非常に議論が重ねられていて。何を教えるのがベストなのかっていうことは、みんな割と試行錯誤しながらやっていってるところがあるかなと思います。僕自身の立場からというか、僕自身の見立てでは、国語と数学が大事だろうと。
川添 国語と数学。
梅田 プログラミングよりも国語と数学をやらないといけない、結論から言うとそう思っています。何でかというと、現在、さっきチラッと名前を出しましたけれどPythonとかJavaみたいな(プログラミング)言語がすごい人気なんですけど、現在使われているこのプログラミング言語がこの先もずっと使われているかどうかというのは、非常に怪しいです。最近はノーコードといってプログラミング言語をそもそも書けなくても直感的に操作することで、いろんなプログラムを作るものも出てきていて、おそらく今後そういうものが主流になっていくかなと思います。だから何かのプログラミング言語を使えるということが、すなわちそれが常に社会で活躍できるということではないと思うんですね。
ただ、そういうものを生み出す側に立つとき。プログラミング言語を使って何かを作るんじゃなくて、プログラミング言語それ自体を生み出すとか、コンピュータの動き自体を作っていくというときに、より基礎的な部分を勉強しないといけない。それはそもそもコンピュータってどういう仕組みなのかとか、どういうふうに情報処理をしているのかとか、その情報をどういう順序で提示していくべきなのかとか、そういった論理とか計算とかいうすごく基礎的な水準の部分が重要だと思います。これはプログラミング言語が変わったとしてもずっと変わらない基礎的な部分なので、そうやって突き詰めていくと、情報をどういうふうに整理するのかという国語の問題ですし、それをどういうふうに数的に扱っていくのかという数学の問題なので、結局は国語と数学が大事なんじゃないかな、と。
川添 なるほど、原点に返ってということですね。新しいものというので“プログラミング”っていう言葉にちょっと踊らされがちではあるんですけれど、少し足元をちゃんと見るっていうことと、国語と数学が大事だという先生の言葉が、すごく腑に落ちて今お話をお伺いできました。ありがとうございます。
今回はプログラミング教育について梅田拓也先生にお話をお伺いしました。次回はAIと仕事をテーマにしてお話を伺っていきたいと思います。先生、本日はありがとうございました。次回もよろしくお願いいたします。
梅田 ありがとうございました。