今日は
基本情報技術者試験
の日。
はい。
思い立ったのは一昨年の7月です。
コツコツ勉強していたものの、科目Bのオブジェクト指向に躓き、心が折れる。
いつしかテキストからも遠ざかり、戦意喪失すること一年半。
今年の正月にふと思い立ち、再びチャレンジする事を決意。
したものの・・・
やっぱり
オブジェクト指向ムズい。
科目Aはかなり自信あるけど、科目Bはさっぱり。
元々、RPGでもラスボス前は余裕で勝てるぐらいまでガッツリレベル上げて挑む臆病タイプの私は、受験を決意できず。
ですが、このままフェードアウトもやっぱり悔しい。
そこで、今度は受験日を決めて申し込み、自らを追い込む事に。
勉強期間を2カ月と決めて3月16日で申し込み。
さぁ、後は勉強あるのみ。
科目Aは順調で過去問での模試も1カ月程で80%ぐらいまで正解率が向上。
そして問題の科目B。
用意したテキストは
売上1位に引かれて翔泳社さんのテキストに。
受験後にわかりました。
とってもいいテキストです。
ですが、勉強を始めた頃はなぜこんな事やらないといけないのかが理解できず。
まず、最初に引っかかったのは
再帰
何回やっても答えが合わない。
ですが、何度目かで気づく。
トレースが雑。
慣れてきた頃からパターンに気づき、トレースを途中でやめて勝手に頭の中で答えを探したりするようになってました。
丁寧なトレースは面倒だけどとっても大事です。
戻り値を問われる問題なら正確にトレースするだけでほぼ解けます。
テキストの中でもトレースの大切さを繰り返し述べてたのはこの為なんですね。
この頃から関数の再帰に関しては安定して解けるようになってきましたが次の壁はやはり
オブジェクト指向。
クラス?インスタンス?メンバ変数?メソッド?コンストラクタ?
車がクラスだとスポーツカーやトラックとかがインスタンスで〜とか、タイヤがメンバ変数で〜とか、運転の仕方がメソッドで〜とか、設計図がコンストラクタで〜とか、おおよその概念は理解できているものの、プログラムになると怯む。
そりゃそうです。
プログラムを解くのが科目B。
ですから。
ならばと、こちらもテキストの例題を何度も何度もトレースして、なぜこうなるのかを考えながらわかるまで繰り返す。
そうすると一つ一つの問題については、仕組みがわかってくる。
が、この頃から命令語の勘違いが多発(特にdo、while、if)思わぬところで再び混乱。
テキストを最初から振り返り、文法を確認しつつ、とにかくトレースを正確にしっかりやり、力技で例題を解く日が続き、気がつけば残り一週間。
最後の一週間はとっておいた公開サンプル問題にチャレンジするも・・・惨敗。
テキストの問題と違う解き方ができない。
そして、時間が足りない。
トレースをミスったら完全にアウトです。
こりゃ勝ち目ないなぁと思い、試験日を伸ばそうかなぁとか思ったけど、一度伸ばすと癖になりそうなのでダメ元で受験する事に。
なんせ、科目Bは過去問が少ないので、どんな問題が来るのかいまいちイメージが湧かない。
引き出し少ないけど、ある程度基本はできてるつもり。
半ば諦めムードになりつつも、昨日は一日中科目Bのテキストで苦手だった例題を徹底的にトレース。
最初の頃は意味がわからなかった、ありえない選択肢の探し方を最後に復習して、科目Bの勉強は終了。
最後に科目Aの過去問はサラッと一回。
こちとら、非ITの初学者の50代。
不安しかないけど、まずは力試しって事で。
今更バタバタしても仕方ないので、昨日は早目に就寝。
続きは後編にて。