etc/AnkiTips/勉強法全般

Last-modified: 2012-05-20 (日) 06:52:28


効果的な学習法: 知識を定式化する20個のルール

  • 効果的な学習法: 知識を定式化する20個のルール
    • 理解していないものを 暗記してはいけない。記憶する前に 全体を学習せよ。基本の上に積み重ねよ。
    • 最小情報原則を守るべし。穴埋め問題は簡単・効果的。
    • 画像を使え。画像の穴埋め問題は、文章の穴埋め問題と同じくらい効果的。
    • 集合を避けよ。列挙を避けよ。
    • 干渉を防げ。
    • 言葉を最適化せよ。文脈の手がかりで問題文を簡略化。

科目を表す画像

記憶の混同が起こりやすい科目を勉強しているときは、科目を「アイコン画像」で区別すると良いかもしれません。

私は、プログラミング言語 Ruby, Python, JavaScript, PHP を同時並行で学習しています。これらの言語たちは似たところもあるので、記憶が混同して誤答することがあります。そこで、それぞれの言語を表す 画像 を用意します。カードレイアウト (Card Layout) を使って、カードの片隅に この画像を表示すると、混乱が減ったような気がします。

例えば Ruby を表す画像を Ruby.png というファイル名で作成します (大きさは 32x32 くらい)。
このファイルを 単語帳の メディアフォルダ に置きます。単語帳が Ruby.anki というファイル名なら、メディアフォルダは Ruby.media ディレクトリです。

次に カードレイアウト の「質問」を以下のように設定します。

<img src="Ruby.png"> <br>
{{Front}}

こうすれば、このカードテンプレートから作られたカードすべてに、画像 Ruby.png が表示されます。

タグに対応した画像を表示する

ひとつの単語帳に いろいろな科目の問題を入れている場合、以下の方法が有効です。ファクトの タグ には科目を表す単語が入力されている とします。

(例えば私は、プログラミング言語 PHP の単語帳 PHP.anki の中に、(1)PHP言語自体 (2)CakePHPライブラリ (3)Smartyライブラリ (3)CodeIgniterライブラリ 、に関するファクトを入れています。ファクトには 科目を表すタグとして (1)PHP (2)CakePHP (3)Smarty (4)CodeIgniter 、を設定しています。)

タグに対応した画像を用意します。それぞれ PHP.png, CakePHP.png, Smarty.png, CodeIgniter.png というファイル名で用意します。これらをメディアフォルダ PHP.media に入れます。

次に カードレイアウト の「質問」を以下のように設定します。

<span id='icons'></span>
<script>
var tags = '{{tags}}'.split(/\s+/);
tags.forEach( function(i){
  var img = document.createElement('img');
  img.src = i + '.png';
  document.getElementById('icons').appendChild( img );
} );
</script>
{{Front}}


こうすれば、タグに応じた画像が表示されます。

タグに応じて背景色を変える

2ch 「Ankiで暗記」スレ 254 より:

<div id="tags" style="display:none;">{{tags}}</div>
<script type="text/javascript">
var tags = document.getElementById("tags").innerHTML;
if (tags.match(/tagA/) != null) document.body.style.backgroundColor="red";
else if (tags.match(/tagB/) != null) document.body.style.backgroundColor="blue";
</script>