同様の事が、プログラミング学習にも言えるのではないか。つまり、目的の設定が間違っているのではないか。ここからは筆者が自分で理解できる範囲の拙い考察である。
現在小学校教育の中で、ラジオを組み立てるという授業がある。ハンダ付けの実習や、ダイナモを使ったエネルギー変換の実験が可能になるとして、未だ廃れていない。これに対して、そんなのもういらないだろう、中国に頼めばいくらでも電気機器なんか作ってくれるんだから、という人はまずいない。
ここから学べるのは、原理的なものだけではない。モノ作りとして、自分で作ったものが本物の製品同様に動作するという喜びが得られる。将来何パーセントぐらいがハンダ付けをするような世界に行くかはわからないが、やってみなければ可能性がわからない。だからいろいろな経験をさせることが重要であるということは、誰にでもわかる。
最近、筆者は趣味と実益を兼ねて、自作キーボード界隈の取材と研究を続けている。自作キットも買い込んで作ってみたりして、気づいたことがある。今どきのモノ作りはハードウェアが作れるだけではダメで、ソフトウェアも作れないとモノとして仕上がらないという事である。
スイッチの取り付けはハンダ付けの技術が必要だが、ソースをビルドしてメモリーに書き込むにはプログラミングの知識が必要だ。もちろん、自分でビルドできない人のためのお助けツールもあるのだが、プログラミングの知識があるなら、自分なりにソースコードを改良したり、あとからいじるためのツールに対応させたりといった変更ができる。
つまりプログラミングがわかるだけで、格段に遊べる範囲が広くなる。これは1つの、プログラミングを学ぶ動機となり得る。将来プログラムを書くような職業に就けるといった、職業訓練的な意味合いでは、多くの子供は興味が持てないだろう。だが趣味でやってることが格段に面白くなるとか、最初は遊んでるつもりだったのにいつのまにかのかそれでごはんが食べられるなら、モチベーションとしては十分だ。
もちろんプログラミングを、AIにやらせることはできる。その点では、仕様書を見ながら自分でゼロからソースを書ける必要があるのかということであれば、ない。これは今でも、それほど要求されないだろう。多くのソフトウェア開発は、使えるソースはないかの検索から始まるものと聞く。
プログラミングができるというより、ソースが読めて意味がわかって改良ができるようになれば、人生相当遊べるぞ。これが筆者でも理解できる、プログラミングを学ぶ理由だ。「問題の解決能力が高まる」といった理由より、よほどしっくりくるし、具体的なように思えるのだが、どうだろうか。
Copyright © ITmedia, Inc. All Rights Reserved.
Special
PR