Pythonの勉強をし始めたのが今年の5月14日のこと。試験を受けたのが9月25日だから、学び始めから合格まで、4カ月と10日かかったことになる。これが遅いのか早いのかでいうと、わからないとしかいいようがない。希望的観測に基づいた自己評価は、年齢とプログラミング言語についてはほぼ初心者なので、まあ標準スピードよりちょっと早い程度かなと思う。
運と山カンに助けられての結果なので、順調にいけば最初の一回は当然のように落ちて、そこから2カ月くらい学び直して受かるというのが試験の直前に思い描いていた修正プランだった。僕のケースでの標準スピードは半年くらいじゃないだろうか。
とはいえ、頭の性能は著しく劣化している。読む傍からすぐに忘れてしまう。この基本性能の低下はいかんともしがたい。なので、普通の学習法とは違うアプローチをすることにした。
僕のとったアプローチは2つ。1つは、1冊の本にこだわらず、複数の本をぐるぐると巡ぐりに読むこと。もう1つは、紙の本には手を出さず電子書籍オンリーにすることだ。
1つ目のアプローチを取ったのはなぜかというと、どんなプログラミング言語でもそうだと思うのだが、理解するのが難しい概念があって、一冊の本を読むだけではなかなか頭に入ってこないからだ。ある人の本ではわからなかったことが別の著者の本で読むと理解できることがある。違う観点から違う説明が試みられていることが多く、新しい発見が必ずある。例えば今回のPython学習で難しかったのが「クラスの継承」。これは少なくとも1冊目の本ではほとんどよく理解できなかった。ところが4冊目で違う観点からの説明があって、少し理解できた(本当に理解できているかどうかはわからないが少なくともわかった気にはなった)。
この方法、さらにもう2つメリットがある。
飽きにくく、諦めにくいのだ。
1つの本を集中して読んでいく方法もいいが、僕はすぐに飽きて別のことをやりたくなる。少なくとも一度読んだものは再読する気になかなかならない。さらに、一冊の本を読み進めていてわからないところに出くわすと、そこをクリアしないと次に進みにくい。イヤ、進みたくなくなる。だからわからないところがあると、そこで諦めてしまいがちだ。僕のような飽きっぽい人間は、挫折する。これまでの苦い経験だ。ところが、複数の本を順繰りに読んでいくと、こうした「飽きる」や「諦める」が多少減るような気がしている。今回、自分としては驚くほど粘り強く、途中で諦めもしなかった。少なくとも僕にとっては実に効果的だったということだろう。
2つ目のアプローチを取った理由は、パソコンでPythonを実際に動かしながら、同じ画面でKindleを読むという学習スタイルにしたかったからだ。紙の本でもできなくはないが、顔を画面から紙面へそして画面へと何度も向け直さないといけない。本は手でページをめくらないといけない。別の章を参照するときも手間がかかってイヤになってしまう。
僕の場合は、27インチ画面のiMacを使っているので、画面の左右にKindleとPythonの実行環境(IDE)の画面を並べ、左でKindleを読みながら、右にそのコードを自分で打ち込みながらうまく動くかどうかを確かめることができる。顔の動きも手の動きも必要最小限で済む。
ある意味、学習ドリルをさくさくと気持ちよく解いていくような感覚があって、これなら、記憶に定着しやすいと感じた。
年が若く一度読んだだけで覚えられるような秀才・天才であればこの電子書籍を使ったドリル学習法は不要かもしれない。が、凡才や記憶力が弱ったシニア層にとってはこの学習法以外ではプログラミング言語の学習はうまくいかないのではないだろうか。少なくとも僕はそう確信している。
(読んだ本とこれから読もうとしている本などについては次回)