アルゴリズムに関する最高のオンライン クラスとプログラム

出版社:

更新しました:

2019年には、 ほぼ40% の開発者はコンピューター サイエンス以外のバックグラウンドを持っています。 多くの人は、以下に挙げるようなオンライン コースを通じてプログラミングを学習しています。 もちろん、これはプログラミングを学ぶのに効果的な方法であり、私たち TUN はオンライン教育の擁護者であることを誇りに思っています。 ただし、オンラインでプログラミングを学習することの欠点の XNUMX つは、実際のプログラミングの問題を解決するために使用できる貴重なコンピューター サイエンスの概念を見逃してしまう可能性があることです。

アルゴリズムもそのトピックの XNUMX つです。 プログラマーは、日常の仕事で必ずしも大局的なアルゴリズムの概念について考える必要はありませんが、コンピューターがどのように動作し、情報を処理するかを理解するためには、アルゴリズムの基本的な知識が不可欠です。 アルゴリズムなどの抽象化を理解すると、よりクリーンでより適切に構造化されたコードを作成するのにも役立ちます。 そして、より実践的なレベルでは、アルゴリズムはコーディングの面接でよく聞かれるトピックです。

アルゴリズムのような高度なコンピューター サイエンスのトピックについて学ぶことは、恐ろしいことかもしれません。 幸いなことに、そのために学校に戻る必要はありません。 のようなウェブサイトのおかげで、 Udemy, Coursera, Pluralsight, アルゴリズムに関する無料および手頃な価格のオンライン コースが何千もあります。 お気に入りのリストをまとめましたので、自宅で快適に自分の時間に学ぶことができます。

アルゴリズムに関するオンライン コースs

1. アルゴリズムの概要

これは入門コースです アルゴリズムの実際の応用に焦点を当てています。 これは、基本的なデータ構造を日常のコンテキストで使用して、一般的なプログラミングの問題に対する解決策を簡素化できるという概念に基づいています。 アルゴリズムの複雑さを読み取って分析する方法を学び、プログラムを実行せずにプログラムがどのように実行されるかを予測できるようになります。 単純なアルゴリズムと複雑なアルゴリズムの両方を戦略的に利用して問題を解決し、計算時間を短縮する方法を学びます。 コースの最後には、複雑さのクラス P と NP、および有名な P 対 NP の質問に対処するため、いくつかの高レベルの理論的概念も取り上げられます。 コンピューター サイエンスの博士号を持つソフトウェア開発者、ラスムス アモッセンが教えるこのコースは、プログラミングには精通しているが、アルゴリズムの世界にはまだ足を踏み入れていない学生に最適です。

  • 大学の単位: NO - 証明書のみ
  • 価格: 個人プランの場合は、10日無料トライアルの後、月額$ 35または年額$ 299が請求されます。 プレミアムプランの年間請求額は$ 449
  • 財政援助または奨学金: NO
  • モバイル学習: はい
  • 自己学習 はい
  • 柔軟な締め切り: はい
  • 完了までに必要な時間 4時間、4分
  • 言語: 英語
  • ベンダー: Pluralsight

注: この記事に記載されているすべてのコースの価格は、発行日現在のものですが、変更されることがあります。

2. JavaScript アルゴリズムとデータ構造のマスタークラス

