プログラミングと開発方法論と情報セキュリティ(主に初心者向け、言語はC#)、その他、ゲーム、思想等。

開発方法論萌え

プログラミング総論

基本情報技術者の勉強方法

更新日:


本記事では基本情報技術者の勉強方法を解説します。

前提として、初心者向けの解説を行います。実務経験者は対象としておりません。

前提

本記事は、次の記事の続編となりますので、こちらの記事を読んでいない方は先にこちらの記事をお読みください。

基本的に予備校がお勧め

私は合格に3年かかりました。

私がバカなだけかもしれませんが、独学のため勉強方法が迷走してしまったからかもしれません。なので、予備校の利用をお勧めします。

午後をどうするか?

基本情報技術者を受験するにあたり、午後、特にプログラミングの問題をどうするかがよく話題になります。

午後の対策を考える前に、基本情報技術者の午後の科目構成を見てみましょう。

基本情報技術者(午後)の科目構成

  • 情報セキュリティ1問(必須)
  • 選択科目6問中4問選択
  • アルゴリズム1問(必須)
  • 言語問題1問選択
    • C
    • Java
    • Python
    • アセンブラ
    • 表計算

情報セキュリティとアルゴリズムは必須科目なので全員が解くことになります。

言語問題は5問の中から必ず1問を選択して回答する必要があります

6問中4問の選択科目があります。

ここで、言語問題でどれを選択するのかがよく話題に挙がるのです。

それでは考察してみます。

プログラミングをどうするか?

実務経験がある方は、経験のある言語を選べばよいと思います。しかし、この記事の前提は初心者です。

初心者には2つの選択肢があります。

  • プログラミング言語を選択する。
  • プログラミング言語から逃げて表計算を選択する。

よく、初心者には表計算がお勧めされます。

私が受験した頃は表計算の科目が存在していませんでした。そのため、ここから先、ややエアプ発言となりますがご容赦ください。

表計算はお勧めしない

端的に、表計算はお勧めしません。

就職を考えた場合、「午後の言語問題で何を選択したか?」と訊かれることがあります。プログラマで応募しておいて「プログラミングに苦手意識があったので表計算を選びました。」が回答では、話にならないのは明白でしょう。

情報処理=プログラミングというわけではありませんが、プログラミングが分からないITエンジニアが出世して大活躍しているというお話はあまり聞いたことがありません。

ITエンジニアになるために、せっかく試験を受けるのですから、どうせならプログラミングを勉強しましょう。

しかしながら、プログラミングの問題は難易度が高く、対して表計算の難易度は低く、解く時間もかからないと言われています。

では、試験突破だけを考えたら表計算を選ぼうとなるかもしれません。

ですが、私は試験突破だけを考えても初心者が表計算を選択するのは悪手だと考えています。

理由は今から考察します。

アルゴリズムに足をすくわれる

ここで改めて、午後の科目構成を見てみましょう。

アルゴリズムが必須になっています。

アルゴリズムと言うのは、プログラミング言語を使わず疑似言語やフローチャートを使って、理論的思考力を問う問題です。

アルゴリズムと言うのは、プログラミング言語が登場しないだけで、やっていることはプログラミングと変わりありません。

私は色々な受験生を見てきましたが、言語問題で表計算を選択した人に、アルゴリズムを苦手とする人が不思議と多いのです。

既に述べた通り、アルゴリズムはプログラミングなのですから、プログラミングが全く分からないのに解ける問題ではありません。一方では、プログラミングが分かっていれば、何かを暗記する必要が全くないので、サービス問題になります。

そして、再度になりますが、アルゴリズムは必須科目です。基本情報技術者に限らず、必須科目に弱点を抱えたままにしておくと言うのは最悪の受験戦略です。

プログラミング言語を勉強しないのは超絶に非効率

アルゴリズムには疑似言語やフローチャートが登場しますが、これは、プログラミング言語に書き換えることができます。そして、疑似言語やフローチャートに比べるとプログラミング言語の方が遥かに分かり易く簡単なのです。私はアルゴリズムの問題を解くときは、脳内でプログラミング言語に変換しながら解くようにしています。

アルゴリズムが苦手で落ちている人を見ると、プログラミングを勉強すれば良いのに、何を回りくどいことをやってるんだと不思議で仕方がありません。

アルゴリズム専門の参考書まであるそうですが、全く不要です。プログラミング言語の実務書を買ってきてプログラミングを勉強してください。

表計算はどういう人が選ぶべきか?

既にプログラミングの理解があるが、4つの言語のいずれの知識も無く、新しく言語を勉強するのが面倒くさいという人が選ぶべきだと思います。例えば PHP, JavaScript の知識がある人です。

初心者が表計算を選ぶなとは言いませんが、それにしても、プログラミングの学習は必須だと思います。プログラミングの学習をした上で、表計算を選びましょう。

4つの言語の中ではどれを選ぶか?

難易度で言うとアセンブラが簡単だとは言われています。

何か作りたいものが有って学習している等、興味のある言語から選べば良いと思います。

個人的なお勧めはC言語です。C言語の実務書には、アルゴリズムまで深く突っ込んで書かれたものが多く、アルゴリズム対策や午前対策にもなるからです。

参考書はどうするか

本屋へ行き各種言語の実務書を買ってください。ショッピングサイトの★は必ずしもあてにならないことがあるので、実際に見てフィーリングで選ぶのが良いでしょう。

過去問は必要ですが、間違っても過去問だけで突破できるとは考えないでください。

文系だからプログラミング言語を避けます?

「文系なのでプログラミング言語を避けます。表計算を選びます。」とおっしゃる初心者の方がいます。

これは愚の骨頂です。

基本情報技術者レベルであれば、数学や理系の知識は一切必要ありません。まずそこからして誤りがあります。

それに、できるかできないかはやってみないと分かりません。確かにプログラミングは適性の有無が分かれる分野です。しかしやる前から諦めてどうするのでしょう?

やってみたけど全く分からなかったので諦めて表計算で行きますと言うなら分かります。

ITエンジニアは常に新しいことを勉強し続けることが求められます。初手からして新しいことを忌避しているようでは、ITエンジニアには向いていないでしょう。

その他の午後対策はどうするか?

アルゴリズムについては、プログラミング言語を勉強していれば自然と解けるようになるはずなので省略します。

午前が解けるようになったのに、午後が全く解けないとおっしゃる方もいます。過去問を繰り返し解いても分からないようであれば、実務書で勉強することをお勧めします。セキュリティ、ネットワーク、データベース等の分野には定番とされている実務書が存在します。

特に、情報セキュリティは必須科目なので実務書で完璧に理解しておくことをお勧めします。

普通、資格試験は苦手科目を作らないようにするべきなのですが、基本情報技術者の場合は、科目を選択できるので状況が違ってきます。苦手科目を無くすより、得意科目を伸ばして、どんな問題が来ても満点を取れるようにするというのもひとつの戦略です。実務書を読んでおけば容易にそのレベルに達します。

実務書と言うとハードルが高いと感じるかもしれませんが、実際には2日~2週間で読めるものが多いです。受験勉強の期間を半年だと考えると、現実的な投資です。

初見の問題でもいくらか解ける場合は、4年分(8回分)ぐらい過去問を解きます。そうすると、これは前に見たような論点だぞ!というのが出てきます。ここまで来れば合格は目前です。

午前対策をどうするか?

私が受験した頃は、分かり易い参考書が無く、実務書を何冊も読む必要があったのですが、今は「キタミ式」という非常に分かり易い参考書があるそうです。(管理人は未読です。)

これを読んだ上で、基本情報技術者試験過去問道場で、繰り返し演習すれば、合格ラインである6割は取れるでしょう。

また「情報処理教科書」にも過去問が掲載されているのでこちらもお勧めです。

広告

以下、基本情報技術者試験突破に有用であると思われる書籍を掲載します。

  • キタミ式
  • 情報処理教科書
  • データベースの基礎の基礎
  • マスタリングTCP/IP(入門編)
  • マスタリングTCP/IP(情報セキュリティ編)

Amazon さん





まとめ

アルゴリズム対策のためにも午後はプログラミングを勉強してから望むべきです。

その他の午後の問題は、過去問を解いてどうしても分からなければ実務書を読みましょう。

午前対策としてはキタミ式と基本情報技術者試験過去問道場でOKです。

できれば、予備校の講座も視野に入れましょう。

以下、基本情報技術者を扱っている予備校です。


-プログラミング総論

Copyright© 開発方法論萌え , 2020 All Rights Reserved Powered by STINGER.