プログラミング学習

【初心者向け】CS50 の評判は良い?他サービスとの違いもレビュー!

悩んでいる人

コンピュータサイエンスを学びたいけどCS50ってどうなんだろう? 

修了証がもらえるって聞いたけど・・・

CS50 の評判気になりますよね?

  • CS50 でコンピュータサイエンスが学べる?
  • CS50で修了証がもらえるって本当?
  • 転職に活かせる?

こんなお悩みを解決します!

✔︎本記事の内容

  • CS50の特徴
  • CS50の評判
  • CS50で学べる言語
  • CS50を終えた後にするべきこと

プログラミング学習サービスはこちらで確認できます。

おすすめのプログラミングスクールはこちらから確認できます。

CS50 とは?

ハーバード大学が後悔しているコンピューターサイエンスを無料で学べるオンライン講座で、アカウント登録すればハーバード大学生ではなくても受講でます。

日本語翻訳版は「CS50.jp」で利用可能です。

これにプラスしてYoutube チャンネル「CS50 for Japanese」で日本語字幕の講義が視聴可能ですが、日本語訳が若干違和感があるところがあるので見る場合は少し注意が必要です。

コンピュータサイエンスとは、コンピューターに関わる学問であり、情報や計算を使いコンピューターを使うための学問です。

コンピューターサイエンスはWikipedia で下記のように定義されています。

計算機科学(けいさんきかがく、: computer science、コンピュータ科学)とは、情報計算の理論的基礎、及びそのコンピュータ上への実装と応用に関する研究分野である[1][2][3]。コンピュータ科学には様々な分野がある。コンピュータグラフィックスのように応用に力点がある領域もあれば、理論計算機科学と呼ばれる分野のように数学的な性格が強い分野もある。計算科学は科学技術計算という「計算需要」に応えるための分野であり、それを実現する手段の研究は高性能計算である。また、一見わかりやすい分類として、計算機工学など「ハードウェア」と、プログラミングなど「ソフトウェア」という分類があるが、再構成可能コンピューティングのようにその両方と言える分野があるなど、単純に分類ができるようなものではない。」

引用:Wikipedia
アイコン名を入力

コンピュータサイエンスは理学・数学・工学などの大分野に広がっているということですね。

CS50 の特徴

EnCS50 の大きな特徴として、ハーバード大が公開している教材であることや、修了証がもらえることが挙げられますが、他にも多くの特徴があります。

このような特徴があります。

特徴①:ビデオを日本語字幕で視聴できる

Youtubeチャンネルの「CS50 for Japanese」では日本語字幕付きの講義が視聴できます。

この講義は、

  • 日本語字幕に違和感があるところが多い
  • 動画がめちゃくちゃ長い
  • 話す言語が英語である

以上の理由で初心者の方にはあまりお勧めはできません。

1つの動画はほとんど1時間を超えていますし、英語に慣れていないと少し退屈かもしれません。

これに加えて、詳しくコンピュータサイエンスについて詳しく解説するというよりも、概要をわかりやすくかみ砕いているような感じです。

手っ取り早くコンピュータサイエンスを学習したい方にはあまりおすすめできません。

特徴②:講義→演習という形式

講義をみてから演習するという形式で学習を進めるのでインプットとアウトプットのバランスがとても良いです。

プログラミングを学習する際はインプット3割、アウトプット7割が良いと言われているので、講義→演習のバランスを意識しながら学習を進められるのは大きなメリットになります。

特徴③:環境構築がいらない

初心者の方にとって環境構築が必要ないのはありがたいですね。

  • cloud9をベースにしたCS50IDEというWeb IDEがある
  • ブラウザ上でコーディングから課題の提出までできる
  • 開発環境を整える手間が入らない

以上のようにして、基本的にWeb 上で学習を進めることができます。

特徴④:コンピュータサイエンスの基礎が学習できる

コンピュータサイエンスは現代において非常に重要なスキルです。

  • メモリ管理
  • アルゴリズム
  • データ構造

CS50では、以上を意識しながら、小規模のプログラムを書くことができます。

特徴⑤:修了証が発行される

CS50 では「edX.org 」を通じて修了証が発行されます。

修了証は、9つの問題セット(プログラミング課題)と最終プロジェクトで満足のいくスコアを獲得した学生に与えられます。

自分が学習した証がもらえるのはモチベーションにつながりますし、積極的に狙っていくのもありです。

特徴⑥:証明証がもらえる

各コース合計10問の問題セットと最終プロジェクトを提出して自動フィードバックを受け取ることができます。

この証明書を受け取るためには、10問の問題セットの1部として提出した各課題と、コースの最終プロジェクトで満足のいくスコア(70%以上)を獲得する必要があります。

CS50で学べる言語

CS50で学習可能な言語は

この辺りです。

基本的な言語を全体的に網羅しているのが特徴です。

HTML/CSS はWebサイトを作る上で欠かせない言語ですので、真っ先に覚えておきたいですね。

CS50 の評判

Twitter 上でのCS50 の評判を見ていきましょう。

「わかりやすい」や、「勉強になる」という意見をちらほら見かけますね。

ハーバード大学の教材ということもあって時間がかかるという意見もありますね。

やはり、Progate や、ドットインストールなどの比較的難易度の低い教材と比べると難しいような印象を受けます。

CS50 で学べるコース

CS50 には以下の2つのコースがあります。

  • CS50X 2021
  • CS50’S WEB PROGRAMMING

それぞれ見ていきましょう。

コース①:CS50X 2021

このコースではコンピュータサイエンスが学べます。

