「Udemyのプログラミングおすすめ講座」で紹介されているプログラミング講座は、大抵決まっています。
そこで、今回は「(おそらく)誰も紹介していない優良プログラミング講座」に焦点を絞っていきたいと思います。
対象者は、
- プログラミング学習で何の言語やどんな技術を勉強すればいいか少しでも迷っている
- 自分の作品を作り、ポートフォリオとしてアピールできるようにしたい
- 1つの講座でなるべく多くの事を学びたい(重要)
- 挫折しにくい講座が知りたい
- 応用が効く講座が知りたい
人など、様々です。
特に3番目ですが、網羅系の講座だと基礎のところで10〜15時間くらい平気で使ってしまうので、仮に20時間くらいの講座だとしても応用編や実践編に関しては他の講座に譲るような形になっているものが比較的多いです。これがモチベーション低下につながる可能性もあるのでそういうものは今回は紹介しないことにします。
逆に向いていない人は以下の通りです。
- 中学英語すらままならないくらい英語が絶望的で今回紹介する講座名の英語すら全く分からない人
- 個人の開発は経験済みで、大人数での開発を視野に入れている人
1番目を見てもらえれば分かるとおり、今回紹介する講座は全て英語のものです。しかし、なるべく英語が苦手な方でもついていけるよう、丁寧な内容のものを選んでいます。僕個人としてはいくつか日本語の講座も受講したのですが、英語のものを紹介します。理由については他の記事で述べようと思います。
それでは紹介していきます。当然、今回紹介する講座は全て僕が実際に受けたものなので安心してください笑。僕自身今まで10個程度のUdemyのプログラミング講座を受けてきた中からの厳選です!
おすすめNo1. The Complete 2020 Flutter Development Bootcamp with Dart

基本情報
- 講師: Dr.Angela Yu
- 評価: 4.7
- 言語: Dart
- 講義時間: 27.5時間
- 内容: IOSとAndroidアプリ開発
Google Flutterチームとの共同講座
この講座はGoogle Flutterチームとの共同講座です。基礎から実践まで学べますが、非常に挫折しにくい構造になっています。
多くのUdemyのプログラミング講座では、以下のように、まず基礎編をやり、それが一通り終わったら応用編に進んでいきます。
多くのUdemy講座

正直10時間も基礎をやるのは苦行です。しかも、応用編に入ったら「基礎編でやったことの半分くらいしか使ってなくない?!」みたいな事も発生し得ます。
しかし、この講座では、挫折率を最小限に保つため、必要な事柄を必要になった時に解説し、演習を挟んで「分かったつもり」になるのを防ぎます。
この講座

ちなみに、上の画像で「簡単な演習」とありますが、言葉通り、本当に簡単です。プログラミングを一切やったことのない日本人でも殆ど分かると思います。一回の演習は大体1〜5分くらいで終わるものが多いのでスムーズに進みます。
Flutterとは? Dartの需要は?
簡単に説明すると、DartはGoogleが2011年に開発したプログラミング言語で、FlutterはIOSとAndroid両方に対応したアプリを開発するためのプラットフォームです(Flutterでは主にDartを使用)。
例えば、今まではIOS開発ではSwift(Objective-C), Android開発ではJavaやKotlinといったように別々に開発する必要がありましたが、Flutterを使えば両方に対応したアプリが作れます!
では、Flutterでメインに使われているDartという言語の需要ですが、これは最近までむしろ「需要は少ない」と言われていました。
例えば、以下の表は、2018年の「ワーストプログラミング言語」ですが、あらゆる使用で不名誉な首位を独占しているのが分かります笑
しかし、次の2019年では順位が大幅に下がって全体順位は1位から14位にまで下がりました。

