基本情報のアルゴリズムの勉強でトレースの練習を行う以外に何か画期的な攻略法はないか?と色々な方法を検索したり本を読んだ結果。
基本情報のアルゴリズムはトレースの練習が最速で最強の攻略法でした。
しかも色々な書籍がおすすめされていたりしますが、基本的にわかることが前提で解説されているため、マジの初心者や未経験者から言わせるとわざわざ難しい本でなくても
ここ数年のIT業界の成長により、もはやプログラミングスキルは必須とも言えるレベルになってきました。
基本情報処理技術者試験もアルゴリズムとプログラミング言語の配点が25点へ変更となったことでより、プログラムを正確に読む力を試される試験となってきました。
今回は、そんな基本情報のアルゴリズムにおいてのトレース練習の重要性について解説していきます。
基本情報のアルゴリズムはトレースの練習が大事!
ITパスポートの延長の午前問題クリアし、いざ午後問題となったところでプログラミング初心者や未経験者であれば必ず立ちはだかるのがアルゴリズムです。
しかし、このアルゴリズムの問題ですが、経験者から言わせると難しい要素は”ない”そうです。
どうしても基本情報のアルゴリズムの過去問でトレースの練習をしようと思っても面倒くさいですし、もはや解説を読んだところで意味不明だったりします。
これ意味ある?と何度思ったことか。。
しかし、このトレースができるようになり、疑似言語プログラムを順に追うことができるようになると今までの苦労が噓のように始めての問題でも答えがわかるようになります。
※もはや国語の問題です。
基本情報のアルゴリズムを書籍で勉強するのはあまりおすすめできない
さて勉強しよう!となるとやはり書籍に目が行きがちですが、ぶっちゃけおすすめできません。
色々なところでレビュー記事が掛かれており絶賛されている各書籍は、商品レビューを見てみたら分かりますが、理解している人のおさらいとしては超優秀なのですが、初心者からすると挫折を味わうだけです。
最終的なおさらいとして活用するなら良いとは思いますが、
基本情報でおすすめでお得だからといってキタミ式と併せて購入するのは一旦待ちましょう。
あって試験に受かるものでもありませんし、無くて落ちるものでもありません。
しかもほとんどの書籍が最終的に基本情報のアルゴリズムの問題は問題文を良く読むこととトレースの練習を推奨しておりますし、過去問を活用して解説されいたりします。
要するに過去問で十分だということになります。
過去問を覚えることが勉強ではありません。過去問を使って考える能力を身につけることが大事です。
アルゴリズムに近道はない
どうしても必殺技や必勝法に目が行ってしまいますが、ハッキリ言ってそんなものはありませんw
すべての答えは問題に潜んでいるので、トレースできる能力を手にすることが最強の攻略法となります。
- 過去問を覚える
- 説明文を読まず設問から読む
- 試験を意識して時間を決めて取り組む
- 最終的によくわからないからまずは解説を読む
時間を設けて取り組むのは最終的にやりますが、とりあえず基本情報のアルゴリズム問題に挑戦してみよう。という人はこれらすべてをやめてみましょう。
- 必要だと思うことや考えた内容をノートに書きながら進める。
- 説明文を読んで概要を理解する。(このプログラムは最終的にどうなるのか。)
- 一旦は頑張ってプログラムを動かして答えを考えてみる。(無理なら大丈夫です。)
- 問題で出たアルゴリズムを午後で選択可能な言語で実装してみる。(最悪スマホでもOK)
※今節から登場のPythonなんかはわり実装しやすいし、参考資料も多いと思います。
最初は絶望的ですが、問題ありません。
慣れますし、そのうち不思議と分かるようになります。(時間の許す限り考えてみましょう。
とりあえず、過去問を覚える意味は全くないことと、アルゴリズムに近道はないいうことがわかれば十分かと思います。
アルゴリズムを自分で実装するは最高の勉強方法
IT系で働いている優秀な人のほど、実際に自分で実装してみないと気が済まない人が多いです。
逆に言ってしまうとなんでも自分で実装する癖をつけておけば優秀な人に近づけるということになります。
過去問で十分です。
(多少、言語の文法を知る必要がありますが。)最初は写経みたいになってしまっても自分でアルゴリズムをどういう処理が行われているかを考えながら実装することで、結果的にトレースの練習にもなりますし、基本情報の言語問題の練習にもつながります。
パソコンがあるのであれば手を動かしてみましょう。
資格なのに実技?と思いますし、勉強している感があまりありませんが、書籍での勉強の何十倍も効果的ですし、実際に動くと楽しいです。
しかも、開発環境の構築も無料でやる実装する方法は解説されておりますし、基本情報のアルゴリズムの問題で使用されるようなものは調べればたくさんでてきます。
1つ2つだけでも良いので一度やってみてください。
試験内容の見直しでプログラムを読む力を問う試験へ
2020年から基本情報技術者試験の試験内容が見直されました。
アルゴリズムと言語で50点となり、プログラムを読む力が必要になりました。
試験後に講評というものが出されるのですが、例えば”平成31年度春期 問8”で見てみると。
プログラムの作成においては、アルゴリズム及びプログラムの仕様を理解し、条件分岐や繰返しの条件を正しく実装する能力が、使用するプログラム言語を問わず求められるので、身につけておいてほしい。
と書かれているように、アルゴリズムやプログラムの仕様を理解することが重要だということがよく分かります。
今後、配点がさらに変わるかどうかは分かりませんが、プログラミングが必須科目になるなど、以前よりもプログラムを読む力が必要となってきます。
この基本情報の試験でアルゴリズム問題でトレースの練習や実装、勉強に取り組むことは、合格への近道かつ今後の仕事にも役に立つことになります。
よく資格は必要ないといったことを言ってくる人がいたりしますが、実際にインフラエンジニアとして働いている身として資格は重要だと思っています。
そんな資格の重要性についてはインフラエンジニアは資格がいらないのは本当か!?実際に働いて知った資格の【重要性】についてにて詳しく解説しているので参考にしてみてください。
今回のまとめ
今回は基本情報の中でもアルゴリズムについて、トレース練習の重要性について見てきましたが、やはり実践が一番大事だということがわかりました。
ポイントを押さえた書籍での勉強もいいとは思いますが、問題慣れや基本的なアルゴリズムについて学ぶだけであれば過去問で十分ですし、無料です。
また、トレースの練習も重要ですが、自分で基本アルゴリズムを実装することで、最終の言語問題の勉強もすることができますし、基本情報に出てくるアルゴリズムならググればすぐに見つかります。
トレースの練習もそうですが、やはり自分で動かしてみることも重要です。
といった具合に繰り返しやっているうちに次第にわかるようになってきます。
この分かりだす瞬間が超気持ちいいので頑張ってください。
基本情報処理技術者試験においてアルゴリズムと言語で50点を占めることになり、もはや逃げて合格は不可能になりました。
言語問題で選択する言語を使って過去問のアルゴリズムを実装するもよし、アルゴリズム過去問を解きながらトレースの練習するもよし。
自分にあった方法で1つずつ着実に理解していきましょう。
※この1つずつこなせるスキルはエンジニアになってから一番役に立つスキルなので。
基本情報のアルゴリズムは1番勉強したくないし取っつきにくい分野ですが、トレースの練習でプログラムの読む力を身につけておきましょう。
エンジニアとして1億行のプログラムを読む日のために。