基本情報技術者合格体験記
はじめに
私は2024年、基本情報技術者試験に合格しました。少し前のことで恐縮ですが、記憶を手がかりにその前後で考えたことをまとめてみようと思います。
本記事では、いわゆる「効率的な勉強法まとめ」というよりも、自分がどのような姿勢で取り組み、どこで躓き、どのように乗り越えたのかを、体験ベースでまとめます。これから受験される方、特に理工系の学生や独学でITを学んでいる方の参考になれば幸いです。
受験のきっかけと、この試験の位置づけ
私がこの試験を受けようと思ったのは、自分のIT知識がどこまで体系化されているのかを確認したかったからです。私は物理学系の学部にいましたので、大学初年度にコンピュータの基本的な仕組みやC言語、アルゴリズム、ネットワーク、データベース、セキュリティの基礎などについて必修の授業で習っていました。ただ、二年生、三年生になるにつれ、使わなかった知識は次第に忘れ、断片化してしまいました。「ITについて最低限の知識を一通りわかっている」と言える自信はまったくありませんでした。
ただし、ここでいう最低限の知識というのは自分の理解のどこに穴があるのか、自分である程度分析できるという程度の意味です。このような最低限の知識がないと、自分より経験のあるエンジニアに分からないところを聞いたり、自分の疑問を文章化してAIに聞いたりする事も難しいのではないかと当時の私は考えていました。基本情報は、全体像を一巡するためのよくできた枠組みだと感じました。
特に理工系大学生にはかなりオススメの試験だと思います。数学にある程度慣れている人であれば、科目Bのアルゴリズム問題は解くことができます。競技プログラミングに出題されるようなアルゴリズムそのものが難しいというタイプの問題はまず出ません。アルゴリズムにおいてはミスをしないということが重要な試験であると思います。苦手な方でも、アルゴリズムは基本をおさえてきちんと訓練すれば、点数は伸びます。
ただ一方で、プログラミング経験がまったくない方にとってはやはり難しい試験ではあると思います。疑似言語を読んで処理の流れを追う作業は、コードを読んだ経験がないと簡単にはできません。
まず試験日を決めた
勉強に終わりはありません。「もう少し理解してから」「もう少し自信がついてから」と思っていると、いつまでも受験しないまま時間だけが過ぎていきます。そこで私は、まず試験日を先に決めました。締切を固定し、そこから逆算して勉強を進めることにしました。
ここで、ではどれくらい先に試験の予定を入れるかという問題が浮上します。私の考えでは、ある程度自信がある方でも、二ヶ月前くらいから勉強を始めたほうが安心だと思います。範囲が広いので、「知っているつもり」の分野に意外と穴があります。実際に問題を解いてみると、理解の曖昧だった箇所が次々と露呈します。
とにかく過去問
合格するには、とにかく過去問に取り組むことが大切です。参考書を読んでいると理解した気になりますが、問題を解くと驚くほど解けません。特に基本情報では問題に「え? なにそれ?」というような難しい単語がでてきて、それで面食らって解ける問題まで落としてしまうことがあります。知らない単語が出てきても冷静さを保つトレーニングをするには過去問に取り組むことが一番だと思います。私は参考書を二週間ほどで一通り読んだ後、ひたすら過去問を回しました。間違えた問題を解説で理解し、日を置いて再度解き、また忘れ、また解く。その繰り返しです。
特に科目Aは過去問との親和性が高く、演習量がそのまま得点に反映されやすいと感じました。また、科目Bも結局は慣れが大きと思います。疑似言語を何度か読み、配列や変数の値を紙に書き出して処理の流れを追うということをぜひしてください。最初は時間がかかりますが、次第に速く読めるようになります。
ネットワーク分野での苦戦
個人的に最も苦戦したのはネットワーク分野です。サブネットマスクやCIDR表記、IPアドレスのビット単位での区切りなど、初学者には馴染みにくい概念が多くあります。
一度、理解を後回しにして丸暗記で進めようとしましたが、後で完全に混乱しました。言葉は暗記も大事ですが、ある程度の応用が効かないと問題が解けないので、概念を理解することも必要です。ネットワーク分野は、じっくり理解しながら進めることを強くおすすめします。そうしないと、参考書の丸暗記になり、精神的にもかなり辛くなります。
合格して思ったこと
受験して本当に良かったなと心から思います。これだけ広い範囲について最低限の知識を学べる試験はあまりないと思います。さらに、この試験にはビジネスに関することも出題されます。ニュースやSNSでも見かける言葉について知ることで、世の中の共通言語がこれまでより少し深いレイヤーで理解できるようになったなと感じました。本当におすすめの試験です。