小学校でのプログラミングの必修化2025年の共通試験での情報科目の追加など、プログラミングは現在の教育で注目されているテーマのひとつである。パソコンやタブレットがあれば気軽にはじめることができるプログラミングだが、具体的にどのような力が身につき、どのように学習をすればいいのかわからないという人は多いのではないだろうか。今後ますます、プログラミングの重要性が高まっていくことが予測され、大人も子どもも関係なく、基礎的な知識を身につけておく必要がある。そんななか、プログラミングを基礎から応用まで学ぶことができる一冊が出版された。全世界で700万人に読まれたロングセラーシリーズの『アメリカの中学生が学んでいる 14歳からのプログラミング』である。藤原和博氏(朝礼だけの学校 校長)「プログラミングは新しい言語の獲得だ」、野田クリスタル氏(お笑い芸人・マヂカルラブリー)「プログラミングがやりたくなる! まるでゲームの攻略本みたい!」、尾原和啓氏(元グーグル・IT評論家)「プログラミングを通して、ビジネスにも応用できる考え方が見えてくる!」と絶賛されている。これまでプログラミングの重要性がわかりつつも学ぶ機会がなかった人たちはどのように勉強をしていったらいいのだろうか。今回は出版記念としてプログラミング教育の専門家である東京工業大学助教の栗山直子氏に特別インタビューを行い、プログラミングの意義や学習方法について聞いてきた。

プログラミング教育Photo: Adobe Stock

「問題解決の学問」としてのプログラミング

――近年、プログラミング教育の重要度が増していると一般的には言われていますが、具体的にはどのような力が身につくのでしょうか。

栗山直子氏(以下栗山):自分の意図する活動を実現するために試行錯誤しながら論理的に考えていく力がプログラミング教育では身につくと考えています。

よく言われる「プログラミング的思考」とは、基本的に何か実現したい目的や目標のために、それを実現するために論理的に試行錯誤していくというものです。

たとえば、ビジネスパーソンの方であれば理解しやすいと思うのですが、仕事というのはまさにプログラミング的思考の連続です。

達成したい目標や改善すべき問題に対して、論理的に考え、試行錯誤しながら解決していくという仕事の基本はプログラミング的思考と非常に似ています。

ですので、子どもたちが学んでいるプログラミング的思考とは現代型の物事の考え方を学ぶというものです。

プログラミング教育では失敗がスタートになる

――今の時代にあった考え方ですね。

栗山:そうですね。加えてプログラミング教育で特徴的なのが失敗が起点になるということです。

プログラミングにはエラーを修正したり、思い通りに動かない部分を変更したりということが必ずついて回ります。

ですので、一度作ったプログラムがダメだったねで終わりではなく、ダメだったのはなぜだろう、どこがおかしいのだろうと、試行錯誤しながら失敗を成功に変えていくとことが重要です。

最初から完璧なプログラムを書ける人はいないので、失敗してはじめてスタートです。

その意味では、プログラミング教育は失敗を許容する姿勢も持っており、失敗を学びのエネルギーに変えることができる科目といえます。

――失敗が前提になっているのは非常に興味深いです。

栗山:私がお世話になった先生から教わった話ですが、学校の教科書には間違いは載ってないそうです。

もちろん、規範となる教科書ですから間違いを書かないことは非常に重要ですが、一方で典型的な間違いを経験するというのも非常に重要です。

なぜなら、正解しか知らない人や子どもは、いざ間違えた答えを出してしまったときにそのまま立ち止まってしまいます。

ですが、大人になり仕事をすると自分の思い通りにならないことがほとんどです。

そのときに次はどこを修正すれば良くなるのか考えることが重要になります。

プログラミングはそういった修正力も身に付くので現代社会にも適した学問といえます。ですので、プログラミング学習のなかでは、たくさん失敗して、そこから試行錯誤して目的を達成するという力を子どもたちには身につけて欲しいです。

プログラミングは思考の可視化の作業

――ひとつ気になったことがあります。実際にプログラムが間違いだとわかったときに、どこで間違ったのかを見つける作業に時間がかかるのではないかと思ったのですが、どうなのでしょうか。

栗山直子栗山直子(くりやま・なおこ)
東京工業大学 リベラルアーツ研究教育院/環境社会理工学院 社会人間科学系 社会人間科学コース 助教授
専門は教育心理学・認知心理学。主な著書に『メタファー研究の最前線』(分担執筆、ひつじ書房)、『6歳からはじめるプログラミングの考え方』(児童用教材、分担執筆、アルク)、『問題解決のためのデータサイエンス入門』(分担執筆、実教出版)。

栗山:プログラミングは思考の見える化を常に行うので、間違いの原因も見つけやすいです。そのことも大きな特徴と言えるかもしれません。

自分の考えていることをアウトプットとしてひとつずつプログラムに変換するわけですから、間違ったときも思考プロセスがそのままプログラムになっています。

思考が可視化されていないと、おっしゃる通り、間違えたときに振り返るのが難しいですが、プログラミングは間違いの原因もプログラムとして可視化されているので振り返りにも向いています。

――ありがとうございます。プログラミング学習には子どもだけでなく、大人にも学べることが多くありそうですね。

栗山:そうだと思います。プログラミングの考え方は大人でも楽しく、役に立つ考え方なので、多くの方に身につけて欲しいです。

アメリカの中学生が学んでいる14歳からのプログラミング』には、エラー(間違い)についての考え方やそこからの試行錯誤方法も触れられていると思います。とても読み進めやすい紙面で楽しく勉強ができるので、親子で一緒に読むこともできると思います。

アメリカの中学生が学んでいる 14歳からのプログラミング