基本情報技術者試験 科目Bの合格方法5選|新人エンジニア向けに勉強法・時間配分・攻略ポイントを解説

こんにちは。ゆうせいです。

今回は、基本情報技術者試験の科目Bに合格するための方法を、新人エンジニア向けに5つに絞って解説します。

まず、正式名称は「基本情報技術者試験」です。「基本情報処理技術者試験」と呼ばれることもありますが、IPAが掲載している試験区分名は「基本情報技術者試験」です。IPAは、基本情報技術者試験を「ITエンジニアの登竜門」と位置づけ、ITエンジニアとしてキャリアをスタートする人に受験を勧めています。

科目Bは、ただ暗記すれば突破できる試験ではありません。

むしろ、プログラムを読み、処理の流れを追い、どの変数がどう変わるかを考える力が問われます。

新人エンジニアにたとえるなら、科目Aが「ITの基礎知識チェック」だとすると、科目Bは「小さなコードレビューとデバッグの試験」です。

まず科目Bの試験形式を押さえよう

基本情報技術者試験はCBT方式で随時実施されています。科目Bは試験時間100分、出題形式は多肢選択式、出題数と解答数はいずれも20問です。

項目科目Bの内容
試験時間100分
出題数20問
解答数20問
出題形式多肢選択式
主な分野アルゴリズムとプログラミング、情報セキュリティ

IPAのサンプル問題では、科目Bは「アルゴリズムとプログラミング」と「情報セキュリティ」の2分野で構成され、出題割合はアルゴリズムとプログラミングが8割、情報セキュリティが2割を想定すると説明されています。

つまり、合格の中心はアルゴリズムです。

セキュリティも大切ですが、科目Bで最も時間を使うべき相手は、擬似言語で書かれたプログラムです。

なお、基本情報技術者試験の科目Aと科目BはIRTに基づいて評価点が算出され、科目Bは1,000点満点中600点が基準点として示されています。

科目B合格方法1:最初に「科目Bは読解試験」だと理解する

科目B対策で最初にやるべきことは、「知識を覚える試験」ではなく「処理を読む試験」だと理解することです。

もちろん、配列、繰返し、条件分岐、関数、スタック、キューなどの知識は必要です。

しかし、本番で問われるのは「知っているか」だけではありません。

問題文に書かれた仕様を読み、擬似言語の処理を追い、選択肢の中から正しい結果や修正内容を選ぶ力が必要です。

たとえるなら、料理名を暗記する試験ではなく、レシピを読んで「次に鍋の中で何が起きるか」を答える試験です。

やってしまいがちな勉強科目Bで必要な勉強
用語だけを暗記する処理の流れを追う
解説を読んで分かった気になる自分で変数の値を書き出す
正解番号だけ覚えるなぜ他の選択肢が違うか説明する
アルゴリズム名だけ覚える実際にどう動くか追跡する

新人エンジニアにおすすめなのは、問題を解くときに「自分がCPUになったつもり」で1行ずつ処理することです。

コードは雰囲気で読むな。1行ずつ追え!

特に、次のような情報は必ず紙やメモに書き出してください。

変数の初期値
配列の中身
繰返し回数
条件分岐で通った道
関数に渡された値
戻り値

頭の中だけで追うと、途中で混乱します。

科目Bは、頭の良さよりも、丁寧に追跡する習慣が効きます。

科目B合格方法2:擬似言語に慣れる

基本情報技術者試験の科目Bでは、プログラム言語として擬似言語を扱います。IPAのサンプル問題でも、科目Bのプログラミングでは擬似言語を扱うと説明されています。

擬似言語とは、特定のプログラミング言語そのものではなく、アルゴリズムを表すための試験用の表記です。

Java、Python、JavaScript、C言語のどれかを完璧に知っていなくても読めるように作られています。

ただし、プログラミング未経験者にとっては、最初はかなり読みにくいです。

新人エンジニアなら、擬似言語を「試験専用の共通語」だと思ってください。

英語の文法を知らないと英文が読みにくいのと同じで、擬似言語の表記に慣れていないと、処理の意味が見えません。

擬似言語でよく出る要素新人エンジニア向けの意味
代入変数に値を入れること
比較値が同じか、大きいか、小さいかを判定すること
条件分岐条件によって処理を分けること
繰返し同じ処理を何度も行うこと
配列複数の値を番号付きで管理する入れ物
関数まとまった処理を呼び出せる部品

擬似言語対策で特に大切なのは、配列と繰返しです。

配列は、マンションの部屋番号のようなものです。

1号室、2号室、3号室に住人がいるように、配列にも番号ごとに値が入っています。

