応用情報技術者試験にやっと合格できたので、勉強法の改善点を考えてみた

# 受験背景
職業プログラマではないが、大学でコンピューターサイエンスを学んだわけではないので勉強がてら受験してみた。

基本情報技術者を飛ばして応用情報から受験したのは、無勉強状態で基本情報の過去問を解いたところ合格点だったため
（今思えばたまたま合格点だっただけで、これが地獄の始まりだった）
ちなみに疑似言語は表計算を解いた。

1回目受験の時点で、python,JavaScriptの基本的な部分,C言語は入門書を一回読んだ程度の理解度。


# 受験結果
- 1回目

試験をなめて一夜漬けで挑戦。
使用教材：応用情報技術者合格教本

結果：午前が47/80でギリギリ不合格（午後はできた気がする）

- 2回目

午前さえクリアすれば午後はいけるという自信を持つ
先の合格教本を一通り読んだ後、webの過去問道場を過去5回分やる（50時間くらい勉強）
使用教材：応用情報技術者合格教本、[応用情報技術者試験.com](https://www.ap-siken.com/)

結果：午前75%くらい、午後50%くらいで不合格
午後試験終了時に絶対合格してないと確信するくらいできなかった。

- 3回目

三度目の正直ということで試験日40日前から勉強開始(詳細は別項目に記載)
午前は前回と同じ勉強法で、新たに午後用の参考書を購入する
使用教材：応用情報技術者合格教本、[応用情報技術者試験.com](https://www.ap-siken.com/)、応用情報技術者 午後問題の重点対策

結果：午前80%くらい、午後75%くらいで合格


# 試験難易度の印象
「3回目で合格したお前が言うな」といわれそうだが、ネットでいわれているほどは難しくないと思う。
（合格した後の、合格していないひとに対する「簡単だった」マウンティングではありません）


質問サイトで基本情報技術者試験が大学受験でいうとMARCHクラスだと書いてるもの（[https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12121118577](https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12121118577)）や、応用情報技術者試験が東京理科大や上智クラスとしているサイト（[https://uranaru.jp/topic/1032977](https://uranaru.jp/topic/1032977)）がある。
さすがにここまで難しくはないと思う。
今後の受験希望者が上記のような情報で怖気づかないように、恥ずかしいが参考に私の学歴を記載したい。

現在、アラフォー
大学：日東駒専クラスの理学部卒業（一般入試）
センター試験：　数：180、国：120、英：100、化：95、生：80、社：70くらい（単語の暗記が嫌いだった）
地元の国立大学に理学部がなかったため他の国立大学に挑戦するも撃沈


## ではどれくらいの難易度か
午前午後60%が、大学受験でいうと**「センター試験で化学と生物が安定して80点以上とれるくらい」**ではないかと思う。
（午前60%だけならすごく簡単）
計算問題があるがパターンがあり、ある程度の知識があれば初見の問題でもなんとなく解けるところは化学っぽい、記憶量も化学と生物合わせたくらいではないだろうか。

技術士一次試験を受けて合格しているが応用情報と比べればかなり簡単。

印象では下のとおり
**応用情報技術者試験>>技術士一次試験**

## それほど難しくないと思う理由
（午前）
まず、午前の問題の約半分が過去に出題された問題がそのまま出題される。
[応用情報技術者の合格率　その他統計資料](https://www.ap-siken.com/aptoukei.html)
つまり、丸暗記でも半分正解できて、あとの半分の1/4（四択なので）を正解すれば62.5%正解で午前合格。
はっきりいって午前を合格できないのは明らかな勉強不足（過去の私を含む）

応用情報技術者試験での午前合格率は平成27年春でいえば41.6%です。
6割は勉強不足です。

（午後）
5問で問題文が長く、中には難しい設問もある。
しかし、下記の理由である程度の対策は可能だと考える。

- 午前のように過去問とまったく同じ問題はでないが、基本的にどの出題分野もパターンがある
- 必須のセキュリティー以外は選択可能
- 出題範囲の中で難しい設問はそれほど多くなく、簡単なものを取りこぼさなければ60%はとれる
- 午後採点対象者の約半数が午後に合格する。また、午後採点対象者で得点50~59点にかなりの人数がいる

![ITEC_27S.png](https://qiita-image-store.s3.amazonaws.com/0/81959/aa6968c0-d1b6-5bbd-1a15-4d6a04afb094.png)

（出典）[https://www.itec.co.jp/siken/sokuho/2015h/2015hAPcomment.pdf](https://www.itec.co.jp/siken/sokuho/2015h/2015hAPcomment.pdf)

# 私の勉強方法（3回目）
平日1~2時間とスキマの時間、休日はできる範囲。大体100時間くらい勉強した。

（午前）
●(以前勉強していたこともあり）合格教本を一通り読むだけで応用情報技術者試験.comのテストを過去7回分-直近の2回分（5回分）する
●問題、解答を記憶するぐらいやる（多分通して5回分×5回くらいやった）
●IPAのサイトを巡回。特に10大脅威やセキュリティー関係は全部目を通す
●合格教本の中の計算問題を一通り再度チェック
●そろそろ大丈夫と思ったら直近2回分の午前を解く（直近2回の過去問は試験で出題されないので実力テストに使う）
●得点率80%だったため午前の勉強を終了

ここまで勉強時間45時間くらい

（午後）
●過去問を解いて必須のセキュリティ以外の選択分野を決める。選択数は4分野だが、難しい問題があったときのため勉強するのは6分野とした
●優先順位　システム監査＝データベース＞プログラム＝組込みシステム＞サービスマネジメント＝システムアーキテクチャ
<優先順位の根拠>
システム監査：覚えることが少ない。ほとんど国語の問題といえる出題が多い
データベース：意外と覚えることが少ない。出題パターンが少ない。SQLite3を使ったことがあった
プログラム：意外と簡単な問題のときがある。
組み込みシステム：覚えることが少ない。文章理解と論理的思考を問われてパニックにならないように注意
サービスマネージメント：なんとなくいけそう
システムアーキテクチャ：なんとなくいけそう

●「応用情報技術者 午後問題の重点対策」でセキュリティ＋上記6分野を解く。浮気せずにこの参考書だけを学習。直前に再度解説をみる

大体、午後で勉強時間55時間くらい

#　試験当日（平成30年秋）
（午前）
わからない問題もあるがイケてる感じ。計算問題で答えを憶えているものも全問解答後一応検算。計算問題は順調

（午後）
5分くらい問題をざっと眺めて選択する問題を決める。

プログラミングがウェーブレット木でDNA塩基対。文章理解に時間がかかりそうなのでパスする
選択はデータベース、組込み、サービスマネージメント、システム監査にする
システムアーキテクチャはビッグデータの分散処理で面白そうだったが計算がどこまで面倒か見積もれないのでパス
全然選択肢になかったが、情報システムが継続的インテグレーション（JenkinsとかCircleCIとかのこと）で面白そうだったが最初の設問がわからなかったのでパスした

データベースでSQLを直書きさせる問題が出て「GRANT」が出てこなくてテンパる（SQLite3にGRANTはない）
結局悩んだ末、「GANT」と解答し間違える
(できていないと感じたが、解答速報で採点するとSQLは得点率80%を超えていた)

組込みのバグの問題はいい問題だと思った

# 改善点と今後受験する方へのアドバイス
## 学習時間
よくネットでも挙がっている質問です。
はっきりいってこれは**個人によってだいぶ差がある。**

基本的には、過去問を解いて自分の現在の理解度を確認し、学習時間を逆算するべき。
しかし、上でも述べたように勉強不足の受験者が多いため、**受験する気になった瞬間から勉強する**ことをおススメします。

また、どんなに遅くとも受験申込をする2か月前くらいから徐々に取り掛かったほうがいいでしょう。
**短時間で合格できたことを自慢するのではなく、計画的かつ戦略的に学習して合格したことを自慢しましょう**（自戒の念を含む）

私見ですが、知識ゼロからなら合格まで余裕をもって300時間くらいは掛かると考えたほうがいいかと思います。

あと、基本情報技術者から受験することを強くおススメします。
基本情報技術者はアルゴリズムとプログラムがあるからと文系の方が避ける気持ちもわかりますが、しょせん選択の穴埋めです。記述式の応用情報に比べれば簡単です。

## 午前勉強法
**基本は過去問**

合格のみを目指すなら安定して80%くらいとれれば十分です。
合格教本をざっくり流して、過去問を解きながら詳しく知りたいところがあれば合格教本を見返す（時間がない場合はいきなり過去問を解いたほうが得点につながります）
[応用情報技術者試験.com](https://www.ap-siken.com/)を活用しましょう。

私は過去5回分＋直近2回分をやりましたが、心配な方は10回分くらいやることをおススメします。

合格教本は最初の基礎理論とアルゴリズムに時間が掛かるので、挫折しそうならとりあえず読み飛ばしOKです。
合格のみに執着するなら、苦手なところは無視して、得意分野でしっかり得点できるようにするのもアリだと思います。

特に午後に選択する分野はしっかりやりましょう。

そして上にも挙げた通り、IPAのサイトチェックも忘れずに。

●改善点
過去問を古い順に解き、最近の出題傾向を調べる。
例えば、CDN、SaaS、仮想通貨などの流行りの技術の問題が増えています。
流行りの技術はネットニュース（[https://www.publickey1.jp/](https://www.publickey1.jp/)など）や、有名プログラマのtwitter（にゃーんとかしかtweetしないひともいるで注意）などで情報入手しましょう。


## 午後勉強法
**得意分野の選択＋選択分野の知識＋出題パターンの過去問分析**

早めに自分に合った選択分野を決めること。
私は暗記が苦手なので、憶えることが少なく得点がとりやすそうな分野を選びました。
データベースは憶えることが意外と少ないのでおススメします。

基本的に国語の問題が結構あります。
文章中の言葉を使って解答したり、文章から問題を把握し改善案を解答するものが多いです。
そのため、**午後用の問題集を購入することを強くおススメ**します。
解説が丁寧な問題集をじっくり読みこんで解法のプロセスを理解しましょう。

●改善点
試験時に時間が少し足りなかった。
文章を読む練習が不足していたと実感しました。
問題集以外の過去問を解いてもよかったかもしれません。

SQLでテンパりましたが、予備校の解答速報をみると上の「GRANT」は配点が1点だった。
事前にある程度の配点を知っておくのもいいかもしれません。