I tried 50 Programming Courses. Here are Top 5.

Sahil & Sarra
21 Jul 202307:08

Summary

TLDRこの動画スクリプトは、オンラインコースの選択とプログラミング学習の過程について述べています。UdemyやYouTubeで始まった多くのコースが未完成であるという問題と、平均的なコース完了率が15%である事実に焦点を当てています。スクリプトでは、HarvardのCS50やPrincetonのAlgorithms、MetaのFront end developer professional certificateなど、トップ5のオンラインコースを紹介し、それぞれの特徴や利点を説明します。また、継続的な学習と実践を維持する方法や、初級から上級開発者に到るまでのステップを提案しています。

Takeaways

  • 📊 オンラインコースの平均修了率は約15%で、多くのコースは長くなされているため、価値を感じるようになる。
  • 🎓 ハーバード大学のCS50という無料のコースがあり、プロフェッサーDavid Malanが教え、50万人以上の学生が視聴している。
  • 🧠 CS50はプログラマーのように考えることを教え、問題を分解し、論理と批判的思考を使って解決する方法を学べる。
  • 📈 「100 Days of Code」というコースは、コーディングを日常生活の一部にし、一日に1時間だけでも継続的に実践するよう促す。
  • 🐍 Pythonを学ぶにつれ、このコースではWeb開発やデータサイエンスなどの他のトピックにも触れ、プログラミングの様々な分野を探求できる。
  • 💰 Udemyで19ドルで購入できる「100 Days of Code」は、30日間の返金保証があり、もし満足できない場合は返金できる。
  • 📚 プリンストン大学の「Algorithms」コースは、データ構造やアルゴリズムを学ぶための最適なコースであり、Javaを使用して教えられる。
  • 🔍 データ構造やアルゴリズムの理解が必要なプログラミングの仕事では、MetaのFront end developer professional certificateがおすすめ。
  • 🌐 Metaのコースでは、Reactを使った最善の開発方法を学び、HTML、CSS、Javascript、Bootstrapなどの基本をカバーする。
  • 🚀 ジュニアデベロッパーからシニアデベロッパーへのステップアップには、システムのスケーラビリティや耐障害性、低遅延性について理解する必要がある。
  • 🎥 Professor Malanによるシステム設計の紹介ビデオは、スケーラビリティについて考え方を提供し、データの分割やセキュリティなど、高度な概念にも触れる。

Q & A

  • このスクリプトはどのようなトピックについて説明していますか?

    -このスクリプトは、オンラインコースの選び方と、プログラミングスキルを習得するための最適な方法について説明しています。

  • Udemyのコースの平均修了率は何パーセントですか?

    -Udemyのコースの平均修了率は約15%です。

  • CS50はどのようなコースですか?

    -CS50は、ハーバード大学が提供するプログラミング入門コースで、初心者でも理解しやすいように設計されています。C言語を使ってプログラミングの基礎を学び、問題解決能力を向上させる目的があります。

  • Professor David Malanはどのような講師ですか?

    -Professor David Malanは、ハーバード大学で非常に人気のある講師であり、「最も人気のあるハーバードの教授」とも称されています。彼は非常に専門的な知識を持っており、学生たちにプログラミングの基礎を効果的に伝えることができます。

  • 「100 Days of Code」コースはどのようなことを目的としていますか?

    -「100 Days of Code」コースの目的は、毎日のコーディングのルーティンを確立することで、プログラミングの学習を継続的に保つことです。毎日1時間だけでも、コーディングをすることでスキルを向上させることができます。

  • Data Structures and Algorithms (DSA)とは何ですか?

    -Data Structures and Algorithms (DSA)は、プログラミングの基礎的な概念と技術を学ぶためのコースです。データの整理と処理に関する問題を解決するためのアルゴリズムやデータ構造を学びます。これは、ほとんどの大学で教えられる非常に重要なトピックであり、プログラマーとしてのキャリアにおいて不可欠なスキルです。

  • Princeton大学のAlgorithmsコースはどのような特長がありますか?

    -Princeton大学のAlgorithmsコースは、分野の専門家であるProfessor Sedgewickによって教えられ、アルゴリズムの歴史と発展を深く理解できるように設計されています。このコースは、並び替え、検索、グラフアルゴリズム、動的計画法など、幅広いトピックを取り上げ、基本的な概念と技術を理解することに焦点を置いています。

  • MetaのFront End Developer Professional Certificateコースはどのような価値がありますか?

    -MetaのFront End Developer Professional Certificateコースは、フロントエンド開発のエントリーレベルのスキルを習得するための包括的なコースです。HTML、CSS、JavaScriptの基本からReactやBootstrapなどの人気のあるフレームワークまで学び、UI/UXデザインにも触れることができます。また、コーディングインタビューの準備にも役立ち、就業に向けた実践的なスキルを身につけることができます。

  • プログラミング学習において、継続的な練習が重要である理由は何ですか?

    -プログラミング学習において、継続的な練習は、スキルの向上と習得物の維持に不可欠です。最初は意欲的に練習を続けるかもしれませんが、日常生活にコーディングの習慣を組み込むことで、より効果的にスキルを向上させることができます。また、継続的な練習は、学習した新しい知識を実践し、実用的なプロジェクトに適用するのに役立ちます。

  • システム設計に関する基本的な概念を学ぶためにおすすめのビデオはありますか?

    -はい、Professor Malanが提供する、スケーラビリティについての入門ビデオがおすすめです。このビデオは、水平スケーリング、ロードバランシング、データパーティション分割、セキュリティなど、システム設計の基本的な概念をカバーしています。

  • 初心者が最初に取り組むべきプログラミング言語は何ですか?

    -初心者にはC言語から始めることをお勧めします。C言語は、プログラミングの基礎を理解するための良い出発点であり、他の多くのプログラミング言語と比較して、コンピュータのしくみをより理解することができます。また、CS50のようなコースを通じて、C言語を使ってプログラミングの基本を学ぶことができます。

  • オンラインコースを修了するための最も大きな障壁は何ですか?

    -オンラインコースを修了するための最も大きな障壁は、継続的な学習と実践を維持することです。生活の忙しさや他の責任により、コースを継続的に追い進つことが難しい場合があります。そのため、毎日のルーティンを確立し、短期間で集中的な学習を行った方が効果的です。また、問題解決やプロジェクトに取り組むことで、学んだことを実践し、より効果的にスキルを向上させることができます。

