基本情報技術者に受かったときの勉強法と不要だったこと

# はじめに
私は2022年4月に基本情報技術者の試験を受験し、結果(午前 78% 午後 90%)無事合格することができました。

現在はITコンサルの企業で働いていますが、会社から資格取得を促されたり、同期からどうやって勉強をしたのかを聞かれることがありました。

なので自分がやった勉強をまとめてみました。また勉強の過程で合格には不要だった（無駄な勉強は無いと信じてるが）こともまとめてみました。

補足ですが、2023年の春から試験方式が変更されているので、勉強範囲など気を付けてください。

## 参考までに、
#### 勉強前の私のレベル、経歴
- 科目A試験(旧午前試験): 50~65点、科目B試験(旧午後試験): 40~60点(２，３回分の過去問の結果)
- Webアプリ開発経験があったため事前にある程度知識があったものの、基本情報技術者の出題範囲の知識は少なかったです

#### 勉強時間
- 2~3週間程度
- 過去問を解いて見直しをする時間(30h程度)
- 隙間時間で参考書を読むなど(30h程度)

#### 勉強～合格までで感じたこと
この資格はITの知識があれば受かるとは言えないです。
というのも、著作権や貸借対照表、PCのメモリの仕組みなど、アプリ制作で意識しない内容の問題が、結構な割合を占めるからです。
また、自動車の免許のように、独特の言い回しや長文読解のような作業もあるため、どんなに知識があっても、最低でも20~30h程度の勉強は必須です。



# やったこと・必要なもの
基本的には過去問を解いて本を読んで暗記をする、というものです。

