前回、ソートアルゴリズム(バブルソート・選択ソート)を整理しました。ここで一度、学習3週目を振り返っておきます。
目次
3週目にやったこと
3週目は、科目Aでメモリ階層・キャッシュメモリ、補助記憶装置(HDD・SSD)を進めつつ、科目Bでは関数(手続き)の定義、再帰処理、探索アルゴリズム(線形探索・二分探索)、ソートアルゴリズム(バブルソート・選択ソート)を進めました。
学習時間は、記録上ではおよそ16時間でした。週15時間の計画を初めて上回りましたが、これは時間を増やしたというより、科目Bに想定以上の時間がかかった結果です。
正直に言うと、苦戦しました
タイトルのとおり、この週は素直に「苦戦した」という一言に尽きます。関数・再帰処理あたりから、科目Bの負荷が一気に増えた感覚がありました。
特に再帰処理は、「関数が自分自身を呼び出す」という構造そのものが最初は飲み込めず、積み木のイメージに置き換えて、ようやく理解できたという状態でした。ソートアルゴリズムも、比較・入れ替えの回数が増えるにつれて、頭の中だけでは追いきれなくなり、結局すべて紙に書き出す必要がありました。
それでも分かったこと
苦戦はしたものの、収穫もありました。
- 頭の中だけで完結させようとするから苦しくなる。書き出せば、意外と地道な作業
- 「分からない」のほとんどは、「トレースの練習量が足りていない」だけだった
- 1つの単元(再帰処理など)に時間をかけすぎても、翌日にはある程度定着している
科目Bは、才能やセンスの問題というより、単純にトレースの反復回数がものを言う分野なのだと、この週で実感しました。
3週目を終えての気づき
- 科目Aは、身構えていた単元も含めて、順調にペースを保てている
- 科目Bは、想定より時間がかかっているが、書き出す練習で着実に理解は進んでいる
- 苦戦している実感があること自体は、悪いサインではないと捉えるようにしている
4週目に向けて
4週目からは、いよいよ過去問演習を本格的に始める予定です。科目Bにこれまでかけてきた時間が、実際の問題でどれだけ通用するのか、正直少し不安もありますが、まずは実力を測るつもりで取り組んでみようと思います。
