基本情報技術者試験の勉強時間は何時間?未経験・社会人別に目安と配分を解説
基本情報って、結局どれくらい勉強すれば受かるんだろう。
調べるたびに違う数字が出てきて、かえって不安になっていませんか?
100時間と書いてあるサイトもあれば、200時間必要だと書いてあるサイトもあります。どちらが正しいのか分からないまま、なんとなく勉強を始めてしまった人も多いはずです。
先に結論をお伝えします。必要な時間は今のあなたの経験によって大きく変わるので、他人の数字をそのまま使っても意味がありません。
私はエンジニアとして10年以上、Webシステムの開発や運用に携わってきました。新人が基本情報を受けるときに勉強計画を一緒に組んだこともあります。
そのときいつも言うのは、時間の総量よりも配分のほうが大事だということです。同じ150時間でも、使い方次第で結果はまったく変わります。
この記事では、経験別の目安と、何ヶ月かかるかの逆算、そして科目ごとの時間の配り方を順番に見ていきます。
勉強時間の目安は、今の経験で変わる¶
まず、目安の数字から確認しましょう。ここは断定ではなく、幅として受け取ってください。
IPAが必要な勉強時間を公表しているわけではありません。世の中に出回っている数字は、合格者の体感を集めたものだと考えるのが正確です。
そのうえで、経験別におおよその範囲を整理すると次のようになります。
| 今の状態 | 目安の範囲 | 時間がかかる場所 |
|---|---|---|
| IT未経験・プログラミング未経験 | 150〜200時間ほど | 科目Bの擬似言語と、科目Aの用語 |
| 学習経験あり(学校や独学で少し触れた) | 100〜150時間ほど | 科目Bの読解速度 |
| 実務経験あり(開発や運用に携わっている) | 50〜100時間ほど | 科目Aの暗記分野 |
未経験の人が200時間に近づくのは、覚えることが多いからではありません。擬似言語のコードを追う力が、机上の暗記では身につかないからです。
反対に実務経験がある人は、科目Bで大きく崩れることが少ない代わりに、マネジメントや法務といった普段触れない分野に時間を取られます。
目安を鵜呑みにしないほうがいい理由¶
数字を見ると、つい自分の計画に当てはめたくなります。ただ、この目安には前提が抜けています。
同じ1時間でも、問題を解いた1時間と参考書を眺めた1時間では中身が違います。後者を積み上げても、時間だけが増えて点数は動きません。
だから目安は、あくまで最初の見積もりとして使ってください。2週間ほど進めた時点で、自分の実際の進み具合に合わせて引き直すほうが現実的です。
もう一つ、数字がばらつく理由があります。何を勉強時間に数えるかが、人によって違うからです。
動画を流していた時間や、参考書を持ち歩いていた時間まで含めれば、合計はいくらでも増えます。ここでは、問題を解くか、コードを追うか、手を動かして復習した時間だけを数えてください。
試験そのものの難しさがどこにあるのかを先に知っておくと、見積もりの精度が上がります。
【関連記事】基本情報技術者試験の難易度は?初心者がつまずく場所を解説
何ヶ月かかる?1日の時間から逆算する¶
総時間が決まったら、次は期間です。ここは割り算なので、はっきりした答えが出ます。
仮に未経験の人が150時間を見込むとします。1日1時間なら約5ヶ月、1日2時間なら約2ヶ月半という計算になります。
現在の基本情報技術者試験は通年で随時実施されているので、試験日から逆算するのではなく、自分の準備が整った時期に申し込む形が取れます。ここは以前の年2回だった頃と大きく違う点です。
期間の感覚をつかみやすいように、よくあるパターンを表にしました。
| 1日に確保できる時間 | 150時間に届くまで | 向いている進め方 |
|---|---|---|
| 30分 | 約10ヶ月 | 科目Aの演習を毎日少しずつ |
| 1時間 | 約5ヶ月 | 平日は科目A、休日に科目B |
| 2時間 | 約2ヶ月半 | 科目Bを先に固めてから科目A |
| 3時間以上 | 約1ヶ月半 | 短期集中。演習中心に切り替える |
表を見て気づいた人もいるかもしれません。1日30分だと、10ヶ月という長い期間になってしまいます。
長すぎる計画には副作用があります。最初に覚えた内容を、後半で忘れ直すことになるからです。
現実的なのは、3ヶ月から5ヶ月あたりに収まる形です。それより長くなりそうなら、平日を短く保ったまま休日の枠を増やすほうが効きます。
社会人は平日と休日を分けて考える¶
働きながら受ける人は、毎日同じ時間を確保するのが難しいと思います。無理に平日へ寄せると、続かなくなってしまいます。
私が新人に勧めているのは、平日は軽く、休日にまとめて取る形です。平日は通勤時間に科目Aの一問一答、休日に科目Bの擬似言語をじっくり読む、という分け方です。
擬似言語は細切れの時間と相性がよくありません。コードを最初から最後まで追う作業なので、途中で中断すると変数の値を見失ってしまいます。
逆に科目Aの用語は、5分でも10分でも効果があります。この性質の違いを使うと、限られた時間でも配分が組めます。
科目Aと科目Bで時間の配り方を変える¶
総時間が同じでも、どちらの科目にどれだけ使うかで結果は変わります。ここが冒頭で触れた配分の話です。
現在の試験は、科目Aが60問で90分、科目Bが20問で100分という構成です。どちらも1000点満点で、それぞれ600点以上が必要になります。
問題数だけ見ると科目Aのほうが多いのですが、勉強時間を多く必要とするのは科目Bのほうです。20問に対して100分という時間配分が、その難しさを表しています。
未経験の人であれば、次のような比率から始めるとバランスが取りやすいはずです。
| 科目 | 時間の目安 | 何に使うか |
|---|---|---|
| 科目B | 全体の6割 | 擬似言語のコードを読む練習と、トレースの反復 |
| 科目A | 全体の3割 | 過去問演習と、間違えた用語の復習 |
| 仕上げ | 全体の1割 | 本番形式の通し演習と時間の測定 |
科目Bに6割というのは多く感じるかもしれません。ただ、擬似言語は伸びるまでに時間がかかる代わりに、一度読めるようになると落ちにくい力です。
科目Aは直前でも詰められますが、科目Bは直前に詰めが効きません。だから先に厚く時間を取ります。
順番を逆にした人を何人か見てきました。科目Aで安心してから科目Bに入ると、残り時間が足りずに焦ることになります。
もちろん、科目Aを完全に後回しにするという意味ではありません。毎日15分でも触れておけば、後半の負担はかなり軽くなります。
科目B側の時間の見積もりについては、専用に書いた記事があります。
【関連記事】基本情報の科目B対策に必要な勉強時間は?初心者向けの目安とスケジュールを解説
科目Bの時間は読む練習に使う¶
科目Bに時間を使うといっても、参考書を読み返すことではありません。実際にコードを目で追い、値の動きを紙に書く作業に使います。
イメージしやすいように、勉強時間の積み上げを擬似言語で書いてみます。目標の時間に届くまで、何日かかるかを数えるコードです。
○整数型: nanNichi(整数型: mokuhyou, 整数型の配列: kiroku)
整数型: goukei ← 0
整数型: hi
hi を 1 から kiroku の要素数 まで 1 ずつ増やす
goukei ← goukei + kiroku[hi]
if (goukei ≧ mokuhyou)
return hi
endif
endfor
return -1
このコードで大事なのは、goukei がいつ mokuhyou を超えるかという一点です。ループの中で値がどう変わるかを、1行ずつ表に書き出せるかが問われます。
たとえば kiroku が {2, 1, 3, 2} で mokuhyou が 5 なら、goukei は 2、3、6 と動き、hi が 3 のところで戻り値が決まります。最後まで届かなかったときに -1 を返す部分も、選択肢を絞るときの手がかりになります。
こうした値の追い方は、Giji Academyの擬似言語シミュレーターで1行ずつ動かしながら確認できます。手を動かして確かめると、読むだけのときより定着が早くなります。
慣れないうちは、1問に30分かかっても構いません。速さは後からついてくるので、最初は正確に追いきることを優先してください。
科目Bがどういう試験なのかを整理した記事もあるので、あわせて読んでみてください。
【関連記事】基本情報技術者試験の科目Bとは?擬似言語・アルゴリズム対策を初心者向けに解説
最短で受けたいときに削れるもの、削れないもの¶
できるだけ早く受けたい、という相談もよく受けます。結論から言うと、短縮できる部分とできない部分がはっきり分かれます。
削れるのは、科目Aの網羅です。全分野を均等に埋めようとすると時間がいくらあっても足りないので、頻出分野に絞って回すほうが効率的です。
反対に削れないのは、科目Bの演習量です。ここを圧縮すると、本番でコードを追う速度が足りなくなってしまいます。
短期で仕上げる場合の考え方を、次のように整理しておきます。
| 削っていい | 残すべき |
|---|---|
| 参考書を最初から通読すること | 擬似言語のコードを毎日1問追うこと |
| 出題の少ない分野の深掘り | 間違えた問題の解き直し |
| 複数の教材を並行して使うこと | 本番形式で時間を測る通し演習 |
もう1つ、短期でも省いてはいけないのが通し演習です。1問ずつ解けても、20問を100分で回せるかは別の力になります。
最短を狙うときの落とし穴¶
早く受けたい気持ちが強いと、教材を増やしてしまうことがあります。不安を埋めるために、参考書と問題集とアプリを並行して使う形です。
これは実務でも同じで、選択肢を増やしすぎると判断そのものに時間を取られます。1つの教材を2周するほうが、3つを1周ずつやるより速く仕上がります。
もう一つの落とし穴が、解説を読んで理解した気になることです。読んで納得した問題ほど、翌週に解くと手が止まります。
理解できたかどうかは、何も見ずに同じ問題を解けるかで判断してください。ここを厳しめに見ておくと、直前で慌てずに済みます。
1ヶ月という短い期間で科目Bを仕上げる進め方は、別の記事で日単位まで落として書いています。
【関連記事】基本情報科目Bを1か月で攻略する勉強スケジュール|初心者向け学習計画
勉強時間が積み上がらない人が見直すこと¶
計画を立てても、思ったほど時間が取れないことはあります。そこで自分を責める必要はありません。
多いのは、勉強を始めるまでの手間が大きすぎるケースです。参考書を開き、ノートを出し、前回どこまでやったかを思い出す。この準備だけで10分が消えます。
対策はシンプルで、次に何をやるかを前回の終わりに決めておくことです。座った瞬間に始められる状態を作ると、30分の枠でも中身が入ります。
もう1つは、進み具合が見えないことによる停滞です。時間だけを記録していると、伸びているのかどうか分からなくなってしまいます。
記録するなら、時間ではなく解けた問題数のほうが向いています。数が増えていく実感は、時間の合計よりも励みになるからです。
私も普段の開発で、進み具合を作業時間ではなく片付いた項目の数で見るようにしています。時間で測ると、忙しかった日ほど進んだ気がしてしまうからです。
勉強も同じで、机に向かった長さは成果と一致しません。昨日読めなかったコードが今日読めたなら、それが一番確かな前進です。
試験全体の進め方をもう一度整理したい人は、こちらの記事から確認してみてください。
【関連記事】基本情報技術者試験とは?試験内容・難易度・勉強法を初心者向けに解説
科目Aと科目Bをどの順番で進めるかについては、勉強法の記事で詳しく扱っています。
【関連記事】基本情報技術者試験の勉強法|科目Aと科目Bの進め方を順番に解説
まとめ¶
基本情報技術者試験の勉強時間は、未経験なら150〜200時間、実務経験があれば50〜100時間あたりが一つの目安になります。ただしこれは出発点の見積もりであって、途中で引き直して構いません。
期間は1日に取れる時間で決まります。1日1時間なら5ヶ月ほど、2時間なら2ヶ月半ほどというのが、150時間からの単純な逆算です。
時間の総量より大事なのが配分でした。科目Bに6割ほどを先に振り、科目Aは後半で詰めるという順番が、未経験の人には合いやすいはずです。
そして科目Bの時間は、読むことではなく追うことに使ってください。擬似言語のコードを1行ずつ動かす練習が、いちばん点に直結します。
今日から始めるなら、まず1日にどれだけ取れるかを紙に書いてみましょう。そこから逆算した数字が、あなたにとって本当の勉強時間になります。
擬似言語を実際に動かしながら覚えたい人は、Giji Academyの擬似言語シミュレーターから試してみてください。時間は必ず積み上がります。