基本情報技術者試験 科目Bで落ちる人の特徴とは?|よくある失敗と対策方法を解説します
「基本情報技術者試験 科目Bに受からない・・・」
そのような方には、いくつか共通した特徴があります。
もちろん、落ちる人が能力不足という話ではありません。むしろ、勉強時間をしっかり取っているのに、やり方が科目Bに合っていないケースが多いです。
科目Aは暗記や知識の積み上げで点を取りやすい一方、科目Bは擬似言語やアルゴリズムを読んで、処理の流れを追う力が必要になります。
ここでつまずくと、参考書を読んでいるのに問題が解けない、解説を読むとわかるのに本番形式だと手が止まる、という状態になりがちです。
この記事では、基本情報技術者試験の科目Bで落ちる人に多い特徴と、その対策を初心者向けに解説します。
科目Bで落ちる人は、知識不足だけが原因ではない¶
科目Bで落ちる原因を、すぐに知識不足と考えてしまう人は多いです。
たしかに、擬似言語の記法やアルゴリズムの基本を知らなければ解けません。けれども、実際には知識があるのに点につながっていない人もいます。
たとえば、if文やfor文の意味は知っているのに、問題になると変数の値を追えない。配列の考え方はわかるのに、添字が出てくると混乱する。
これは、知識がないというより、知識を問題の中で使う練習が足りていない状態です。
科目Bでは、覚えたことをそのまま答えるだけではなく、問題文の条件に合わせて処理を追う必要があります。ここが科目Aとの大きな違いです。
科目Bで落ちる人に多い特徴¶
まずは、科目Bで落ちる人に多い特徴を整理してみましょう。
自分に当てはまるものがあるか、確認しながら読んでみてください。
| 落ちる人に多い特徴 | 起きやすい失敗 | 対策 |
|---|---|---|
| 文法暗記だけで進める | 問題文になると読めない | 短いコードをトレースする |
| 頭の中だけで解く | 変数の値を忘れる | 表に書いて追う |
| 時間配分を決めていない | 難問に時間を使いすぎる | 飛ばす基準を作る |
| 擬似言語だけに偏る | 情報セキュリティで落とす | 科目B全体で得点を考える |
| 復習が浅い | 同じミスを繰り返す | 間違えた理由を分類する |
| 最初から難問を解く | 苦手意識が強くなる | 短い処理から始める |
この表を見てもわかるように、科目Bは勉強量だけではなく、勉強の方向性が大切です。
同じ1時間でも、参考書を眺める1時間と、1問を丁寧にトレースして復習する1時間では、伸び方が変わります。
特徴1:擬似言語を読むだけで勉強した気になっている¶
科目Bで落ちる人に多いのが、擬似言語を読むだけで勉強した気になってしまうことです。
参考書や解説を読むと、たしかにわかった感じがします。ですが、試験本番では自分で処理を追う必要があります。
たとえば、次のような短い擬似言語を見てみましょう。
○整数型: countPass(整数型の配列: scores, 整数型: border)
整数型: count ← 0
整数型: i
for (i を 1 から scoresの要素数 まで 1 ずつ増やす)
if (scores[i] ≧ border)
count ← count + 1
endif
endfor
return count
この関数は、配列scoresの中から、border以上の値がいくつあるかを数える処理です。
解説を読むと簡単に見えるかもしれません。けれども、本番ではcountがいつ増えるのか、iがどこまで進むのかを自分で判断する必要があります。
たとえば、scores = {72, 55, 60, 81}、border = 60なら、トレースは次のようになります。
| i | scores[i] | 条件 | count |
|---|---|---|---|
| 初期 | - | - | 0 |
| 1 | 72 | 真 | 1 |
| 2 | 55 | 偽 | 1 |
| 3 | 60 | 真 | 2 |
| 4 | 81 | 真 | 3 |
戻り値は3です。
ここで大切なのは、コードを眺めるだけではなく、自分で表にできるかです。読めることと、追えることは別です。
擬似言語がそもそも読めない方は、以下の記事も参考にしてください。
【関連記事】擬似言語が全くわからない!? IT初心者でも読めるようになる考え方と勉強法
特徴2:トレースを頭の中だけでやろうとする¶
科目Bで落ちる人は、トレースを頭の中だけで済ませようとしがちです。
簡単な問題なら、それでも解けることがあります。ですが、配列、ループ、条件分岐が組み合わさると、頭の中だけでは値を保持しきれません。
トレースとは、プログラムの処理を順番に追い、変数の値がどう変わるかを確認することです。
初心者のうちは、必ず紙やメモに書いたほうがよいです。きれいな表でなくても構いません。
エンジニア歴10年の私でも、複雑な処理を見るときは頭の中だけで判断しません。ログを確認したり、値を書き出したりして、事実を見えるようにします。
試験ではログを出せないので、代わりにトレース表を書きます。
特に、合計、カウント、最大値、フラグ、位置を表す変数は、値が変わるたびにメモしておくとミスが減ります。
特徴3:時間配分を決めずに本番へ行く¶
科目Bで落ちる人は、時間配分を決めずに本番へ行ってしまうことがあります。
科目Bは100分で20問です。単純に割ると1問5分ですが、すべての問題に同じ時間を使う必要はありません。
むしろ、すべての問題に均等に時間を使おうとすると、難しい問題で崩れます。
本番では、読んですぐ方針が立つ問題を先に取り、方針が立たない問題は一度飛ばす判断が必要です。
| 状態 | 判断の目安 | 行動 |
|---|---|---|
| 1分で処理の目的がわかる | 解ける可能性が高い | そのまま解く |
| 2分読んでも主役の変数が見えない | 時間を使いすぎる危険 | 印を付けて飛ばす |
| 計算はできそうだが長い | 後で見直したい | 途中までメモして進む |
| 選択肢が絞れない | 深追い注意 | 消去法だけして次へ |
飛ばすことは逃げではありません。
限られた時間で合格点を取りにいくための戦略です。難問に飲み込まれて、解ける問題を落とすほうがもったいないです。
時間配分が不安な方は、以下で詳しく解説しています。
【関連記事】基本情報技術者試験の科目Bで時間が足りない人へ|擬似言語問題を速く読むコツ
特徴4:情報セキュリティを軽く見ている¶
科目Bというと、擬似言語やアルゴリズムの印象が強いです。
そのため、情報セキュリティの対策を後回しにしてしまう人がいます。これは非常にもったいないです。
科目Bは、アルゴリズムとプログラミングだけでなく、情報セキュリティも出題範囲に含まれます。IPAの変更内容でも、科目Bは情報セキュリティとデータ構造及びアルゴリズムを中心にした構成と説明されています。
擬似言語が苦手な人ほど、情報セキュリティで取れる問題を落とさないことが重要です。
情報セキュリティ問題は、知識と読解で対応できるものもあります。暗号、認証、アクセス制御、マルウェア対策、ログ管理など、基本用語を押さえておくだけでも差がつきます。
科目Bで落ちる人は、アルゴリズムだけに集中しすぎて、他で取れる点を逃していることがあります。
特徴5:復習が答え合わせで終わっている¶
科目Bで点が伸びない人は、復習が答え合わせで終わりがちです。
正解か不正解かを確認して、解説を読んで、次の問題へ進む。これだけでは、同じミスを繰り返しやすいです。
科目Bの復習では、なぜ間違えたのかを分類することが大切です。
| 間違えた理由 | 例 | 次にやること |
|---|---|---|
| 文法の理解不足 | modやreturnの意味が曖昧 |
記法を確認する |
| トレースミス | countの更新を1回飛ばした | 表を書いて解き直す |
| 読み飛ばし | 以上とより大きいを間違えた | 条件式に印を付ける |
| 時間不足 | 後半の問題に触れなかった | 飛ばす基準を作る |
| 問題文の誤読 | 何を求めるか勘違いした | 設問を先に読む |
同じ不正解でも、原因は人によって違います。
原因が違えば、対策も変わります。だからこそ、復習では答えではなく、間違え方を見ることが大切です。
特徴6:最初から過去問や難問ばかり解く¶
科目Bの対策として、いきなり過去問やサンプル問題を解く人も多いです。
もちろん、本番形式の問題に慣れることは大切です。ですが、基礎が固まっていない状態で長い問題ばかり解くと、挫折しやすくなります。
特にIT初心者の場合、最初は短いコードで十分です。
合計を求める、件数を数える、最大値を探す、条件を満たす位置を返す。このような短い処理を確実に追えるようにすることが、科目Bの土台になります。
短い問題が読めるようになると、長い問題でも部分ごとに分けて読めるようになります。
逆に、短い問題で値を追えないまま長い問題に挑戦すると、何をしているのか見失いやすいです。
特徴7:擬似言語を暗記科目だと思っている¶
擬似言語の記法を覚えることは大切です。
しかし、擬似言語は暗記だけで解ける分野ではありません。試験では、初めて見る処理を読んで、条件に合わせて結果を考える必要があります。
たとえば、for文の書き方を覚えていても、ループの中でどの変数が更新されるかを追えなければ解けません。
if文の意味を知っていても、条件が真になるタイミングを見落とせば間違えます。
科目Bで必要なのは、文法知識を使って処理を読む力です。
暗記した知識を、手を動かして使える状態にすることが大切です。
特徴8:本番で焦ったときの立て直し方を決めていない¶
科目Bで落ちる人は、本番で焦ったときに何をするか決めていないことがあります。
問題文が長い。コードが難しそう。選択肢が全部それっぽい。
このような状態になると、頭が真っ白になってしまいます。
そんなときは、最初から全部を読もうとしないことです。まず設問を見て、何を答える問題なのかを確認します。
次に、戻り値や表示される値を見ます。そして、主役の変数を探します。
この順番を決めておくだけで、焦ったときに戻る場所ができます。
本番で焦りやすい方は、以下の記事も読んでおくと安心です。
【関連記事】擬似言語問題で焦る人への対策方法!|試験本番で頭が真っ白にならないためにどうすれば!?
科目Bで落ちないための対策¶
ここまで、落ちる人の特徴を見てきました。
では、どうすれば科目Bで安定して点を取れるようになるのでしょうか。
対策はシンプルです。短いコードを読み、トレースし、間違えた理由を分類し、少しずつ本番形式に近づけます。
おすすめの流れは次の通りです。
| ステップ | やること | 目的 |
|---|---|---|
| 1 | 擬似言語の基本記法を確認する | 最低限の読み方を作る |
| 2 | 短いコードをトレースする | 変数の変化に慣れる |
| 3 | 処理の型を覚える | 合計・カウント・探索を見抜く |
| 4 | 科目B形式の問題を解く | 本番の読解に慣れる |
| 5 | 時間を測って解く | 100分20問の感覚を作る |
| 6 | 間違えた理由を記録する | 同じ失敗を減らす |
大切なのは、いきなり最後のステップから始めないことです。
本番形式の演習は必要ですが、その前に短い処理を読めるようにしておくと、理解がかなり楽になります。
私が思う、科目Bで一番大切な力¶
私はエンジニアとして10年以上、コードを書いたり読んだりしてきました。
その経験から見ると、科目Bで大切なのは、難しいアルゴリズムを暗記することだけではありません。
一番大切なのは、処理を小さく分けて読む力です。
実務でも、長いコードを最初から最後まで同じ力で読むことはありません。まず何を入力して、何を出力するのかを見ます。
次に、どの変数が結果に影響するのかを見ます。そして、必要な部分だけを詳しく追います。
科目Bの擬似言語も同じです。
全部を完璧に理解しようとすると、時間が足りなくなります。主役の変数を見つけて、変化する条件を追うほうが効率的です。
これは才能ではなく、練習で身につく読み方です。
まとめ:落ちる原因がわかれば、科目Bは改善できる¶
基本情報技術者試験の科目Bで落ちる人には、よくある特徴があります。
文法を読んだだけで終わっている。頭の中だけでトレースしている。時間配分を決めていない。情報セキュリティを軽く見ている。復習が答え合わせで終わっている。
どれか一つでも当てはまったら、そこが改善ポイントです。
落ちる原因がわかれば、対策できます。
まずは短い擬似言語をトレースして、変数の値を追う練習から始めましょう。次に、間違えた理由を記録して、同じミスを減らしていきます。
科目Bは、ただ知識を覚えるだけではなく、処理を読む試験です。
最初は難しく感じても大丈夫です。読む順番を決め、主役の変数を見つけ、表にして追えば、少しずつ見えるようになります。
焦らず、でも手を動かして進めていきましょう。
取れる問題を落とさない力がつけば、科目Bの合格はかなり現実的になります。
ここまでお読みいただきありがとうございました。