Hi! まむばるです。
今日は「基本情報技術者試験」(以下、FE試験)についてお話します。
まむばるは専門学校で基本情報技術者の講師をやっていますので、
その経験も踏まえながらお話しできたらと思います。
Contents
基本情報技術者試験(FE)とは?
IT技術者にとっての登竜門と言われている試験です。
独立行政法人であるIPAが主催する国家試験です。
IT企業でお勤めの方にとってはなじみのある試験と言って良いでしょう
IPAの公式サイトを参照すると
高度IT人材となるために必要な基本的知識・技能をもち、実践的な活用能力を身に付けた者
つまり、ITの基礎がわかっていますか?という観点で実施される試験です。
難易度は合格率の25.7%からすると
「中の上」
といったところでしょう。
私はITの勉強し始めた18歳のときに合格しました。
学習期間は約1か月です。
その時に使用した教材や戦略などを次にお話しします。
基本情報技術者試験の合格メリット
昨今、SNSなどで「FE試験は実務に役立たない」などという意見が多く散見されます。
まむばる自身はそうは思えません。
確かにFE試験の知識だけでは不十分でしょう。
しかし、保証できるものがあります。
それはIT企業で働く技術者の「知識レベル」です。知識がなければ「午前試験」に合格することはできません。
また、午後試験で問われる思考力はIT技術者には必要です。
確かにベンダー製品を 使用できる スキルは身につかないでしょう。
Linuxを使えるかどうかは「Linuc」や「LPIC」を取ったほうが良いでしょう。
ただベンダー試験のほとんどは知識ベースで暗記で突破できます。
しかし、基本情報技術者試験を暗記だけで突破することはできません。
「FE試験は必要ない」と言っている人はパッと受かってしまってから
苦言を呈するようにしましょう。持っていないのに批判するのはただの負け犬の遠吠えだと言われても仕方ありません。
資格はなんでもそうですが、持っていて損することはありません。
持っていると言わなければよいだけですからね。
加えて、基本情報技術者試験に合格することで「資格手当」(約10,000円)が支給される会社が多いです。
資格手当だけでなく、一時金として10万円ほどもらえることもあります。
総括して、
「知識」「思考力」「資格手当」がメリットです。
基本情報技術者試験(FE)の合格戦略
ITを勉強しようとする人がまず最初に受ける試験であるため、
まず考えるべきことは「知識」のInputです。
FE試験は午前試験・午後試験から構成されています。
午前試験 | 午後試験 | |
---|---|---|
試験時間 | 150分 | 150分 |
出題形式 | 多肢選択式(四肢択一) | 多肢選択式 |
出題数 解答数 |
出題数:80問 解答数:80問 |
出題数:11問 解答数:5問 |
各試験の合格点は60%です。
その中でも「午前試験」は知識ベースで構成される試験となっています。
午前試験はマークシート4択で基礎知識があれば問題なく突破できる試験です。
午前試験の合格戦略(過去問を完璧に)
方法は1つです。出題の多くは過去問題からの流用です。
新規問題も追加されますが、60%を取るためには過去問題のみで可能です。
そのため、過去問題を使用することをお勧めします。
紙ベース・書籍ベースで学習しても構いませんが、
正直言って、午前問題程度のためにお金をかける必要は一切ありません。
以下に示すサイトを使用してみましょう。
このサイトで過去五か年分実施していればまず落ちることはありません。
過去五か年分を完璧にしておきましょう。
テクノロジ系・マネジメント系・ストラテジ系という3分野から出題されます。
IT技術者(特にプログラマ)を目指す人はテクノロジ系で稼ぐのが良いと思います。
マネジメント系・ストラテジ系はなじみが浅く、学習におけるモチベーションが保てない可能性があります。
午後試験の合格戦略(答えまでのプロセス(道筋)を大事に)
午後試験がこのFE試験のヤマと言って良いでしょう。
合否を分けるのはズバリ午後試験です。
どういった試験かというと、
午前問題と比較すると、「知識」よりも「思考力」「論理力」が問われる試験です。
参考書なしに合格することは非常に難しいと思います。
何せ、合格率が低めの要因はこの午後試験にあります。
難易度の差も大きく、午前問題が偏差値40ぐらいの試験とすると午後試験は偏差値55ぐらいの試験だと言えるでしょう。
そのため、午後試験の参考書を用いるのが必須だと思います。
午後試験の参考書は以下に示すものぐらいしかありません。
試験内容は、分野ごとに出題され、全部で5問を解く必要があります。
- 問1 セキュリティ(必須)
- 問2~4 (選択)
- 問5 プロマネ・システム戦略(選択)
- 問6 アルゴリズム(必須)
- 問7~11 ソフトウェア開発(プログラミング) (必須)
問1 セキュリティ(必須)
基礎知識からインシデントの対応などの論理力を問う問題まで出題されます。
しかし、出題のパターンはそんなに多くなく、過去問題でカバーできます。
満点を狙うことが比較的簡単です。
- パケットフィルタリング
- 暗号技術
- 攻撃手法
といったところでしょうか。この3パターンをマスターしておけば、
まず60%を正答率を切ることはないでしょう。
問2~4 (選択)
ここは選択によって、合否に影響を与えるでしょう。
出題されるものは
- ソフトウェア・ハードウェア(多分どちらか)
- コンピュータ・サイエンスを学んだ人にとっては一番得点しやすい分野です。
逆に文系出身者からすれば非常に難易度の高い分野でしょう。
まず考えるべきなのは、ゴリゴリのCSが好きかどうかだと思います。
嫌いなことを学習しても一切身に付きません。過去問題を見てみて「あっ楽しそう」と思える人が向いています。
- コンピュータ・サイエンスを学んだ人にとっては一番得点しやすい分野です。
- データベース
- R02試験では出ない可能性が高いかもしれない。(野生の勘)
でたらラッキーです。得点源です。学生さんが最短ルートで学習できる(学習効率が高い)分野です。
ある程度, SQLを読めるようになれば、すぐに得点できます。
しかし、過去問われていなかったような文法(外部結合やCASE文など)が近年出題されるようになっており、
そのあたりは押さえておく必要があります。
- R02試験では出ない可能性が高いかもしれない。(野生の勘)
- ネットワーク
- 少々難易度が高いです。しかし、ネットワークがある一定ラインより理解が進んでいる人からすれば、
満点が各回コンスタントに狙えます。この問題の選択に関しては「戦略」が必要です。
- 少々難易度が高いです。しかし、ネットワークがある一定ラインより理解が進んでいる人からすれば、
- ソフトウェア設計
- ねらい目です。新規の知識は必要ありません。その場で考えてその場で答えることが可能。
IT技術者の新米さんであれば、多分問題なく得点できるとおもいます。
逆に、学生さんであれば、少々設計手法を学習しておかないと点数に結びつかない可能性があります。
- ねらい目です。新規の知識は必要ありません。その場で考えてその場で答えることが可能。
- プロマネ・システム戦略
- 当たりはずれが激しい分野です。「システム戦略」が出れば比較的得点しやすいが、
「企業と法務」という簿記系の知識が問われる分野が出たときは注意です。
簿記会計を専門的に学んでいないひとは「そっ閉じ」しましょう!
逆に「文系さん」や「IT簿記系の学生さん」は非常に解きやすいでしょう。(日商簿記2級より簡単です。なにせ選択問題ですから!)
また、「プロマネ」に関しても、学生さんや新米IT技術者さんにとってはあまりなじみがありません。
知識がないのにもかかわらず、「コストが~、納期が~」という問題がきてもパッとしないかもしれません。
出題分野をまず確認し、簡単に過去問題を読んで苦手そうならやめておきましょう。
- 当たりはずれが激しい分野です。「システム戦略」が出れば比較的得点しやすいが、
確実にこれを選択するべきというものはありません。
自分が得点しやすい分野を選択すべきです。
また、出題されない可能性もあります。
この5分野から3分野出題され、2分野を選択します。
ただ個人的な優先度(プライオリティ)をつけるとすれば
- データベース
- ソフトウェア設計
- ソフトウェア・ハードウェア
- プロマネ・システム戦略
- ネットワーク
だと思います。脳死して選ぶなら本番上から出題されているものを選ぶと良いでしょう。
アルゴリズム
基本情報技術者試験の難関です。
まずITに精通していない人や、新米IT技術者なら初見で嘔吐を起こし、寝込むと思います。
「わけがわからない」「何をしたいのかさっぱり」と専門学生から何度も地獄のような顔で相談されたことがあります。
まず「疑似言語」の文法は知っているものとしてお話させていただきます。
結構対策が難しい分野でもあるので、そのあたりを詳しくお伝えします。
まず今から皆さんに伝えることはあくまで「基本情報技術者試験」に合格するためのものです。
「プログラミング能力 ≠ アルゴリズムが解ける」と思わないでください。
プログラミングが得意な方であってもアルゴリズムを解くことは苦手な人が多く存在します。
その理由は出題方法にあります。
- 穴抜きであること
- 1から自分でロジックを構築できないこと
プログラミングが得意な方は多分問題文の仕様を読めば自分で1からコードを書くことができるでしょう。
しかし、この試験に限っては試験出題者のロジックをパズルのように当てはめていく必要があります。
過去問題はブラウザのタブで一つ参照しながら次の「解き方」を読んでみてください。
解き方
- 問題文の仕様を理解します。
- 問題文に出てくるテストケース(具体例)を確認します。
テストケース(具体例)がない場合は自分でテストケースを作成します。 - テストケースのInputとOutputの状態を正確に確定させます。
- コードを実行したときにInputとOutputが一致するようにパズルを組み合わせていきます。
- トレースし、テストケースのInputとOutputが一致しているかを確定していきます。
ここでループ処理が出てきている場合はループ回数が少ないテストケースを選択します。
そして、「ループ1回目」および「ループ最終回」に注意をします。
例えば、配列参照エラー(JavaならArrayIndexOutOfBoundsException)など配列の範囲を超えて参照している選択肢を解答している可能性があるからです。
たとえば、掛け算する関数が登場した場合、
テストケースのInput:2、3
テストケースのOutput:6
と決めます。
ここでInputとOutputは仕様から理解してください。ここで間違えていればすべてが終了します。
○プログラム:掛け算(整数型:value1, 整数型:value2)
○整数型:total
total ← 0
■ idx:0, idx < value2, 1
| total ← total + ( a )
■
return total
選択肢
ア:value1 イ:value2 ウ:value1 + 1 エvalue2 + 1
[アの場合]
idx | total | value1 |
---|---|---|
初期値 | 0 | 2 |
0 | 2 | 2 |
1 | 4 | 2 |
2 | 6 | 2 |
3←ループ終了 |
[イの場合]
idx | total | value2 |
---|---|---|
初期値 | 0 | 3 |
0 | 3 | 3 |
1 | 6 | 3 |
2 | 9 | 3 |
3←ループ終了 |
[ウの場合]
idx | total | value1 |
---|---|---|
初期値 | 0 | 2 |
0 | 3 | 2 |
1 | 6 | 2 |
2 | 9 | 2 |
3←ループ終了 |
[エの場合]
idx | total | value2 |
---|---|---|
初期値 | 0 | 3 |
0 | 4 | 3 |
1 | 8 | 3 |
2 | 12 | 3 |
3←ループ終了 |
上記のような場合、一つずつ当てはめて確認すればおのずと「ア」があてはまるわかります。
こんな感じでトレースできるように練習していきます。
ソフトウェア開発(プログラミング)
いわゆるプログラミング言語での出題です。
選択できる言語は、以下5つです。
- C
- コンピュータ・サイエンスを学んだ人におすすめ
- Java
- オブジェクト指向プログラミングが理解できていないと解けません。
1からの学習コストは高いと思われます。
- オブジェクト指向プログラミングが理解できていないと解けません。
- Python
- R02試験よりCOBOL(過去の遺産)から置換された言語です。
出題ついての情報が少ないので、言及することは控えますが、
新設時は受験者の得点率を探っている段階なので、比較的容易な問題になると予想されます。
- R02試験よりCOBOL(過去の遺産)から置換された言語です。
- アセンブラ(CASLⅡ)
- コンピュータ・サイエンスを学んだ人におすすめ
低水準言語は一度理解できてしまえば、無双できます。
しかし、文系の民がとっつきやすいものではありません…
ソフトウェア・ハードウェアが得意な人が選択しましょう。
- コンピュータ・サイエンスを学んだ人におすすめ
- 表計算ソフト
- 表計算ソフトの有名どころはExcelですね。
文系の方でもとっつきやすいと思います。
ただ関数は日本語表記で独自仕様(Excelの関数と対応はしています)です。
- 表計算ソフトの有名どころはExcelですね。
端的にどれを学習すべきかをお伝えします。
- 理系学生(非IT) → C言語
- 理系学生(IT) → アセンブラ
- 文系学生・社会人 → 表計算
- 新米IT技術者 → Java, Python(業務で使用しているものが望ましい)
R02秋期試験・R03春期試験よりスタートしたCBT試験とは?
コロナ禍となり、試験実施方式が変更されました。
会場一括試験となっていた基本情報技術者試験が、
コンピュータを使った分散日程の試験となりました。
それに伴って、試験の内容が一律ではなくなりました。
正直に言うと、試験の難易度が下がったと考えても良いと思います。
その理由は、複数の新規問題を作成するコストが増えてしまうためです。
現に、IPAはコロナ禍の対応に追われて、試験の実施をプロメトリック社にアウトソーシングしました。
そのような状況の中、新規問題を隔週行われている試験で扱うことは不可能に近いのではないかと考えられます。
つまり、過去問題、もしくは別日程で出題された問題を流用している可能性が非常に高いです。
必須選択の「アルゴリズム」は前述のとおり、初見では非常に難易度の高い問題です。
しかし、一度ロジックを理解してしまえば、二度間違えることのないような問題が多いです。
今のコロナ禍に取得するのがベストではないかと思われます。
皆さんの健闘をお祈りしています。