ゴミ箱の中のメモ帳

まだ見ぬ息子たちへ綴る手記

情報処理のテキスト

世間の情報処理のテキストというのは誰向けに書かれているのだろうか。

私が思うにどうも中学生や高校生をターゲットにしているようにしか思えない。そうなると、そのテキストを大学生以上の人間が読んで勉強するというのはなかなか難しい。

中学生や高校生をターゲットにするのであれば数式や理論も言葉を使って話をする必要があるが、それ以上であれば数式や理論をそのまま書けば良いだけだ。だがテキストにはその数式や理論はなく、そのまま言葉で説明されているだけだ。

その単純な数式を一々言葉で説明されれば冗長でわかりづらいし、そもそもその説明が単純すぎて頭の中で数式も思い浮かべづらい。

 

情報処理 2015年06月号

情報処理 2015年06月号

 

 ====
例えば情報処理のテキストを読めば、最初か、少なくとも前半に2進数の計算が出てくるだろう。

「101011」を10進数に変換するとどうなるか。

 

最近のスクリプト言語を使う人からすれば「2進数」自体を使うことがないかも知れないがC言語ならちょっとコードを書くなら確実に使うし、スクリプト言語でもビットシフト等では使うだろう。

そんな2進数の変換について、私が見た教科書全て(十冊程度)の教科書で

 

[image:id=384]


のような例示をし、具体的な計算方法を説明しているだけであった。コレはなぜか。

 

A=fliplr(\{1,0,1,0,1,1\}) \\ n=numel(A) \\ \sum_{k=0}^{n} A_k 2^k


このように数学として総和で表せるのだから(概念的であるが)、数式を使って表せばやり方を理解できるだろう。そして余ったスペースでそうなる証明をすれば紙面のスペースも変わらないだろう。

何故そうしないのか。


例えばプログラミングを勉強するのであれば、総和のような具体的な式が会ったほうが理解が早いしコーディングもしやすい。そもそもこの総和のような簡単な式が理解できなければプログラミングなど難しい。

例えばJPEG画像に圧縮するにしても離散コサイン変換が使われているわけだから、同じように総和として以下の式が必要になる。

 

X_k = \sum_{n=0}^{N-1} x_n cos\{\frac{\pi}{N}(n+\frac{1}{2})k\}


この式がわからなければJPEG圧縮をするプログラムすら書けない。

 

このように情報処理というのはある程度知識と思考が必要な学問のはずである。

だが、世間に溢れる情報処理のテキストというものは「情報処理試験」に合格させるためのテキストに成り下がり、その本質を無視してしまっているのだろう。

情報処理試験の対策テキストとしても、是非本質的な説明の有るテキストを出してほしいものだ。

なければ自分が作るべきなのだろうか。