「基本情報技術者試験」の勉強方法と午後試験の戦略

2018年10月21日に基本情報技術者試験を受けて合格したので、勉強法と攻略法を記事にしたいと思います。

受験の動機

これまでも何度か受けようと思った事もありましたが、午前、午後とほぼ丸一日かかることと、質問文が独特で何となく敬遠していました。
しかし会社が変わり、その会社では資格取得を勧めており、合格したら受験料が還元されるとの事なので、受ける事にしました。

基本情報技術者試験の最初の所感

自分はこれまでLPICやJava(SJC-P)、MCPなどの民間の認定資格を取得していますが、IPAの試験は一度も受けたことがありませんでした。
自分が基本技術の問題を見てまず思った事は「問題文が分かりにくい」という事です。
「わざわざ分かりにくいように書いているんじゃないのか」と思うほど、国語力(読解力)が求められます。
最初のファクターは意外にも「日本語」ということです。

ただ、これはIPA試験の文化のようなもので、過去問をやっていればだんだんと慣れてきます。
それよりも重要と感じたのは試験範囲全体の基礎が分かっていないと午後問題は難しいという事です。
特にネットワーク、データベース、言語あたりはちょっとひねった(応用的な)問題が出題されます。

勉強法

最初はインプレスの教科書「徹底攻略 基本情報技術者教科書」を1周しました。他の試験であれば2~3周くらいはするのですが、時間があまり無かったのと、基本情報試験に関しては教科書よりも過去問重視という意見が多いため、できるだけ時間を過去問に割り振ろうと思ったためです。

教科書を一通り読んだだけでは、詳細まで理解するには至りませんが、「だいたい試験範囲はこんなものか」というのを把握できれば良しとしました。

但し、これはどの程度の前提知識や実務経験があるかによって個人差はあると思います。
計算問題についてはやり方(法則、公式)を知っているどうかが全てであり、知らなければ努力してもできないので、そこだけは、「しっかり覚える事」に集中しました。

過去問

教科書を1周したら、次に過去問を解いていきました。
過去問は詳しい解説付きのインプレスの「かんたん合格 基本情報技術者過去問題集」を使用しました。
PDF付きなので、PDFをkindleに入れて毎日通勤時の電車内で解きました。
間違えた問題は完全理解するまで解説をよく読み、「2度と同じ間違いをしない事」がとても重要です。

また正解した問題も、丁寧に解説されていますので、解説をよく読んで理解を深めていきます。
法則や公式、用語などは覚えるしかありませんので、しっかりと頭に入れておきます。

午前問題

法則や公式がわからないと解けない計算問題は、法則や公式を重点的に覚えます。
ただ、午前問題は計算問題に時間をかけるよりも、あえてそれは捨てて、他の暗記問題に正解すれば合格はできる(午前問題については過去問の出題率が高い)ため、合格だけを目指すならひたすら過去問の量をこなす事を重視した方がいいと思います。

午後問題

午後問題は公式の知識が求められるような計算問題はほぼ出題されません。
代わりに、読解力と基礎知識、考える力(応用力)、解くスピードが求められます。
そのため、問題を解く際には時間配分も気にしながら解く事を意識した方が良いと思います。

繰り返しになりますが、午後問題は基礎知識があるのを前提として、複雑な環境、多数の要件(条件)を踏まえて、「考える問題」が出題されるため、基礎的な事柄は完全理解しておく必要があります。

午後問題の難易度はどの問題を選択するかにもよりますが、問1の「情報セキュリティ」、問8の「データ構造及びアルゴリズム」は必須問題であり、特に問1は比較的簡単なので確実に得点できるように、しっかりと理解を深める事が肝要です。

アルゴリズム問題

問8のアルゴリズムに関しては、難しいため捨てるという人もいるようですが、配列にはいくつかの法則があり、法則さえしかり理解しておけば、考えれば解ける問題だと思います。
※独特の記述形式を使用しますが、実際には配列を扱ったC言語の問題です。

データベース問題

データベースに関しては、SQLの構文を覚えるだけではなく、過去問で出題されたデータベースのテーブルを実際に実機で作成し、たとえば不正解の選択肢の場合、どのような結果が返されるのかを確認しました。

データベースは、とにかく実際にデータベースを構築し、いろんなSQLコマンドを実行して、試してみる事をお勧めします。
特にテーブルの結合(JOIN、INNER JOIN、OUTER JOIN、LEFT JOIN、RIGHT JOIN)やグループ化(GROUP BY、HAVING)、副問い合わせなどは使いこなせるレベルになっておけば、試験は簡単に感じると思います。

ネットワーク問題

ネットワークの問題は、実務経験がある人にとっては比較的簡単に感じるかもしれません。
一方である程度の実務経験がないと、教科書を読むだけでは後半の応用的な問題は難しいのではないかと感じました。