このコース UdemyとブートキャンプインストラクターのColt Steeleが提供する、アルゴリズムとコンピューターサイエンスのインタラクティブで包括的な入門書です。 これには 21 時間以上のビデオ レッスンが含まれており、コース全体に課題やプロジェクトが散りばめられています。 このコースは、Big O 記法や再帰などの全体的な概念から始まります。 次に、コース全体およびコーディング面接で使用する、問題解決のための 10 つのステップのアプローチを学びます。 そこから、検索アルゴリズムや数種類の並べ替えアルゴリズム (クイックソート、マージソート、基数ソートなど) を含む、さまざまな種類のアルゴリズムを深く掘り下げていきます。その後、データ構造を操作して、XNUMX 個のアルゴリズムを最初から実装します。 最後には、ヒープ、グラフ、ダイクストラの最短パス アルゴリズムなどの高度なトピックを扱うことになります。 このコースでは基本的な JavaScript の知識が必要ですが、アルゴリズムやデータ構造の概念についての事前知識は必要ありません。

  • 大学の単位: NO - 修了証明書のみ
  • 価格: $ 20.99発売中($ 149.99通常価格)
  • 財政援助または奨学金: NO
  • モバイル学習: はい
  • 自己学習 はい
  • 柔軟な締め切り: はい
  • 完了までに必要な時間 21時間、30分
  • 言語: 英語、インドネシア語、イタリア語、ポーランド語、ルーマニア語の字幕付き
  • ベンダー: Udemy

3. コーディングインタビューブートキャンプ:アルゴリズム+データ構造

将来の開発者は皆、恐ろしいコーディング面接を恐れる必要があることを知っています。 このコース は、面接のアルゴリズムとデータ構造について必要なすべてを教えるように設計されています。 このコースでは、コーディング面接の質問でよく出てくる比較的単純なアルゴリズムとデータ構造を多数取り上げます。 講師のスティーブン・グライダー氏は、すぐに解決策を考えようとはしません。 むしろ、各質問に着実に取り組むことで、コンピューター サイエンスの学位がなくても、アルゴリズムがどのように、そしてなぜ機能するのかを理解できるようになります。 言い換えれば、プログラマーのように考えて行動することを学びます。 このコースは、アルゴリズムやデータ構造に関する背景知識がほとんどまたはまったくない人向けに設計されていますが、基本的な JavaScript については知っている必要があります。

  • 大学の単位: NO - 修了証明書のみ
  • 価格: $ 19.99発売中($ 89.99通常価格)
  • 財政援助または奨学金: NO
  • モバイル学習: はい
  • 自己学習 はい
  • 柔軟な締め切り: はい
  • 完了までに必要な時間 12時間、51分
  • 言語: 英語、英語、インドネシア語、イタリア語、日本語、ポーランド語、ポルトガル語、ルーマニア語、タイ語の字幕付き
  • ベンダー: Udemy

4. アルゴリズム、パートI

これは、プリンストン大学によるアルゴリズムとデータ構造に関する2部構成のコースの最初で、プログラミングと問題解決に焦点を当て、実世界の例とアプリケーションを使用しています。 アルゴリズム、パートI データ型、並べ替え、検索について説明します。 最初に、スタック、キュー、バッグ、ユニオン検索、優先キューなど、さまざまなデータタイプについて学習します。 その後、クイックソート、マージソート、ヒープソート、基数ソートなどの一般的なソートアルゴリズムに進みます。 最後に、バイナリ検索ツリー、赤黒バイナリ検索ツリー、ハッシュテーブルなどの検索方法について説明します。 また、いくつかの基本的なアルゴリズム分析を学び、プログラムの実行時間を測定し、数学モデルを使用してその動作を説明する方法を学びます。 そのままで、 アルゴリズム、パートI アルゴリズムとデータ構造の強力な紹介として機能します。 より複雑なアルゴリズムとデータ構造に興味がある場合は、2番目のモジュールへの移行を検討してください アルゴリズム、パートII.

  • 大学の単位: NO - コース証明書のみ
  • 価格: 監査は無料ですが、コース証明書を取得して購入するには料金がかかります
  • 財政援助または奨学金: はい
  • モバイル学習: はい
  • 自己学習 はい
  • 柔軟な締め切り: はい
  • 完了までに必要な時間 約32 時間 (6 週間、6 週間あたり 10 ~ XNUMX 時間を推奨)
  • 言語: 英語、韓国語、ロシア語の字幕付き英語
  • ベンダー: Coursera

