基本情報技術者試験とは?試験内容・難易度・勉強法を初心者向けに解説
基本情報技術者試験って、そもそも何の試験なんだろう。
名前は聞くけれど、中身はよく知らない。そんな状態ではありませんか?
IT系の資格を調べると必ず出てくる名前なので、気になって検索した人が多いのだと思います。
先に結論をお伝えします。基本情報技術者試験は、ITの土台を一通り理解しているかを国が確かめる試験で、これから技術職として働く人の最初の一歩に向いています。
私はエンジニアとして10年以上、Webシステムの開発や運用に携わってきました。採用の面接に同席することもあれば、新人に何から勉強するかを聞かれることもあります。
その立場から見て、この試験は肩書きのためというより、仕事の共通言語を手に入れるためのものだと感じています。用語が通じるだけで、現場での立ち上がりがまるで違うのです。
この記事では、試験の中身から誰向けなのか、そして合格までの進め方までを順番に見ていきます。
基本情報技術者試験とは、どんな資格なのか¶
まずは正体をはっきりさせておきましょう。ここが曖昧なままだと、受けるかどうかも判断できません。
基本情報技術者試験は、情報処理の促進に関する法律に基づいて行われる国家試験です。運営しているのはIPA、独立行政法人 情報処理推進機構という組織になります。
民間のスクールが独自に出している認定資格ではありません。国が制度として定めている試験なので、合格した事実は会社が変わっても通用します。
位置づけとしては、ITエンジニアの入口にあたる試験です。IPAはこの試験を、高度IT人材となるために必要な基本的知識・技能を持つ人を対象としたものと説明しています。
名前のとおり、基本を広く確かめる試験¶
基本情報という名前は、簡単という意味ではありません。IT業界で働くうえで前提になる知識を、広く確かめるという意味です。
扱う範囲は、コンピュータの仕組みからネットワーク、データベース、セキュリティ、プロジェクト管理、そして経営の考え方まで及びます。ここまで広いのは、ITの仕事が技術だけで完結しないからでしょう。
試験の形を数字で見ておく¶
制度の説明だけでは、実際にどんな試験かがつかめないと思います。形を数字で並べてみましょう。
次の表は、IPAが公開している試験要綱に沿ってまとめたものです。
| 項目 | 科目A | 科目B |
|---|---|---|
| 出題数 | 60問 | 20問 |
| 試験時間 | 90分 | 100分 |
| 出題形式 | 四肢択一 | 多肢選択 |
| 中心となる内容 | テクノロジ・マネジメント・ストラテジの知識 | アルゴリズムと擬似言語、情報セキュリティ |
| 合格の基準 | 1,000点満点で600点以上 | 1,000点満点で600点以上 |
目を引くのは時間の配り方ではないでしょうか。科目Bは20問しかないのに、60問ある科目Aより長い100分が与えられています。
1問あたりに直すと、科目Aが1分半、科目Bが5分です。じっくり考えさせる問題が出る、という設計がここに表れています。
そして両方の科目で600点を超えないと合格になりません。片方だけ得意でも通らない仕組みになっています。
何が問われる試験なのか¶
科目AとBは名前が似ていますが、求められる力はまったく違います。ここを分けて理解しておくと、勉強の組み立てがぐっと楽になります。
科目Aは、知識の広さが問われる¶
科目Aで出るのは、言葉と仕組みを知っているかどうかです。2進数の計算、CPUの動き、データベースの設計、暗号化の方式といった話題が並びます。
覚える量は多いものの、努力が点に変わりやすい領域だと言えます。過去に出た問題を繰り返せば、確実に伸びていく部分です。
初めて聞く用語ばかりで不安になるかもしれません。ただ、同じ用語は別の分野でも顔を出すので、2周目からは急に楽になります。
科目Bは、コードを読む力が問われる¶
一方の科目Bは性格が違います。ここで出るのは、擬似言語と呼ばれる書き方で示された処理を読み、正しい答えを選ぶ問題です。
擬似言語というのは、特定のプログラミング言語に寄らない共通の書き方のことです。試験のために用意された記法だと思ってください。
言葉だけでは伝わりにくいので、実際の形を見てみましょう。次は配列の中から最大値を探す処理です。
○整数型: saidai(整数型の配列: data)
整数型: max ← data[1]
整数型: i
for (i を 2 から data の要素数 まで 1 ずつ増やす)
if (data[i] > max)
max ← data[i]
endif
endfor
return max
矢印で値を入れ、forで繰り返す。慣れれば読めますが、初めて見た人は記号の時点で戸惑うところです。
科目Bが難しいと言われるのは、知識ではなくこの追う作業が求められるからだと思います。暗記の量では越えられない壁がここにあります。
科目Bという科目そのものをもう少し詳しく知りたい場合は、専用の記事にまとめてあります。
【関連記事】基本情報技術者試験の科目Bとは?擬似言語・アルゴリズム対策を初心者向けに解説
擬似言語という言葉自体が初耳だという人は、先にこちらから読むと入りやすいでしょう。
【関連記事】擬似言語とは?IT初心者にもわかる意味・書き方・プログラミングとの違いをやさしく解説
誰向けの資格なのか¶
ここまで読んで、自分に必要かどうかを知りたくなったのではないでしょうか。向き不向きを整理しておきます。
判断の材料になるように、立場ごとに分けてみました。
| こんな人 | 受ける価値 | 理由 |
|---|---|---|
| これからIT業界で働きたい | 高い | 用語と仕組みが一度に揃う。面接でも話が通じる |
| 入社1〜3年目のエンジニア | 高い | 現場で断片的に覚えた知識が体系につながる |
| 情報系の学生 | 高い | 授業の内容と重なる部分が多く、在学中に取りやすい |
| 非IT職だが業務でシステムに関わる | 中くらい | 開発側と話す土台になる。科目Bは負担が大きい |
| すでに数年コードを書いている | 中くらい | 科目Bは有利。科目Aの範囲が新鮮に感じるはず |
未経験だから無理、という話ではありません。実際に私が見てきた中でも、文系出身で入社してから勉強を始めて合格した人は何人もいます。
文系の視点で不安がある場合は、その立場からまとめた記事も用意しています。
【関連記事】基本情報技術者試験は文系でも合格できる?IT初心者向けに勉強法と科目B対策をやさしく解説
資格そのものより、過程で得るものが大きい¶
正直に言えば、この資格を持っているだけで給与が跳ね上がることはありません。手当が出る会社もありますが、そこを期待して受けるものではないと思います。
価値が出るのは、勉強の過程で身につく共通言語のほうです。障害の報告を聞いて意味が分かる、設計の議論についていける、という差は初期のうちほど大きく効きます。
新人と話していて感じるのは、基本情報を通った人は質問の仕方が具体的だということです。どこが分からないかを言葉にできるので、教える側も答えやすい。
これは資格の効果というより、広く一度さらった経験の効果でしょう。そしてその経験は、試験を口実にしないとなかなか作れません。
難易度と、必要な勉強量の目安¶
気になるのは、どれくらい大変なのかという点だと思います。ここは正直にお伝えします。
簡単ではありませんが、才能が要る試験でもありません。手順を守って進めれば、初心者でも十分に届く範囲にあります。
つまずく場所はだいたい決まっていて、多くの人は科目Bの擬似言語で止まります。科目Aは時間をかければ進むので、心配するべきはこちらではありません。
難易度の中身をもっと細かく知りたい人は、分解して解説した記事があります。
【関連記事】基本情報技術者試験の難易度は?初心者がつまずく場所を解説
勉強時間より、擬似言語に触れた日数が効く¶
必要な時間はよく話題になりますが、経験からいうと合計時間より頻度のほうが結果に効きます。週末に3時間まとめてやるより、毎日20分のほうが読む力は伸びるからです。
これは実務でも同じ感覚があります。しばらく触っていない言語のコードは、読むのに時間がかかるようになるものです。
科目Aは詰め込みが効くので、後半に寄せても間に合います。逆に科目Bを後回しにすると、間に合わないまま試験日が来てしまう。
だから最初の一歩は、科目Bに軽く触れておくことをおすすめしています。
受け方と、合格までの進め方¶
制度の面も押さえておきましょう。ここは以前の情報が残っていることが多いので、注意が必要な部分です。
現在の基本情報技術者試験はCBT方式で、会場のパソコンを使って解答します。年に数回の一斉試験ではなく、通年で実施されていて、申し込み時に自分で日程と会場を選ぶ形です。
受験手数料は7,500円(税込)とされています。制度や金額は改定されることがあるので、申し込む前に必ずIPAの公式ページで最新の内容を確認してください。
通年で受けられるという点は、勉強の進め方にも影響します。締め切りが決まっていないぶん、自分で期限を作らないと先延ばしになりがちだからです。
そこで、進め方をおおまかな順番にしておきます。次の流れをたどれば大きく外れることはありません。
| 段階 | やること | 目安 |
|---|---|---|
| 1 | 試験の全体像をつかみ、受験を決める | 数日 |
| 2 | 科目Bの擬似言語に触れ、記号に慣れる | 早めに開始 |
| 3 | 科目Aを1周する(完璧を目指さない) | 全体の半分程度 |
| 4 | 過去問と公開問題で演習を回す | 後半の中心 |
| 5 | 時間を計って本番の形に慣らす | 直前 |
順番で迷いやすいのは2番と3番です。テキストの並び順どおりに科目Aから始めると、科目Bに入る前に力尽きる人が本当に多い。
最初に何をすればよいか具体的に決めたい人は、始め方を扱った記事が役に立ちます。
【関連記事】基本情報技術者試験は何から勉強する?初心者向けの始め方
科目Aと科目Bをどう並行させるかは、勉強法の記事で詳しく書いています。
【関連記事】基本情報技術者試験の勉強法|科目Aと科目Bの進め方を順番に解説
過去問だけで足りるかどうかは科目で変わる¶
演習といえば過去問ですが、ここに落とし穴があります。科目Aは過去問の反復が強く効く一方、科目Bは同じやり方が通用しません。
理由は単純で、科目Bは初見のコードを読ませる試験だからです。答えを覚えても、次に出る問題は別のコードになります。
この違いを知らずに過去問だけを回して、直前に科目Bで詰まる人をよく見かけます。演習の使い分けについては専用の記事があります。
【関連記事】基本情報は過去問道場だけで合格できる?科目Aと科目Bで変わる答え
実務のエンジニアから見た、この試験の意味¶
最後に、現場側からの見え方も書いておきます。受ける意味を納得したうえで始めたほうが続くからです。
科目Aで覚える知識のうち、毎日使うものは正直それほど多くありません。それでも、いざというときに引き出しがあるかどうかで判断の速さが変わります。
たとえば障害の原因を切り分けるとき、ネットワークとデータベースのどちらを先に疑うかは知識の量で決まります。知らない領域は、そもそも疑うことすらできません。
そして科目Bの読む力は、業務そのものです。他人が書いたコードを追い、値の流れを確かめ、想定と違う場所を見つける。私の仕事の中身は、ほとんどこれで説明がつきます。
使う言語がJavaでもPythonでも、この作業は変わりません。擬似言語は言語に寄らないぶん、その共通部分だけを取り出した形になっています。
試験のためだけの記法だと思われがちですが、実際は読む訓練の道具です。だから私は、新人に科目Bを飛ばさないよう伝えています。
擬似言語は、動かしながら覚えるのが速い¶
読み方を知っても、動かす場所がないと擬似言語は身につきません。紙の上のトレースに加えて、実際に動く環境があると理解の速度が変わります。
Giji Academy では、擬似言語のコードを画面上で動かしながら学べます。値がどう変わるかを目で追えるので、自分の読みが合っていたかをその場で確かめられます。
まずは短いコードからで大丈夫です。学習を始める場所はこちらから選べます。
まとめ¶
ここまでの要点を振り返っておきましょう。
基本情報技術者試験は、ITの土台を広く確かめる国家試験です。科目Aで知識、科目Bでコードを読む力が問われ、どちらも600点以上で合格になります。
向いているのは、これからIT業界で働く人と、入社して数年の若手です。資格そのものより、勉強の過程で共通言語が手に入ることのほうが価値があります。
難しさは科目Bに集まっていますが、才能の問題ではありません。早めに擬似言語へ触れて、毎日少しずつ続けることで越えられます。
通年で受けられる試験なので、始めるタイミングは今日でも構いません。まずは最大値を探すコードを一つ読んでみるところから、どうでしょうか。
その一つが読めた時点で、あなたはもう受験者の入口に立っています。