見出し画像

【連載】IT系の資格ホルダーになる! ~基本情報技術者試験~ #7

こんにちは。株式会社PlusWordの志築です。
今回はエンジニアの登竜門として有名な基本情報技術者試験を取り上げます。
登竜門といいながら結構難易度が高く、しっかりとした取り組みが必要な試験で、ハードルが高い分かなり達成感もある、そんな試験です。


◇今が狙い目?合格率が上昇傾向

基本情報技術者試験はCBT形式の導入や試験形式の変更により、近年合格率が上昇傾向にあります。
以前は20%前後を推移していましたが、今現在は40%を超えています。
CBT形式が導入されたことで受験者が学習に取り組みやすくなったことも上昇に寄与していると思いますが、一番はやはり試験形式の変更により学習すべき範囲が明確になった、というポイントが大きくなっていると思います。

試験形式は科目Aと科目Bに分かれています。
科目Aは基本知識を問う問題が主で、テクノロジ・マネジメント・ストラテジといわゆるビジネスパーソンに必要な知識全般が対象です。
この試験範囲は下位レベルの「ITパスポート」と同一で、範囲としてかなりクロスしているので、すでにITパスポートを取得もしくは学習済みであれば土台は準備出来ているといえます。
(ちなみにITパスポートの概要記事もあります)

そして科目Bですが、論理的思考を問ういわゆるプログラミングの問題が出題される理系分野の出題範囲となります。また一部セキュリティ関連の問題も出題されます。

初学者の方が苦労するのはおそらくこの科目Bになると思います。
以下公開されているサンプル問題の抜粋です。

----------------------------------------------------------------------------------

----------------------------------------------------------------------------------

どうでしょうか?

問題文の解釈と対象のプログラムの解読が必要となり、正直なじみのない時点では、問題が何を言っているのかわからない、となるのではないでしょうか。
上記の問題は中くらいのレベルの問題となりますが、スムーズに解くためには、

・関数の知識(引数とは?戻り値とは?)
・配列の知識
・データ型の知識
・プログラム知識(疑似言語の読み解き、if/for/whileなど)
・基本制御構文(順次/分岐/反復)

ざっとこれくらいの知識が必要となります。
基本知識となる科目Aの学習でカバーできる範囲もありますが、プログラム知識などは科目Bの範囲となるので、特化した学習が必要です。

◇科目Bの効率的な学習方法が知りたい!

基本情報技術者試験の講義を行う際に圧倒的に多い質問がこの質問です。

科目Aは範囲は広いが、いわゆる暗記系の学習+過去問題をこなすことで点数が取れるようになってきたけど、科目Bについては4問目くらいから問題の意味すらわからず、呪文のようで頭が痛くなってくるんですが・・・。

こんな感じです。その気持ちすごくわかります。このあたりから熱量が極端に下がってしまう受講生が多くなる傾向にもあります。

でも、せっかくチャレンジを始めてある程度勉強してきたんだからなんとか踏ん張って壁を越えてほしい!

この質問に対しての一番の回答は、
どのプログラミング言語でもいいから、実際に手を動かしてプログラミングをしてみる
ということです。ただし、プログラムの実行環境をPCに構築して地道にプログラムを打ち込んで実行してみる、というのは時間もかかるし、めんどくさそう・・・。
これがリアルな意見でしょう。(私もそう思うと思います)

ではどうするか?

次のアプローチとしては、

解答のプログラムを実際にノートなどに書き写してみる。
そして一行ずつその行が何を処理しているのかを自分の言葉でコメント書きし、徹底的に解析。
そのあとは、その時点で内部がどういう状態になっているかを書き連ねていく。

こういった解析作業のことをトレースというのですが、もうまずはこの地道な作業を一問ずつ行い、パターンと構文を体で覚えこませる、という一見論理的思考とは縁遠い地道な作業が必要になります。

芸術は模倣からというような言葉がありますが、それにちょっと近い感じですね。

まずは基本問題を対象に、基本構文を徹底的にマスターしてください。
仕事や趣味などで実際にプログラミングを行う際は、発想力・創造力が必要となりますが、科目Bの試験では出題されたプログラム文を解釈する能力が問われるので、解答を分解して意味が理解できるというスキルを身に着けるよう意識してみてください。

初めは全く理解できなかった問題に対しても、「あ、そういうことか」とわかる瞬間が必ず訪れます。その達成感をぜひ味わってみてくださいね。

このプログラムの解釈、科目Bのアプローチの仕方はテキストコンテンツでは伝えきれない部分も多いので、また動画などの形で改めて取り上げてみようと考えています。(スキやコメントなどもらえると参考になります)