ただ、選択問題のため、ネットワークの基礎さえ知っていれば、消去法で正解にたどり着ける可能性はあるため、自信がない人は、ネットワーク関連の書籍を読み、基礎知識をしっかりと身につけておく事をお勧めします。

ソフトウェア開発

自分はソフトウェア開発の言語はJavaを選択することに決めていました。
自分はJavaに関しては、SJC-P、SJC-WCの認定資格は持っているので基礎知識はありましたが、最低でもSJC-P合格程度のスキルがないと制限時間内に解くのは難しいと感じました。

時間配分的には、問題文を読み、コードを理解し、すべての設問に回答するまでの時間は実質30分です。

例えば、プログラミング言語だけに1時間かけられるのであれば、かなり楽にはなりますが、時間的な制約があるという点が、午後試験の一番の関門でしょう。

実際の問題のコードは基礎的な知識があれば理解できるレベルですが、問題文がやたら長いのと、コードの読解に時間をとられるので、あまり考える時間はありません。
Javaの構文は完全に理解しておく必要はあります。

ただ、プログラムのジャンルにも難易度は左右される(自分があまり知らないアルゴリズムを使用した問題など)ので、半分は運とも言えます。

勉強法まとめ

勉強方法を簡単にまとめると以下の通りです。
  • 午前試験
    • 計算問題の法則、公式を集中的に覚える
    • 過去問をできるだけ解く
  • 午後問題
    • 基礎知識の習熟に努める(基礎知識が十分でなければ応用問題は難しい、解くのに時間もかかる)
    • データベースに関しては、実際にデータベースを作成して一通りのSQL文を試してみる
    • ネットワーク、アルゴリズム、プログラム言語に関しては実務経験や認定資格などを有していない場合、別途専門書を読む事を勧める

試験の準備

筆記用具(シャープペンシル、消しゴム)、懐中時計、受験票(写真必須)を準備しました。
シャープペンシルは0.9mmのものと、マークシート用を準備しました。ちなみにどちらも芯はBです。(HBかBしか認められていません)

試験会場までの経路、電車やバスの時刻も事前に調べ、試験会場には時間に余裕を持って着けるように出発しましょう。

※案の定バス停は受験者で長蛇の列になっており、バス停から試験会場まで結構距離があったので着くのに意外に時間がかかりました。
ちなみに試験会場までの経路上には係員が旗を持って立ち、誘導してくれます。

昼食について

お昼は多分近くにコンビニ程度はあるだろうと思い準備しませんでしたが、試験会場は辺鄙な場所にありコンビニなどはなく、学内で販売していたクレープが昼食になってしまいました。
近くにコンビニがあるかを調べ、もし無いならパンなどを買っていくことをお勧めいたします。

試験直前

自分の席に座ったら、バッグから受験票、筆記用具、懐中時計を机に出し、Kindleで参考書を読みながら待ちました。
試験開始直前になると、試験監督から説明と注意(指示に従わない者は退出させるとか)があり、合図とともに試験開始です。

午後問題の時間配分と順番の計画

時間配分

午後問題は、午前とは異なり、時間配分と順番が勝敗を分けるため、かなり計画的にいく必要がある事を知っていたので、次のようなプランで臨みました。
時間
ソフトウェア開発30分
アルゴリズム30分
それ以外(4問)1時間(1問あたり15分)

順番

解く順番は脳が疲労していない最初のうちに、配点が高く、頭を使う問題である、ソフトウェア開発とアルゴリズムを解きます。
またどちらも「気がつけば解くのに時間を要していた」という事になりえるため、敢えて30分という時間制限を設けました。
もし30分以内に解けなかった場合、とりあえず次に進み、余った時間で続きを解く戦略にしました。
時間がなくて解ける問題が解けなかった(落とした)というのは一番悔しいですからね。

心理的にも、配点の大きいソフトウェア開発とアルゴリズムに手応えあれば、残り1時間半で精神的余裕を持って、残りの問題に臨めるため、焦りから変なミスを犯すことも回避できます。
試験は「精神的に安定して」臨めることが一番重要ですからね。

試験後の感想

手応えがあろうがなかろうが、結果には合格と不合格しかなく、60点に届かなければ不合格です。
また、自信を持って答えても、実はひっかけ問題で意外に間違っていたということもあるため、答え合わせをするまでは何の確証もありません。
また、自己採点はできるものの、確定結果を知ることができるのは1ヶ月後の合格発表日です。
すぐに結果が分かる民間試験とは違い、合格発表を待っている間は高校受験生のような気持ちになったりもして、なんか懐かしいというのが一番の印象でした。
実際に周りは若い人が圧倒的に多く、余計そんな気持ちになりました。

以上、「基本情報技術者試験」の勉強方法と午後試験の戦略についてでした。

公開日:2018年12月01日

サブカテゴリー別記事一覧 > 基本情報技術者試験 > 「基本情報技術者試験」の勉強方法と午後試験の戦略

このエントリーをはてなブックマークに追加

基本情報技術者試験の記事一覧

他の記事も見る

このページのトップに戻る