基本情報技術者試験の「アルゴリズムとプログラミング」の勉強方法に悩んでいませんか?
基本情報技術者試験は、令和5年度から通年実施になり、試験内容が大きく変わりました。それに伴い、すべての受験者が「アルゴリズムとプログラミング」の問題を解答しなけれなばならなくなりました。
本記事では、プログラミングを経験したことがない人が、基本情報技術者試験の科目B「アルゴリズムとプログラミング」で6割以上の点数を取るにはどうすれば良いかを解説します。
基本情報技術者試験とは?
基本情報技術者試験とは、独立行政法人情報処理推進機構(以下IPA)が実施している国家試験です。IPAでは、以下のような複数の情報処理技術者試験を実施しています。
基本情報技術者試験は、その中でも、これからITエンジニアとして働く人が知っておいた方が良い知識やスキルを有することを証明する試験です。
(参考:https://www.ipa.go.jp/shiken/kubun/list.html)
基本情報技術者試験は「科目A」と「科目B」に分かれています。
「科目A」では、「テクノロジ系」「マネジメント系」「ストラテジ系」の3つの分野から合計60問出題されます。特に、「テクノロジ系」からの出題が多く、ネットワークやデータベース、セキュリティなどの基本的なIT知識が問われます。
「科目B」では、「アルゴリズムとプログラミング」と「情報セキュリティ」の2つの分野から合計20問出題されます。特に、「アルゴリズムとプログラミング」から16問出題されるため、「科目B」で合格基準の6割以上を取るには、「アルゴリズムとプログラミング」の分野を攻略することは必須です。
以下では、より具体的に、「アルゴリズムとプログラミング」の問題を説明します。
「アルゴリズムとプログラミング」の概要
「アルゴリズムとプログラミング」の分野は合計16問出題されます。
「アルゴリズムとプログラミング」の分野はさらに以下の3つのカテゴリーに分かれます。
- プログラムの基本要素
- データ構造及びアルゴリズム
- プログラミングの諸分野への応用
プログラムの基本要素では、型や変数、配列の使い方やifやfor、whileなどの処理の仕方が問われます。
データ構造及びアルゴリズムでは、スタックやキュー、木構造、グラフ、連結リストなどの理解が問われます。これらのデータ構造やアルゴリズムの知識は「科目A」でも出題されます。ただ、「科目B」では、プログラムのコードから、どのようなアルゴリズムが使用されているかを読み取らなければなりません。
プログラミングの諸分野への応用では、数理・データサイエンス、AIなど最近流行っている分野を題材にした問題が出題されます。
このように、「アルゴリズムとプログラミング」では、基本的なプログラミングの理解が問われます。
以下では、この「アルゴリズムとプログラミング」の問題の対策方法について解説します。
参考:https://www.ipa.go.jp/shiken/syllabus/ps6vr7000000oett-att/fe_kamoku_b_sample.pdf
「アルゴリズムとプログラミング」の対策方法
「アルゴリズムとプログラミング」の対策方法は勉強期間によって変わります。
- 勉強期間が3ヶ月以上の場合→実際にプログラミングの練習をする
- 勉強期間が1〜2ヶ月の場合→プログラミングのコードを読む練習をする
実際にプログラミングを書く練習をする
基本情報技術者試験まで3ヶ月以上の余裕があるなら、プログラミングを書く練習をすることをおすすめします。
基本的なプログラミングスキルを身につけることは、基本情報技術者試験の問題に正答するより難しいです。そのため、自分でプログラムを組めるようになると、基本情報技術者試験に難なく合格できます。
確かに、IT初心者がプログラミングスキルを身につけることは難しいです。しかし、基本情報技術者試験を受験する方の多くは、これからITエンジニアとして働きたい人でしょう。ITエンジニアとして働くには、プログラミングスキルは必須であるため、遅かれ早かれ、プログラミングを勉強する必要があります。どうせ身につけなければならないなら、試験前から練習をしておいた方が良いでしょう。
ただし、IT初心者がプログラミングスキルを一から身につけるためには、多くの時間がかかります。そのため、プログラミングの練習をするのは、試験まで3ヶ月以上余裕がある人のみにしましょう。
例えば、基本的なプログラミングを勉強する方法は以下の3つがあります。
- Progate
- ドットインストール
- Atcoder
Progateは、基本的なプログラミングを勉強できるサービスです。Progateでは、イラストを用いたわかりやすい説明があり、説明の後にすぐ実践できるため、初心者でもプログラミングスキルが身につきやすくなっています。
また、Progateでは、ネット上でプログラムを動かすため、自分のパソコンの環境構築をする必要がありません。本来、プログラミングをするためには、自分のパソコン上で環境を設定する必要がありますが、初心者が設定するのは難しすぎます。しかし、Progeteではサイト上でプログラムを書き、実行できるため、初心者にも勉強しやすいです。
Progateは、レッスンを進めていくには課金をしなければなりません。しかし、最初のレッスンは無料で受講できます。無料で受けられるレッスンだけでも、基本情報技術者試験に合格するレベルのプログラミングスキルは十分身につけられますので、ぜひ利用してください。
Progate公式サイト:https://prog-8.com
ドットインストールでは、プログラミングの方法をわかりやすく説明する動画を提供しています。こちらも、講座を進めていくには課金する必要がありますが、無料で見られる動画だけでも、基本情報技術者試験対策になりますのでこちらも視聴してみてください。
ドットインストール公式サイト:https://dotinstall.com
Atcoderとは、競技プログラミングというプログラミングの正確性やスピードを競うコンテストです。Atcoderでは、基本的なif、while、for文などを使うものから高度なアルゴリズムを実装するものまで幅広い難易度の問題が出題されます。これらの問題は無料で取り組めますので、Atcoderの問題を通じて、プログラミングやアルゴリズムのスキルを身につけられます。
ただ、Atcoderで一通り学習するには、多くの時間がかかります。そのため、まず、Progateやドットインストールの無料部分で勉強して、さらに「プログラミングとアルゴリズム」で8〜9割以上正答したい方のみ取り組んでみましょう。
Atcoder公式サイト:https://atcoder.jp
プログラミングのコードを読む練習をする
IT初心者が勉強期間1〜2ヶ月で基本情報技術者試験に合格したい場合、プログラミングを書く練習から始めると試験に間に合いません。この場合は、プログラミングのコードを読む練習をしましょう。基本情報技術者試験では、プログラムを書く力ではなく、プログラミングを読む力が問われるからです。
例えば、以下の例を見てみましょう。
出典:https://www.ipa.go.jp/shiken/syllabus/ps6vr7000000oett-att/fe_kamoku_b_sample.pdf
この問題は、プログラム中の空欄を解答群から選ぶ問題です。こちらの問題では、それぞれの年齢によって、どの選択処理がされるのかを文章から読み取る必要があります。今回の場合、一番上のifの条件である「年齢が3歳以下」ではないことと、入場料が4歳から9歳までは300円であることから(カ)が正解です。
このように、プログラムを読んでいくには、実際にプログラムの変数に色々な値を代入してみて、どのようにプログラムが動くのかを試してみましょう。
プログラムのコードを読む練習には、試験の形式に合った問題を解くのが最適です。そして、その際、「科目B」に特化した問題集を解くことをおすすめします。基本情報技術者試験は令和5年度から試験内容が大きく変わったため、旧制度の午後試験の過去問を解いても意味がないからです。
例えば、科目Bに特化した問題集には以下のようなものがあります。
大滝みや子 基本情報技術者【科目B】アルゴリズム×擬似言語 トレーニングブック
出典:https://gihyo.jp/book/2023/978-4-297-13519-5
このような科目Bに特化した問題集を解きながら、プログラムのコードを読む練習をしましょう。
『Tech Teacher』3つの魅力
魅力1. オーダーメイドのカリキュラム
『Tech Teacher』では、決められたカリキュラムがなくオーダーメイドでカリキュラムを組んでいます。「質問だけしたい」「相談相手が欲しい」等のご要望も実現できます。
魅力2. 担当教師によるマンツーマン指導
Tech Teacherでは、完全マンツーマン指導で目標達成までサポートします。
東京大学を始めとする難関大学の理系学生・院生・博士の教師がが1対1で、丁寧に指導しています。
そのため、理解できない箇所は何度も分かるまで説明を受けることができます。
魅力3. 3,960円/30分で必要な分だけ受講
Tech Teacherでは、授業を受けた分だけ後払いの「従量課金制」を採用しているので、必要な分だけ授業を受講することができます。また、初期費用は入会金22,000円のみです。一般的なプログラミングスクールとは異なり、多額な初期費用がかからないため、気軽に学習を始めることができます。
まとめ
・魅力1. 担当教師によるマンツーマン指導
・魅力2. オーダーメイドのカリキュラム
・魅力3. 3,960円/30分で必要な分だけ受講
質問のみのお問い合わせも受け付けております。
まとめ
基本情報技術者試験の科目B「プログラミングとアルゴリズム」に絞って説明してきました。
「プログラミングとアルゴリズム」では、プログラムの基本要素、データ構造及びアルゴリズム、プログラミングの諸分野への適用という3つのカテゴリーから出題されます。
基本情報技術者試験まで3ヶ月以上余裕がある場合、自分でプログラミングを書く練習をすることをおすすめします。実際に自分でもプログラムを書いてみることで、基本情報技術者試験の問題で何が行われているかイメージがつきやすくなります。
基本情報技術者試験まで1〜2ヶ月しかない場合、プログラムのコードを読む練習をしましょう。その際、基本情報技術者試験の過去問ではなく、科目Bに特化した問題集を利用しましょう。
プログラミングはIT初心者にとってハードルが高く、本当に自分にできるのか不安に思うこともあるでしょう。しかし、基本情報技術者試験においては、プログラムのコードを自分で書けなくても、問題を丁寧に読み、何が行われているかを理解することで解くことができます。
基本情報技術者試験合格をきっかけにぜひ、ITエンジニアへの道を切り開いてください。