Outlines

00:00

📚 Udemyの「恥ずかしい壁」とオンラインコースの完成率

この段落では、オンラインコースの低い完成率とその理由について説明されています。Udemyで始まった多くのコースが完成されなかったと述べ、オンラインコースの平均完成率は約15%であると指摘しています。また、初心者はスキルの迅速な改善を望み、すべてのことを知る必要はなく、多くのコースが時間の価値を提供しないとも述べています。その一方で、いくつかのオンラインコースは大学如く異なるスキルを学ぶのに役立ち、特にHarvardやPrincetonなどの有名大学から提供されているコース5つについて紹介します。

05:03

🎓 ハーバード大学のCS50:プログラミングの基础教育

この段落では、ハーバード大学のCS50という無料オンラインコースについて紹介されています。このコースは、プロフィールに従ってプログラマーの考え方や論理的思考を教えることで知られています。また、ウェブ開発やデータサイエンスなどの他のトピックも紹介し、初心者が最も好きなプログラミングの分野を決定するのに役立ちます。CS50の問題セットは、週次の実践課題で構成されており、学生たちはそれを通じて学んだことを実践できます。

🚀 「100 Days of Code」:コーディングの習慣を身につける

この段落では、コーディングの習慣を身につけるための「100 Days of Code」というコースについて説明されています。このコースは、日々のルーティンとしてコーディングを1時間だけ行うことで、継続的な学習を促進することを目的としています。コースはPythonを学ぶことに焦点を当てていますが、ウェブ開発やデータサイエンスなどの他のトピックも取り上げ、学生が異なる分野を探求する機会を提供します。

📈 プリンストン大学のアルゴリズムコース:データ構造とアルゴリズムの基礎

この段落では、プリンストン大学のアルゴリズムコースについて紹介されています。このコースは、Javaを使用してデータ構造とアルゴリズムの基礎を教え、プロフィールに従って多くの重要なアルゴリズムの基礎をカバーしています。コースのインストラクターであるProfessor Sedgewickは、アルゴリズムの教学に長年の経験があり、自分でもいくつかのアルゴリズムを発明しています。

🌐 フロントエンド開発者プロフェッショナル認定:メタが提供するウェブ開発の基礎

この段落では、メタが提供するフロントエンド開発者プロフェッショナル認定のオンラインコースについて説明されています。このコースは、フロントエンド開発の基本からUI/UXデザインまで学ぶことができ、Reactという人気のフロントエンド開発ライブラリを学ぶことができます。また、このコースは、コーディングインタビューの準備にも役立ち、エントリーレベルのフロントエンド開発者のスキルを身につけるのに適しています。

