見出し画像

非情報系学部出身の新卒が3ヶ月半で基本情報技術者ギリ一発合格できた話

1.はじめに

基本情報技術者試験(以下、FE)の合格体験記をまとめてみました。
このnoteでは、どのようなスペックの人間がどうやって合格したか、ということを割と細かく書いております。
投稿の目的は、こんな感じかなぁと思います。

・FEの敷居を低く感じてもらいたい
・勉強のモチベーションアップに役立ててもらいたい
・自分のやったことを整理しときたい

FEの合格率は例年20~30%なので、決して簡単な試験ではありません。ですが、私のようなスペックの人間でも、(ギリ一発)合格できたので、その過程が誰かのご参考にでもなれば幸いです。

2020年から試験改定されました。結構大きく変わってるようです。詳しくはこちら(IPAプレス発表)
この合格体験記は2019年 秋季試験(改定前)のものです。が、
アドバイス的なことは改定に対応したものにしてるつもりです一応。

2.事前スペック・模試得点・本番得点

本章の概要は以下の通りです。

・筆者の事前スペック(勉強開始前に得ていたITスキル・知識等)
・1回だけ受けた模試(本番に近い環境)と、本番の実際の点数

「この程度でも受かるのか。」、「自分と似たスペックだな。いけるかも...」とでも思っていただければ。

事前スペック
 高校:普通科・文理選択→理系
 大学:環境系(文系に近い理系)
  この時点ITスキル:MSofficeはよく使う程度、プログラミングは未経験、パソコンカタカタするのは好きだけど、中身についてはよく知らない
 就職:2019年4月、IT企業にプログラマーとして入社
    →4月~研修~7月(技術系の研修ではないです)
    →7月~勉強~10月20日(試験日)

模試得点(9月初めの方に受けた)
 
午前:52点ぐらい
 (マネジメント・ストラテジがあまりできなかった)
 午後:52点ぐらい
 (アルゴリズム・言語がむずい...、選択言語はC言語です)

本番得点
成績照会結果↓

基本情報_得点


まぁなんとかギリギリでしたね。受かったもん勝ちですよ。

3.スケジュール

以下、大まかなスケジュールです。

スケジュール


午後の分野の分け方ですが、「アルゴリズム・言語」と「それ以外」として考えてました。前者の比重が点数・難易度ともに大きいので。(ちなみに、FE向けの言語勉強はしておりません。FE勉強と並行して、社内教育としてC++の勉強をしていたので、それが言語対策を兼ねるだろうという判断です。←正直失敗でした。)

ターニングポイントどこかと聞かれたら、本番の約1か月半に受けた模試一択ですね。ここで、現状の弱点→合格点への道筋がはっきりしました。

まず午前、模試の時点ではまだテクノロジーしか着手してなかったので、その他の点数があまり取れなかった。→「残りの期間でテク以外に注力すれば、60点は余裕だな。」と、やるべきことが明確になりました。

次に午後、こちらもアルゴリズム・言語は未着手だったので、勉強したとこは頑張って残りはほぼ勘でした。それでも約52点と、意外と高得点でした(個人的には)。
ただ、ここで、アルゴリズムの難しさに衝撃を受けました。
勉強してないとはいえ、手も足も出ないうえに、配点は20点もある…
合否の鍵はアルゴリズムだなと確信しました。以降は、アルゴリズム中心の勉強にシフトしました。←これは正解でした。

自分の経験から、本番に近い環境で模試を受けとくことをおすすめします。
前述のようにメリットしかありません。1回だけでも全然いいと思います。

4.午前対策

教材

使用した教材は以下の2つです。

午前教材

特に変わったところはないです。定番のFEドットコム+教科書ですね。

勉強の流れ

教科書1週目じっくり読む
→過去問道場(過去5年分まとめて、分野ごと、テクは多いので何分割化して)
→道場やりつつ教科書2週目読む(苦手なところを中心に)

過去問道場をひたすらやってました。網羅性が高い(完璧)ですし、問題の出題設定ができるので、問題の種類が膨大なFEにおいて、勉強する箇所が絞りやすい点が良いです。
ただ、欠点として、一問一答形式の道場では整理された情報をインプットしにくい、という点があります。一つ一つの情報がばらばらに脳に入ってきてしまうイメージです。これにより、それぞれの情報の繋がり・関連性が見えにくくなり、分かりずらい・覚えにくい・楽しくない、となってしまいます。それを防ぐためにも、教科書読みは必須だと考えます。

