オンライン学習2013 Q2

当初の予定とはちょっと変えて、Courseraから3つのコースを受講して、無事終了しました。2つはStatement of Accomplishmentがついててとてもうれしいです(まだ1個は出てないけど)。

所感

Algorithmsは前期から引き続き。ちょっとアドバンスドな内容で、グラフ理論とかP=NP?とかでしたが、相変わらずとても分かりやすいレクチャー付きなので宿題のJavaも頑張れました。2009年くらいに発表された論文と同じことを宿題でやらせるとかなかなかワクワクな内容でした。どの宿題も実践的な例だったのでとても楽しく受講できました。英語はゆっくりすぎたので1.5倍速で聞いてました。

Hardware/Software Interfaceはめちゃくちゃおもしろくてためになりました。これは超オススメ。University of Washington行きたいと思ってしまった。何をやったかというと、基本はレクチャー聞いて宿題提出するんですが、宿題がめちゃくちゃおもしろかった。ビット演算のみでifやったりとか、ソースの無いバイナリをgdbとかobjdumpで分析して秘密の鍵を探したりとか、バッファオーバーフローを実際に行ったりとか、最後はメモリアロケータを実装(と言ってもほとんどできてるものの穴埋めだけど)したりとか、とにかく楽しかった。gdbとかアセンブリとかさっぱり知らなかった自分ですが、とりあえず渡されたバイナリを見る方法を知れて本当にためになりました。レクチャーも素晴らしくわかりやすくて、今までバイナリなんて触ったこと無い、怖い怖いって言ってる人には本当にオススメ。大満足。

Machine Learningは錆びついたマシンガンを、ということで有名なAndrew Ng先生の授業を取ってみました。CourseraのFounderでもある氏のレクチャーもこれまた分かりやすく、単純な線形回帰からロジスティクス回帰やニューラルネット、SVMやPCAなど一通り勉強できました。特定のアルゴリズムだけでなく、機械学習全般において、どういうところに目をつけてどうやって精度を上げていくのか、についての話題などもありとても良かったです。数式は出てきますが、細かい証明とか式変形はすっ飛ばすので、不満な人は不満かも。僕はもうすっかり数式なんか忘れてしまったので結果だけでお腹いっぱいでした。宿題はOctaveのコードの穴埋めが毎週ありました。そこまで難問はありませんでしたが、自分はなるべくループを使わずに行列計算で記述するように努力したので結構ハマりました。。。

反省

これ以外にも2,3個手を出してみたのですが、さすがに時間が足りず完走できたのはこれだけでした。前期は1つだけでしたが、今期は3つもやれたのでそれでも進歩しましたが、もっと見識を広げたいところ。CS以外の特に人文系をやってみたいんですが、読む量とかがハンパなくてなかなか取り組めません。。。

今後

Q3はちょっと落ち着けて、以下の1つだけにしようとおもいます。もし余裕がありそうなら、途中で止まってるiOSの講義を再開しておきたいところだが。。。

その次の期に始まるコースでも物色しておいて、Q4はガッツリいこうかなぁ。