3月に初の書き下し本「さわるようにしくみがわかるコンピュータのひみつ」が出ます.この記事は本の見どころなどをご紹介します.
2017年の春ごろ.この本の編集者さんから「原田さん中学生向けにコンピュータの解説を書いてみませんか」と言われたのがきっかけです.どうしてと聞くと,ブログで僕の記事を読んだからということだそうですが.
まず,中学生向けというのがね.普段接しているのが小学生や幼稚園児ですし,子育てはしましたけどうちの子が中学の時にどうだったかなんて忘れてしまいましたし.
それと結構きつく言われたのが「ビスケットの本ではありませんから」ということでして.普段,大人向けに講習をやっていて,そこではビスケットを使ったコンピュータサイエンス入門の話はしているんですよ.たとえば,ビスケットのプログラムを作ってもらって,2進法の計算の仕方とか,プログラミング言語とはなにか,なんてのを説明しているのですが.この説明には前提としてビスケットでプログラムをかけることというのが必要でして.このネタは使えないと.
あと,僕はずっと昔に大学でコンピュータリテラシーの非常勤講師を3年くらいやってたことがありまして.当時の大学生はガラケーを持っているかいないかくらいで,初めてメールを打ちました,という人も珍しくなかった感じ.その授業のなかで,メールを出したり中継したりする練習も兼ねて,ルーチィングとかインターネットの仕組みをやったことがあります.このネタ,けっこうインターネットの本質をついた授業だと思うのですが,「今回はコンピュータの中だけで.インターネットは広げすぎですから」と言われてボツと.
ということで,どうしたらよいかわからなかったのですが.とりあえず,中学生を呼んでコンピュータを教える授業をやってみて,それで考えようという作戦にでまして,2017年の夏休みに3日間のイベントをやりました.結構面白い授業ができたと思います.たとえば,キーボードをもってきて,3つ同時にキーをおしたらバグるけど,そこからマトリックスの配線を推理する遊び.あと,TTLとブレッドボードを配ってみんなに加算器を作ってもらおうとしましたが,全然無理でしたね.せめて2進カウンターを1ビットずつつくってもらって,みんなで組み合わせるというのとかも.でも,頭のいい中学生に助けられただけで,本にはしにくい感じでした.
そんなこんなで,企画から1年がたちまして,どう書いていいかまったくわからない日が続きます.
何がきっかけだったか,中学生とはかせとの対話形式にしたらどうかと書いてみたら.いやいや,俺にはこんな文才があったのか,というくらいスラスラと文章が出てきまして.一気に2章分書けてしまいました.書いていた時間も2時間もかからなかったと思う.この本の最初の方に勢いがあるのはそのせいです.
2章の先はどうしようかと悩みながら.結局アンプラグドで行くことにしました.
加算器(足し算を計算する回路)を簡単に作れないかと思いついたのがスイッチです.スイッチというのはゲーム機じゃなくて,押したら電気が流れるあのスイッチです.これなら誰でもわかる.実際に手元になくても,本を読んだだけで何が起きそうかはわかる.これを組み合わせて加算器を作ればいいやと.流れとして,人間がスイッチを押すんじゃなくて機械に押させるにはどうするか.ということでリレーがでてきます.これも電磁石ですからわかりやすい.それで3ビットの加算器をリレーでつくります.詳細は端折ってて,なんとかできそうという感じで終わってはいますが,とにかく「機械が押すスイッチ」の組み合わせこそがコンピュータだということ.
コンピュータを理解する上で欠かせないのが抽象化です.3ビットの加算器はリレーを10個つかいます.その次の章では足し算を組み合わせて複雑な計算をさせるのですが,それを全部リレーで作るにはお金も時間もかかります.それで+の文字が描かれたカードを用意して,これをリレー10個だと思おう!足し算が10回でてくる計算は,カードを10枚並べて,リレーが100個で作ったと思おう!頭の中の想像力で補うのです.
こんな感じで最初はただのスイッチだけど,何百と組み合わせると,ちゃんと計算ができる.だんだんコンピュータっぽくなって行きます.
この後は,機械語の発明,プログラミング言語の発明,という感じで話は進みます.いままでの本だとあっさり進んでいたところをかなりしっかりと説明している感じでしょ.