この、Dartの順位が下がった=需要が上がった要因の一つにFlutterの登場が挙げられると思います。
Flutterが登場したのは2017年の5月だったので、まだ浸透していない18年では順位が1位だったものの、19年には段々と浸透し始め、13も順位が下がる結果になりました。
これからも徐々に需要が高まりそうです!
何ができるようになるか
講座を1周すれば、少なくとも以下の事柄ができるようになります。
- Dartの文法が一通り分かるようになる
- シンプルな1画面アプリが作れるようになる
- 計算機能を実装したアプリが作れるようになる
- 音を発するアプリが作れるようになる(ピアノアプリ等)
- (重要)APIを使ったアプリが作れるようになる(ビットコイン価格や天気情報の取得等)
- (重要)相互通信が必要なアプリが作れるようになる(メッセージアプリ等)
後半になっていくと、普通にAppStoreやGoogle Play Storeにあるようなアプリのクオリティーになっていきます。ここで学んだ事を応用すれば色んなアプリが作れるようになりますよ^^
惜しいポイント: 他の言語と併せて使う方法が解説されていない
僕は個人的にPythonでの機械学習のデータをFlutterでのアプリ開発に使いたかったのですが、流石にそこら辺までは解説されていませんでした。
一応、Pythonでの機械学習の「結果」をWeb上にアップして、それをDart側で受け取る事もできるのですが、機械学習のデータ(仕組み)そのものとDartを組み合わせるのはかなり面倒で分かりづらいです。
ただ、これは正直多くの人にはあまり関係のない話だと思います笑
この講座で学んだことは他にも応用が効く
最初に学ぶプログラミング言語としてDartを挙げる人はまずいませんが、一つの言語を習得したら追加で学ぶ時にかなりアドバンテージになります。
また、アプリやWebページなど、目に見える成果物を作りたい人にとってもおすすめです。デザイン面にあまり触れない講座が多い中、この講座は一般デザインからアニメーションまでかなり力を入れて説明してくれます。
少しでも気になった方はぜひチェックしてみてください^^
おすすめNo2. Python and Flask Bootcamp: Create Websites using Flask!

基本情報
- 講師: Jose Portilla
- 評価: 4.6
- 言語: Python, HTML, CSS
- 講義時間: 20時間
- 内容: Python Flaskを用いたWebサイトの作成
さて、先ほどは主にスマホアプリ開発の講座でしたが、この講座ではWebサイトの作成がメインです。Flaskというプラットフォームを使って作成していきます。
Pythonだけでなく、HTML、CSSの基礎も分かる
本講座は以下のような構造になっています。

HTMLとCSS合わせて3時間もありませんが、これで一通りデザインに関しては理解、実践できます。
Pythonに関しては、この講座では述べられていない基本的事項もありますが、それらは一人でWeb制作をするにあたっては必要ないので上手く取捨選択されていると思います。
Webサイトの基本的な部分は実装可能になる
例えば、
- ログイン機能・データベース機能(SQL)
- 支払い機能
- 記事投稿機能
などの機能は全て説明されています。逆にこれらの機能が分かれば大体のWebサイトは作成できます。
Q&Aを見れば大体のエラーやつまづきポイントは解消される
この講座はQ&Aの回答がとにかく早いです。大体の質問は1〜2日以内に解決されている印象があります。
プログラミングにエラーはつきものですが、そういう時に普通はWebで調べると思いますが、この講座に関しては殆どQ&Aで事足ります。
そのため、「エラーが修正できなくて挫折した」といったことは非常に起こりにくいと思います。
Web制作でPython?
Web制作といえば、日本ではどちらかというとRubyやPHP, JavaScriptを使うのが主流だと思います。実際Udemyのコースでもこれらの言語の方がWeb制作の講座は充実しています(日本語では)。
今回Pythonを選んだ理由は、
- 世界のトップ企業がPythonをWeb制作に使っている
- 機械学習などと絡めてWebサイトをパワーアップしやすい
- Pythonの低難易度
が主です。
例えば、下の画像の会社ではPythonが使われています。特に、左上のNetflixはFlaskを使用しています。

