ついに入社4か月目にしてプログラミングコースを修了しました。
テックチームの小林です。
今回はテックチームに所属して最初に出されたAnkiについて理解を深める課題を通して想像以上にフラッシュカードが有用かもしれないと感じたという話です。
Ankiとは?
未来電子ではプログラミングコースカリキュラムで暗記のためのフラッシュカードソフトであるAnkiを使うように言われます。
Ankiは高速で問と答を切り替えて学習します。
その中で出された問題が簡単であれば「簡単」ボタンを、難しければ「もう一度」ボタンを押すことで次の問題へ進みます。
ここでの評価に応じて次に同じ問題が出されるタイミングが違ってきます。
Ankiへの第一印象
AnkiのUIはずいぶん古臭いものです。
ほぼ白黒ですし。
「もう一度」ボタンを押すのがためらわれるのもマイナスポイントでした。
デッキに追加したカードがほとんどわからないものだとすべてのカードに「もう一度」ボタンを押すことになり、カードがカードの消化が追い付かないのです。
また、自分でデッキを作ることができるといってもとにかく面倒でした。
Ankiはどう使うべきか?
しかし、適切なAnkiの使い方を知ることで少し見方が変わりました。
*デッキは自分で作るべき
Ankiのデッキは自分で作ることがベストです。
デッキ作りは「問と答を1対1対応させながら追加していく作業だから簡単だ。」と思われがちです。
しかし効果的な問と答を用意するのは簡単ではありません。
高速な学習が行えるため答はできるだけ短く簡潔なものが望ましいのですが実践できる人は少ないでしょう。
例えば、「~の特徴を3つ答よ。」という問はやりがちですが適切ではありません。
3つの特徴が全て重要なものだとしても、答はもっと短くすべきで、それぞれの特徴を答えさせるような質問を3つ考えるべきなのです。
また、特徴が3つとは限らないことも不適切です。
答が1つに定まらないのは明らかな欠陥です。
このように問と答を考えることはなかなか難しいものです。
そしてこれ以上ないくらいに簡潔な答が書かれたデッキはなかなか公開されていません。
ならば、自分で作るしかない。
また、自分でデッキを作るという行為そのものが効率的な学習です。
デッキはジャンルごとに分けない
英単語、Unixコマンド、などデッキの種類はいくつかに分けることができます。
しかし、これらは全て同じデッキに突っ込んで構いません。
デッキを分けるとどうしてもその日、その時間に学習するデッキを選ぶ段階で偏りが生じます。
苦手なデッキを敬遠したり、逆に苦手だと思うものばかり選んでしまったりするでしょう。
どんなことを勉強するのかはAnkiのシステムに任せればよいのです。
全てのジャンルを1つのデッキにまとめてしまうことで偏りなく学習できます。
Ankiの代わりはないのか?
これは今探しているところです。
なんせUIがダサいのが気に食わないのです。
条件は自分でカードをカスタマイズできること、復習のスパンをシステムが決めてくれること。
これらは必須です。
さらにいつどれだけ学習を進めたかチェックできる機能、デッキのデータを他のソフトでも使えるような拡張子で出力できると最高です。
長くデッキを使う場合はソフトの寿命終了とともにデータ移行が必要になりますからね。