書籍「オードリー・タン デジタルと AI の未来を語る」の第五章に書かれていたオードリー・タンさんが考えるプログラミング思考について紹介します。プログラミング教育についても触れられているので、簡単にまとめてみたいと思います。
オードリー・タンさん
オードリー・タンさんは台湾のデジタル担当政務委員大臣で、35歳で入閣しコロナ感染封じ込めに成功した。多くのオープンソースプロジェクトに貢献されている。
8歳から家にあったPCでプログラミングを独学で学び始め、当時は分数の概念を理解するためプログラムを書いていた。計算は自体はあまり好きではなかったため、プログラムにより労力の節約や、そのプログラムを共有できることに魅力を感じた。コードを紙に書いていたこともあり、プログラミングは紙とペンがあればできると書かれている。
オードリー・タンさんが考えるプログラミング思考
オードリー・タンさんはプログラミング思考について、解決すべき具体的な問題があるときにまず問題を小さなステップに分解し、それぞれを既存のプログラムやアルゴリズムで解決すること。単純にプログラムを書くための能力や思考ではないということが強調されています。
問題が巨大に見え、解決できないように感じるのは、オードリー・タンさんが考えるプログラミング思考思考ができていないからであり、問題を小さく分解することで他の人と協働して問題解決することができるという考え方。デザイン思考やアート思考でもある。
プログラミング教育について
興味、好奇心を持つこと、解決したい問題があることを大切にすることが重要。興味や関心がなければ、大学に行く必要はない。高校では何に興味があるのかを探ることが大切。
デジタルに関するスキルよりも素養を重視する。スキルは「求められることを時間内にできるか」でしかなく、自分の関心を脇に置いてプログラミング言語を学ぶのは本末転倒。
小学生だったらプログラミング思考を他の科目にも取り入れて欲しい。プログラミング教育とは子供に無理やりプログラミング言語を教えるようなものではない。スクラッチを使う、0からではなく既存のものを組み合わせる、音楽の授業でドラッグアンドドロップで音楽を作るなど、楽しめる方法でプログラミングを学ぶことが大切。
最初から最後まで一人の力で解決方法を考えるやり方とは異なる方法を学ぶことで、どの分野でも通用する問題解決の方法が身につく。
おわりに
オープンソースのプロジェクトに力を入れられている背景にこのような考え方があることを知り、納得させられました。本書の中で、オードリー・タンさんの友人の優秀なプログラマーの方が、母国語を使いこなすことが重要と話されている部分も印象に残っています。