🔎 システムのスケーラビリティ:Malan教授によるイントロダクション

最後の段落では、システムのスケーラビリティについてのイントロダクションを提供するビデオについて話されています。このビデオは、スケーラビリティの基本的な概念やデータの分割、セキュリティなどの高度な概念について説明し、URLを入力してウェブサイトが読み込まれるまでのプロセスに興味がある人には興味深い内容となっています。

Mindmap

Keywords

💡Udemy

Udemyはオンライン学習プラットフォームで、様々な分野のコースを提供しています。このビデオスクリプトでは、Udemy上での学習経験が引用されており、多くのコースを開始したが完了できなかった経験を共有しています。これは、オンラインコースの完成率が低いという問題を指摘し、より効果的な学習方法を提供する上で重要な背景情報を提供します。

💡Online Courses

オンラインコースは、インターネットを通じて提供される教育プログラムであり、时间和場所に制限されずに学習することができます。このスクリプトでは、オンラインコースの効果や課題について話し、特に完成率の低さが問題視されています。また、効果的なオンラインコースの選び方や推奨も行っています。

💡Programming

プログラミングは、コンピューターに命令を与える技術であり、ソフトウェア開発の基礎となります。このビデオスクリプトでは、プログラミングを学ぶための様々なオンラインコースが紹介されており、プログラマーとしてのスキル向上を目指すことが強調されています。また、プログラミングの基礎から応用まで、幅広い分野に焦点を当てています。

💡CS50

CS50は、ハーバード大学で提供されているコンピューターサイエンスの入門コースで、プログラミングの基礎から高度な概念まで学ぶことができます。このスクリプトでは、CS50が無料でYouTubeで提供され、多くの学生に愛されていることが説明されています。また、このコースがどのようにプログラマーの考え方や問題解決スキルを教えてくれるかについても触れられています。

💡Consistency

一貫性は、習慣や行動を継続する能力を指します。このビデオスクリプトでは、プログラミングスキルを磨くためには一貫性を保つことが重要であると強調されています。また、「100 Days of Code」というコースが紹介され、毎日のコーディングチャレンジや実践プロジェクトを通じて一貫性を維持する方法が提案されています。

💡Data Structures and Algorithms (DSA)

データ構造とアルゴリズムは、コンピューターサイエンスにおいて非常に重要な概念であり、効率的なプログラムを書くために必要なスキルです。このスクリプトでは、DSAを学ぶための Princeton 大学のコースが紹介されており、データ構造やアルゴリズムの基本的な概念や技術を学ぶことで、技術面接で必要なスキルを身につけることができます。

💡Web Development

ウェブ開発は、インターネット上で閲覧できるウェブサイトやアプリケーションを構築するプロセスです。このスクリプトでは、ウェブ開発の専門的なスキルを学ぶための Meta(Facebookの親会社)のフロントエンド開発者プロフェッショナル認定コースが紹介されています。このコースは、HTML、CSS、JavaScriptなどの基本からUI/UXデザインまで幅広くカバーし、エントリーレベルのフロントエンド開発者としてのスキルを身につけることができます。

💡System Design

システムデザインは、ソフトウェアやハードウェアシステムのアーキテクチャを設計するプロセスであり、拡張性やパフォーマンスの要件を満たすために重要な役割を果たします。このビデオスクリプトでは、システムデザインの基本的な概念に触れられ、大規模なユーザーリクエストを低遅延で処理できるようにシステムを設計する方法について学ぶことができます。

💡Learning Path

学習パスは、特定のスキルセットを習得するために必要なステップやコースの順序を指します。このスクリプトでは、プログラミングを学ぶための最適な学習パスを選ぶことが重要であり、スクリプトの最後には視聴者が自分に合った学習パスを選ぶための助けを提供するビデオへのリンクが示されています。

💡Coding Interviews

コーディング面接は、プログラマーとしての職務を求める際に行われる技術面接であり、データ構造やアルゴリズムなどの専門的な知識を問うことが一般的です。このスクリプトでは、コーディング面接で求められるスキルを習得するための準備や、関連するコースが紹介されています。

Highlights

The average completion rate of online courses is around 15%.

Many online courses are made long to give the illusion of more value.

CS50, a Harvard course, is available for free on YouTube and has been watched by 5 million students within its first 6 months.

CS50 is taught by Professor David Malan, known as the 'most popular professor at Harvard'.

CS50 focuses on teaching programming logic and critical thinking, not just coding.

CS50 includes challenging problem sets, from simple tasks to building a search engine.

