有料プラン

コンピューターサイエンス:アルゴリズム / OS / ネットワーク / DB

ソート、探索、再帰などのアルゴリズムに加え、OS (プロセス、メモリ、ファイルシステム)、ネットワーク (TCP/IP、HTTP、DNS、CDN)、データベースまで、Web エンジニアに必要な CS の基礎を一本で学べる総合コースです。エンジニア転職を目指す学習者や、CS 出身でない現役エンジニアを対象としています。約 34 時間 (1 日 30 分 × 68 日) で 135 レッスンを修了でき、修了後は技術選定やシステム設計の議論に自信を持って参加できるようになります。

レッスン

135件

所要時間

約15時間

ランク

中級

学習環境

ブラウザ完結

目標

アルゴリズムとデータ構造を理解し、効率的なプログラムが書けるようになります。

概要

ソート、探索、再帰などのアルゴリズムに加え、OS (プロセス、メモリ、ファイルシステム)、ネットワーク (TCP/IP、HTTP、DNS、CDN)、データベースまで、Web エンジニアに必要な CS の基礎を一本で学べる総合コースです。エンジニア転職を目指す学習者や、CS 出身でない現役エンジニアを対象としています。約 34 時間 (1 日 30 分 × 68 日) で 135 レッスンを修了でき、修了後は技術選定やシステム設計の議論に自信を持って参加できるようになります。

できるようになること

配列、リスト、スタック、キューを実装できる

木構造とグラフの基本を理解できる

ソート・探索アルゴリズムを実装できる

計算量(Big-O)を分析できる

コーディング面接の基本問題を解けるようになる

よくある質問

前提知識・必要な環境

必須

  • 何らかのプログラミング言語の基礎

推奨

  • 再帰の概念
  • 基本的な数学(対数など)

環境

ブラウザ完結(インストール不要)

必要ツール: ブラウザ内エディタ, JavaScript/Python

内容

テキストでの解説

84

レッスン

コーディングの問題

44

レッスン

クイズ問題

7

レッスン

監修

ゆめさくコード編集部

プログラミング学習をもっと身近に。初心者から実務レベルまで、わかりやすいコンテンツをお届けします。

生田 陸人

ゆめさくエンジニア / 現役ソフトウェアエンジニアRuby on Rails・Nuxt.js・Next.js・CakePHPなどの実務の開発をベースに、学習コンテンツを作成しています。

レッスン

このコースの導入スライド

レッスンの最初に、図と短い言葉で学ぶ内容をつかみます。

導入スライドをすべて見る

コンピュータサイエンス アルゴリズム編 - 階乗(再帰)

積んでから、帰り道で掛ける

実行を進めて、factorial(4) の箱が底まで積まれてから値が降りてくるところを見てください。

基底を n <= 1 と書くのは 0 のためだけではありません。うっかり負の数が来ても底に着かせるための保険です。

再帰の呼び出しスタック

1 / 1

階乗(再帰)

コンピュータサイエンス アルゴリズム編 - フィボナッチ数(再帰)

同じ fib を何度も呼んでいる

n を 1 ずつ上げて、fib(k) ごとの呼び出し回数がどこから急に伸びるか見てください。

基底で return 1 と書くと fib(0) が 1 になり、数列全体が 1 つずれます。ここだけは return n です。

同じ fib を何度も呼んでいる

1 / 1

フィボナッチ数(再帰)

コンピュータサイエンス アルゴリズム編 - 累乗(再帰)

1 ずつ減らすか、半分に割るか

exp を動かして、上下 2 列のマスの数がどこから離れていくか見てください。

引数が 2 つに増えても、減らすのは exp だけで base は据え置きです。動かす引数を 1 つに決めるのが引数が増えたときのコツです。

1 ずつ減らすか、半分に割るか

1 / 1

累乗(再帰)

コンピュータサイエンス アルゴリズム編 - 配列の合計(再帰)

先頭 1 個と残りに切る

配列の長さを変えて、切るたびに作られる残りの配列が何マスぶん増えるか見てください。

この切り方は合計のためだけの小技ではありません。マージソートも木の走査も、同じ「先頭と残り」の形で書かれています。

先頭 1 個と残りに切る

1 / 1

配列の合計(再帰)

このコースの動く図解

動かしながら、仕組みや変化を目で確かめられます。

動く図解をすべて見る

こんな人におすすめ

技術面接対策をしたい人

を目指す人

パフォーマンスを意識したコードを書きたい人

を目指す人

CSの基礎を体系的に学び直したい人

を目指す人

おすすめしない人

  • ×プログラミング経験がまったくない人

腕試しに、1問だけ解いてみる

カメ師範「十の巻、開いてみるか」

1問目は無料で解けます。教材を見ないで、依頼と完成条件だけを読んで書いてみてください。

アルゴリズム道場 カメ師範の十の巻

前提が不安な方へ

先にこちらを通しておくと、つまずきにくくなります

次に学ぶなら

このコースを終えたあとに進むと、無理なく続けられます

あわせて学びたい

同時に進めると、理解が早くなる組み合わせです