有意義なサイト作りのためJavaScriptを使ってます。ご了承ください。

基本情報技術者試験のアルゴリズムとCASLIIで適性検査してから駆け出しエンジニア名乗ったほうがいいよ

 ·   ·  ☕ 4 分で読めます

うん。釣りタイトルなんだ。すまない。

駆け出しエンジニア、流行ってますね。かくいう私も駆け出しの日曜エンジニアっぽいことやってます。
陰キャのドブ川であるインターネッツ、どうしてもこういうキラキラエンジニアを忌み嫌われがち。なので同じ駆け出しとして「プログラミングやりたい!」の気持ちを粉砕しに来ました。
この記事を読んでそれでもプログラミングがしたいなら大歓迎です。共に地獄を戦いましょう!

ということでまず結論から。アルゴリズムやれ

「何がわからないのかがわからない」の恐ろしさ

念のため解説しておくと、アルゴリズムとは工程の抽象化、つまりプログラミングの基礎のことです。ボタンを押したらご飯が炊けるのもアルゴリズムの塊です。それ前提で解説開始。

まず「とりあえずPythonってのやれば稼げるんでしょ?」とお考えの方はこのアルゴリズムを面白く感じるか、お持ちのスマホで「アルゴリズム図鑑」を検索して見てみましょう。
面白く感じたなら第1関門突破です。後述する工程でアルゴリズムの基礎学習をしてみましょう。「つまんない、もっと派手なの」と感じた方、あなたにプログラミングは向きません。もっと他の明るいことしましょう。

なんでこんなぶった斬るようなことを言うかというと、Pythonは強力すぎるからです。
割とコピペで動くくらい可読性が高いくせになんでもできちゃうためアルゴリズムに分解する地力が身につかないのです。結果目的を喪失して遅かれ早かれ限界がきます。
いきなりキルソードみたいな強力で使いやすい万能武器を持たされ、スパスパ斬れてしまうのを実力だと勘違いするような事態に陥ってしまい、「何がわからんのかわからん」という事態になります。Pythonと同じくらい読みやすいC#で私もこうなったので保証済みです。

プログラミングは広大です。沼です。なので目的が要ります。
「便利なツールやゲームを作りたい」でも「サーバーの裏方仕事したい」でも「競技プログラミングで技術自体を競いたい」でもなんだっていいですが、漠然と「いい暮らしできるんでしょ?」とかだと絶対「これ本当に目的に近づいてるの?そもそも目的何?」状態になって挫折します。

プログラミングはアルゴリズムの塊

駆け出しエンジニアと繋がりたいそこのあなた!泥臭い研究で文字通り1日潰す覚悟がありますか?いやマジで。
プログラミングとは自動化、つまりアルゴリズムです。分解して抽象化する快感、命令して知能を作る快感。これを理解できなければプログラミングはやっていけません。
初心者は「材料を組み合わせて解決する力」、つまりはプログラミングの地力を鍛えることが最初のステップです。そのためにはPythonとかでなくもっと「できることの少ない」言語でアルゴリズムを学ぶことが重要です。安心してください、地力さえ身につけばPythonだろうがC++だろうが以後は簡単に覚えられます。

基本情報合格を目指そう

やっと本題です。その登竜門が基本情報技術者試験なのです。
あれのアルゴリズム問題に使われる架空言語はできることが少なく、そしてはちゃめちゃに読みにくいです。だからこそアルゴリズム理解にはもってこい。頭の中で数値を動かしていけば、いつかきっと芽が出ます。
来年からは言語問題がなくなります。表計算などの過去問は使い物にならなくなりますが、一つ例外があります。CASLII、アセンブラです。あれの正体は架空言語(正確には逆。架空言語がアセンブリ言語)なのでそのまま流用できちゃいます。
基本情報を70点以上で合格できるなら胸を張って駆け出しエンジニアを名乗ればいいと思います。めんどくさく思えるなら他に道はあるのでそっち行った方がいいです。
「今やってるけど芽が出ない、でも実務のコードは読めない…」という人も大丈夫です。どんな凡人でもやる気さえあれば3年もやればその間に絶対ブレイクスルーがきます。基本情報は一番の近道で間違い無いです。自分を信じましょう。

結論

一番の近道は遠回りだった

おまけ…おすすめ本

Ixyてんてー本(うかる! 基本情報技術者 [午後・アルゴリズム編] 2022年版 福嶋先生の集中ゼミ)

定番のアルゴ本。勉強法やマインドセットまで乗ってますが、第3章から全くの初心者には難易度が跳ね上がります。
初心者は第2章までだけを3周くらいした後はなんかプログラミング言語をやって、勘をつかんでから残りに挑戦しましょう。じゃんけん問題が飲み込めたらPythonでも何やってもOKです。

シェアはこちら:

ふらもん
書いた人:
ふらもん
ゲームクリエイター見習い。リンクは別館の制作・攻略サイト