Python で学ぶアルゴリズム とデータ構造(初級編)【丁寧な解説+Python 実装でアルゴリズム の基本を学習】
What you'll learn
- 基本的なソートアルゴリズムをPythonを使って実現する方法を学びます
- ソートアルゴリズムを題材に、アルゴリズムとデータ構造の基礎的な概念を学びます
- 分割統治法・動的計画法・バケットなど、ソートよりも複雑なアルゴリズムを理解するためにも必要な概念を理解できます。
Requirements
- 講座「Pythonから飛び込むプログラミングの世界【丁寧な解説 + 小さなシステム開発ゼミで知識「ゼロ」から「使える」知識に】」の演習問題を、自力で解決できるレベルのPythonプログラミングスキル
Description
この講座の特徴
この講座は、はじめてアルゴリズムとデータ構造を学ぶあなたが、短時間で効率よく、基本の基本を理解するための講座です。
ソートアルゴリズムを題材に、アルゴリズムとデータ構造の基本の概念について学んでいきます。
変化の早いコンピュータの世界だと、数年後には使えなくなるような知識も多いですが、
アルゴリズムとデータ構造は一過性のブームではなく、学んでおくと今後ずっと使える息の長い知識です。
ずっと使える知識ならば、善は急げです。まずは基本の基本をこの講座で身につけましょう!
初級編と中級編からなり、確実にステップアップしながら学習を進めることができます。
初級編ではアルゴリズムがメインで、中級編ではデータ構造がメインになっています。
Pythonによる実装の解説も行っています。概念と実装の両面から、深く理解しましょう。
この講座が目指す達成状態
アルゴリズムを全く知らなかったPythonプログラマーが講座終了後に、
ソートアルゴリズムを題材に演習と解説を行うことで、
アルゴリズムとデータ構造の基本的な概念を理解している状態を目指します。
扱う内容・扱わない内容
アルゴリズムとデータ構造の考え方の本質的なところにしぼって解説していきます。
発展的なアルゴリズムについては扱っていません。プログラマであれば絶対に理解しておきたいアルゴリズムだけを厳選して収録しています。
またPythonによる実装を行っていますが、Pythonらしい実装をしているわけではないことに注意してください。
あくまでも、Pythonのみ使える初級プログラマーが、アルゴリズムを実装面からも理解するために、Pythonによる解説を行っています。
ですので、おすすめできる方とおすすめできない方はそれぞれ以下のような方かと思います。
・おすすめできる方
Pythonで基本的なプログラムは書けるようになったので、アルゴリズムとデータ構造を学んでより上達したい方
アルゴリズムを学ぶのは初めてなので、まずは最も基本的なアルゴリズムの理解を優先したい方
・おすすめできない方
発展的な、最新のアルゴリズムやデータ構造について知りたい方
アルゴリズムとデータ構造については学習済みで、Pythonicな実装方法が知りたい方
講座の進み方
基本的には、演習問題とアルゴリズムの解説を繰り返す形で進んでいきます。
演習に取り組むことで、アルゴリズムを理解した「つもり」で終わらないようにしましょう。
演習問題にはヒントも用意しておりますので、ご自分のスキルに応じてご活用ください。
Google ColaboratoryというGoogleが提供するブラウザ上のPython実行環境を用いて学習を進めます。
つまづきやすい環境構築が不要なので、Pythonの学習に集中できます。
Who this course is for:
- アルゴリズムとデータ構造の基本的な概念を理解したい方
- 「バブルソートを説明して」と言われたら、説明できない方
- ワンランクステップアップしたいPythonプログラマーの方
- 陳腐化しない本質的な知識を得たい方
- Pythonプログラマー向けのアルゴリズム教材がなくて困っていた方
Instructor
教育活動をメインに行うソフトウェアエンジニアです。
「本質・唯一・効率」をキーワードに、プログラミング教育を行っています。
本質を捉えた、ただひとつの教材で、プログラミング初学者の効率的な学習を支援します。
~これまでの経歴~
神奈川県生まれ神奈川県育ち。
京都大学農学部卒業。
教えることが好きで、大学在学中は塾講師として、小学2年生から大学受験生まで幅広く指導しました。
卒業後は学校の先生になろうと思ってましたが、教員免許取得に必要な単位が取れず挫折。
どうしようかと迷っていた所、大学の研究室でプログラミングに出会いました。
「これは面白い!」と思い、エンジニアになることを決意。
大学卒業後は、決済系ベンチャーやAI受託開発企業でのエンジニアとして、画像認識を利用した不良品検出システムの開発などを経験しました。
エンジニアとして働くかたわら、学校の先生になる代わりに、プログラミングを社会人の方に教えはじめ、個人事業主として独立。
対面で500人以上、オンラインで50,000人以上の方に教えてきました。
著書に「ゼロからわかる Linuxコマンド200本ノック―基礎知識と頻出コマンドを無理なく記憶に焼きつけよう(技術評論社)」がある。
2020年・2021年の2年連続で、ストアカ優秀講座賞受賞。
教育アプリ開発も行う。