フリーランチ食べたい

No Free Lunch in ML and Life. Pythonや機械学習のことを書きます。

カリフォルニア大学サンディエゴのAlgorithmic Toolbox @ Courseraを修了しました!

ここ1ヶ月半くらいで、Courseraで「Algorithmic Toolbox」という名前のCSのコースを受けており、今週、6週分の授業・課題を全てクリアし今週修了証をゲットしました 👏

f:id:mergyi:20180902130629p:plain

https://www.coursera.org/account/accomplishments/verify/JKBYCPYP7U69

Data Structures and Algorithms

この授業が何かと言うと、Data Structures and AlgorithmsというSpecializationの第一コースです。Specializationとは、Coursera用語らしく(?)、一連のCourse郡を束ねた名前のようです。(Specializationについては解説してくださっている方がいるので、こちら参照。Coursera|Specializationとは : MOOCsブログ)

(Data Structures and Algorithms Course1)www.coursera.org

そして、Data Structures and Algorithmsの特徴を説明文を引用して説明します。

No other online course in Algorithms even comes close to offering you a wealth of programming challenges that you may face at your next job interview.

このSpecializationの特徴は、単なるアルゴリズムの解説だけではなく採用面接などで必要になるアルゴリズムのプログラミングスキルを身につけられる ということです。

Algorithmic Toolbox

www.coursera.org

Algorithmic ToolboxはSpecializationの第一コースということで、基本的な内容から始まります。下記のようにWeek6に分かれています。

  • Programming Challenges
  • Algorithmic Warm-up
  • Greedy Algorithms
  • Divide-and-Conquer
  • Dynamic Programming 1
  • Dynamic Programming 2

毎週プログラミング課題があり、Java/C++/Python/Javascript/Rustなどの中から好きな言語を選べ、理解を深めることができます。

Week1、Week2の「Programming Challenges」「Algorithmic Warm-up」はアルゴリズムの重要性や計算コストの考え方など基礎から始まります。Week3の「 Greedy Algorithms」から本格的にアルゴリズムの内容が開始され、課題も難しくなります…。

なので後半は結構大変でした。でもGreedy AlgorithmsやDynamic Programmingを実装できるようになったのは、とても便利で今度別の(ある組織の)ブログで書くと思いますが、早速現実の問題にも適用するタイミングがありました。

Computer Science Complex をCourseraで治療する

geek-out.jp

先月、GeekOutに僕が強く尊敬するエンジニアの1人であるHigeponさんの記事が掲載されていました。Higeponさんが「ComputerScienceにコンプレックスをずっと持っていた」と書かれていましたが、まさに自分も同じ悩みを持っています。今年エンジニア4年目に突入し、普段はなんとなくプログラミング出来てしまうのですが、「ああライブラリがいい感じにやってくれるからそれに頼り切って実装してるな」と無力感を感じてしまうんですよね。

きっと自分以外にも同じような気持ちを持っている人は多いのではないでしょうか。そんな方にこのコースはオススメです。個性豊かな講師陣で話を聞いてるだけで割と面白いですし、資料も説明も工夫が凝らされてます。全て英語なので、自分にとっては言語の壁も大きいのですが、説明が工夫されてるのでなんとかついていける、と感じてます。

修了証を集めるのがゲーム感覚で楽しい

Courseraで取得した修了証はLinkedInに追加できるので純粋にRPGで武器を集めるような感覚で楽しいですし、もちろん就職、転職にも活用することができます。 https://www.linkedin.com/in/yutaro-ikeda-8b1015147/

Data Structures and AlgorithmsはCourseraの中では有料のコースになってしまうのですが、十分受ける価値はあると思います。来週からCourse2のData Structuresに挑戦します。また修了したら感想を書きたいと思います!

www.coursera.org