【2023】基本情報技術者のサンプル問題解いてみた印象
皆さんこんにちは。
この記事をご覧になっている方ならよくご存じのことと思いますが、2023年から基本情報技術者がいろいろな面で変更されることになりましたね。
この新しい試験について(特に科目B)、主に問題の難易度がどのように変わったのか、何となくでいいから知りたいと思っている方も多いと思います。
そこで、今回僕は、IPAから出された科目Bのサンプル問題(全6問)を一通り解いてみましたので、個人的見解が多くなると思いますが、問題の難易度について印象を解説していこうと思います。
全体的に軽く解けるようになった
まず、最初の1,2問を解いてみて、「サクサク解けるな」という印象を受けました。
というのも、これまでの午後試験(科目Bの前身)では、一つ一つの問題を解くのにかなりの長文を読み込む必要がありました。
そして、文が長くなればなるほど問題自体の複雑さも比例していきます。
よって、これまでは解くのにかなり手こずる試験だったといえます。同時に、一問解くのもちょっとした勇気ややる気が必要になるほど、「重たい」試験でした。
しかし、改訂後の科目Bでは、一つの問題の文の量が、午前試験の問題より少し多いくらいに落ち着いており、だいぶ減らされた印象です。
今回僕が試しに解いてみた時も、大したやる気は必要なく、気軽に解き始めることができました。
難易度もだいぶ下がった
問題が解きやすくなったとともに、難易度も下がったように感じました。
最初の数問を解いたとき、初め僕は、元の試験と比べだいぶ簡単になったと感じたのが正直なところです。
そして、徐々に「いやいやいやいや基本情報がこんなに簡単なはずがない」と思い始め、後半の問題がきっとすごく難しくつくられているのだろうという風に疑い始めました。
しかし、最後のセキュリティの問題まで解き切りましたが、最初から最後まであまり難易度が変化することはなく(あ、最初の問題はほんとに知識を問うだけみたいな問題でした)、改訂前と比べるとかなり簡単になったと思いました。
もちろん、死ぬほど簡単というわけではなく、ある程度考えて解く必要があります。特に問5が当てはまり、この問題のように論理的思考が苦手な人には難所となる箇所もいくつかあると思われます。
ただ、相対的に比べると、改訂前の試験と比べてかなり難易度が下がったと感じるのは事実です。
しっかりとプログラミングの問題の対策をしていれば難なく合格点に達するのではないかと思います。
出題分野の構成
出題される分野についても言っておきます。
これまでの試験では、5問中3問自分で得意な分野を選んで回答するという形式でした。
しかし、改訂後の試験である科目Bでは、自分で分野を選択するという方式ではなく、100人が受けたら100人が同じルートの問題を受けるようになっています。
つまり、苦手な分野を避けて極力暗記系に走るという戦略をとる余地がなくなってしまったといえます。
これは、特に文系を得意とする方にとってはネックとなる変更点だといえるでしょう。
また、問題自体の内容も、セキュリティの要素を一部残しつつも全体的にプログラミングをする上での論理的思考を要する問題がほとんどです。
理数系が得意な方にはむしろラッキーな変更だと感じるかもしれませんが、文系が得意な方は相応の対策が必要になってきます。
一応IPAからも問題の構成について発表されており、割合としてはプログラミング8割、セキュリティ2割という目安で問題が作られるとのことです。
全体的に論理的思考を問う形に比重をかけてきているといえますね。
時間配分を考え直す必要がある
時間について言及すると、改訂により問題を解くのにかかる時間が短くなったと感じられましたが、忘れてはいけないのは試験時間もしっかり短くなっているということです。
僕は、今回サンプル問題を解きましたが、6問すべて解き終わるのに33分かかりました。
これについて考えてみますと、
科目Bの出題数は全部で20問なのに対し試験時間は100分ということになっていますので、1問につき5分かけることができるということになります。
つまり、6問解くのに5分×6問=30分で、30分以内に解き終われば良好な時間配分といえると思います。
しかし、僕の場合6問解くのに33分で、少しオーバーしてしまいました。
3分くらいはすぐに取り返せると思われる方もいらっしゃることかと思いますが、時間配分は極力余裕をもって守っていくことが望ましいですので、3分のオーバーでもだいぶ危険だととらえるべきです。
気楽な試験だからといえ、あまりダラダラ問題を解くと意外と間に合わないことがわかります。
一つの問題について考えすぎず、一向に解ける気配がないときはさっさと次の問題に移るなどの対策が必要です。
プログラミングの問題を解くためのアドバイス
新・基本情報技術者試験では、プログラミングの対策をいかにして行うかが重要となっているのがここまででわかったと思います。
ここで、僕から簡単に、プログラミングの問題を解く際に、どのような知識が必要なのかや練習について説明しておきます。
まず、必要な前提知識ですが、変数や配列、if文for文、関数の仕組みと知識までは当然といえますが知っておきましょう。
そこから拡張して、ポインタ、構造体、ライブラリについて知っておくことが問題を解くために前提として必要となります。
とりあえず、これらについて一通り解説されている参考書を購入するか、ネットで調べてみましょう。
言語についてはC言語がおすすめです。
理由としては、試験で出てくる疑似言語は、C言語と互換性があり、考え方が生かせるからです。
ほかの言語でもプログラミング的思考を活かすことはできると思いますが、ポインタや構造体はC言語で学ぶのが最もわかりやすいかと思います。
練習についてですが、過去問を解くことで鍛えましょう。
まだポインタや構造体などの基礎的な技能について知識が定着していない方は、参考書やネットに転がっている簡単な問題や例題を考えることで知識を定着させることを優先させましょう。
基本情報技術者の改訂前の午後試験で、C言語やアルゴリズム・疑似言語といった分野の問題がありますが、これらの問題の過去問を何問か解くことで、プログラミングの問題を解く力を鍛えることができます。
改訂されても焦らない
基本情報技術者が大改訂されたことにより、これまでよりも受かりにくくなったんじゃないか!?と焦られた方もいらっしゃるかと思いますが、あくまで勉強を積んでいれば受かる試験ですので、焦らずに行きましょう。
今回この記事に書いた内容は、大いに僕の個人的な感想が含まれていますので、ここに書かれていることが絶対だとは思わずに、様々な意見も聞いてみましょう。
とはいえ、明らかに解きやすい試験になったといえますので、そこはご安心を。
それでは、基本情報合格を目指して、頑張りましょう。