2016年12月4日日曜日

基本情報技術者試験

 はじめに

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

みなさん、お疲れ様です。
今年の4月1日に新卒で入社した中野です!
今回12月5日のアドベントカレンダーを担当することになりました
共有できるような知識量がない為僕自身が専門学生時代で取得した基本情報技術者試験の勉強方法などお伝えできればと思います!

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

 基本情報技術者試験とは

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

情報処理推進機構(IPA)が実施する、情報技術全般の知識を問う試験になります。
論理的思考能力やプログラム作成能力、プログラムテストの実施能力などが問われる試験です。
情報処理技術者試験のうちでも、もっとも受験者数の多い試験でですが、合格率は25%~30%ほどとそれほど高くはありません。

ちなみに28年度受験した人数が下記になります。
応募者数が61,281名、受験者数が44,184名、合格者数が13,418名で、合格率は30.4%です。

基本情報の受験には午前、午後とあります。
まず僕が学生の時に実践した午前の勉強方法の説明をしたいと思います。

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

■ 基本情報:午前

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

まず、基本情報の午前は全80問になります。
1問正解で1.25点。60点で合格となるので48問正解できれば合格できます!
時間としては150分間で80問の問題を解答するので1問あたり1.5分~2分くらいで解いていくことになります。なのでとてもスピードが必要となります!

問題としては4択問題なのでそこまで時間はかかりません。(計算問題でない場合)
例として下記のような問題があります。

H.28秋
問 CPUにおける投機実行の説明はどれか。

ア 依存関係にない複数の命令を、プログラム中での出現順序に関係なく実行する。
イ パイプラインの空き時間を利用して二つのスレッドを実行し、あたかも二つのプロセッサである
   かのように見せる。
ウ 二つ以上のCPUコアによって複数のスレッドを同時に実行する。
エ 分岐命令の分岐先が決まる前に、予測した分岐先の命令の実行を開始する。

この問題の答えはエです。
このような問題を下記手順で勉強していきます。



1.過去問を80問150分で解いてみましょう

下記IPAのサイトに過去試験の問題があります!
https://www.jitec.ipa.go.jp/1_04hanni_sukiru/_index_mondai.html

このサイトで実際の試験の冊子が見れたりダウンロードすることができます。
ここで80問解いてみましょう。

2.間違った箇所を復習

1で間違った箇所を復習しましょう
間違った箇所を復習といっても上記にある例題のように暗記のような問題がとても多いです。
知らなければ間違えるし知っていれば正解することができるものがほとんどです。
なのでほとんどが参考書などを見ての暗記ということになります。
答えだけでなく間違った箇所が何のことを言っているのかも参考書などを見て勉強します。
先ほどの問題は答えがエですがア、イ、ウが何の事なのかも調べます。

ア アウトオブオーダの説明
イ 同時マルチスレッディングの説明
ウ マルチプロセッサシステムの説明

このように参考書などで他選択肢が何のことなのか調べてメモしておきましょう!

僕が使った参考書は下記のものになります。


こちらは年度ごとに更新されていて問題演習ソフトで簡単に過去問をやったりすることができるのでとてもお勧めになります!



基本的にこの二つを繰り返して勉強していきます。
実際の問題には64問が過去の問題でこ残りが新規の問題になります。
過去問を解いて8割りが超えていればほとんど実際の試験の際合格できるかと思います。
実際に自分が勉強していたときは過去問で8割とれていたので難なく合格できました!

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

■ 基本情報:午後

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

基本的に午後試験は午前を勉強していればその知識の引き伸ばしの問題になってきます。
アルゴリズムなど論理的思考が必要となりますが個人的には午前より午後のほうが簡単に思いました笑(暗記が苦手な為)
午後も選択式で解いていく問題もあるため選択肢からの解答が導き出せたりします!


午後は午前と違い選択問題となります

1    情報セキュリティ (必須)
2~4 ハードウェア、ソフトウェア、データベース、ネットワーク 4分野から3分野の出題
5    ソフトウェア設計
6    マネジメント
7    ストラテジ
    データ構造とアルゴリズム (必須)
9    C
10   COBOL
11   Java
12   アセンブラ
13   表計算

【基本方針を決める】

まず基本方針を決めます。(何をメインとするのか)
1番と8番は必須となるのでセキュリティとアルゴリズムの勉強も必須になります。

2~7はこの中から4つ選択します。
2~7に関してはIPAのサイトにて過去問をやってみると問題が把握でき得意なものがわかります。
弱点の分野は捨てる方針で勉強していくのが無難かと思います。
どの問題を選択して勉強していくのかまずは解いてみることがいいと思います。
実際専門学校で勉強していた時は人によって結構異なっていました。

9~13はこの中から1つ選択します。
基本的に選択するものとして得意なプログラミング言語や表計算を選択するかと思います。
僕自身が選択したものとしてはJavaと表計算で実際に試験の時は表計算を選択しました。
プログラミング言語系は難易度がバラつきやすいのか難しいときもあるので表計算も勉強するといいかと思います。

【勉強方法】

勉強方法としては午前と同じ用に過去問をひたすら解いていくことも大事かと思います。
実際の試験では150分で行われるのでしっかり時間を計ってやってましょう。
たぶん最初は時間が足りなかったりわからない問題が多いかと思います。
たくさん過去問をやれば時間配分やわからないところがあれば復習すると解けるようになってきます。

・8~13番の勉強
8~13の問題は配点が高く1問20点になります。
1~7までは12点なので8~13の選択問題を落とすと合格が難しくなります。
重点的に8番のアルゴリズム、プログラミング言語、表計算は勉強するようにしましょう。

・1番セキュリティの勉強
セキュリティは必須となるので暗号化と認証など中心に対策を行います。SSLやPKI、デジタル証明書を含めた認証局(CA)、VPN、ファイアウォールなどの知識ももっておくと楽になります。

・2~7番の勉強
最低でも5文野は勉強するようにしましょう。
2~4番は4分野から3野出題されることになるのでそれも考慮し5分野を最低でも勉強する。
基本的に問題文で説明しているとおりに処理を進めていけば解答が導けるようになっています。
あわてずに問題文をよく読むことが大事になってきます。

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

■ まとめ


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

長々と長文を書いてきましたがまとめると

・過去問をしっかりやり8割は両方取れるようにすること

・参考書がでわからない箇所や専門用語を調べる

・午前は暗記、午後は選択を絞ること

上記3つが大事になってくると思います!
基本的に午前が8割とるのとアルゴリズムができれば合格できると思います。
僕自身が合格した際は両方とも8割取れるように勉強していたので楽に合格できました。

【蛇足】

最後に蛇足になりますが僕自身応用情報を受け1度不合格となっています。
応用情報を受け合格できるように勉強もしたいと思います。
応用情報では記述もあり基本より難しいです(汗)

以上です!
この機会に受験や勉強やってみてください(´∀`)
長文失礼しました!


2 件のコメント:

  1. 基本情報程度はとっておこうと思って早幾年・・・orz
    過去問参考にさせていただきます。

    返信削除
  2. オートマトンだとか論理回路図だとか、実益に結びつかないなどの批判を耳にすることもありますが、私はIPAの試験の受験に向けて勉強することはとても有意義だと思います。
    そういった基本原理を知ってることで、業務上発生する問題についても、点と点が結びつきやすく(あたりがつきやすく)なると実感することがあったからです。

    これから何か受けられようとする方々にも、JavaやDBなどの特定された試験よりも、まずは基本情報、応用情報をおすすめします!

    返信削除