私はみなさんにこのMITオープンコース計算思考の導入を見ることを強くお勧めします。すべての授業のビデオと課題はウェブサイトで見ることができます。初めは3B1Bも教えていたので一緒に見ましたが、想像以上に興味深い内容でした。
このコースは多岐にわたる内容で、データサイエンス、気候変動モデリング、レイトレーシング、偏微分、統計、画像処理などが含まれていますが、実際にはすべて計算に関連しています。このようなアプローチは、コンピュータを使って問題を解決する能力を養うのに役立つと思います。
例えば、最初の2つの授業では画像畳み込みを教えています。さらに問題を行列の乗算に分解し、課題では簡単なガウスぼかしを実装します。この畳み込みの概念はさらに発展させることができ、エッジ検出やフーリエ変換などにも応用できます。このように、難しそうな問題を数学的に表現可能な手法に段階的に分解し、他の場面にどのように応用するかを教えてくれるのは、私にとって素晴らしい学習方法であり、多くの人が欠けているスキルだと思います。
次に、シームカービングについて話します。これは画像の縦横比を変更することなく「奇妙な感じ」を与えないアルゴリズムです。通常、画像の比率を変更すると、画像の一方の次元が伸びたり圧縮されたりして、奇妙に見えます。このアルゴリズムは、画像の重要でない部分を見つけ出し、それらを削除することで、全体の画像が正常に見えるようにします。
次に、データの処理方法について触れます。ここではCOVID-19を例に挙げていますが、現実のケースを使って学ぶことができます。PCAの次元削減や特異値分解の意味についても触れられており、統計の概念も一通り説明されています。
後半の授業はあまり興味がなかったり、自分が怠けていたため、大まかにしか見ていませんが、以下に大まかな概要を示します:
- ランダムウォーク
- 離散数学
- 偏微分方程式
- 気候変動モデリング
個人的には、これらは非常に実用的な概念だと思います。時間があれば、コース全体を追いかける価値があると思います。
このコースでは、授業で主にJuliaを使用していますが、私は書きやすいと感じました。将来的には、行列演算やデータ分析など、簡単な作業にはJuliaを使うでしょう。経験豊富なエンジニアにとっては、すぐに学ぶことができると思います。また、Plutoを使用すると、ウェブブラウザ上でプログラムを直接書くことができます(Jupyter Notebookのようなものです)、リアルタイムで結果を確認できます。
p.s: Grant Sandersonの話し方とビデオは本当に心を込めています。私にとっては教授陣の中で最高品質だと思います。