学習2週目:科目Aの手応えと課題

前回、命令実行のしくみ(CPU・レジスタ・パイプライン処理)を整理しました。ここで一度、学習2週目を振り返っておきます。

目次

2週目にやったこと

2週目は、科目Aで誤差・精度・有効数字、オートマトン・状態遷移図、待ち行列理論、命令実行のしくみを進めつつ、科目Bでは条件分岐(if・elseif・else)と繰り返し処理(for・while)の疑似言語表現に取り組みました。

学習時間は、記録上ではおよそ14時間でした。計画の週15時間には少し届きませんでしたが、1週目の13時間よりは増えています。

科目Aの手応え

誤差の種類(丸め誤差・桁落ち・情報落ちなど)は、最初は名前が紛らわしく感じましたが、発生原因ごとに分けて覚えることで、区別しやすくなりました。オートマトンや待ち行列理論のような、初見では身構えてしまう単元も、実際に手を動かしてみると、思ったよりシンプルな作業の繰り返しだと分かってきました。

命令実行のしくみは、「フェッチ→デコード→エグゼキュート→書き込み」という流れを、日本語に言い換えて理解したことで、すんなり頭に入りました。ここまでの範囲では、科目Aは想定より順調に進んでいる感触があります。

科目Bの課題

一方、科目Bの条件分岐・繰り返し処理は、構文自体は理解できたのですが、トレースの精度にまだ課題を感じています。

特に、繰り返し処理で「変数が何回目のループでどう変化しているか」を、途中で見失うことが何度かありました。表を作って、繰り返しごとの変数の値を書き出す練習をしたことで改善は見られましたが、まだ時間がかかっている状態です。

2週目を終えての気づき

  • 科目Aは、身構えていた単元ほど、手を動かすと理解が早い
  • 科目Bは、トレースの「速さ」よりまず「正確さ」を優先すべき
  • 週15時間には届かなくても、前週より学習量を積み上げられている

3週目に向けて

3週目からは、科目Bのアルゴリズム本編(探索・ソートなど)に入っていきます。ここが、これまでで最も苦戦しそうな範囲だと感じているので、無理に速く進めるのではなく、1つずつ確実にトレースできる状態を目指して取り組みたいと思います。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次