アニメーションではなく、読めるデバッガー。

ほとんどのアルゴリズムサイトは映像を再生するだけ。VizLearn では自分で操作できます——入力を変え、ステップ実行し、各フレームで実行中のコード行を読み、理由を確認したいときは解説に切り替える。

  • コード・画面・ログが完全同期

    これが核心です。ハイライトされたコード、キャンバス、ログが同じ瞬間を表します。値が比較されると該当の if が光り、ログにも記録される。複数の言語や解法があるレッスンでは、コード片も選択に合わせて切り替わります。

  • 自分の入力を打ち込む

    レッスンが受け付ける配列・ターゲット・グラフ・データ構造の操作列を自分のものに差し替えれば、アニメーション・コードハイライト・ログがそれを軸に再構築されます——固定のデモではありません。

  • スクラブ・ステップ・再生

    本物のトランスポートバー:タイムラインをドラッグし、1ビートずつ進め、速度を落とす。分からない瞬間で止めて、好きなだけそこに留まれます。

  • 手描きは意図的

    すべて 1920×1080 のホワイトボードに同じ手で描かれています。無機質な UI ではなく、優秀な TA のノートのように読める——その温かさが難しい概念を親しみやすくします。

  • 無料で始め、進捗はあなたのもの

    アカウント不要で学習を始められます。最近開いたレッスン、ブックマーク、保存した入力はこのブラウザに保存され、ライフタイムプランならデバイス間で同期されます。

詰まった瞬間のために

プレーヤーの周りにも道具がある

プレーヤーはトレースを開くもの。その後には、不変条件を読んだり、自分の操作で構造を動かしたりする作業が待っています。

  • 解説は独立したビュー

    ビジュアライズは実行の流れを示します。解説では不変条件・計算量・境界条件・よくある間違いを、プレーヤーを動かさずに読めます。

  • データ構造は操作列で動く

    スタック、キュー、連結リスト、木、ヒープ、ハッシュ表は操作列を受け取り、探索経路と構造を書き換える瞬間をアニメーションにします。

1つのレッスンだけではない

次のステップを予測

ソート・探索・データ構造のどのレッスンも、トレースの途中で止まって次の一手を予測させます——交換するかしないか、左か右か。アルゴリズムを「見覚えがある」のと「予測できる」のは別のスキルです。

  • アニメーションそのものが答え

    本物の分岐点で一時停止し——交換するかしないか、左か右か——予想を確定。次のビートを再生すると、アニメーション自身が正解を見せてくれます。

  • 毎回新しいデータ、覚える答えはない

    トレースは入力の純粋関数なので、毎回新しくランダム化されたデータから問題が生成されます。覚えておける固定の答えはなく、目の前の状態から導く必要があります。

  • スキル別に分解した習熟度

    一つのスコアでは何を間違えたか見えません。実行トレース・境界条件・不変条件・計算量の四つの側面を別々に追跡し、どこを習得しどこが課題かを正確に示します。

難所へ直行

大事なケースへワンクリック

ほとんどのレッスンに「シナリオ」の行があります——タップ1つで、ある性質を否応なく際立たせる入力を読み込みます:すでにソート済み(最良ケース)、逆順(最悪)、実際に衝突するハッシュテーブル。AI のレッスンも同じで、失敗モードを使います——発散する学習率、外す検索クエリ、起きるべきでないツール呼び出し。壊れるケースこそがカリキュラムであり、脚注ではありません。その行があるレッスンでは、どこでも誰でも無料で使えます。

そのまま共有

レッスンを持ち出す

現在の入力を共有したり、自分のページにインタラクティブなプレーヤーを埋め込んだり、PNG を保存したりできます。買い切りプランでは動画も書き出せます。

  • 自分の入力をそのまま共有

    すべての入力は URL に入っています。リンクをコピーすれば、相手も同じ入力から生成される同じトレースを冒頭から開けます——汎用のデモではありません。

  • インタラクティブなプレーヤーを埋め込む

    <iframe> を1つ貼るだけで、インタラクティブなレッスンがあなたのブログ・ドキュメント・コースの中で動きます——本物の操作付きで、スクリーンショットではありません。

  • フレームや動画を書き出す

    現在の画面を PNG として無料で保存できます。買い切りプランでは、ウォーターマークなしの PNG やアニメーション全体の動画を書き出せます。

問題や改善案

GitHub でフィードバックを追跡

公開の GitHub Issues で不具合の報告、改善案、レッスンのリクエストを送れます。必要に応じてレッスンのリンクやスクリーンショットを添え、返信や進捗を確認できます。