基本情報技術者試験に1ヶ月半で合格した戦略を公開

#はじめに
はじめまして。
本記事では、実際に基本情報技術者試験に合格(見込)した筆者が、実際にどのような戦略で合格に至ったかをまとめた記事になります。
もしこれから試験を受けるという方がいれば、参考にしていただければと思います。

#注意書き
まず筆者は、仕事を退職後に試験の学習をしておりましたので、同じように1日フルに使える人は、1ヶ月半の学習期間は参考になるかと思います。ただ、仕事をしながらという方は、3ヶ月程度を目処に学習していただければと思います。

- 筆者のスペック
    - 大学院卒
    - プログラミングスクール卒
    - エンジニアの実務経験なし

- 試験の結果

https://twitter.com/tomitatwt1308/status/1461187326625738755?s=20


- 実際に試験を受けた結果は、午前試験80点、午後試験87点でした。
- 合格見込みと書いたのは、合格発表はまだなのですが(21.11.19時点)、試験を受けるとすぐに点数がメールで届きます。合格基準点は60点なので、60点を超えていればまず合格と考えて良いと思い、見込みと記しています。証書が届いたら、更新したいと思います。


#合格に一番必要な要素
合格に一番必要な要素、それは**『試験に申し込む』**ことです！
なぜ『試験に申し込む』ことが重要かというと、人間は、期限のない課題に対しては先延ばしにしてしまう生き物だからです。
実際に私も試験まで1ヶ月と少ししかなかったので、来年に回すかどうか悩みました。しかしダメで元々と思って申し込んだところ、やはりお金もかかっていることなので、しっかり勉強しようという意欲が湧いてきたのです。

もし次回の申し込みがまだ受け付けてないようでしたら、スケジュール帳に申し込み開始日をメモしてください。
そして申込み日が来たら、すぐに試験を申し込むようにしてください。
（おそらくその日が来るまで、ほとんど勉強することなく迎えることになるでしょう‥）

#午前試験の対策
さてそれでは具体的に、試験の対策を進めていきたいと思います。
まず試験範囲の全体を知るために、１冊のテキストを読み進めていきましょう。
ちなみに私は『イメージ&クレバー方式でよくわかる 栢木先生の基本情報技術者教室 (情報処理技術者試験) 』というテキストを使用しました


https://www.amazon.co.jp/%E4%BB%A4%E5%92%8C03%E5%B9%B4-%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8-%E3%82%AF%E3%83%AC%E3%83%90%E3%83%BC%E6%96%B9%E5%BC%8F%E3%81%A7%E3%82%88%E3%81%8F%E3%82%8F%E3%81%8B%E3%82%8B-%E6%A0%A2%E6%9C%A8%E5%85%88%E7%94%9F%E3%81%AE%E5%9F%BA%E6%9C%AC%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E8%80%85%E6%95%99%E5%AE%A4-%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E6%8A%80%E8%A1%93%E8%80%85%E8%A9%A6%E9%A8%93/dp/4297117169

* テキスト選びのコツ<br>
ここでテキスト選びのコツですが、本屋に寄って、実際にペラペラとページをめくってみて、自分がいいなと思ったものを選ぶようにしてください。なぜなら、自分が気に入った本の方が勉強が楽しいし続くからです。正直店頭にたくさん並んでいるものであれば、どれでもいいと思います。

* テキストを1日2章すすめる<br>
テキストを手に入れたら、1日2章ずつ進めていきましょう。私の買ったテキストは11章あったので、1日2章進めれば6日、バッファで1日とっておいて1週間で読み終われます。仕事をしながらの方は1日1章ずつ、2週間を目処に読み進めていきましょう。
ちなみに章の終わりに例題が載っていますが、現段階では解けなくて問題ありません。ただ解答を読んで、理解するように努めてください。

* 過去問を解いていく！
テキストが終わったら、さっそく過去問を解いていきます。基本情報技術者試験では過去問が一定の割合で出てくるので、過去問を解くことが、得点力アップの鍵になります。
過去問を解くのに大いにお世話になるのが、下記のサイトになります


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

