23 のテーマに整理された 130 個の独立したコーディング課題を通して、JavaScript の問題解決力を鍛えます。型変換、文字列、配列、関数、オブジェクトから始まり、ブラウザ操作、さらに難度の高いアルゴリズム問題へ進みます。
1 つのアプリを順番に作るチュートリアルではありません。仕様を読み、求められた JavaScript やページ動作を実装し、用意された環境で結果を確認します。苦手なテーマだけを選ぶことも、全体を通して継続的に練習することもできます。
学習内容
このコースを修了すると、次のことができるようになります。
- 明確な要件に合わせて、JavaScript の型変換、比較、配列操作、文字列変換を使う。
- クロージャ、debounce、タイマー、
call、apply、reduceの動作を扱う関数を実装する。 - オブジェクトと JSON を変換し、構造化データを解析し、入れ子の値を比較して deep clone を実装する。
- DOM を操作し、要素ツリーを走査し、イベントに反応するページ動作を実装する。
- 探索、ソート、two pointers、sliding window、シミュレーション、数学の問題を JavaScript で解く。
- 走査、再帰、二分探索木の規則を使って stack と binary tree の処理を実装する。
- 複数段階の課題に対して、動的計画法、貪欲法、backtracking を選択する。
- 文章で示された制約を汎用的な解法に変換し、用意された test やブラウザ動作で確認する。
このコースの対象者
JavaScript の基礎を理解し、自力で数多くの問題を解きたい学習者向けです。DOM を強化したい frontend 学習者や、代表的なデータ構造・アルゴリズムのパターンを練習したい方にも適しています。レベル表記は Beginner ですが、後半は序盤より大幅に高い思考力を求めます。
前提知識: JavaScript の変数、条件分岐、loop、関数、配列、オブジェクトを扱えることを推奨します。ブラウザ課題には基本的な HTML と DOM の知識が役立ちます。後半では再帰と一般的なデータ構造の経験が有用ですが、進めながら深めることもできます。
学習環境: 130 課題すべてを、用意された Ubuntu 22.04 WebIDE で実行します。課題に応じて JavaScript や既存の HTML/CSS project を編集し、terminal で用意された check を実行するか、local page を起動して browser preview で動作を確認します。外部 account や deployment service は不要です。
よくある質問
初めて学ぶ JavaScript コースとして適していますか?
最初の 1 コースとしては最適ではありません。序盤で基本構文を練習できますが、各概念を順番に教わるのではなく、自分で解法を実装します。変数、制御構文、関数、配列、オブジェクトを先に学んでから利用してください。
どれくらいの内容が含まれますか?
23 グループ、合計 130 課題です。JavaScript 基礎、文字列、配列、関数、オブジェクト、DOM、イベントから、木、動的計画法、貪欲法、backtracking、正規表現、複雑な問題解決まで扱います。
課題は順番どおりに解く必要がありますか?
いいえ。非順序型のコースで、各課題に独立した初期環境と目標があります。テーマを選んで取り組めますが、言語基礎からアルゴリズムへ進むと、より自然に難度を上げられます。
完全な Web アプリや frontend framework を作りますか?
いいえ。実用的なページ操作やシステム風機能を実装する課題はありますが、1 つの最終アプリを作るコースではありません。React、Vue などの framework を体系的に学ぶ内容でもありません。