繰返し処理は、同じ作業を順番に部屋番号を変えながら確認していくイメージです。

1号室を見る
2号室を見る
3号室を見る
条件に合う人がいたら記録する

この感覚が分かると、科目Bの問題はかなり読みやすくなります。

擬似言語の勉強法

擬似言語は、眺めるだけでは上達しません。

必ず手を動かして、変数の変化を表にしてください。

回数iarray[i]sum判定
1回目133継続
2回目258継続
3回目3210終了

このような表を作ると、処理の流れが見えるようになります。

最初は時間がかかっても大丈夫です。

本番で速く読むために、練習では遅く丁寧に読むのです。

科目B合格方法3:アルゴリズムとデータ構造を優先する

科目Bでは、アルゴリズムとプログラミングの割合が大きいため、データ構造とアルゴリズムの対策を最優先にしましょう。IPAのサンプル問題では、科目Bの出題範囲として、再帰、スタック、キュー、木構造、グラフ、連結リスト、整列、文字列処理などが挙げられています。

アルゴリズムとは、問題を解くための手順です。

データ構造とは、データをどのような形で持つかという考え方です。

たとえるなら、アルゴリズムは「料理の手順」、データ構造は「材料の置き方」です。

材料がバラバラに置かれていると料理しにくいですよね。

プログラムも同じで、データの置き方によって処理のしやすさが変わります。

分野初心者向けイメージ勉強のポイント
スタック積み重ねた皿最後に入れたものを最初に取り出す
キューレジの行列先に並んだ人から処理する
木構造会社の組織図親子関係をたどる
グラフ駅と路線図点と線のつながりを考える
整列背の順に並べる比較と入替えの流れを見る
文字列処理文章の中から文字を探す位置、長さ、比較を追う

新人エンジニアがやりがちな失敗は、アルゴリズム名だけ覚えることです。

たとえば「スタックはLIFOです」と覚えるだけでは足りません。

LIFOとは、Last In, First Outの略で、最後に入れたものを最初に取り出すという意味です。

皿を積み重ねると、最後に置いた皿を最初に取りますよね。

この動きまでイメージできて、初めて問題で使える知識になります。

アルゴリズム対策の順番

おすすめの順番は次のとおりです。

1. 配列と繰返し
2. 条件分岐
3. 関数
4. 探索
5. 整列
6. スタックとキュー
7. 再帰
8. 木構造とグラフ
9. 文字列処理

いきなり再帰やグラフから始めると、かなり苦しくなります。

まずは配列と繰返しを固めてください。

配列と繰返しは、科目Bの土台です。

土台が弱いまま難問に進むな!

科目B合格方法4:情報セキュリティで取りこぼさない

科目Bでは情報セキュリティも出題されます。IPAのサンプル問題では、情報セキュリティの確保に関する内容として、マルウェアからの保護、バックアップ、ログ取得及び監視、脆弱性管理、利用者アクセスの管理、運用状況の点検などが挙げられています。

アルゴリズムが苦手な人ほど、情報セキュリティを落としてはいけません。

なぜなら、情報セキュリティは実務感覚で理解しやすく、得点源にしやすいからです。

新人エンジニアなら、セキュリティを「会社の大切な情報を守るためのルールと仕組み」と考えると分かりやすいです。

セキュリティ用語初心者向け説明実務の例
アクセス管理誰が何を使えるかを制御すること管理者だけがユーザー削除できる
ログ監視操作や異常の記録を見ること不審なログインを確認する
バックアップデータの予備を取ること障害時にDBを復旧する
脆弱性管理弱点を見つけて直すこと古いライブラリを更新する
マルウェア対策悪意あるソフトウェアから守ることウイルス対策、添付ファイル確認

セキュリティ問題では、「一番安全そうな選択肢」を選ぶだけでは危険です。

実務では、機密性、完全性、可用性のバランスを考えます。

機密性とは、見てよい人だけが見られることです。

完全性とは、データが正しく改ざんされていないことです。

可用性とは、必要なときに使えることです。

観点意味
機密性秘密を守る権限のない人に顧客情報を見せない
完全性正しさを守る注文金額が勝手に変わらない
可用性使える状態を守る障害時にも復旧できる

セキュリティは暗記だけでなく、「なぜその対策が必要か」を考えると強くなります。

家でたとえるなら、鍵をかけるのが機密性、荷物が壊されていないのが完全性、必要なときに家へ入れるのが可用性です。

科目B合格方法5:本番と同じ時間で演習する

科目Bは100分で20問です。単純平均では、1問あたり5分です。

100 / 20 = 5




ただし、全問を同じ5分で解けるわけではありません。

