文系出身でIT知識がゼロであることに社会人として危機意識を覚え、一念発起して基本情報技術者試験を受験してみることにした。思ったよりかなり苦労したのだが、2021年3月末に受験し、何とか合格することができた。以下に、個人的な学習経験とその感想を思いつくままに書いてみることにしよう。
午前問題
全体の内容を網羅するために、まずこちらの本を買って読み進めた。しかし初学者の私にとっては用語の説明が抽象的すぎてわかりにくかった。
そこで、わかりにくい用語については、「「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典」(https://wa3.i-3-i.info/)というウェブサイトを併用して学習を進めた。
あまり100%の理解を求めず、「意味不明だなー」と思ってもある程度は飛ばし読みする適当さも必要だと思った。特に「アルゴリズムとプログラミング」「データべース技術」などに関しては全く頭に入ってこなかったので、別途対策することにした。
一通り参考書を読んで全体像をつかんだ後は、すきま時間を使って、「基本情報技術者試験ドットコム」で午前問題の過去問を分野別に勉強した。解いているとある程度苦手分野がわかってくるが、その分野を繰り返し演習することでだんだん頭に入るようになってきた。
独学の場合、文字を追っているだけでは容易に疲れてしまう。そんな時、気分を変えて勉強するのにYoutubeの動画が役に立った。個人的なおすすめは「文系でもわかる!IT勉強会」というシリーズで、特に情報セキュリティやデータベースの正規化、アルゴリズムなどの部分の解説はわかりやすかった。
午後問題
午後問題は11問中5問選択だが、私にとっては情報セキュリティやネットワーク、プロジェクトマネジメント、システム戦略等の問題は比較的簡単で、午前問題の対策勉強を終えた時点で、少なくとも7割くらいは取れそうだった。
このため、プログラミング言語とアルゴリズム、データベース等の分野を集中的に対策することにした。
データベース(SQL)については、Progateで基本を勉強した。Progateは基礎中の基礎から学習を開始でき、自分でコードを書きながら一歩一歩学習を進められるのでとても重宝した。試験対策という意味ではProgateの内容だけではまだ不十分かもしれないが、まずはこちらで学習を進めるとだいぶ苦手意識が取れる。
Progateを用いたSQLの学習が楽しかったので、続いてJavaなど応用性の高い言語を勉強してみたが、Progateを使っても難しくて途中で挫折しまった。そこで午後問題のプログラミングはJavaを諦めて表計算を選択することにした。
プログラミングの経験が全くなかった私にとって、午後問題のプログラミング言語で一番とっつきやすいのは表計算だったので、こちらの本で対策した。この本は解説がとても丁寧で、一通り勉強すればかなりの問題は解けるようになった。
ただし、表計算は問題文が異様に長く、本当に精神をすり減らされる...。何とか試験前の段階で7割~8割くらいは取れそうな状況に持っていったが、時間と根気との勝負になった。
アルゴリズムは超苦手分野なので、取っ付きやすそうな本を買って勉強を進めた。試験日までに間に合わず6割くらいしか読了できなかったが、最低限の内容が頭に入ったので、試験で取りこぼすことはなかった。この本が伝えようとしている「アルゴリズムの面白さ」を感じられるところまではいかなかったが、また折を見て読み直してみようと思う。
――以上