プログラミング言語習得に必要なのは読解力で、プログラミング初心者を脱せない人の多くは、論理的思考力以前に「読解力が足りない」「文字を読んでいない」「考えていない」のではという筆者の観察経験に基づく考えを述べた。この読解力に関係するのが短期記憶能力であるようだ。
読解力と短期記憶の関係性を実験的に明らかにした代表的な研究として、Daneman & Carpenter (1980)によるReading Span Task(RST)がある。(Daneman, Meredyth, and Patricia A. Carpenter. “Individual differences in working memory and reading.” Journal of Memory and Language 19.4 (1980): 450.)
これは簡単な記憶課題と処理課題を交互に繰り返すことで行われる。例えば、以下のように色付きの丸と文が交互に表示され、赤丸が出た後では、「今月の給料が出たので、みんなで外食することに決めた」という文を読んだ上で、赤線が引いてある「外食」を覚えるというものである。
このRSTにより、短期記憶と読解力は相関関係にあることが分かっており、この種の実験には多種多様なパターンが開発されている。
読解力の背景に短期記憶能力があるとすれば、プログラミング学習に限らず、「新しい事」を学ぶ上で初心者を抜け出せない人の特徴が見えてくる。
まともに構成されているテキストであれば、基本的な用語や概念が定義された上で、それを前提として少しずつそれを応用させていくという展開になっているはずだ。すると、基本的な事をすぐに覚えられないと、続きを読んでいくうちに何が書いてあるか分からないし、用語を確認するために本を戻ったり進んだりしていると、なかなか学習は進まない。
これは数学が苦手な人にも共通する。数学を扱う専門書に共通するのは、最初に各記号などの定義だ。これは分野によってある程度同様に使われているものも多いが、各論文独自の物も少なくなく、全体として数が多いので、それらが頭に入っていないと読み進めることが難しい。大学以降の数学で嫌になってしまう人が多いのはこの点であろう。
ページを行ったり来たりするのを防ぐために、記号とその定義を別に書き出しておくのは一つの手だが、やはりある程度頭に入っていないと読み進めるスピードは遅い。