CS50の修了証をあきらめて得たもの

なぜあきらめたのか

 CS50というのはハーバード大学のコンピュータサイエンスとプログラミングを学べるコースだ。それがオンラインで日本にいながら講義を視聴することができ、1から10までの各Weekの課題を提出し、一定の点数を獲得すれば修了証を発行してもらえるという夢のある試みだ。

 日本語での受講ができるということで私もチャレンジしたのだが、あと一歩というところであきらめてしまった。期間に間に合わなかったとか忙しかったとかいう理由ではなく、単に私の実力が足りなかったというだけのことだ。もっというと他の生徒の答えを見てしまったからである。

 これは明らかな不正にあたり修了証を発行してもらう資格はない。それが分かっていてなぜ人の答えを見たのかというと、単純にどうやって問題を解決したのか気になったからである。みんな本当に頭が良くてスゴイなぁと感心しどおしだった。

 あとは全く意味が分からなかった問題があったこと。これはもうどうしようもないw「出直してきます」って感じで降参しました。CS50を検索すると、だいたいの方はプログラミングに関する課題はクリアしていてスゴイなと思った。私も精進せねば。

失ったものはひとつもない

 修了証はあきらめたものの、このチャレンジで得たものは大きかった。私がまだまだ実力不足なのを確かめられたこと。C言語やPythonからJavaScriptなんかを学べたのも良かった。独学では絶対にタッチしなかったであろうコンピュータサイエンスの初歩を学べたこともありがたかった。

 データ構造やアルゴリズムについては、ゲーム開発で無意識に触れていながらこれらについて無自覚であったことに気付かされた。SQLの課題ではデータを扱うことの難しさと面白さを学ばせてもらった。Flaskを使ってのweb開発はややこしくてチンプンカンプンだった。

 私はプログラミングのこともコンピュータのことも何も分かっていなかった。初心に帰ってがんばろうと思わせてくれただけでもCS50にチャレンジしたかいがあったというものだ。

CS50の修了証をあきらめてから買ったもの

  初心に帰って学ぶために購入した本。そのうちレビュー記事も書くつもり。


 私が買ったのは第1版。紙一重の差で第2版がでたようだ。ポインタとかマロックとかマスターしたい。


 すごく字が小さい。読んだら理解はできるんだけど、やっぱり難しい。


 Webの起こりから現代のWebサービスまでの歴史を丁寧にわかりやすく解説。インターネットにおけるデータのやりとりがどのようにして行われているのかよく分かる。読み物として面白い。


 CS50でFlaskの使い方がまったく理解できなかったのでリベンジの意味で購入。上記の「プロになるための……」とセットで読むと理解が深まる。