
基本情報技術者試験を受けてみた。
1.なぜ受験したか?
2024年3月受験です。
自己紹介をチラ見していただいた方はなんの系統の職業かは雰囲気でわかると思いますが、一言でいうと建設業です。そもそもなんで最初に基本情報技術者なのかというと、一番に最近合格したものだからです。
建設業はDXが遅れている、2024年問題とか言われているが、あまりそういう意図で受験したわけではないです。
理由①昔(四半世紀前)に第二種情報処理技術者を受けようと思ったときに本業の設計の仕事が忙しくて、結局そのままにしていたから。
理由②一昨年末にお小遣い稼ぎにITパスポートを受験したのでA科目の知識がほどほどにあった。ついでいうと電気通信系の資格知識も被るところ多い。
理由③ちょっと趣味で昔プログラム勉強していたからB科目もいけるかなと思った。
理由④25卒の子供がSIerから内定貰ったので入社までに最低限の勉強しろという意味の発破かけるため。
理由⑤本屋で問題集見て思ったけど、そもそもこの手の問題が得意だった。
理由が5つぐらいあれば7500円ぐらい払ってちょい勉強する動機にはなる。
2.どんなことに役に立ちそうか?
私自身は業務上必要な資格ではないため役にも立ちそうもありませんが
広範な知識習得(あくまで復習にはなった)。あと社内に持っている人はかなり少ない(いない?)ので少しどや顔。
なお、一般的には基本情報技術者試験は、日本で非常に認知されているIT関連の国家資格で、情報技術に関する広範な知識と実務スキルを証明するための試験です。この資格が役立つ点を10個挙げます:
専門知識の証明: 試験合格は、情報技術に関する広範囲かつ深い知識を持っていることを証明します。
職場での信頼向上: 専門的な資格を持つことで、職場内外での信頼性が高まります。
キャリアの発展: IT業界内でのキャリアアップや昇進に役立ち、より良い職位や条件での雇用が期待できます。
転職時の強み: 転職市場において競争力があり、望ましい職に就きやすくなります。
プロジェクト管理スキル: ソフトウェア開発やシステム構築のプロジェクト管理方法についての理解が深まります。
技術的コミュニケーション能力の向上: 技術的な内容を効果的に説明し、チーム内外のコミュニケーションをスムーズに行えるようになります。
問題解析と解決能力: 複雑な問題に対する分析力と解決策を提案する能力が向上します。
最新技術への適応: IT業界の最新トレンドと技術への適応が容易になり、常に業界の最前線で活躍できるようになります。
自己研鑽の継続: 資格取得をきっかけに、技術的な知見を常に更新し続けることが求められ、学び続ける習慣が身につきます。
法規制と倫理の理解: 情報技術者として必要な法規制や倫理についての理解が深まり、社会的責任を果たす上で重要な役割を果たします。
あとは、応用受ける時の基礎に役に立ちそうです。
3.勉強方法
利用したのは以下の参考書2冊です。この2冊とおまけでついている過去問(解説付き)をダウンロードして勉強しました。
勉強期間は2か月程度で毎日スマホで無料の道場で電車で15分程度で家できちんと1時間は最低しました。参考書一周回すまでの最初2週間は平日2時間、休日AMは勉強していました。
科目Aは過去問やっていれば合格できます。逆に過去問を理解して解けないと当たりはずれで落ちる可能性はある。繰り返し学習としてはテキスト問題集を解いた後は過去問道場やっていれば問題なし。
科目Bはトレースができて公開されている問題が解ければよいかと思います。トレース出来ちゃえば誰でも解ける問題なのでこれ以上のアドバイスはできないです。ちょっと繰り返すとトレースしなくてもパターンで解ける問題もあります。
トレースとは
トレースってプログラムが実行される過程を手作業で追跡し、各ステップでの変数の値や処理の流れを確認する作業のことです。これは、特にアルゴリズムとプログラミング問題を解く際に重要なテクニックとなります。
トレースを行う主な手順は以下の通りです。
プログラムの開始状態を確認する:プログラムの入力値や初期設定を把握します。
ステップバイステップで追跡する:プログラムの各命令を一つずつ実行し、その結果を記録します。
変数の値を更新する:命令によって変更される変数の値を、その都度更新します。
条件分岐を注意深く追跡する:if文やループなどの条件分岐がある場合、それらが真か偽かに応じて処理の流れを追跡します。
ループの処理を丁寧に追跡する:while文やfor文などのループがある場合、ループの各イテレーションで何が起こるかを詳細に追跡します。
プログラムの終了状態を確認する:プログラムの最後までトレースを行い、最終的な出力や変数の状態を確認します。
トレースは、プログラムが正しく動作しているかを確認したり、バグを見つけたりするのに役立ちます。また、試験では、プログラムの特定の時点での変数の値を求める問題が出題されることがあり、そのような問題を解く際にもトレースが有効です。
トレースの練習をすることで、プログラムの流れを理解しやすくなり、アルゴリズム問題に対する理解が深まります。
わかりやすい例をあげると
簡単なプログラムは次のようになります:SUMを出力する。
変数 a = 5;
変数 b = 10;
変数 sum = 0;
sum = a + b;
このプログラムのトレースを行う場合、次のステップに従います。
初期状態の確認:
変数 a の値は 5
変数 b の値は 10
変数 sum の値は 0
プログラムの実行:
sum = a + b; の命令を実行します。
変数の値の更新:
sum の新しい値は 5 + 10 で、計算後 15 になります。
最終状態の確認:
変数 sum の最終的な値は 15 です。なんとなくわかりましたか?
もっと易しくトレースとは?
上記を見ていてちょっと嫌になった人いますか?
もっとわかりやすく文章にしてみました。
「トレース」とは、パソコンのプログラムがどう動くかを、一歩一歩追いかけてみることです。まるで、宝探しの地図を見ながら、次にどこへ行くかを確かめるようなものです。
例えば、あなたがお母さんに「おやつを食べてもいい?」と聞いたとします。お母さんが「宿題を終わらせたらね」と答えたら、あなたは宿題をしますよね。それが終わったら、おやつをもらえる… これがプログラムの流れです。
パソコンのプログラムも同じで、「もし〜だったら、これをする」という命令がたくさんあります。トレースは、その命令に従って、パソコンがどんな順番でどんなことをするのかを、紙に書いたり、頭の中で想像したりしながら確かめることです。
これをすると、プログラムが正しく動いているか、間違いがないかをチェックできます。ちょうど、計算問題を解いて、答え合わせをするようなものですね
まとめ
資格試験に合格するには毎日1問でもいいから継続して勉強すること。飲み会ある日は電車の中でも朝でも昼休みでもいい。言い訳してやらないは無し。それを習慣つけることが合格への道。