教科書はきちんと情報が整理されているので、インプットしやすいです。
なので、先に読んどいて(インプット)→道場で問題解く(アウトプット)→また読む(インプット)の流れで進めました。2周読んだら後はほぼ道場一本にして、全体としてインプット:アウトプット=4:6ぐらいだったかなと思います。

次に、専門用語対策についてです。ただでさえ用語が多いうえに横文字や似た用語が多いので、分からない用語はWeb検索して調べます。しかし、いろいろなサイトが乱立しており、「どれが良いのか分からん…」、「難しい言葉使い過ぎ…」となりがちです。そこで、筆者のおすすめサイトをご紹介いたします。

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

解説がかなり噛み砕かれていて、非常にわかりやすいです。分からん用語が出たら、まずはこのサイトに行くことをおすすめします。

また、FEドットコムはユーザ登録することで、自分の利用データが取れ、勉強の進捗管理ができますので登録して活用しましょう。

5.午後対策

教材

使用した教材は以下の2つです。

午後教材

網羅系(左)と特化系(右)とでも呼びましょうか。
午後対策には、FEドットコムや過去問を使わずに、この2冊のみで戦いました。
ただ、スケジュールのところでも言及しましたが、言語特化系の本を用意しなかったのは誤りでした。そこのところでアルゴリズムと言語の明暗がはっきりと表れました。
正答率をみると、アルゴリズムは6割強であったのに対し、言語はたったの2・3割しか取れていませんでした。
以上のことから、(プログラミング素人は)言語はFE用に対策しないとダメだ、という教訓を得ました。
そして、私が思う用意すべき対策本は、以下のような3冊だと思います。

➢アルゴリズム・言語以外対策として・・・網羅系(過去問集的なのが良)
➢アルゴリズム対策として     ・・・アルゴリズム特化系
➢言語対策として         ・・・言語特化系

ただ、3冊とも全ページ全問解け!、というのは結構厳しいと思います。
とりあえず、網羅系は全部解いとく。そして、特化系は基礎のみ、余裕あれば難しいのにチャレンジ。で良いと思います。

勉強方法(アルゴリズム中心)

まず、アルゴリズム・言語以外ですが、私がやっていたことは、網羅系やり込む、のみです。1回解いて、忘れたころにまた解く、という感じでした。
ここら辺は問題のパターンがあまり多くないので、1冊をしっかりやり込む勉強が効果的だと考えます。
ただ、改定後は、情報セキュリティの配点が12点→20点に上がるので、ここは他よりも厚めに対策する必要があるでしょう。

次にアルゴリズムです。大事なことは以下の3つです。

①網羅系のアルゴリズム問題を繰り返し解く
②解答過程を書く
③問題内容を自分でプログラミングする

①網羅系のアルゴリズム問題を繰り返し解く
教材のところで特化系の本を用意した方が良いと書きましたが、メインとして使うのは、網羅系がおすすめです。問題数は少ないですが、代表的な問題が掲載されていて質が良いため、繰り返し解くことで、しっかり力が付きます。特化系はサブとして使い、色々ある問題パターンを知っておくために活用するのが良いでしょう。

②解答過程を書く
アルゴリズムは、非常に考えることが多く、どんどん上書きされていきます。例えば、ループ処理で何回も値が書き換わる、とかです。これらをいちいちメモするのは正直面倒なんで、頭の中だけで考えてしまいがちなんですが、脳みそが処理できる範囲は優に超えます。なので面倒がらずにコツコツ過程を書きましょう。

③問題内容を自分でプログラミングする
自分の好きな・得意な言語で問題のアルゴリズムを再現する勉強法です。
これにより、そのアルゴリズムへの理解がかなり深まります。そして、試行錯誤の末、自分の力で動かすことができればうれしいものです。
それほど高度なアルゴリズムではないので、コード量も少なく、プログラミング素人でも、容易に実装できるでしょう。

最後に言語ですが、筆者は未対策でしたので、経験談はありませんが、これもアルゴリズムとそう大差ないので、①特化系を解く、②実際にプログラミング、有効なのではないかと思います。とりあえず、評判の良い特化系1冊を用意しましょう。

6.最後に

午前は知識詰込み暗記系ですが、午後は思考力が問われるので、本番での集中力により、普段以上の力が出る可能性があります。問題が難しくて泣きそうになっても、思考をやめなければ、「こんなような問題、前にも見たかも…」みたいな閃きが来て合格をつかむことができるでしょう。(経験談)

この記事が気に入ったらサポートをしてみませんか?