【文系社会人】基本情報技術者試験に知識ゼロから1年で合格するための方法
- 基本情報技術者試験は基本を問う試験ながら挫折する人も多い資格試験
- 問題集を一冊買うなら「基本情報技術者 パーフェクトラーニング過去問題集」
- 文系でも一から学ぶつもりで取り組み、合格できるまで勉強を続ければ合格できる。
- 複雑な数式やアルゴリズムは、簡単な数式や手続きの組み合わせでできている
- 論理的な思考力は問われるが、高校数学や物理や化学の問題は出題されない
- おすすめの勉強比率は科目A:3、科目B:7。科目Bを中心に取り組むと吉
基本情報技術者試験に合格するために、どのように勉強すれば良いか分からず、モヤモヤしている受験生の方も多いのではないでしょうか。この記事では、試験対策で最も重要なポイントを、具体的な勉強方法とともにお伝えします。
経済産業省が認定する国家資格で、知名度も高く、合格するためには、情報技術についての幅広い分野の知識と計算やアルゴリズムについての実践的な技術を身につける必要があります。
私はIT系ではない会社員として働きながら独学で勉強をはじめました。ちょうどコロナの外出自粛やリモートワーク普及の影響で、2020年の資格勉強ブームがあった頃です。
文系(美術系大学)出身、IT業界未経験での挑戦でした。合格は4回目に受験した2023年の8月で、挑戦し始めたのは2020年の7月頃でした。ですので、基本情報技術者試験の合格まで3年かかりました。
2023年8月12日の合格した日につぶやいたツイートはこちらです。
念願の合格でした。基本情報技術者試験 [IT国家資格”)合格しました!!🎉🥳😆✨
— 空井 翔 (@kakeru_sorai) August 12, 2023
合格までの勉強期間
\ 2020年-2023年( 3〜4年 !? ) //
落ち続けて「もう受験を辞めようかな」と思ったこともあったし、進むたびに壁を感じていたけれど、全部乗り越えて合格できた。凄く嬉しい😆✨最後は自分とのたたかいだったな。
ここで読者の方の頭の中を想像してみましょうか。
「え、2、3か月で合格できるっていう記事をみたよ?」
「詰め込めば2週間で合格できるって書いている記事もあったけど?」
私のX(Twitter)のアカウントも、基本情報技術者試験の勉強を始めたタイミングで作ったのですが、一発または数回で合格する人が2割、数年単位で取り組んでいる方2割、アカウントごと消えていく方6割という感じでした。
数か月で合格できた人がいる一方で、普通のIT未経験の会社員の人が挑戦する場合、基本情報技術者試験は難しい挑戦になることを覚悟しておいたほうが良いと思います。
ですが、この記事で紹介する内容を実践し、ポイントを押さえた勉強を進めれば、短期間での合格も不可能ではありません。この記事では、一年で合格する想定の学習メニューと半年ごとの到達目標を用意しました。ぜひ、チャレンジしてみてください。
・・・ところで、この記事は主に「文系出身で、IT経験がなく、これからはじめて基本情報技術者試験を受ける方」向けですが、もしあなたが「すでに受験して落ちたことのある方」や「基本情報技術者試験に落ちて恥ずかしいと思っている方」であれば、私は次のメッセージを送りたいと思います。
とはいえ、そもそも人によって必要な勉強時間が変わるのは当たり前のことですし、そもそも諦めずに勉強に取り組み続けることができること自体が素晴らしいことなので、恥ずかしがる必要なんてないと思うんですけどね。
3年かけて合格した私の考えとしては、知識が曖昧なまま運や要領のよさで短時間で合格した人よりもIT技術のことをより深く勉強出来てよかったと思っています。
それに、勉強の仕方を見直すきっかけにもなりました。1発合格していたり、半年も経たずに合格していたら、仕事に活かせるレベルになれるまで入念にIT技術を学ぶことはなかったでしょうし、自分の勉強の仕方を「このままでいい」と思ってしまって、見直すことはなかったと思いますね・・・。
この記事の目次
おすすめ学習スケジュール(1年想定)
基本情報技術者試験には科目Aと科目Bの試験があります。ここでは、1年で合格を目指すあなたへのアドバイスとして、私の3年間の経験を凝縮した学習スケジュールを提案します。(それぞれの試験を突破するために必要なことは別の章で詳しく解説しています。)
1年で効率的に学習を進めるには、以下のような学習計画を立てると良いでしょう。
▼学習前半(最初の半年):
平日:
・朝の通勤時(1時間):「情報処理教科書 出るとこだけ!基本情報技術者 テキスト&問題集」で各分野の説明を読む
・昼休憩:15分で朝の通勤で学んだところに目を通す
・夜の通勤時(1時間):「情報処理教科書 出るとこだけ!基本情報技術者 テキスト&問題集」で各分野の説明を読む
・帰宅後(1時間):「情報処理教科書 出るとこだけ!基本情報技術者 テキスト&問題集」で各分野の説明を読む。不明点を分かるようにする
週末(土日):
・くつろぎながら「過去問道場」または、「基本情報技術者 パーフェクトラーニング過去問題集」を使って科目Aの過去問の問題の解説をじっくり読みこむ
▼学習後半(最後の半年):
平日:
・朝の通勤時(1時間):「基本情報技術者 パーフェクトラーニング過去問題集」に掲載されている科目Bのアルゴリズム分野の問題の解説をじっくり読みこむ
・昼休憩:15分でも良いので「過去問道場」や「基本情報技術者 パーフェクトラーニング過去問題集」に掲載されている科目Aの過去問に取り組む
・夜の通勤時(1時間):「基本情報技術者 パーフェクトラーニング過去問題集」に掲載されている科目Bのアルゴリズム分野の問題の解説をじっくり読みこむ
・帰宅後(1時間):計算問題やアルゴリズム、セキュリティなどの分野の不明点を中心に振り返る
週末(土日):
・くつろぎながら「基本情報技術者 パーフェクトラーニング過去問題集」に掲載されている科目Bのアルゴリズム分野の問題に取り組み、解説をじっくり読みこむ。受験直前期には、本番と同じ時間配分で科目Bの問題を解いてみる
基本情報技術者試験合格のためのおすすめ参考書
私が実際に使った参考書や問題集について、感想付きでまとめたページがあります。こちらのページをご覧ください。
文系の強みを活かす勉強の進め方
あらためて基本情報技術者試験について考えてみましょう。
この資格は、パソコンが好きな方やプログラミングが合格してみたいと考えがちな試験だと思います。
ですが、試験では、システム構成、ネットワーク、データベース、セキュリティ、プログラミング、アルゴリズム、経営戦略など、幅広い知識が問われます。
単にパソコン操作スキルがあるだけでは合格するのは難しいです。
とくに、文系・IT業界未経験なサラリーマンにとっては難しく感じることは多いかもしれません。
基本情報技術者試験には計算問題やアルゴリズムなどの問題も出ますが、知識を覚えて解くタイプの問題も多数出題されますので、学んだ知識の量や読解力がそのまま得点につながりやすい科目Aや科目Bのセキュリティなどでは文系的な思考が充分に通用します。
「パーツ分け思考」については、後で詳しく説明します。
ただ、安心できる点もあります。それは、高校数学や物理、化学などの知識を要求される問題はほとんど出題されないということです。1から学ぶ覚悟と、諦めない覚悟さえあれば、誰にでも合格するチャンスがあります。
それでは、各科目の具体的な対策について解説します。
科目A試験対策の基本戦略
科目Aでは、システム構成、ネットワーク、データベース、セキュリティ、プログラミング、アルゴリズムなど幅広い分野の基礎知識が問われます。勉強の進め方のイメージとしては、「浅く広く」を意識して進めると良いと思います。私自身も3年間の間に色んな勉強の仕方を試しましたが、3年の試行錯誤のなかで落ち着いた対策としては以下のようになります。
まずは全体像を知ることが大事です。市販の参考書を活用して、各分野の重要用語、概念、理論について、丁寧に理解していくことを重視しながらしっかり勉強しておきましょう。そのうえで問題演習をし、解説を読みながら周辺知識を含めて少しづつ分かるようにしていくことで攻略していきます。
科目A 計算問題が苦手でなくなる「パーツ分け思考」とは?
ド文系で計算が大の苦手だった私ですが、「パーツ分け思考」を編み出してからは長めの計算問題でも自力で解けるようになりました。うまく解ける方は読み飛ばしてもいいですが、計算が苦手でうんざりしている方は是非お読みください。今回の例題はこちらです。
問題をパーツに分ける具体的な方法
①全体の計算式を書く
②計算式を細かく分割する
③分割した計算式の答えを考える
④個別の計算結果を全体の計算式に当てはめて答えを出す
図で表すとこんな感じです。
画像をクリックで拡大します。
それでは「パーツ分け思考」で実際に科目Aの計算問題一つ解いてみましょう。
この問題は、「データ転送速度の問題」です。よく出題される計算問題の一つで、計算問題のやや簡単め~平均的なレベルの問題です。「パーツ分け思考」で解けば難しくありません。
これを一つの計算式に直すと、
画像をクリックで拡大します。
この図のよう解くと、難しい計算問題も整理しながら解くことができます。
①問題文を丁寧に読み、問われていることを計算するための計算式を書く
まず全体の計算式を書き出すことで、問題の構造を明確にしながら全体像を把握します。
今回は、必要な伝送時間が聞かれています。実際の伝送時間を出すには伝送するデータを伝送速度で割ります。
②次に、計算式を細かく分割することで、問題をより扱いやすい小さな部分に分けます。
この計算式は、「伝送するデータ量」と「伝送速度」がわかれば、解くことができます。
③次に、分割した各計算式の答えを個別に考えます。
まず、伝送するデータ量について考えます。伝送するデータ量がバイトのままでは計算できないので、ビットに単位を変換します。
次に、伝送速度について考えます。回線利用率を考慮した伝送速度を出します。
④準備はできましたね、最後に、個別の計算結果を全体の計算式に当てはめて答えを出すことで、問題の最終的な答えを導き出します。
すると
これにて、計算終了です。このように、問題を小さな部分に分けて考えることで、複雑な問題も段階的に解決することができます。
このように、パーツに分けて考える考え方で進めれば、難しい計算問題を簡単に解くことができます。
先ほどの図をもう一度みて終わりにしましょう。
画像をクリックで拡大します。
科目Bアルゴリズム問題対策: 基礎固めで応用力を養う
基本情報技術者試験には科目Aと科目Bがありますが、ここでおすすめの勉強比率をご紹介しましょう。
なぜかというと、科目Bは、アルゴリズムの対策に時間がかかるからです。問題自体も長く複雑なので、様々なパターンを解けるようにするための演習が必要になります。
科目Bアルゴリズムは、疑似言語による記述内容を理解し、プログラムを理解・完成させる技術を問う試験です。合格するためには、疑似言語による記述内容を理解し、プログラムの穴埋めをしたり、変数の値を追いかけられるレベルまで実力を養う必要があります。
疑似言語の基本的な構文や、配列や関数などの概念は、一見簡単なようですが、試験では組み合わせて出題されるので正確に理解しておかなければいけません。基礎ができていればある程度複雑に応用されても理解できます。
試験対策としては、「基本情報技術者 パーフェクトラーニング過去問題集」を利用して、様々な問題に触れていくとよいです。問題を解く際には、以下の点に注意しましょう。
・問題文を丁寧に読む
・解答を論理的に導き出せるようにする(または解説を読んでプロセスを丁寧に理解する)
・間違えた問題は必ず復習する
なお、時間配分を意識することはどんな試験においても重要ですが、アルゴリズムの問題の場合は理解に時間がかかるものが多いです。
私は一日1問、解説を読んで理解することを目標に通勤時間(約2時間)を利用して毎日読み進めていました。最初はアルゴリズムの問題が難しすぎて、暗号文を読み解いているような気分でしたが、一つ一つ理解していくと、プログラムがロジックによって形作られていることに面白さを感じました。
ちなみに私が作ったゲームに、科目Bアルゴリズムの基礎用語クイズというものがあります。アルゴリズム分野でよく出る知識を確認するためのクイズが出題されるので、こちらを解いて基礎用語から復習してみるのもありだと思います。
よく出題されるアルゴリズムパターンと問題演習を行う上でのアドバイス
問題番号の若いシンプルな問題を解きつづけていくと分岐やループ処理、データ構造(配列、リスト、スタック、キューなど)などの基本を徹底的に身に着けることができます。問題番号の若い問題というと、次のような問題です。
画像をクリックで拡大します。
問題番号の若い問題でアルゴリズムそのものに慣れていくと、最初は難しくて歯が立たなかった複雑な問題の解法がだんだん理解できるようになっていきました。
科目Bの攻略法とセキュリティ試験対策
それでは早速セキュリティ分野の対策についてみていきましょう。科目Bセキュリティ試験は、情報セキュリティやリスクに関する知識を問う試験です。知識を網羅的に学ぶ、というよりは情報セキュリティや攻撃手法、リスクについての代表的な事柄について「理解を深める」必要があります。午後時代の過去問を網羅的に解く必要はあまりありません。同じ問題が出ることはあまりないからです。「イメージ&クレバー方式でよくわかる かやのき先生の基本情報技術者教室」で説明されているセキュリティの項目について十分に理解するようにしておけば、そのまま試験対策になります。
なお下記の分野はよく出題されるテーマです。
私が作ったゲームに科目Bセキュリティの基礎用語クイズもあります。こちらは、セキュリティ分野の問題でよく問われる基礎知識を問うものです。セキュリティについて自信がある方も、もう一度勉強してみたい方も、よろしければプレイしてみてください。
私の受験体験記
冒頭で書いたように、私は2023年の8月に3年かけて基本情報技術者試験に合格しました。その過程で得たものは、単なる合格証明書以上のものでした。
私がその受験経験から得たものをこの記事ではシェアしたいと思います。
得たもの①プログラミング技術と論理的思考
私の場合は基本情報技術者試験の合格まで3年かかりました。
今ではPython、VBA、JavaScriptなどの言語でツールを自作し、自分のマーケティング作業の大半を自動化、または効率化しています。また社内のエンジニアの方との連携や、機能実装の依頼の際にも学んだ知識は役立っています。また本業のマーケティングでも、感覚や経験に頼らないロジカルな考え方で仕事できるようになりました。
得たもの②合格するための勉強の仕方を身に着けた
2023/7/30試験の2週間前なので、対策問題を一つ選んで模試形式で取り組んでみた。
— 空井 翔 (@kakeru_sorai) July 30, 2023
以下考察
・科目Aは優先度下げて良いかなと持った。
・科目Bは時間的には余裕があったけれど、些細なミスでも同様に-5点されてしまうのが厳しいと思った。セキュリティは部分点での評価がないので意外に正解できなかった。 pic.twitter.com/UCtfbgdj2b
2023/8/6
科目A、科目Bを続けて解いた。正直、90分+100分をたった10分の休憩のみで解き続けるのは壮絶だった。冷静に解けば解ける問題でも、思考力が限界を迎えていて、途中考えることを放棄したくなる感覚になった。最後まで諦めないことが思った以上に問われていると感じた。あと目薬は必須だなと思った。 pic.twitter.com/jzlYDAfU0k
— 空井 翔 (@kakeru_sorai) August 6, 2023
2023/8/11
科目Bの対策問題を解いた。90%超えと試験対策が仕上がってきた印象。今回は処理の内容を愚直にトレースをして解いた。また、関数を使う処理の穴埋めの問題では数式を手書きしたところに数字をはめて解いた。時間配分に気をつける必要はあるけれど、丁寧に書き出しながら解くのって重要だなと思った。 pic.twitter.com/2BnP3SkvJU
— 空井 翔 (@kakeru_sorai) August 11, 2023
得たもの③失敗や挫折と向き合う強さ
それまで2回ほどは、科目Bのボーダーラインの60点付近で1~2問分の点数が足りなくて落ちていたのですが、そのときは膨大な勉強をしたにもかかわらず科目Bで30点くらいしか点数が取れなくて落ちたのでした。その後は、IPAからの受験案内メールを後ろめたく思いながらメールを無視し続ける日々が2022年12月くらいまで続きました。画像をクリックで拡大します。
それからは結果に向き合い、努力を続けました。初めて勉強をはじめたときの緊張感は薄れましたが、難しくても諦めないこと、毎日少しづつ勉強を続けることを意識して朝の通勤時間、昼の休憩時間、晩の余暇の時間に毎日欠かさず勉強をしていました。