【試験まで3週間】基本情報技術者試験の戦略的学習法

# 目次

| 章  | タイトル                                 | 備考                                                       | 
| --- | ---------------------------------------- | ---------------------------------------------------------- | 
|     | [はじめに](#はじめに)                                 |                                                            | 
|     | [この記事の対象者](#この記事の対象者)                                 |                                                            | 
| 1   | [基本情報技術者試験を受験した理由](#1-基本情報技術者試験を受験した理由)                       |                                                            | 
| 2   | [試験前の自分のITスキル](#2-試験前の自分のITスキル) |                      | 
| 3   | [学習期間](#3-学習期間)                                 |                                                            | 
| 4   | [基本情報技術者試験について](#4-基本情報技術者試験について)                                 |     最新版の基本情報技術者試験について解説します                                                | 
| 5   | [午前問題の学習方法](#5-午前問題の学習方法)                                 |                          | 
| 6   | [午後問題の学習方法](#6-午後問題の学習方法)                  |  | 
| 7   | [試験当日について](#7-試験当日について)                   |     試験当日でパフォーマンスを最大化するために                                                          |
| 8   | [最後に](#8-最後に)                         |              | 
                                                       
                                                           


# はじめに

自分は2022年5月に受験した基本情報技術者試験において、「**午前が73%・午後81%**」を取りました。(後で資料添付)

正式な合格発表は1ヶ月後ですが、得点の割合的にたぶん合格をしたと思うので、先出しの合格体験記を書きました。

今回は限られた**3週間という時間**の中で、自分が実際に行った学習と戦略を余すことなく解説をします。

自分が受けた基本情報技術者試験のスコアです。

**【午前試験 (73.75%)】**

![gozen.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2695521/497c184d-8429-9b20-3b9a-46313507fffc.png)


**【午後試験 (81%)】**


![Group 76.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2695521/49c6460a-fed5-9cbe-0b2a-1ae34dc96a2e.png)




# この記事の対象者

- 基本情報技術者試験の資格を最短ルートの学習で取りたい人
- 社会人で仕事をしつつ資格の勉強をしたい人
- 試験対策できる時間が残りわずかで焦っている人
- IT未経験者やプログラミング初心者


# 1. 基本情報技術者試験を受験した理由

まず、自分が基本情報技術者試験を受験した理由は以下の2点です。

- **会社から資格手当が出る**

自分の働いている会社では、基本情報を取得すると、**毎月5,000円の資格手当**が貰えるので、それを理由の1つにしました。 (資格手当がなかったら受けてなかった。)


- **先輩におすすめめされた**

もう一つの理由として、自分はweb系エンジニアとして働いているのですが(後述)、IPアドレス周りの実装タスクが振られた際、セキュリティー周りの知見が乏しかったため、かなり苦戦をしてしまいました。

この先エンジニアとして働く以上、IT分野における網羅的な知識が必要だと痛感しました。

凄腕の先輩エンジニア相談したところ「**基本情報の勉強するとええでぇ**」とアドバイスをもらったので、受験をすることを決めました。

「**将来使えそう**」といったような闇雲な理由だと正直勉強が続かないので、具体的に「**なぜ基本情報を取るのか？**」という理由を明確にした上で勉強を始めることをおすすめします。


# 2. 試験前の自分のITスキル

自分は新卒で2021年4月に渋谷の自社開発系企業に入社し今年で2年目になります。

主にフロントはNext.jsとTypeScript、バックエンドはRailsをメインにweb系エンジニアとして働いています。

実務ではエンジニアとして働いているものの、**セキュリティやネットワークといったITの必修科目の学習は疎い状態**でした。

午後試験のセキュリティーやネットワーク始めて見た際も、

「**ファッッ！！。こんなん解けるわけ無いやろ。また秋の試験頑張ろう♪**」

というレベルでした。


# 3. 学習期間

自分は2022年のゴールデンウィークから学習をはじめ、約2週間後に午前試験、その1.5週間後に午後試験だったので**トータルの学習は3週間程度**でした。

3週間で足りるの？と思ってはいたのですが、**戦略的に学習すれば**足ります。

勉強できる期間が短かったので**高得点を狙いに行く**ではなく、「**合格の60点を超える**」ことを主軸に勉強を進めていきました。

学習期間中に「**もっと時間があれば(汗)..**」と何度も思ったので、対策を始めるのは早いに越したことはありません。


# 4. 基本情報技術者試験について

簡単に基本情報技術者試験について説明します。

|      | 問題数        | 時間  | 形式              | 合格基準 | 
| ---- | ------------- | ----- | ----------------- | ------ | 
| 午前 | 80問          | 150分 | 一問一答の選択形式 | 60/100(点)   | 
| 午後 | 11問中5問選択 | 150分 |  文章題の選択形式| 60/100(点)   | 

※ 午前と午後のそれぞれで60%を超えないと合格にならないです。

**【午前について】**

- 80問で一問一答形式です
- 一問あたりの点数は1.25点
- 合格には48問(60点)の正解が必要
- 近年では数学的能力が重視されている傾向

実際に自分が問題を解く中でも数学系の問題は多かった印象でした。

**【午後について】**

午後の出題構成は以下のようになっています

| 問                                | 分野                                                                                             | 出題数                                                | 点数   | 
| --------------------------------- | ------------------------------------------------------------------------------------------------ | ----------------------------------------------------- | ------ | 
| 問1                               | 情報セキュリティ                                                                                 | 出題（必須）                                          | 20点   | 
| 問2~4                             | ・ハードウェア<br>・ソフトウェア<br>・データベース<br>・ネットワーク<br>・ソフトウェア設計       | 左記分野より3問出題<br><br><br>※問2~5の中から2問選択 | 各15点 | 
| 問5                               | ・プロジェクトマネジメント<br>・サービスマネジメント<br>・システム戦略<br>・経営戦略・企業と法務 | 左記分野より1問出題<br><br><br>※問2~5の中から2問選択 | 15点   | 
| 問6                               | データ構造/アルゴリズム                                                                          | 出題（必須）                                          | 25点   | 
| 問7<br>問8<br>問9<br>問10<br>問11 | ・C <br>・Java<br>・Python<br>・アセンブラ<br>・表計算ソフト                       | 5問出題のうち1問選択                   | 25点   | 

- 午後問題は文章を読解しながら解いていく
- 選択問題の選び方で合格率が大きく変わる
- アルゴリズムとプログラミングは配点が高い

あとで詳しく解説をしますが最短で合格をするためには、上記に記載されている分野を全て対策していては時間がありません。

そのため的を絞って対策するのが戦略的になります。

なお基本情報技術者試験についてのより詳しい解説は、[公式サイト](https://www.jitec.ipa.go.jp/)を参考にしてみてください。

まずは午前問題の学習方法について解説をしていきます。

# 5. 午前問題の学習方法

ここからは基本情報の具体的な学習方法について、午前と午後に分けて解説をしていきます。

[学習期間](#3-学習期間)のセクションでも述べましたが自分が実際に使った対策期間は、

- 午前対策が1.5週間
- 午後対策は午前試験後の1.5週間

なのでこの期間内でいかに合格を掴み取れる対策をするかといったことを重視した方法を解説します。


## 学習戦略 

結論から言うと、午前問題は「**過去問を周回する**」に尽きます。

「**そもそも過去問を解くためのインプットはどうするの？**」

といった声が聞こえてきますが、自分の場合は対策時間も少なかったので、

「**問題を解く過程でインプットをする**」ことを心がけました。

自分は、エンジニアとして働いてはいるものの、[試験前の自分のITスキル](#2-試験前の自分のITスキル)で記載した通り、ネットワークやセキュリティーといった一般的なIT知識はそこまでありませんでした。

そのため過去問をはじめて見た時は、

**「全然わからん(泣)。こりゃ合格までの道のりは果てしないわ」**

と途方に暮れていました。。

## 使った教材 

自分が午前対策で使った教材は以下の3点です。

- [過去問道場](https://www.fe-siken.com/fekakomon.php) 
- [キタミ式イラストIT塾 基本情報技術者 令和04年](https://www.amazon.co.jp/dp/4297124513/ref=as_sl_pc_as_ss_li_til?tag=sutabaopen-22&linkCode=w00&linkId=47e2f052953e901f448d13d464445a47&creativeASIN=4297124513)
- [基本情報技術者 パーフェクトラーニング過去問題集](https://www.amazon.co.jp/dp/4297124017/ref=as_sl_pc_as_ss_li_til?tag=sutabaopen-22&linkCode=w00&linkId=523739b7b810622186f0c1d26f95d659&creativeASIN=4297124017) 

これら3つは基本情報の合格体験記を書いているほとんどの人が推奨している教材なので間違いはないかと思います。

自分も午前対策はこれだけで十分でした。


## 学習法 

自分は上記で紹介した学習教材を元に、以下の手順で学習をしました。

(1) [過去問道場](https://www.fe-siken.com/fekakomon.php)を分野指定で3回分単位で解く
(2) (1)において間違えた・分からない問題の解説を読みまとめる
(3) (2)において過去問道場の解説を読んでも分からないものは、[キタミ式イラスト](https://www.amazon.co.jp/dp/4297124513/ref=as_sl_pc_as_ss_li_til?tag=sutabaopen-22&linkCode=w00&linkId=47e2f052953e901f448d13d464445a47&creativeASIN=4297124513)で確認する。
(4) 1~4をひたすら繰り返し
(5) 計算問題はパターン化させる

ひとつずつ詳しく解説していきます。

### (1) 過去問道場を分野指定で3回分単位で解く

まずはじめに[過去問道場](https://www.fe-siken.com/fekakomon.php)を**分野指定で3回分単位**で解きます。

過去問道場ではありがたいことに、「分野別」「年度別」指定で問題を解くことができるのでそれの設定を以下のようにします。

**(例) テクノロジ系分野の基礎理論の直近3回分の問題を解きたい場合**
![スクリーンショット 2022-05-28 20.43.49.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2695521/348512b3-6f9a-e049-6c75-85d264c647f9.jpeg)

もちろん最初に解く時は

**「全然分からん。こんなんで受かるのか？」**

と思うと思いますがご安心を。 

**インプットを全くしてない状態なのでそれが普通**だと思います。

これを全分野を3回分単位で繰り返し、合計6回分ほど解けば演習量的には十分です。(自分も直近の6回分の過去問を繰り返し解きました)

なお、分野によっては問題数が大きく異なるので、3回分でボリューミーな問題数だった場合は1回分ずつ進めても全然大丈夫です。

1回分の問題数が20問程度になるように調整するのがちょうどよいかと思います。

問題数はこの部分に書いてあります。

![スクリーンショット 2022-05-30 22.22.56.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2695521/1019947d-b3b9-3add-34d8-e38bff2d61bb.jpeg)


とくにテクノロジ系における、

- **ソフトウェア・ハードウェア**
- **データベース**
- **セキュリティー**
- **ネットワーク**

は午後問題でも使う知識なので重点的にやり込みました。


### (2) (1)において間違えた・分からない問題の解説を読みまとめる

ここが**一番重要**です。

過去問道場で問題を解いて解説を読んだだけでは、「**なんとなく理解**」だけになってしまいます。

過去問道場の解説を元に、**自分でメモ帳(Notion等)に要点をまとめ**ておきます。


**(まとめ方の例)**

1. 間違えた問題URLとわからなかった用語を抽出し箇条書きで残す
2. 解説ページを別に作り要点をまとめておく

**1. 間違えた問題URLとわからなかった用語を抽出し箇条書きで残す(参考👇)**
![スクリーンショット 2022-05-28 21.09.24.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2695521/55b8ead8-db71-1ed3-439e-a096f168c475.jpeg)

**2. 解説ページを別に作り要点をまとめておく(参考👇)**
![スクリーンショット 2022-05-28 21.10.02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2695521/53cd7f87-d5c9-fed9-2429-12731ba9097e.jpeg)

このようにまとめておくことで「**自分のできなかった問題のまとめ集**」が完成します。

復習する際はここでまとめた箇条書きの用語を説明できるかを確認します。

(例)

- 排他的制御とは？ ⇨ 1つのタスクがデータ更新のトランザクションを実行している間は、その処理が終わるまでは待機させる仕組み。

といったように簡単に反復学習ができます。

また対応する問題のリンクも付与しておくことで、演習を通して復習もできるのでおすすめです。

**移動時間とかでもサクッと見返せる**のでかなりおすすめです。


### (3) (2)において過去問道場の解説を読んでも分からないものは、キタミ式イラストで確認する。

過去問道場の解説を読んだ上で少しでも疑問点が残る場合は、[キタミ式イラスト](https://www.amazon.co.jp/dp/4297124513/ref=as_sl_pc_as_ss_li_til?tag=sutabaopen-22&linkCode=w00&linkId=47e2f052953e901f448d13d464445a47&creativeASIN=4297124513)で理解を定着させます。

キタミ式イラストのおすすめポイントとしては

- 網羅性が高い!
- 図解で解説されているので理解しやすい
- 周辺知識も絡めて理解できる

![スクリーンショット 2022-05-28 21.47.33.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2695521/1540b5b2-3453-8a11-3895-86a04f87e0d2.jpeg)

時間があればキタミ式を一周した上で過去問を解くのが理想ですが、今回は時間が少ないことが前提なので、キタミ式はあくまで「**辞書的な立ち位置**」として利用することがポイントです。


### (4) (1)~(3)をひたすら繰り返し

(1)~(3)を通して「演習⇨インプット⇨演習⇨インプット・・」を繰り返すことで知識の定着をすることができます。

過去問道場をやっていく中で苦手そうな分野は、通勤の移動時間等にサクッとキタミ式で理解を深めるのもおすすめです。

### (5) 計算問題はパターン化させる

計算問題の勉強法は「**定石(パターン)を覚える**」に尽きます。

基本情報の試験における計算問題の大半はパターン化されているので、過去問演習を通す過程で、「**こういう問題が出たらこう解くのね**」といったように学習を進めていくことが大切です。

最初は全然解けないか思いますが、演習を繰り返して**解き方を暗記**していけば本番でも結果は出せます。

なお、過去問道場ではオプション設定で「**計算問題のみを出題する**」という設定ができるので、ぜひ使ってみてください。(結構な苦行ではある..)

![スクリーンショット 2022-05-28 21.59.46.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2695521/c9bec55a-ff42-a62e-b229-c7bf7aa246a1.jpeg)


### 【午前問題の学習法のまとめ】


(1) 過去問道場を分野指定で3回分単位で解く
(2) (1)において間違えた・分からない問題の解説を読みまとめる
(3) (2)において過去問道場の解説を読んでも分からないものは、キタミ式イラストで確認する。
(4) 1~4をひたすら繰り返し

午前問題の攻略は「**過去問演習**」に尽きるので、とにかく**演習⇨復習**を高速で回すことを意識して勉強を進めてください。

# 6. 午後問題の学習方法

## 学習戦略

学習戦略は、午後問題を対策する上で一番重要だといっても過言ではないです。

自分は午前試験を受けた1.5週間後に午後試験があったので、**午後の対策期間は1.5週間**しかありませんでした。

その中でも合格することができた戦略を余すことなく解説をしていきます。

**時間がない中で闇雲に過去問演習**をしても合格からは遠ざかってしまいます。

いかに戦略を立てて効率的に点数を獲得するかが合格のカギを握ります。

まずはずめに午後問題の出題構成をおさらいします。

| 問                                | 分野                                                                                             | 出題数                                                | 点数   | 
| --------------------------------- | ------------------------------------------------------------------------------------------------ | ----------------------------------------------------- | ------ | 
| 問1                               | 情報セキュリティ                                                                                 | 出題（必須）                                          | 20点   | 
| 問2~4                             | ・ハードウェア<br>・ソフトウェア<br>・データベース<br>・ネットワーク<br>・ソフトウェア設計       | 左記分野より3問出題<br><br><br>※問2~5の中から2問選択 | 各15点 | 
| 問5                               | ・プロジェクトマネジメント<br>・サービスマネジメント<br>・システム戦略<br>・経営戦略・企業と法務 | 左記分野より1問出題<br><br><br>※問2~5の中から2問選択 | 15点   | 
| 問6                               | データ構造/アルゴリズム                                                                          | 出題（必須）                                          | 25点   | 
| 問7<br>問8<br>問9<br>問10<br>問11 | ・C <br>・Java<br>・Python<br>・アセンブラ<br>・表計算ソフト                       | 5問出題のうち1問選択                   | 25点   | 

必須問題の「情報セキュリティー」「アルゴリズム」「プログラミング言語」は一旦置いておいて、ここでは選択問題についての戦略を考えます。

### 午後問2~5の選択問題の戦略

結論から言うと、短期間で成果を出すなら以下の分野に絞って学習をしてください。

- ソフトウェア・ハードウェア
- データベース
- ソフトウェア設計

まずネットワークは、難易度が他の選択問題と比較するとかなり高いため避けるのが無難です。

自分が学習を始める前に読んでいた、合格体験記でもいろんな人が口を揃えて「**ネットワークはやめておけ**」と書いてありました。

また、プロジェクトマネジメントやサービスマネジメントは4分野中の1分野しか出ず、対策する範囲がかなり広くなってしまうので、時間がない中では選択をしないことが無難です。

以上のことから選択問題は、以下の３分野に絞って学習を進めます。(各分野の詳しい学習は後述)

- ソフトウェア・ハードウェア
- データベース
- ソフトウェア設計

### プログラミング言語の選択について

ここも結論を言うと、

**実務で使っているプログラミング言語が選択に無かったら「**表計算**」を選ぶ**

実務でJavaやPythonを使っている人は、その言語を選択するのが無難かと思いますが、それ以外の人は表計算を選ぶことをおすすめします。

表計算を選ぶ理由としては

- 覚える関数が少ない(10個程度)
- 初心者でもとっつきやすい
- エクセルやスプレットシートで練習がしやすい

自分も学習を始めた時は```SUM```や```IF```といった基本的な関数しか知らない状態でしたが、本番までに後で紹介する関数10個を覚えたことで、満点を獲得できました。

### 対策する優先順位

限られた短い時間の中での対策なので、自分は優先順位をつけて学習をしました。

優先順位は以下の通りです、

1. アルゴリズム・表計算
2. セキュリティー
3. データベース
4. ソフトウェア・ハードウェア・ソフトウェア設計

まず1~2は必須かつ配点の70%を占めるので優先的に対策をしました。

またアルゴリズムは慣れるためには演習量を増やすしかないので、他の分野よりも過去問は多めに解きました。

データベースについてはSQLを暗記する必要があるので、4に記載した分野よりも優先度は高めに設定しました。

一方で優先度が4である「ソフトウェア・ハードウェア」「ソフトウェア設計」においては、午前問題を解ける知識があれば、ある程度はなんとかなるので優先度は低めにしています。

自分も時間の都合で「ソフトウェア・ハードウェア」「ソフトウェア設計」に関しては過去2年分しか対策はしませんでしたが、本番では合格点数を超えることができました。

## 使った教材

自分が午後対策で利用した教材は以下6つ(内2つはYoutube)です。

- [過去問道場](https://www.fe-siken.com/fekakomon.php) (全般)
- [情報処理教科書 出るとこだけ! 基本情報技術者[午後]](https://www.amazon.co.jp/dp/4798162175/ref=as_sl_pc_as_ss_li_til?tag=sutabaopen-22&linkCode=w00&linkId=e8df1f75c3f3a25ae1efc78a255f2f9f&creativeASIN=4798162175) (データベース・セキュリティー・ソフトウェア・ハードウェア)
- [情報処理教科書 基本情報技術者試験のアルゴリズム問題がちゃんと解ける本](https://www.amazon.co.jp/dp/B01N5FOJRV/ref=as_sl_pc_as_ss_li_til?tag=sutabaopen-22&linkCode=w00&linkId=a60b33aaf93a3e9a6c600f8007bb14c8&creativeASIN=B01N5FOJRV) (アルゴリズム)
- [表計算 とっておきの解法](https://www.amazon.co.jp/dp/486594138X/ref=as_sl_pc_as_ss_li_til?tag=sutabaopen-22&linkCode=w00&linkId=f545f818b7ba91c49f37ef9073326bf1&creativeASIN=486594138X) (表計算)
- [【基本情報技術者試験YouTuber】すーさん](https://www.youtube.com/channel/UCIBlbPP3I-C9tYLMHLUYQXQ) (表計算)
- [基本情報の過去問解説チャンネル](https://www.youtube.com/c/KorejoapInfoSR2S) (全般)

これらの教材を利用した学習方法について詳しく解説していきます。

## 学習法

設問別で学習法を解説します。

### 問1 セキュリティー(必須)

(1) [情報処理教科書 出るとこだけ! 基本情報技術者[午後]](https://www.amazon.co.jp/dp/4798162175/ref=as_sl_pc_as_ss_li_til?tag=sutabaopen-22&linkCode=w00&linkId=e8df1f75c3f3a25ae1efc78a255f2f9f&creativeASIN=4798162175)のセキュリティー分野をやる
(2) 過去問演習(3回分)

**(1) 情報処理教科書 出るとこだけ! 基本情報技術者[午後]のセキュリティー分野をやる**

「情報処理教科書 出るとこだけ!」の参考書においてセキュリティー分野は以下の3つがあるので一通り学びます。

- 暗号と認証
- 情報セキュリティー対策
- サイバー攻撃

午後対策向けの要点がわかりやすくまとめられているので2~3時間程度で1周できます。

また「**情報処理教科書 出るとこだけ!**」は、午後問題に特化した内容が解説されているのでかなり効率的に学習をすることができます。

自分もこの参考書のおかげでセキュリティー分野は少ない学習量で満点を取ることができました。

さらに書籍の構成は「**基礎の解説⇨過去問を通した演習**」というステップなので、アウトプットとインプットも同時にできます。

**(2) 過去問演習(3回分)**

(1)で学んだ知識を活かし、余力があれば過去問のセキュリティー分野を3回分解きます。

午後問題は**文章を読む中で問題を解いていく**ため、それの練習も兼ねて過去問演習をします。

セキュリティーは比較的に時間をかけなくても点数が取りやすい上に、午後試験の必須分野なのでしっかり対策をすることが重要です。

### 問2~5 データベース(選択)

次に問2~5において出題されるデータベースについての学習方法について解説していきます。

データベースの学習は　、「情報処理教科書 出るとこだけ! 基本情報技術者[午後]」のデータベース分野をやれば十分です。

セキュリティーと同様にデータベースもこちらの参考書で学習を進めます。

具体的には以下の3項目を進めます

- SQL1
- SQL2
- データベース設計

　「情報処理教科書 出るとこだけ! 」の書籍では、基本情報午後で使えるデータベース問題の「**解法**」がまとめられています。

具体的には「**このSQL文が来たら後ろはOOに絞れる**」といったような解法が多数まとめられています。

この参考書で紹介されている解法をインプットした結果、データベースは3日前からの対策で満点を取ることができました。

なお過去問演習に関しては、「情報処理教科書 出るとこだけ!」の参考書に載っていた演習問題を数問やる程度で終えました。

過去問演習は余力があればやる程度で大丈夫かと思います。

### 問2~5 ハードウェア・ソフトウェア(選択)

ハードウェア・ソフトウェアに関しては、午前問題を復習し過去問を2年分解きました。

余力があれば[情報処理教科書 出るとこだけ! 基本情報技術者[午後]](https://www.amazon.co.jp/dp/4798162175/ref=as_sl_pc_as_ss_li_til?tag=sutabaopen-22&linkCode=w00&linkId=e8df1f75c3f3a25ae1efc78a255f2f9f&creativeASIN=4798162175)のハードベース分野だけをやっておくことをお勧めします。

ハードウェア・ソフトウェアは午後の知識を使って読解する中で解けるような問題構成なので、他の分野よりは対策時間は少なめにしました。


### 問2~5 ソフトウェア設計(選択)

ソフトウェア設計に関しても[情報処理教科書 出るとこだけ! 基本情報技術者[午後]](https://www.amazon.co.jp/dp/4798162175/ref=as_sl_pc_as_ss_li_til?tag=sutabaopen-22&linkCode=w00&linkId=e8df1f75c3f3a25ae1efc78a255f2f9f&creativeASIN=4798162175)において、ソフトウェア設計の分野を1周して過去問を2回分解きました。

この分野も「ハードウェア・ソフトウェア」と同様に、読解する中で解けるような問題構成だったので対策には時間をかけませんでした。

問2~5の選択問題に共通して言えることは、必修で出てくる「**情報セキュリティー**」「**アルゴリズム**」「**表計算**」よりは対策する時間を削減することをお勧めします。

理由としては

- 3分野の中で1分野は出ない可能性がある
- 配点が15点なので必須項目と比較するとそこまで痛手にならない


### 問6 アルゴリズム(必須)

次に一番の難関で配点が大きいアルゴリズムについて解説します。

「**アルゴリズムは苦手だから捨てよう**」という発想で対策をおろそかにしてしまうと、合格から大きく遠ざかってしまいます。

アルゴリズムが苦手な人も「**コツ**」を掴めば、ある程度の点数は獲得できるので「**捨てる**」という選択はしないほうがよいです。

基本情報のアルゴリズムは「**センス**」で解けることはほとんどありません。

アルゴリズムは「**基礎知識の理解と演習量による慣れ**」があればある程度の得点を取ることはできます。

自分も最初にアルゴリズムの過去問を見た時は、「こんなん解けるわけないやろ！」と感じましたが、基礎を理解し演習を積んだ結果、本番ではある程度の問題は解けることができました。

それでは実際の学習法について解説をしていきます。

#### 学習法

**(1) [基本情報技術者試験のアルゴリズム問題がちゃんと解ける本](https://www.amazon.co.jp/dp/B01N5FOJRV/ref=as_sl_pc_as_ss_li_til?tag=sutabaopen-22&linkCode=w00&linkId=a60b33aaf93a3e9a6c600f8007bb14c8&creativeASIN=B01N5FOJRV)で基礎を学ぶ**
**(2) 基本情報技術者試験のアルゴリズム問題がちゃんと解ける本で解き方を学ぶ**
**(3) 過去問を解き、わからない問題はYoutube等で解説を確認し復習する**


それぞれ詳しく解説していきます。

**(1) 基本情報技術者試験のアルゴリズム問題がちゃんと解ける本で基礎を学ぶ**

まず最初にアルゴリズム対策には不可欠な参考書「**基本情報技術者試験のアルゴリズム問題がちゃんと解ける本**」を一周します。

こちらの参考書は「**アルゴリズムの基礎を学ぶ⇨演習を通して解き方を学ぶ**」なので、初心者でも理解しやすい構成になっています。

本書のアルゴリズムの基礎解説は、アルゴリズム問題の頻出分野である次の内容が一通り学べます。

具体的には以下の内容が丁寧に解説されています。

- ユークリッド互助法
- うるう年の判定
- 配列の最大値
- 線形探索
- 二分探索
- バブルソート
- 数列を数値に変換
- 2進数の乗算
- 再帰呼び出し

アルゴリズム初心者でも理解しやすいように解説がされているので、サクッとこの部分は学習を終わらせましょう。

**(2) 基本情報技術者試験のアルゴリズム問題がちゃんと解ける本で解き方を学ぶ**

続いては、「基本情報技術者試験のアルゴリズム問題がちゃんと解ける本」を利用して実際のアルゴリズム問題の解き方を学んでいきます。

こちらの参考書には演習問題として過去問が6題厳選して掲載されているので、これ利用し「**アルゴリズム問題の解き方**」を学んでいきます。

具体的には以下のような項目を学ぶことができます。

- 変数の扱い方
- 正しいトレース方法
- n, mが出てきたら具体的な数値を代入してみる
- ループの中の配列を具体的に書き出す
- 選択肢をグループ化し消去法を駆使する

等、他にもたくさんの解き方が掲載されているので演習の中で「**学んだ知識を使える技術**」として基礎を定着させていきます。

**(3) 過去問を解き、わからない問題はYoutube等で解説を確認し復習する**

(1)ができればアルゴリズム問題の「**解き方**」はある程度、身についているのであとは過去問を通してひたすら演習をします。

過去問に関しては「[基本情報技術者試験の合格をサポートするチャンネル](https://www.youtube.com/watch?v=49I8ieg_tO4)」等のYoutubeチャンネルにて、手元での解説動画が多く出されているため、自分で解いた後はこのような動画を使って理解を深めることをお勧めします。

自分は過去問道場の解説だけでは理解できないことが多かったので、このような解説動画から「**実際に人が解いている解き方**」を学ぶようにしていました。

ここまでやり込めば本番でもアルゴリズムが痛手にはならないくらいの点数は獲得できると思います。


### 問7~11 表計算(必須)

最後に表計算についての学習法を解説していきます。
この分野は少ない学習量で高得点を取れる分野なので、力を入れて対策をしていきましょう。

表計算の具体的な学習手順は

(1) [【基本情報技術者試験YouTuberすーさんの動画】](https://www.youtube.com/watch?v=dGHOE3P5jac&list=PLEuyFWEF8u0Ph9xSlArZA3H3RZW716BhA)で関数を理解する
(2) [表計算とっておきの解法](https://www.amazon.co.jp/dp/486594138X/ref=as_sl_pc_as_ss_li_til?tag=sutabaopen-22&linkCode=w00&linkId=f545f818b7ba91c49f37ef9073326bf1&creativeASIN=486594138X)で演習を積む
(3) マクロを学ぶ

自分はこの2ステップによって本番では満点を取ることができました。

それぞれ詳しく解説をしていきます。

**(1) 【基本情報技術者試験YouTuberすーさんの動画】で関数を理解する**

まず最初に[【基本情報技術者試験YouTuberすーさん】](https://www.youtube.com/watch?v=dGHOE3P5jac&list=PLEuyFWEF8u0Ph9xSlArZA3H3RZW716BhA)の動画を見て、表計算で必ず出題される関数を覚えます。

具体的に覚える関数は次に紹介するものだけで十分です。

- 絶対参照
- 相対参照
- 論理積
- 論理和
- 条件付き個数
- 照合一致
- 垂直照合
- 水平照合
- 表引き

これらの関数を見ただけで、「この関数の処理は第一引数のセルを参照にOOを検索する」といったように説明できるレベルになっていれば大丈夫です。

先程紹介した、すーさんの動画ではこれらをわかりやすく解説しているので表計算初心者でもすんなり理解することができます。


**(2) 表計算とっておきの解法**

(1)で関数を基礎を学んだ上で、[表計算とっておきの解法](https://www.amazon.co.jp/dp/486594138X/ref=as_sl_pc_as_ss_li_til?tag=sutabaopen-22&linkCode=w00&linkId=f545f818b7ba91c49f37ef9073326bf1&creativeASIN=486594138X)で演習を増やします。

こちらの書籍にある6章の演習問題6題を解きます。(自分は時間がなかったので3題しか解いてないです)。

演習を通す中で(1)で学んだ関数をアウトプットし理解を深めていきます。

ここまでやれば表計算問題における前半の対策は十分です。

最後にマクロを学んでいきます。

**(3)マクロを学ぶ**

マクロの学び方は、先程紹介した[すーさんの表計算のマクロ解説動画](https://www.youtube.com/watch?v=-M8RBSneOS0&list=PLEuyFWEF8u0Ph9xSlArZA3H3RZW716BhA&index=6)を視聴し基礎を理解します。

その上で過去問を1~2年分程度、やっておけば十分だと思います。

というのもマクロに関してはアルゴリズムを勉強していれば原理はほとんど同じなので、そこまで対策をしなくても大丈夫かと思います。

マクロに関してもアルゴリズムで紹介した以下のテクニックがかなり生きてきます。

- 変数の扱い方
- 正しいトレース方法
- n, mが出てきたら具体的な数値を代入してみる
- ループの中の配列を具体的に書き出す
- 選択肢をグループ化し消去法を駆使する

だいぶ長くなってしまいましたが、午後対策については以上です。


# 7. 試験当日について

試験当日にパフォーマンスを最大化させるための方法をまとめます

- 計算用紙は遠慮なくもらう
- 時間配分はあらかじめ立てておく
- CBT方式に慣れておく
- 問題文をあやふやな理解のまま問題は解かない
- 選択問題のチェックが入っているか確認する


一つずつ詳しく解説します。

- **計算用紙は遠慮なくもらう**


言うまでもなく計算用紙は遠慮なくもらうようにしましょう。

自分の場合は、表計算の問題において設問の回答をスクロールするのが面倒だったので先に回答を全部計算用紙に書き出していました。(スクロールはかなり時間も消費するしストレスが溜まってしまうので..)

またアルゴリズムの図式や配列の値なども書き出すようにしていました。

頭だけの理解よりも図や数式を実際に書くことでよりイメージがつきやすくなります。

- **時間配分はあらかじめ立てておく**

時間配分と問題を解く順番はあらかじめ立てておくことをおすすめします。

具体的に自分は、

1. 表計算 (45分)
2. アルゴリズム (45分)
3. セキュリティー (20分)
4. 選択問題(1) (15分)
4. 選択問題(2) (15分)

という時間配分で解きました。

必須問題に時間をかけ、残った時間は配点が低い選択問題を解きました。


- **CBT方式に慣れておく**

これは過去問道場で過去問は解くようにしていれば大丈夫です。

本番はPCを使って解いていくので、本番前にある程度慣れておいた方が絶対よいです。


- **問題文をあやふやな理解のまま問題は解かない**

問題文があやふやなまま設問を解こうとしても、理解に苦しみ間違える&時間がかかるというダブルパンチを喰らってしまいます。

そのため必ず問題文の意味を理解した上で、問題を解くようにしましょう。

本番だと焦って速読をしてしまうかもしれませんが、かえって問題を解くスピードが遅くなってしまうので、熟読してわからなかったら計算用紙に図を書いたりして理解をしていくことを心がけてみてください。

- **選択問題のチェックが入っているか確認する**

選択問題(問2~5と問7~11)は回答用紙にチェックをつけていないと0点になります。

必ず見返すようにしましょう。(自分は試験が終わる直前で気づいて冷や汗を書きました..)


# 8. 最後に

ここまで読んでくれてありがとうございます。

今回は対策する時間が多く取れない人向けに学習法と戦略を解説しました。

自分は何度も「**もっと早くに対策を始めていれば**」と試験が近づくにつれ思っていました。なのでこの記事を見た人は、今すぐ試験対策を始めてください(笑)

本番前日も「**どーせ落ちるから明日は模試感覚でいこか〜♪**」と意気込んでいたくらいなので、3週間とは言わず、余裕を持った対策をしっかりするよう頑張ってください。

もし時間がなく試験に焦っている人は、この記事を見て少しでも心を落ち着かせていただければ嬉しいです。

当日まで何が起こるか分からないので、ぜひ諦めず頑張ってください！