5. アルゴリズム、パートII

プリンストン大学のアルゴリズムとデータ構造に関する XNUMX 部構成のコースの最初のモジュール (アルゴリズム、パートI) は、基本的なデータ構造と並べ替えおよび検索アルゴリズムに焦点を当てています。 で この XNUMX 番目のモジュール、グラフおよび文字列処理アルゴリズムが中心的な役割を果たします。 このコースでは、幅優先探索、深さ優先探索、最小スパニング ツリー (MST) 問題に対するプリムのアルゴリズムとクラスカルのアルゴリズム、ダイクストラの最短パス優先 (SPT) アルゴリズムなどのグラフ アルゴリズムについて説明します。 次に、Knuth-Morris-Pratt (KMP) アルゴリズム、正規表現、三分探索ツリー、ハフマン コーディング圧縮、Lempel-Ziv-Welch (LZW) データ圧縮アルゴリズムなどの文字列処理アルゴリズムについて学びます。 最後に、B ツリー、サフィックス配列、マックスフローなど、前に説明した基本アルゴリズムを利用するいくつかの高度なアルゴリズムについて説明します。 最後のセクションでは、悪名高い P 対 NP 問題に取り組み、普遍的な問題解決モデルの可能性について説明します。

  • 大学の単位: NO - コース証明書のみ
  • 価格: 監査は無料ですが、コース証明書を取得して購入するには料金がかかります
  • 財政援助または奨学金: はい
  • モバイル学習: はい
  • 自己学習 はい
  • 柔軟な締め切り: はい
  • 完了までに必要な時間 約34 時間 (6 週間、6 週間あたり 10 ~ XNUMX 時間を推奨)
  • 言語: 英語と韓国語の字幕付きの英語
  • ベンダー: Coursera

6. 最新のアプリケーションで高度なデータ構造を使用する

この高度なアルゴリズムのコース オンラインアルゴリズムコースの典型的な範囲を超えています。 実践的な応用に重点を置き、ハッシュ関数とハッシュ テーブルの実装、ブルーム フィルターとカッコー フィルター、素セット データ構造、トライ ツリーとサフィックス ツリー、B ツリー、R ツリー、M ツリーなどの空間インデックスについて学びます。木。 これらすべてのデータ構造を理論的かつ実践的な観点から、多くの例とともに学習します。そのため、コースの終わりまでに、これらのデータ構造を安心して適用して、複雑な問題に対する簡単な解決策を見つけることができるようになります。 この講座は「」の続編です。アルゴリズムの概要「」では、基本的なデータ構造、ハッシュ テーブル、ツリー構造、および基本的な複雑さの分析について説明します。 これらの概念に慣れていない場合は、まず入門コースの受講を検討してください。

  • 大学の単位: NO - 証明書のみ
  • 価格: 個人プランの場合は、10日無料トライアルの後、月額$ 35または年額$ 299が請求されます。 プレミアムプランの年間請求額は$ 449
  • 財政援助または奨学金: NO
  • モバイル学習: はい
  • 自己学習 はい
  • 柔軟な締め切り: はい
  • 完了までに必要な時間 4時間、22分
  • 言語: 英語
  • ベンダー: Pluralsight

7. アルゴリズムとデータ構造

In このコースでは、学生は、選択ソート、線形検索、バブル検索アルゴリズムとリンク リスト データ構造を含む、基本的な関数アルゴリズムとデータ構造を詳しく説明します。 これらのアルゴリズムがどのように機能するか、それらを比較する方法、および実際のプログラミング シナリオでそれらを使用してプログラムを簡素化および改善する方法を学びます。 このコースは、オブジェクト指向プログラミング言語、特に Java の経験を持つプログラマーを対象としています。

  • 大学の単位: NO - 修了証明書のみ
  • 価格: 月額 39.99 ドルの「Learn」サブスクリプションがセール中 (通常価格 44.99 ドル)
  • 財政援助または奨学金: NO
  • モバイル学習: はい
  • 自己学習 はい
  • 柔軟な締め切り: はい
  • 完了までに必要な時間 20時間
  • 言語: 英語
  • ベンダー: クイックスタート

