2023年4月から基本情報技術者の試験制度が変更されます。
試験制度は変更されるものの科目B(旧:午後問題)の重要さは変わりません。
出題方式は「多肢選択式」で以前と同じですが、データ構造及びアルゴリズムが8割、セキュリティが2割の割合で出題される点が大きく変わっています。
合格基準点は600点以上/1000点満点中、つまり6割以上取れれば合格になります。そのため、データ構造及びアルゴリズムの問題を取りきれば、合格できる試験です。
・データ構造及びアルゴリズムの効率的な勉強方法・対策が知りたい!
このような疑問を持っている、そんなあなたにお伝えしたいと思っています!
基本情報技術者は科目Aと科目Bの2つの試験に分かれていますが、アルゴリズムに関する出題は主に科目Bでされています。
プログラミング(アルゴリズム)に関する問題が出てくるので、このアルゴリズム苦しめられる人が多いことが特徴の試験です。
このページでは、基本情報技術者のアルゴリズム問題を解くコツや、対策の方法について解説していきます!
基本情報技術者試験のアルゴリズム問題の重要性
基本情報技術者試験は2つの試験に分かれており、科目Aと科目Bがあります。
基本情報技術者試験の中でも科目Bが難しいと言われています。
科目Bはデータ構造及びアルゴリズムが8割、セキュリティが2割の割合で出題されます。また、合格基準点は600点以上/1000点満点中です。
データ構造及びアルゴリズムの問題をすべて取りきれば、6割以上の点数を取れるため、確実に合格できます。
そのため、データ構造及びアルゴリズムを制した者が基本情報技術者試験に合格できると言っても良いかもしれません。
ちなみにIPAからも下記のように案内が出ています。
出題数 20 問のうち,評価は 19 問で行い,残りの 1 問は今後出題する問題を評価するために使われる。
分野別の出題数は,アルゴリズムとプログラミング分野 16 問,情報セキュリティ分野 4 問とする。
そもそもアルゴリズムとは?
プログラミング経験があればわかるかと思いますが、まずアルゴリズムとは何なのかというところから見てみましょう。
アルゴリズムとは「ある問題を解決するための手順や方法のこと」です。
入力データを受け取り、それを処理して出力を生成する手続きの流れを定めたもので、決まった手順を踏んで計算を行うことで、意図した結果を得ることができます。例えば、数値を並び替えたり、文字列を検索したりするための手順を定めることができます。
アルゴリズムは、プログラミング言語によって記述され、コンピュータ上で実行されます。プログラマーはこのアルゴリズムを用いて、様々な問題を解決するプログラムを開発することができます。アルゴリズムの知識量がプログラマー・SEの出来を決めると言っても過言ではないかもしれません。
具体的には下記のような問題が出題されます。
問1 次の記述中の "xxxx"に入れる正しい答えを,解答群の中から選べ。
プログラムを実行すると,“ xxxx”と出力される。〔プログラム〕
整数型: x ← 1
整数型: y ← 2
整数型: z ← 3
x ← y
y ← z
z ← x
yの値 と zの値 をこの順にコンマ区切りで出力する
解答群
ア 1,2 イ 1,3 ウ 2,1 エ 2,3 オ 3,1 カ 3,2
※基本情報技術者試験(科目B試験)サンプル問題(60問)セットより抜粋
アルゴリズムの対策方法
基本的なアルゴリズム・データ構造を理解する・覚える
基本的なアルゴリズムを覚えなければなりません。
土台となる知識をまずはインプットしましょう。実際の試験ではインプットした知識を使いこなしていく必要があります。
参考書や基礎テキストなどを使って基本的なアルゴリズムやデータ構造の要素を押さえていきましょう。その後は過去問・問題集等の問題演習を通して、知識をを繰り返し使っていくことで徐々に覚えることができます。
参考書や基礎テキストを読んだだけではよく理解できなかった論点も、実際に問題に取り組んでみることで理解できます。
過去問での演習は絶対必要
プログラミング(アルゴリズム)に関する用語を覚えたり実際の動きについて慣れるためには、過去問を通した実践練習が必要です。
多くの過去問題に触れることで応用力や本番での対応力が身に着くため、過去問題集は合格に近付くための重要なものです。ここで、問題の読み方に慣れたり頻出記号の使われる流れや出題傾向などを頭に叩き込むことで実力アップにつながり、自然と得点アップにも繋がります。
また、慣れてきたら実践感覚を養うためにも、問題を解く際に制限時間を設けて解くことが大事です。
理由は実際のプログラムを読んで回答する際には多くの情報を精査したうえで回答する必要があるからです。
サンプル問題解説はこちら!
keisuke-shikaku.hatenablog.com
おすすめの参考書
個人的には↓こちらが凄いオススメです!(自分は第1版でしたが、、)
私はこの書籍を使って勉強しました。
しっかり読み込むというよりは、過去問を解きながら参考程度にこの書籍をを読むという使い方です。
これ以外にも優しそうな本もいろいろあるので、そちらを買っても良いかもしれませんが、必要な知識が書いていない書籍もあるのでこちらを紹介しています!
今後、プログラミングを行う予定の方はこちらは買っておいて損にはならないものだとも思っています!
最後に...
制度変更に不安に感じる方もいるとは思います。
繰り返しにはなりますが、科目Bはデータ構造及びアルゴリズムが8割出題されます。逆に言えば、データ構造及びアルゴリズムの問題を取りきれば、合格できる試験です。
まずは、データ構造及びアルゴリズムに関する書籍を読破することから初めてみてはいかがでしょうか。
ただ、ナメていると落ちるのが基本情報技術者試験。しっかりと勉強する必要はもちろんあります。
不安が強い方はオンラインスクールの受講等を検討しても良いかもしれません。通信講座では、新制度へ向けた対策コースが設けられていますし、免除制度もうまく使えるかもしれません。