100 Days of Code by Dr. Angela Yu helps make coding a daily routine.

This course includes daily coding challenges and real-world projects.

Algorithms by Princeton University is a renowned course for understanding Data Structures and Algorithms (DSA).

Professor Sedgewick, who teaches the Algorithms course, has been in the field since the 1980s and has invented algorithms himself.

Meta’s Front End Developer Professional Certificate on Coursera is comprehensive and taught by Meta staff.

The course covers a wide range of topics from HTML, CSS, and JavaScript to React and UI/UX design with Figma.

An introductory video by Professor Malan on scalability and system design is recommended for understanding how to handle large-scale systems.

The video also touches on advanced concepts like data partitioning and security in system design.

The presenter, Sahil, offers to help viewers create a personalized learning roadmap in a follow-up video.

Transcripts

play00:00

This is my Udemy “Wall of Shame”.

play00:02

Most of the courses that I started, I never finished.

play00:04

And that’s Udemy only.

play00:05

If I start going through all the programming courses that I did not finish on Youtube,

play00:10

this video can keep going for hours.

play00:13

In fact the average completion rate of online courses stands at around 15%.

play00:17

That’s because as a beginner, you want to see fast improvement in your skills and you

play00:21

don’t necessarily need to know everything on the face of the earth.

play00:24

And many of these courses are purposely made very long to make you think that you are getting

play00:28

more value for your money.

play00:29

But, they don’t provide much value for your time.

play00:31

Today, I want to tell you about the top 5 online courses that I have found.

play00:35

Some of these courses are from renowned universities like Harvard and Princeton.

play00:38

These courses are going to help you learn different skills.

play00:41

So, you can not just pick one.

play00:44

Let’s do this.

play00:47

Imagine starting your programming journey with the same course that a Harvard student

play00:51

would take after paying 65,000 dollars for the first year's tuition.

play00:54

Sounds unreal, right?

play00:56

Well, you can actually do that without paying a single dollar right from the comfort of

play01:00

your home.

play01:01

This course is called CS50 and it’s available for free on Youtube.

play01:05

But what makes this course so special that 5 million students have watched it within

play01:09

the first 6 months of posting on Youtube?

play01:10

For starters, the course is taught by Professor David Malan, who has also been called the

play01:15

"most popular professor at Harvard".

play01:16

And let me tell you, this guy knows his stuff.

play01:19

We have one more course by him in our top 5 list today.

play01:22

So, stay tuned.

play01:23

The course is designed in a way that even beginners can easily follow along.

play01:26

It starts with the basics of programming using C, but it's not just about coding.

play01:30

CS50 teaches you how to think like a programmer, to break down problems and solve them using

play01:34

logic and critical thinking.

play01:35

And the best part about CS50 is the problem sets.

play01:38

These are weekly assignments that challenge you to put what you've learned into practice.

play01:42

They range from simple tasks like printing out "Hello, world!"

play01:45

to building your own search engine.

play01:46

If you have any doubts about whether you will be able to learn programming using this course,

play01:50

go checkout CS50 fairs where the students show off their final projects.

play01:54

From a virtual reality game to a machine learning algorithm, the projects are truly impressive.

play01:58

Link to this course and everything else I discuss today can be found in the description.

play02:05

The hardest part of mastering programming isn't the complexity of the programming itself,

play02:09

but staying consistent with your practice.

play02:11

You start off strong, excited to finish every exercise you can get your hands on, but then

play02:15

life gets in the way.

play02:16

And weeks go by without touching your code editor.

play02:19

We've all been there.

play02:20

To solve this problem, we have a course called “100 Days of Code” by Dr. Angela Yu.

play02:24

And it does exactly what it promises.

play02:27

It makes coding a part of your daily routine, even if it's just for one hour.

play02:30

That’s why I have included this course on my top 5 list even when this course is paid

play02:35

and very long.

play02:36

Btw, this is the only paid course on our list today.

play02:38

But how does this course make sure you stay consistent?

play02:41

This course provides daily coding challenges and real world projects that help you stay

play02:45

on track.

play02:46

Even though the main focus of this course is learning Python, it also introduces some

play02:50

other topics like Web Development and Data Science.

play02:53

As a beginner, it's important to explore different areas of programming to determine what you

play02:57

enjoy most.

play02:58

And you will get to do that with this course.

play03:00

But how much do you have to pay for this course?

play03:02

I have seen this course go for 19 dollars on Udemy and it comes with a 30 day money

play03:06

back guarantee.

play03:07

