薄いブログ 〜全てが薄い〜

だいたい酔った勢いで書いてる

3週間だけ勉強して応用情報技術者になった

応用情報技術者試験に合格しました!

 

IT系のエンジニアでなければ耳慣れない資格だと思うのですが

要はこんなやつです:

 

情報処理技術者試験は、情報処理の促進に関する法律に基づき経済産業省が、情報処理技術者としての「知識・技能」が一定以上の水準であることを認定している国家試験です。
 情報システムを構築・運用する「技術者」から情報システムを利用する「エンドユーザ(利用者)」まで、ITに関係するすべての人に活用いただける試験として実施しています。特定の製品やソフトウェアに関する試験ではなく、情報技術の背景として知るべき原理や基礎となる知識・技能について、幅広く総合的に評価しています。

 

 

合格率は20%くらいです。

 

僕はエンジニア歴3ヶ月、勉強を始めたのは試験3週間前

 

・IT系の知識が全く無いところからのスタート

・ほとんど時間がない

 

という状況で受験することになりました。

 

正直、まったく資格には興味がなかったのですが

会社が受験料を補助してくれるのと、少しお祝い金が出るので

お金に釣られて頑張りました。

 

やるからには受かりたかったので、

それなりに勉強法を工夫して、選択と集中を徹底しました。

 

これから応用情報試験を受ける人に少しでも役立つよう、

折角なのでまとめようと思います

 

 

というのが建前で

小学校の頃に「俺全然勉強してないけどテスト100点とっちゃったぜ〜」

とか自慢してくるクソガキが一人は居ましたよね?

 

今からアレをやろうとしています。

 

日頃ストレスやヘイトが溜まっている方は

ドヤ顔で打鍵する僕の文章を読むだけでムカムカすると思うので

カピバラの入浴動画でも見て、そっとブラウザを閉じてください。

 

www.youtube.com

 

 

 

 

 

 

 

 

勉強の進め方

  • 現在地と目標の差を知る
  • 狙う科目を絞る(前半)
  • 狙う科目を絞る(後半)
  • 暗記効率をあげる

 

 

現在地と目標の差を知る

 

まず応用情報の合格条件を知ることから始めます。

 

試験は前半・後半に分かれていて

前半は単一選択問題(80問)、

後半は単一選択と自由記述の混合問題(10問のうち5問を選択)です。

 

合格条件:

・前半 -> 60%以上の正答率

・後半 -> 60%以上の正答率

 

意外と低いですね。60%以上の得点は基本的に無駄なので、7割程度の正答率がコンスタントに出せるようになれば、前半の勉強は切り上げても良いのではないでしょうか。

 

合格点を知った後、まずは一度過去問を受けてみます。

以下のサイトが使いやすかったです。

 

応用情報技術者 過去問題解説(平成29年春期)|応用情報技術者試験.com

 

 

ちなみに勉強1日目の成績は16/80でした。

これでも思ったより当たったな、という印象でした。

 

 

 

狙う科目を絞る(前半)

 

前半の試験項目は以下の通りです。

 

 

 

1.基礎理論

(離散数学応用数学情報理論・通信理論・計測制御理論)

2アルゴリズムとプログラミング

(データ構造・アルゴリズム・プログラミング・プログラム言語・マークアップ言語など)

3.コンピュータ構成要素

(プロセッサ・メモリ・バス・入出力デバイス・入出力装置)

4.システム構成要素

(システムの構成・システム評価指標)

5.ソフトウェア

(オペレーティングシステムミドルウェアファイルシステム・開発ツール・オープンソースソフトウェア)

6.ハードウェア

(ハードウェア全般)

7.ヒューマンインターフェイス

(ヒューマンインターフェイス技術・インターフェイス設計)

8.マルチメディア

(マルチメディア技術・マルチメディア応用)

9.データベース

(データベース方式・データベース設計・データ操作・トランザクション処理・データベース応用)

10.ネットワーク

(ネットワーク方式・データ通信と制御・通信プロトコル・ネットワーク管理・ネットワーク応用)

11.セキュリティ

(情報セキュリティ・情報セキュリティ管理・セキュリティ技術評価・情報セキュリティ対策・セキュリティ実装技術)