8. データ構造とアルゴリズム:Javaを使用した詳細

このコース 配列や Big O 表記法からヒープに至るまで、データ構造とアルゴリズムについて知っておくべきすべてを詳しく説明します。 基本から始まり、理論と実践の両方の観点から各データ構造と概念を徹底的に分析します。 データ構造とは何か、それらがどのように機能するかだけでなく、プログラミング プロジェクトやアプリケーションにデータ構造を実装する方法についても学びます。 そのため、データ構造とアルゴリズムの基本はすでに知っているが、さらに深く掘り下げたい人にとっては最適なコースです。 ただし、データ構造について学び始めたばかりの学生にも適しています。 このコースでは、アルゴリズムやデータ構造に関するこれまでの経験は必要ありませんが、オブジェクト指向プログラミング言語、できれば JavaScript を知っている必要があります。 

  • 大学の単位: NO - 修了証明書のみ
  • 価格: $ 18.99発売中($ 99.99通常価格)
  • 財政援助または奨学金: NO
  • モバイル学習: はい
  • 自己学習 はい
  • 柔軟な締め切り: はい
  • 完了までに必要な時間 16時間
  • 言語: 英語、インドネシア語、イタリア語、タイ語の字幕付きの英語
  • ベンダー: Udemy

9. Java の高度なアルゴリズム

ほとんどの入門コースでカバーされているアルゴリズムとデータ構造 (基本的な検索アルゴリズムや並べ替えアルゴリズムなど) をすでに学習したら、より高度なアルゴリズムに進みます。 で このコースでは、グラフ アルゴリズム、幅優先および深さ優先の検索アルゴリズム、ダイクストラの最短パス、アービトラージ、強接続コンポーネントなどについて学びます。 これらのトピックはすべて、理論的および実践的な観点の両方から説明されており、ほとんどのトピックのコード例が示されているため、これらのアルゴリズムがプログラミング シナリオで実際にどのように実装されるかを確認できます。 このコースでは、Java に精通しているだけでなく、基本的なアルゴリズムを理解している必要があります。

  • 大学の単位: NO - 修了証明書のみ
  • 価格: $ 18.99発売中($ 199.99通常価格)
  • 財政援助または奨学金: NO
  • モバイル学習: はい
  • 自己学習 はい
  • 柔軟な締め切り: はい
  • 完了までに必要な時間 9時間、46分
  • 言語: 英語とスペイン語の字幕付きの英語
  • ベンダー: Udemy

10. アルゴリズム: 設計と分析、パート 1

このコースは、スタンフォード大学が edX 経由で提供する 6 週間のプログラムで、アルゴリズムをゼロから学びます。コースを受講する前に、Python、Java、C などの言語での基本的なプログラミング スキルに精通している必要があります。このコースでは、「Big-oh」表記法、ソートと検索、除算と征服 (マスター メソッド、整数と行列) がカバーされます。乗算、最近接ペア)、ランダム化アルゴリズム (QuickSort、最小カットの縮小アルゴリズム)、データ構造 (ヒープ、バランス検索ツリー、ハッシュ テーブル、ブルーム フィルター)、グラフ プリミティブ (BFS と DFS のアプリケーション、接続性、最短パス)。さまざまな評価を通じてアルゴリズムの基礎を実践して習得します。

このトピックをさらに深く掘り下げることに興味がある場合は、同じスタンフォード大学の教授が提供するこの関連コースをチェックしてください。 アルゴリズム: 設計と分析、パート 2.

  • 大学の単位: NO - 認証済み証明書のみ
  • 価格: 監査は無料ですが、認証済み証明書の取得と購入には$ 189の手数料がかかります
  • 財政援助または奨学金: はい
  • モバイル学習: はい
  • 自己学習 はい
  • 柔軟な締め切り: はい
  • 完了までに必要な時間 6週間(2-4時間/週を推奨)
  • 言語: 英語字幕付きの英語
  • ベンダー: EDX

