Pythonを0から学びたいなら、ミシガン大学のPython for Everybodyという講座がおすすめ

前回書いた記事で取り上げたエンジニアに求められるスキルセットから、「ひとつのプログラミング言語」と「データベースの基本知識」について自身のこれまでの経験と照らし合わせていきたいと思います。

 

現在、自分が最も使用頻度が高い言語はPythonであり、Pythonからスタートした理由としては、そもそもプログラミングをスタートしたのがAIのブームに乗っかかろうとしたミーハーな気持ちからであり、加えて最初に受講したCS101でPythonが用いられていたためです。

 

www.udacity.com

 

その後、OO設計の理解やコーディングのクイズ集を解くために、Javaへと学習派生しましたが、最初のHello, World!出力だけでも、クラスや変数の型の宣言、コンパイルですら手間を感じずにはいられなかったということから、改めてPythonのシンプル且つ明瞭な設計思想の恩恵を実感しており、初学者に最も適した言語であると思います。

 

さて、自分がPythonについて、ようやくある程度の理解をする事が出来たなと自信を持つことが出来たのは、以下のCourseraの講座を修了した後になります。

 

www.coursera.org

 

最初に取り上げた、CS101はあくまでPythonを手段として用いることによって、計算機科学分野への案内をすることを目的としており、言語習得そのものにフォーカスをされた講座ではありません。(計算機科学を始点として学び始めるのはとても良いことだと思います)TechnicalDevGuideでも、CS101の後に薦められているのが、「少なくとも1つのオブジェクト指向プログラミング言語について学ぶ」であり、自分の場合はクラスセントラルでも評判の良かった上記のCourseraの講座を選択することにしました。*1

 

このスペシャライゼーションのプロジェクトは5つの講座を1つに統合したものであり、それぞれの講座の主題を簡単に説明すると以下のようになります。

 

1.Pythonの基礎について学ぶ

2.Pythonのデータ構造について

3.PythonでWebデータへアクセスする

4.データベース(!)について

5.以上の知識を用いて、Web上でデータを視覚化するアプリケーションを作る

 

このプロジェクトの良かった点としては、あくまで言語にフォーカスされているのは1,2番目の講座のみであり、その後は「Pythonが使って何が出来るのか?」というプログラミング初学者が最も気になるであろう点を、実戦形式でレクチャーしてくれることにあります。Python以外にもjavascript,json,SQLといった言語がカバーされておりPythonとこれら他言語や外部モジュールを組み合わせることによって、プログラミングが実用的なメリットを持ち合わせていることを正確に実感することが出来ました。この中でも、当時はjsonに対しては気味の悪い言語だなと思っていましたが、今では一番「知っててよかった」と思える言語の代表です。

 

次回は、3番目の講座で取り扱われているWebスクレイピングの技術について書く予定です。

*1:ちなみに、担当する講師はミシガン大学の教授でとてもユニークな方です。