2ヶ月で基本情報技術者試験に合格するための方法

初投稿になります。
エンジニア歴2年生のしまゆーと申します。
2021年の秋に基本情報技術者試験を受験し合格しました。
その時の学習法や対策法を共有できればと思います。

##結論：合格するための学習ロードマップ
**0日目：試験範囲を確認して学習の計画を立てる**
**1ヶ月目：参考書で基礎を固める**
**2ヶ月目：ひたすら過去問を解く**
<dl><dt>参考書：</dt><dd>**午前：[キタミ式イラストIT塾 基本情報技術者](https://www.amazon.co.jp/s?k=%E3%82%AD%E3%82%BF%E3%83%9F%E5%BC%8F%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88it%E5%A1%BE+%E5%9F%BA%E6%9C%AC%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E8%80%85&crid=1R0KDIZ630UBI&sprefix=%E3%82%AD%E3%82%BF%E3%83%9F%E5%BC%8F%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88IT%E5%A1%BE+%E5%9F%BA%E6%9C%AC%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E8%80%85%2Caps%2C177&ref=nb_sb_ss_ts-doa-p_2_19)**</dd><dd>**午後：[出るとこだけ！基本情報技術者午後 対応試験ＦＥ](https://honto.jp/netstore/pd-book_29945937.html)**</dd></dl>

**過去問：[基本情報技術者過去問道場](https://www.fe-siken.com/fekakomon.php)(WEBサイト)**

##前提：基本情報技術者試験の概要、出題範囲、出題形式

[※基本情報技術者試験の概要や出題範囲、合格率等を既にご存知の方はこちらでスキップ](#0日目-試験範囲を確認して学習の計画を立てる)

######Q. 基本情報技術者試験ってどんな資格？
IPA(日本のIT力を高めるために活動してる団体)には下記のように記載されている。
>基本戦略立案又はITソリューション・製品・サービスを実現する業務に従事し、上位者の指導の下に、次のいずれかの役割を果たす。

>(1)	需要者（企業経営、社会システム）が直面する課題に対して、情報技術を活用した戦略立案に参加する。
(2)	システムの設計・開発を行い、又は汎用製品の最適組合せ（インテグレーション）によって、信頼性・生産性の高いシステムを構築する。また、その安定的な運用サービスの実現に貢献する。

要するにIT業界に従事している方(SE,プログラマー,ディレクター)やこれからIT業界に参入する方を対象にIT全般の基礎的な知識を体系的に学べるよっていう資格ですね。

######Q. 出題範囲は？
本試験は午前と午後で出題範囲が変わります。
午前が基礎知識で午後が応用のイメージです。


**【午前】**
<dl><dt>テクノロジ系(午前：80問中50問)</dt><dd>1.基礎推論</dd><dd>2.アルゴリズムとプログラミング</dd><dd>3.コンピューター構成要素</dd><dd>4.システム構成要素</dd><dd>5.ソフトウェア</dd><dd>6.ハードウェア</dd><dd>7.ヒューマンインターフェース</dd><dd>8.マルチメディア</dd><dd>9.データベース</dd><dd>10.ネットワーク</dd><dd>11.セキュリティ</dd><dd>12.システム開発技術</dd><dd>13.ソフトウェア開発管理技術</dd></dl><dl><dt>マネジメント系(午前：80問中10問)</dt><dd>14.プロジェクトマネジメント</dd><dd>15.サービスマネジメント</dd><dd>16.システム監査</dd></dl><dl><dt>ストラテジ系(午前：80問中20問)</dt><dd>17.システム戦略</dd><dd>18.システム企画</dd><dd>19.経営戦略マネジメント</dd><dd>20.技術戦略マネジメント</dd><dd>21.ビジネスインダストリ</dd><dd>22.企業活動</dd><dd>23.法務</dd></dl>

**【午後】**
<dl><dt>コンピュータシステムに関すること</dt><dd>1.ハードウェア</dd><dd>2.ソフトウェア</dd><dd>3.データベース</dd><dd>4.ネットワーク</dd></dl><dl><dt>情報セキュリティに関すること</dt><dd>情報セキュリティポリシ，情報セキュリティマネジメント，データベースセキュリティ，ネットワークセキュリティ, etc.</dd></dl><dl><dt>データ構造及びアルゴリズムに関すること</dt><dd>配列，リスト構造，木構造，グラフ，整列，探索，数値計算, etc.</dd></dl><dl><dt>ソフトウェア設計に関すること</dt><dd>ソフトウェア要件定義，ソフトウェア方式設計，ソフトウェア詳細設計，構造化設計，モジュール設計, etc.</dd></dl><dl><dt>ソフトウェア開発に関すること</dt><dd>プログラミング（C，COBOL，Java，アセンブラ言語，表計算ソフト），テスト，デバッグなど</dd></dl><dl><dt>マネジメントに関すること</dt><dd>1.プロジェクトマネジメント</dd><dd>2.サービスマネジメント</dd></dl><dl><dt>ストラテジに関すること</dt><dd>1.システム戦略</dd><dd>2.経営戦略・企業と法務</dd></dl>

参考：[https://www.fe-siken.com/fehani.html](https://www.fe-siken.com/fehani.html)

######Q. 出題形式は？
**【午前】**
全部で80問出題されます。
下記がジャンル別の問題数になります。
テクノロジ系：50問
マネジメント系：10問
ストラテジ系：20問

**テクノロジ系**の問題数が**全体の6割**と多いので、こちらを中心に学習すると効率がいいですね。

**【午後】**
長文形式の問題（一問に設問が複数）が**計11問**出題され、その中から**5問**に解答します。

| 分野 | 問1 | 問2～5 | 問6 | 問7～11 |
|:-----------|------------:|:------------:|:------------:|:------------:|
| 情報セキュリティ     | ◎ | -| -|-|
| ソフトウェア・ハードウェア         | -| ○(A)| -| -|
| データベース       |-|○(A)| -| -|
| ネートワーク    | -| ○(A)| -| -|
| ソフトウェア設計     | -|○(A)|-|-|
| プロジェクトマネジメント     | -| ○(B)| -|-|
| サービスマネジメント     | -| ○(B)| -| -|
| システム戦略     | - | ○(B)| -| -|
| 経営戦略・企業と法務     | -| ○(B)| -| -|
| データ構造及びアルゴリズム     | -| -| ◎| -|
| ソフトウェア開発     | -  |-| -| ○(C)|
| 出題数     | 1| 4| 1| 5|
| 解答数     | 1| 2| 1| 1|
◎：必須問題、○：選択問題
○(A)：Aグループの中から1問選択
○(B)：Bグループの中から1問選択
○(C)：C/Java/Python/アセンブラ/表計算から1問選択

まとめると、
問1：情報セキュリティ※必須
問6：データ構造とアルゴリズム※必須
問2～問5：2問選択
問7～問11：プログラム言語問題（C/Java/Python/アセンブラ/表計算）から1問選択
計5問(小問は別)に解答する形になります。

※配点は下記のとおりになります。
問1：20点
問2～5：各15点
問6：25点
問7～11：25点

##前提：合格率、合格点に関して
######合格率
下記が過去5年の合格率の表になります。

| | 受験者数（人） | 合格者数（人） | 合格率（％） |
|:-----------|------------:|:------------:|:------------:|
| 平成29年度       | 105,232        | 23,288         | 22.1         |
| 平成30年度         | 111,381          | 28,552           | 25.6         |
| 令和元年度       | 121,556       | 31,224       | 25.7         |
| 令和2年度10月    | 52,993     | 25,449      | 48.1         |
| 令和3年度春     | 32,549      | 13,544       | 41.6         |
令和以降の合格率が高いですが、こちらはイレギュラーなケースです。
コロナウイルスの影響により、春・秋の試験がスキップされました。
そのため、学習時間を通常より確保することができたためだと考えられます。
合格率は20%弱と想定しておく方が賢明でしょう。

######合格点
午前・午後、**どちらも**正答率が**60%以上**で合格になります。
※片方が合格点を上回っても片方が上回ってない場合、不合格になります。(例：午前○、午後✕→不合格)
上記から午前と午後の**学習の時間配分**が重要なことがわかります。

##0日目-試験範囲を確認して学習の計画を立てる
前提を確認した上で、進めて行きたいと思います。
試験を受けると思い立った日の最初のアクションは**計画を立てる**ことです。
計画は個人差があると思うので、下記はあくまでも私の学習計画です。
参考になれば幸いです。

**0日目～2週間目**
目標：午前試験の基礎を固める
行動：[キタミ式イラストIT塾 基本情報技術者](https://www.amazon.co.jp/s?k=%E3%82%AD%E3%82%BF%E3%83%9F%E5%BC%8F%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88it%E5%A1%BE+%E5%9F%BA%E6%9C%AC%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E8%80%85&crid=1R0KDIZ630UBI&sprefix=%E3%82%AD%E3%82%BF%E3%83%9F%E5%BC%8F%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88IT%E5%A1%BE+%E5%9F%BA%E6%9C%AC%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E8%80%85%2Caps%2C177&ref=nb_sb_ss_ts-doa-p_2_19)を1or2周する。

**3週間目～1ヶ月目**
目標：午後試験の基礎を固めつつ、午前の復習と苦手分野の克服をする
行動：
　午前：苦手分野のブラッシュアップをする
　午後：[出るとこだけ！基本情報技術者午後 対応試験ＦＥ](https://honto.jp/netstore/pd-book_29945937.html)を1周する

**1ヶ月目～1ヶ月半目**
目標：午前試験、午後試験の過去問をひたすらトライする
行動：[基本情報技術者過去問道場](https://www.fe-siken.com/fekakomon.php)で過去問をひたすら解く

**1ヶ月半目～2ヶ月目**
目標：最終仕上げをする
行動：
　午前：苦手分野を克服する
　午後：得意分野をブラッシュアップする

##1ヶ月目：参考書で基礎を固める
ひとまず、１ヶ月目は土台となる知識を身に付けます。

**【午前】**
午前試験では、**テクノロジー系**が**全体の6割**を占めるのでこちらを中心に学習を進めていきます。
マネジメント系やストテラジ系は暗記する項目が多いので得意な人は抑えておきたいポイントです。
優先度としては、下記のようなイメージです。
テクノロジー>>>ストテラジ>マネジメント
マネジメントは配点が全体の10数％なので、苦手な人は捨てて他の分野に全力投球する方がいいかもしれません。

**【午後】**
前提としてですが、**午後試験**は**午前試験の応用**というイメージです。
基礎をしっかり理解していないと問題を解いていくのは難しいと思います。
ですので、午後対策を取る前にしっかり午前の基礎となる土台を固めましょう。

その上で**午後試験でキー**になるのは、**選択問題**と**プログラミング問題**です。
選択問題は2問(問2～5)合わせて30点、プログラミング問題(問6,問7～11)は計50点と**配点が高いため**です。

**✔選択問題**
分野：ソフトウェア・ハードウェア、データベース、ネットワーク、ソフトウェア設計
上記の中から**ランダムで3分野**が出題されてそのうちの**1つ**を選択します。
4分野中3分野が指定されるので**得意な2分野さえできれば問題ない**ということです。
得点が取りやすいなと感じたのは**データベース**と**ソフトウェア設計**です。
データベース＞＞ソフトウェア設計、ソフトウェア・ハードウェア、＞＞＞ネットワーク
順でおすすめです。

分野：プロジェクトマネジメント、サービスマネジメント、システム戦略、経営戦略と企業と法務
上記の中から1問選択します。
プロジェクトマネジメント＞サービスマネジメント、システム戦略＞経営戦略と企業と法務
の順でおすすめです。

**✔プログラミング問題**
本試験でここが一番難しいと思います。
まず問6の疑似言語に関してからです。
**配点としては25点と非常に高い**ので対策をしっかりしときたいとこです。
プログラミングに対してある程度知見がある方なら理解が早いと思いますが、初学者の方にとっては難関になるかと思います。
**配列、条件分岐、繰り返し処理**の部分をしっかり身につける必要があります。
次に問7～11に関してです。
こちらも25点と**配点が高い**です。
C/Java/Python/アセンブラ/表計算の中から1つ選択するのですが、既に「この言語学習してるよ」っていうのがあればそちらを選択するのが妥当でしょう。
私はフロント側しか担当したことがなかったので選択に困りましたが、好奇心でPythonを選択しました。
構文が短く、処理も分かりやすいので初学者には**Pythonがおすすめ**です。

上記の部分を「[出るとこだけ！基本情報技術者午後 対応試験ＦＥ](https://honto.jp/netstore/pd-book_29945937.html)」で対策していきます。
学習しなくてもいい分野があるので、そこは飛ばして**特化することをおすすめ**します。

##2ヶ月目：ひたすら過去問を解く
試験まで後1ヶ月ということころで、この1ヶ月はひたすら[基本情報技術者過去問道場](https://www.fe-siken.com/fekakomon.php)(WEBサイト)で過去問にトライします。
**【午前】**
上記サイト内に「分野指定して出題」ができるのでそちらを使っていきます。
配点が高い分野を優先するため、**時間配分をテクノロジーを6割、ストラテジを3割、マネジメントを1割**にして学習していきます。
私の場合だと、1日に50～70問くらいを学習してました。
30日 * 60問(平均) = 1800問
体感ですが、1500問くらい学習すれば十分だと思います。
上記サイトでは、苦手分野もフィルターして出題可能なのでしっかり克服しましょう。

**【午後】**
午前と同様に上記サイト内で「分野指定して出題」で学習をしていきます。
長文で出題されるので1問解くのに非常に時間がかかります。
ですので、私の場合だと1日1問学習をしていました。(自分が選択した分野の問題のみ)
30日 * 1問() = 30問
過去問の問題数がそこまで多くないのでこれくらいで十分だと思います。

* * *
##終わりに
僕なりの勉強法を共有して、皆様の今後の参考になれば幸いです。
私自身この試験を受けてみての感想を最後に書かせて頂ければと思います。
まず、得点としては午前が82.25点で午後が78点でした。
午前問題は、ほぼ過去問から出題されていて過去問をひたすらやっていれば簡単な気がしました。
午後問題も過去問から出題されてるものがあり、その問題を満点とったことで合格に近づいたのかと思います。
プログラミングの選択問題も落ち着いて1つ1つ構文を追っていけば言語の理解が乏しくてもいけそうな感じでした。
ただ、1つ失敗したなと思ったのが午前・午後試験を別日に受験できることを知らずに同日に受けてしまったんですよね笑
流石に5時間集中するのは骨が折れました。
昼休憩中にドトールで集中力を高めるためにも瞑想してたのがいい思い出です。

応用技術者試験も今年受けようと思うので、そのことも記事にできたらと思います！