文系で非エンジニアだった僕が、働きながら2ヶ月で基本情報技術者に合格した方法。(午後問題編)

この記事は、初心者が基本情報技術者に合格するための勉強法を紹介しています。

 

さて、前回は午前問題について述べていきました。

今回は難関である午後問題の勉強法について、紹介していきます。

 

午後については、自分の反省点も含めつつ、本番に向けての対策法についても書いていきたいと思います。

 

 

午後問題は午前より5倍難しい

 

基本情報技術者試験は、午前・午後それぞれの問題で6割得点できたら合格です。

午前問題はこの基準をクリアできる人が多いのですが、

問題は午後の部。これがとっても難しいのです。

 

1つ間違えると大惨事

 

午前問題は1問1答形式で、かつ選択肢も多くないため運良く点数が取れることもありますが、

午後問題はそうはいきません。

 

1つの大問の中に小問題がいくつかあり、選択肢はすべての小問題に共通して使うようになっています。

そしてその選択肢がバカみたいに多すぎるので、運任せではまず当たりません!

 

ある小問題が前に答えた小問題の答えを使った問題というのもざらにあるので、

一度答えを間違えると、そこからずるずると間違いが続き、

その大問まるまる点を失ってしまうことも大いにありえます。

 

よって、午前対策で身につけた知識をしっかり定着させることと、

過去問演習で問題の傾向や特徴を掴むことが、午後攻略のキーといえます。

 

できれば1ヶ月はかけたい

 

正直なところ、この午後対策は少なくとも1ヶ月はかけたいところ。

 

非エンジニアの人間が、後述するアルゴリズムの問題を解くのは非常に難易度が高く、

記述内容をしっかり解読できるまで多くの時間を要するからです。

 

僕は午前対策に1ヶ月半もの期間を費やしてしまい、残り半月で午後対策をしましたが、

正直時間がまったく足りず、ぶっつけ本番のような体制で臨んだ大問もありました。

なんとか合格はできたものの、午後問題はかなりギリギリな成績となってしまいました。

 

午前問題の範囲も、1ヶ月で網羅するのは本当にきついですが、

覚え漏れがあったとしてもまずはざっと学習し、少しでも早く午後対策に取り掛かりましょう。

 

使った参考書

 

僕が午後対策に使ったのは1冊の対策本と、ソフトウェア開発問題の対策に特化した参考書。

 

書店に並んでいる参考書って、なぜか午前対策は充実していますが、

午後対策本はあまり本屋に並んでいないんですよね。

 

そんな中、スペシャリストの資格まで取得した兄におすすめの本を聞いたら

こちらの本を薦められて購入に至りました。

 

確かに、解説がかなり充実しており、解説→演習といった流れで

問題演習を通して午後の形式に慣れるところがすごく良かったです。

ただ、文字だらけなので根気強く読む覚悟は必要かと思います(笑)

 

ソフトウェア開発問題対策は、選択した言語に特化した参考書を

 

もう1つはこちら。

 

 

後述しますが、僕はソフトウェア開発問題で表計算を選んだのでこちらの参考書も購入しました。

それぞれの言語は記述の仕方が大きく異なりますので、専門的な対策は必須です。

 

具体的な学習法、対策

 

午後問題は、大問ごとに出題分野が決まっており、それぞれに対する対策が必須です。

 

大問1は確実に正解させる

 

午後問題の大問1は、情報セキュリティ分野から出題される、必須選択問題です。

 

必須回答の問題だからか、そこまで難易度は高くなく、

落ち着いて問題を読み解いていけば満点を目指すことは決して難しくありません。

図に書き込みをして情報を整理しながら、確実に全問正解を狙っていきましょう。

 

また、後半のアルゴリズムやソフトウェア開発問題のためにも、ここは短時間で解答することが求められるので、

演習を重ねて解答スピードを上げるトレーニングをしておきましょう。

 

おすすめの選択問題

 

大問2 〜大問11は、大問6を除いて選択問題となっています。

今年度から形式が変わり、点数配分も変更されておりますので必ずチェックしておきましょう。

 

基本情報技術者試験の試験改正について 2020年から大幅な変更へ

 

大問2〜5の中から2問、大問7〜11の中から1問選択して答えるといった形です。

