基本情報技術者試験は未経験でも受かる?初心者が最初にやること
IT未経験なのに、基本情報なんて受かるのかな。
周りに詳しい人がいなくて、一人で不安を抱えていませんか?
参考書を開いてみたものの、1ページ目から知らない言葉ばかり。そこで手が止まってしまった、という声はよく聞きます。
先に結論をお伝えします。未経験からの合格はごく普通にあることで、特別な才能は要りません。
私はエンジニアとして10年以上、Webシステムの開発や運用に携わってきました。文系出身で入社した新人が、半年ほどでこの試験に合格していく様子も何度か見ています。
その人たちに共通していたのは、頭のよさではなく進め方でした。未経験の人がつまずく場所はだいたい決まっていて、そこを先回りできるかどうかで結果が変わります。
この記事では、未経験だと何が壁になるのかを整理してから、最初にやることを順番に見ていきます。
未経験でも受かるのか、結論から¶
受かります。ただし、経験者より時間はかかります。
ここを曖昧にすると計画が崩れるので、はっきりさせておきましょう。未経験の人が必要とする勉強時間は、実務経験のある人の2倍から3倍と考えておくのが安全です。
その差はどこから生まれるのでしょうか。答えは、知識の量ではなく前提の有無です。
経験者は、サーバやデータベースという言葉を聞いたときに、実物のイメージが頭に浮かびます。未経験の人はそこから作る必要があるので、同じ1ページを読むのに時間がかかります。
逆に言えば、イメージさえ作ってしまえば差は縮まります。実際に、勉強を始めて2ヶ月ほどで経験者と同じ速度で問題を解けるようになる人もいます。
もう一つ、未経験の人にとって有利な点があります。思い込みが少ないぶん、書いてあるとおりに理解できるということです。
経験者は自分の現場のやり方に引っぱられて、試験の前提と食い違うことがあります。まっさらな状態から始めるのは、思っているほど不利ではありません。
未経験という言葉には幅がある¶
ひとくちに未経験といっても、状況はかなり違います。自分がどこにいるかで、必要な準備が変わってきます。
出発点ごとの違いを表にしました。自分に近い行を探してみてください。
| 出発点 | つまずきやすい場所 | 先に手を打つこと |
|---|---|---|
| IT業界外から、パソコンは日常的に使う | 科目Aの用語全般 | 用語を絵でイメージする習慣を作る |
| IT企業に入ったばかりで実務はこれから | 科目Bの擬似言語 | 早い時期からコードを読む練習を始める |
| 学生で、授業でも触れていない | 科目Aと科目Bの両方 | 期間を長めに取り、毎日短く続ける |
| 事務職などから転職を考えている | 学習を続ける動機の維持 | 目的を紙に書き、短い区切りで進める |
どの行に当てはまっても、合格できないという条件はありません。違うのは、どこに時間を多く配るかだけです。
自分の状況が文系寄りだと感じる人は、そこに絞って書いた記事もあります。
【関連記事】基本情報技術者試験は文系でも合格できる?IT初心者向けに勉強法と科目B対策をやさしく解説
未経験がつまずくのは、科目Bだけではない¶
未経験の壁というと、擬似言語の話ばかりが取り上げられます。ただ、実際に最初に手が止まるのは科目Aのほうです。
科目Aは60問90分で、幅広い分野から知識が問われます。範囲が広いぶん、知らない言葉に出会う回数も多くなります。
一方の科目Bは20問100分で、情報セキュリティが4問、残りの16問がデータ構造とアルゴリズムです。こちらは覚える量が少ない代わりに、読む力が求められます。
未経験の人にとって、この2つは性質の違う壁です。順番を間違えると、どちらも中途半端になってしまいます。
科目Aは、言葉の意味が分からないところから始まる¶
参考書を開いて最初に感じるのは、日本語なのに意味が入ってこないという感覚だと思います。これは知識不足ではなく、単語の中身を知らないだけです。
対処法はシンプルで、分からない言葉が出てきたらその場で調べて、一言で言い換えてみることです。正確でなくて構いません。
たとえばルータなら、通信の行き先を決めて渡す機械、くらいの理解で十分です。粗くても自分の言葉になっていれば、次に見たときに思い出せます。
私も新しい技術に触れるときは、まず自分なりの一言に置き換えます。正確な定義はあとから足せますが、イメージが無いままだと何度読んでも頭に残りません。
科目Bは、コードを読んだ経験がない¶
擬似言語は、プログラミング言語ではありません。試験のために用意された、日本語まじりの書き方です。
だから、未経験だから読めないということはありません。むしろ、書き方のクセを覚えている経験者より、素直に読める場合すらあります。
問題は読む経験の少なさです。コードは上から順に読むだけでは意味がつかめず、値がどう変わるかを追う必要があります。
この追い方は、知識ではなく慣れです。1日1問でも触れていれば、2週間もすると目の動きが変わってきます。
具体的には、変数の名前を見た瞬間に、それが何を数えている入れ物なのかを予想できるようになります。ここまで来ると、長いコードでも迷子になりません。
擬似言語がプログラミング未経験でも解けるのかについては、専用の記事で詳しく書いています。
【関連記事】プログラミング未経験でも科目Bの擬似言語は解ける?必要な考え方を解説します!
未経験から始めるときの、最初の1週間¶
やることが多く見えると、人は動けなくなります。最初の1週間だけは、範囲を思い切り狭めてください。
私が新人に勧めているのは、次のような入り方です。ここで大事なのは、進んだ感覚を早めに得ることです。
| 日 | やること | かける時間 |
|---|---|---|
| 1〜2日目 | 試験の形(科目A・科目Bの問題数と時間)を確認する | 30分ずつ |
| 3〜5日目 | 科目Aの過去問を分野を絞って解く | 1時間ずつ |
| 6〜7日目 | 擬似言語のコードを1本、最後まで追ってみる | 1時間ずつ |
初日から参考書を1ページ目から読み始めるのは避けてください。通読は達成感が出るまでが長く、途中で止まりやすい進め方です。
代わりに、いきなり問題を解きます。分からなくて当然なので、解説を読んで理解する時間のほうを長く取ってください。
参考書は辞書として使う¶
未経験の人ほど、参考書を最初から順に読もうとします。気持ちは分かるのですが、この読み方は効率が悪いです。
問題を解いて分からなかったところだけ、参考書の該当ページを開く。この使い方に切り替えると、読む量が減って理解が深まります。
実務でも同じで、技術書を頭から読むより、目の前の問題に必要な章だけを読むほうが身につきます。困ってから読むと、書いてあることの意味が違って見えるからです。
勉強時間の見積もりや、何ヶ月かかるかの逆算については、別の記事で数字を整理しています。
【関連記事】基本情報技術者試験の勉強時間は何時間?未経験・社会人別に目安と配分を解説
最初の1週間で目指すのは、点数ではない¶
この1週間で正解率が上がらなくても、まったく問題ありません。目的は別のところにあります。
狙っているのは、試験の輪郭をつかむことです。どんな形式で、どのくらいの分量で、どこが自分にとって重いのかが分かれば、そのあとの計画が現実的になります。
未経験の人が計画を立てられないのは、意志が弱いからではありません。中身を知らないものに対して、時間の見積もりを立てられないだけです。
だから、まず触ってみる。1週間触ったあとで引き直した計画は、最初に立てたものよりずっと正確になります。
未経験でも読める、擬似言語の実例¶
言葉で説明するより、実物を見たほうが早いと思います。ここで一つ、簡単なコードを見てみましょう。
配列に入った点数のなかから、合格ラインを超えた人数を数える処理です。プログラミングを知らなくても、日本語として追えるはずです。
○整数型: goukakuNinzuu(整数型の配列: tensuu, 整数型: line)
整数型: kazu ← 0
整数型: i
i を 1 から tensuu の要素数 まで 1 ずつ増やす
if (tensuu[i] ≧ line)
kazu ← kazu + 1
endif
endfor
return kazu
矢印は代入を表していて、右の値を左の入れ物に入れるという意味です。kazu ← 0 は、数える箱を0から始めるという宣言になります。
その下の繰返しが、点数を1つずつ取り出して確かめる部分です。合格ラインを超えていたら箱の数を1つ増やし、最後にその数を返しています。
たとえば tensuu が {60, 80, 45, 90} で line が 70 なら、kazu は 80 のところで1、90 のところで2になります。答えは2です。
このくらいなら追えた、と感じたのではないでしょうか。科目Bの問題は、この考え方の延長線上にあります。
もちろん本番はもっと長いコードが出ます。それでも、値の動きを1行ずつ追うという作業自体は変わりません。
こうした値の動きは、Giji Academyの擬似言語シミュレーターで1行ずつ実行しながら確認できます。紙の上で想像するより、動かして見たほうが理解が早く進みます。
科目Bがどういう試験なのかを一度整理しておくと、対策の的が定まります。
【関連記事】基本情報技術者試験の科目Bとは?擬似言語・アルゴリズム対策を初心者向けに解説
未経験の人が途中でやめてしまう理由¶
合格できるかどうかを分けるのは、才能ではなく続けられるかどうかです。ここは正直にお伝えしておきます。
未経験から始めた人が離脱する場面には、共通する形があります。私が見てきた範囲では、次の3つに集約されます。
| つまずく場面 | 何が起きているか | 抜け出し方 |
|---|---|---|
| 参考書の序盤で止まる | 知らない用語が続いて進んだ感覚が無い | 通読をやめて問題から入る |
| 擬似言語を見た瞬間に閉じる | コードを読む経験がゼロで身構えている | 短いコードを1本、最後まで追う |
| 2週間目に失速する | 伸びが数字に出ず、進み具合が見えない | 解けた問題数を記録して可視化する |
どれも、能力ではなく設計の問題です。進め方を変えるだけで抜けられます。
特に多いのが3つ目の失速です。勉強時間だけを記録していると、増えているのは時間だけで、力が付いた実感が持てません。
記録するなら、解けた問題数や、最後まで追えたコードの本数にしてください。数が増える感覚は、時間の合計よりずっと励みになります。
もう一つ添えると、分からない状態が長く続くのは普通のことです。実務でも、新しい仕組みを理解するまで数週間かかることは珍しくありません。
誰向けの試験なのか¶
そもそも自分が受けるべきなのか、迷っている人もいると思います。この試験は、IT業界で働き始める人や、これから目指す人に向いた内容です。
出題範囲は、プログラミングだけでなく、ネットワーク、データベース、プロジェクト管理、法務まで含みます。現場で耳にする言葉の大半が、この範囲に入っています。
この広さを負担に感じる人もいると思います。ただ、広く浅く触れておくことには意味があります。
自分がどの分野に向いているかは、触ってみるまで分かりません。試験の勉強は、その当たりを付ける機会にもなります。
実務で役に立つ場面は、意外と地味なところにあります。他の職種の人と話すときに、共通の言葉が通じるという点です。
私自身も、設計の相談をするときに相手が基本情報の範囲を知っていると、説明が驚くほど短く済むと感じています。用語の意味をそろえる手間が省けるからです。
だから、開発の仕事に就くかどうかがまだ決まっていない人にも価値があります。IT寄りの職場で働く可能性があるなら、無駄になりにくい知識です。
試験の全体像をもう一度確認したい人は、こちらの記事から読んでみてください。
【関連記事】基本情報技術者試験とは?試験内容・難易度・勉強法を初心者向けに解説
まとめ¶
基本情報技術者試験は、IT未経験からでも合格できます。必要なのは才能ではなく、つまずく場所を先に知っておくことでした。
未経験の人が最初に止まるのは、科目Bより科目Aです。知らない言葉を自分の一言に置き換える習慣を作ると、そこを越えられます。
擬似言語は、経験者のほうが有利とは限りません。読んだ経験の差でしかないので、1日1問を続ければ確実に縮まります。
最初の1週間は範囲を狭めてください。参考書を通読せず、問題を解いて分からないところだけ調べる形が続けやすいはずです。
続けられるかどうかは、意志ではなく進め方で決まります。進み具合が目に見える形にしておけば、途中で失速しにくくなります。
不安なまま立ち止まっている時間が、いちばんもったいない時間です。今日は1問だけでも解いてみましょう。
擬似言語を実際に動かしながら覚えたい人は、Giji Academyの擬似言語シミュレーターから始めてみてください。未経験でも、必ず読めるようになります。