英単語日記7

前回の状況

7/7  1m 29
6/22 8d 35
6/19 4d 10
6/17 2d 16
6/16 4d 26
working 19

今日(16日)のテスト

4日目復習テスト26枚、所要時間2m40、OK 26枚。6/24にリスケ。テストにかかる時間は1枚5〜10秒ってところか。

達成感がなくなってきた…

達成感をどうやって演出するかが悩ましいという話だけど、とりあえず6/7に初めて今日で9日目だけど、その9日間で「昔作った単語カードで間違えたものか、新しく辞書を引いて作った単語カードのうち、3回連続テストに成功したものが61枚」ってことだね。1回成功して2日目復習になって、2回目成功して4日目復習になるのだから、いま8日目復習になっているものは3回成功したもの。つまり1日あたり7枚のペースで覚えてるってことか。

何がどれだけスケジュールされているかを全部書くこのパターンだと、情報量が多すぎて達成感が得られないね。勉強中のカード1枚あたり1点、1回成功したカードが2点、2回成功したら3点…でスコアをつけてみよう。

import sys
import re
data = sys.stdin.read()
PAT_NUM = re.compile(r".* (\d+)$")
labels = {"working": 0, "2d": 1, "4d": 2, "8d": 3, "16d": 4, "1m": 5, "2m": 6, "4m": 7}
num_cards = [0] * 10
total = 0
for line in data.strip().split("\n"):
    num = int(PAT_NUM.match(line).groups()[0])
    total += num
    for k in labels:
        if k in line:
            num_cards[labels[k]] += num

print num_cards
print "total:", total
print "score:", sum((i + 1) * num_cards[i] for i in range(len(num_cards)))

昨日の段階でカード総数135枚、スコア473点。先程の4日目復習テスト26枚に全問正解したことで26点増えて今は499点。おお。あと1点!

スコアを増やすには、新しい単語を勉強してカードを追加するか、テストで正解する必要がある。テストは一定時間待たないと挑戦できないので、牧場系ゲームみたいな構図だね。このゲームでは新しい単語を追加する作業で手軽にスコアを増やすことができてしまう。ま、それはいいか。

今日の最終状態

7/7  1m 29
6/24 8d 26
6/22 8d 35
6/19 4d 10
6/18 2d 23
6/17 2d 16
working 1

[1, 39, 10, 61, 0, 29, 0, 0, 0, 0]
total: 140
score: 527

今日はworkingに新しいカードを追加してからテストをしてしまったけど、そうすると追加したカードがいきなり2日後復習からスタートしてしまう。追加する前に昨日追加したカードの試験をするべき。

  • A:workingのテスト
  • B:その日復習のもののテスト
  • C:英文を読むなどしてわからなかった単語の単語カードを作る

の順番にするべき。

目標設定

スコアはテストに正解するたびに1点、カードを追加するたびに1点増える。後3日で行われるテストは49個だから金土日月の4日で80くらい増えてスコアが600点を超えるのは現状維持すれば余裕だろう。これを最低ラインにしよう。で、できて当たり前のことをしていてもチャレンジにはならないから、ちょっとチャレンジングでできるかどうか分からない目標を別に立てよう。んー、どの程度を目標に立てたらいいかわからんなぁと思ったが、単純に毎日その日までの最高記録の塗り替えに挑戦すればいいのか。今日は28点獲得したので、明日は30点を目指そう。

あ、いけない、危ない危ない。「毎日前日のスコアを越える」は達成不可能目標だ。目標設定のバッドパターン。あと先週は土曜日に勉強しなかったんだよな。

  • 現状維持目標: 月曜終了までに600点超え
  • チャレンジ目標: 明日30点獲得
  • チャレンジ目標: 土曜日に勉強をして32点以上獲得。
  • チャレンジ目標: 日曜日に勉強をして34点以上獲得。