あとは、機械学習と絡めて「おすすめの商品を紹介する」機能なども実装しやすくなり、Pythonそのものの難易度の低さを考えるとPythonでのWeb制作はおすすめできます。
惜しい点: Heroku以外のデプロイ方法が解説されていない
当然、Webサイトは作ったら公開(デプロイ)するのですが、この講座では公開方法としてHerokuを用いています。herokuでのデプロイはかなり簡単で早く終わるのですが、通信速度が遅いなどといったデメリットもあります。
僕も一度、herokuではなく、このブログのサーバーからアップできないか色々試行錯誤してみましたが上手くいかず、泣く泣くherokuでデプロイしました泣
下のリンクは、実際に僕が作ったサイトですが、結構読み込みに時間がかかると思います笑。APIを多用しているのでもともとの速度も遅いのですが、herokuでデプロイすることによってさらに遅くなっています笑
https://flowprod.herokuapp.com/
スラスラと学習できる
もちろん個人差はありますが、僕はこの講座を受講し始めて3日くらいで初めてのWebアプリを制作できたので好きな講座の一つです。
早くWebアプリを作りたい方はチェックしてみてください!
おすすめNo3. Machine Learning A-Z™: Hands-On Python & R In Data Science

基本情報
- 講師: Kirill Eremenko, Hadelin de Ponteves
- 評価: 4.5
- 講義時間: 44時間
- 言語: PythonまたはR
- 内容: 機械学習の実装
機械学習を使うのは難しくない!
機械学習にはそれぞれ学習のモデルと呼ばれるものがあります。
例えば、株価予測に適した/適さないモデル、画像認識に適した/適さないモデルなど、様々な種類のモデルがあって、それぞれ得意分野と不得意分野があります。
各学習モデルを完全に理解するには以下の3つを押さえておく必要があります。
- 学習モデルの概要の理解
- 学習モデルのアルゴリズム(仕組み)の理解
- 学習モデルを使用
しかし、2番目のアルゴリズムに関しては、知らなくても機械学習を使う上では問題ありません。知っておくと応用が効いたり、理解が深まったりするものです。
機械学習の簡単な実例
Natural Language Processing
日本語では自然言語処理と言います。下の画像はGoogleが提供しているAPIのデモの一例ですが、結構な精度で文章の「ネガティブ/ポジティブ」判定が行えます。

Simple Linear Regression
これは、機械学習の最もシンプルなモデルの一つです。以下のような株価予測などに使えます。

ディープラーニングを含む、様々なモデルが紹介されている
今紹介したSimle Linear Regressionをはじめ、ディープラーニングの一種であるANNやCNN, 最近登場したXGboostなど、25種類以上のモデルが紹介されています。これらを一通り押さえておけば、どの場面でどのモデルを使うかの判断もしやすくなってきます。
惜しい点: RNNがない
ディープラーニングの一つにRNNがありますが、その解説はありません。例えば、「パソコ」の次にくる言葉はおそらく「ン」ですよね^^。このように、連続した情報を統合して次の要素を予測するのがRNNのざっくりとした概要です。
RNNは非常に用途が多いものの、残念ながらこの講座では解説されていません。まあ、ここまで来れば自分で調べれば良いのですが笑笑
機械学習初心者におすすめ
各学習モデルの説明がしっかりしていて、かつ、網羅性の高いこの講座は機械学習初心者にはおすすめなので是非チェックしてみてください^^
おまけ: Artificial Intelligence A-Z™: Learn How To Build An AI

講師はMachine Learningのと同じで、言語はPythonです。今回の記事は「英語が苦手でも(多分)大丈夫」な講座をピックアップしましたが、英語が得意な人はMachine LearningよりもこちらのAIの講座の方が面白いと思います。
おまけなので詳しい説明は省きますが、一言で言うと以下の動画のAIを実装できます。
この動画、タイトルが"Deep Learning Cars"になっているのですが、正直さっき紹介したMachine Learningの講座だけでは実装が難しいと思います。
気になる方は是非チェックしてみてください!
まとめ
以上です!