アルゴリズムに関するオンライン プログラムs

11. アルゴリズムの専門化

この専門スタンフォード大学がCourseraを介して提供する、基本的なプログラミング経験を持つ学生向けのアルゴリズムの包括的な紹介です。 4つの別々のコースで構成され、主に全体像と理論的観点からアルゴリズムにアプローチします。 このプログラムは、分割と征服、ソートと検索、ランダム化アルゴリズムなど、一般的に使用されるアルゴリズムをカバーすることから始まります。 各コースを進むにつれて、ますます複雑化するアルゴリズム、データ構造、および概念を使用して、最短経路、NP完全性、およびアルゴリズムでは効率的に解決できない問題に対処するための戦略を完了します。

4コース:

コース1: 分割統治、ソートと検索、およびランダム化アルゴリズム

コース2: グラフ検索、最短経路、およびデータ構造

コース3: 貪欲なアルゴリズム、最小全域木、および動的計画法

コース4: 最短経路の再検討、NP完全問題およびそれらの対処方法

  • 大学の単位: NO - 専門証明書のみ
  • 価格: 監査は無料ですが、Specialization Certificateを取得して購入するには料金がかかります
  • 財政援助または奨学金: はい
  • モバイル学習: はい
  • 自己学習 はい
  • 柔軟な締め切り: はい
  • 完了までに必要な時間 約4ヶ月(1週間あたり8時間が推奨)
  • 言語: 英語字幕付きの英語
  • ベンダー: Coursera

アルゴリズムとデータ構造の MicroMasters プログラム

カリフォルニア大学サンディエゴ校が提供する「アルゴリズムとデータ構造の MicroMasters プログラム」は、オンラインで利用できるアルゴリズム プログラムと同じくらい包括的です。 これは XNUMX つの個別のコースで構成されており、主要なタイプの基本および高度なアルゴリズムとデータ構造をすべてカバーします。 アルゴリズムの応用だけでなく、計算問題を解決するためのアルゴリズムを設計し、ソリューションを実装する方法も学びます。 また、現実世界の問題を解決するためのアルゴリズムの応用に特化したコース全体も含まれています。 たとえば、最後からXNUMX番目のコースでは、「ゲノム配列決定におけるグラフアルゴリズム「」では、グラフ アルゴリズムを使用して DNA の小さな断片からゲノムを組み立てる方法を検討します。 このコースは、学生がゲノム配列決定用に最適化されたオリジナルのソフトウェア プログラムを構築するという課題に取り組む挑戦的なキャップストーン プロジェクトで終わります。

  • コース数: 8つの大学院レベルのコース
  • 大学の単位: いいえ — MicroMasters プログラム証明書のみ
  • 価格: $ 1,080発売中($ 1,200通常価格)
  • 財政援助または奨学金: はい
  • モバイル学習: はい
  • 自己学習 はい
  • 柔軟な締め切り: はい
  • 完了までに必要な時間 1 年 (288 ~ 360 時間の作業を推奨)
  • 言語: 英語 
  • ベンダー: EDX

その他のオンラインコースについては、TUNを確認してください キュレーションされたクラスのリスト、または オンラインクラス検索エンジン あらゆる科目で最高のオンラインコースを見つけるために。

6か月の無料トライアル

次に、Amazon プライムを半額 – 50% オフでお楽しみください!

トゥンアイ – あなたの教育アシスタント

トゥンアイ

奨学金、大学検索、オンライン授業、経済援助、専攻の選択、大学入学、勉強のヒントなど、私がお手伝いいたします。

大学ネットワーク