こんにちは、くらくです。
基本情報技術者試験の2019年秋期試験が迫ってきているなか、周りの人も何人か受けるとのことで、去年基本情報を受験し、一発合格した私がどんな勉強をしたのか、ということを書いていきたいと思います。
あくまで、短期間で合格するためにはどういうことをしたか、ということを書いていくため、知識をつけるという名目ではないことをご承知ください。
いつから勉強を始めたか
本格的に勉強を始めたのは2ヶ月前くらいです。
基本情報には午前と午後の二つの部がありますが、2ヶ月前くらいになって、ようやく午後問の対策をし始めたという感じです。
では、それまでは何もしていなかったかというとそういう訳ではなく、電車移動の空き時間などを利用して午前の過去問を解きまくっていました。
逆にいえば、2ヶ月前までは午後問がどのような問題が出るのかとか、時間が何分であるとか、どういう形式なのか、というのは一切知りませんでした。
形式を知る
とりあえず最初にやるべきなのはこれです。
試験の形式をしっかり理解しましょう。公式サイトや過去問集などにこの辺りはしっかり書いてあるので、十分に理解し、無駄な勉強をしないようにしましょう。
ボーダーを知り捨てる問題を考える
基本情報は午前午後共に6割以上取れていれば合格です。逆にいえば、4割落として良い訳です。
その4割の半分以上をしめる、捨てる分野を決めましょう。
そして、絶対にとる分野も決めましょう。
1分野を捨てるのは、あくまで時間を作るためです。捨てるだけでなく、そこから得られる時間を使って、必ず取れる分野を1つ以上作りましょう。
例えば、ネットワークの分野は一般的に難しいと言われます。逆に、データベースの分野は簡単と言われることが多いです。(年度によります)
午後は出題数13問に対して、解答数は7問で良いので、しっかりと事前にどの分野の問題を受けるか決めるのがベターです。
午前について
勉強に使ったもの
まずは一冊問題集なり対策本を買って、さらっと全分野の内容を把握しましょう。
おそらく移動時間のみで読んだとしても、2週間程度で読み終わります。
その後はひたすら基本情報技術者試験ドットコムさんで、過去問を解きまくります。
基本情報の午前問題は半分以上を過去問がしめるので、過去問が解けるようになっていれば、自ずとボーダーを超えられます。
ひたすら解いて、回答を暗記できてしまうほど、解きましょう。
スマホでできるため、あまり苦痛にはならないはずです。(多分……)
より効率的なのは、分野での正答率なども出すことができるので、自分の苦手な分野や、より伸ばしたい分野の部分を、先述した問題集などの該当ページで補強するとより知識が定着します。
語呂合わせなど工夫をして覚える
先述したとおり、午前問は基本覚えゲーなので、覚えにくい部分などは語呂合わせなど、工夫をして覚えましょう。
例を出すと、OSI参照モデルなどは、ア : アプリケーション層、プ : プレゼンテーション層、セ :セッション層、ト : トランスポート層、ネ : ネットワーク層、デ : データリンク層、ブ : 物理層のように頭文字をとって、
「アプセトネデブ」なんて覚えると覚えやすいです。
セッション層は何番目?とか問われる問題が出るので、「ア、プ、セ…だから三番目か!」みたいな解き方ができます。
それぞれに繋がる部分も同時に覚えると効率的です。
午前ができれば午後もできる
午前と午後を切り離して考えている人が多いですが、結局は午前の対策がしっかりできていれば、午後の問題も解くことができます。
ゆえに午前の問題はしっかり解けるようにするべきです。
でも、その午前問の対策が、単純な覚えゲーなんですから、あんまり気を張る必要はないわけです。ただひたすらに過去問を解きまくりましょう!
自ずと結果が付いてきます。
本番のときは
午前問は前座です。ちゃっちゃと終わらせて休憩を取りましょう。
実際に勉強をするとき、一日使って午前と午後の問題をとく、なんてことはあまりしないと思います。なので、しっかりと休憩をとって、ご飯も食べて、午後に臨みましょう。
午後について
試験時間について
基本情報の午後って時間が足りない、とかよく聞きません?
いえいえ、そんなことないんですよ。
結局、何の問題を選択するかをしっかりと決めていれば、時間が足りなくなる、なんてことはあまり起き得ません。特に、練習をしていればなおさらです。
かといって、時間がたっぷりあるわけでもないです。
基本的に30分は残すよう心がけて問題をとき、残り30分を見直しに当てるようにして解くようにしましょう。
とはいえ、本番となるとうまくいかないもので、私も本番はギリギリまで解いていました。
プログラミングの問題はサブを用意しておこう
捨てる問題を作れっていってたのに矛盾してないか?と思われるかもしれませんが、とりあえず、聞いてください。
実際、プログラミングの問題は、一問解けば良いです。
なので、大体の人は一つに絞って試験に挑むわけですが、仮に受ける予定だったプログラミングの問題が全く解けなかったらどうしますか?
午後の問題において、プログラミング問題の配点はかなり高いです。
プログラミングが解けない=落ちたといっても過言ではないです。
つまり、プログラミング問題はほぼ確実に取る必要があります。
なので、プログラミングの問題は2つの言語を解けるようにしておきましょう。
個人的にオススメするのは、C or Javaです。
(今年からPythonも導入される?)
もっといえば、Javaをオススメします。なぜかといえば、Javaが解ける人は大抵Cの問題も解けるからです。
また、Cはポインタがらみの問題が大体含まれますが、Javaはオブジェクト指向っぽい問題が出て、長いコードがかっちりきっちり書いてあるので、言うなれば、答えが問題文に書いてあるわけです。
(逆に私はPythonの問題とか解ける自信がありません……)
私の場合、もともとどちらと決めていなかったのですが、受けた年がCがかなり難しく、模擬問題を解いた際には私より取れていた人が落ちてしまっていました。
幸いなことに、本番の時Cの問題をさっと目を通した時点で、私はJaveに切り替えられたので、点数を取ることができました。(Javaはかなり簡単でした)
表計算を取るという手もありますが、あまりオススメしません。(他の分野に結びつかず、実はそれなりに難しい)
点数を取るならマネジメント系の分野
点数を取りたいなら、ネットワークとかを取らず、マネジメント系の分野の問題を解きましょう。
マネジメント系の分野の問題って、現代文というか現代社会というか、つまりは、問題文に答えが書いてあるわけで、かなりのサービス問題です。
加えていうなら、問題文に答えが書いてあるわけですから、
勉強しなくて良い
んですよね。
だから、この辺りは一通り過去問をさらう程度で、あとはプログラミングの問題の対策をするべきです。
データベースは絶対にとろう
データベースは、他の分野に比べて簡単です。
覚えることも少ないため、解けるようにしておくと良いです。
ただ、私の受けた年はなぜかかなり難しく、半分しか取れませんでした…。
見直しは慎重に
長時間の試験となるため、割と凡ミスをしていることが多かったりします。
なので、残った時間で見直しは慎重に行いましょう。
試験直前に模擬試験を!
上記の基本情報技術者試験ドットコムさんに、模擬試験が2つ用意されてますので、本番のリハーサルも兼ねて、試験直前に腕試しと思って解いてみると良いです。
私も仲間うちで解いてみて、点数を比較しあいました。
まさか、一番低かった私が受かるとは思いませんでした……。
あと、当日の移動時間などに、自分が今までに間違えてきた問題もチェックしておくとも良いです。
さいごに
私が実践した基本情報技術者試験の勉強法としては以上になります。
ひたすらに、過去問、過去問、過去問!って感じです。とりあえず、過去問を解きまくっていればなんとかなります。
適当かと思われそうですが、実際に過去問が出題される以上、これが一番効くんです。
合格率2割程度で難しいイメージを持たれますが、いうほど難しくないです。
空き時間に過去問をとき、解けなかった分野を問題集で復習し、知識をつけていく。
この繰り返しで必ず実力はつきます!