科目Bの問題を解きっぱなしにしない復習法|間違いノートの作り方と再挑戦のタイミング
科目Bの問題をたくさん解いているのに、同じような問題でまた間違える。解説を読めばそのときは分かるのに。
演習の量を増やしても手ごたえが変わらない、と感じていませんか?
先に答えをお伝えします。解いた問題を力に変えるには、間違えた原因を一言で記録し、翌日に白紙から解き直し、数日後に初見の類題で確かめる、という三段階の復習が効きます。
解説を読んで分かった気になった時点で終わりにしないことが、いちばん大切です。
この記事では、間違いの原因を三種類に分けて記録する間違いノートの作り方と、解き直すタイミングを順番に説明します。テンプレートと記入例も載せるので、今日の演習からそのまま使ってください。
解きっぱなしでは力が伸びにくい理由¶
復習のやり方に入る前に、なぜ解きっぱなしでは伸びにくいのかを確かめておきます。理由が分かると、復習に時間を回すことに納得しやすくなります。
基本情報技術者試験の科目Bは、20問を100分で解く試験です。16問がアルゴリズムとプログラミング、4問が情報セキュリティです。
どちらも、知っている知識を答えるだけでなく、その場でプログラムや場面を読み解く力が問われます。
解説を読むと分かった気になる¶
解説を読んで「なるほど」と思えるのは、答えと理由が目の前に並んでいるからです。自分の力で最初から最後までたどれたわけではありません。
科目Bの問題は、プログラムの動きを一行ずつ追う作業が中心です。この作業は、読んで理解するだけでは身に付かず、自分の手で再現できて初めて本番で使えます。
間違いの原因が分かれていない¶
もう一つの理由は、間違えた原因を区別していないことです。同じ「間違い」でも、計算の途中でずれたのか、問題文を読み違えたのか、そもそも知らなかったのかで、直し方はまったく違います。
原因を分けずに「もっと演習しよう」と考えると、本当の弱点に手が届きません。次の章では、原因の分け方から説明します。
間違いは三種類に分けて記録する¶
間違いノートとは、間違えた問題と、その原因、次にどうするかを書き残すノートのことです。紙のノートでも、スマートフォンのメモでも、表計算ソフトでも構いません。
まず、間違いの原因を三つに分けます。それぞれの特徴を表にまとめました。
| 原因 | どんな間違いか | 直し方 |
|---|---|---|
| トレースのミス | 処理の追い方は分かっているが、途中で値がずれた | トレース表を書き、ずれた行を特定する |
| 問題文の読み違い | 条件や設問の聞き方を取り違えた | 条件に線を引く、設問を先に読む |
| 知識不足 | 記法やアルゴリズム、用語を知らなかった | 単元に戻って基礎から学び直す |
トレースとは、プログラムを一行ずつ実行したつもりで、変数の値の変化を追う作業のことです。科目Bの擬似言語の問題では、この作業が得点を大きく左右します。
この三つは、復習でやることが違います。だから記録の段階で、どれに当てはまるかを必ず一つ選んでおきます。
迷ったら、いちばん最初につまずいた原因を選んでください。
間違いノートのテンプレート¶
記録する項目は、多すぎると続きません。1問につき、次の六つの欄を一行ずつ埋める形にしておくのがおすすめです。
| 欄 | 書くこと |
|---|---|
| 日付と問題 | 解いた日と、問題集の名前や番号 |
| 原因の種類 | トレースのミス/問題文の読み違い/知識不足 から一つ |
| どこで間違えたか | ずれた行、読み違えた言葉、知らなかった用語を一言で |
| 次はこうする | 同じ間違いを防ぐための行動を一言で |
| 翌日の解き直し | 白紙から解けたら丸、解けなければ三角 |
| 類題での確認 | 初見の類題で解けたら丸 |
大事なのは、四つ目の「次はこうする」の欄です。「気をつける」のようなあいまいな言葉ではなく、「ループの終わりで添字を表に書く」のように、手を動かす行動で書きます。
記入例|トレースのミスを記録する¶
実際にどう書くのか、短い例で試してみます。次のプログラムは、配列の中で5より大きい値だけを合計するものです。
整数型: i, total ← 0
整数型の配列: data ← {3, 8, 2, 7}
for (i を 1 から dataの要素数 まで 1 ずつ増やす)
if (data[i] > 5)
total ← total + data[i]
endif
endfor
擬似言語の配列は、ふつう添字が1から始まります。添字とは、配列の何番目の要素かを表す番号のことです。
変数の値を一行ずつ追うと、次のようになります。
| i | data[i] | data[i] > 5 | total |
|---|---|---|---|
| 1 | 3 | 偽 | 0 |
| 2 | 8 | 真 | 8 |
| 3 | 2 | 偽 | 8 |
| 4 | 7 | 真 | 15 |
正解は15です。もし18と答えていたら、条件の判定で3を足してしまったか、比較の向きを取り違えたことになります。
この場合、ノートには「原因:トレースのミス/どこで:i=1 で条件を真と判定/次は:判定の結果を表の列に書いてから足す」と記録します。
このように、ずれた行と次の行動を一言で書けば十分です。トレース表の書き方そのものに自信がない人は、こちらの記事で手順を確かめておきましょう。
【関連記事】擬似言語のトレース表の書き方|科目Bで変数の値を追う手順を解説
読み違いと知識不足の記入例¶
ほかの二つの原因も、書き方は同じです。問題文の読み違いなら「原因:読み違い/どこで:『最初に』を見落とした/次は:設問の条件語に線を引いてから読む」のように書きます。
知識不足なら「原因:知識不足/どこで:二分探索の終わり方を知らなかった/次は:探索の単元を学び直す」と書きます。知識不足のときは、その問題だけを解き直しても足りないので、単元に戻ることを行動に入れておくのがポイントです。
再挑戦のタイミング|当日・翌日・数日後¶
記録を付けたら、次は解き直しです。間違いノートは、書いて終わりにすると効果が半分になります。
解き直すタイミングを決めておき、予定に組み込みましょう。
三つのタイミングと、それぞれでやることを表にまとめました。
| タイミング | やること | 確かめること |
|---|---|---|
| 解いた当日 | 解説を読み、原因と次の行動を記録する | 原因を三種類のどれかに決められたか |
| 翌日 | 同じ問題を白紙から解き直す | 解説を見ずに最後までたどれるか |
| 数日後 | 同じ型の初見の類題を解く | 答えを覚えていなくても解けるか |
翌日は白紙から解き直す¶
翌日の解き直しでは、前日に書いたトレース表や解説を見ずに、問題文だけを見て解きます。答えを覚えていても構いません。
確かめたいのは、答えまでの道筋を自分の手で再現できるかどうかです。
途中で手が止まったら、そこがまだ身に付いていない場所です。ノートの「翌日の解き直し」の欄を三角にし、止まった場所を「どこで間違えたか」の欄に書き足します。
数日後は初見の類題で確かめる¶
同じ問題を何度も解くと、答えそのものを覚えてしまいます。そこで数日後には、同じ型の、まだ解いたことのない問題を一問解きます。
類題とは、使っている処理や考え方が同じで、数値や場面が違う問題のことです。
たとえば、先ほどの例が合計の問題だったなら、条件に合う要素の個数を数える問題や、最大値を求める問題が類題になります。集計の型が分かっていれば、初めて見る問題でも同じ手順で追えます。
類題が見つからないときは、元の問題の数値や条件を自分で少し変えて作る方法もあります。合計や件数の求め方の型を整理しておきたい人は、こちらの記事が役に立ちます。
【関連記事】擬似言語の合計・最大値・件数の求め方|科目Bで頻出の集計パターンを解説
類題でも間違えたときは単元に戻る¶
数日後の類題でも間違えた場合は、その問題だけの話ではなくなります。同じ型の問題を二度落としたということは、型そのものの理解が足りていないと考えられます。
このときは、問題演習をいったん止めて、その型を扱う単元の解説や講座に戻ります。基礎を確かめ直してから、もう一度別の類題に挑戦してください。
遠回りに見えますが、同じ型で三度目の失点をしないための近道です。
間違いノートを続けるためのコツ¶
間違いノートは、続けて初めて弱点が見えてきます。最初から完璧に書こうとすると疲れてしまうので、続けやすい形にしておきましょう。
1問につき一行で書く¶
一つの問題に長い文章を書く必要はありません。表の一行に収まる長さで十分です。
長く書くと、書くこと自体が目的になり、解き直しの時間が削られてしまいます。
迷って正解した問題も記録する¶
間違いノートに書くのは、不正解の問題だけではありません。二つの選択肢で迷い、たまたま正しいほうを選べた問題も記録しておきましょう。
こうした問題は、本番では逆の結果になってもおかしくありません。正解だったので安心しがちですが、実は弱点の候補です。
ノートには、原因の種類の代わりに「迷った」と書き、迷った理由を一言添えておきます。
迷った理由が書けない場合は、解き方そのものがあいまいな可能性があります。その問題も、翌日の解き直しの対象に入れてください。
解き直しの予定を先に決めておく¶
復習が続かない理由の多くは、解き直しの時間が予定に入っていないことです。新しい問題を解く時間はとっても、前日の問題に戻る時間は後回しになりがちです。
そこで、1日の勉強の最初の時間を、前日の間違いの解き直しに充てると決めておきます。新しい問題に進むのは、その後です。
順番を固定しておくと、迷わずに復習から始められます。
週に一度、原因の種類を数える¶
週に一度、ノートを見返して、三つの原因がそれぞれ何回あったかを数えてみてください。数えると、自分がどの種類の間違いに偏っているかが分かります。
偏りが見えたら、次の週の勉強の重点をそこに置きます。偏りごとの対策の目安を表にしておきます。
| 多かった原因 | 次の週の重点 |
|---|---|
| トレースのミス | 毎回トレース表を書き、値を書いてから次の行へ進む |
| 問題文の読み違い | 設問を先に読み、条件語に線を引く練習をする |
| 知識不足 | 該当する単元の講座や解説に戻り、基礎から確かめる |
トレースのミスが多い人は、うっかりの型を知っておくと防ぎやすくなります。よくある間違い方は、こちらの記事にまとめています。
【関連記事】擬似言語でケアレスミスが多い人へ|よくある間違いと確認方法
セキュリティの問題も同じ形で記録する¶
科目Bの情報セキュリティの問題も、同じノートに記録できます。原因の分け方は少し変わり、知識不足と問題文の読み違いが中心になります。
セキュリティの長文で読み違いが多い人は、問題文を四つの要素に分けて読む方法が役に立ちます。同じ日に公開したこちらの記事で、例題を使って説明しています。
【関連記事】科目Bのセキュリティ事例問題が解けない人へ|長文の読み方と選択肢の絞り方
Giji Academy で再挑戦と類題練習を進める¶
間違いノートで弱点が分かったら、その単元に戻って練習し直す場が必要です。Giji Academy の擬似言語の講座は、記法の基礎から、条件分岐・繰返し・配列・アルゴリズム・FE科目B対策まで、単元ごとに分かれています。
無料会員でも、一部の教材と入門レベルの練習問題を使えます。ノートで知識不足と分かった単元に戻り、入門の練習問題から再挑戦してみてください。
有料会員(月額1,980円・税込)になると、すべての講座と練習問題を使えるので、類題の練習の幅が広がります。
トレースのミスが多い人には、擬似言語シミュレーターも役に立ちます。擬似言語のプログラムをブラウザ上で1行ずつ実行し、変数の値が変わる様子を見られるので、自分のトレース表と見比べると、どの行でずれたかを確かめられます。
【Giji Academy】擬似言語の講座を見てみる
科目B全体の出題内容と、擬似言語の勉強の全体像を確かめたい人は、こちらの記事も参考にしてください。
【関連記事】基本情報技術者試験の科目Bとは?擬似言語・アルゴリズム対策を初心者向けに解説
まとめ¶
科目Bの問題は、解いた数よりも、間違いをどう扱ったかで力の伸び方が変わります。間違えたら原因を三種類のどれかに分け、次にとる行動まで一言で記録しましょう。
そのうえで、翌日に白紙から解き直し、数日後に初見の類題で確かめます。週に一度ノートを見返して原因を数えれば、次に何を勉強すればよいかも自然に決まります。
最初の数日は、記録を付けるだけで手間に感じるかもしれません。それでも、一週間分の記録がたまると、自分の間違い方の癖がはっきり見えてきます。
今日解いた問題から、一行ずつ記録を始めてみてください。同じ間違いが一つずつ減っていくのを、ノートの丸の数で確かめられるはずです。