You can always check this course out and get your money back if you don’t like it.

play03:13

Once you have learnt programming, most of you might want to get paid to write code.

play03:24

One of the ways to make good money is to get a job as a programmer at a tech company.

play03:28

In order to do that, you have to go through coding interviews.

play03:31

And the questions asked in these coding interviews are very different from the skills you have

play03:34

learnt so far.

play03:35

Most of these questions are based on this one very famous course called Data Structures

play03:39

and Algorithms or DSA which is taught at most universities.

play03:42

Some people watching this video do not have a computer science degree like me.

play03:46

Many simply did not understand DSA well enough in college.

play03:48

For those people, we have this course called Algorithms by Princeton university.

play03:53

This course is divided into two parts and taught using Java.

play03:56

Professor Sedgewick, who is one of the instructors of this course, has been teaching Algorithms

play04:00

since the 1980s.

play04:01

He has even invented a few algorithms himself.

play04:04

The instructors of this course have seen many algorithms come and go during their careers.

play04:08

Their book on Algorithms has been a bestseller since the 1980s.

play04:14

This course covers a wide range of topics like sorting, searching, graph algorithms,

play04:18

dynamic programming, and more.

play04:20

Rather than focusing on specific algorithms in isolation, this course covers the fundamental

play04:24

concepts and techniques that make the basis of many important algorithms.

play04:28

This helps students to build a deep understanding of the subject that can be applied to a wide

play04:32

range of problems in the interviews.

play04:34

That’s what makes this course the best course on Data Structures and Algorithms.

play04:38

DSA requires a good understanding of Math which many of you might not have.

play04:43

Additionally, the DSA path gets you hired for generic positions and many people want

play04:48

to work in specialized jobs.

play04:49

One of the most popular specializations that has a very high demand is Web development.

play04:54

The biggest issue with learning web development is that this path is very long and most people

play04:58

lose track as they try to learn web development in an unstructured way.

play05:02

To solve this problem, I recommend Meta’s Front end developer professional certificate

play05:06

on Coursera.

play05:07

If you want the certificate, it will cost you around 270 US dollars.

play05:11

But there is an option to audit the courses and get them for free if you don’t care

play05:15

about the certificate.

play05:17

So why do I recommend this course?

play05:19

Well, the course is taught by the Meta staff who work in the industry and have a good understanding

play05:23

of the skills the tech industry is looking for.

play05:25

Meta is also the creator of React which is the most popular and the most in demand front

play05:29

end development library.

play05:30

So, you’ll learn the best practices in React through this course.

play05:33

This course is extremely comprehensive and covers everything you need to get an entry

play05:37

level job as a front end developer.

play05:38

It teaches the basics like HTML, CSS and Javascript.

play05:42

It also covers Bootstrap which is a very popular CSS framework.

play05:45

We already discussed React which is a popular Javascript library.

play05:48

You will also learn the basics of UI and UX design with Figma.

play05:52

The course ends with a separate section on Coding Interview preparation which is a must

play05:55

to land a job.

play05:56

I will link this course in the description.

play05:59

Everything that we have discussed so far can only get you to the level of junior developer.

play06:04

And there’s a big gap between a junior and a senior developer.

play06:06

That’s because a junior developer can simply write and push code for the bug that is assigned

play06:11

to them.

play06:12

But a senior developer has to make sure that the systems this code gets deployed to do

play06:15

not break down if this code is buggy.

play06:18

Additionally, they also need to ensure that the architecture of this system is designed

play06:20

in a way that it can handle a large number of user requests with low latency.

play06:25

Once again, let's turn to Professor Malan to help us understand how it's done.

play06:29

Now this one is not a full course per se, it’s just an introductory video on how to

play06:32

think about scalability.

play06:34

But it’s a great starting point because System Design can be quite overwhelming for

play06:37

some people.

play06:38

This video covers basics like horizontal scaling, load balancing and scaling.

play06:42

It also covers slight advanced concepts like data partitioning and security.

play06:46

If you are curious about what exactly happens in the time between you type a url and the

play06:49

website loads, you should definitely watch this course.

play06:52

Now you know all the different courses you can take to streamline your programming journey.

play06:56

But you still don’t know how to pick a roadmap that is personalized for your background.

play06:59

If you want me to help you with that, watch this video.

play07:02

My name is Sahil and I will see you in the next one.

Rate This

5.0 / 5 (0 votes)

Related Tags
プログラミングオンライン教育無料で利用初心者スキルアップキャリアデータ構造アルゴリズムウェブ開発システム設計
Do you need a summary in English?