Week0 ~ Week10 まで学習を進めた後最後の課題をこなす、という流れになっています。

コース②:CS50’S WEB PROGRAMMING

このコースでは、プログラミング言語やフレームワークが学べます。

具体的には以下の通りです。

CS50は以上2つのコースですが、実際に体験してみた上で、自分にあったコースを選びましょう。

CS50の学習の進め方

学習の流れは以下の通りです。

  1. CS50.jp」の順番通りに学習を進める
  2. Youtubeの動画や、ノートを見ながらインプットする
  3. 各コースでの課題を提出する
  4. ファイナルプロジェクトをやる

このような形で学習が進んでいきます。

ただ、サイトに流れに沿って学習するだけなので何も難しいことはありません。

1.「CS50.jp」の順番通りに学習を進める

例えば、「CS50X 2021」コースであれば、「Week 0」  ~ 「 Week 10」 までの流れに沿って学習していきます。

2.Youtubeの動画やノートを見ながらインプットする

次に、動画やノートを見ながらインプット学習を進めます。

Youtube の講義はかなり長めで、サクっと学習したい方にはあまり向いていません。

逆に

  • ハーバードの授業に興味がある
  • 英語と一緒にプログラミングの学習がしたい

このような人には向いています。

3. 課題を提出する

インプットが終了したら課題を提出します。

その際、サイトの指示に従って提出しましょう。

課題の提出には「Chrome」をインストールしている必要があるので公式サイトからダウンロードしておく必要があります。

課題の難易度はそこまで難しくなく、プログラミングを少し触ったことがある人には簡単です。

後半に進むにつれて徐々に面白くなっていくので楽しみながら学習を進めましょう。

4. ファイナルプロジェクト

最後にファイナルプロジェクトです。

ファイナルプロジェクトの概要は

  • 学んだ知識を生かしてソフトウェアを開発する
  • 複数人で共同作業を行う
  • 使う言語は自由
  • 何を作るかも自由

このようにして、自分が考えたソフトウェアを開発し提出します。

多くの能力が必要になりますが、ここで意識するポイントは

意識するポイント
  • ソフトウェアで何ができるか、どんな特徴があるか説明できる
  • 複数人で作業を行う場合の役割分担
  • どんなスキルを身につけ、使用するか
  • ソフトウェアの目標を定める

こういったところを意識する必要があります。

ハーバード大が公開しているだけあって、多くの能力が求められますがその分ディレクションや、チームでの開発、アイディア出しなどの経験といった、多くのリターンがあります。

ここまで完了することで修了証をもらうことができます。

CS50の難易度

CS50の難易度は入門レベルと言われており、CS50受講生の3分の2は、コンピュータサイエンスを受講したことがないそうです。

しかし、元々はハーバード学生向けに作られたものであり、日本人が学習するには英語の知識も必要になりますので、一定の難易度はあります。

また、ファイナルプロジェクトでは本格的なソフトウェア開発を行うので、プログラミングに触れたことがない全くの初心者には厳しい教材です。

初心者向けの教材としては

  • Progate
  • ドットインストール
  • Udemy

などがありますのでCS50 が難しそうだと思った場合は、こちらの利用を検討しましょう。

CS50に向いている人

  • 英語になれている
  • 基礎的なプログラミングの知識がある
  • コンピュータサイエンスを学習したい
  • アプリケーションを作りたい

上記のような人たちにはCS50 の学習が向いています。

Youtube は日本語字幕付きとはいえ全て英語ですし、ファイナルプロジェクトでは本格的なソフトウェア開発を行いますので、プログラミングに触ったことがある人でないと難しいです。

しかしそれでもハーバード大学が提供する本格的な講義を受けられるメリットは大きいのでどんどんチャレンジしてみるのもありです!

CS50でエンジニアになれる?

CS50でエンジニアになることは難しいでしょう。

CS50は学生用の教材であり、エンジニアになるためにはアウトプットが足りません。

とはいえ、ファイナルプロジェクトまでこなすことで

  • 本格的なソフトウェア開発の経験
  • チームでの開発経験

このような経験があれば市場ではある程度の評価は受けられます。

それでも足りない場合は、「Udemy」でアウトプットを増やしていきましょう。

CS50を終えた後にすべきこと

CS50 を利用する目的によって異なりますが、エンジニアを目指す場合は以下のサービスがおすすめです。

  • Udemy でレベルの高い講座を受ける
  • ドットインストール

この辺りでアウトプットを増やしていって転職サイトに登録してみるの一般の流れですね。

CS50で挫折した場合

CS50 は日本語訳されているとはいえ不自然な点があったり、内容が難しいところもあるので、合わない人も多くいると思います。

挫折してしまった場合の対処法として、

  • プログラミングスクールに通ってみる
  • Progate でプログラミングの基礎を学ぶ
  • ドットインストールを使ってみる

このような対策が考えられます。

「Progate」や、「ドットインストール」は初心者に優しい教材ですので挫折する心配ありません。

自分に合わないサービスを使い続けるのではなく、自分にあった教材を試していくことで挫折せず学習を進めていきましょう。

まとめ

ここまでの内容をまとめると

  • CS50 は初心者向けとはいえない
  • 英語やプログラミング基礎知識が求められる
  • ソフトウェアの本格的な開発ができる

このような感じになります。

ハーバード大学の教材を無料で使用できるのは大きなメリットですが、人によって合う合わないがあるのでまずは試しに使ってみることをおすすめします。

この記事がエンジニアを目指す人の参考になれば幸いです。

エンジニア転職のロードマップはこちらから

エンジニア転職に関してまとめました。

tenshoku_cta

詳細はこちらから