12システム開発技術

(システム要件定義・システム方式設計・ソフトウェア要件定義・ソフトウェア方式設計・ソフトウェア詳細設計・ソフトウェア構築・ソフトウェア結合/ソフトウェア適格性確認テスト・システム結合/システム適格性確認テスト・導入・受入支援・保守・廃棄)

13.ソフトウェア開発管理技術

(開発プロセス手法・知的財産適用管理・開発環境管理・構成管理・変更管理)

14.プロジェクトマネジメント

(プロジェクトマネジメント・統合マネジメント・ステークホルダマネジメント・スコープマネジメント・タイムマネジメント・コストマネジメント・品質マネジメント・資源マネジメント・コミュニケーションマネジメント・リスクマネジメント・調達マネジメント)

15サービスマネジメント

(サービスマネジメント・サービスの設計/移行・サービスマネジメントプロセス・サービスの運用・ファシリティマネジメント)

16.システム監査

(システム監査・内部統制)

17.システム戦略

(情報システム戦略・業務プロセス・ソリューションビジネス・システム活用促進・評価)

18.システム企画

(システム化計画・要件定義・調達計画・実施)

19.経営戦略マネジメント

(経営戦略手法・マーケティング・ビジネス戦略と目標・評価・経営管理システム)

20.技術戦略マネジメント

(技術開発戦略の立案・技術開発計画)

21.ビジネスインダストリ

(ビジネスシステム・エンジニアリングシステム・e-ビジネス・民生機器・産業機器)

22.企業活動

(経営組織論・OR/IE・会計財務)

23.法務

(知的財産権・セキュリティ関連法規・労働関連/取引関連法規・その他の法律/ガイドライン/技術者倫理・標準化関連)

 

 

ここから、まずは過去問を漁って

分野毎の出題率を集計しました。

こんな感じです:

 

f:id:shun10982:20171223102655p:plain

 

セキュリティだけで前半問題の20%を占める、

ヒューマンインターフェース、マルチメディアはほぼ1問しか出ない、などなど

どの分野が大切なのか確認します。

 

試験に合格することを目標と置くならば、

ヒューマンインターフェースは学ぶ意味がなく、

セキュリティ〜基礎理論の5分野を学ぶだけで

目標とする正答率60%は達成できることがわかります。

 

5年以内に焦点を置いているのは

試験の出題傾向が直近と過去だと違いそうなので

今後どの分野がより増えそうか予測するためです。

アルゴリズムなどは、最近の出題頻度が落ちているのがわかります。

 

というわけで僕は

 

セキュリティ

データベース

システム構成要素

ネットワーク

基礎理論

 

この辺りを重点テーマに置きました。

特にセキュリティは後半の必須回答問題になっているので、最優先です。

 

 

 

 

狙う科目を絞る(後半)

 

 

セキュリティの他に4分野を選ぶ必要があるため、どの分野を学ぶか決めましょう。

 

ただ後半問題は、前半問題より出題傾向が読みにくい気がします。

 

同じセキュリティの問題であっても

年度によってマルウェア対策だったり、インシデント対策だったり...

  

なので比較的バラつきが少ない分野にあたりをつけましょう。

 

 

・システム監査

 

監査は基本的にやることが決まっているし、そう頻繁に変わらないので、ばらつきが少ないように思います。

 

 

...ばらつきが少ない分野を探しましょうと言いつつ、監査以外は全部問題のばらつきが大きかったので、作戦変更して「考えればなんとなくわかる」系を狙います。

 

・経営戦略

・プログラミング

・データベース

 

「経営戦略」

これはもう、なんとなくそれっぽいカタカナを並べれば当たるので必ず選びましょう。

古い経営戦略が多いので、新聞を読んでいる人なら絶対どこかで聞いたことのある内容が出てきます。

 

6シグマでクオリティマネジメントをグローバルにフランチャイズして

ブレインでダイバーシティにソリューションプランニングして

プロブレムソリューションフィットをコンサルティングしましょう

 

「プログラミング」

日本語表記でアルゴリズムを考えるだけなので、事前知識は不要です。

その場で焦らずゆっくり考えれば解けるので、この分野も必ず選びましょう。

 