こちらの過去問道場で、1日1回分(計80問)を目安に、全部で5~10回分の試験を解いていってください！知識が不十分なところはテキストを見返すようにしましょう。5~10回分と書いたのは、だいたい80点を目安にして、80点前後が安定してとれるようになってきたら、午後試験の対策に進んで大丈夫だからです。
80点取れる実力があれば、もし試験当日下振れしたとしても、60点は超えてくるでしょう。逆に70点前後の実力であれば、不安がどうしても残るので、目標を80点としています。
仕事しながらの方は1日40問ずつ、1回分で安定して8割くらい取れるようになったら、次のステップに進んで大丈夫です。


#鬼門の午後試験
午前試験が上出来なら、次は午後試験の対策です。正直基本情報技術者試験は、この午後試験次第と言って良いかと思います。

まず午後試験の内容をまとめますと、

- 情報セキュリティの問題(必須)
- 選択問題２題(ソフトウェア、データベースなどの４題から２題選択)
- アルゴリズムの問題(必須)
- プログラムの問題(Java, Python, C, 表計算, アセンブラから1題選択)

の合計5題を解くのですが、このアルゴリズムとプログラムが鬼門なのです。
ただの詰め込みでは素人は歯が立たず、何度も過去問を解いて解き方を身につける必要があります。

なのでこのフェーズでは、アルゴリズム1題、プログラム1題の計2題と、その他の問題を1日1セットとして、解き方を体に染み込ませてください。働きながらの方はアルゴリズムかプログラムの問題を1日1題は解くようにしてください。


* プログラム言語の選択について<br>
プログラム言語の選択ですが、ここは自分がこれから使っていきたい言語、覚えたい言語を選ぶようにしてください。なぜなら、そのほうが前向きに学習できるからです。これこれが簡単らしいから選ぶ、といった理由で選んでしまうと、やる気がでなくなってしまいます。
(学生の時に、単位が取りやすいからと興味もないのに中国語を履修し、結局単位を落としている人、同期にいませんでしたか？笑)
私の場合はJavaが実務でよく使われると聞いていたので、Javaを選びました。おかげで引数の型だったり、クラスの継承、インターフェースといった基礎的な部分の理解が深まりました。


* とはいえアルゴリズムは難しい<br>
とはいえエンジニア未経験にとって、アルゴリズムを追いかけるのは難しいです。私も最初、コレ解けるようになるのか‥？と不安に感じていました。しかし５問ほど解いていくと、ある程度考え方というか、ここに注目すればいいのか、といったことが徐々に分かって来ました。注目すべきは、以下のポイントかと思います。

https://twitter.com/tomitatwt1308/status/1458977941233160192?s=20



毎回例となる具体的な数値が提示されているので、配列なり変数なりにその値を実際に入れてみて、i=1なら、i=2なら‥というように、ひとつずつプログラムを動かしていくのが良いかと思います。

戦略としましては、アルゴリズムとプログラムを5~6割取って、その他の問題で貯金を作り、全体で6割を目指す、という形になります。

#直前と本番の対策
試験の直前になりましたら、午前試験も数回分解き直して、カンを取り戻しておきましょう。直近の何回分かは、最初に解いてしまわずおいておくと良いでしょう。
そして本番なのですが、紙とシャーペンが用意されるのですが、紙は最初１枚しかくれません。午後試験では１枚では足りないので、なくなったら係の人を呼んで、もらうようにしてください。アルゴリズムは紙に書いてなんぼだと思うので、遠慮せず紙はもらいましょう。

私から伝えられることは以上になります。正直今回１ヶ月半の勉強で80点取れたので、本当に合格するだけなら2,3週間とかでとれるのかもしれません。しかし、6割ギリギリで受かったとしても、本当に試験範囲の内容が定着しているかは怪しいので、最低でも1ヶ月は見たほうが良いかと個人的には思います。
最後になりましたが、これから試験を受けるという方は大いに頑張っていただきたいと思います。
読んでいただいてありがとうございました。
（次は応用技術者試験だ！！）