IT知識ゼロから確実に基本情報技術者に合格するための勉強法まとめ

IT資格取得をテーマに学びをシェアしよう！【PR】Udemy Advent Calendar 2021 の14日目の記事です。
基本情報技術者試験の対策についてまとめています。

https://qiita.com/advent-calendar/2021/udemy

本カレンダーの4日目に、AWS認定資格である「AWSクラウドプラクティショナー」と「AWSソリューションアーキテクトアソシエイト」についても対策をまとめておりますので、よろしければそちらもご覧ください。

https://qiita.com/kjstudy_englife/items/f0ae1b15865abf646864

#目次
[1. はじめに](#1-はじめに)
[2. 受験理由と当時のレベル](#2-受験理由と当時のレベル)
[3. 午前問題対策](#3-午前問題対策)
[4. 午後問題対策](#4-午後問題対策)
[5. さいごに](#5-さいごに)

#1. はじめに
はじめまして！2021年に異業種からITエンジニアに転職した@kjstudy_englifeと申します。2021年から基本情報技術者試験の学習を開始し、業務経験ゼロの状態から一発合格することが出来ましたので、資格取得にあたり使用した教材や勉強法の流れを共有します。

私はこれまで全くITを学んだことが無い状態での勉強だったので、分からない部分が非常に多くかなり苦戦したのですが、[基本情報技術者ドットコム](https://www.fe-siken.com/)や[Udemy](https://www.udemy.com/)といったWebサイトを使用することで、効率良く学習を進めることが出来たと思っています。

この記事が、これから基本情報技術者を取得しようと考えている方の参考になれば幸いです！

#2. 受験理由と当時のレベル

私が基本情報技術者を受験しようと思った理由、そして当時のレベルは以下のような状態でした。

## 受験理由
私がこの資格勉強を開始した理由は、以下の１点に限ります。

**”自らのITに関する知識が少なくて会話に全くついていけなかったから”**

私は未経験でITエンジニアに転職しました。そしてレアケースだと思うのですが、プログラミングも全く触ったことが無い状態での転職でした。そのためIT業界では常識とされる基礎知識すら身についておらず、先輩の会話に全くついていけずに悔しい思いをしました。

「まずITの基礎を徹底的に叩き込まねば・・・」

そう思った私は、基本情報技術者試験の取得を目標に学習を続けることを決めました。

## 当時のレベル
そもそも持っている知識量が違う人の勉強法って、参考にならないことが多いですよね。
私が基本情報技術者の学習を開始した時のレベルは以下のような感じでした。
もし比較的レベル感が似ているのであれば、これから紹介する勉強法は少し参考になる部分があるのではないかなと思います。

| 項目 | - | 備考 |
|:-----:|:-----:|:----|
| 文系/理系 | 理系 |ただしプログラミングや情報系を学んだ経験はゼロ|
| 過去の職歴 | メーカー製造職| 工場の現場監督みたいなことしてました|
| 持っていた資格 | ITパスポート|基本情報の前にITパスポートを取得していました |

基本情報の前にITパスポートを取得していたことで、よりスムーズに勉強を進められた気がしています。


#3. 午前問題対策

それではまず午前問題の対策として、おすすめの「使用した教材」と「学習の流れ」を紹介したいと思います。

なお、本記事は基本情報技術者の試験概要については理解しているという前提で書いております。もし「そもそもどういう試験？」「どんな問題が出るの？」といった状態の場合は、以下のIPAのHPを参考に。まずは試験の概要を掴んでいただければと思います。

[参考：IPA - 基本情報技術者試験](https://www.jitec.ipa.go.jp/1_11seido/cbt_sg_fe.html)

## 使用した教材
私が午前試験の対策として使用した教材は、以下の2点のみです。
色々な教材に手を出すよりは、「これだ」と決めた教材を徹底的にやり抜く方が効果が高いです。
### キタミ式ITイラスト塾 基本情報技術者
基礎知識のインプット用として、私はこちらの教材を使用しました。私が感じたおススメポイントは以下のとおりです。

* 各分野の導入部分にマンガがあり、楽しく読み進められる
* 基本情報技術者の出題範囲全体をザックリと学べる

基本情報技術者対策の参考書はいくつかありますが、こちらの参考書は前提知識がない状態でも、比較的スラスラと読み進めることが出来ました。こうした網羅的な参考書は１冊持っておいて損はないと思います。

https://www.amazon.co.jp/%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-%E4%BB%A4%E5%92%8C03%E5%B9%B4-%E3%81%8D%E3%81%9F%E3%81%BF%E3%82%8A%E3%82%85%E3%81%86%E3%81%98/dp/4297117819


### 基本情報技術者ドットコム
基本情報技術者の対策にあたり絶対に欠かせないサイトが基本情報技術者ドットコムです。こちらのサイトの「過去問道場」では、過去何十年分もの過去問題を解くことが出来るため、午前問題のみならず、午後問題対策においても大活躍です。とにかく問題を解いて復習を行うことで、少しずつ基礎知識が定着するはずです。

https://www.fe-siken.com/

## 学習の流れ
基本情報技術者対策を効率良く行うためには、以下の流れで学習を進めることがおすすめです。

### 参考書でインプット
まずは少しずつ知識を増やすため、参考書を用いてインプットを行いましょう。もちろんキタミ式でなくても構いません。

ただここで注意したいポイントが１つあります。それは<font color="Red">**１冊全てを一気に読もうとしないこと**</font>です。

基本情報の出題範囲は非常に広いです。これまでITを学んだことがない人にとっては非常につらいです。どんどん新たな分野を読み進めているうちに、最初の方に学んだ内容を忘れてしまうことが出てきます。

せっかくの限られた時間、効率良く学習を進めて次のステップに進むためにも、一気にまとめてインプットを行うのではなく、次に紹介する「過去問道場での演習」と「書籍でのインプット」を交互に繰り返しながら学習を進めることを強くおすすめします。

### 過去問道場で演習
書籍である分野のインプットが終了した後は、過去問道場で実際に過去問を解いてみましょう。この時のポイントは<font color="Red">**出題分野を絞って解くこと**</font>です。

過去問道場では、どの分野を出題するかを自由に絞り込むことが出来ます。そのため、書籍でインプットした部分に絞って過去問演習を行うことで、効率良く書籍のインプット→過去問道場で演習を行うことが出来ます。

各出題分野において「書籍でのインプット」と「過去問道場での演習」を繰り返すことで、徐々に理解できる範囲が増え、午前問題が合格ラインに到達できるはずです。

午前問題の勉強方法をイラストでまとめると以下のようなイメージです。

![FE1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1755178/b3b25a4b-82e0-46c5-abbb-f1a9ff17a4e1.png)

午前問題に関しては、過去問をしっかりやりこめば問題なく突破できるはずです。
一部理解出来ないことが残っていても、午後問題を学習していくうちに、午前問題の分野の知識が補強され、簡単に解けるようになることもあります。ある程度知識が定着したと感じた時点で、午後問題の対策に移りましょう。

#4. 午後問題対策

## 選択問題について

### 私の選択した問題
私は試験本番、以下の選択問題を回答しました。


* 情報セキュリティ (必須)
* ネットワーク
* ソフトウェア設計
* データ構造及びアルゴリズム (必須)
* ソフトウェア開発(表計算ソフト)

(本当はデータベースを解く気満々だったのですが、本番で出題されなかったのでソフトウェア設計を解きました。)

:::note warn
セキュリティとアルゴリズムを除くと選択する問題は3問ですが、全ての分野が毎回出題されるとは限りません。狙いの問題が出なかった時のために、保険用の科目も学習しておきましょう。
:::

### 選択問題の選び方
午後の選択問題において、どの問題をチョイスするかは人によって大きく異なると思いますが、私は以下の2つの観点から解く問題を決めました。

* 今後の実務に役立つか？
* 試験合格レベルに到達出来るか？

#### 今後の実務に役立つか？
私はIT業界の中でも、**実際に手を動かしてシステムの開発や運用に携わる「エンジニア」**になりました。そのため、今後の業務においても**ネットワークやデータベースの知識は間違いなく必要**になってきます。一方で、プロジェクトマネジメントのような分野は、すぐに必要な知識となる可能性は高くないと判断しました。
「せっかく資格の勉強をするのであれば、実務で活かせられることを学びたい」と思い、データベースやネットワークといった、技術者寄りの問題を選択することにしました。

#### 試験合格レベルに到達出来るか？
これは上記の理由と少し矛盾します。
というのも、実務に役立つか？という観点で問題選択を行うのであれば、ITエンジニアの私は、ソフトウェア開発で表計算ではなく、JavaやPythonといったプログラミング言語を解くべきであるからです。

しかし私はこれまでプログラミングを行った経験がないため、1から言語の学習を行い、試験で合格レベルまでもっていくには非常に時間がかかると判断しました。

プログラミングは今後の実務において多用することになると思います。ですが、試験問題が解ける＝プログラミングが出来るではないと考えています。

そこで私は資格の取得を優先するために。「ソフトウェア開発では、**勉強時間が少なくて済む表計算を選択し、プログラミングは別で学習しよう**」という選択を取りました。

## 使用した教材
午後問題に関しては、午前問題よりも難易度が上がり、各分野の詳しい理解が求められるため、小手先の暗記などは通用しなくなります。ちなみに、午後問題の対策にも引き続き「キタミ式参考書」と「過去問道場」は使用しています。
これらの教材のみでは理解が足りないと感じた分野について、追加で教材を購入し学習しました。具体的には以下の通りです。


* 情報セキュリティ：追加教材なし
* ネットワーク：追加教材なし
* ソフトウェア設計：追加教材なし
* データベース：**Udemy(SQL・データベース超入門)**
* データ構造及びアルゴリズム：**書籍(福嶋先生の集中ゼミ)**
* ソフトウェア開発(表計算ソフト)：**書籍(入門者のExcelVBA)**

基本的にはキタミ式の参考書と過去問道場で対応しましたが、3分野については理解が不足していたので、追加の教材を使用しました。それでは、これらの教材について説明したいと思います。

### データベース対策：Udemy(SQL・データベース超入門)
午後問題対策で1番おすすめしたいのがこちらの教材です。

「エンジニアだしDBは出来ないと！」という理由でデータベースを選択することに決めたは良いものの、学習を始めた頃の私はもうSQLが呪文にしか見えない状態で、軽くアレルギー反応を起こしていました。

![図1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1755178/95c71f23-2738-5e5e-cb69-75f0d4a181f6.png)

ITに疎い人間にとってはSQLはもう暗号です。書籍で確かに文法を学ぶことは出来ますが、イマイチどういった操作が行われているのかは分からず、**午後問題を解ける気がしていませんでした**。

そこで、実際に手を動かしてSQLを書けば何か変わるかな？と思いこちらのUdemyの教材で学習を行うと非常に理解が進みました。この教材で学習し終えた後に、午後問題をもう一度解いてみると、**明らかにSQLが読めるようになっており、非常に感動した**のを今でも覚えています。

データベースに苦手意識を感じている人は、実際にこのUdemyの教材を用いて手を動かして学習することをお勧めします。さらに、データベース分野では問われることは**ほぼ毎年同じパターン**であり、SQLをある程度理解すれば**常に8割以上は取れる**ようになります。

データベースを得点源にしておくと心の余裕も生まれやすいので、ぜひしっかりとSQLをマスターしておくことをおすすめします。

https://www.udemy.com/course/sql-begginer/#reviews

### アルゴリズム対策：書籍(福嶋先生の集中ゼミ)

午後問題の必須科目、データ構造及びアルゴリズム。
ここがニガテな方も多いのではないのでしょうか…。私もこの分野の得点がなかなか安定せず、非常に苦労したことを覚えています。そこでこちらの書籍を購入してみました。

この書籍の1番のおすすめポイントは、<font color="Red">**過去問のアルゴリズムの流れを丁寧に解説してくれる**</font>点です。
私は国語力が低いので、問題を読んでも「ここはどういうこと…？」「どういう処理が行われているんだ…」とちんぷんかんぷんなこともありました。しかしこの書籍を購入し、オンライン上の過去問解説動画で学習を行うことで、過去問のアルゴリズムの流れを理解することが出来ました。

私はこの教材に満足でしたが、もしかすると人によっては、以下の点が気になってしまうかもしれないとも感じました。

* 解説のイントネーションがかなり独特
* アルゴリズム実演に使用しているソフトが少し古い
* 表紙が可愛すぎて買うのに少し気が引ける？

ただ、イントネーションは問題なく聞き取れるレベルですし、アルゴリズムの解説中に使用されている表計算ソフトも少し古いですが、学習するうえでは全く関係ないので大きな問題にはならないかと思います。
どうしてもアルゴリズムが安定しないという方は、こちらの書籍で学習してみるのも良いと思います。

https://www.amazon.co.jp/%E3%81%86%E3%81%8B%E3%82%8B-%E5%9F%BA%E6%9C%AC%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E8%80%85-%E5%8D%88%E5%BE%8C%E3%83%BB%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0%E7%B7%A8-2021%E5%B9%B4%E7%89%88-%E7%A6%8F%E5%B6%8B%E5%85%88%E7%94%9F%E3%81%AE%E9%9B%86%E4%B8%AD%E3%82%BC%E3%83%9F/dp/4532415365/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=%E5%9F%BA%E6%9C%AC%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E8%80%85+%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0&qid=1639188408&sr=8-1

### 表計算対策：書籍(入門者のExcelVBA)
これまで大学の授業や前職での管理業務において、エクセルを使用した経験はあったため、前半部分は大きく苦労することはありませんでした。しかし、問題後半のプログラミングの部分が中々理解できず、模試を解いてもいつも6割ほどしか得点できていませんでした。

やはりプログラミング経験の少なさに由来していると考え、実際にマクロを書くトレーニングを行ってみました。これまでマクロを書いたことがなかったので、初心者向けのこのブルーバックスの書籍が良いと聞いたのでこちらでまずは手を動かしながらトレーニングしました。

学習しているうちに少しずつ要領がつかめてきたので、過去問のようなマクロを実際に書いて動かすことで少しずつ理解を深めました。こうしてマクロを自分で書いているうちに、**問題もスラスラ読める力がついてきた**ように思います。

SQLといいマクロといい、こうした分野は**自分で手を動かして学ぶことが1番効率良く学べる**のだと感じました。

https://www.amazon.co.jp/%E5%85%A5%E9%96%80%E8%80%85%E3%81%AE%EF%BC%A5%EF%BD%98%EF%BD%83%EF%BD%85%EF%BD%8C-%EF%BC%B6%EF%BC%A2%EF%BC%A1-%E5%88%9D%E3%82%81%E3%81%A6%E3%81%AE%E4%BA%BA%E3%81%AB%E3%83%99%E3%82%B9%E3%83%88%E3%81%AA%E5%AD%A6%E3%81%B3%E6%96%B9-%E3%83%96%E3%83%AB%E3%83%BC%E3%83%90%E3%83%83%E3%82%AF%E3%82%B9-%E7%AB%8B%E5%B1%B1%E7%A7%80%E5%88%A9-ebook/dp/B011QCXT8A/ref=sr_1_54?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=%E3%83%9E%E3%82%AF%E3%83%AD+%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB&qid=1639188646&sr=8-54


## 学習の流れ
どの問題を解くかを決定した後は、とにかく各分野の勉強を進めましょう。
その中で重要なポイントが2点あります。

* 苦手分野を作らない
* 得意分野を1~2個作っておく

### 苦手分野を作らない 
まずニガテ分野がある場合は、その分野の学習を第1に優先しましょう。
例えば「アルゴリズムが苦手だから…」という理由でその分野の学習を避けた場合、その時点で75点満点スタートになってしまいます。

基本情報の午後問題は、**基本的にどの分野も問題の前半は易しく、後半になるにつれて難しくなります**。

:::note
例. データベースの場合
前半：基本的なSQL。INSERT文やSELECT文が分かれば解けることが多い。
後半：副問い合わせや外部結合などが登場して難易度が上がる
:::

たとえニガテな分野であったとしても、前半くらいは得点できる程度の理解度にはしておきましょう。極端にニガテな分野をつぶした後は、以下に書いている通り、得意分野を作ることに励みましょう。

### 得意分野を1~2個作っておく
得意科目を1~2科目作っておくと心理面で優位に立つことが出来ます。

本番に挑む前から「合格ラインギリギリだ…」という状態だと、例えば本番のアルゴリズム問題がスムーズに解けなかった場合、焦ってしまう可能性もあります。午後問題は時間との戦いでもありますので、焦りは大きな敵になります。

私の場合は「データベースと表計算は8割取れるだろう」という自信があったので、アルゴリズムで多少つまづいても「他で巻き返そう」と思うことができ、ゆとりを持って問題と向き合うことが出来ました。

試験に合格するためには知識量はもちろんですが、**メンタル面も大きなウエイトを占めている**と思っています。「この分野は大丈夫！」という分野を事前に作っておくことが出来れば、本番でも落ち着いて午後問題に取り組むことが出来ると思います。

#5. さいごに
以上が私がIT知識ほぼ0の状態から、基本情報技術者を取得した勉強法です。
書籍や過去問道場、そしてUdemyの教材など、各分野に応じて教材を効果的に活用したことで一発合格につながったと思っています。もし「学習の進め方が分からない」という方は、ぜひ上記の流れを参考にして頂ければと思います。
この記事がこれから基本情報技術者を取得しようとされている方のお役に立てば幸いです！

また、現在私はITエンジニアとして働きながら、応用情報技術者やAWSといった資格試験の取得を目標に勉強を続けています。Youtubeでその様子を毎週配信しておりますので、よろしければこちらもぜひ参考にしてみてください！

https://www.youtube.com/channel/UCCX4RIvrbHHCT9nKK0880QQ