すぐ解けるセキュリティ問題もあれば、擬似言語をじっくり追うアルゴリズム問題もあります。

本番で大切なのは、時間を使う問題と捨てる問題を判断することです。

問題の状態対応
読んですぐ方針が分かる確実に解く
変数を追えば解けそう表を書いて解く
3分読んでも意味がつかめない一度飛ばす
選択肢を見れば絞れそう消去法を使う
完全に分からない最後に戻る

新人エンジニアは、分からない問題に固執しがちです。

しかし、試験では「1問にこだわりすぎて、解ける問題を落とす」のが一番もったいないです。

バグ調査でも同じですよね。

1つの仮説に固執してログを見続けるより、別の原因候補へ切り替えたほうが早い場合があります。

試験でも切り替えが大事です。

詰まったら飛ばせ!

おすすめの時間配分

時間帯やること
開始〜60分解ける問題を優先して進める
60〜85分飛ばした問題に戻る
85〜95分迷った問題を見直す
95〜100分未解答がないか確認する

演習では、必ずタイマーを使ってください。

時間制限なしで解けることと、本番時間内に解けることは別です。

科目B対策でやってはいけない勉強法

合格方法と同じくらい大事なのが、避けるべき勉強法です。

NG勉強法なぜ危険か改善方法
解説を読むだけ自分で処理を追う力がつかない変数表を作って解き直す
科目Aばかり勉強する科目Bの読解力が育たない毎日1問でも科目Bを解く
アルゴリズムを後回しにする配点上の中心を落としやすい配列、繰返し、探索から始める
難問だけ解く基礎が固まらず挫折しやすい基本問題を反復する
間違えた理由を記録しない同じミスを繰り返すミスノートを作る

特に大切なのは、間違えた問題の復習です。

正解した問題より、間違えた問題のほうが伸びしろです。

なぜ間違えたか
どこで読み違えたか
どの変数を追えていなかったか
どの用語を知らなかったか
次に同じミスを防ぐにはどうするか

この5つを記録してください。

ミスは恥ではありません。

ミスを放置することが危険です。

新人エンジニア向けの4週間学習プラン

忙しい新人エンジニア向けに、4週間の学習プランを作るなら次のようになります。

期間重点テーマやること
1週目擬似言語の基本変数、配列、条件分岐、繰返しを理解する
2週目基本アルゴリズム探索、整列、文字列処理を練習する
3週目データ構造とセキュリティスタック、キュー、木、グラフ、セキュリティ用語を学ぶ
4週目本番演習100分20問を意識して演習し、ミスを潰す

1日あたりの学習時間が短くても、科目Bは毎日触れることが大切です。

プログラム読解は筋トレに似ています。

週末にまとめて10時間やるより、毎日30分でもコードを追うほうが感覚が育ちます。

科目B合格方法5選のまとめ

合格方法内容
1. 科目Bは読解試験だと理解する知識暗記だけでなく、処理の流れを追う
2. 擬似言語に慣れる変数、配列、繰返し、条件分岐を重点的に練習する
3. アルゴリズムとデータ構造を優先する出題割合の大きい分野を中心に対策する
4. 情報セキュリティで取りこぼさないアクセス管理、ログ、バックアップ、脆弱性管理を理解する
5. 本番と同じ時間で演習する100分20問を意識し、詰まった問題は飛ばす練習をする

科目Bは、最初は難しく感じます。

しかし、難しさの正体は「知らない知識が多い」だけではありません。

処理を1行ずつ追うことに慣れていないだけの場合も多いです。

だから、焦らなくて大丈夫です。

毎日少しずつ擬似言語を読み、変数の変化を書き出し、間違えた理由を記録してください。

最後に

基本情報技術者試験の科目Bは、新人エンジニアにとって良い訓練になります。

なぜなら、プログラムを読む力、処理を追う力、セキュリティを考える力は、実務でもそのまま使うからです。

合格だけを目標にするのではなく、「実務でバグを追える力をつける」「コードレビューで処理の流れを説明できるようになる」と考えると、学習の意味が見えてきます。

擬似言語に慣れる
        ↓
変数を追う
        ↓
配列と繰返しを理解する
        ↓
アルゴリズムを動きで覚える
        ↓
セキュリティを実務イメージで理解する
        ↓
時間内に解く練習をする
        ↓
科目Bの合格に近づく

今後の学習では、まず配列、繰返し、条件分岐、関数、探索、整列を順番に固めてください。その後、スタック、キュー、再帰、木構造、グラフ、情報セキュリティへ進むとよいです。まずは今日、科目Bの問題を1問だけ選び、答えを見る前に変数の値を表に書き出すところから始めてみましょう!

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。