コンピューターの仕組みを高校で教えるべき

Twitter で言ったあともブツブツと必要性を壁に向かって訴えていたのでいい加減記事にします。

コンピューター・アーキテクチャを高校で教えるべきだと私は思います。物理や化学を習うならコンピューターの仕組みも学ぶべきだと思うんです。正直、物理屋さんや化学屋さんには悪いですが、これらよりもコンピューターの仕組みのほうが実生活に関わってきます。

第一に、皆さんコンピューターに無知すぎです。普段から使ってるのにそんなんでいいんですか?
コンピューターがどうやって動いているか聞かれて「CPU」という単語を出せる人がどれくらいいるでしょうか?
そして、そのCPUの中こそがコンピューターの中核なのにそこを説明できる人はどれだけいるでしょう?

ここで、こう書くと誰か一人くらいはこう反論する人が出てくると思います。プログラミング教育のほうが必要なんじゃないかと。しかし、これは全く別の話です。プログラミング教育は論理的思考能力を身に着けさせるために別途必要だと思いますが、ここで私が言っているコンピューターの仕組みを教育する必要性は教養を身に着けさせるためです。

もっと言うと、プログラミングはプログラマーしかしませんが、例えば車の仕組みは車を運転するすべての人が最低限は知っておくべきことです。

コンピューターの五大要素を始めとして、命令をパイプラインというやり方で処理していること、メモリやストレージがなぜ必要なのかは教育したほうが良いと思います。これは別に専門知識では無いでしょ。

多くの日本人にとってコンピューターをブラックボックスから脱却させる第一歩だと思います。

これは国民のほぼ全員が学ぶべきことなんです。しかも、コンピューターの仕組みを知ることで、情報工学について興味が湧いて、ITの道に進んでいく人も出てくると思いますし、社会全体でITへのより深い関心が高まると思います。

それにコンピューターアーキテクチャは非常に工学的です。工学に慣れ親しんでもらうためにも取り入れたほうが良いだろうと思います。

また、情報系の大抵のカリキュラムでは論理回路やプログラミングから入りがちですが、論理回路を知ったところでコンピューターの仕組みが分かるわけでもなければ、コンピューターを作れるようにもなりません。何よりコンピューターの概観を掴むことはできません。プログラミングやアルゴリズムも同様です。なので、最初にコンピューターアーキテクチャをやったほうがとっつきやすいんじゃないかと思います。
深い話は別の科目として用意するなどして、歴史なども追いやすいコンピューターアーキテクチャの初歩的なところを共通科目として最初に学ぶべきだと思います。