「データベース」

これは事前学習が必須です。後半の勉強の大半はここに充てました。

 

単純ですが、少し長めのSQL文を理解する必要があるので

2、3冊ほどSQL文の前半章を読み漁りました。

いくつか自分でテーブルを作ってみて

自力でサブクエリが組めるようになれば十分だと思います。

 

ワークベンチを入れて

mysqlのサンプルデータを拾ってきて

SQL文で遊びまくってみましょう!

 

MySQL :: MySQL Workbench

MySQL :: Employees Sample Database

 

 

 

 

暗記効率をあげる

 

狙いどころを決めたら、あとは狂ったように過去問を解きまくります。

参考書は役に立たないので薪にくべて暖に変えてください。

 

・完全に理解するほど詳しく書かれているわけではない(ほぼwikiレベル)

・出題されない内容も網羅しているので非効率

・なにより重い

 

過去問題ならスマホで解けるので便利です。

 

ちなみに過去問題と同じ問題が出る場合、回答の並びまで同じです。

 

なので「あ、この問題の回答はBだ」

といった具合に暗記できるのも、過去問題を重点的にやるメリットです。

 

 

暗記方法は人によって向き・不向きがあるのですが

以下は僕にとって効果的だった試みです。

 

 

①寝る前に復習

寝る前の思考は定着しやすいです。

日中の乱雑な思考を睡眠中に脳が整理するからだそうです。

布団に入ってからも、その日に学んだ内容を必ず復習します。

 

②他人と教え合う

おそらく同じ大学・会社に自分以外の受験者がいるはず。

探し出して息の根を止めr 一緒に勉強しましょう。

自分の頭でウンウン唸るのは効率が悪いです。

 

人は脳内で思考する間、

大抵はすでに認識している思考をなぞるだけで終わっている気がします。

 

例えば「なぜ円安になると輸出が伸びるのか?」と聞かれれば、

大抵の人は既に学んだ内容や、

誰かから聞いた話を記憶から引き出して答えます。

そこに思考はありません。

 

人と話すことで想定外の思考が投げ入れられ、

そこを記憶したい対象と連結することで

初めて新たな記憶のヒントが得られて「面」の思考が成り立つように思います。

 

なので積極的に勉強内容について、人と話しましょう。

 

 

③学んだ内容を「面白い!」と感じる努力をする

 

基礎理論に「情報の圧縮」に関する知識が登場します。

 

例えばDAEBCBACBBBC

という文字列があった場合、

通常ならaを表現するのに8ビットかかります。

 

ここで出現頻度が高い文字をビット000、

次に出現頻度が高い文字を001など、

事前に決めた対照表に沿って暗号化すれば

aという文字を3ビットで表現できるようになります。

 

これを知った時は3週間ぶりに便が出た時に匹敵する開放感を覚えました。

 

こうやって圧縮しているのか!!!と

めっちゃ面白い!!!と

 

 

このように「面白い」と感じた記憶は定着しやすいようなので

僕は一問解くたびに、その問題の「面白い!」と感じるポイントを探すことに

少しだけ時間を割いていました。

 

CPUの使用率に関して学んだら

まずアクティビティモニタを開いてみる。

 

ipアドレスに関して学んだら、

まずifconfigで自分のPCのアドレスを調べてみる。

telnetで何か呼んでみる。

 

選択と集中をしたからには、

「集中」する問題に割ける余剰時間があるわけですから

その時間を「楽しむ」ことに充てました。

 

1日に100を学んで30しか覚えられないより、

1日に40を学んで30を覚えた方が気持ちいい。

 

翌日には30が更に9まで落ちるより

翌日も30を22くらい維持できた方が効率がいい。

 

インプットの量ではなく、定着の量を意識することが

とても大事な勘所だったと感じます。

 

 

 

 

そして今

 

こんな風に書いていますが

3週間で覚えた内容は

1週間で全て忘れました。

 

スラムダンクの彩子さんも言ってました。短期間で身につけた力は、鍛錬を怠ると、すぐ失われると。

 

唯一覚えているのは「なんで情報技術の試験なのに紙で試験受けてるんだ」という疑問です。なんでなんだぜ。