文系脳の人が、比較的回答しやすいおすすめの分野を挙げていきます。

 

ソフトウェア・ハードウェア

 

機械やPCスペックオタクの方なら、比較的回答しやすい分野です。

ただ、処理時間などちょこちょこ計算問題が出てくるので、そこは注意です。

 

データベース

 

複雑な計算問題がないのがGOOD。

ソフトウェア開発分野で表計算を選択すれば、見た目や考え方にあまり差がないので、難易度も下がります。

参考書によっては載っていない命令文が出てくるので、Google先生に聞きながら学習するのがおすすめです。

 

問5の分野

 

問5の分野(プロジェクトマネジメント、サービスマネジメント、システム戦略、経営戦略、企業と法務)は、昨年度まで2問分に分けられていたのですが、

今年度から1問分に統合されました。

 

この問5は、特に数学が苦手な方は選択必須の分野といえるでしょう。

暗記した内容で大体答えることができますし、工数や費用の計算も公式などを覚えていれば大丈夫。

短時間で解き終わるので、アルゴリズムやソフトウェア開発に時間を割くことができます。

 

ただ、今年度から5分野から1分野のみしか出題されず、どれが出るのかもわからないので、

覚える範囲が増えるのがちょっとネックになるかもしれません。

 

表計算ソフト

 

ソフトウェア開発は、この表計算ソフト一択です。

他の言語に手を出そうものなら問題文を読んだ時点で玉砕です(笑)

 

C言語やJavaといった専門言語はちょっとかじった程度の知識では到底わかりません。

潔く諦めましょう。

 

さて、本題の表計算ソフト、IPAは明言していませんが明らかにExcelのマクロと類似していますので、

趣味でマクロを作ったことがある方なら楽勝かもしれません。

そうでない方でも、記述の仕方は他の言語に比べて圧倒的にわかりやすいです。

 

配点が多くなったので、しっかり対策をしていきましょう。

 

アルゴリズムの対策に命をかける

 

さて、午後問題で最も厄介なのがアルゴリズム。

 

断言しますが、専門職でない人間が見るとまじでワケワカメになる、非常に難易度が高い分野です。

その難しさは、このアルゴリズム分野のみに絞った対策本が存在するほど。

そして何より、これが必須解答問題というのが本当にツライ。

 

ヒロシゲ
ヒロシゲ
今年度から配点の比率も上がりました…

 

 

このアルゴリズムの対策をおろそかにすることは、不合格を意味すると言っても過言ではありません。

捨て問にするとしても、少なくとも半分以上は得点しておきたいところです。

時間と命をかけて、確実に解けるようにしていきましょう。

 

アルゴリズムは「翻訳する」

 

コードの記述をぼーっと眺めると何が何だか一向にわかりません。

これは初めて英語の長文を見るときと同じ感覚だと、僕は思います。

 

つまり、アルゴリズムはコードの「翻訳」がカギとなります。

 

例えば、ループの記述をするとき、必ずループから抜け出すために必要な変数を設定するのですが、

それをただの変数と見るのではなく、

「ループから抜け出すための数字」

といった感じで日本語に直してメモしておくと、コードの解読がはかどります。

同じように、そのループは何のためにかけているのか、If文は、具体的にどんな状態を条件にしているのか、自分が理解できる日本語に直していくと、簡単に正解が見つかるようになります。

 

複雑に見えても、3種類の要素しかない

 

プログラミングにノータッチな人がアルゴリズムの問題に初めて直面すると、

あまりにも複雑に見えて泣きたくなると思います。

 

しかし、プログラミングには3大要素と呼ばれる考え方があり、

どのような大規模で複雑なプログラムでも、

1つ1つのコードは「順次」「分岐」「反復」の3種類でほとんどが分類できます。

  • 順次:変数の代入や変数の出力(表示)
  • 分岐:条件によって処理を変える
  • 反復:同じ処理を繰り返す

その記述は3種類のうちどれにあたるのか、さっきの翻訳作業と共に整理していくと

よりコードの理解が深まります。

 

まとめ

 

いかがだったでしょうか。

 

かなり難しい印象を植え付けてしまったかもしれませんが、

午後問題は基本的には午前問題の知識を活用するものばかりなので、

然るべき対策をすれば絶対に合格できます!

頑張ってください!