***過去問道場***
かなり有名なサイトで、基本情報技術者に受かった人はみんな使ってるサイトだと思います。
このサイトの一番最新の過去問から解いていき、4,5年分を解いたら十分だと私は考えています。
[過去問道場](https://www.fe-siken.com/fekakomon.php)

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

***参考書***
合格するだけであれば過去問道場だけで十分という記事やツイートを見ますが、ギャンブル性が強いです。また、事前にある程度知識がない人はかなり厳しいと思うので、より確実に合格するためには本は必須です。
その上で、私は[この本](https://www.amazon.co.jp/%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E6%95%99%E7%A7%91%E6%9B%B8-%E5%87%BA%E3%82%8B%E3%81%A8%E3%81%93%E3%81%A0%E3%81%91%EF%BC%81%E5%9F%BA%E6%9C%AC%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E8%80%85-%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%EF%BC%86%E5%95%8F%E9%A1%8C%E9%9B%86-2020%E5%B9%B4%E7%89%88-%E7%9F%A2%E6%B2%A2/dp/4798163813?_encoding=UTF8&qid=1698300847&sr=8-3&linkCode=ll1&tag=iyugo0b-22&linkId=f138c86f32bc337a3f9ede3e42ea519a&language=ja_JP&ref_=as_li_ss_tl)がおすすめです。
なぜ2020年版と古いものなのかは後で説明します。

[情報処理教科書 出るとこだけ！基本情報技術者 テキスト＆問題集 2020年版](https://www.amazon.co.jp/%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E6%95%99%E7%A7%91%E6%9B%B8-%E5%87%BA%E3%82%8B%E3%81%A8%E3%81%93%E3%81%A0%E3%81%91%EF%BC%81%E5%9F%BA%E6%9C%AC%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E8%80%85-%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%EF%BC%86%E5%95%8F%E9%A1%8C%E9%9B%86-2020%E5%B9%B4%E7%89%88-%E7%9F%A2%E6%B2%A2/dp/4798163813?_encoding=UTF8&qid=1698300847&sr=8-3&linkCode=ll1&tag=iyugo0b-22&linkId=f138c86f32bc337a3f9ede3e42ea519a&language=ja_JP&ref_=as_li_ss_tl)



# 勉強のやり方
### 過去問道場
#### 科目A試験
基本的には、***過去問を解く->答えを覚える***を繰り返すだけです。


過去問道場は、問題・回答・解説が掲載されています。そのため、間違えたとしてもなぜそれが間違えなのかすぐに確認できます。

ただし、***過去問道場の解説はその問題を解くために必要な知識を解説しているだけ***の場合が多いため、体系的に学ぶことができません。
そのため、***解説を読んでも理解できない時には参考書を読む***と良いです。

#### 科目B試験
科目B試験の勉強方法についてですが、***正直知識や経験というよりどれだけ問題を解き慣れているか***、が重要で、恐らくIT知識の有無はあまり影響しないです。

なので勉強法は***過去問を解く->答えを覚える***を繰り返して解き慣れるだけです(科目A試験と一緒)。
因みに、問題を解く上で必要な知識は科目A試験の対策で自然と身につくので、科目A試験の対策をしながら同時並行で進めると良いです。

また、2023年春から試験範囲が変更され、
「アルゴリズムとプログラミング」「情報セキュリティ」の２分野に減りました。
加えて、プログラミング言語（C言語、Java、Python、アセンブラ言語、表計算）は廃止され、擬似言語による出題に統一され、以前に比べて勉強する範囲が大幅に減りました。

情報セキュリティはともかく、アルゴリズムとプログラミングは、知識よりも慣れが重要なので、解き慣れることがとにかく重要です。

###### 補足（科目B試験の勉強で意識すること)
◆ アルゴリズムとプログラミング
- 同じ問題を何度も解きなおし、スムーズに解けるようになることを目指す
- 疑似言語を理解する
- 問題を解く際の段取りを意識する

◆ 情報セキュリティ
- 少しでも多くの問題を解く＆覚える
- 知識の有無を問う問題なので、ひたすら暗記
- 過去問がそのまま出題されることもある　←私は過去問が出題されました 

### 参考書
基本的には過去問道場の解説を補足する道具として使いますが、もちろんそれだけではありません。

参考書が必要な理由は、**出題範囲が定期的に変わる（追加される）** からです。
基本情報技術者に関わらず、情報処理推進機構が主催する資格試験は定期的に出題範囲や試験要項が変更され、これらは[シラバス](https://www.ipa.go.jp/shiken/syllabus/gaiyou.html)にまとめられています。
過去問だけで勉強していると出題範囲が変更されたときに対応できないため、確認すべきです。
一方で、***情報処理推進機構の資料は難解で非常に分かりにくい***です。

https://www.ipa.go.jp/shiken/syllabus/t6hhco0000004yy7-att/youkou_ver5_2.pdf

https://www.ipa.go.jp/shiken/syllabus/t6hhco000000ijhj-att/syllabus_fe_ver8_1.pdf


そこで、**シラバスの変更点がちゃんと記載されている本であり、且つ辞書としても使える参考書**を選ぶ必要があります。
なので、参考書選びで必要な観点は以下の２つです。
- シラバスの変更点が記載されているか
- 辞書として使えるボリューミーな内容となっているか

逆に言うとこれさえあれば良いので、余計な解説とか付録がついているものは不要です(なかなかないですが...)。
あとは書店に行って探すか、kindleの立ち読みで目次からシラバスの内容があるか、などを見て探してください。

因みに、参考書のおすすめで2020年版の本を紹介した理由はシラバスに追加された内容がリスト化されており、2023年版よりも分かりやすかったからです。

# 不要だと感じたこと
### 参考書の読み込み
そもそも私がやった勉強ですが、参考書を最初から最後まで全部読み、その傍らで過去問を解いていました。
ですが、実際に参考書を読んでも記憶は定着しませんでした。
結局、参考書は本当に辞書替わりに使うこと、シラバスの変更点のチェック、の2つの用途でしか使いませんでした。
実際必要な知識は過去問道場の解説に大抵のことが書いてあので、稀に解説だけでは理解できないケースのために参考書はあった方がいいですが、それ以外では不要です。

因みに、参考書は仕事で使ったりしたので、そのIT系の会社に入れば役に立つと思うので買っておいて損はないと思います。

### 過去問題集を買う（スーパー無駄）
説明は不要だと思いますが、やっちまったので書いときます。
過去問道場以下、金の無駄、以上！

# 勉強戦略を立てるまでの思考
ここからは、具体的な勉強方法ではなく、上の内容だけで十分と判断した思考や経験を記載していきます。
なぜこのやり方だけで十分だと思うのか、を過去の経験を踏まえてつらつら書いていきます。

## 科目A試験の問題はどのくらい過去問と同じなのか

科目A試験は約40％の割合で過去問題と同様の問題が出題されているそうです。（引用元　[link](https://studying.jp/kihonjoho/about-more/kiji-9.html#:~:text=%E5%88%86%E9%87%8E%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E3%80%81%E8%8B%A5%E5%B9%B2%E3%81%AE%E5%B7%AE,%E3%81%A8%E3%81%84%E3%81%86%E3%81%93%E3%81%A8%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82)）

これについて、本当にそうか自分でも調べてみました。
調査の方法・基準は下記に示す方法で行いました。
- 令和元年秋試験を対象
- １問ずつ問題文で検索し、令和元年以外の年の過去問がヒットするか

検索でヒットするかどうかなので、一字一句同じ問題・検索でヒットする程度には類似する問題が抽出されていると思います。
この手法で検索した結果、80問中28問は過去に出題された問題でした。***割合としては35%*** です。

年によってバラつきがあると思いますが、***約40％の割合で過去問題と同様の問題が出題されている***、という点は正しいと思います。


## 過去問をやればOKは科目A試験だけの話じゃない！
過去問と同じ問題が使いまわされると言う話は、科目B試験ではあまり聞かなかなかったので意識してませんでした。
しかし慣れてないと本番でパニックになるかもしれないため、3,4年分の問題を問いて試験に挑みました。
そして試験当日、なんと***科目B試験の大問のうち、１つは過去問と一字一句同じ問題が出題***されていました！
丸暗記してなかったですが、１度解いてしっかり復習した問題のため取りこぼしはなかったです。
一方でもっと過去問の対策をすれば、全問知ってる問題だ！ということになったのではないかとも思いました。
そんな経験から、***科目B試験こそ過去問をやり込むべき***だと思いました。


## なぜ問題が使いまわされるのか
恐らく問題作成のコストが原因だと思います。
以前仕事で理解度チェックを目的とした問題を作成をしたことがあり、その時の経験に基づいた私の考えにはなりますが...
試験問題を作成するうえで、問題の問いと答えは間違った内容になっていないか、論理破綻してないか、簡単すぎず難しすぎないか、など考慮することが多いです。またそういった観点を満たせているか必ず裏どりするはずですが、裏どりする際に利用した資料が正しいのかなど確認する事項も多いはずです。

加えて基本情報技術者のような、専門性が高く、かつ受験する人の層が広い資格試験の場合、問題を作れる人の単価は非常に高いと思います。そんな人達を長期間拘束する予算を主催側が持ってるのでしょうか？

その点を解決するために、令和２年から過去問の公開を廃止し、CBT方式で過去に作成した問題をランダム出題する方式にしたのではないかと考えています。
もちろんシラバスの改訂で作問した問題など、定期的に問題を新たに追加しているとは思いますが、以前に比べれば圧倒的にコストカットできてるんじゃないかと思います。

まあ、あくまで私の予想なんですが....

## シラバスの改定で追加される用語はどれくらい出題されるのか
平成28年5月にシラバス3.0からシラバス4.0に改定されました。
この時新たにシラバスにいくつかの用語が追加されました(60語程度)。
この平成28年秋試験以降で、シラバスに追加された用語が関わる問題がどの程度出題されるのかを調べてみました。
結果はこれです↓。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/452660/c91a8c7f-1a4c-3aef-0090-d5c3379bf84d.png)

平成28年秋、平成29年春の試験においては、改定後の問題作成が追い付いてなかったのか、1問のみの出題となっていますが、それ以降の試験では3~5問の出題となっています。

またこの時シラバスに追加された用語は、LTE、HEMSなど、あまり馴染みがない用語もありますが、SIMカード、マイナンバー法、など一般的に知られている用語も多く、覚える労力も少ないです。

直近でシラバスの改定で用語が追加されたのは令和元年です。
追加されてからある程度時間が経過しているため、追加された用語の問題が3~5問程度出題されることが予想されます。
高確率で出題されると分かっていれば、取りこぼすのはもったいないのでしっかり準備すると良いと思います。


# 最後に
午前・午後の過去問を解く&復習(5h)×5年分(10本)=50hなので、まあ結構時間かかると思います。
実際プログラミング経験者で50~100h、未経験者で200hの学習時間が必要だとGoogle先生が教えてくれました。

改めて考えると結構難しい資格なんだなと思いました。

因みに、長々と書きましたが、この対策方法は応用情報技術者試験にも適用できると思います。
なので、2024年の春あたりに気が向いたら受験しようかと思います。


### 実体験に基づいた基本情報技術者取得のメリット(2023/11/19追記)
想定よりも多くの方に見ていただき、久しぶりにテンションが上がってしまいました(単純な人間ですみませんwww)。
蛇足になるかもしれませんが、私自身が感じた基本情報技術者取得のメリットなどを少しだけ書きたそうと思います。

##### 資格があると仕事がもらいやすいか
正直資格があっても特に仕事が増えたりしてないように感じます。
基本情報技術者レベルのインフラの知識がある人募集！みたいな募集は見かけますが、注記で応用情報技術者レベルだとなおよい、とか書かれているのでまだまだだなと感じてます。
一方で、この資格持ってます！というと「あ、じゃあ最低限の知識はあるね！」くらいには認識してくれるので、肩書を説明する手間が若干省けるかなーと思います。

##### 基本情報技術者取得で勉強したことは役立つのか
結論としては、エンジニアとして稼げるとは限らないが、知識があると大きな失敗を避けることができます。また、エンジニア以外でも利用用途はあるし、日常生活でも結構役に立ってます。
具体例を踏まえて役立ったことを3つほど紹介します。

- ライセンスの取り扱い

こういった問題↓などで、オープンソースのライセンスについて勉強したのですが、実際にこれは役に立ったと思います(金になったわけではないですが)。
https://www.fe-siken.com/kakomon/25_aki/q21.html

個人開発などしていると、単純にマンパワーが足りなくてオープンソースに頼ることがよくありますが、そのオープンソースは商業利用できるのか、商業利用するための条件は何か、など確認する必要があります。
私は基本、MITライセンス以外は使わないと決めてますが、MITライセンスのオープンソースだからといって、何をやってもいいわけではないことを、基本情報技術者の資格勉強をしている過程で学びました。
実際、ライセンス違反は著作権侵害になるので、違約金だとか社会的信用の喪失だとか、色々デメリットがでかいので注意が必要です。

資格を持っているとお金が稼げるかは微妙ですが、資格取得で身に着けた知識があると、大きな失敗を避けることができるので、失敗をしたくなければ勉強するのが無難だなと思いました。

- 教育カリキュラムを作る仕事での活用

ITスキルを育成するための教育カリキュラムを作るみたいな仕事をしたことがあり、その時に基本情報技術者レベルの資料を作ったことがありました。
昨今のITの発展で、そういった分野がホットになっていますが、こういった教育コンテンツを利用する人たちは当然素人たちです。
素人が最初に学ぶこととして基本情報技術者レベルの内容はうってつけというのもあり、結構参考にして資料を作りました。
この過程で、私が資格取得のために買った参考書を引っ張り出したり、過去問道場を漁ったりしました。

- Wifiのセットアップで分からない単語が減る

Wifiのセットアップは誰しも一度はやったことがあると思います。Wifiの契約をして、ルーターを設置して、PCとつなげて、・・・etc
中にはプロキシの設定をしてセキュリティを上げたりなんかする人もいるでしょう。
こういったときに、マニュアルやら説明書なんかにある用語が全然わからないです。DHCPとかDNSとか。
資格を取ってみると、こういった用語の意味が理解できるため、説明書を読んで「あ～そういうことね！」となるわけで、日常生活では結構役に立つ場面があるな～と感じます。
まあ、この程度ならITパスポートでも十分かもですがwww