What you'll learn:
- アルゴリズムの基礎
- データ構造の基礎
- コーディング面接対策
恐らく、皆さん「アルゴリズムって本当に必要なの?」っと疑問に思っている方もいらっしゃるかと思います。例えば、「実際の現場であまり使わないなー」とか、「今の仕事はWEBのフレームワークのやり方さえ覚えれば、WEBアプリなんて簡単に作れちゃうし」などなどあるとは思います。
ただ、考えていただきたいのですが、なぜあのGAFAと言われるGoogle、Apple, Facebook、Amazonが入社試験で必ずアルゴリズム、データ構造のコーディング面接があるかを考えてみてください。
皆さんもお聞きしたことがあるかもしれませんが、Google検索アルゴリズム、Tesla自動運転アルゴリズムなど世界をリードして最先端の技術革新をしている会社では、ちょっとでもコードが早くなるように、プログラマーが、最適なコードを書く必要があるのです。
もしかすると、単に、今の世の中にあるWEBフレームワークなどを単純に使いこなして、小規模なWEBページなどを構築するだけの簡単な仕事だったら必要ないのかもしれません。ただし、日本でも人気のサービスとなった多くのシステムでは、スケーラビリティーの問題に直面するはずです。初めはアルゴリズムなんて気にせずに動くだけのコードでよかったとしても、データー量が増えてきたら処理に時間がかかるコードはネックになります。そんな時に、アルゴリズムの最適化の知識があるエンジニアは重宝されるわけです。
シリコンバレーでエンジニアとして働くには、入社試験で、必ずアルゴリズムのコーディング面接があり、それを突破しなければ、働けません。コーディング面接がない企業は聞いたことがありません。
日本のエンジニア採用では、志望動機やコミュニケーション力を重視される面接ですが、アメリカでは、志望動機よりもコーディングスキルが重要視されます。
今後の日本のエンジニア採用がどうなるかわかりませんが、日本Googleでもコーディング面接があるように、今後の有名企業でのエンジニアではアルゴリズムのコーディング面接が必須になってくることも考えられるかと思います。
本コースでは、前半にPythonを用いてアルゴリズムとデータ構造を基礎からしっかり学び、後半にはコーディング面接対策をカバーしたコースとなっております。Pythonの基礎をおさえていれば、アルゴリズムの基礎から習得できるコースとなっておりますので、ご安心ください。それでは、コースでお会いできれば幸いです!