Webサービスの開発やWebサイトのスクレイピングから機械学習まで、様々なことができるプログラミング言語のPython。
Pythonは人気プログラミング言語ランキングの中でも上位に入っていて、プログラミング学習初心者の方からプログラミング経験が豊富なベテランエンジニアの方にまで人気な印象です。
今回は、プログラミング言語Pythonを学べるUdemyのPythonコースの中で、プログラミングを学ぶ目的別にオススメのコースを紹介していきます。
Udemyとは?Udemyの特徴
Udemyとはどんなサービスなのか?
Udemy とは、Google・Apple・FacebookなどIT有名企業が本社を置くアメリカのシリコンバレーで生まれたオンライン学習サイトです。
プログラミング言語のPython以外にも多くのプログラミング言語のコースや、Webデザインのコースなど、様々なプログラミングを学習することができます。
普段は1つのコースで1万円から2万円程度の価格になっていますが、不定期で開催されているセール期間中は、セール対象コースが1200円〜1800円程度から購入できる場合もあります。
2020年のセール期間はいつ頃か、セール期間以外でもUdemy のコースを安く購入する方法は以下の記事でまとめています。
Udemyでプログラミング学習をするメリット
Udemyでプログラミングを学習することのメリットをかんたんにまとめると以下ですね。
Udemyでプログラミング学習するメリット
- 不定期でセールを行なっており、最安値1,200円から購入できるタイミングがある。
- 買い切りで購入時点しか料金はかからず、さらに購入から30日間は返金保証あり(2019年12月9日現在)。
- 再生速度を0.5倍〜2倍速に調整できて、速く流したいところは倍速、ゆっくり理解したいところは低速にできる。
- 動画形式で、電車移動中など耳と目しか使えない場所でも自由に学べる。
- コースによっては、講師の方が無償で質問に回答してくれる場合もあり、疑問点を解消できる。
セール中に購入できれば技術書を1冊買うよりも安い値段でコースを購入できますし、電車通勤中などの作業ができない隙間時間でも学習することができるのは嬉しいですよね。
個人的には、「電車の中で流し聞きをしていて、家に帰ったあと気に気になった箇所をしっかり復習する」という学習方法を取り入れています。
新しい技術をスキマ時間で効率的に学習できるので、重宝しています。
プログラミング言語Pythonとは?
Pythonは、プログラミング言語の中でも比較的少ないコード量で処理を書けることや、機械学習やデータ構造の加工処理のライブラリが豊富なことがあって近年人気が上昇している言語です。
(画像:プログラマー年収ランキング2016!言語別、第1位はPythonの651万円 | みんなのスタンバイ)
エンジニア向け求人の中でもPythonを書けるエンジニアの需要が高まっていることがわかりますね(株式会社ビズリーチのスタンバイという求人検索サイトに掲載されている求人の年収別に比較された画像より)。
UdemyでPythonが学べるオススメのコースを難易度と目的別に
Pythonを学びたい方の学習の目的は、以下のいずれかになると思います。
Pythonで学びたいもの
Pythonを学ぶそれぞれの目的別に、Udemyのオススメのコースを紹介していきます。
紹介しているコースの最初の方が初心者の方向けで、あとになるほど難易度が上がって経験者の方向けのコースとなっていきます。
Pythonの基礎を一通り学びたい方向け
はじめてのプログラミング言語としてPythonを学ぶ、初心者の方向けのオススメコースを紹介していきます。
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
こんな方にオススメ!
- プログラミングに初めて取り組む方
- Pythonの文法を一通り理解したい方
- Pythonを学べば何に活用できるのか知りたい方
Pythonの基礎を一通り学ぶなら、このコースで間違いないでしょう。
プログラミング未経験の方でも理解しやすいように、Pythonを動かせるようになるための設定方法から説明されており、Pythonでのプログラミング方法の基礎を一通り学ぶことができます。
Webエンジニアとして働くなら必須となるデータベースの知識や、並列化、テストのことまで幅広く取り扱われているので、このコースの内容を手を動かしながら理解できれば、プログラミング能力の基礎は十分につくと思います。
このコースで学べること
- Pythonの基礎(データ構造、制御の流れ、モジュールとパッケージ、オブジェクト、クラス、ファイル操作)
- Pythonでのコーディング形式
- ロギング、例外(エラー)処理
- データベースの役割と種類、ORM
- ネットワーク(HTTP通信)、スクレイピング
- テストの実装方法、方針、mock化
- 並列化(マルチスレッド、マルチプロセス)、非同期処理
- 暗号化(文字コード、ハッシュ)
- インフラ自動化(Vagrant、Ansible)
- Pythonでよく使う便利なライブラリ
- Pythonでデータ解析するときに利用する知識
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
PythonでWebサービスを開発したい方向け
Pythonを使って何か動くWebサービスを作ってみたい!という方向けにオススメのコースです。
【3日でできる】Django 入門 ( Python 3 でウェブアプリを作って AWS EC2 で公開!)
こんな方にオススメ!
- PythonとHTMLとCSSの基礎はだいたい理解できている方
- Python(Django)でWebアプリケーション開発をして公開するところまで経験したい方
Pythonの基礎はだいたい理解できたけど、実践的なWebアプリケーションを開発できるようになりたい!という方にオススメのコースです。
PythonでWebサービス開発するときに利用されることが多いDjangoというフレームワークを利用して簡単なWebアプリケーションを開発し、AWSのクラウドサーバーを利用して外部公開するまでの手順を学ぶことができます。
PythonとDjangoでのWebアプリケーション開発方法は、公式ドキュメントや開発事例がまだまだ整備されていないので、独学では学習が難しい。
そんなDjangoとPythonでのWebアプリケーション開発を学べるのこと、初心者のつまづきやすいポイントであるDjangoアプリケーションのAWSへのデプロイの手順も説明されているのが嬉しいですね。
基本的に何をしたいのかは変わらないので大きな問題にはならないと思いますが、AWSの操作画面は2018年のものなので少し変わっている部分もあるのでそこは注意が必要です。
このコースで学べること
- Python(Django)でのWebアプリケーション開発
- サーバー環境にDjangoのアプリケーション配置する方法
- レスポンシブ対応(Bootstrap)
- Amazon Web Service EC2でインスタンス管理・料金チェック
- Gunicorn(アプリケーションサーバー)でDjangoアプリを動作させる方法
- WSGI(ウィズギー)を使用したNginx(Webサーバー)Gunicorn・Djangoを使ったアプリ運用方法
【3日でできる】Django 入門 ( Python 3 でウェブアプリを作って AWS EC2 で公開!)
Pythonで作業の自動化/スクレイピングをしたい方向け
普段Webサイトでしている情報収集や、Webサイトの操作をPythonプログラムで自動化して、業務効率化をしたい方向けのコースです。
PythonによるWebスクレイピング〜入門編〜【業務効率化への第一歩】
こんな方にオススメ!
- 普段Webサイトでしている操作を自動化したい方
- Webサイトのデータを収集して分析をしたい方
- 画像の加工処理を自動化したい方
普段の業務をプログラムで効率化・自動化することで、仕事の大部分は削減することができます。そんな、「プログラミング初心者だけど、業務効率化プログラムをPythonで実装できるようになりたい!」という方にオススメのコースです。
Webサイトを自動で操作したり自動でログインするために利用されるseleniumの使い方から、ランキング形式のWebサイトから欲しいデータを抽出して、CSV形式に加工する方法などが網羅されていて、これから業務効率化に取り組んでみたい方にうってつけの内容になっています。
このコースで学べること
- seleniumでWebサイトに自動ログインする方法
- Webページのテキスト情報を取得する方法
- PillowとPythonで画像を加工する方法
- Pandasでデータを整理し、CSV形式のファイルにする方法
PythonによるWebスクレイピング〜入門編〜【業務効率化への第一歩】
Pythonでデータサイエンスを学びたい方向け
データ解析の基本となる可視化・統計・機械学習などデータサイエンスに関するあらゆる実践的なスキルを学習したい方向けのコースです。
【世界で5万人が受講】実践 Python データサイエンス
こんな方にオススメ!
- プログラミングだけでなく、データサイエンスやデータの可視化に興味がある方
- データサイエンスの基礎を学びたい方(プログラミング初学者でも可)
Pythonを使ってデータを解析して可視化するために必要なスキルが網羅されていて、2019年12月9日時点で2.8万人以上の方に受講されている大人気コースです。
Python初心者の方でも、Pythonを利用したデータ解析とデータの可視化を通して、データサイエンスの基礎を学び、Pythonの理解を深めることもできます。
データサイエンスをするときに利用することになるライブラリは一通り学べますし、この後に紹介する機械学習に関しても理解が深まるのは嬉しいですね。
このコースで学べること
- numpyを使った数値計算
- pandasを使った効果的なデータ解析
- matplotlibとseabornを使ったデータの可視化
- Pythonを使ったデータ解析の方法論
- 機械学習の基礎
Pythonで機械学習を学びたい方向け
機械学習で利用する基本的な数学知識を学び、Pythonで実践的な機械学習の実装もできるようになりたい方向けのコースです。
みんなのディープラーニング講座 ゼロからChainerとPythonで学ぶ深層学習の基礎
こんな方にオススメ!
- ディープラーニング・人工知能・機械学習に興味があるけど何から始めればいいのか分からないという方
- ディープラーニングをビジネスで扱う方(文系・非エンジニア問わず)
- ディープラーングもPythonプログラミングも身に付けたい方
プログラミング言語Pythonや数値計算ライブラリNumpyを学び、ディープラーニング(深層学習)を手を動かしながら学びたい初心者向けのコースです。
ニューラルネットワーク用のライブラリChainerを使用し、実際に手を動かして動作を体験しながら学習を進めることができるので理解しやすいです。
ディープラーニングを学ぶ上で必須となる数学の前提知識がなくても理解しやすいように工夫されているので、非エンジニア・プログラミング初心者の方にもオススメです。
このコースで学べること
- ニューラルネットワークとバックプロパゲーション
- ディープラーニングによる分類
- 畳み込みニューラルネットワーク
- 機械学習で利用される技術の全体観
みんなのディープラーニング講座 ゼロからChainerとPythonで学ぶ深層学習の基礎
【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 -
こんな方にオススメ!
- 機械学習を学びたいけど、技術書で独学するのは難しいと感じた方
- 機械学習の本で記載されている数式の意味を理解したい方
- 数学に苦手意識があるけど、機械学習を学びたい方
Pythonでのプログラミングを通して機械学習の原理となる数学知識を理解し、実装できるようになります。
数学に苦手意識がある方に向けて丁寧に解説されているので、とてもわかりやすく機械学習で利用される数学知識を理解することができて嬉しいですね。
実際に日常でもありそうな分析事例(家賃分析)を例にとって、単回帰分析を使ってPythonで実装することで、数学の知識がどのように機械学習に生かされているのか理解が進みます。
動画が5時間弱になっていて短期集中で一気に学びきれるのもいいですね。
このコースで学べること
- 機械学習で使われている数学の種類と基礎
- Pythonの基礎
- 微分の基礎と、微分が利用される利用用途
- 単回帰分析の基礎と、単回帰分析が利用される利用用途
【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 -
【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 中級編 -
こんな方にオススメ!
- 機械学習を学びたいけど、技術書で独学するのは難しいと感じた方
- 機械学習の本で記載されている数式の意味を理解したい方
- 数学に苦手意識があるけど、機械学習を学びたい方
「【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 -」の続きとして提供されている機械学習の基礎を学習できるコースです。
Numpyを用いた線形代数演算、Scikit-learnを用いた機械学習の実装、データの相関関係の可視化、平均・標準偏差・正規分布など統計の数式、外れ値の除去方法、予測に大きな影響を与えている変数の抽出など、機械学習で用いられる技術の基礎を学ぶことができます。
初級編の知識を前提として説明が進んでいくので、初級編を受講しているか、初級編で扱われている内容を理解できている状態で望むとよいかと思います。
このコースで学べること
- 線形代数の基礎(スカラー・ベクトル・行列、行列の演算、転置、単位行列・逆行列)
- 重回帰分析の基礎、Scikit-learnでの実装
- 実データでの学習と予測の演習
- 統計の基礎(統計量、正規分布と3σ法、スケーリング)
- 外れ値を考慮した重回帰分析
【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 中級編 -
【画像判定AIアプリ開発・パート1】TensorFlow・Python・Flaskで作る画像判定AIアプリ開発入門
こんな方にオススメ!
- 機械学習をプログラミングを通して実践から学びたい方
- オリジナルデータで画像分類器を開発したい方
- TensorFlowとKerasでディープラーニングを実装したい方
- 画像判定AI技術を利用したWebアプリケーションを開発したい方
Pythonを使って機械学習を利用したWebアプリケーションを開発する方法を学びたい方にオススメのコースです。
Pythonを使ってWebサイトのクローリングを行って画像データを収集し、収集したデータを加工して深層学習の前処理(準備)をし、前処理済みデータを使ってディープラーニングを実行してモデルを作成する。作成したモデルをもとに判定器の性能評価をして、精度向上のためのデータ改善を行った判定器に画像データを与えれば推定をしてくれるWebアプリケーションを開発していきます。
実装を通して機械学習を実践的に学ぶことができますし、応用的に様々なテーマでの分類器が作れるようになります。
このコースで学べること
- Python・Anaconda・TensorFlow CPU版を使う上での環境構築手順
- 画像分類AIをPythonで開発する実装力と開発手順
- 判定器の精度向上の方法
- Python(Flask)によって画像分類器をWebアプリケーション化する方法
【画像判定AIアプリ開発・パート1】TensorFlow・Python・Flaskで作る画像判定AIアプリ開発入門
【TensorFlow・Python 3】GANによる画像生成AI自作入門
こんな方にオススメ!
- 画像自動生成AIの開発を学びたい方
- TensorFlowのチュートリアルは理解できていて、GANのモデルを自作してみたい方
- GAN(敵対的生成ネットワーク)の理論をPythonでの実装を通して理解したい方
テキストから画像を生成したり、低解像度な画像から鮮明な高解像度画像を生成したり、人間の映像を自動生成することができるアルゴリズムであるGAN(敵対的生成ネットワーク)について実践を通して学べるコースです。
一年前にバズったアニメキャラの自動生成にも利用されているアルゴリズムで、今後さまざまな業界で利用されることになっていくことになりそうな技術ですね。
仕事柄調べてて最近すごいなって思ったのはアニメキャラクターの自動生成。
— らーく@シノアリス・グラブル (@lark1115caster) 2018年6月1日
GAN(Generative Adversarial Network)という技術(機械学習の分野)があるんですけど、かなり精度の高いものを生み出す研究が進んでて面白いです。
動画はAI (GAN) × Blockchain × Animeを謳うCrypko社のもの。 pic.twitter.com/OByNmQENR0
このコースでは、GANによる画像生成AI開発をTensorFlowを用いて進めていくことで、GANの理論の理解と実装方法の理解を進めることができます。
このコースで学べること
- GANの基礎と利用方法と画像の自動生成プログラムの実装方法
- 畳み込みニューラルネットワークを使用したDCGANによる画像生成
- matplotlibによるグラフ描画(FIG、AXES)
- pickleによるデータの保存・読込み
【TensorFlow・Python 3】GANによる画像生成AI自作入門
Pythonでブロックチェーンを開発したい方向け
今後の社会を大きく変えていくのではないかと期待されているブロックチェーン技術を活用した開発に入門したい方向けのコースです。
現役シリコンバレーエンジニアが教えるPythonで始めるスクラッチからのブロックチェーン開発入門
こんな方にオススメ!
- ブロックチェーン技術を手を動かしながら理解したい方
- 仮想通貨の仕組みと技術を学びたい方
Pythonで仮想通貨の送金システムを構築しながら、ブロックチェーンの根幹にある技術と考え方を学べる、これからブロックチェーン開発に取り組みたい方にオススメのコースです。
ウォレットのプログラム、ウォレットからのトランザクション送信、マイニングのAPI、トランザクションの同期方法など、ブロックチェーンで活用されている様々な技術を実際に実装しながら理解することができます。
講師の方が「元オリンピック金メダリストサッカー選手で、現役シリコンバレー在住エンジニア」と経歴が変わっていますが、説明のわかりやすさと技術力は本物ですね。
このコースで学べること
- ブロックチェーンの仕組み
- ブロックチェーンのトランザクションの認証
- ブロックチェーンを繋げるハッシュの仕組み
- プロックチェーンのマイニングでのナンスを導き出すコンセンサスアルゴリズム
- 仮想通貨の送受信の仕組み
現役シリコンバレーエンジニアが教えるPythonで始めるスクラッチからのブロックチェーン開発入門
Pythonでドローンを制御する方法を学びたい方向け
Amazonがドローンの配送サービス参入を目指していたり、映画業界で映像撮影に利用されていたりと、今後活躍の機会が急増していくであろうドローンをPythonで制御する方法を学びたい方向けのコースです。
現役シリコンバレーエンジニアが教える未経験者のためのPythonドローンプログラミング
こんな方にオススメ!
- ドローンなどロボットをプログラミングで操作したい方
- 自動運転や画像認識の基礎を学びたい方
- Pythonでアプリケーションを開発したい方
ドローンのようなロボットの自動制御や、画像認識、それらの技術を利用したWebアプリケーションを開発したい方向けのコースです。
OpenCVを使った顔認識プログラミング、Pythonによるドローン遠隔自動操作、Flaskを利用したWebカメラアプリの実装方法などを実装しながら学ぶことができます。
日本国内では2019年現在、屋外でドローンを飛ばすことができる場所は限られているのでドローンを操縦する機会は少ないかと思いますが、屋内でドローンを試してみたいときや、ドローンではないIoTハードウェアを制御するときにも応用できるプログラムを学ぶことができるのは嬉しいですね。
このコースで学べること
- OpenCVで顔認識をする方法
- ドローンの遠隔操作プログラミング方法
- ドローンを利用したゲームの開発方法
現役シリコンバレーエンジニアが教える未経験者のためのPythonドローンプログラミング
まとめ
以上、「【エンジニア初心者向け】UdemyのPython入門のオススメコースを厳選」でした。
Pythonは初心者の方でも簡単に取り組めるのにも関わらず、Webサイト上での作業効率化やWebサービスの開発、機械学習など様々な分野での開発に活用できるというメリットがあるので、早めに習得しておきたいプログラミング言語の一つですね。
「Python以外のプログラミング言語も学びたい!」という方は、エンジニアの学ぶ目的別にUdemyのオススメのコースを紹介している記事もあるので、こちらも読んでみてください。
それでは、よりよいプログラミングライフを!