mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-05-28 18:26:54 +00:00
10124 lines
494 KiB
JSON
10124 lines
494 KiB
JSON
{
|
||
"responsive-web-design": {
|
||
"title": "(レガシー) レスポンシブウェブデザイン チャレンジ課題",
|
||
"intro": [
|
||
"このレスポンシブウェブデザイン認定講座では、開発者がウェブページを実装するために使う言語について学びます。ページの内容には HTML (Hypertext Markup Language)、デザインには CSS (Cascading Style Sheets) を使用します。",
|
||
"初めに、HTML と CSS の基礎を学ぶために、猫の写真アプリを作ります。その後、ペンギンの絵を作りながら CSS 変数等のモダンなテクニックを学びます。そしてウェブフォームを作りながらアクセシビリティのベストプラクティスを学びます。",
|
||
"最後に、Flexbox を使った Twitter カードや CSS グリッドを使った複雑なブログレイアウトの作成を通じて、さまざまな画面サイズに応答するウェブページを作成する方法を学びます。"
|
||
],
|
||
"note": "注意: 広告ブロッカーやダークモード拡張などの、一部のブラウザ拡張機能がテストに干渉する可能性があります。問題が発生した場合、コース受講中はページのコンテンツやレイアウトを変更する拡張機能を無効にすることをお勧めします。",
|
||
"blocks": {
|
||
"basic-html-and-html5": {
|
||
"title": "HTML と HTML5 の基礎",
|
||
"intro": [
|
||
"HTML は、ウェブページの構造をブラウザに伝えるために特別な構文や記法を使用するマークアップ言語です。HTML 要素は通常、コンテンツに意味を与える開始タグや終了タグを持ちます。例えば、テキストを見出し、段落、リストアイテムとして記述できる各種要素があります。",
|
||
"このコースでは、猫の写真アプリを作成しながら、よく使う HTML 要素を学びます。HTML 要素とは、ウェブページを組み立てるために使うブロックのようなものです。"
|
||
]
|
||
},
|
||
"basic-css": {
|
||
"title": "CSS の基礎",
|
||
"intro": [
|
||
"CSS (Cascading Style Sheets) は、HTML で書かれたテキストやその他のコンテンツをどのように画面上に表示すればいいかをブラウザに指示します。CSS を使用すると、HTML 要素のカラー、フォント、サイズ、間隔、その他様々な面をコントロールすることが可能です。",
|
||
"ここまで猫の写真アプリの基本的な構造を記述しました。次に CSS でスタイルを追加しましょう。"
|
||
]
|
||
},
|
||
"applied-visual-design": {
|
||
"title": "応用ビジュアルデザイン",
|
||
"intro": [
|
||
"ビジュアルデザインでは、タイポグラフィ、カラー理論、グラフィック、アニメーション、ページレイアウトなどの様々な組み合わせによって、ユニークなメッセージを発信することができます。",
|
||
"このコースでは、ビジュアルデザインのさまざまな要素をウェブページに適用する方法を学びます。"
|
||
]
|
||
},
|
||
"applied-accessibility": {
|
||
"title": "応用アクセシビリティ",
|
||
"intro": [
|
||
"ウェブ開発におけるアクセシビリティとは、幅広いユーザーが理解し、移動し、対話できるコンテンツや UI (ユーザーインターフェース) のことを指します。これには視覚、聴覚、運動、認知に障害がある人も含みます。",
|
||
"このコースでは、誰もがアクセスしやすいウェブページを作成するためのベストプラクティスを学びます。"
|
||
]
|
||
},
|
||
"responsive-web-design-principles": {
|
||
"title": "レスポンシブウェブデザイン原則",
|
||
"intro": [
|
||
"ウェブにアクセスできるデバイスには様々な形やサイズのものがあります。レスポンシブウェブデザインとは、異なる画面サイズ・向き・解像度に対応できる柔軟なウェブサイトを設計することです。",
|
||
"このコースでは、表示デバイスに関係なく、CSS を使用してウェブページの見栄えを向上させる方法を学びます。"
|
||
]
|
||
},
|
||
"css-flexbox": {
|
||
"title": "CSS フレックスボックス",
|
||
"intro": [
|
||
"フレックスボックスは、CSS の最新バージョンである CSS3 で導入されたパワフルかつ十分にサポートされているレイアウト方法です。フレックスボックスを使用すると、要素をページの中央に配置したり、自動的に拡大縮小する動的なユーザーインターフェイスを簡単に作成できます。",
|
||
"このコースでは、Twitter カードの作成を通じて、フレックスボックスと動的レイアウトの基礎を学びます。"
|
||
]
|
||
},
|
||
"css-grid": {
|
||
"title": "CSS グリッド",
|
||
"intro": [
|
||
"CSS グリッドは、複雑なレスポンシブレイアウトを簡単に構築できる比較的新しい方法です。この方法を使うと、HTML 要素をグリッド (格子) に変換して、その中で子要素をどこにでも配置できます。",
|
||
"このコースでは、ブログを含む、多様で複雑なレイアウトを実装することで、CSS グリッドの基礎を学びます。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"2022/responsive-web-design": {
|
||
"title": "Legacy Responsive Web Design V8",
|
||
"intro": [
|
||
"このレスポンシブウェブデザイン認定講座では、開発者がウェブページを実装するために使う言語について学びます。ページの内容には HTML (Hypertext Markup Language)、デザインには CSS (Cascading Style Sheets) を使用します。",
|
||
"初めに、HTML と CSS の基礎を学ぶために、猫の写真アプリを作ります。その後、ペンギンの絵を作りながら CSS 変数等のモダンなテクニックを学びます。そしてクイズサイトを作りながらアクセシビリティのベストプラクティスを学びます。",
|
||
"最後に、フレックスボックスを使ったフォトギャラリーや、CSS グリッドを使った雑誌記事のレイアウトの作成を通じて、さまざまな画面サイズに応じて表示されるウェブページの作成方法を学びます。"
|
||
],
|
||
"note": "注意: 広告ブロッカーやダークモード拡張などの、一部のブラウザ拡張機能がテストに干渉する可能性があります。問題が発生した場合、コース受講中はページのコンテンツやレイアウトを変更する拡張機能を無効にすることをお勧めします。",
|
||
"blocks": {
|
||
"build-a-tribute-page-project": {
|
||
"title": "トリビュートページ",
|
||
"intro": [
|
||
"これは認定証の取得に必須のプロジェクトの 1 つです。",
|
||
"このプロジェクトでは、あなたが選んだ題材に関するトリビュートページを作成します。題材は架空のものでも実在のものでも構いません。"
|
||
]
|
||
},
|
||
"build-a-personal-portfolio-webpage-project": {
|
||
"title": "個人ポートフォリオのウェブページ",
|
||
"intro": [
|
||
"これは認定証の取得に必須のプロジェクトの 1 つです。",
|
||
"このプロジェクトでは、あなた自身の個人ポートフォリオページを作成します。"
|
||
]
|
||
},
|
||
"build-a-product-landing-page-project": {
|
||
"title": "プロダクトのランディングページ",
|
||
"intro": [
|
||
"これは認定証の取得に必須のプロジェクトの 1 つです。",
|
||
"このプロジェクトでは、あなたが選んだプロダクトを売り込むためのランディングページを作成します。"
|
||
]
|
||
},
|
||
"build-a-survey-form-project": {
|
||
"title": "アンケートフォーム",
|
||
"intro": [
|
||
"これは認定証の取得に必須のプロジェクトの 1 つです。",
|
||
"このプロジェクトでは、ユーザーからデータを集めるためのアンケートフォームを作成します。"
|
||
]
|
||
},
|
||
"build-a-technical-documentation-page-project": {
|
||
"title": "技術ドキュメントページ",
|
||
"intro": [
|
||
"これは認定証の取得に必須のプロジェクトの 1 つです。",
|
||
"このプロジェクトでは、あるトピックについての説明書または参考資料として機能する技術ドキュメントページを作成します。"
|
||
]
|
||
},
|
||
"learn-html-by-building-a-cat-photo-app": {
|
||
"title": "HTML の学習: 猫の写真アプリを作成する",
|
||
"intro": [
|
||
"HTML タグはウェブページに構造を与えます。HTML タグで写真やボタン、また他の要素をウェブページに加えることができます。",
|
||
"このコースでは、実際に手を動かして猫の写真アプリを作成しながら、最もよく使う HTML タグを学習します。"
|
||
]
|
||
},
|
||
"learn-basic-css-by-building-a-cafe-menu": {
|
||
"title": "CSS 基礎の学習: カフェメニューを作成する",
|
||
"intro": [
|
||
"CSS はブラウザにウェブページをどうやって表示するか指示します。CSS を使用して HTML 要素の色、フォント、サイズ、また他の様相を設定できます。",
|
||
"このコースでは、カフェのウェブページ用のメニューページをデザインして CSS を学習します。"
|
||
]
|
||
},
|
||
"learn-the-css-box-model-by-building-a-rothko-painting": {
|
||
"title": "CSS ボックスモデルの学習: ロスコの絵画を作成する",
|
||
"intro": [
|
||
"すべての HTML 要素は間隔と境界を伴ったボックスそのものです。これはボックスモデルと呼ばれています。",
|
||
"このコースでは、CSS とボックスモデルを使ってマーク・ロスコ風の長方形アート作品を作成します。"
|
||
]
|
||
},
|
||
"learn-css-variables-by-building-a-city-skyline": {
|
||
"title": "CSS 変数の学習: 都市のスカイラインを作成する",
|
||
"intro": [
|
||
"CSS の変数はスタイルを体系づけたり、再利用するのに役立ちます。",
|
||
"このコースでは、都市のスカイラインの風景を作成します。CSS 変数の設定方法を学習して、必要に応じて再利用できるようにします。"
|
||
]
|
||
},
|
||
"learn-html-forms-by-building-a-registration-form": {
|
||
"title": "HTML フォームの学習: 登録フォームを作成する",
|
||
"intro": [
|
||
"HTML のフォームを使用して、ウェブページへ訪問する人々から情報を集めることができます。",
|
||
"このコースでは、サインアップページを作成することで HTML のフォームを学習します。人々がどのデータ型をフォームに入力できるかを制御する方法と、ページをスタイリングする新しい CSS のツールについて学習します。"
|
||
]
|
||
},
|
||
"learn-accessibility-by-building-a-quiz": {
|
||
"title": "アクセシビリティの学習: クイズを作成する",
|
||
"intro": [
|
||
"アクセシビリティとは、障害のある人を含むすべての人々にとって、ウェブページを利用しやすくすることです。",
|
||
"このコースでは、クイズ (小テスト) のウェブページを作成します。キーボードショートカット、ARIA 属性、デザインのベストプラクティスなど、アクセシビリティのツールについて学習します。"
|
||
]
|
||
},
|
||
"learn-intermediate-css-by-building-a-picasso-painting": {
|
||
"title": "CSS 中級の学習: ピカソの絵画を作成する",
|
||
"intro": [
|
||
"このコースでは、ピカソの絵画のウェブページを自分でコーディングすることで、中級の CSS テクニックの使い方を学習します。SVG アイコンや、CSS の位置決めについて学習し、学んできた他の CSS スキルを復習します。"
|
||
]
|
||
},
|
||
"learn-responsive-web-design-by-building-a-piano": {
|
||
"title": "レスポンシブウェブデザインの学習: ピアノを作成する",
|
||
"intro": [
|
||
"レスポンシブデザインはウェブページに異なるサイズのスクリーンでどのように見える必要があるかを伝えます。",
|
||
"In this course, you'll use CSS and responsive design to code a piano. You'll also learn more about media queries and pseudo selectors."
|
||
]
|
||
},
|
||
"learn-css-flexbox-by-building-a-photo-gallery": {
|
||
"title": "CSS フレックスボックスの学習: フォトギャラリーを作成する",
|
||
"intro": [
|
||
"フレックスボックスはどの画面サイズでも綺麗に表示されるようにウェブページをデザインするのに役立ちます。",
|
||
"このコースでは、フレックスボックスを用いてレスポンシブなフォトギャラリーウェブページを作成します。"
|
||
]
|
||
},
|
||
"learn-css-grid-by-building-a-magazine": {
|
||
"title": "CSS グリッドの学習: 雑誌を作成する",
|
||
"intro": [
|
||
"CSS のグリッドはウェブページデザインの行と列を制御できるようにしてくれます。",
|
||
"このコースでは、雑誌の記事を作成します。グリッド行やグリッド列といった概念を含む CSS のグリッドを使用する方法を学習します。"
|
||
]
|
||
},
|
||
"learn-typography-by-building-a-nutrition-label": {
|
||
"title": "タイポグラフィの学習: 栄養成分表示ラベルを作成する",
|
||
"intro": [
|
||
"タイポグラフィとは、テキストを読み易く、また目的に合うようにスタイリングする技術です。",
|
||
"このコースでは、タイポグラフィを用いて栄養成分表示ラベルのウェブページを作成します。CSS を用いてテキストを整え、行の高さを調節し、テキストを配置することを学習します。"
|
||
]
|
||
},
|
||
"learn-css-transforms-by-building-a-penguin": {
|
||
"title": "CSS Transform の学習: ペンギンを作成する",
|
||
"intro": [
|
||
"HTML 要素を変形させて、閲覧者の目を引き付ける魅力的なデザインを生み出すことができます。transform を用いることで要素の回転や、大きさの調整などができます。",
|
||
"このコースでは、ペンギンを作成します。CSS の transform を用いてペンギンのパーツを配置およびリサイズし、背景を作成し、作品をアニメーションさせます。"
|
||
]
|
||
},
|
||
"learn-css-animation-by-building-a-ferris-wheel": {
|
||
"title": "CSS アニメーションの学習: 観覧車を作成する",
|
||
"intro": [
|
||
"CSS のアニメーションを用いることで、ウェブページの特定のセクションに注意を引き付け、ウェブページをより魅力的にできます。",
|
||
"このコースでは、観覧車を作成します。要素のアニメーションや変形、およびスピードの調節に CSS を用いる方法を学習します。"
|
||
]
|
||
},
|
||
"learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet": {
|
||
"title": "CSS 疑似セレクターの学習: バランスシートを作成する",
|
||
"intro": [
|
||
"CSS の疑似セレクターを用いて、特定の HTML 要素を変化させることができます。",
|
||
"このコースでは、疑似セレクターを用いてバランスシート (貸借対照表) を作成します。ウェブページ上でマウスポインタを要素の上に合わせた時に要素のスタイルを変更する方法や、他のイベントを起こす方法を学習します。"
|
||
]
|
||
},
|
||
"learn-css-colors-by-building-a-set-of-colored-markers": {
|
||
"title": "CSS 色指定の学習: カラーマーカーのセットを作成する",
|
||
"intro": [
|
||
"ウェブページに対して的確な色を選択することにより、閲覧者への見え方の美しさを大いに向上させることができます。",
|
||
"このコースでは、カラーマーカーのセットを作成します。色の値を設定するさまざまな方法や、色を組み合わせる方法を学習します。"
|
||
]
|
||
},
|
||
"learn-intermediate-css-by-building-a-cat-painting": {
|
||
"title": "CSS 中級の学習: 猫のイラストを作成する",
|
||
"intro": [
|
||
"見た目に美しく、レスポンシブなウェブレイアウトを作成するには CSS の配置をマスターすることが不可欠です。",
|
||
"このコースでは、猫の絵を作成しながら、絶対位置指定、z-index プロパティ、transform プロパティの使い方を学習します。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"javascript-algorithms-and-data-structures": {
|
||
"title": "Legacy JavaScript Algorithms and Data Structures V7",
|
||
"intro": [
|
||
"HTML と CSS はページの内容とスタイルを制御しますが、JavaScript はそれを対話式にすることを手掛けます。JavaScript アルゴリズムとデータ構造認定講座では、変数、配列、オブジェクト、ループ、そして関数を含む JavaScript の基礎を学習します。",
|
||
"いったん基礎を習得すれば、その知識を応用して文字列を扱うためのアルゴリズムを作成したり、数の階乗を計算したり、さらに国際宇宙ステーションの軌道を計算することもできます。",
|
||
"途中で、オブジェクト指向プログラミング (OOP) と関数型プログラミング (FP) の 2 つの重要なプログラミングの様式または典型について学習します。"
|
||
],
|
||
"note": "注: 広告ブロッカーやスクリプトブロッカーのようないくつかのブラウザ拡張機能は、テストを妨害することがあります。もし問題に直面したら、受講中はページの内容を変更もしくはブロックする拡張機能を無効にすることをお勧めします。",
|
||
"blocks": {
|
||
"basic-javascript": {
|
||
"title": "JavaScript の基本",
|
||
"intro": [
|
||
"JavaScript はウェブページをインタラクティブにするために使用できるスクリプト言語です。それは HTML や CSS とともにウェブの中核技術の一つであり、すべての現代的なブラウザでサポートされています。",
|
||
"このコースでは、JavaScript で基本的なプログラミングの概念を学習します。数値や文字列のような基本的なデータ構造から始め、それから配列、オブジェクト、関数、ループ、if/else 文、その他いろいろなことを手掛ける学習をします。"
|
||
]
|
||
},
|
||
"es6": {
|
||
"title": "ES6",
|
||
"intro": [
|
||
"ECMAScript、または ES とは JavaScript の標準化された版です。すべての主要なブラウザがこの仕様書に準拠しているため、ECMAScript と JavaScript という用語は置き換えることができます。",
|
||
"ここまでで学習した JavaScript のほとんどは ES5 (ECMAScript 5) で、2009 年に完成しました。プログラムを今までどおり ES5 で記述することができるのと同時に、JavaScript は絶えず進化しており、そして毎年新しい機能が公開されます。",
|
||
"ES6 は 2015 年に公表され、多くの強力な新しい機能をこの言語に追加しました。このコースでは、アロー関数、分割代入、クラス、プロミス、そしてモジュールを含む新しい機能を学習します。"
|
||
]
|
||
},
|
||
"regular-expressions": {
|
||
"title": "正規表現",
|
||
"intro": [
|
||
"正規表現は、しばしば \"regex\" または \"regexp\" と略され、プログラマーがテキストを一致させたり、検索したり、そして置換したりする際に役立つパターンです。正規表現はとても強力ですが、より複雑で柔軟な条件で一致させるために特殊文字を使用するので、読みづらいことがあります。",
|
||
"このコースでは、一致させたいテキストに応じて、特殊文字、キャプチャグループ、先読みと否定先読み、その他の技法をどのように使用するかを学習します。"
|
||
]
|
||
},
|
||
"debugging": {
|
||
"title": "デバッグ",
|
||
"intro": [
|
||
"デバッグとは、コードを調べて問題を見つけ、それを修正するプロセスです。",
|
||
"コード内部の問題は通常 3 つの形で現れます: プログラムの実行を妨げる構文エラー、想定外の挙動を含む場合の実行時エラー、あるいは意図したように動作しない場合の論理エラーです。",
|
||
"このコースでは、JavaScript のコンソールをどのように使用してプログラムをデバッグし、一般的な問題を発生する前に防止するのかを学習します。"
|
||
]
|
||
},
|
||
"basic-data-structures": {
|
||
"title": "基本的なデータ構造",
|
||
"intro": [
|
||
"データは様々な方法で保存され、アクセスされます。配列やオブジェクトのようないくつかの一般的な JavaScript のデータ構造については既にご存知でしょう。",
|
||
"この基本的なデータ構造のコースでは、配列とオブジェクトの違いについてより詳しく、そして様々な状況下でどちらを使用すべきかを学習します。<code>splice()</code> や <code>Object.keys()</code> のような、データにアクセスして操作するのに役に立つ JS メソッドを使用する方法も学習します。"
|
||
]
|
||
},
|
||
"basic-algorithm-scripting": {
|
||
"title": "基本的なアルゴリズムスクリプト",
|
||
"intro": [
|
||
"アルゴリズムとは、何かを実行する方法を記述する、一連の段階的な命令です。",
|
||
"効率的なアルゴリズムを記述するには、問題をより細かく分類し、そしてそれぞれの部分をコードで解決する方法について慎重に考えることが役立ちます。",
|
||
"このコースでは、アルゴリズム的思考の基礎を、温度を変換することから複雑な二次元配列を扱うことまで、様々なことを実行するアルゴリズムを記述することによって学習します。"
|
||
]
|
||
},
|
||
"object-oriented-programming": {
|
||
"title": "オブジェクト指向プログラミング",
|
||
"intro": [
|
||
"OOP、またはオブジェクト指向プログラミングは、ソフトウェア開発工程における重要な手法の一つです。OOP では、オブジェクトとクラスを用いて、物事とそれが何を実行できるかを記述することでコードを編成します。",
|
||
"このコースでは JavaScript で、<code>this</code> キーワード、プロトタイプチェーン、コンストラクタ、継承などの OOP の基本原理を学習します。"
|
||
]
|
||
},
|
||
"functional-programming": {
|
||
"title": "関数型プログラミング",
|
||
"intro": [
|
||
"関数型プログラミングはソフトウェア開発のもう一つの一般的な手法です。関数型プログラミングでは、コードはより小さく基礎的な関数として整理されます。そして関数を組み合わせて、複雑なプログラムを構築することができます。",
|
||
"このコースでは、純粋関数、変更 (mutations) を避ける方法、そして <code>.map()</code> や <code>.filter()</code> のようなメソッドでよりきれいなコードを記述する方法を含む、関数型プログラミングの中核概念を学習します。"
|
||
]
|
||
},
|
||
"intermediate-algorithm-scripting": {
|
||
"title": "中級のアルゴリズムスクリプト",
|
||
"intro": [
|
||
"アルゴリズム的思考の基本に加えて、OOP と 関数型プログラミングを学びました。ここで、中級のアルゴリズムスクリプトチャレンジで力を試しましょう。"
|
||
]
|
||
},
|
||
"javascript-algorithms-and-data-structures-projects": {
|
||
"title": "JavaScript アルゴリズムとデータ構造プロジェクト",
|
||
"intro": [
|
||
"さあ、新たな JavaScript 技能を活用する時です。これらのプロジェクトは以前にやったアルゴリズムスクリプトチャレンジに類似しています – ただもっと難しいです。",
|
||
"JavaScript アルゴリズムとデータ構造認定証を取得するために、これら 5 つの JavaScript プロジェクトを完成させてください。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"javascript-algorithms-and-data-structures-v8": {
|
||
"title": "Legacy JavaScript Algorithms and Data Structures V8",
|
||
"intro": [
|
||
"Developers use HTML and CSS to control the content and styling of a page. And they use JavaScript to make that page interactive.",
|
||
"In this JavaScript Algorithm and Data Structures Certification, you'll learn the JavaScript fundamentals like variables, arrays, objects, loops, functions, the DOM and more.",
|
||
"You'll also learn about Object Oriented Programming (OOP), Functional Programming, algorithmic thinking, how to work with local storage, and how to fetch data using an API."
|
||
],
|
||
"note": "注: 広告ブロッカーやスクリプトブロッカーのようなブラウザ拡張機能は、テストを妨害することがあります。もし問題に直面したら、受講中はページの内容を変更もしくはブロックする拡張機能を無効にすることをお勧めします。",
|
||
"blocks": {
|
||
"build-an-rpg-creature-search-app-project": {
|
||
"title": "Build an RPG Creature Search App Project",
|
||
"intro": [
|
||
"This is one of the required projects to earn your certification.",
|
||
"For this project, you will build an RPG creature search app."
|
||
]
|
||
},
|
||
"build-a-cash-register-project": {
|
||
"title": "キャッシュレジスター作成プロジェクト",
|
||
"intro": [
|
||
"This is one of the required projects to earn your certification.",
|
||
"For this project, you'll build a cash register web app."
|
||
]
|
||
},
|
||
"build-a-palindrome-checker-project": {
|
||
"title": "回文チェッカー作成プロジェクト",
|
||
"intro": [
|
||
"This is one of the required projects to earn your certification.",
|
||
"For this project, you'll build an application that checks whether a given word is a palindrome."
|
||
]
|
||
},
|
||
"build-a-roman-numeral-converter-project": {
|
||
"title": "ローマ数字コンバーター作成プロジェクト",
|
||
"intro": [
|
||
"This is one of the required projects to claim your certification.",
|
||
"For this project, you'll build an application that converts integers to Roman numerals."
|
||
]
|
||
},
|
||
"build-a-telephone-number-validator-project": {
|
||
"title": "電話番号バリデーター作成プロジェクト",
|
||
"intro": [
|
||
"This is one of the required projects to claim your certification.",
|
||
"For this project, you'll build an application that checks if a number is a valid United States phone number."
|
||
]
|
||
},
|
||
"learn-basic-javascript-by-building-a-role-playing-game": {
|
||
"title": "基礎的な JavaScript の学習: ロールプレイングゲームを作成する",
|
||
"intro": [
|
||
"JavaScript is a powerful scripting language that you can use to make web pages interactive. It's one of the core technologies of the web, along with HTML and CSS. All modern browsers support JavaScript.",
|
||
"In this practice project, you'll learn fundamental programming concepts in JavaScript by coding your own Role Playing Game. You'll learn how to work with arrays, strings, objects, functions, loops, <code>if/else</code> statements, and more."
|
||
]
|
||
},
|
||
"learn-form-validation-by-building-a-calorie-counter": {
|
||
"title": "フォームの検証の学習: カロリー計算機を作成する",
|
||
"intro": [
|
||
"Sometimes when you're coding a web application, you'll need to be able to accept input from a user. In this calorie counter project, you'll learn how to validate user input, perform calculations based on that input, and dynamically update your interface to display the results.",
|
||
"In this practice project, you'll learn basic regular expressions, template literals, the <code>addEventListener()</code> method, and more."
|
||
]
|
||
},
|
||
"learn-functional-programming-by-building-a-spreadsheet": {
|
||
"title": "関数型プログラミングの学習: スプレッドシートを作成する",
|
||
"intro": [
|
||
"Functional Programming is a popular approach to software development. In Functional Programming, developers organize code into smaller functions, then combine those functions to build complex programs.",
|
||
"In this spreadsheet application project, you'll learn about parsing and evaluating mathematical expressions, implementing spreadsheet functions, handling cell references, and creating interactive web interfaces. You'll learn how to dynamically update the page based on user input.",
|
||
"This project will cover concepts like the <code>map()</code>, <code>find()</code>, and <code>includes()</code> methods and the <code>parseInt()</code> function."
|
||
]
|
||
},
|
||
"learn-modern-javascript-methods-by-building-football-team-cards": {
|
||
"title": "現代的な JavaScript メソッドの学習: サッカーチームカードを作成する",
|
||
"intro": [
|
||
"One common aspect of building web applications: processing datasets, and then outputting information to the screen. In this sports team cards project, you'll learn how to work with DOM manipulation, object destructuring, event handling, and data filtering.",
|
||
"This project will cover concepts like, default parameters, <code>Object.freeze()</code>, and reinforce your knowledge of the <code>switch</code> statement and <code>map()</code> method."
|
||
]
|
||
},
|
||
"learn-advanced-array-methods-by-building-a-statistics-calculator": {
|
||
"title": "高度な配列メソッドの学習: 統計計算機を作成する",
|
||
"intro": [
|
||
"As you expand your JavaScript skills, you'll want to get comfortable with array manipulation methods, such as <code>map()</code>, <code>reduce()</code>, and <code>filter()</code>.",
|
||
"In this statistics calculator project, you'll gain experience with handling user input, DOM manipulation, and method chaining. You'll get practice by performing statistical calculations like mean, median, mode, variance, and standard deviation."
|
||
]
|
||
},
|
||
"learn-basic-oop-by-building-a-shopping-cart": {
|
||
"title": "基礎的なオブジェクト指向プログラミングの学習: ショッピングカートを作成する",
|
||
"intro": [
|
||
"OOP, or Object Oriented Programming, is one of the major approaches to the software development process. In OOP, developers use objects and classes to structure their code.",
|
||
"In this shopping cart project, you'll learn how to define classes and use them. You'll create class instances and implement methods for data manipulation.",
|
||
"This project will cover concepts like the ternary operator, the spread operator, the <code>this</code> keyword, and more."
|
||
]
|
||
},
|
||
"learn-fetch-and-promises-by-building-an-fcc-authors-page": {
|
||
"title": "フェッチとプロミスの学習: freeCodeCamp 著者一覧ページを作成する",
|
||
"intro": [
|
||
"One common aspect of web development is learning how to fetch data from an external API, then work with asynchronous JavaScript.",
|
||
"This freeCodeCamp authors page project will show you how to use the fetch method, then dynamically update the DOM to display the fetched data.",
|
||
"This project will also teach you how to paginate your data so you can load results in batches."
|
||
]
|
||
},
|
||
"learn-regular-expressions-by-building-a-spam-filter": {
|
||
"title": "正規表現の学習: スパムフィルターを作成する",
|
||
"intro": [
|
||
"Regular expressions, often shortened to \"regex\" or \"regexp\", are patterns that help programmers match, search, and replace text. Regular expressions are powerful, but can be difficult to understand because they use so many special characters.",
|
||
"In this spam filter project, you'll learn about capture groups, positive lookaheads, negative lookaheads, and other techniques to match any text you want."
|
||
]
|
||
},
|
||
"learn-basic-algorithmic-thinking-by-building-a-number-sorter": {
|
||
"title": "基礎的なアルゴリズム的思考の学習: 数値ソートを作成する",
|
||
"intro": [
|
||
"In computer science, there are fundamental sorting algorithms that all developers should learn. In this number sorter project, you'll learn how to implement and visualize different sorting algorithms like bubble sort, selection sort, and insertion sort – all with JavaScript.",
|
||
"This project will help you understand the fundamental concepts behind these algorithms, and how you can apply them to sort numerical data in web applications."
|
||
]
|
||
},
|
||
"review-algorithmic-thinking-by-building-a-dice-game": {
|
||
"title": "アルゴリズム的思考の復習: ダイスゲームを作成する",
|
||
"intro": [
|
||
"Algorithmic thinking involves the ability to break down complex problems into a sequence of well-defined, step-by-step instructions.",
|
||
"In this Dice game project, you’ll learn how to manage game state, implement game logic for rolling dice, keeping score, and applying rules for various combinations.",
|
||
"This project covers concepts such as event handling, array manipulation, conditional logic, and updating the user interface dynamically based on game state."
|
||
]
|
||
},
|
||
"learn-intermediate-oop-by-building-a-platformer-game": {
|
||
"title": "中級オブジェクト指向プログラミングの学習: プラットフォームゲームを作成する",
|
||
"intro": [
|
||
"Coding a game is a great way to grasp fundamental programming principles, while also creating an interactive gaming experience.",
|
||
"In this platformer game project, you'll continue to learn about classes, objects, inheritance, and encapsulation. You'll also learn how to design and organize game elements efficiently and gain insights into problem-solving and code reusability."
|
||
]
|
||
},
|
||
"learn-localstorage-by-building-a-todo-app": {
|
||
"title": "localStorage の学習: Todo リストを作成する",
|
||
"intro": [
|
||
"Local storage is a web browser feature that lets web applications store key-value pairs persistently within a user's browser. This allows web apps to save data during one session, then retrieve it in a later page session.",
|
||
"In this TODO application, you'll learn how to handle form inputs, manage local storage, perform CRUD (Create, Read, Update, Delete) operations on tasks, implement event listeners, and toggle UI elements."
|
||
]
|
||
},
|
||
"learn-the-date-object-by-building-a-date-formatter": {
|
||
"title": "Date オブジェクトの学習: 日付フォーマッターを作成する",
|
||
"intro": [
|
||
"Working with dates in JavaScript can be challenging. You have to navigate various methods, formats, and time zones. In this project, you'll learn how to work with the JavaScript Date object, including its methods and properties. You'll also learn how to correctly format dates.",
|
||
"This project will cover concepts such as the <code>getDate()</code>, <code>getMonth()</code>, and <code>getFullYear()</code> methods."
|
||
]
|
||
},
|
||
"learn-asynchronous-programming-by-building-an-fcc-forum-leaderboard": {
|
||
"title": "非同期プログラミングの学習: freeCodeCamp フォーラムのリーダーボードを作成する",
|
||
"intro": [
|
||
"JavaScript is an asynchronous programming language. And this project will help you gain proficiency in asynchronous concepts. You'll code your own freeCodeCamp forum leaderboard.",
|
||
"This project will cover the Fetch API, promises, Async/Await, and the try..catch statement."
|
||
]
|
||
},
|
||
"learn-basic-string-and-array-methods-by-building-a-music-player": {
|
||
"title": "基礎的な文字列・配列メソッドの学習: 音楽プレイヤーを作成する",
|
||
"intro": [
|
||
"Now let's learn some essential string and array methods like the <code>find()</code>, <code>forEach()</code>, <code>map()</code>, and <code>join()</code>. These methods are crucial for developing dynamic web applications.",
|
||
"In this project, you'll code a basic MP3 player using HTML, CSS, and JavaScript. The project covers fundamental concepts such as handling audio playback, managing a playlist, implementing play, pause, next, previous, and shuffle functionalities. You'll even learn how to dynamically update your user interface based on the current song."
|
||
]
|
||
},
|
||
"learn-recursion-by-building-a-decimal-to-binary-converter": {
|
||
"title": "再帰処理の学習: 十進数・二進数変換ツールを作成する",
|
||
"intro": [
|
||
"Recursion is a programming concept where a function calls itself. This can reduce a complex problem into simpler sub-problems, until they become straightforward to solve.",
|
||
"In this project, you’ll build a decimal-to-binary converter using JavaScript. You’ll learn the fundamental concepts of recursion, explore the call stack, and build out a visual representation of the recursion process through an animation."
|
||
]
|
||
},
|
||
"learn-introductory-javascript-by-building-a-pyramid-generator": {
|
||
"title": "JavaScript 入門: ピラミッド表示プログラムを作成する",
|
||
"intro": [
|
||
"JavaScript is a powerful scripting language that you can use to make web pages interactive. It's one of the core technologies of the web, along with HTML and CSS. All modern browsers support JavaScript.",
|
||
"In this practice project, you'll learn fundamental programming concepts in JavaScript by coding your own Pyramid Generator. You'll learn how to work with arrays, strings, functions, loops, <code>if/else</code> statements, and more."
|
||
]
|
||
},
|
||
"review-js-fundamentals-by-building-a-gradebook-app": {
|
||
"title": "JavaScript 基礎の復習: 成績簿アプリを作成する",
|
||
"intro": [
|
||
"In this mini project, you will get to review JavaScript fundamentals like functions, variables, conditionals and more by building a gradebook app.",
|
||
"This will give you an opportunity to solve small problems and get a better understanding of the basics."
|
||
]
|
||
},
|
||
"learn-basic-debugging-by-building-a-random-background-color-changer": {
|
||
"title": "デバッグの基礎の学習: 背景色ランダム変更プログラムを作成する",
|
||
"intro": [
|
||
"Debugging is the process of going through your code, finding any issues, and fixing them.",
|
||
"In this project, you will help CamperBot build a random background color changer and help them find and fix errors."
|
||
]
|
||
},
|
||
"review-dom-manipulation-by-building-a-rock-paper-scissors-game": {
|
||
"title": "DOM 操作の復習: じゃんけんゲームを作成する",
|
||
"intro": [
|
||
"In the previous projects you learned how to work with basic DOM manipulation. Now it is time to review what you have learned by building a Rock, Paper, Scissors game.",
|
||
"In this mini project, you will review conditionals, functions, <code>getElementById</code>, and more. This project will give you an opportunity to solve small problems and get a better understanding of the basics."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"front-end-development-libraries": {
|
||
"title": "Front-End Development Libraries V8",
|
||
"intro": [
|
||
"Now that you're familiar with HTML, CSS, and JavaScript, level up your skills by learning some of the most popular front-end libraries in the industry.",
|
||
"In the Front-End Development Libraries Certification, you'll learn how to style your site quickly with Bootstrap. You'll also learn how to add logic to your CSS styles and extend them with Sass.",
|
||
"後ほど、ショッピングカートや他のアプリケーションを構築しながら、強力なシングルページアプリケーション (SPA) を React と Redux で作成する方法を学習します。"
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"bootstrap": {
|
||
"title": "Bootstrap",
|
||
"intro": [
|
||
"Bootstrap is a front-end framework used to design responsive web pages and applications. It takes a mobile-first approach to web development, and includes pre-built CSS styles and classes, plus some JavaScript functionality.",
|
||
"このコースでは、Bootstrap でレスポンシブなウェブサイトを構築し、Bootstrap に含まれているクラスを使用して、ボタン、画像、フォーム、ナビゲーション、その他のよく使われる要素を整える方法を学習します。"
|
||
]
|
||
},
|
||
"jquery": {
|
||
"title": "jQuery",
|
||
"intro": [
|
||
"jQuery は世界で最も広く使用されている JavaScript ライブラリです。",
|
||
"2006 年に jQuery が公表された時点では、主要なブラウザはそれぞれ若干異なる方法で JavaScript を取り扱っていました。jQuery はクライアント側の JavaScript を記述する工程を単純化し、そしてすべてのブラウザでコードが同じように機能することも保証しました。",
|
||
"このコースでは、 jQuery を使用してページ上の様々な要素を選択し、削除し、複製し、変更する方法を学習します。"
|
||
]
|
||
},
|
||
"sass": {
|
||
"title": "SASS",
|
||
"intro": [
|
||
"Sass、または \"Syntactically Awesome StyleSheets\" は、CSS の言語拡張です。基本的な CSS では利用できない機能が加えられており、プロジェクトのスタイルシートを単純化し保守しやすくします。",
|
||
"この Sass コースでは、変数にデータを格納したり、CSS をネストしたり、mixin で再利用できるスタイルを作成したり、論理やループをスタイルに加えたりする方法などを学習します。"
|
||
]
|
||
},
|
||
"react": {
|
||
"title": "React",
|
||
"intro": [
|
||
"React は人気のある JavaScript ライブラリで、ウェブページまたはアプリケーションのために、再利用可能でコンポーネント駆動のユーザーインターフェースを構築するために使われます。",
|
||
"React は HTML と JavaScript の機能性を JSX と呼ばれる特有のマークアップ言語に結びつけます。React はまた、アプリケーションの全体にわたってデータの流れを管理しやすくします。",
|
||
"このコースでは、さまざまな React コンポーネントの作成方法、state props の形でデータを管理する方法、<code>componentDidMount</code> のようなさまざまなライフサイクルメソッドを使用する方法、その他多くのことを学習します。"
|
||
]
|
||
},
|
||
"redux": {
|
||
"title": "Redux",
|
||
"intro": [
|
||
"アプリケーションの規模と範囲が増大するにつれて、共有データを管理することははるかに難しくなります。Redux は、アプリが予想通りに動作し、テストがしやすくなることを保証するのに役立つ「JavaScript アプリのための予測可能な state コンテナ」として定義されています。",
|
||
"Redux はどんなビューライブラリとでも使用できますが、ここでは Redux を、次のコースで React と組み合わせて使う前段階として紹介します。",
|
||
"このコースでは、アプリケーション全体のデータを管理するために、Redux のストア (stores)、アクション (actions)、リデューサー (reducers)、そしてミドルウェア (middleware) の基本を学習します。"
|
||
]
|
||
},
|
||
"react-and-redux": {
|
||
"title": "React と Redux",
|
||
"intro": [
|
||
"React と Redux はよく一緒に言及されます。それには正当な理由があります。Redux を生み出した開発者は、異なるコンポーネント間でデータを共有しやすくしたいと考えた、React 開発者でした。",
|
||
"Redux で共有データの流れを管理する方法がわかったので、その知識を React と結合させる時です。React と Redux コースでは、React コンポーネントを構築し、Redux で state をコンポーネントレベルで局所的に、そしてアプリケーション全体で管理する方法を学習します。"
|
||
]
|
||
},
|
||
"front-end-development-libraries-projects": {
|
||
"title": "Front-End Development Libraries Projects",
|
||
"intro": [
|
||
"It's time to put your front-end development libraries skills to the test. Use Bootstrap, jQuery, Sass, React, and Redux to build 5 projects that will test everything you've learned up to this point.",
|
||
"Complete all 5 projects, and you'll earn the Front-End Development Libraries certification."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"data-visualization": {
|
||
"title": "Data Visualization V8",
|
||
"intro": [
|
||
"データは至る所にありますが、形状と文脈なしではあまり意味を表しません。",
|
||
"データ可視化認定講座では、D3.js ライブラリを使用して、様々な種類のデータを表すチャート、グラフ、およびマップを構築します。",
|
||
"また JSON (JavaScript Object Notation) について、そして API (Application Programming Interface) を使用してオンラインでデータを扱う方法についても学習します。"
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"data-visualization-with-d3": {
|
||
"title": "D3 を用いたデータ可視化",
|
||
"intro": [
|
||
"D3、または D3.js とは、Data Driven Documents の略語です。ブラウザ内に動的でインタラクティブなデータ可視化を描画するための JavaScript ライブラリです。",
|
||
"D3 はウェブ標準 – すなわち HTML、CSS、そして 変倍ベクタ図形 (SVG) を扱えるように作られています。",
|
||
"D3 は多くのいろいろな種類の入力データ形式に対応します。そして、強力な組み込みメソッドを使用することで、そのデータをさまざまなチャート、グラフ、およびマップに変換することができます。",
|
||
"D3 を用いたデータ可視化コースでは、データを処理してさまざまなチャート、グラフ、ホバー要素、その他の構成要素を作成し、動的かつ魅力的にデータを可視化する方法を学習します。"
|
||
]
|
||
},
|
||
"json-apis-and-ajax": {
|
||
"title": "JSON API と AJAX",
|
||
"intro": [
|
||
"人々がプログラムを使用する際に UI が役に立つのと同様に、API (Application Programming Interface) は、プログラムが他のプログラムと相互に作用する際に役立ちます。API はコンピューターがお互いに通信し、データを送受信するために使用する道具です。",
|
||
"プログラマーは API を扱う際によく AJAX (Asynchronous JavaScript and XML) を使用します。AJAX は、データを転送するための非同期リクエストをサーバーに対して送信し、戻ってきたデータをページの中に入れ込む技術のことです。また、多くの場合ブラウザとサーバーの間で転送されるデータは JSON (JavaScript Object Notation) と呼ばれる形式です。",
|
||
"このコースでは、ブラウザで API とさまざまな AJAX 技術を扱うことについての基本を学習します。"
|
||
]
|
||
},
|
||
"data-visualization-projects": {
|
||
"title": "データ可視化プロジェクト",
|
||
"intro": [
|
||
"D3、API、そして AJAX 技術を扱う方法を学習したので、下記 5 つのデータ可視化プロジェクトで技能をテストしましょう。",
|
||
"これらのプロジェクトでは、データを取得し、解析し、D3 を使用して様々なデータ可視化を作成します。これらすべてを完成させ、データ可視化認定証を取得しましょう。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"relational-database": {
|
||
"title": "Relational Database V8",
|
||
"intro": [
|
||
"このコースでは、VS Code、PostgreSQL、そして Linux / Unix コマンドラインを含む本格的な開発者ツールとソフトウェアを使用して、インタラクティブなチュートリアルを完了し、プロジェクトを構築します。",
|
||
"これらのコースは基本的な Bash コマンドから始まります。ターミナルを使用して、ファイルシステムの移動や操作から、Bash 内でのスクリプト、幅広い高度な使用法まで、すべてを学習します。",
|
||
"次に、データベース管理システムである PostgreSQL と、これらデータベースの言語である SQL を使用して、リレーショナルデータベースの作成、操作方法を学習します。",
|
||
"最後に、すべての開発者にとって不可欠なツールである、バージョン管理システムの Git について学習します。"
|
||
],
|
||
"blocks": {
|
||
"build-a-celestial-bodies-database-project": {
|
||
"title": "天体データベース",
|
||
"intro": [
|
||
"これは認定証の取得に必須のプロジェクトの 1 つです。",
|
||
"このプロジェクトでは、PostgreSQL を使用して天体のデータベースを構築します。"
|
||
]
|
||
},
|
||
"build-a-number-guessing-game-project": {
|
||
"title": "数当てゲーム",
|
||
"intro": [
|
||
"これは認定証の取得に必須のプロジェクトの 1 つです。",
|
||
"このプロジェクトでは、Bash のシェルスクリプト、PostgreSQL、Git を使用して、数当てゲームを作成します。ゲームはターミナル内で動作し、ユーザーの情報を保存できるようにします。"
|
||
]
|
||
},
|
||
"build-a-periodic-table-database-project": {
|
||
"title": "周期表データベース",
|
||
"intro": [
|
||
"これは認定証の取得に必須のプロジェクトの 1 つです。",
|
||
"For this project, you will create a Bash script to get information about chemical elements from a periodic table database."
|
||
]
|
||
},
|
||
"build-a-salon-appointment-scheduler-project": {
|
||
"title": "サロン予約スケジューラー",
|
||
"intro": [
|
||
"これは認定証の取得に必須のプロジェクトの 1 つです。",
|
||
"このプロジェクトでは、PostgreSQL を使用して、サロンの顧客と予約を管理するインタラクティブな Bash プログラムを作成します。"
|
||
]
|
||
},
|
||
"build-a-world-cup-database-project": {
|
||
"title": "ワールドカップデータベース",
|
||
"intro": [
|
||
"これは認定証の取得に必須のプロジェクトの 1 つです。",
|
||
"このプロジェクトでは、PostgreSQL データベースにワールドカップの試合情報を入力し、そこから有用な統計情報を取得する Bash スクリプトを作成します。"
|
||
]
|
||
},
|
||
"learn-advanced-bash-by-building-a-kitty-ipsum-translator": {
|
||
"title": "高度な Bash の学習: Kitty Ipsum 翻訳プログラムを作成する",
|
||
"intro": [
|
||
"Bash コマンドについて学ぶべきことは、想像以上に多くあります。",
|
||
"この 140 のレッスンから成るコースでは、より複雑なコマンドと、コマンドの仕組みについて学びます。"
|
||
]
|
||
},
|
||
"learn-bash-and-sql-by-building-a-bike-rental-shop": {
|
||
"title": "Bash と SQL の学習: 自転車レンタルショップを構築する",
|
||
"intro": [
|
||
"この 210 のレッスンから成るコースでは、PostgreSQL を使用して、自転車レンタルショップのレンタル情報を保存するインタラクティブな Bash プログラムを構築します。"
|
||
]
|
||
},
|
||
"learn-bash-by-building-a-boilerplate": {
|
||
"title": "Bash の学習: ボイラープレートを構築する",
|
||
"intro": [
|
||
"ターミナルによって、コンピュータへテキストコマンドを送信することで、ファイルシステムの操作、プログラムの実行、タスクの自動化などができます。",
|
||
"この 170 のレッスンから成るコースでは、コマンドラインのみを使用してウェブサイトのボイラープレートを作成することで、ターミナルのコマンドについて学習します。"
|
||
]
|
||
},
|
||
"learn-bash-scripting-by-building-five-programs": {
|
||
"title": "Bash スクリプトの学習: 5 つのプログラムを作成する",
|
||
"intro": [
|
||
"Bash スクリプトは、ターミナルコマンドとロジックを組み合わせてプログラムにします。タスクの実行や自動化、その他多くのことができます。",
|
||
"この 220 のレッスンから成るコースでは、5 つの小規模なプログラムを作成しながら、より多くのターミナルコマンドと、Bash スクリプトでの使い方を学びます。"
|
||
]
|
||
},
|
||
"learn-git-by-building-an-sql-reference-object": {
|
||
"title": "Git の学習: SQL リファレンスのオブジェクトを作成する",
|
||
"intro": [
|
||
"Git は、コードベースに対する変更の履歴を記録できるバージョン管理システムです。",
|
||
"この 240 のレッスンから成るコースでは、よく使われる SQL コマンドをデータとして持つオブジェクトを作成しながら、Git がどのようにしてコードの履歴を記録するかを学びます。"
|
||
]
|
||
},
|
||
"learn-nano-by-building-a-castle": {
|
||
"title": "Nano の学習: 城の絵を作成する",
|
||
"intro": [
|
||
"Nano はターミナル内で直接ファイルを編集できるプログラムです。",
|
||
"この 40 のレッスンから成るコースでは、城の絵を作りながら、ターミナルでファイルを編集する方法を学びます。"
|
||
]
|
||
},
|
||
"learn-relational-databases-by-building-a-database-of-video-game-characters": {
|
||
"title": "Learn Relational Databases by Building a Database of Video Game Characters",
|
||
"intro": [
|
||
"A relational database organizes data into tables that are linked together through relationships.",
|
||
"In this 165-lesson course, you will learn the basics of a relational database by creating a PostgreSQL database filled with video game characters."
|
||
]
|
||
},
|
||
"learn-sql-by-building-a-student-database-part-1": {
|
||
"title": "SQL の学習: 学生データベースを作成する (パート 1)",
|
||
"intro": [
|
||
"SQL または Structured Query Language とは、リレーショナルデータベースとやり取りするための言語です。",
|
||
"この 140 のレッスンから成るコースでは、SQL でコンピューター科学の学生達の情報を PostgreSQL データベースに入力する、Bash スクリプトを作成します。"
|
||
]
|
||
},
|
||
"learn-sql-by-building-a-student-database-part-2": {
|
||
"title": "SQL の学習: 学生データベースを作成する (パート 2)",
|
||
"intro": [
|
||
"SQL の JOIN コマンドは、リレーショナルデータベースにおいて複数のテーブルからの情報を結合するために使用されます。",
|
||
"この 140 のレッスンから成るコースでは、SQL コマンドをより深く掘り下げながら、学生データベースを完成させます。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"back-end-development-and-apis": {
|
||
"title": "Back-End Development and APIs V8",
|
||
"intro": [
|
||
"Until this point, you've only used JavaScript on the front-end to add interactivity to a page, solve algorithm challenges, or build an SPA. But JavaScript can also be used on the back-end, or server, to build entire web applications.",
|
||
"現在、アプリケーションを構築する一般的な方法の一つはマイクロサービスを使用する方法です。これは、小さなモジュール式のアプリケーションを組み合わせて、より大きな全体を形成する方法です。",
|
||
"In the Back-End Development and APIs Certification, you'll learn how to write back-end apps with Node.js and npm. You'll also build web applications with the Express framework, and build a People Finder microservice with MongoDB and the Mongoose library."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"managing-packages-with-npm": {
|
||
"title": "NPM でパッケージを管理する",
|
||
"intro": [
|
||
"npm (Node Package Manager) は、Node.js のために記述された JavaScript コードのパッケージをインストールし、作成し、共有するためのコマンドラインツールです。npm では多くのオープンソースパッケージが利用できるので、日付を扱ったり API からデータを取得したりするような処理を再び一から作ってしまうことのないよう、プロジェクトを開始する前にいくらか時間をとって調べてみてください。",
|
||
"このコースでは、<code>package.json</code> の取り扱い方法やインストールされた依存関係を管理する方法など、npm の使い方の基本を学習します。"
|
||
]
|
||
},
|
||
"basic-node-and-express": {
|
||
"title": "Node と Express の基本",
|
||
"intro": [
|
||
"Node.js is a JavaScript runtime that allows developers to write back-end (server-side) programs in JavaScript. Node.js comes with a handful of built-in modules — small, independent programs — that help with this. Some of the core modules include HTTP, which acts like a server, and File System, a module to read and modify files.",
|
||
"一つ前のコースでは、npm から小さいモジュールの集まりであるパッケージをインストールし管理することを学習しました。これらのパッケージはより大きく複雑なアプリケーションを構築するのに役立ちます。",
|
||
"Express は軽量のウェブアプリケーションフレームワークであり、また npm で最もよく使われるパッケージの一つです。Express は、サーバーを作成したり、アプリのルーティングを扱ったりすることを容易にします。例えば <pre>/blog</pre> のような特定のエンドポイントを訪れる人々を、正しいページに誘導するといった処理です。",
|
||
"このコースでは、サーバーの作成方法、さまざまなファイルを供給する方法、そしてブラウザからのいろいろなリクエストの扱い方を含む、Node と Express の基本を学習します。"
|
||
]
|
||
},
|
||
"mongodb-and-mongoose": {
|
||
"title": "MongoDB と Mongoose",
|
||
"intro": [
|
||
"MongoDB はアプリケーションで使用できる JSON ドキュメント (またはレコード) を保管するデータベースアプリケーションです。別の種類のデータベースである SQL とは異なり、MongoDB は非リレーショナル、または \"NoSQL\" データベースです。これは、SQL データベースがあらかじめ定義した多くのテーブルにデータを保管するのと異なり、MongoDB はすべての関連データを一つのレコードの中に保管することを意味します。",
|
||
"Mongoose は MongoDB とやり取りするためによく使われる npm パッケージです。Mongoose を利用することで、JSON ではなく素の JavaScript オブジェクトを使用できるようになり、MongoDB が使いやすくなります。また、スキーマと呼ばれるドキュメントの設計図を作成することを可能にし、間違った型のデータを保存してしまい後にバグを発生させることを防ぎます。",
|
||
"MongoDB と Mongoose コースでは、モデルを設定する方法や、データベース内のドキュメントを保存、削除、検索する方法など、永続的なデータを扱うことの基本を学習します。"
|
||
]
|
||
},
|
||
"back-end-development-and-apis-projects": {
|
||
"title": "Back-End Development and APIs Projects",
|
||
"intro": [
|
||
"以前にも API を扱いましたが、npm、Node、Express、MongoDB、そして Mongoose を学んだ今、それを実践する時です。これまでに学習したすべてを利用して、5 つのマイクロサービス (範囲を限定されたより小さなアプリケーション) を作成してください。",
|
||
"After creating these, you'll have 5 cool microservice APIs you can show off to friends, family, and potential employers. Oh, and you'll have a shiny new Back-End Development and APIs Certification, too."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"quality-assurance": {
|
||
"title": "品質保証",
|
||
"intro": [
|
||
"プログラムまたはウェブアプリケーションがより複雑になるにつれて、新たな変更が元の機能を破壊しないか確かめるために、それらをテストしたくなるでしょう。",
|
||
"品質保証認定講座では、アプリケーションが期待通りに動作することを保証するために、Chai でテストを記述する方法を学習します。",
|
||
"そして、高度な Node と Express の概念を学習するためにチャットアプリケーションを構築します。また、テンプレートエンジンとして Pug を、認証のために Passport を、そしてサーバーと接続されているクライアントの間のリアルタイム通信を行うために Socket.io を使用します。"
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"quality-assurance-and-testing-with-chai": {
|
||
"title": "品質保証と Chai でのテスト",
|
||
"intro": [
|
||
"Chai は、JavaScript のテストライブラリです。コードを変更した後もなお期待通りにプログラムが機能することを確かめるのに役立ちます。",
|
||
"Chai を使用することで、プログラムの要件を表すテストを記述し、そしてプログラムがそれを満たしているかどうかを確かめることができます。",
|
||
"このコースでは、アサーション、深い等価性 (deep equality)、真値性 (truthiness)、API のテスト、その他 JavaScript アプリケーションのテストの基本について学習します。"
|
||
]
|
||
},
|
||
"advanced-node-and-express": {
|
||
"title": "高度な Node と Express",
|
||
"intro": [
|
||
"ここで、サインインシステムがあるチャットアプリケーションを構築しながら、Node.js と Express.js を深く掘り下げます。",
|
||
"サインインシステムを安全に実装するために、認証について学習する必要があります。認証とは、人または処理の身元を確認することです。",
|
||
"In this course, you'll learn how to use Passport to manage authentication, Pug to create reusable templates for quickly building the front-end, and web sockets for real-time communication between the clients and server."
|
||
]
|
||
},
|
||
"quality-assurance-projects": {
|
||
"title": "品質保証プロジェクト",
|
||
"intro": [
|
||
"Now that you're well versed in both the front-end and back-end, it's time to apply all the skills and concepts you've learned up to this point. You'll build 5 different web applications, and write tests for each one to make sure they're working and can handle different edge cases.",
|
||
"これらの品質保証プロジェクトを完成させることで、さらに 5 つのプロジェクトの経験を積み、そしてポートフォリオで披露できる新しい認定証を取得できます。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"scientific-computing-with-python": {
|
||
"title": "Scientific Computing with Python",
|
||
"intro": [
|
||
"The Scientific Computing with Python curriculum will equip you with the skills to analyze and manipulate data using Python, a powerful and versatile programming language. You'll learn key concepts like data structures, algorithm, Object Oriented Programming, and how to perform complex calculations using a variety of tools.",
|
||
"This comprehensive course will guide you through the fundamentals of scientific computing, including data structures, and algorithms."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"learn-string-manipulation-by-building-a-cipher": {
|
||
"title": "文字列操作の学習: 暗号プログラムを作成する",
|
||
"intro": [
|
||
"Python is a powerful and popular programming language widely used for data science, data visualization, web development, game development, machine learning and more.",
|
||
"In this project, you'll learn fundamental programming concepts in Python, such as variables, functions, loops, and conditional statements. You'll use these to code your first programs."
|
||
]
|
||
},
|
||
"learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm": {
|
||
"title": "数値と文字列を扱う学習: Luhn アルゴリズムを実装する",
|
||
"intro": [
|
||
"The Luhn Algorithm is widely used for error-checking in various applications, such as verifying credit card numbers.",
|
||
"By building this project, you'll gain experience working with numerical computations and string manipulation."
|
||
]
|
||
},
|
||
"learn-list-comprehension-by-building-a-case-converter-program": {
|
||
"title": "Learn Python List Comprehension by Building a Case Converter Program",
|
||
"intro": [
|
||
"List Comprehension is a way to construct a new Python list from an iterable types: lists, tuples, and strings. All without using a for loop or the `.append()` list method.",
|
||
"In this project, you'll write a program that takes a string formatted in Camel Case or Pascal Case, then converts it into Snake Case.",
|
||
"The project has two phases: first you'll use a for loop to implement the program. Then you'll learn how to use List Comprehension instead of a loop to achieve the same results."
|
||
]
|
||
},
|
||
"learn-regular-expressions-by-building-a-password-generator": {
|
||
"title": "正規表現の学習: パスワードジェネレーターを作成する",
|
||
"intro": [
|
||
"A Python module is a file that contains a set of statements and definitions that you can use in your code.",
|
||
"In this project, you'll learn how to import modules from the Python standard library. You'll also learn how to use Regular Expressions by building your own password generator program."
|
||
]
|
||
},
|
||
"learn-algorithm-design-by-building-a-shortest-path-algorithm": {
|
||
"title": "アルゴリズムデザインの学習: 最短経路アルゴリズムを作成する",
|
||
"intro": [
|
||
"Algorithms are step-by-step procedures that developers use to perform calculations and solve computational problems.",
|
||
"In this project, you'll learn how to use functions, loops, conditional statements, and dictionary comprehensions to implement a Shortest Path algorithm."
|
||
]
|
||
},
|
||
"learn-recursion-by-solving-the-tower-of-hanoi-puzzle": {
|
||
"title": "再帰処理の学習: ハノイの塔パズルを解く",
|
||
"intro": [
|
||
"Recursion is a programming approach that allows you to solve complicated computational problems with just a little code.",
|
||
"In this project, you'll start with a loop-based approach to solving the tower of Hanoi mathematical puzzle. Then you'll learn how to implement a recursive solution."
|
||
]
|
||
},
|
||
"learn-data-structures-by-building-the-merge-sort-algorithm": {
|
||
"title": "データ構造の学習: マージソートアルゴリズムを作成する",
|
||
"intro": [
|
||
"The Merge Sort Algorithm is a sorting algorithm based on the divide and conquer principle.",
|
||
"In this project, you'll learn how to interact with data structures by sorting a list of random numbers using the Merge Sort Algorithm."
|
||
]
|
||
},
|
||
"learn-classes-and-objects-by-building-a-sudoku-solver": {
|
||
"title": "クラスとオブジェクトの学習: 数独ソルバーを作成する",
|
||
"intro": [
|
||
"Classes and objects are important programming concepts. These Object-Oriented Programming tools help developers to achieve code modularity, abstraction, and readability. And they promote reusability.",
|
||
"In this Sudoku Solver project, you'll learn how to use classes and objects to build a Sudoku grid and to solve a Sudoku puzzle."
|
||
]
|
||
},
|
||
"learn-tree-traversal-by-building-a-binary-search-tree": {
|
||
"title": "木構造の走査の学習: 二分探索木を作成する",
|
||
"intro": [
|
||
"A Binary Search Tree (BST) is an common data structure where data is sorted hierarchically.",
|
||
"In this project, you'll learn how to construct your own BST and perform an in-order traversal. You'll also learn key operations like insertion, search, and deletion."
|
||
]
|
||
},
|
||
"learn-lambda-functions-by-building-an-expense-tracker": {
|
||
"title": "ラムダ関数の学習: 経費記録ツールを作成する",
|
||
"intro": [
|
||
"Lambda functions give you a concise way to write small, throwaway functions in your code.",
|
||
"In this project, you'll explore the power of Lambda Functions by creating an expense tracker. Your resulting app will demonstrate how you can use Lambda Functions for efficient, streamlined operations."
|
||
]
|
||
},
|
||
"build-an-arithmetic-formatter-project": {
|
||
"title": "Build an Arithmetic Formatter Project",
|
||
"intro": [
|
||
"This is one of the required projects to claim your certification."
|
||
]
|
||
},
|
||
"build-a-time-calculator-project": {
|
||
"title": "Build a Time Calculator Project",
|
||
"intro": [
|
||
"This is one of the required projects to claim your certification."
|
||
]
|
||
},
|
||
"build-a-budget-app-project": {
|
||
"title": "Build a Budget App Project",
|
||
"intro": [
|
||
"This is one of the required projects to claim your certification."
|
||
]
|
||
},
|
||
"build-a-polygon-area-calculator-project": {
|
||
"title": "Build a Polygon Area Calculator Project",
|
||
"intro": [
|
||
"This is one of the required projects to claim your certification."
|
||
]
|
||
},
|
||
"build-a-probability-calculator-project": {
|
||
"title": "Build a Probability Calculator Project",
|
||
"intro": [
|
||
"This is one of the required projects to claim your certification."
|
||
]
|
||
},
|
||
"learn-interfaces-by-building-an-equation-solver": {
|
||
"title": "Learn Interfaces by Building an Equation Solver",
|
||
"intro": [
|
||
"Abstract classes enable you to define formal interfaces - objects acting as blueprints for classes.",
|
||
"In this project, you'll discover how to implement an interface in Python while building a simple equation solver program."
|
||
]
|
||
},
|
||
"learn-special-methods-by-building-a-vector-space": {
|
||
"title": "Learn Special Methods by Building a Vector Space",
|
||
"intro": [
|
||
"Python special methods are called in response to specific operations and enable you to customize the behavior of your objects in a detailed and effective way.",
|
||
"In this project, you are going to explore some of the most common special methods while learning about vectors by building a vector space."
|
||
]
|
||
},
|
||
"learn-encapsulation-by-building-a-projectile-trajectory-calculator": {
|
||
"title": "Learn Encapsulation by Building a Projectile Trajectory Calculator",
|
||
"intro": [
|
||
"Encapsulation is a core OOP principle based on writing code that limits direct access to data.",
|
||
"In this project, you'll discover new concepts related to encapsulation, such as getters, setters, and name mangling, and you'll use them together with what you already learned to create a program that calculates a projectile trajectory."
|
||
]
|
||
},
|
||
"learn-the-bisection-method-by-finding-the-square-root-of-a-number": {
|
||
"title": "Learn the Bisection Method by Finding the Square Root of a Number",
|
||
"intro": [
|
||
"Numerical methods are used to approximate solutions to mathematical problems that are difficult or impossible to solve analytically.",
|
||
"In this project, you will explore the numerical method of bisection to find the square root of a number by iteratively narrowing down the possible range of values that contain the square root."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"data-analysis-with-python": {
|
||
"title": "Python を用いたデータ分析",
|
||
"intro": [
|
||
"データ分析はずっと以前からありました。しかし数年前までは、開発者は Tableau のような高額で、クローズドソースのツールを用いてそれを実践していました。しかし最近では、Python、SQL、そして他のオープンなライブラリがデータ分析を永遠に変えてしまいました。",
|
||
"Python を用いたデータ分析認定講座では、Python を用いたデータ分析の基礎を学習します。この認定講座の終わりまでに、CSV や SQL のような情報源からデータを読み出す方法と、Numpy、Pandas、Matplotlib、そして Seaborn といったライブラリを、データを加工し可視化するために使用する方法がわかるようになります。"
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"data-analysis-with-python-course": {
|
||
"title": "Python を用いたデータ分析",
|
||
"intro": [
|
||
"Santiago Basulto によって作成されたこれらの幅広いビデオコースで、データ分析の全工程を学習します。データを複数の情報源 (CSV, SQL, Excel) から読み出し、そのデータを NumPy と Pandas を用いて加工し、Matplotlib と Seaborn を使用してそれを可視化します。",
|
||
"さらに、詳細な Jupyter Notebook コースと、プログラミング技能を新たにするための Python クイックリファレンスを含めました。"
|
||
]
|
||
},
|
||
"numpy": {
|
||
"title": "NumPy",
|
||
"intro": [
|
||
"Keith Galli によって作成された以下のビデオコースで、NumPy ライブラリの基本を学びましょう。",
|
||
"このコースでは、NumPy がどのように機能し、そして Python の組み込みリストと比べてどのような物かを学習します。また、NumPy でコードを記述する方法や、インデックスの作成、再整形、統計の応用など、他にもたくさんのことを学習します。"
|
||
]
|
||
},
|
||
"data-analysis-with-python-projects": {
|
||
"title": "Python を用いたデータ分析プロジェクト",
|
||
"intro": [
|
||
"Python を用いてデータを分析する方法は多数あります。これらのプロジェクトを完成させることによって、あなたが Python を用いたデータ分析に関する優秀な基礎知識をもっていることを証明できるでしょう。",
|
||
"これらすべてを完成させ、Python を用いたデータ分析認定証を獲得しましょう。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"learn-python-for-beginners": {
|
||
"title": "Learn Python for Beginners",
|
||
"summary": [
|
||
"Learn the fundamentals of Python programming from the ground up by practicing foundational concepts and building small projects."
|
||
],
|
||
"intro": [
|
||
"Python is one of the most popular programming languages today. It's easy to learn, readable, and versatile.",
|
||
"In this comprehensive course, you'll learn the fundamentals of Python programming from the ground up. You'll start with basic concepts like variables and data types, progress through control flow and functions, and build projects to practice what you've learned."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"python-setup-first-steps": {
|
||
"title": "Python Setup & First Steps",
|
||
"intro": [
|
||
"In these videos, popular programming instructor Mike Dane will introduce you to Python and show you how to setup your local environment."
|
||
]
|
||
},
|
||
"core-primitives-in-python": {
|
||
"title": "Core Primitives in Python",
|
||
"intro": [
|
||
"In these videos, you will learn about variables, data types, strings, numbers, and getting input from the user."
|
||
]
|
||
},
|
||
"small-python-projects": {
|
||
"title": "Small Python Projects",
|
||
"intro": [
|
||
"In these videos, you will practice what you have learned so far by building a basic calculator app and mad libs game."
|
||
]
|
||
},
|
||
"lists-and-tuples": {
|
||
"title": "Lists and Tuples",
|
||
"intro": [
|
||
"In these videos, you will learn about lists, tuples and common operations."
|
||
]
|
||
},
|
||
"control-flow-and-functions-in-python": {
|
||
"title": "Control Flow and Functions",
|
||
"intro": [
|
||
"In these videos, you will learn how to control the flow of your programs with if statements. You will also learn how to write reusable code with functions."
|
||
]
|
||
},
|
||
"dictionaries-and-loops": {
|
||
"title": "Dictionaries and Loops",
|
||
"intro": [
|
||
"In these videos, you will learn how to work with dictionaries and various loops include the while and for loops."
|
||
]
|
||
},
|
||
"error-handling-files-and-modules-in-python": {
|
||
"title": "Error Handling, Files, and Modules",
|
||
"intro": [
|
||
"In these videos, you will learn how to handle errors gracefully, read and write to files, and organize your code with modules and external packages."
|
||
]
|
||
},
|
||
"object-oriented-programming-with-python": {
|
||
"title": "Object-Oriented Programming with Python",
|
||
"intro": [
|
||
"In these videos, you will learn about object-oriented programming by creating classes and objects. You will practice these skills by building a multiple choice quiz application."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"introduction-to-algorithms-and-data-structures": {
|
||
"title": "Introduction to Algorithms and Data Structures",
|
||
"summary": [
|
||
"Learn about common algorithms and data structures in this introductory course."
|
||
],
|
||
"intro": [
|
||
"Algorithms and Data Structures are the backbone of programming. So it's important to learn how to work with them.",
|
||
"In this comprehensive course, you will learn about common sorting and searching algorithms including merge sort, quicksort and binary search.",
|
||
"You will also learn how to work with common data structures including arrays and linked lists."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"searching-algorithms": {
|
||
"title": "Searching Algorithms",
|
||
"intro": [
|
||
"In these videos, you will learn what an algorithm is and learn how to work with the binary search and linear search algorithms."
|
||
]
|
||
},
|
||
"time-complexity": {
|
||
"title": "Time Complexity",
|
||
"intro": [
|
||
"In these videos, you will learn about time complexity and how it works with measuring efficiency of algorithms."
|
||
]
|
||
},
|
||
"algorithms-in-code": {
|
||
"title": "Algorithms in Code",
|
||
"intro": [
|
||
"In these videos, you will write Python code for the linear and binary search algorithms."
|
||
]
|
||
},
|
||
"recursion-and-space-complexity": {
|
||
"title": "Recursion and Space Complexity",
|
||
"intro": [
|
||
"In these videos, you will learn about recursion and space complexity for algorithms."
|
||
]
|
||
},
|
||
"introduction-to-arrays": {
|
||
"title": "Introduction to Arrays",
|
||
"intro": [
|
||
"In these videos, you will learn how to work with arrays. You will learn about different operations including insert, delete and search."
|
||
]
|
||
},
|
||
"introduction-to-linked-lists": {
|
||
"title": "Introduction to Linked Lists",
|
||
"intro": [
|
||
"In these videos, you will learn about linked lists. You will learn how to add nodes to a list as well as remove and search a list."
|
||
]
|
||
},
|
||
"merge-sort-algorithm": {
|
||
"title": "Merge Sort Algorithm",
|
||
"intro": [
|
||
"In these videos, you will learn about the merge sort algorithm."
|
||
]
|
||
},
|
||
"sorting-a-linked-list": {
|
||
"title": "Sorting a Linked List",
|
||
"intro": [
|
||
"In these videos, you will learn more about how to sort linked lists."
|
||
]
|
||
},
|
||
"sorting-algorithms": {
|
||
"title": "Sorting Algorithms",
|
||
"intro": [
|
||
"In these videos, you will learn about common sorting algorithms including selection sort and quicksort."
|
||
]
|
||
},
|
||
"searching-names-using-sorting-and-searching-algorithms": {
|
||
"title": "Searching Names using Sorting and Searching Algorithms",
|
||
"intro": [
|
||
"In these videos, you will practice searching for names using the binary and linear search algorithms and comparing the runtimes for them."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"learn-rag-mcp-fundamentals": {
|
||
"title": "Learn RAG and MCP Fundamentals",
|
||
"summary": [
|
||
"Learn the fundamentals of RAG and MCP in this comprehensive video course."
|
||
],
|
||
"intro": [
|
||
"RAG stands for Retrieval-Augmented Generation. MCP stands for Model Context Protocol. These are powerful frameworks for building AI agents that can retrieve information from a knowledge base, generate responses based on that information, and plan their actions accordingly.",
|
||
"In this course, you'll learn the fundamentals of RAG and MCP and how to implement them in your own projects. You'll explore the components of RAG and MCP, including retrieval, generation, memory, context, and planning. By the end of this course, you'll have a solid understanding of how RAG and MCP work and how to use them to build intelligent agents."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"understanding-rag": {
|
||
"title": "Understanding RAG",
|
||
"intro": [
|
||
"Learn the fundamentals of Retrieval-Augmented Generation (RAG), including what it is, when to use it, and core concepts."
|
||
]
|
||
},
|
||
"retrieval-engine-internals": {
|
||
"title": "Retrieval Engine Internals",
|
||
"intro": [
|
||
"Dive into semantic search, embedding models, vector databases, and chunking to understand how retrieval works under the hood."
|
||
]
|
||
},
|
||
"designing-reliable-rag-systems": {
|
||
"title": "Designing Reliable RAG Systems",
|
||
"intro": [
|
||
"Explore RAG architecture, monitoring, error handling, and how to deploy RAG systems in production."
|
||
]
|
||
},
|
||
"mcp-ecosystem-and-tooling": {
|
||
"title": "MCP Ecosystem & Tooling",
|
||
"intro": [
|
||
"Learn why MCP exists, its architecture, JSON-RPC, and how to build and use MCP servers and clients effectively."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"introduction-to-precalculus": {
|
||
"title": "Introduction to Precalculus",
|
||
"summary": [
|
||
"Learn the fundamentals of precalculus, including functions, and trigonometry."
|
||
],
|
||
"intro": [
|
||
"Precalculus is a branch of mathematics that prepares you for calculus. It covers a wide range of topics including functions, and trigonometry."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"function-basics": {
|
||
"title": "Function Basics",
|
||
"intro": [
|
||
"In these videos, you will learn about functions and how to work with them."
|
||
]
|
||
},
|
||
"angles-and-circular-motion": {
|
||
"title": "Angles and Circular Motion",
|
||
"intro": [
|
||
"In these videos, you will learn about angles and circular motion."
|
||
]
|
||
},
|
||
"right-triangle-trigonometry": {
|
||
"title": "Right Triangle Trigonometry",
|
||
"intro": [
|
||
"In these videos, you will learn about right triangle trigonometry and how to work with it."
|
||
]
|
||
},
|
||
"trig-graphs-inverses": {
|
||
"title": "Trigonometric Graphs and Inverses",
|
||
"intro": [
|
||
"In these videos, you will learn about trigonometric graphs and inverse functions."
|
||
]
|
||
},
|
||
"solving-trig-equations": {
|
||
"title": "Solving Trigonometric Equations",
|
||
"intro": [
|
||
"In these videos, you will learn how to solve trigonometric equations."
|
||
]
|
||
},
|
||
"trig-identities-formulas": {
|
||
"title": "Trigonometric Identities and Formulas",
|
||
"intro": [
|
||
"In these videos, you will learn about trigonometric identities and formulas."
|
||
]
|
||
},
|
||
"advanced-trig-conics": {
|
||
"title": "Advanced Trigonometry and Conics",
|
||
"intro": [
|
||
"In these videos, you will learn about advanced trigonometry and conic sections."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"introduction-to-bash": {
|
||
"title": "Introduction to Bash",
|
||
"summary": [
|
||
"Learn how to use the terminal and write Bash scripts to automate tasks and manage files and processes."
|
||
],
|
||
"intro": [
|
||
"Bash is a Unix shell and command language that provides a powerful interface for interacting with your computer's operating system. It allows you to execute commands, automate tasks, and manage files and processes efficiently.",
|
||
"In this course, you'll learn the basics of Bash scripting, including how to navigate the file system, manipulate files and directories."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-understanding-the-command-line-and-working-with-bash": {
|
||
"title": "Understanding the Command Line and Working with Bash",
|
||
"intro": [
|
||
"Learn about the Command Line and Working with Bash in these lessons."
|
||
]
|
||
},
|
||
"workshop-bash-boilerplate": {
|
||
"title": "Build a Boilerplate",
|
||
"intro": [
|
||
"The terminal allows you to send text commands to your computer that can manipulate the file system, run programs, automate tasks, and much more.",
|
||
"In this 170-lesson workshop, you will learn terminal commands by creating a website boilerplate using only the command line."
|
||
]
|
||
},
|
||
"review-bash-commands": {
|
||
"title": "Bash Commands Review",
|
||
"intro": [
|
||
"Review the Bash Commands concepts to prepare for the upcoming quiz."
|
||
]
|
||
},
|
||
"quiz-bash-commands": {
|
||
"title": "Bash Commands Quiz",
|
||
"intro": ["Test what you've learned bash commands with this quiz."]
|
||
}
|
||
}
|
||
},
|
||
"introduction-to-sql-and-postgresql": {
|
||
"title": "Introduction to SQL and PostgreSQL",
|
||
"summary": [
|
||
"Learn how to use SQL and PostgreSQL to create and manage relational databases."
|
||
],
|
||
"intro": [
|
||
"SQL (Structured Query Language) is a programming language used to manage and manipulate relational databases. It allows you to create, read, update, and delete data in a database.",
|
||
"PostgreSQL is a powerful, open-source relational database management system that uses SQL as its query language. It provides a robust and scalable platform for storing and managing data."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-working-with-relational-databases": {
|
||
"title": "Working with Relational Databases",
|
||
"intro": [
|
||
"Learn how to work with Relational Databases in these lessons."
|
||
]
|
||
},
|
||
"workshop-database-of-video-game-characters": {
|
||
"title": "Build a Database of Video Game Characters",
|
||
"intro": [
|
||
"A relational database organizes data into tables that are linked together through relationships.",
|
||
"In this 165-lesson workshop, you will learn the basics of a relational database by creating a PostgreSQL database filled with video game characters."
|
||
]
|
||
},
|
||
"lab-celestial-bodies-database": {
|
||
"title": "Build a Celestial Bodies Database",
|
||
"intro": [
|
||
"For this project, you will build a database of celestial bodies using PostgreSQL."
|
||
]
|
||
},
|
||
"review-sql-and-postgresql": {
|
||
"title": "SQL and PostgreSQL Review",
|
||
"intro": [
|
||
"Review SQL and PostgreSQL concepts to prepare for the upcoming quiz."
|
||
]
|
||
},
|
||
"quiz-sql-and-postgresql": {
|
||
"title": "SQL and PostgreSQL Quiz",
|
||
"intro": [
|
||
"Test what you've learned about SQL and PostgreSQL with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"learn-bash-scripting": {
|
||
"title": "Learn Bash Scripting",
|
||
"summary": [
|
||
"Learn how to write Bash scripts to automate tasks and manage files and processes."
|
||
],
|
||
"intro": [
|
||
"Bash scripts combine terminal commands and logic into programs that can execute or automate tasks, and much more.",
|
||
"In this course, you will learn more terminal commands and how to use them within Bash scripts by creating five small programs."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-understanding-bash-scripting": {
|
||
"title": "Understanding Bash Scripting",
|
||
"intro": ["Learn about Bash Scripting in these lessons."]
|
||
},
|
||
"workshop-bash-five-programs": {
|
||
"title": "Build Five Programs",
|
||
"intro": [
|
||
"Bash scripts combine terminal commands and logic into programs that can execute or automate tasks, and much more.",
|
||
"In this 220-lesson workshop, you will learn more terminal commands and how to use them within Bash scripts by creating five small programs."
|
||
]
|
||
},
|
||
"review-bash-scripting": {
|
||
"title": "Bash Scripting Review",
|
||
"intro": [
|
||
"Review the bash scripting concepts you've learned to prepare for the upcoming quiz."
|
||
]
|
||
},
|
||
"quiz-bash-scripting": {
|
||
"title": "Bash Scripting Quiz",
|
||
"intro": ["Test what you've learned on bash scripting in this quiz."]
|
||
}
|
||
}
|
||
},
|
||
"learn-sql-and-bash": {
|
||
"title": "Learn SQL and Bash",
|
||
"summary": [
|
||
"Learn how to use SQL and Bash together to manage and manipulate relational databases."
|
||
],
|
||
"intro": [
|
||
"SQL, or Structured Query Language, is the language for communicating with a relational database. Bash is a Unix shell and command language that provides a powerful interface for interacting with your computer's operating system.",
|
||
"In this course, you will create a Bash script that uses SQL to enter information about your computer science students into PostgreSQL."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-working-with-sql": {
|
||
"title": "Working With SQL",
|
||
"intro": [
|
||
"In these lessons, you will learn about SQL injection, normalization, and the N+1 problem."
|
||
]
|
||
},
|
||
"workshop-sql-student-database-part-1": {
|
||
"title": "Build a Student Database: Part 1",
|
||
"intro": [
|
||
"SQL, or Structured Query Language, is the language for communicating with a relational database.",
|
||
"In this 140-lesson workshop, you will create a Bash script that uses SQL to enter information about your computer science students into PostgreSQL."
|
||
]
|
||
},
|
||
"workshop-sql-student-database-part-2": {
|
||
"title": "Build a Student Database: Part 2",
|
||
"intro": [
|
||
"SQL join commands are used to combine information from multiple tables in a relational database",
|
||
"In this 140-lesson workshop, you will complete your student database while diving deeper into SQL commands."
|
||
]
|
||
},
|
||
"lab-world-cup-database": {
|
||
"title": "Build a World Cup Database",
|
||
"intro": [
|
||
"For this project, you will create a Bash script that enters information from World Cup games into PostgreSQL, then query the database for useful statistics."
|
||
]
|
||
},
|
||
"workshop-kitty-ipsum-translator": {
|
||
"title": "Build a Kitty Ipsum Translator",
|
||
"intro": [
|
||
"There's more to Bash commands than you might think.",
|
||
"In this 140-lesson workshop, you will learn some more complex commands, and the details of how commands work."
|
||
]
|
||
},
|
||
"workshop-bike-rental-shop": {
|
||
"title": "Build a Bike Rental Shop",
|
||
"intro": [
|
||
"In this 210-lesson workshop, you will build an interactive Bash program that stores rental information for your bike rental shop using PostgreSQL."
|
||
]
|
||
},
|
||
"lab-salon-appointment-scheduler": {
|
||
"title": "Build a Salon Appointment Scheduler",
|
||
"intro": [
|
||
"For this lab, you will create an interactive Bash program that uses PostgreSQL to track the customers and appointments for your salon."
|
||
]
|
||
},
|
||
"review-bash-and-sql": {
|
||
"title": "Bash and SQL Review",
|
||
"intro": [
|
||
"Review the Bash and SQL concepts to prepare for the upcoming quiz."
|
||
]
|
||
},
|
||
"quiz-bash-and-sql": {
|
||
"title": "Bash and SQL Quiz",
|
||
"intro": ["Test what you've learned in this quiz on Bash and SQL."]
|
||
}
|
||
}
|
||
},
|
||
"introduction-to-nano": {
|
||
"title": "Introduction to Nano",
|
||
"summary": [
|
||
"Learn how to use the Nano text editor to create and edit files in the terminal."
|
||
],
|
||
"intro": [
|
||
"Nano is a simple, user-friendly text editor that runs in the terminal. It allows you to create and edit files without leaving the command line.",
|
||
"In this course, you'll learn how to use Nano to create and edit files, navigate through text, and perform basic editing operations."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-working-with-nano": {
|
||
"title": "Working With Nano",
|
||
"intro": ["Learn about Nano in this lesson."]
|
||
},
|
||
"workshop-castle": {
|
||
"title": "Build a Castle",
|
||
"intro": [
|
||
"Nano is a program that allows you to edit files right in the terminal.",
|
||
"In this 40-lesson workshop, you will learn how to edit files in the terminal with Nano while building a castle."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"introduction-to-git-and-github": {
|
||
"title": "Introduction to Git and GitHub",
|
||
"summary": [
|
||
"Learn how to use Git and GitHub to manage and collaborate on software projects."
|
||
],
|
||
"intro": [
|
||
"Git is a version control system that allows developers to track changes in their code and collaborate with others. GitHub is a web-based platform that provides hosting for Git repositories, making it easier for developers to share and collaborate on projects.",
|
||
"In this course, you'll learn the basics of Git and GitHub, including how to create repositories, commit changes, and collaborate with others on software projects."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-introduction-to-git-and-github": {
|
||
"title": "Introduction to Git and GitHub",
|
||
"intro": ["Learn how to work with Git and GitHub in these lessons."]
|
||
},
|
||
"lecture-working-with-code-reviews-branching-deployment-and-ci-cd": {
|
||
"title": "Working With Code Reviews, Branching, Deployment, and CI/CD",
|
||
"intro": [
|
||
"Learn about code reviews, branching, deployment, and CI/CD in these lessons."
|
||
]
|
||
},
|
||
"workshop-sql-reference-object": {
|
||
"title": "Build an SQL Reference Object",
|
||
"intro": [
|
||
"Git is a version control system that keeps track of all the changes you make to your codebase.",
|
||
"In this 240-lesson workshop, you will learn how Git keeps track of your code by creating an object containing commonly used SQL commands."
|
||
]
|
||
},
|
||
"review-git": {
|
||
"title": "Git Review",
|
||
"intro": ["Review Git concepts to prepare for the upcoming quiz."]
|
||
},
|
||
"quiz-git": {
|
||
"title": "Git Quiz",
|
||
"intro": ["Test what you've learned on Git with this quiz."]
|
||
}
|
||
}
|
||
},
|
||
"learn-oop-with-python": {
|
||
"title": "Learn OOP with Python",
|
||
"summary": [
|
||
"In this video course, you will learn about object-oriented programming using Python."
|
||
],
|
||
"intro": [
|
||
"Object-Oriented Programming (OOP) is a programming paradigm based on the concept of objects, which can contain data and code to manipulate that data. This course introduces the key principles of OOP, including classes, objects, inheritance, and shows how to apply them in practice."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"oop-basics": {
|
||
"title": "OOP Basics",
|
||
"intro": [
|
||
"In these videos, learn the basics of OOP including how to create classes and work with constructors."
|
||
]
|
||
},
|
||
"methods-and-inheritance": {
|
||
"title": "Methods and Inheritance",
|
||
"intro": [
|
||
"In these videos, learn about methods and inheritance in OOP."
|
||
]
|
||
},
|
||
"advanced-oop-concepts": {
|
||
"title": "Advanced OOP Concepts",
|
||
"intro": [
|
||
"In these videos, learn about advanced OOP concepts including getters, setters and other important OOP principles."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"introduction-to-python-basics": {
|
||
"title": "Introduction to Python Basics",
|
||
"summary": ["Learn the fundamentals of Python programming."],
|
||
"intro": [
|
||
"In this interactive course, you will learn the basic syntax, data types, and control structures of Python."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-introduction-to-python": {
|
||
"title": "Introduction to Python",
|
||
"intro": [
|
||
"In these lessons, you will learn what Python is and how to set up your development environment."
|
||
]
|
||
},
|
||
"lecture-understanding-variables-and-data-types": {
|
||
"title": "Understanding Variables and Data Types",
|
||
"intro": [
|
||
"In these lessons, you will learn about variables and data types in Python."
|
||
]
|
||
},
|
||
"workshop-report-card-printer": {
|
||
"title": "Build a Report Card Printer",
|
||
"intro": [
|
||
"In this workshop, you will build a report card printer to work with primitive data types in Python."
|
||
]
|
||
},
|
||
"lecture-introduction-to-python-strings": {
|
||
"title": "Introduction to Strings",
|
||
"intro": ["In these lessons, you will learn about strings in Python."]
|
||
},
|
||
"workshop-employee-profile-generator": {
|
||
"title": "Build an Employee Profile Generator",
|
||
"intro": [
|
||
"In this workshop, you will practice the fundamentals of string manipulation in Python by building a tool that generates formatted employee badges and analyzes employee codes."
|
||
]
|
||
},
|
||
"lecture-numbers-and-mathematical-operations": {
|
||
"title": "Numbers and Mathematical Operations",
|
||
"intro": [
|
||
"In these lessons, you will learn about numbers and mathematical operations in Python."
|
||
]
|
||
},
|
||
"workshop-bill-splitter": {
|
||
"title": "Build a Bill Splitter",
|
||
"intro": [
|
||
"In this workshop, you will build a bill splitter to practice working with numbers and mathematical operations in Python."
|
||
]
|
||
},
|
||
"lecture-booleans-and-conditionals": {
|
||
"title": "Booleans and Conditionals",
|
||
"intro": [
|
||
"In these lessons, you will learn about booleans and conditionals in Python."
|
||
]
|
||
},
|
||
"workshop-movie-ticket-booking-calculator": {
|
||
"title": "Build a Movie Ticket Booking Calculator",
|
||
"intro": [
|
||
"In this workshop, you will practice how to use booleans and conditional statements in Python by building a movie ticket booking calculator."
|
||
]
|
||
},
|
||
"lab-travel-weather-planner": {
|
||
"title": "Build a Travel Weather Planner",
|
||
"intro": [
|
||
"In this lab, you will build a travel weather planner using conditionals."
|
||
]
|
||
},
|
||
"lecture-understanding-functions-and-scope": {
|
||
"title": "Understanding Functions and Scope",
|
||
"intro": [
|
||
"In these lessons, you will learn about functions and scope in Python."
|
||
]
|
||
},
|
||
"lab-discount-calculator": {
|
||
"title": "Build an Apply Discount Function",
|
||
"intro": [
|
||
"In this lab, you will practice basic Python by building a calculator to apply a discount to a price."
|
||
]
|
||
},
|
||
"workshop-caesar-cipher": {
|
||
"title": "Build a Caesar Cipher",
|
||
"intro": [
|
||
"In this workshop, you'll build a Caesar cipher using basic Python concepts such as strings, conditionals, functions, and more."
|
||
]
|
||
},
|
||
"lab-rpg-character": {
|
||
"title": "Build an RPG Character",
|
||
"intro": [
|
||
"In this lab you will practice basic Python by building an RPG character."
|
||
]
|
||
},
|
||
"review-python-basics": {
|
||
"title": "Python Basics Review",
|
||
"intro": [
|
||
"Before you're quizzed on Python basics, you should review what you've learned about it.",
|
||
"In this review page, you will review working with strings, functions, comparison operators and more."
|
||
]
|
||
},
|
||
"quiz-python-basics": {
|
||
"title": "Python Basics Quiz",
|
||
"intro": [
|
||
"Test what you've learned about Python basics with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"learn-python-loops-and-sequences": {
|
||
"title": "Learn Python Loops and Sequences",
|
||
"summary": ["Learn how to work with loops and sequences in Python."],
|
||
"intro": [
|
||
"In this interactive course, you will learn how to work with loops and sequences in Python."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-working-with-loops-and-sequences": {
|
||
"title": "Working with Loops and Sequences",
|
||
"intro": [
|
||
"Learn about working with loops and sequences in these lessons."
|
||
]
|
||
},
|
||
"workshop-pin-extractor": {
|
||
"title": "Build a Pin Extractor",
|
||
"intro": [
|
||
"In this workshop you will build a function to extract secret pins hidden in poems."
|
||
]
|
||
},
|
||
"lab-number-pattern-generator": {
|
||
"title": "Build a Number Pattern Generator",
|
||
"intro": ["In this lab you will build a number pattern generator."]
|
||
},
|
||
"review-loops-and-sequences": {
|
||
"title": "Loops and Sequences Review",
|
||
"intro": [
|
||
"Before you're quizzed on loops and sequences, you should review what you've learned about them.",
|
||
"Open up this page to review concepts around loops, lists, tuples and some of their common methods."
|
||
]
|
||
},
|
||
"quiz-loops-and-sequences": {
|
||
"title": "Loops and Sequences Quiz",
|
||
"intro": [
|
||
"Test what you've learned about loops and sequences in Python with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"learn-python-dictionaries-and-sets": {
|
||
"title": "Learn Python Dictionaries and Sets",
|
||
"summary": ["Learn how to work with dictionaries and sets in Python."],
|
||
"intro": [
|
||
"In this interactive course, you will learn how to work with dictionaries and sets in Python."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-working-with-dictionaries-and-sets": {
|
||
"title": "Working with Dictionaries and Sets",
|
||
"intro": [
|
||
"Learn about working with dictionaries and sets in these lessons."
|
||
]
|
||
},
|
||
"lecture-working-with-modules": {
|
||
"title": "Working with Modules",
|
||
"intro": ["Learn about working with modules in these lessons."]
|
||
},
|
||
"workshop-medical-data-validator": {
|
||
"title": "Build a Medical Data Validator",
|
||
"intro": [
|
||
"In this workshop, you'll practice working with dictionaries and sets while validating a collection of medical data."
|
||
]
|
||
},
|
||
"lab-user-configuration-manager": {
|
||
"title": "Build a User Configuration Manager",
|
||
"intro": [
|
||
"In this lab, you will practice working with dictionaries in Python."
|
||
]
|
||
},
|
||
"review-dictionaries-and-sets": {
|
||
"title": "Dictionaries and Sets Review",
|
||
"intro": [
|
||
"Before you're quizzed on dictionaries and sets, you should review what you've learned about them.",
|
||
"Open up this page to review concepts around dictionaries, sets, and how to import modules."
|
||
]
|
||
},
|
||
"quiz-dictionaries-and-sets": {
|
||
"title": "Dictionaries and Sets Quiz",
|
||
"intro": [
|
||
"Test what you've learned about dictionaries and sets in Python with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"learn-error-handling-in-python": {
|
||
"title": "Learn Error Handling in Python",
|
||
"summary": ["Learn how to handle errors and exceptions in Python."],
|
||
"intro": [
|
||
"In this interactive course, you will learn how to handle errors and exceptions in Python."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-understanding-error-handling": {
|
||
"title": "Understanding Error Handling",
|
||
"intro": [
|
||
"In these lessons, you will learn about error handling in Python. You will learn about the different types of errors, some good debugging practices, what exceptions are, and how to handle them."
|
||
]
|
||
},
|
||
"lab-isbn-validator": {
|
||
"title": "Debug an ISBN Validator",
|
||
"intro": [
|
||
"In this lab, you will start with a bugged app, and you will need to debug and fix the bugs until it is working properly."
|
||
]
|
||
},
|
||
"review-error-handling": {
|
||
"title": "Error Handling Review",
|
||
"intro": [
|
||
"Before you're quizzed on error handling, you should review what you've learned about it."
|
||
]
|
||
},
|
||
"quiz-error-handling": {
|
||
"title": "Error Handling Quiz",
|
||
"intro": [
|
||
"Test what you've learned about Error Handling in Python with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"learn-python-classes-and-objects": {
|
||
"title": "Learn Python Classes and Objects",
|
||
"summary": ["Learn how to work with classes and objects in Python."],
|
||
"intro": [
|
||
"In this interactive course, you will learn how to work with classes and objects in Python."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-classes-and-objects": {
|
||
"title": "Classes and Objects",
|
||
"intro": ["Learn about classes and objects in these lessons."]
|
||
},
|
||
"workshop-musical-instrument-inventory": {
|
||
"title": "Build a Musical Instrument Inventory",
|
||
"intro": [
|
||
"In this workshop, you will learn about classes, objects, and methods in Python by building a simple musical instrument inventory."
|
||
]
|
||
},
|
||
"lab-planet-class": {
|
||
"title": "Build a Planet Class",
|
||
"intro": [
|
||
"In this lab you will create a class that represents a planet."
|
||
]
|
||
},
|
||
"workshop-email-simulator": {
|
||
"title": "Build an Email Simulator",
|
||
"intro": [
|
||
"In this workshop you will implement classes and objects by building an email simulator that simulates sending, receiving, and managing emails between different users."
|
||
]
|
||
},
|
||
"lab-budget-app": {
|
||
"title": "Build a Budget App",
|
||
"intro": [
|
||
"In this lab you will build a budget app and practice creating a class and methods for that class."
|
||
]
|
||
},
|
||
"review-classes-and-objects": {
|
||
"title": "Classes and Objects Review",
|
||
"intro": [
|
||
"Before you're quizzed on classes and objects, you should review what you've learned about them.",
|
||
"Open up this page to review concepts like how classes work, what are objects, methods, attributes, special methods and more."
|
||
]
|
||
},
|
||
"quiz-classes-and-objects": {
|
||
"title": "Classes and Objects Quiz",
|
||
"intro": [
|
||
"Test what you've learned about classes and objects in Python with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"introduction-to-oop-in-python": {
|
||
"title": "Introduction to OOP in Python",
|
||
"summary": [
|
||
"Learn the basics of Object-Oriented Programming (OOP) in Python."
|
||
],
|
||
"intro": [
|
||
"In this interactive course, you will learn the basics of Object-Oriented Programming (OOP) in Python."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-understanding-object-oriented-programming-and-encapsulation": {
|
||
"title": "Understanding Object Oriented Programming and Encapsulation",
|
||
"intro": [
|
||
"Learn about understanding object oriented programming and encapsulation in these lessons."
|
||
]
|
||
},
|
||
"workshop-salary-tracker": {
|
||
"title": "Build a Salary Tracker",
|
||
"intro": [
|
||
"In this workshop, you'll practice encapsulation, properties, and other OOP concepts by building a salary tracking system for employees."
|
||
]
|
||
},
|
||
"lab-game-character-stats": {
|
||
"title": "Build a Game Character Stats Tracker",
|
||
"intro": [
|
||
"In this lab, you will build a game character with different stats using object-oriented programming."
|
||
]
|
||
},
|
||
"lecture-understanding-inheritance-and-polymorphism": {
|
||
"title": "Understanding Inheritance and Polymorphism",
|
||
"intro": [
|
||
"Learn about understanding inheritance and polymorphism in these lessons."
|
||
]
|
||
},
|
||
"workshop-media-catalogue": {
|
||
"title": "Build a Media Catalogue",
|
||
"intro": [
|
||
"In this workshop, you will create a media catalogue application using object-oriented programming principles."
|
||
]
|
||
},
|
||
"lecture-understanding-abstraction": {
|
||
"title": "Understanding Abstraction",
|
||
"intro": ["Learn about understanding abstraction in these lessons."]
|
||
},
|
||
"workshop-discount-calculator": {
|
||
"title": "Build a Discount Calculator",
|
||
"intro": [
|
||
"In this workshop you will build a flexible discount pricing calculator through abstract base classes, allowing multiple discount algorithms to be applied interchangeably without modifying the core logic."
|
||
]
|
||
},
|
||
"lab-player-interface": {
|
||
"title": "Build a Player Interface",
|
||
"intro": [
|
||
"In this lab, you'll use the <code>abc</code> module to build a player interface."
|
||
]
|
||
},
|
||
"lab-polygon-area-calculator": {
|
||
"title": "Build a Polygon Area Calculator",
|
||
"intro": [
|
||
"In this lab, you will use object-oriented programming to calculate the areas of different polygons like squares and rectangles."
|
||
]
|
||
},
|
||
"review-object-oriented-programming": {
|
||
"title": "Object Oriented Programming Review",
|
||
"intro": [
|
||
"Before you're quizzed on object oriented programming, you should review what you've learned about it."
|
||
]
|
||
},
|
||
"quiz-object-oriented-programming": {
|
||
"title": "Object Oriented Programming Quiz",
|
||
"intro": [
|
||
"Test what you've learned about object oriented programming in Python with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"introduction-to-linear-data-structures-in-python": {
|
||
"title": "Introduction to Linear Data Structures in Python",
|
||
"summary": ["Learn the basics of linear data structures in Python."],
|
||
"intro": [
|
||
"In this interactive course, you will learn the basics of linear data structures in Python."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-working-with-common-data-structures": {
|
||
"title": "Working with Common Data Structures",
|
||
"intro": [
|
||
"Learn about working with common data structures in these lessons."
|
||
]
|
||
},
|
||
"workshop-linked-list-class": {
|
||
"title": "Build a Linked List",
|
||
"intro": [
|
||
"In this workshop, you'll practice working with data structures by building a linked list."
|
||
]
|
||
},
|
||
"lab-hash-table": {
|
||
"title": "Build a Hash Table",
|
||
"intro": [
|
||
"A hash table is a data structure that is used to store key-value pairs and is optimized for quick lookups.",
|
||
"In this lab, you will use your knowledge about data structures to build a hash table."
|
||
]
|
||
},
|
||
"review-data-structures": {
|
||
"title": "Data Structures Review",
|
||
"intro": [
|
||
"Before you're quizzed on data structures, you should review what you've learned about them.",
|
||
"Open up this page to review concepts like the different data structures, algorithms, time and space complexity, and big O notation."
|
||
]
|
||
},
|
||
"quiz-data-structures": {
|
||
"title": "Data Structures Quiz",
|
||
"intro": [
|
||
"Test what you've learned about data structures in Python with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"learn-algorithms-in-python": {
|
||
"title": "Learn Algorithms in Python",
|
||
"summary": ["Learn the basics of algorithms in Python."],
|
||
"intro": [
|
||
"In this interactive course, you will learn the basics of algorithms in Python."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-searching-and-sorting-algorithms": {
|
||
"title": "Searching and Sorting Algorithms",
|
||
"intro": [
|
||
"Learn about fundamental searching and sorting algorithms, including linear search, binary search, and merge sort.",
|
||
"These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm."
|
||
]
|
||
},
|
||
"workshop-binary-search": {
|
||
"title": "Implement the Binary Search Algorithm",
|
||
"intro": [
|
||
"The binary search algorithm is a searching algorithm used to find a target item in a sorted list.",
|
||
"In this workshop, you'll implement the binary search algorithm and return the path it took to find the target or return 'Value not found'."
|
||
]
|
||
},
|
||
"lab-bisection-method": {
|
||
"title": "Implement the Bisection Method",
|
||
"intro": [
|
||
"In this lab, you will implement the bisection method to find the square root of a number."
|
||
]
|
||
},
|
||
"workshop-merge-sort": {
|
||
"title": "Implement the Merge Sort Algorithm",
|
||
"intro": [
|
||
"The merge sort algorithm is a sorting algorithm based on the divide and conquer principle.",
|
||
"In this workshop, you'll implement the merge sort algorithm to sort a list of random numbers."
|
||
]
|
||
},
|
||
"lab-quicksort": {
|
||
"title": "Implement the Quicksort Algorithm",
|
||
"intro": [
|
||
"In this lab you will implement the quicksort algorithm to sort a list of integers."
|
||
]
|
||
},
|
||
"lab-selection-sort": {
|
||
"title": "Implement the Selection Sort Algorithm",
|
||
"intro": [
|
||
"In this lab you will implement the selection sort algorithm."
|
||
]
|
||
},
|
||
"lab-luhn-algorithm": {
|
||
"title": "Implement the Luhn Algorithm",
|
||
"intro": [
|
||
"In this lab, you will implement the Luhn algorithm to validate identification numbers such as credit card numbers."
|
||
]
|
||
},
|
||
"lab-tower-of-hanoi": {
|
||
"title": "Implement the Tower of Hanoi Algorithm",
|
||
"intro": [
|
||
"In this lab, you will implement an algorithm to solve the Tower of Hanoi puzzle."
|
||
]
|
||
},
|
||
"review-searching-and-sorting-algorithms": {
|
||
"title": "Searching and Sorting Algorithms Review",
|
||
"intro": [
|
||
"Before you're quizzed on searching and sorting algorithms, you should review what you've learned about them."
|
||
]
|
||
},
|
||
"quiz-searching-and-sorting-algorithms": {
|
||
"title": "Searching and Sorting Algorithms Quiz",
|
||
"intro": [
|
||
"Test what you've learned about searching and sorting algorithms in Python with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"learn-graphs-and-trees-in-python": {
|
||
"title": "Learn Graphs and Trees in Python",
|
||
"summary": ["Learn the basics of graphs and trees in Python."],
|
||
"intro": [
|
||
"In this interactive course, you will learn the basics of graphs and trees in Python."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-understanding-graphs-and-trees": {
|
||
"title": "Understanding Graphs and Trees",
|
||
"intro": [
|
||
"In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science."
|
||
]
|
||
},
|
||
"workshop-shortest-path-algorithm": {
|
||
"title": "Implement the Shortest Path Algorithm",
|
||
"intro": [
|
||
"In this workshop you will implement an algorithm to find the shortest path between two nodes in a graph."
|
||
]
|
||
},
|
||
"lab-adjacency-list-to-matrix-converter": {
|
||
"title": "Build an Adjacency List to Matrix Converter",
|
||
"intro": [
|
||
"In this lab, you will implement a function that converts an adjacency list representation of a graph into an adjacency matrix representation."
|
||
]
|
||
},
|
||
"workshop-breadth-first-search": {
|
||
"title": "Implement the Breadth-First Search Algorithm",
|
||
"intro": [
|
||
"In this workshop, you will use the breadth-first search algorithm to generate all valid combinations of parentheses."
|
||
]
|
||
},
|
||
"lab-depth-first-search": {
|
||
"title": "Implement the Depth-First Search Algorithm",
|
||
"intro": [
|
||
"In this lab, you will implement the Depth-First Search Algorithm."
|
||
]
|
||
},
|
||
"lab-n-queens-problem": {
|
||
"title": "Implement the N-Queens Problem",
|
||
"intro": [
|
||
"In this lab, you will implement a solution for the N-Queens problem."
|
||
]
|
||
},
|
||
"review-graphs-and-trees": {
|
||
"title": "Graphs and Trees Review",
|
||
"intro": [
|
||
"Before you're quizzed on graphs and trees, you should review what you've learned about them."
|
||
]
|
||
},
|
||
"quiz-graphs-and-trees": {
|
||
"title": "Graphs and Trees Quiz",
|
||
"intro": [
|
||
"Test what you've learned about graphs and trees in Python with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"learn-dynamic-programming-in-python": {
|
||
"title": "Learn Dynamic Programming in Python",
|
||
"summary": ["Learn the basics of dynamic programming in Python."],
|
||
"intro": [
|
||
"In this interactive course, you will learn the basics of dynamic programming in Python."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-understanding-dynamic-programming": {
|
||
"title": "Understanding Dynamic Programming",
|
||
"intro": [
|
||
"In this lesson, you will learn about dynamic programming, an algorithmic technique used to solve complex problems efficiently by breaking them down into simpler subproblems."
|
||
]
|
||
},
|
||
"lab-nth-fibonacci-number": {
|
||
"title": "Build an Nth Fibonacci Number Calculator",
|
||
"intro": [
|
||
"In this lab you will implement a Fibonacci sequence calculator using a dynamic programming approach."
|
||
]
|
||
},
|
||
"review-dynamic-programming": {
|
||
"title": "Dynamic Programming Review",
|
||
"intro": [
|
||
"Before you're quizzed on dynamic programming, you should review what you've learned about it."
|
||
]
|
||
},
|
||
"quiz-dynamic-programming": {
|
||
"title": "Dynamic Programming Quiz",
|
||
"intro": [
|
||
"Test what you've learned about dynamic programming in Python with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"introduction-to-variables-and-strings-in-javascript": {
|
||
"title": "Introduction to Variables and Strings in JavaScript",
|
||
"summary": ["Learn the basics of variables and strings in JavaScript."],
|
||
"intro": [
|
||
"In this interactive course, you will learn about variables and strings, which are fundamental concepts in JavaScript programming."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-introduction-to-javascript": {
|
||
"title": "Introduction to JavaScript",
|
||
"intro": [
|
||
"In these lectures, you will learn the fundamentals of JavaScript. Topics covered include, but are not limited to, variables, data types, how JavaScript interacts with HTML and CSS, strings, and much more."
|
||
]
|
||
},
|
||
"lecture-introduction-to-strings": {
|
||
"title": "Introduction to Strings",
|
||
"intro": [
|
||
"In these lessons, you will learn how to work with strings and string concatenation."
|
||
]
|
||
},
|
||
"lecture-understanding-code-clarity": {
|
||
"title": "Understanding Code Clarity",
|
||
"intro": [
|
||
"In these lessons, you will learn about comments in JavaScript and the role of semicolons in programming."
|
||
]
|
||
},
|
||
"workshop-greeting-bot": {
|
||
"title": "Build a Greeting Bot",
|
||
"intro": [
|
||
"In this workshop, you will learn JavaScript fundamentals by building a greeting bot.",
|
||
"You will learn about variables, <code>let</code>, <code>const</code>, <code>console.log</code> and basic string usage."
|
||
]
|
||
},
|
||
"lab-javascript-trivia-bot": {
|
||
"title": "Build a JavaScript Trivia Bot",
|
||
"intro": [
|
||
"In this lab, you'll practice working with JavaScript variables and strings by building a trivia bot."
|
||
]
|
||
},
|
||
"lab-sentence-maker": {
|
||
"title": "Build a Sentence Maker",
|
||
"intro": [
|
||
"In this lab, you will continue practicing with strings and concatenation by creating and customizing various stories."
|
||
]
|
||
},
|
||
"lecture-working-with-data-types": {
|
||
"title": "Working with Data Types",
|
||
"intro": [
|
||
"In the following lectures, you will learn how to work with data types in JavaScript. You will also learn how dynamic typing differs from static typing, the <code>typeof</code> operator, and the <code>typeof null</code> bug."
|
||
]
|
||
},
|
||
"review-javascript-variables-and-data-types": {
|
||
"title": "JavaScript Variables and Data Types Review",
|
||
"intro": [
|
||
"Before you are quizzed on JavaScript variables and data types you first need to review the concepts.",
|
||
"Open up this page to review variables, data types, logging and commenting."
|
||
]
|
||
},
|
||
"quiz-javascript-variables-and-data-types": {
|
||
"title": "JavaScript Variables and Data Types Quiz",
|
||
"intro": [
|
||
"Test your knowledge of JavaScript variables and data types with this quiz."
|
||
]
|
||
},
|
||
"lecture-working-with-strings-in-javascript": {
|
||
"title": "Working with Strings in JavaScript",
|
||
"intro": [
|
||
"In these lectures, you will learn how to work with strings in JavaScript. You will learn how to access characters from a string, how to use template literals and interpolation, how to create a new line in strings, and much more."
|
||
]
|
||
},
|
||
"workshop-teacher-chatbot": {
|
||
"title": "Build a Teacher Chatbot",
|
||
"intro": [
|
||
"In this workshop, you will continue to learn more about JavaScript strings by building a chatbot.",
|
||
"You will learn how to work with template literals, and the <code>indexOf</code> method."
|
||
]
|
||
},
|
||
"lecture-working-with-string-character-methods": {
|
||
"title": "Working with String Character Methods",
|
||
"intro": [
|
||
"In this lecture you will learn about ASCII character encoding and how to use JavaScript's <code>charCodeAt()</code> and <code>fromCharCode()</code> methods to convert between characters and their numerical ASCII values."
|
||
]
|
||
},
|
||
"lecture-working-with-string-search-and-slice-methods": {
|
||
"title": "Working with String Search and Slice Methods",
|
||
"intro": [
|
||
"In this lecture you will learn how to search for substrings using the <code>includes()</code> method and how to extract portions of strings using the <code>slice()</code> method."
|
||
]
|
||
},
|
||
"workshop-string-inspector": {
|
||
"title": "Build a String Inspector",
|
||
"intro": [
|
||
"In this workshop, you will practice working with the <code>includes()</code> and <code>slice()</code> methods by building a string inspector."
|
||
]
|
||
},
|
||
"lecture-working-with-string-formatting-methods": {
|
||
"title": "Working with String Formatting Methods",
|
||
"intro": [
|
||
"In this lecture you will learn how to format strings by changing their case using <code>toUpperCase()</code> and <code>toLowerCase()</code> methods, and how to remove whitespace using <code>trim()</code>, <code>trimStart()</code>, and <code>trimEnd()</code> methods."
|
||
]
|
||
},
|
||
"workshop-string-formatter": {
|
||
"title": "Build a String Formatter",
|
||
"intro": [
|
||
"In this workshop, you will practice working with various string methods including <code>trim()</code>, <code>toUpperCase()</code> and <code>toLowerCase()</code>."
|
||
]
|
||
},
|
||
"lecture-working-with-string-modification-methods": {
|
||
"title": "Working with String Modification Methods",
|
||
"intro": [
|
||
"In this lecture you will learn how to modify strings by replacing parts of them using the <code>replace()</code> method and how to repeat strings multiple times using the <code>repeat()</code> method."
|
||
]
|
||
},
|
||
"workshop-string-transformer": {
|
||
"title": "Build a String Transformer",
|
||
"intro": [
|
||
"In this workshop, you will practice working with the <code>replace()</code>, <code>replaceAll()</code> and <code>repeat()</code> methods."
|
||
]
|
||
},
|
||
"review-javascript-strings": {
|
||
"title": "JavaScript Strings Review",
|
||
"intro": [
|
||
"Before you are quizzed on working with JavaScript strings, you first need to review.",
|
||
"Open up this page to review how to work with template literals, the <code>slice</code> method, the <code>includes</code> method, the <code>trim</code> method and more."
|
||
]
|
||
},
|
||
"quiz-javascript-strings": {
|
||
"title": "JavaScript Strings Quiz",
|
||
"intro": ["Test your knowledge of JavaScript strings with this quiz."]
|
||
}
|
||
}
|
||
},
|
||
"introduction-to-booleans-and-numbers-in-javascript": {
|
||
"title": "Introduction to Booleans and Numbers in JavaScript",
|
||
"summary": ["Learn the basics of booleans and numbers in JavaScript."],
|
||
"intro": [
|
||
"In this interactive course, you will learn how to work with booleans and numbers in JavaScript."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-working-with-numbers-and-arithmetic-operators": {
|
||
"title": "Working with Numbers and Arithmetic Operators",
|
||
"intro": [
|
||
"In these lectures you will learn about the number type, arithmetic operators, and using them with numbers and strings."
|
||
]
|
||
},
|
||
"lab-debug-type-coercion-errors": {
|
||
"title": "Debug Type Coercion Errors in a Buggy App",
|
||
"intro": [
|
||
"In this lab, you will be working with a buggy app that contains several type coercion errors.",
|
||
"Your task is to identify and fix these errors to ensure the app functions correctly."
|
||
]
|
||
},
|
||
"lecture-working-with-operator-behavior": {
|
||
"title": "Working with Operator Behavior",
|
||
"intro": [
|
||
"In these lectures you will learn about operator precedence, the increment and decrement operators, and compound assignment operators."
|
||
]
|
||
},
|
||
"lab-debug-increment-and-decrement-operator-errors": {
|
||
"title": "Debug Increment and Decrement Operator Errors in a Buggy App",
|
||
"intro": [
|
||
"In this lab, you'll debug an app that has several errors related to the increment and decrement operators.",
|
||
"Your task is to identify and fix the errors so that the app works as intended."
|
||
]
|
||
},
|
||
"lecture-working-with-comparison-and-boolean-operators": {
|
||
"title": "Working with Comparison and Boolean Operators",
|
||
"intro": [
|
||
"In these lectures you will learn about booleans, and equality and inequality operators, and other comparison operators."
|
||
]
|
||
},
|
||
"workshop-logic-checker-app": {
|
||
"title": "Build a Logic Checker App",
|
||
"intro": [
|
||
"In this workshop, you'll practice working with conditional statements and comparison operators by building a logic checker app."
|
||
]
|
||
},
|
||
"lecture-working-with-unary-and-bitwise-operators": {
|
||
"title": "Working with Unary and Bitwise Operators",
|
||
"intro": [
|
||
"In these lectures, you will learn about unary and bitwise operators."
|
||
]
|
||
},
|
||
"lecture-working-with-conditional-logic-and-math-methods": {
|
||
"title": "Working with Conditional Logic and Math Methods",
|
||
"intro": [
|
||
"In these lectures, you will learn about conditional statements, binary logical operators, and the <code>Math</code> object."
|
||
]
|
||
},
|
||
"workshop-mathbot": {
|
||
"title": "Build a Mathbot",
|
||
"intro": [
|
||
"In this workshop, you will review how to work with the different Math object methods by building a Mathbot."
|
||
]
|
||
},
|
||
"lab-fortune-teller": {
|
||
"title": "Build a Fortune Teller",
|
||
"intro": [
|
||
"In this lab, you'll build a fortune teller by randomly selecting a fortune from the available fortunes.",
|
||
"You'll practice how to work with the <code>Math.random()</code> method and the <code>Math.floor()</code> method to generate random numbers."
|
||
]
|
||
},
|
||
"lecture-working-with-numbers-and-common-number-methods": {
|
||
"title": "Working with Numbers and Common Number Methods",
|
||
"intro": [
|
||
"In these lectures, you will learn about numbers and common number methods. These include <code>isNaN()</code>, <code>parseInt()</code>, <code>parseFloat()</code>, and <code>toFixed()</code>."
|
||
]
|
||
},
|
||
"review-javascript-math": {
|
||
"title": "JavaScript Math Review",
|
||
"intro": [
|
||
"Before you're quizzed on working with the <code>Math</code> object, you should review what you've learned.",
|
||
"Open up this page to review how to work with the <code>Math.random()</code> method, the <code>Math.floor()</code> method and more."
|
||
]
|
||
},
|
||
"quiz-javascript-math": {
|
||
"title": "JavaScript Math Quiz",
|
||
"intro": [
|
||
"Test your knowledge of the JavaScript <code>Math</code> object with this quiz."
|
||
]
|
||
},
|
||
"lecture-understanding-comparisons-and-conditionals": {
|
||
"title": "Understanding Comparisons and Conditionals",
|
||
"intro": [
|
||
"In these lectures, you will learn about comparison operators and conditionals. You will learn how the various conditionals differ from one another, and how comparisons work with <code>null</code> and <code>undefined</code>."
|
||
]
|
||
},
|
||
"review-javascript-comparisons-and-conditionals": {
|
||
"title": "JavaScript Comparisons and Conditionals Review",
|
||
"intro": [
|
||
"Before you're quizzed on working with conditionals, you should review what you've learned about them.",
|
||
"Open up this page to review how to work with <code>switch</code> statements, other types of conditionals and more."
|
||
]
|
||
},
|
||
"quiz-javascript-comparisons-and-conditionals": {
|
||
"title": "JavaScript Comparisons and Conditionals Quiz",
|
||
"intro": [
|
||
"Test your knowledge of JavaScript Comparisons and Conditionals with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"introduction-functions-in-javascript": {
|
||
"title": "Introduction to Functions in JavaScript",
|
||
"summary": ["Learn the basics of functions in JavaScript."],
|
||
"intro": [
|
||
"In this interactive course, you will learn how to work with functions in JavaScript."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-working-with-functions": {
|
||
"title": "Working with Functions",
|
||
"intro": [
|
||
"In these lectures, you will learn how to reuse a block of code with functions. You will learn what the purpose of a function is and how they work, and how scope works in programming. "
|
||
]
|
||
},
|
||
"workshop-calculator": {
|
||
"title": "Build a Calculator",
|
||
"intro": [
|
||
"In this workshop, you will review your knowledge of functions by building a calculator."
|
||
]
|
||
},
|
||
"lab-boolean-check": {
|
||
"title": "Build a Boolean Check Function",
|
||
"intro": [
|
||
"In this lab, you'll implement a function that checks if a value is a boolean."
|
||
]
|
||
},
|
||
"lab-email-masker": {
|
||
"title": "Build an Email Masker",
|
||
"intro": [
|
||
"In this lab, you'll build an email masker that will take an email address and obscure it.",
|
||
"You'll practice string slicing, concatenation, and using functions."
|
||
]
|
||
},
|
||
"workshop-loan-qualification-checker": {
|
||
"title": "Build a Loan Qualification Checker",
|
||
"intro": [
|
||
"In this workshop, you will continue to learn how to work with conditionals by building a loan qualification checker app.",
|
||
"You will learn more about <code>if</code> statements, and how to use comparison operators and multiple conditions in an <code>if</code> statement."
|
||
]
|
||
},
|
||
"lab-celsius-to-fahrenheit-converter": {
|
||
"title": "Build a Celsius to Fahrenheit Converter",
|
||
"intro": [
|
||
"In this lab you will implement a function that converts the temperature from Celsius to Fahrenheit."
|
||
]
|
||
},
|
||
"lab-counting-cards": {
|
||
"title": "Build a Card Counting Assistant",
|
||
"intro": ["In this lab you will use JavaScript to count dealt cards."]
|
||
},
|
||
"lab-leap-year-calculator": {
|
||
"title": "Build a Leap Year Calculator ",
|
||
"intro": [
|
||
"In this lab you'll use conditional statements and loops to determine if a year is a leap year."
|
||
]
|
||
},
|
||
"lab-truncate-string": {
|
||
"title": "Implement the Truncate String Algorithm",
|
||
"intro": [
|
||
"In this lab, you will practice truncating a string at a certain length."
|
||
]
|
||
},
|
||
"lab-string-ending-checker": {
|
||
"title": "Build a Confirm the Ending Tool",
|
||
"intro": [
|
||
"In this lab, you will implement a function that checks if a given string ends with a specified target string."
|
||
]
|
||
},
|
||
"review-javascript-functions": {
|
||
"title": "JavaScript Functions Review",
|
||
"intro": [
|
||
"Before you're quizzed on JavaScript functions, you should review what you've learned about them.",
|
||
"Open up this page to review functions, arrow functions and scope."
|
||
]
|
||
},
|
||
"quiz-javascript-functions": {
|
||
"title": "JavaScript Functions Quiz",
|
||
"intro": ["Test your knowledge of JavaScript functions with this quiz."]
|
||
}
|
||
}
|
||
},
|
||
"introduction-to-arrays-in-javascript": {
|
||
"title": "Introduction to Arrays in JavaScript",
|
||
"summary": ["Learn the basics of arrays in JavaScript."],
|
||
"intro": [
|
||
"In this interactive course, you will learn how to work with arrays in JavaScript."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-working-with-arrays": {
|
||
"title": "Working with Arrays",
|
||
"intro": [
|
||
"In these lectures, you will learn how to work with JavaScript arrays. You will learn about what makes an array, one-dimensional and two-dimensional arrays, how to access and update the elements in an array, and much more."
|
||
]
|
||
},
|
||
"workshop-shopping-list": {
|
||
"title": "Build a Shopping List",
|
||
"intro": [
|
||
"In this workshop, you will practice how to work with arrays by building a shopping list.",
|
||
"You will review how to add and remove elements from an array using methods like <code>push</code>, <code>pop</code>, <code>shift</code>, and <code>unshift</code>."
|
||
]
|
||
},
|
||
"lab-lunch-picker-program": {
|
||
"title": "Build a Lunch Picker Program",
|
||
"intro": [
|
||
"In this lab, you'll review working with arrays and random numbers by building a lunch picker program."
|
||
]
|
||
},
|
||
"lab-golf-score-translator": {
|
||
"title": "Build a Golf Score Translator",
|
||
"intro": [
|
||
"For this lab, you will use array methods to translate golf scores into their nickname."
|
||
]
|
||
},
|
||
"lecture-working-with-common-array-methods": {
|
||
"title": "Working with Common Array Methods",
|
||
"intro": [
|
||
"In these lectures, you will learn about the array methods for performing more advanced operations like getting the position of an item in an array, checking if an array contains a certain element, copying an array, and lots more."
|
||
]
|
||
},
|
||
"review-javascript-arrays": {
|
||
"title": "JavaScript Arrays Review",
|
||
"intro": [
|
||
"Before you're quizzed on JavaScript arrays, you should review what you've learned about them.",
|
||
"Open up this page to review concepts like array destructuring, how to add and remove elements from an array, and more."
|
||
]
|
||
},
|
||
"quiz-javascript-arrays": {
|
||
"title": "JavaScript Arrays Quiz",
|
||
"intro": ["Test your knowledge of JavaScript arrays with this quiz."]
|
||
}
|
||
}
|
||
},
|
||
"introduction-to-objects-in-javascript": {
|
||
"title": "Introduction to Objects in JavaScript",
|
||
"summary": ["Learn the basics of objects in JavaScript."],
|
||
"intro": [
|
||
"In this interactive course, you will learn how to work with objects in JavaScript."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-introduction-to-javascript-objects-and-their-properties": {
|
||
"title": "Introduction to JavaScript Objects and Their Properties",
|
||
"intro": [
|
||
"In these lectures, you will learn the fundamentals of JavaScript objects, including how to create them, access their properties, and understand the difference between primitive and non-primitive data types."
|
||
]
|
||
},
|
||
"lecture-working-with-json": {
|
||
"title": "Working with JSON",
|
||
"intro": [
|
||
"In these lectures, you will learn about JavaScript Object Notation (JSON), including how to access JSON data and use the <code>JSON.parse()</code> and <code>JSON.stringify()</code> methods."
|
||
]
|
||
},
|
||
"lecture-working-with-optional-chaining-and-object-destructuring": {
|
||
"title": "Working with Optional Chaining and Object Destructuring",
|
||
"intro": [
|
||
"In these lectures, you will learn about advanced object manipulation techniques in JavaScript, including the optional chaining operator and object destructuring syntax."
|
||
]
|
||
},
|
||
"workshop-recipe-tracker": {
|
||
"title": "Build a Recipe Tracker",
|
||
"intro": [
|
||
"In this workshop, you will review working with JavaScript objects by building a recipe tracker."
|
||
]
|
||
},
|
||
"lab-quiz-game": {
|
||
"title": "Build a Quiz Game",
|
||
"intro": [
|
||
"In this lab, you'll build a quiz game using JavaScript arrays and objects.",
|
||
"You'll also practice using functions to randomly select a question and an answer from an array and compare them."
|
||
]
|
||
},
|
||
"lab-record-collection": {
|
||
"title": "Build a Record Collection",
|
||
"intro": [
|
||
"In this lab you will build a function to manage a record collection."
|
||
]
|
||
},
|
||
"review-javascript-objects": {
|
||
"title": "JavaScript Objects Review",
|
||
"intro": [
|
||
"Before you're quizzed on JavaScript objects, you should review what you've learned about them.",
|
||
"Open up this page to review concepts including how to access information from objects, object destructuring, working with JSON, and more."
|
||
]
|
||
},
|
||
"quiz-javascript-objects": {
|
||
"title": "JavaScript Objects Quiz",
|
||
"intro": ["Test your knowledge of JavaScript objects with this quiz."]
|
||
}
|
||
}
|
||
},
|
||
"introduction-to-loops-in-javascript": {
|
||
"title": "Introduction to Loops in JavaScript",
|
||
"summary": ["Learn the basics of loops in JavaScript."],
|
||
"intro": [
|
||
"In this interactive course, you will learn how to work with loops in JavaScript."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-working-with-loops": {
|
||
"title": "Working with Loops",
|
||
"intro": [
|
||
"Loops are an essential part of JavaScript. That's why the following lectures have been prepared for you to learn about the different types of loops and how they work, and also how iteration works."
|
||
]
|
||
},
|
||
"workshop-sentence-analyzer": {
|
||
"title": "Build a Sentence Analyzer",
|
||
"intro": [
|
||
"In this workshop, you'll review how to work with JavaScript loops by building a sentence analyzer app."
|
||
]
|
||
},
|
||
"lab-longest-word-in-a-string": {
|
||
"title": "Build a Longest Word Finder App",
|
||
"intro": [
|
||
"In this lab, you will use JavaScript loops to find the length of the longest word in the given sentence."
|
||
]
|
||
},
|
||
"lab-factorial-calculator": {
|
||
"title": "Build a Factorial Calculator ",
|
||
"intro": [
|
||
"In this lab, you'll build a factorial calculator.",
|
||
"You'll practice using loops and conditionals to calculate the factorial of a number."
|
||
]
|
||
},
|
||
"lab-mutations": {
|
||
"title": "Implement the Mutations Algorithm",
|
||
"intro": [
|
||
"In this lab, you will practice iterating over two different strings to compare their characters."
|
||
]
|
||
},
|
||
"lab-chunky-monkey": {
|
||
"title": "Implement the Chunky Monkey Algorithm",
|
||
"intro": [
|
||
"In this lab, you will practice dividing an array into smaller arrays with the technique of your choice."
|
||
]
|
||
},
|
||
"lab-profile-lookup": {
|
||
"title": "Build a Profile Lookup",
|
||
"intro": [
|
||
"In this lab, you'll create a function that looks up profile information."
|
||
]
|
||
},
|
||
"lab-repeat-a-string": {
|
||
"title": "Build a String Repeating Function",
|
||
"intro": [
|
||
"In this lab, you will implement loops to repeat a string a specified number of times."
|
||
]
|
||
},
|
||
"lab-missing-letter-detector": {
|
||
"title": "Build a Missing Letter Detector",
|
||
"intro": [
|
||
"In this lab, you will build a function that finds the missing letter in a given range of consecutive letters and returns it."
|
||
]
|
||
},
|
||
"review-javascript-loops": {
|
||
"title": "JavaScript Loops Review",
|
||
"intro": [
|
||
"Before you're quizzed on the different JavaScript loops, you should review them.",
|
||
"Open up this page to review the <code>for...of</code> loop, <code>while</code> loop, <code>break and continue</code> statements and more."
|
||
]
|
||
},
|
||
"quiz-javascript-loops": {
|
||
"title": "JavaScript Loops Quiz",
|
||
"intro": ["Test your knowledge of JavaScript loops with this quiz."]
|
||
}
|
||
}
|
||
},
|
||
"javascript-fundamentals-review": {
|
||
"title": "JavaScript Fundamentals Review",
|
||
"summary": ["Review the core concepts of JavaScript."],
|
||
"intro": [
|
||
"In this interactive course, you will practice core JavaScript fundamentals including loops, objects, arrays and more."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-working-with-types-and-objects": {
|
||
"title": "Working with Types and Objects",
|
||
"intro": [
|
||
"In these lectures you will learn about string objects, the <code>toString()</code> method, the <code>Number</code> constructor and more."
|
||
]
|
||
},
|
||
"lecture-working-with-arrays-variables-and-naming-practices": {
|
||
"title": "Working with Arrays, Variables, and Naming Practices",
|
||
"intro": [
|
||
"In these lectures you will learn about common practices for naming variables and functions, and how to work with arrays."
|
||
]
|
||
},
|
||
"lecture-working-with-code-quality-and-execution-concepts": {
|
||
"title": "Working with Code Quality and Execution Concepts",
|
||
"intro": [
|
||
"In these lectures you will learn what are linters and formatters, what is memory management, and closures."
|
||
]
|
||
},
|
||
"lab-reverse-a-string": {
|
||
"title": "Build a String Inverter",
|
||
"intro": [
|
||
"In this lab, you create a function that reverses a given string."
|
||
]
|
||
},
|
||
"lab-largest-number-finder": {
|
||
"title": "Build the Largest Number Finder",
|
||
"intro": [
|
||
"In this lab, you will use JavaScript fundamentals to create a function that finds the largest number in each sub-array of a given array."
|
||
]
|
||
},
|
||
"lab-first-element-finder": {
|
||
"title": "Build a First Element Finder",
|
||
"intro": [
|
||
"In this lab, you will create a function that looks through an array and returns the first element in it that passes a \"truth test\"."
|
||
]
|
||
},
|
||
"lab-slice-and-splice": {
|
||
"title": "Implement the Slice and Splice Algorithm",
|
||
"intro": [
|
||
"In this lab, you will practice merging an array with another."
|
||
]
|
||
},
|
||
"lab-pyramid-generator": {
|
||
"title": "Build a Pyramid Generator",
|
||
"intro": [
|
||
"In this lab you'll build a pyramid generator.",
|
||
"You'll take a number as input and generate a pyramid with that many levels using a loop."
|
||
]
|
||
},
|
||
"lab-gradebook-app": {
|
||
"title": "Build a Gradebook App",
|
||
"intro": [
|
||
"For this lab, you'll create a gradebook app.",
|
||
"You'll practice conditionals to determine the student's grade based on their score."
|
||
]
|
||
},
|
||
"lecture-the-var-keyword-and-hoisting": {
|
||
"title": "The var Keyword and Hoisting",
|
||
"intro": [
|
||
"In these lectures, you will learn about the <code>var</code> keyword and why it is not recommended for use anymore. You will also learn about hoisting in JavaScript so you can avoid subtle bugs in your code."
|
||
]
|
||
},
|
||
"lab-title-case-converter": {
|
||
"title": "Build a Title Case Converter",
|
||
"intro": [
|
||
"In this lab, you will build a function that converts a string to title case."
|
||
]
|
||
},
|
||
"lab-falsy-remover": {
|
||
"title": "Implement a Falsy Remover",
|
||
"intro": [
|
||
"In this lab, you will create a function that removes all falsy values from an array."
|
||
]
|
||
},
|
||
"lab-inventory-management-program": {
|
||
"title": "Build an Inventory Management Program",
|
||
"intro": [
|
||
"For this lab, you'll build an inventory management program using JavaScript.",
|
||
"You'll use JavaScript array of objects to manage the inventory."
|
||
]
|
||
},
|
||
"lecture-understanding-modules-imports-and-exports": {
|
||
"title": "Understanding Modules, Imports, and Exports",
|
||
"intro": [
|
||
"In this lecture, you will learn about modules, imports, and exports in JavaScript."
|
||
]
|
||
},
|
||
"lecture-working-with-the-arguments-object-and-rest-parameters": {
|
||
"title": "Working With the Arguments Object and Rest Parameters",
|
||
"intro": [
|
||
"In these lessons, you will learn how to work with the <code>arguments</code> object and rest parameter syntax."
|
||
]
|
||
},
|
||
"lab-unique-sorted-union": {
|
||
"title": "Implement a Unique Sorted Union",
|
||
"intro": [
|
||
"In this lab, you will create a function that takes two or more arrays and returns a new array of unique values in the order of the original provided arrays."
|
||
]
|
||
},
|
||
"lab-password-generator": {
|
||
"title": "Build a Password Generator App",
|
||
"intro": [
|
||
"In this lab, you'll build a password generator app based on the user's input."
|
||
]
|
||
},
|
||
"lab-sum-all-numbers-algorithm": {
|
||
"title": "Design a Sum All Numbers Algorithm",
|
||
"intro": [
|
||
"In this lab, you will design a sum all numbers algorithm. This algorithm takes an array of two numbers and returns the sum of those two numbers plus the sum of all the numbers between them."
|
||
]
|
||
},
|
||
"lab-dna-pair-generator": {
|
||
"title": "Implement a DNA Pair Generator",
|
||
"intro": [
|
||
"In this lab you will implement a DNA base pairing algorithm that converts a single DNA strand into complementary base pairs."
|
||
]
|
||
},
|
||
"lab-html-entitiy-converter": {
|
||
"title": "Implement an HTML Entity Converter",
|
||
"intro": [
|
||
"In this lab, you will convert special characters in a string to their corresponding HTML entities."
|
||
]
|
||
},
|
||
"lab-odd-fibonacci-sum-calculator": {
|
||
"title": "Build an Odd Fibonacci Sum Calculator",
|
||
"intro": [
|
||
"In this lab you will build an odd Fibonacci sum calculator that takes a number and returns the sum of all odd Fibonacci numbers that are less than or equal to that number."
|
||
]
|
||
},
|
||
"lab-element-skipper": {
|
||
"title": "Implement an Element Skipper",
|
||
"intro": [
|
||
"In this lab you will create a function that skips elements in an array based on a specified step value."
|
||
]
|
||
},
|
||
"review-javascript-fundamentals": {
|
||
"title": "JavaScript Fundamentals Review",
|
||
"intro": [
|
||
"Before you are quizzed on JavaScript fundamentals, you first need to review the concepts.",
|
||
"Open up this page to review concepts like closures, memory management, and more."
|
||
]
|
||
},
|
||
"quiz-javascript-fundamentals": {
|
||
"title": "JavaScript Fundamentals Quiz",
|
||
"intro": [
|
||
"Test your knowledge of JavaScript fundamentals with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"introduction-to-higher-order-functions-and-callbacks-in-javascript": {
|
||
"title": "Introduction to Higher-Order Functions and Callbacks in JavaScript",
|
||
"summary": [
|
||
"Learn the basics of higher-order functions and callbacks in JavaScript."
|
||
],
|
||
"intro": [
|
||
"In this interactive course, you will learn how to work with higher-order functions and callbacks in JavaScript."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-working-with-higher-order-functions-and-callbacks": {
|
||
"title": "Working with Higher Order Functions and Callbacks",
|
||
"intro": [
|
||
"In these lectures, you will learn how to work with higher order functions and callbacks. The higher order functions you will learn include <code>map()</code>, <code>filter()</code>, <code>reduce()</code>, <code>sort()</code>, <code>every()</code>, and <code>some()</code>. You will also learn how to chain these methods together to achieve your desired results."
|
||
]
|
||
},
|
||
"workshop-library-manager": {
|
||
"title": "Build a Library Manager",
|
||
"intro": [
|
||
"In this workshop, you will learn higher order array methods by building a library manager."
|
||
]
|
||
},
|
||
"lab-book-organizer": {
|
||
"title": "Build a Book Organizer",
|
||
"intro": [
|
||
"In this lab, you'll build a book organizer using higher order functions in JavaScript."
|
||
]
|
||
},
|
||
"lab-sorted-index-finder": {
|
||
"title": "Implement a Sorted Index Finder",
|
||
"intro": [
|
||
"In this lab, you will create a function that finds the index at which a given number should be inserted into a sorted array to maintain the array's sorted order."
|
||
]
|
||
},
|
||
"lab-symmetric-difference": {
|
||
"title": "Build a Symmetric Difference Function",
|
||
"intro": [
|
||
"In this lab, you will practice using higher order functions to find the symmetric difference between two arrays."
|
||
]
|
||
},
|
||
"lab-value-remover-function": {
|
||
"title": "Implement a Value Remover Function",
|
||
"intro": [
|
||
"In this lab, you will create a function that removes all instances of a specified value from an array."
|
||
]
|
||
},
|
||
"lab-matching-object-filter": {
|
||
"title": "Implement a Matching Object Filter",
|
||
"intro": [
|
||
"In this lab, you will create a function that looks through an array of objects and returns an array of all objects that have matching property and value pairs."
|
||
]
|
||
},
|
||
"lab-prime-number-sum-calculator": {
|
||
"title": "Build a Prime Number Sum Calculator",
|
||
"intro": [
|
||
"In this lab you will build a prime number sum calculator that takes a number and returns the sum of all prime numbers that are less than or equal to that number."
|
||
]
|
||
},
|
||
"lab-range-based-lcm-calculator": {
|
||
"title": "Implement a Range-Based LCM Calculator",
|
||
"intro": [
|
||
"In this lab, you will create a function that takes an array of two numbers and returns the least common multiple (LCM) of those two numbers and all the numbers between them."
|
||
]
|
||
},
|
||
"lab-deep-flattening-tool": {
|
||
"title": "Create a Deep Flattening Tool",
|
||
"intro": [
|
||
"In this lab you will create a function that can flatten deeply nested arrays, handling any level of nesting without using built-in flat methods."
|
||
]
|
||
},
|
||
"lab-all-true-property-validator": {
|
||
"title": "Build an All-True Property Validator",
|
||
"intro": [
|
||
"In this lab you will build a function that checks if all objects in an array have a truthy value for a specific property."
|
||
]
|
||
},
|
||
"review-javascript-higher-order-functions": {
|
||
"title": "JavaScript Higher Order Functions Review",
|
||
"intro": [
|
||
"Before you're quizzed on JavaScript higher order functions, you should review them.",
|
||
"Open up this page to review concepts including how to work with the <code>map()</code>, <code>filter()</code>, and <code>reduce()</code> methods."
|
||
]
|
||
},
|
||
"quiz-javascript-higher-order-functions": {
|
||
"title": "JavaScript Higher Order Functions Quiz",
|
||
"intro": [
|
||
"Test what you've learned about JavaScript higher order functions with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"learn-dom-manipulation-and-events-with-javascript": {
|
||
"title": "Learn DOM Manipulation and Events with JavaScript",
|
||
"summary": [
|
||
"Learn how to manipulate the DOM and work with events in JavaScript."
|
||
],
|
||
"intro": [
|
||
"In this interactive course, you will learn how to manipulate the DOM and work with events in JavaScript."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-working-with-the-dom-click-events-and-web-apis": {
|
||
"title": "Working with the DOM, Click Events, and Web APIs",
|
||
"intro": [
|
||
"In these lectures, you will learn how to work with the Document Object Model (DOM), the <code>addEventListener()</code> method and events, and web APIs."
|
||
]
|
||
},
|
||
"workshop-storytelling-app": {
|
||
"title": "Build a Storytelling App",
|
||
"intro": [
|
||
"In this workshop, you will build a storytelling app that will allow you to list different stories based on genre."
|
||
]
|
||
},
|
||
"workshop-emoji-reactor": {
|
||
"title": "Build an Emoji Reactor",
|
||
"intro": [
|
||
"In this workshop, you will build an emoji reactor to practice <code>querySelector</code> and <code>querySelectorAll</code>."
|
||
]
|
||
},
|
||
"lab-favorite-icon-toggler": {
|
||
"title": "Build a Favorite Icon Toggler",
|
||
"intro": [
|
||
"In this lab, you'll build a favorite icon toggler by utilizing JavaScript click events."
|
||
]
|
||
},
|
||
"lecture-understanding-the-event-object-and-event-delegation": {
|
||
"title": "Understanding the Event Object and Event Delegation",
|
||
"intro": [
|
||
"In these lectures, you will learn about the event object, the change event, event bubbling, and event delegation."
|
||
]
|
||
},
|
||
"workshop-music-instrument-filter": {
|
||
"title": "Build a Music Instrument Filter",
|
||
"intro": [
|
||
"In this workshop, you will build a music instrument filter with JavaScript."
|
||
]
|
||
},
|
||
"lab-real-time-counter": {
|
||
"title": "Build a Real Time Counter",
|
||
"intro": [
|
||
"In this lab, you'll build a real-time character counter",
|
||
"You'll practice how to work with the <code>input</code> event when the user types in the input field."
|
||
]
|
||
},
|
||
"lab-lightbox-viewer": {
|
||
"title": "Build a Lightbox Viewer",
|
||
"intro": [
|
||
"In this lab, you'll build a lightbox viewer for viewing images in a focused mode.",
|
||
"You'll practice click events and toggling classes."
|
||
]
|
||
},
|
||
"workshop-rps-game": {
|
||
"title": "Build a Rock, Paper, Scissors Game",
|
||
"intro": [
|
||
"In this workshop, you will review DOM manipulation and events by building a Rock, Paper, Scissors Game."
|
||
]
|
||
},
|
||
"lab-football-team-cards": {
|
||
"title": "Build a Set of Football Team Cards",
|
||
"intro": [
|
||
"In this lab, you'll use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards."
|
||
]
|
||
},
|
||
"review-dom-manipulation-and-click-events-with-javascript": {
|
||
"title": "DOM Manipulation and Click Events with JavaScript Review",
|
||
"intro": [
|
||
"Before you're quizzed on the DOM, you should review what you've learned about it.",
|
||
"Open up this page to review concepts including how to work with the <code>DOM</code>, <code>Web APIs</code>, the <code>addEventListener()</code> method, change events, event bubbling and more."
|
||
]
|
||
},
|
||
"quiz-dom-manipulation-and-click-event-with-javascript": {
|
||
"title": "DOM Manipulation and Click Events with JavaScript Quiz",
|
||
"intro": [
|
||
"Test your knowledge of DOM manipulation and click events in JavaScript with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"introduction-to-javascript-and-accessibility": {
|
||
"title": "Introduction to JavaScript and Accessibility",
|
||
"summary": ["Learn how to use JavaScript to enhance web accessibility."],
|
||
"intro": [
|
||
"In this interactive course, you will learn how to use JavaScript to enhance web accessibility."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-understanding-aria-expanded-aria-live-and-common-aria-states": {
|
||
"title": "Understanding aria-expanded, aria-live, and Common ARIA States",
|
||
"intro": [
|
||
"In these lectures you will learn more about ARIA attributes like <code>aria-expanded</code>, <code>aria-live</code>, and common ARIA states."
|
||
]
|
||
},
|
||
"workshop-planets-tablist": {
|
||
"title": "Build a Planets Tablist",
|
||
"intro": [
|
||
"In this workshop, you will build a dynamic tabbed interface that showcases facts about the planets in the solar system."
|
||
]
|
||
},
|
||
"workshop-note-taking-app": {
|
||
"title": "Build a Note Taking App",
|
||
"intro": [
|
||
"In this workshop, you are going to build an accessible note taking app.",
|
||
"This will provide you with the opportunity to practice working with <code>aria-live</code> attribute."
|
||
]
|
||
},
|
||
"lab-theme-switcher": {
|
||
"title": "Build a Theme Switcher",
|
||
"intro": [
|
||
"In this lab, you will build a theme switcher and practice working with the <code>aria-haspopup</code>, <code>aria-expanded</code>, and <code>aria-controls</code> attributes."
|
||
]
|
||
},
|
||
"review-js-a11y": {
|
||
"title": "JavaScript and Accessibility Review",
|
||
"intro": [
|
||
"Before you're quizzed on JavaScript and accessibility, you should review what you've learned about it.",
|
||
"Open up this page to review concepts including how to work with the <code>aria-expanded</code>, <code>aria-live</code>, and <code>aria-controls</code> attributes."
|
||
]
|
||
},
|
||
"quiz-js-a11y": {
|
||
"title": "JavaScript and Accessibility Quiz",
|
||
"intro": [
|
||
"Test your knowledge of JavaScript and accessibility best practices with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"learn-javascript-debugging": {
|
||
"title": "Learn JavaScript Debugging",
|
||
"summary": ["Learn how to debug JavaScript code effectively."],
|
||
"intro": [
|
||
"In this interactive course, you will learn how to debug JavaScript code."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-debugging-techniques": {
|
||
"title": "Debugging Techniques",
|
||
"intro": [
|
||
"In these lectures, you will learn about the common errors in JavaScript and the techniques you can use to fix them – a process called debugging."
|
||
]
|
||
},
|
||
"lab-random-background-color-changer": {
|
||
"title": "Debug a Random Background Color Changer",
|
||
"intro": [
|
||
"In this lab, you'll debug a random background color changer and fix the errors to make it work properly."
|
||
]
|
||
},
|
||
"review-debugging-javascript": {
|
||
"title": "Debugging JavaScript Review",
|
||
"intro": [
|
||
"Before you're quizzed on common debugging techniques, you should review what you've learned.",
|
||
"Open up this page to review concepts including how to work with the <code>throw statement</code>, <code>try...catch...finally</code> and more."
|
||
]
|
||
},
|
||
"quiz-debugging-javascript": {
|
||
"title": "Debugging JavaScript Quiz",
|
||
"intro": ["Test your knowledge of JavaScript debugging with this quiz."]
|
||
}
|
||
}
|
||
},
|
||
"learn-basic-regex-with-javascript": {
|
||
"title": "Learn Basic Regex with JavaScript",
|
||
"summary": ["Learn the basics of regular expressions in JavaScript."],
|
||
"intro": [
|
||
"In this interactive course, you will learn the fundamentals of regular expressions and how to use them in JavaScript."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-working-with-regular-expressions": {
|
||
"title": "Working with Regular Expressions",
|
||
"intro": [
|
||
"In these lectures, you will learn about regular expressions in JavaScript. You will learn about the methods for working with regular expressions, modifiers, character classes, lookaheads, lookbehinds, back-references, quantifiers, and more."
|
||
]
|
||
},
|
||
"workshop-spam-filter": {
|
||
"title": "Build a Spam Filter",
|
||
"intro": [
|
||
"Regular expressions, often shortened to \"regex\" or \"regexp\", are patterns that help programmers match, search, and replace text. Regular expressions are powerful, but can be difficult to understand because they use so many special characters.",
|
||
"In this workshop, you'll use capture groups, positive lookaheads, negative lookaheads, and other techniques to match any text you want."
|
||
]
|
||
},
|
||
"lab-palindrome-checker": {
|
||
"title": "Build a Palindrome Checker",
|
||
"intro": [
|
||
"For this lab, you'll build an application that checks whether a given word is a palindrome."
|
||
]
|
||
},
|
||
"lab-regex-sandbox": {
|
||
"title": "Build a RegEx Sandbox",
|
||
"intro": ["In this lab you'll build a regex sandbox."]
|
||
},
|
||
"lab-spinal-case-converter": {
|
||
"title": "Implement a Spinal Case Converter",
|
||
"intro": [
|
||
"In this lab, you will create a function that converts a given string to spinal case which is a style of writing where all letters are lowercase and separated by hyphens."
|
||
]
|
||
},
|
||
"lab-pig-latin": {
|
||
"title": "Implement a Pig Latin Translator",
|
||
"intro": [
|
||
"In this lab, you'll implement a Pig Latin translator using JavaScript.",
|
||
"You'll practice string manipulation, conditional logic, and regular expressions."
|
||
]
|
||
},
|
||
"lab-smart-word-replacement": {
|
||
"title": "Build a Smart Word Replacement Function",
|
||
"intro": [
|
||
"In this lab, you will use regex to create a function that performs a search and replace operation on a given string."
|
||
]
|
||
},
|
||
"lab-markdown-to-html-converter": {
|
||
"title": "Build a Markdown to HTML Converter",
|
||
"intro": [
|
||
"For this lab, you'll build a Markdown to HTML converter using JavaScript.",
|
||
"You'll practice regular expressions, string manipulation, and more."
|
||
]
|
||
},
|
||
"review-javascript-regular-expressions": {
|
||
"title": "JavaScript Regular Expressions Review",
|
||
"intro": [
|
||
"Before you're quizzed on Regular Expressions, you should review what you've learned.",
|
||
"Open up this page to review concepts like lookaheads, lookbehinds, common regex modifiers and more."
|
||
]
|
||
},
|
||
"quiz-javascript-regular-expressions": {
|
||
"title": "JavaScript Regular Expressions Quiz",
|
||
"intro": [
|
||
"Test your knowledge of JavaScript Regular Expressions with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"introduction-to-dates-in-javascript": {
|
||
"title": "Introduction to Dates in JavaScript",
|
||
"summary": ["Learn how to work with dates in JavaScript."],
|
||
"intro": [
|
||
"In this interactive course, you will learn how to work with dates in JavaScript."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-working-with-dates": {
|
||
"title": "Working with Dates",
|
||
"intro": [
|
||
"In these lectures, you will learn about the JavaScript date object. You will learn about the methods for working with dates and how to format dates."
|
||
]
|
||
},
|
||
"lab-date-conversion": {
|
||
"title": "Build a Date Conversion Program",
|
||
"intro": [
|
||
"In this lab, you'll build a program to convert a date from one format to another."
|
||
]
|
||
},
|
||
"review-javascript-dates": {
|
||
"title": "JavaScript Dates Review",
|
||
"intro": [
|
||
"Before you're quizzed on working with dates, you should review what you've learned.",
|
||
"Open up this page to review the <code>Date()</code> object and common methods."
|
||
]
|
||
},
|
||
"quiz-javascript-dates": {
|
||
"title": "JavaScript Dates Quiz",
|
||
"intro": [
|
||
"Test what you've learned about JavaScript Dates with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"learn-audio-and-video-events-with-javascript": {
|
||
"title": "Learn Audio and Video Events with JavaScript",
|
||
"summary": ["Learn how to work with audio and video events in JavaScript."],
|
||
"intro": [
|
||
"In this interactive course, you will learn how to work with audio and video events in JavaScript."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-working-with-audio-and-video": {
|
||
"title": "Working with Audio and Video",
|
||
"intro": [
|
||
"In these lectures, you will learn how to work with audio and video files using JavaScript. You will learn about the <code>Audio</code> and <code>Video</code> constructors, their methods and properties, audio and video formats, codecs, the <code>HTMLMediaElement</code> API, and much more."
|
||
]
|
||
},
|
||
"workshop-music-player": {
|
||
"title": "Build a Music Player",
|
||
"intro": [
|
||
"In this workshop, you'll code a basic MP3 player using HTML, CSS, and JavaScript.",
|
||
"The project covers fundamental concepts such as handling audio playback, managing a playlist, implementing play, pause, next, and previous functionalities and dynamically update your user interface based on the current song."
|
||
]
|
||
},
|
||
"lab-drum-machine": {
|
||
"title": "Build a Drum Machine",
|
||
"intro": [
|
||
"For this lab you will use the <code>audio</code> element to build a drum machine."
|
||
]
|
||
},
|
||
"review-javascript-audio-and-video": {
|
||
"title": "JavaScript Audio and Video Review",
|
||
"intro": [
|
||
"Before you're quizzed on working with audio and video in JavaScript, you should review what you've learned about them.",
|
||
"Open up this page to review concepts including the <code>Audio</code> constructor, the <code>HTMLMediaElement</code> API and more."
|
||
]
|
||
},
|
||
"quiz-javascript-audio-and-video": {
|
||
"title": "JavaScript Audio and Video Quiz",
|
||
"intro": [
|
||
"Test what you've learned about JavaScript audio and video with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"introduction-to-maps-and-sets-in-javascript": {
|
||
"title": "Introduction to Maps and Sets in JavaScript",
|
||
"summary": ["Learn about the Map and Set objects in JavaScript."],
|
||
"intro": [
|
||
"In this interactive course, you will learn about the Map and Set objects in JavaScript."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-working-with-maps-and-sets": {
|
||
"title": "Working with Maps and Sets",
|
||
"intro": [
|
||
"In these lectures, you will learn about JavaScript <code>Map</code> and <code>Set</code>. You will also learn how they both differ from <code>WeakSets</code> and <code>WeakMaps</code>."
|
||
]
|
||
},
|
||
"workshop-plant-nursery-catalog": {
|
||
"title": "Build a Plant Nursery Catalog",
|
||
"intro": [
|
||
"In this workshop, you will practice using Maps and Sets by building a plant nursery catalog."
|
||
]
|
||
},
|
||
"lab-voting-system": {
|
||
"title": "Build a Voting System",
|
||
"intro": [
|
||
"In this lab, you'll build a voting system using Maps and Sets.",
|
||
"You'll practice how to use the <code>Map</code> object to store key-value pairs and the <code>Set</code> object to store unique values."
|
||
]
|
||
},
|
||
"review-javascript-maps-and-sets": {
|
||
"title": "JavaScript Maps and Sets Review",
|
||
"intro": [
|
||
"Before you're quizzed on JavaScript Maps and Sets, you should review what you've learned about them.",
|
||
"Open up this page to review concepts such as the <code>Map</code> and <code>Set</code> objects, as well as WeakSet and WeakMap."
|
||
]
|
||
},
|
||
"quiz-javascript-maps-and-sets": {
|
||
"title": "JavaScript Maps and Sets Quiz",
|
||
"intro": [
|
||
"Test what you've learned about JavaScript Maps and Sets with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"learn-localstorage-and-crud-operations-with-javascript": {
|
||
"title": "Learn localStorage and CRUD Operations with JavaScript",
|
||
"summary": [
|
||
"Learn how to use localStorage and perform CRUD operations in JavaScript."
|
||
],
|
||
"intro": [
|
||
"In this interactive course, you will learn how to use localStorage and perform CRUD operations in JavaScript."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-working-with-client-side-storage-and-crud-operations": {
|
||
"title": "Working with Client-Side Storage and CRUD Operations",
|
||
"intro": [
|
||
"In these lectures, you will learn about client-side storage and CRUD operations in JavaScript. You will learn about <code>localStorage</code> and <code>sessionStorage</code> alongside their methods and properties, cookies, the Cache API, IndexedDB, and much more."
|
||
]
|
||
},
|
||
"workshop-todo-app": {
|
||
"title": "Build a Todo App using Local Storage",
|
||
"intro": [
|
||
"Local storage is a web browser feature that lets web applications store key-value pairs persistently within a user's browser. This allows web apps to save data during one session, then retrieve it in a later page session.",
|
||
"In this workshop, you'll learn how to handle form inputs, manage local storage, perform CRUD (Create, Read, Update, Delete) operations on tasks, implement event listeners, and toggle UI elements."
|
||
]
|
||
},
|
||
"lab-bookmark-manager-app": {
|
||
"title": "Build a Bookmark Manager App",
|
||
"intro": [
|
||
"For this lab, you'll build a bookmark manager app.",
|
||
"You'll utilize local storage to store bookmarks, and practice how to add, remove, and display bookmarks."
|
||
]
|
||
},
|
||
"review-local-storage-and-crud": {
|
||
"title": "Local Storage and CRUD Review",
|
||
"intro": [
|
||
"Before you are quizzed on working with <code>localStorage</code>, you first need to review the concepts.",
|
||
"Open up this page to review the <code>localStorage</code> property, <code>sessionStorage</code> property and more."
|
||
]
|
||
},
|
||
"quiz-local-storage-and-crud": {
|
||
"title": "Local Storage and CRUD Quiz",
|
||
"intro": [
|
||
"Test what you've learned about local storage and CRUD with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"introduction-to-javascript-classes": {
|
||
"title": "Introduction to JavaScript Classes",
|
||
"summary": ["Learn about classes in JavaScript and how to use them."],
|
||
"intro": [
|
||
"In this interactive course, you will learn about classes in JavaScript and how to use them."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-understanding-how-to-work-with-classes-in-javascript": {
|
||
"title": "Understanding How to Work with Classes in JavaScript",
|
||
"intro": [
|
||
"In these lectures, you will learn about classes in JavaScript. You will learn about inheritance, the <code>this</code> keyword, static properties and methods, and more."
|
||
]
|
||
},
|
||
"workshop-shopping-cart": {
|
||
"title": "Build a Shopping Cart",
|
||
"intro": [
|
||
"In this workshop you'll create a shopping cart using JavaScript classes.",
|
||
"You will practice how to use the this keyword, create class instances, implement methods for data manipulation and more."
|
||
]
|
||
},
|
||
"lab-project-idea-board": {
|
||
"title": "Build a Project Idea Board",
|
||
"intro": [
|
||
"In this lab, you'll build a project idea board using OOP in JavaScript.",
|
||
"You'll practice how to create classes, add methods to classes, and create instances of classes."
|
||
]
|
||
},
|
||
"lab-bank-account-manager": {
|
||
"title": "Build a Bank Account Management Program",
|
||
"intro": [
|
||
"In this lab, you'll build a simple transaction management system for a bank account."
|
||
]
|
||
},
|
||
"review-javascript-classes": {
|
||
"title": "JavaScript Classes Review",
|
||
"intro": [
|
||
"Before you're quizzed on how to work with classes, you should review what you've learned about them.",
|
||
"Open up this page to review concepts including the <code>this</code> keyword, class inheritance and more."
|
||
]
|
||
},
|
||
"quiz-javascript-classes": {
|
||
"title": "JavaScript Classes Quiz",
|
||
"intro": [
|
||
"Test what you've learned about JavaScript classes with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"learn-recursion-with-javascript": {
|
||
"title": "Learn Recursion with JavaScript",
|
||
"summary": [
|
||
"Understand the concept of recursion and how to implement it in JavaScript."
|
||
],
|
||
"intro": [
|
||
"In this interactive course, you'll learn about recursion in JavaScript and how to use it to solve problems."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-understanding-recursion-and-the-call-stack": {
|
||
"title": "Understanding Recursion and the Call Stack",
|
||
"intro": [
|
||
"In this lecture, you will learn about recursion and the call stack."
|
||
]
|
||
},
|
||
"workshop-countup": {
|
||
"title": "Build a Countup",
|
||
"intro": [
|
||
"In this workshop you will build a countup function that returns an array of numbers counting up from 1 to a given number."
|
||
]
|
||
},
|
||
"lab-countdown": {
|
||
"title": "Build a Countdown",
|
||
"intro": [
|
||
"For this lab, you will build a countdown function that returns an array of numbers counting down from given number to 1."
|
||
]
|
||
},
|
||
"lab-range-of-numbers": {
|
||
"title": "Build a Range of Numbers Generator",
|
||
"intro": [
|
||
"In this lab, you'll use recursion to generate an array of numbers within a specified range.",
|
||
"You'll practice recursive function calls, base cases, and building arrays through recursion."
|
||
]
|
||
},
|
||
"workshop-decimal-to-binary-converter": {
|
||
"title": "Build a Decimal to Binary Converter",
|
||
"intro": [
|
||
"Recursion is a programming concept where a function calls itself. This can reduce a complex problem into simpler sub-problems, until they become straightforward to solve.",
|
||
"In this workshop, you'll build a decimal-to-binary converter using JavaScript. You'll practice the fundamental concepts of recursion, explore the call stack, and build out a visual representation of the recursion process through an animation."
|
||
]
|
||
},
|
||
"lab-permutation-generator": {
|
||
"title": "Build a Permutation Generator",
|
||
"intro": [
|
||
"For this lab, you'll build a permutation generator that produces all possible permutations of a given string."
|
||
]
|
||
},
|
||
"review-recursion": {
|
||
"title": "Recursion Review",
|
||
"intro": [
|
||
"Before you're quizzed on recursion, you should review what you've learned.",
|
||
"Open up this page to review what is recursion and what is it used for."
|
||
]
|
||
},
|
||
"quiz-recursion": {
|
||
"title": "Recursion Quiz",
|
||
"intro": ["Test your knowledge of Recursion with this quiz."]
|
||
}
|
||
}
|
||
},
|
||
"introduction-to-functional-programming-with-javascript": {
|
||
"title": "Introduction to Functional Programming with JavaScript",
|
||
"summary": [
|
||
"Learn the fundamentals of functional programming in JavaScript."
|
||
],
|
||
"intro": [
|
||
"In this interactive course, you will learn about functional programming concepts and techniques in JavaScript."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-understanding-functional-programming": {
|
||
"title": "Understanding Functional Programming",
|
||
"intro": [
|
||
"In these lectures, you will learn about functional programming and how to nest functions using a technique called currying."
|
||
]
|
||
},
|
||
"workshop-recipe-ingredient-converter": {
|
||
"title": "Build a Recipe Ingredient Converter",
|
||
"intro": [
|
||
"In the previous lectures, you learned the core concepts behind functional programming and currying.",
|
||
"Now you will be able to apply what you have learned about currying and functional programming by building a recipe ingredient converter application."
|
||
]
|
||
},
|
||
"lab-optional-arguments-sum-function": {
|
||
"title": "Build an Optional Arguments Sum Function",
|
||
"intro": [
|
||
"In this lab you will build a function that accepts up to two arguments, and sum them, but if there is only one argument returns a function that waits for the second number to sum."
|
||
]
|
||
},
|
||
"lab-sorting-visualizer": {
|
||
"title": "Build a Sorting Visualizer",
|
||
"intro": [
|
||
"For this lab, you'll use JavaScript to visualize the steps that the Bubble Sort algorithm takes to reorder an array of integers."
|
||
]
|
||
},
|
||
"review-javascript-functional-programming": {
|
||
"title": "JavaScript Functional Programming Review",
|
||
"intro": [
|
||
"Before you're quizzed on functional programming, you should review what you've learned.",
|
||
"Open up this page to review concepts on functional programming, currying and more."
|
||
]
|
||
},
|
||
"quiz-javascript-functional-programming": {
|
||
"title": "JavaScript Functional Programming Quiz",
|
||
"intro": [
|
||
"Test what you've learned about JavaScript functional programming with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"introduction-to-asynchronous-javascript": {
|
||
"title": "Introduction to Asynchronous JavaScript",
|
||
"summary": [
|
||
"Learn the fundamentals of asynchronous programming in JavaScript."
|
||
],
|
||
"intro": [
|
||
"In this interactive course, you will learn about asynchronous programming concepts and techniques in JavaScript."
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"lecture-understanding-asynchronous-programming": {
|
||
"title": "Understanding Asynchronous Programming",
|
||
"intro": [
|
||
"In these lectures, you will learn about asynchronous programming in JavaScript. You will learn about the differences between synchronous and asynchronous programming, how the <code>async</code> keyword works, the <code>Fetch</code> API, promises, <code>async/await</code>, the <code>Geolocation</code> API, and much more."
|
||
]
|
||
},
|
||
"workshop-fcc-authors-page": {
|
||
"title": "Build an fCC Authors Page",
|
||
"intro": [
|
||
"One common aspect of web development is learning how to fetch data from an external API, then work with asynchronous JavaScript.",
|
||
"In this workshop you will practice how to use the fetch method, dynamically update the DOM to display the fetched data and paginate your data so you can load results in batches."
|
||
]
|
||
},
|
||
"lab-fcc-forum-leaderboard": {
|
||
"title": "Build an fCC Forum Leaderboard",
|
||
"intro": [
|
||
"For this lab you'll practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard."
|
||
]
|
||
},
|
||
"lab-weather-app": {
|
||
"title": "Build a Weather App",
|
||
"intro": [
|
||
"In this lab you'll build a Weather App using an API",
|
||
"You'll practice how to fetch data from the API, store and display it on your app."
|
||
]
|
||
},
|
||
"review-asynchronous-javascript": {
|
||
"title": "Asynchronous JavaScript Review",
|
||
"intro": [
|
||
"Review asynchronous JavaScript concepts to prepare for the upcoming quiz."
|
||
]
|
||
},
|
||
"quiz-asynchronous-javascript": {
|
||
"title": "Asynchronous JavaScript Quiz",
|
||
"intro": [
|
||
"Test what you've learned about asynchronous JavaScript with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"information-security": {
|
||
"title": "情報セキュリティ",
|
||
"intro": [
|
||
"オンラインで行うすべてのことに伴い、膨大な量の取り扱いに注意すべき情報が危険にさらされます。電子メールアドレス、パスワード、電話番号、その他にもたくさんの情報があります。",
|
||
"情報セキュリティ認定講座では、オンラインで人々の情報を保護する基本を学習するために、 HelmetJS で安全なウェブアプリを構築します。",
|
||
"また、Python で TCP クライアントと、Nmap およびポートスキャナーを構築します。これは優れた情報セキュリティにおいて重要な構成要素である、ペネトレーションテストの基本の学習に役立ちます。"
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"information-security-with-helmetjs": {
|
||
"title": "HelmetJS を用いた情報セキュリティ",
|
||
"intro": [
|
||
"このプログラミングコースでは HelmetJS を取り上げます。HelmetJS は、HTTP ヘッダーを自動的に設定する、Express を基盤としたアプリケーションのためのミドルウェアの一種です。これにより、取り扱いに注意を要する情報がサーバーとクライアントの間で意図せずやり取りされることを防止することができます。",
|
||
"以下のコースを完成させると、ウェブサイトを悪意のある行為から保護する方法を理解するのに役立つでしょう。"
|
||
]
|
||
},
|
||
"python-for-penetration-testing": {
|
||
"title": "ペネトレーションテストに適した Python",
|
||
"intro": [
|
||
"これらのビデオコースでは Python を用いたペネトレーションテストを取り上げます。ペネトレーションテストはペンテストとしても知られており、脆弱性を検査するための、システムに対する模擬攻撃です。",
|
||
"このコースでは、ソケットについて学習し、TCP サーバーとクライアントを作成し、Nmap スキャナーを構築し、そしてペンテスターがよく使用するその他のツールや技術についても学習します。"
|
||
]
|
||
},
|
||
"information-security-projects": {
|
||
"title": "情報セキュリティプロジェクト",
|
||
"intro": [
|
||
"さあ、新しい情報セキュリティの技能を活用する時です。これらのプロジェクトはここまで学んできた情報セキュリティの技能、原則、概念を応用する機会を提供します。",
|
||
"完成した暁には、たくさんの情報セキュリティプロジェクトの経験を積み、友人や家族、そして雇用主へ披露することができる認定証を手にしていることでしょう。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"machine-learning-with-python": {
|
||
"title": "Python を用いた機械学習",
|
||
"intro": [
|
||
"機械学習には、プロジェクト内または仕事中に使用することができる多くの実用的なアプリケーションがあります。",
|
||
"Python を用いた機械学習認定講座では、TensorFlow フレームワークを使用して、いくつかのニューラルネットワークを構築し、自然言語処理や強化学習のようなより高度な技術も探究します。",
|
||
"またニューラルネットワークを掘り下げて、ディープ、回帰型、そして畳み込みニューラルネットワークの仕組みの背後にある原理を学習します。"
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"tensorflow": {
|
||
"title": "TensorFlow",
|
||
"intro": [
|
||
"TensorFlow は機械学習とニューラルネットワークを使いやすくしてくれるオープンソースフレームワークです。",
|
||
"以下のビデオコースは “Tech With Tim” としても知られている Tim Ruscica によって作成されました。このコースは TensorFlow とその強力な機能の一部を理解するのに役立つでしょう。"
|
||
]
|
||
},
|
||
"how-neural-networks-work": {
|
||
"title": "ニューラルネットワークの仕組み",
|
||
"intro": [
|
||
"ニューラルネットワークは今日私たちが人工知能と呼ぶものの中核を成しています。しかしそれらは歴史的に見て理解が難しいものでした。特に機械学習の分野の初心者にとってはそうでした。",
|
||
"たとえニューラルネットワークに触れるのが完全に初めてでも、これらの Brandon Rohrer によるビデオコースでその背後にある概念と数学に慣れることができます。"
|
||
]
|
||
},
|
||
"machine-learning-with-python-projects": {
|
||
"title": "Python を用いた機械学習プロジェクト",
|
||
"intro": [
|
||
"機械学習には多くの実用的なアプリケーションがあります。これらの無料でやりがいのあるコーディングプロジェクトを完成させることによって、機械学習の優れた基礎知識をもっていることと、Python を用いた機械学習認定証を得る資格があることを証明できます。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"college-algebra-with-python": {
|
||
"title": "Python を用いた代数学",
|
||
"intro": [
|
||
"このコースは 1 学期の大学講座として作成されました。講義動画、インタラクティブに手を動かしながら学べる Google Colaboratory ノートブック、課題、そして挑戦しがいのあるプロジェクトで構成されています。",
|
||
"コースの各パートを順に進めていく中で、代数学、そして Python のコードを書いて代数の問題を解く方法がしっかりと理解できます。",
|
||
"また、コース全体を通して、カスタム計算機として使える Algebra Colab ノートブックを作り上げます。この講座 (およびこれからあなたが書くコード) が、数学とデータサイエンスをより深く理解するための基礎となるでしょう。"
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"learn-ratios-and-proportions": {
|
||
"title": "比率と比例式を学ぶ",
|
||
"intro": [
|
||
"まずは Python のコードを実行するための Colab ノートブックの設定方法を学ぶところから始めましょう。次に、動画に沿ってそのノートブックを使いながら、比率と比例式について Python を使って学びます。"
|
||
]
|
||
},
|
||
"learn-how-to-solve-for-x": {
|
||
"title": "X について解く方法を学ぶ",
|
||
"intro": [
|
||
"この単元では、代数と Python のコードを使って未知の数 (しばしば \"x\" と呼ばれます) について解く方法を学びます。"
|
||
]
|
||
},
|
||
"learn-fractions-and-decimals": {
|
||
"title": "分数と小数を学ぶ",
|
||
"intro": [
|
||
"この単元では、小数から分数とパーセントへの変換について学習します。"
|
||
]
|
||
},
|
||
"learn-functions-and-graphing": {
|
||
"title": "関数とグラフを学ぶ",
|
||
"intro": ["この単元では、数学の関数について学習します。"]
|
||
},
|
||
"learn-linear-functions": {
|
||
"title": "線形関数を学ぶ",
|
||
"intro": [
|
||
"この動画では、2 つの点から線形方程式を導出する方法を学習します。"
|
||
]
|
||
},
|
||
"learn-common-factors-and-square-roots": {
|
||
"title": "共通因数と平方根を学ぶ",
|
||
"intro": [
|
||
"この単元では、共通因数を見つけて除算を行う方法を学習します。これは約分や平方根の中身の因数分解をする際に役立ちます。"
|
||
]
|
||
},
|
||
"build-a-multi-function-calculator-project": {
|
||
"title": "多機能計算機",
|
||
"intro": [
|
||
"これは認定証の取得に必須のプロジェクトの 1 つです。",
|
||
"このプロジェクトでは、多機能計算機を作成します。"
|
||
]
|
||
},
|
||
"learn-how-to-graph-systems-of-equations": {
|
||
"title": "連立方程式のグラフのかき方を学ぶ",
|
||
"intro": [
|
||
"この単元では、同じ座標平面上に 2 つの方程式のグラフをかき、線が交差する場所を見つける方法を学習します。"
|
||
]
|
||
},
|
||
"learn-how-to-solve-systems-of-equations": {
|
||
"title": "連立方程式の解き方を学ぶ",
|
||
"intro": [
|
||
"この単元では、2 つの式からなる連立方程式 (変数が 2 つ) を、グラフをかかずに解く方法を学習します。Python で方程式の因数分解を行ったり、特定の変数について解いたりする方法を見ていきます。この単元の終わりには、コードを書いて連立方程式を解いたりグラフ表示したりできるようになるでしょう。"
|
||
]
|
||
},
|
||
"learn-applications-of-linear-systems": {
|
||
"title": "連立一次方程式の応用を学ぶ",
|
||
"intro": [
|
||
"この単元では、ここまで学習してきた代数学を使って現実世界の問題を解決する方法を見ていきます。"
|
||
]
|
||
},
|
||
"learn-quadratic-equations": {
|
||
"title": "二次方程式を学ぶ",
|
||
"intro": [
|
||
"この単元では線形方程式の範囲を超えて、指数を扱ったり、放物線のグラフをかいたりします。放物線の重要な点の見つけ方や、二次方程式の解き方を学習します。"
|
||
]
|
||
},
|
||
"build-a-graphing-calculator-project": {
|
||
"title": "グラフ電卓",
|
||
"intro": [
|
||
"これは認定証の取得に必須のプロジェクトの 1 つです。",
|
||
"このプロジェクトでは、グラフ電卓を作成します。"
|
||
]
|
||
},
|
||
"learn-parent-graphs-and-polynomials": {
|
||
"title": "親関数と多項式を学ぶ",
|
||
"intro": [
|
||
"この単元では、より複雑なグラフの元となる基本のパターンである「親」グラフのさまざまな種類を説明します。多項式は「複数のもの」からなる数式で、基本のパターンが組み合わさって複雑な方程式を構成しています。これらのグラフがどのような見た目をしているか、それを変化させる方法、Python のコードを使って同じことをする方法を学びます。"
|
||
]
|
||
},
|
||
"build-three-math-games-project": {
|
||
"title": "3 つの数学ゲーム",
|
||
"intro": [
|
||
"これは認定証の取得に必須のプロジェクトの 1 つです。",
|
||
"このプロジェクトでは、3 つの数学ゲームを作成します。"
|
||
]
|
||
},
|
||
"learn-business-applications-of-college-algebra": {
|
||
"title": "代数学のビジネスへの応用を学ぶ",
|
||
"intro": [
|
||
"この単元では、方程式を解いたりグラフをかいたりするスキルを、費用、収益、利益の計算に適用する方法を説明します。2 点から需要関数を導くコードを書いたり、価格が利益のグラフにどう影響するか、これらの方程式が互いにどう関係しているかを学びます。"
|
||
]
|
||
},
|
||
"learn-simple-and-compound-interest": {
|
||
"title": "単利と複利を学ぶ",
|
||
"intro": [
|
||
"この単元では、利子、ローンの支払い、投資の推定価値を計算する方法を説明します。数式を見て、それをコードに書き換えます。これらの計算式は複雑になりがちなので、ほんのいくつかの値を変更するだけで使えるコードのありがたみが感じられることでしょう。"
|
||
]
|
||
},
|
||
"learn-exponents-and-logarithms": {
|
||
"title": "指数と対数を学ぶ",
|
||
"intro": [
|
||
"この単元では、指数関数と対数関数が逆関数であること、これらの関数をどのように応用できるかを学習します。"
|
||
]
|
||
},
|
||
"build-a-financial-calculator-project": {
|
||
"title": "財務計算機",
|
||
"intro": [
|
||
"これは認定証の取得に必須のプロジェクトの 1 つです。",
|
||
"このプロジェクトでは、財務計算機を作成します。"
|
||
]
|
||
},
|
||
"college-algebra-with-python-conclusion": {
|
||
"title": "Python を用いた代数学: まとめ",
|
||
"intro": [
|
||
"これはこのコース最後の単元となります。あなたの数学と Python の知識を、外部データと結びつける方法を学びましょう。"
|
||
]
|
||
},
|
||
"build-a-data-graph-explorer-project": {
|
||
"title": "データグラフエクスプローラー",
|
||
"intro": [
|
||
"これは認定証の取得に必須のプロジェクトの 1 つです。",
|
||
"このプロジェクトでは、データグラフエクスプローラーを作成します。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"python-for-everybody": {
|
||
"title": "(レガシー) みんなの Python",
|
||
"intro": [
|
||
"Python は現在最も一般的で適応性のあるプログラミング言語です。基本的なスクリプトから機械学習まで幅広く使用することができます。"
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"python-for-everybody": {
|
||
"title": "みんなの Python",
|
||
"intro": [
|
||
"みんなの Python は、Python 3 使用法の基本を教える無料のビデオコースです。",
|
||
"このコースは Charles Severance 博士 (Chuck 博士としても知られています) によって作成されました。彼はミシガン大学情報学部の臨床学教授で、そこでプログラミング、データベース設計、そしてウェブ開発を含む様々なテクノロジー指向のコースを教えています。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"coding-interview-prep": {
|
||
"title": "コーディング面接対策",
|
||
"intro": [
|
||
"次回の就職面接に備えて無料のコーディング演習をお探しでしたら、こちらにご用意しています。",
|
||
"This section contains dozens of coding challenges that test your knowledge of algorithms, data structures, and mathematics. It also has a number of take-home projects you can use to strengthen your skills, or add to your portfolio.",
|
||
"This work incorporates material from <a href=\"https://www.wikipedia.org/\" target=\"_blank\">Wikipedia</a>, which is licensed under the <a href=\"https://creativecommons.org/licenses/by-sa/4.0/\" target=\"_blank\">Creative Commons Attribution-ShareAlike License 4.0</a>. The original content might have been modified and adapted. For the unaltered version and additional details, see the original page on <a href=\"https://www.wikipedia.org/\" target\"_blank\">Wikipedia</a>."
|
||
],
|
||
"blocks": {
|
||
"algorithms": {
|
||
"title": "アルゴリズム",
|
||
"intro": [
|
||
"これらの無料のプログラミング演習で、実際に直面しうるいくつかの一般的なアルゴリズムについて学べます。これらは論理的思考力およびプログラミングの技能を向上させる絶好の機会です。",
|
||
"このようなアルゴリズムは、就職面接で応募者の技能をテストするために頻繁に利用されます。あなたがそれぞれに適した解決策を実装することができるよう、これらのいろいろなアルゴリズムがどのように機能するかについて明解で簡潔に説明します。",
|
||
"NOTE: These challenges support JavaScript only solutions."
|
||
]
|
||
},
|
||
"data-structures": {
|
||
"title": "データ構造",
|
||
"intro": [
|
||
"これらの無料のプログラミングコースは、まだあなたがあまり馴染みがないかもしれない、大規模で複雑なデータ構造を扱うのに役立つよう意図されています。",
|
||
"以下のコースに取り組むことで、タイプ別のデータ構造について学習し、理解を深めるためにアルゴリズムを実装します。",
|
||
"NOTE: These challenges support JavaScript only solutions."
|
||
]
|
||
},
|
||
"take-home-projects": {
|
||
"title": "宿題プロジェクト",
|
||
"intro": [
|
||
"プログラミングの就職面接は常にストレスの多いものです。応募者はときどき面接外での宿題プロジェクトを与えられることがあります。このようなタイプの面接は通常多くの作業を要求しますが、しかしそれらは雇用主にとって、あなたがどのように仕事に取り組むかを確かめるのにうってつけの方法です。",
|
||
"追加演習として、以下のボーナスコーディングプロジェクトを構築してください。ゆっくり時間をかけ、素晴らしいものにして、将来の雇用主へ披露するために履歴書やポートフォリオに追加しましょう。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"the-odin-project": {
|
||
"title": "The Odin Project - freeCodeCamp Remix",
|
||
"intro": [
|
||
"The Odin Project was created in 2013 by a lone developer, Erik Trautman. Over the years, an open source community has sprung up to maintain and expand the project.",
|
||
"freeCodeCamp has expanded upon the open source curriculum to make it run interactively in the browser, with tests to evaluate your code and ensure you've understood key concepts.",
|
||
"If you want the original experience of configuring all of The Odin Project to run on your local computer, you can check out the original Odin Project on <a href='https://www.theodinproject.com/' target='_blank' rel='noopener noreferrer nofollow'>The Odin Project website</a>. A huge thanks to The Odin Project community for continuing to maintain this valuable learning resource for developers all around the world.",
|
||
"This course is unofficial, and not endorsed by The Odin Project. Changes to The Odin Project curriculum content have been made, and all instructional material for this course is licensed under <a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' target='_blank' rel='noopener noreferrer nofollow'>CC-BY-SA-NC 4.0</a>",
|
||
"<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/deed' target='_blank' rel='noopener noreferrer nofollow'>© The Odin Project</a>",
|
||
"This course includes content from <a href='https://javascript.info/' target='_blank' rel='noopener noreferrer nofollow'>JavaScript.info</a>, which is licensed under <a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' target='_blank' rel='noopener noreferrer nofollow'>CC-BY-NC-SA 4.0</a>."
|
||
],
|
||
"blocks": {
|
||
"top-learn-html-foundations": {
|
||
"title": "Learn HTML Foundations",
|
||
"intro": [
|
||
"Get a solid grasp of HTML essentials with this course. From structuring web pages to understanding semantic tags, you'll build a strong foundation for creating well-organized and accessible content on the web."
|
||
]
|
||
},
|
||
"top-working-with-text": {
|
||
"title": "Working with Text",
|
||
"intro": [
|
||
"Explore the intricacies of working with text in web development. Learn about text formatting, manipulation, and presentation to enhance your skills in creating web content."
|
||
]
|
||
},
|
||
"top-links-and-images": {
|
||
"title": "Links and Images",
|
||
"intro": [
|
||
"Learn how to incorporate links and images into your web projects. This course covers the fundamentals of creating links and embedding images to make your websites more interactive and visually appealing."
|
||
]
|
||
},
|
||
"top-build-a-recipe-project": {
|
||
"title": "Learn HTML Foundations by Building a Recipe Page",
|
||
"intro": [
|
||
"Put your HTML skills into practice by building a recipe page. This hands-on project allows you to apply your knowledge and create a functional web page while reinforcing key concepts of HTML development."
|
||
]
|
||
},
|
||
"top-learn-css-foundations": {
|
||
"title": "Learn CSS Foundations",
|
||
"intro": [
|
||
"Dive into the world of Cascading Style Sheets (CSS) and learn how to style your HTML elements. Explore styling properties, selectors, and layouts to bring your web pages to life."
|
||
]
|
||
},
|
||
"top-learn-css-foundations-projects": {
|
||
"title": "Learn CSS Foundations Projects",
|
||
"intro": [
|
||
"Take your CSS skills to the next level by working on practical projects. This course provides hands-on experience in applying CSS to create responsive designs for real-world scenarios."
|
||
]
|
||
},
|
||
"top-learn-css-specificity": {
|
||
"title": "Learn CSS Specificity",
|
||
"intro": [
|
||
"Learn CSS specificity and gain a better understanding of how styles are applied to HTML elements. This course explores the nuances of CSS rules and helps you write efficient and targeted styles for your web pages."
|
||
]
|
||
},
|
||
"top-the-box-model": {
|
||
"title": "Learn the Box Model",
|
||
"intro": [
|
||
"Learn the CSS box model with this course. Understand how elements are rendered on the web, and learn to manipulate spacing, borders, and padding to achieve your desired layout and design."
|
||
]
|
||
},
|
||
"top-introduction-to-flexbox": {
|
||
"title": "Introduction to Flexbox",
|
||
"intro": [
|
||
"Discover the power of Flexbox, a layout model that simplifies the design of flexible and responsive web layouts. Learn how to create dynamic and adaptive page structures with ease."
|
||
]
|
||
},
|
||
"top-learn-block-and-inline": {
|
||
"title": "Learn the difference between Block and Inline",
|
||
"intro": [
|
||
"Explore the distinctions between block and inline elements in HTML and CSS. This course provides insights into how these display types affect layout and behavior, empowering you to make informed design decisions."
|
||
]
|
||
},
|
||
"top-learn-variables-and-operators": {
|
||
"title": "Learn Variables and Operators",
|
||
"intro": [
|
||
"Get started with JavaScript by learning about variables and operators. This course covers the fundamentals of JavaScript programming, including data types, operators, and variable declarations."
|
||
]
|
||
},
|
||
"top-learn-data-types-and-conditionals": {
|
||
"title": "Learn Data Types and Conditionals",
|
||
"intro": ["Learn about data types and conditionals in JavaScript."]
|
||
},
|
||
"top-learn-function-basics": {
|
||
"title": "Learn Function Basics",
|
||
"intro": ["Learn about functions in JavaScript."]
|
||
},
|
||
"top-basic-function-projects": {
|
||
"title": "Basic Function Projects",
|
||
"intro": [
|
||
"Put your JavaScript skills to the test by building basic functions."
|
||
]
|
||
},
|
||
"top-learn-arrays-and-loops": {
|
||
"title": "Learn Arrays and Loops",
|
||
"intro": ["Learn about arrays and loops in JavaScript."]
|
||
},
|
||
"top-learn-to-solve-problems-and-understand-errors": {
|
||
"title": "Learn to Solve Problems and Understand Errors",
|
||
"intro": [
|
||
"Learn how to solve problems and understand errors in JavaScript."
|
||
]
|
||
},
|
||
"top-build-a-rock-paper-scissors-game": {
|
||
"title": "Build a Rock Paper Scissors Game",
|
||
"intro": [
|
||
"Put your JavaScript skills to the test by building a Rock Paper Scissors game."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"project-euler": {
|
||
"title": "プロジェクト・オイラー",
|
||
"intro": [
|
||
"かの偉大なプロジェクト・オイラー・アーカイブを元にした、以下のプログラミングチャレンジを完成させてください。これらの問題でアルゴリズムと数学の知識が強化できるでしょう。",
|
||
"問題は易しい物から難しい物まであり、その多くで帰納的連鎖学習のような体験ができます。つまり、ある問題を解くことによって新しい概念を学ぶことができ、以前はとっつきにくかった問題に取り組めるようになるでしょう。すべての問題を解けるでしょうか?"
|
||
],
|
||
"blocks": {
|
||
"project-euler-problems-1-to-100": {
|
||
"title": "プロジェクト・オイラー: 問題 1~100",
|
||
"intro": [
|
||
"最初の問題セットでは、効率的なアルゴリズムを書くためにフィボナッチ数列、素数理論、組合せ理論のような数学的概念を利用して問題を解いていきます。",
|
||
"NOTE: These challenges support JavaScript only solutions."
|
||
]
|
||
},
|
||
"project-euler-problems-101-to-200": {
|
||
"title": "プロジェクト・オイラー: 問題 101~200",
|
||
"intro": [
|
||
"この問題セットでは最初のパートで学んだスキルを踏まえて、ベクトル計算、パスカルの三角錐、RSA アルゴリズムなどの高度な概念を利用して効率的に問題を解いていきます。",
|
||
"NOTE: These challenges support JavaScript only solutions."
|
||
]
|
||
},
|
||
"project-euler-problems-201-to-300": {
|
||
"title": "プロジェクト・オイラー: 問題 201~300",
|
||
"intro": [
|
||
"この問題セットでは、引き続きここまで学んできたスキルを基に、二項定理、ハミング数、コラッツ数列などの概念を利用して、数学と問題解決のスキルを磨いていきます。",
|
||
"NOTE: These challenges support JavaScript only solutions."
|
||
]
|
||
},
|
||
"project-euler-problems-301-to-400": {
|
||
"title": "プロジェクト・オイラー: 問題 301~400",
|
||
"intro": [
|
||
"このパートでは、組合せゲーム理論、ビット演算、ゴロムの自己記述的数列などの概念を利用して効率的な解法を作成しながら、引き続き数学とアルゴリズムのスキルを活用します。",
|
||
"NOTE: These challenges support JavaScript only solutions."
|
||
]
|
||
},
|
||
"project-euler-problems-401-to-480": {
|
||
"title": "プロジェクト・オイラー: 問題 401~480",
|
||
"intro": [
|
||
"最後の問題セットでは、ここまで学んだすべてのことを活用して、単約数、カプレカ操作などの高度な概念を使って複雑な問題を解いていきます。",
|
||
"NOTE: These challenges support JavaScript only solutions."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"foundational-c-sharp-with-microsoft": {
|
||
"title": "Free Foundational C# with Microsoft Certification",
|
||
"intro": [
|
||
"このコースは、C# プログラミングについての総合的な入門講座です。中心となる概念、構文、ソフトウェア開発における実践的な応用例などをカバーします。",
|
||
"以下のハンズオン演習とプロジェクトを通して、変数、データ型、制御構造、オブジェクト指向プログラミングの原則など、C# の基礎を学習します。",
|
||
"このコースを完了する頃には、C# を使いこなしてアプリケーションを作成できる実践的なスキルと知識が身についていることでしょう。"
|
||
],
|
||
"note": "以下の各セクションでは、それぞれ関連するトロフィーを Microsoft Learn プラットフォームで獲得する必要があります。それぞれのトロフィーを獲得後、freeCodeCamp のサイトで確認を実行してください。すべてのトロフィーの確認が完了すると、認定試験の受験資格が得られます。",
|
||
"blocks": {
|
||
"write-your-first-code-using-c-sharp": {
|
||
"title": "初めての C# コードを書く",
|
||
"intro": [
|
||
"C# を使った初めてのコードを書くところから始めましょう。言語の基本と構文を学び、プログラミングの世界の冒険に備えてしっかりと基礎を固めます。"
|
||
]
|
||
},
|
||
"create-and-run-simple-c-sharp-console-applications": {
|
||
"title": "シンプルな C# コンソールアプリケーションを作成、実行する",
|
||
"intro": [
|
||
"C# でシンプルなコンソールアプリケーションを作成、実行する技術を習得しましょう。コンソールベースのプログラミングの世界に飛び込み、自分で書いたコードを実行して動作を確認する体験をハンズオンで学習します。"
|
||
]
|
||
},
|
||
"add-logic-to-c-sharp-console-applications": {
|
||
"title": "C# コンソールアプリケーションにロジックを追加する",
|
||
"intro": [
|
||
"C# コンソールアプリケーションでロジックの力を活用しましょう。あなたのアプリケーションが動的な選択を行ってさまざまなシナリオに賢く対応できるように、コードに論理と判断の機能を追加する方法を学習します。"
|
||
]
|
||
},
|
||
"work-with-variable-data-in-c-sharp-console-applications": {
|
||
"title": "C# コンソールアプリケーションで変数データを扱う",
|
||
"intro": [
|
||
"C# コンソールアプリケーションで、変数データの汎用性に触れましょう。変数とデータ処理の本質的な概念を掘り下げながら、数値やテキストなど、さまざまな種類のデータを保存、操作する機能を活用します。"
|
||
]
|
||
},
|
||
"create-methods-in-c-sharp-console-applications": {
|
||
"title": "C# コンソールアプリケーションでメソッドを作成する",
|
||
"intro": [
|
||
"メソッドを作成する技術を習得して、あなたの C# コンソールアプリケーションを次のレベルへと引き上げましょう。コードを管理しやすく、再利用しやすく、そして効率的にするために、整理したりモジュール化したりする方法を学習します。"
|
||
]
|
||
},
|
||
"debug-c-sharp-console-applications": {
|
||
"title": "C# コンソールアプリケーションをデバッグする",
|
||
"intro": [
|
||
"C# コンソールアプリケーションをデバッグしながら、トラブルシューティングのスキルを磨きましょう。コード内の問題を特定して修正し、アプリケーションがスムーズに実行されて期待通りの結果が得られるようにする力を身に付けます。"
|
||
]
|
||
},
|
||
"foundational-c-sharp-with-microsoft-certification-exam": {
|
||
"title": "Microsoft 連携・基礎 C# 認定試験",
|
||
"intro": [
|
||
"ここまで学んだことを活かして認定試験に合格し、Microsoft 連携・基礎 C# 認定証を獲得しましょう。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"a2-english-for-developers": {
|
||
"title": "A2 English for Developers Certification (Beta)",
|
||
"intro": [
|
||
"In this English for Developers Curriculum, you'll learn the essentials of English communication. This will follow the A2 level of the Common European Framework of Reference (CEFR). And we've focused on vocabulary that is particularly useful for developers.",
|
||
"The first half of the curriculum will help you get comfortable with English grammar and usage. It will give you tons of hands-on practice. You'll learn basics like introducing yourself, making small talk, and discussing your work.",
|
||
"In the second half, you'll practice vocabulary specific to software development. You'll learn how to describe code, discuss tech trends, and participate in stand-up meetings.",
|
||
"This entire A2-level curriculum includes 105 different dialogues. Each is designed to build your vocabulary and boost your confidence when speaking in a professional tech setting."
|
||
],
|
||
"blocks": {
|
||
"learn-greetings-in-your-first-day-at-the-office": {
|
||
"title": "Learn Greetings in your First Day at the Office",
|
||
"intro": [
|
||
"In this first course, you'll learn common expressions for situations you may encounter on your first day at work. You'll learn about introductions, getting to know people, asking for lunch recommendations, and getting an access card from security."
|
||
]
|
||
},
|
||
"en-a2-quiz-first-day-conversations-at-work": {
|
||
"title": "First Day Conversations at Work Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-introductions-in-an-online-team-meeting": {
|
||
"title": "Learn Introductions in an Online Team Meeting",
|
||
"intro": [
|
||
"In this course, you'll learn how to give a personal introduction. You'll also learn how to state your profession, and share your goals in group meetings."
|
||
]
|
||
},
|
||
"en-a2-quiz-meeting-introductions-at-work": {
|
||
"title": "Meeting Introductions at Work Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-conversation-starters-in-the-break-room": {
|
||
"title": "Learn Conversation Starters in the Break Room",
|
||
"intro": [
|
||
"In this course, you'll learn how to start a conversation in casual settings. You'll also learn how to talk about your hobbies and personality traits. You'll even learn how to ask about places around the town."
|
||
]
|
||
},
|
||
"en-a2-quiz-conversation-starters-at-work": {
|
||
"title": "Break Room Conversations Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-talk-about-a-typical-workday-and-tasks": {
|
||
"title": "Learn How to Talk About a Typical Workday and Tasks",
|
||
"intro": [
|
||
"In this course, you'll learn how to talk about your workday and the tasks that you perform in the workplace and how to share them with others. It mainly focuses on the structures used for describing your activities and task-related vocabulary."
|
||
]
|
||
},
|
||
"en-a2-quiz-work-routines-and-tasks": {
|
||
"title": "Talking About Your Workday Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-discuss-your-morning-or-evening-routine": {
|
||
"title": "Learn How to Discuss Your Morning or Evening Routine",
|
||
"intro": [
|
||
"In this course, you'll learn how to talk about details of your routine and share them with someone else. It mainly focuses on the structures used for declaring routine actions and related vocabulary."
|
||
]
|
||
},
|
||
"en-a2-quiz-daily-life-routines": {
|
||
"title": "Daily Routines at Work Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-describe-your-current-project": {
|
||
"title": "Learn How to Describe Your Current Project",
|
||
"intro": [
|
||
"In this course, you'll learn how to talk about the projects that you are involved in and how to inform others of what you are doing in these projects. It mainly focuses on the structures used for informing it and on the related vocabulary."
|
||
]
|
||
},
|
||
"en-a2-quiz-what-are-you-working-on": {
|
||
"title": "Describing Your Current Project Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-ask-and-share-about-educational-and-professional-background": {
|
||
"title": "Learn How to Ask and Share About Educational and Professional Background",
|
||
"intro": [
|
||
"In this course, you'll learn how to ask about another person's educational and professional backgrounds and you'll learn how to share information about your background as well."
|
||
]
|
||
},
|
||
"en-a2-quiz-educational-and-professional-background": {
|
||
"title": "Educational and Professional Background Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-talk-about-hobbies-and-interests": {
|
||
"title": "Learn How to Talk About Hobbies and Interests",
|
||
"intro": [
|
||
"In this course, you'll learn different ways to talk about hobbies and things that interest you. You'll also learn how to ask about other people's hobbies and how to invite them to join you in these activities."
|
||
]
|
||
},
|
||
"en-a2-quiz-hobbies-and-interests": {
|
||
"title": "Talking About Hobbies and Interests Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-discuss-roles-and-responsibilities": {
|
||
"title": "Learn How to Discuss Roles and Responsibilities",
|
||
"intro": [
|
||
"In this course, you'll discuss people's roles and responsibilities in a company and out of it. You'll discover how to ask about these roles and responsibilities and how to share information about you related to the topic."
|
||
]
|
||
},
|
||
"en-a2-quiz-discuss-roles-responsibilities": {
|
||
"title": "Roles and Responsibilities Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-have-a-conversation-about-preferences-and-motivations": {
|
||
"title": "Learn How to Have a Conversation About Preferences and Motivations",
|
||
"intro": [
|
||
"In this course, you'll learn how to ask about what motivates people in their personal and professional lives, answer questions related to your motivations, and discuss about people's preferences."
|
||
]
|
||
},
|
||
"en-a2-quiz-preferences-and-motivations": {
|
||
"title": "Preferences and Motivations Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-discuss-popular-trends-in-technology": {
|
||
"title": "Learn How to Discuss Popular Trends in Technology",
|
||
"intro": [
|
||
"In this course, you'll learn how to discuss about things that everybody's talking about in technology these days."
|
||
]
|
||
},
|
||
"en-a2-quiz-sharing-opinions": {
|
||
"title": "Technology Trends Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-clarify-information-in-different-interactions": {
|
||
"title": "Learn How to Clarify Information in Different Interactions",
|
||
"intro": [
|
||
"In this course, you'll learn how to check to see if the information you had is correct and how to ask for clarification when something is not clear to you."
|
||
]
|
||
},
|
||
"en-a2-quiz-getting-the-details-right": {
|
||
"title": "Clarifying Information Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-use-basic-programming-vocabulary-in-conversations": {
|
||
"title": "Learn How to Use Basic Programming Vocabulary in Conversations",
|
||
"intro": [
|
||
"This course will present basic vocabulary related to programming. You'll learn how to ask questions related to basic programming concepts."
|
||
]
|
||
},
|
||
"en-a2-quiz-basic-programming-vocabulary": {
|
||
"title": "Basic Programming Vocabulary Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-use-code-related-concepts-and-terms": {
|
||
"title": "Learn How to Use Code-related Concepts and Terms",
|
||
"intro": [
|
||
"In this course, you will be introduced to terms related to coding and learn how to use them in conversation."
|
||
]
|
||
},
|
||
"en-a2-quiz-key-programming-terms": {
|
||
"title": "Code Concepts and Terms Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-discuss-tech-trends-and-updates": {
|
||
"title": "Learn How to Discuss Tech Trends and Updates",
|
||
"intro": [
|
||
"In this course, you will be introduced to some recent trends in the world of technology and learn how to discuss them in English."
|
||
]
|
||
},
|
||
"en-a2-quiz-discussing-new-ideas": {
|
||
"title": "Tech Updates and Trends Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-help-a-coworker-troubleshoot-on-github": {
|
||
"title": "Learn How to Help a Coworker Troubleshoot on GitHub",
|
||
"intro": [
|
||
"In this course, you will learn expression related to how to ask for help from a coworker as well as how to offer them some assistance."
|
||
]
|
||
},
|
||
"en-a2-quiz-discussing-problems-and-solutions": {
|
||
"title": "Helping a Coworker on GitHub Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-share-your-progress-in-weekly-stand-up-meetings": {
|
||
"title": "Learn How to Share Your Progress in Weekly Stand-up Meetings",
|
||
"intro": [
|
||
"This course will show you how to talk about your projects in terms of what you have already done and what you are currently doing in them."
|
||
]
|
||
},
|
||
"en-a2-quiz-collaborating-in-meetings": {
|
||
"title": "Weekly Meeting Progress Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-ask-for-clarification-on-code-understanding": {
|
||
"title": "Learn How to Ask for Clarification on Code Understanding",
|
||
"intro": [
|
||
"In this course, you will see how you can ask questions to clarify things which are not very clear to you in a code."
|
||
]
|
||
},
|
||
"en-a2-quiz-understanding-problems": {
|
||
"title": "Asking for Code Clarification Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-document-code-for-a-project": {
|
||
"title": "Learn How to Document Code for a Project",
|
||
"intro": [
|
||
"This course will show you expressions related to what to do when documenting code."
|
||
]
|
||
},
|
||
"en-a2-quiz-document-code-project": {
|
||
"title": "Documenting Code Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-read-and-understand-code-documentation": {
|
||
"title": "Learn How to Read and Understand Code Documentation",
|
||
"intro": [
|
||
"This course will present more expressions related to code documentation and bring tips on how to understand it."
|
||
]
|
||
},
|
||
"en-a2-quiz-read-understand-code-documentation": {
|
||
"title": "Understanding Code Documentation Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-analyze-code-documentation": {
|
||
"title": "Learn How to Analyze Code Documentation",
|
||
"intro": [
|
||
"In this course, you will see some ideas to help you to approach documentation and analyze it in simple terms."
|
||
]
|
||
},
|
||
"en-a2-quiz-analyzing-documentation": {
|
||
"title": "Analyzing Code Documentation Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-share-progress-and-accomplishments": {
|
||
"title": "Learn How to Share Progress and Accomplishments",
|
||
"intro": [
|
||
"In this course, you will learn how to share your progress with coworkers and tell about what successes you've had in your projects."
|
||
]
|
||
},
|
||
"en-a2-quiz-discussing-progress-and-results": {
|
||
"title": "Sharing Progress and Achievements Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-talk-about-updates-and-plans-for-tasks-and-projects": {
|
||
"title": "Learn How to Talk about Updates and Plans for Tasks and Projects",
|
||
"intro": [
|
||
"This course will show you how to speak about the most recent advancements in your projects and about your plans."
|
||
]
|
||
},
|
||
"en-a2-quiz-task-project-updates-plans": {
|
||
"title": "Task and Project Updates Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-express-agreement-or-disagreement": {
|
||
"title": "Learn How to Express Agreement or Disagreement",
|
||
"intro": [
|
||
"This course will introduce how to say that you agree with what another person says and to tell them politely that you do not agree with them."
|
||
]
|
||
},
|
||
"en-a2-quiz-express-agreement-disagreement": {
|
||
"title": "Expressing Agreement and Disagreement Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-offer-technical-support-and-guidance": {
|
||
"title": "Learn How to Offer Technical Support and Guidance",
|
||
"intro": [
|
||
"In this course, you will see ways of offering some help in terms of technical specifics to another person."
|
||
]
|
||
},
|
||
"en-a2-quiz-following-best-practices": {
|
||
"title": "Offering Technical Support Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-request-and-receive-guidance": {
|
||
"title": "Learn How to Request and Receive Guidance",
|
||
"intro": [
|
||
"This course will show you how to ask for assistance from a coworker when you need it."
|
||
]
|
||
},
|
||
"en-a2-quiz-asking-for-help": {
|
||
"title": "Requesting and Receiving Guidance Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-provide-explanations-when-helping-others": {
|
||
"title": "Learn How to Provide Explanations When Helping Others",
|
||
"intro": [
|
||
"This course will provide you with ways to explain things to other people while assisting them."
|
||
]
|
||
},
|
||
"en-a2-quiz-giving-adivice-and-suggestions": {
|
||
"title": "Explaining Things to Others Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"en-a2-certification-exam": {
|
||
"title": "A2 English for Developers Certification Exam",
|
||
"intro": [
|
||
"This exam is required to claim the A2 English for Developers Certification."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"b1-english-for-developers": {
|
||
"title": "B1 English for Developers Certification (Beta)",
|
||
"intro": [
|
||
"In this English for Developers Curriculum, you'll learn the essentials of English communication. This will follow the B1 level of the Common European Framework of Reference (CEFR). And we've focused on vocabulary that is particularly useful for developers.",
|
||
"It will help you strengthen your foundational skills while introducing more complex grammar and usage. You'll learn how to describe places and things, share past experiences, and confidently use tenses like Present Perfect and Future. Practical communication strategies are included as well, such as managing conversations, expressing opinions, and building agreement or disagreement in discussions.",
|
||
"You'll also focus on applying these skills in professional and technical settings. You'll practice vocabulary and phrases essential for developers, such as describing code, participating in stand-up meetings, and discussing tech trends. Advanced topics include conditionals, comparative structures, and conversation management, so you can prepare for real-world interactions in the tech industry.",
|
||
"This entire B1-level curriculum includes 73 different dialogues. Each is designed to build your vocabulary and boost your confidence when speaking in a professional tech setting."
|
||
],
|
||
"blocks": {
|
||
"learn-how-to-describe-places-and-events": {
|
||
"title": "Learn How to Describe Places and Events",
|
||
"intro": [
|
||
"This course will show you ways of talking about places and events conversationally."
|
||
]
|
||
},
|
||
"en-b1-quiz-describe-places-events": {
|
||
"title": "Describing Places and Events Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-talk-about-past-experiences": {
|
||
"title": "Learn How to Talk About Past Experiences",
|
||
"intro": [
|
||
"In this course, you will learn how to share experiences that you had in the past."
|
||
]
|
||
},
|
||
"en-b1-quiz-past-experiences": {
|
||
"title": "Talking About Past Experiences Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-talk-about-past-activities": {
|
||
"title": "Learn How to Talk About Past Activities",
|
||
"intro": [
|
||
"In this course, you will learn how talk about things that you did."
|
||
]
|
||
},
|
||
"en-b1-quiz-past-activities": {
|
||
"title": "Talking About Past Activities Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-present-perfect-while-talking-about-accessibility": {
|
||
"title": "Learn Present Perfect while Talking About Accessibility",
|
||
"intro": [
|
||
"In this course, you will learn to use the Present Perfect structure and learn a bit more about accessibility."
|
||
]
|
||
},
|
||
"en-b1-quiz-present-perfect-accessibility": {
|
||
"title": "Present Perfect and Accessibility Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-plan-future-events": {
|
||
"title": "Learn How to Plan Future Events",
|
||
"intro": [
|
||
"In this course, you will learn to use the different forms of the future to plan for upcoming events."
|
||
]
|
||
},
|
||
"en-b1-quiz-plan-future-events": {
|
||
"title": "Planning Future Events Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-future-continuous-while-describing-actions": {
|
||
"title": "Learn Future Continuous while Describing Actions",
|
||
"intro": [
|
||
"In this course, you will learn to use the Future Continuous tense, and how to describe actions to be performed."
|
||
]
|
||
},
|
||
"en-b1-quiz-future-continuous-actions": {
|
||
"title": "Future Continuous Actions Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-use-conditionals": {
|
||
"title": "Learn How to Use Conditionals",
|
||
"intro": [
|
||
"In this course, you will learn to use the conditional sentences to describe hypothetical outcomes depending on the fact that certain conditions are met."
|
||
]
|
||
},
|
||
"en-b1-quiz-conditionals": {
|
||
"title": "Using Conditionals Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-share-feedback": {
|
||
"title": "Learn How to Share Feedback",
|
||
"intro": [
|
||
"In this course, you will see ways of telling other people how you feel about their work, highlighting both their strengths and points for improvement."
|
||
]
|
||
},
|
||
"en-b1-quiz-share-feedback": {
|
||
"title": "Sharing Feedback Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-share-your-opinion": {
|
||
"title": "Learn How to Share Your Opinion",
|
||
"intro": [
|
||
"This course will show you how to express your ideas and feeling towards topics in a discussion."
|
||
]
|
||
},
|
||
"en-b1-quiz-share-opinions": {
|
||
"title": "Sharing Opinions Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-express-agreement": {
|
||
"title": "Learn How to Express Agreement",
|
||
"intro": [
|
||
"In this course, you will learn to express agreement in different professional settings."
|
||
]
|
||
},
|
||
"en-b1-quiz-express-agreement": {
|
||
"title": "Expressing Agreement Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-express-disagreement": {
|
||
"title": "Learn How to Express Disagreement",
|
||
"intro": [
|
||
"In this course, you will learn to express disagreement in different professional settings."
|
||
]
|
||
},
|
||
"en-b1-quiz-express-disagreement": {
|
||
"title": "Expressing Disagreement Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-express-concerns": {
|
||
"title": "Learn How to Express Concerns",
|
||
"intro": [
|
||
"In this course, you will learn to inform other people that you are worried about things that might happen to your projects and tasks."
|
||
]
|
||
},
|
||
"en-b1-quiz-express-concerns": {
|
||
"title": "Expressing Concerns Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-express-decisions-based-on-comparisons": {
|
||
"title": "Learn How to Express Decisions Based on Comparisons",
|
||
"intro": [
|
||
"In this course, you will learn how to compare things like tools or companies using words like better, faster, and the best. You will also practice having friendly conversations to give opinions and make decisions"
|
||
]
|
||
},
|
||
"en-b1-quiz-decisions-comparisons": {
|
||
"title": "Making Decisions with Comparisons Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-use-modal-verbs": {
|
||
"title": "Learn How to Use Modal Verbs",
|
||
"intro": [
|
||
"In this course, you will learn how to talk about rules, describe things that are necessary, and what could happen if they aren't. You'll also practice asking and answering questions clearly, and adding helpful details to your ideas."
|
||
]
|
||
},
|
||
"en-b1-quiz-modal-verbs": {
|
||
"title": "Using Modal Verbs Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-manage-a-conversation": {
|
||
"title": "Learn How to Manage a Conversation",
|
||
"intro": [
|
||
"In this course, you will learn how to manage conversations at work — like how to continue a talk after a break, change topics politely, or interrupt when needed. You'll also practice using useful expressions to keep the conversation clear, friendly, and organized."
|
||
]
|
||
},
|
||
"en-b1-quiz-manage-conversations": {
|
||
"title": "Managing Conversations Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-clarify-misunderstandings": {
|
||
"title": "Learn How to Clarify Misunderstandings",
|
||
"intro": [
|
||
"In this course, you will learn how to ask for and give explanations when something is not clear, using polite questions and helpful responses. You'll also practice guessing the meaning of new words, describing problems, and clearing up misunderstandings in a friendly and professional way."
|
||
]
|
||
},
|
||
"en-b1-quiz-clarify-misunderstandings": {
|
||
"title": "Clarifying Misunderstandings Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-about-speculation-and-requests": {
|
||
"title": "Learn About Speculation and Requests",
|
||
"intro": [
|
||
"In this course, you will learn how to talk about things that should or could have happened in the past, and how to give suggestions or make polite requests. You'll also practice using expressions to guess what might have caused a problem and how to work together to solve it in a clear and respectful way."
|
||
]
|
||
},
|
||
"en-b1-quiz-speculation-requests": {
|
||
"title": "Speculation and Requests Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-about-adverbial-phrases": {
|
||
"title": "Learn About Adverbial Phrases",
|
||
"intro": [
|
||
"In this course, you will learn how to use phrases that give more information about when, where, how often, or how much something happens. You'll also practice using these phrases to describe tasks, talk about plans, and explain results more clearly in your daily work."
|
||
]
|
||
},
|
||
"en-b1-quiz-adverbial-phrases": {
|
||
"title": "Adverbial Phrases Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-use-adjectives-in-conversations": {
|
||
"title": "Learn How to Use Adjectives in Conversations",
|
||
"intro": [
|
||
"In this course, you will learn how to use adjectives to describe things clearly, compare options, and highlight important details in professional conversations. You'll also practice how to make your ideas stronger and more persuasive."
|
||
]
|
||
},
|
||
"en-b1-quiz-adjectives-conversations": {
|
||
"title": "Using Adjectives in Conversations Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-determiners-and-advanced-use-of-articles": {
|
||
"title": "Learn Determiners and Advanced Use of Articles",
|
||
"intro": [
|
||
"In this course, you will learn how to use determiners to give clear information about quantity, choice, and distribution. You will also practice using articles in more advanced ways, especially in professional conversations about planning, tasks, and resources."
|
||
]
|
||
},
|
||
"en-b1-quiz-determiners-articles": {
|
||
"title": "Determiners and Articles Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-use-reported-speech": {
|
||
"title": "Learn How to Use Reported Speech",
|
||
"intro": [
|
||
"In this course, you will learn how to report what someone else said in a clear and natural way. You will also practice using the correct verb tenses and sentence structures to share feedback, explain situations, and talk about past events in professional conversations."
|
||
]
|
||
},
|
||
"en-b1-quiz-reported-speech": {
|
||
"title": "Using Reported Speech Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-use-prepositions-according-to-context": {
|
||
"title": "Learn How to Use Prepositions According to Context",
|
||
"intro": [
|
||
"In this course, you will learn how to use prepositions to describe time, place, and direction clearly in everyday work situations. You will also practice talking about schedules, giving directions, and explaining where people or things are located using natural and accurate language."
|
||
]
|
||
},
|
||
"en-b1-quiz-prepositions-context": {
|
||
"title": "Using Prepositions by Context Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-talk-about-numbers-with-a-coworker": {
|
||
"title": "Learn How to Talk About Numbers with a Coworker",
|
||
"intro": [
|
||
"In this course, you will learn how to use numbers to talk about tasks, schedules, budgets, and resources in the workplace. You will practice using cardinal and ordinal numbers, percentages, and fractions to organize work, explain progress, and share inventory or financial updates clearly with your team."
|
||
]
|
||
},
|
||
"en-b1-quiz-numbers-at-work": {
|
||
"title": "Talking About Numbers at Work Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-common-phrasal-verbs-and-idioms": {
|
||
"title": "Learn Common Phrasal Verbs and Idioms",
|
||
"intro": [
|
||
"In this course, you will learn how to use common phrasal verbs and idioms to sound more natural and confident at work. You will practice using expressions to give opinions, make suggestions, organize meetings, and talk about tasks in everyday professional conversations."
|
||
]
|
||
},
|
||
"en-b1-quiz-phrasal-verbs-idioms": {
|
||
"title": "Phrasal Verbs and Idioms Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"en-b1-certification-exam": {
|
||
"title": "B1 English for Developers Certification Exam",
|
||
"intro": [
|
||
"This exam is required to claim the B1 English for Developers Certification."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"rosetta-code": {
|
||
"title": "Rosetta Code",
|
||
"intro": [
|
||
"Level up your creative problem solving skills with these free programming tasks from the classic Rosetta Code library.",
|
||
"These challenges can prove to be difficult, but they will push your algorithm logic to new heights.",
|
||
"<a href='https://rosettacode.org/wiki/Rosetta_Code' target='_blank' rel='noopener noreferrer nofollow'>Attribute: Rosetta Code</a>"
|
||
],
|
||
"blocks": {
|
||
"rosetta-code-challenges": {
|
||
"title": "Rosetta Code Challenges",
|
||
"intro": [
|
||
"These are the challenges for Rosetta Code.",
|
||
"NOTE: These challenges support JavaScript only solutions."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"javascript-v9": {
|
||
"title": "JavaScript Certification",
|
||
"intro": [
|
||
"This course teaches you core JavaScript programming concepts such as working with variables, functions, objects, arrays, and control flow. You'll also learn how to manipulate the DOM, handle events, and apply techniques like asynchronous programming, functional programming, and accessibility best practices.",
|
||
"To earn your JavaScript Certification:",
|
||
"- Complete the five required projects to qualify for the certification exam.",
|
||
"- Pass the JavaScript Certification exam."
|
||
],
|
||
"chapters": {
|
||
"javascript": "JavaScript",
|
||
"javascript-certification-exam": "JavaScript Certification Exam"
|
||
},
|
||
"modules": {
|
||
"javascript-variables-and-strings": "Variables and Strings",
|
||
"javascript-booleans-and-numbers": "Booleans and Numbers",
|
||
"javascript-functions": "Functions",
|
||
"javascript-arrays": "Arrays",
|
||
"javascript-objects": "Objects",
|
||
"javascript-loops": "Loops",
|
||
"review-javascript-fundamentals": "JavaScript Fundamentals Review",
|
||
"higher-order-functions-and-callbacks": "Higher Order Functions and Callbacks",
|
||
"dom-manipulation-and-events": "DOM Manipulation and Events",
|
||
"js-a11y": "JavaScript and Accessibility",
|
||
"debugging-javascript": "Debugging",
|
||
"basic-regex": "Basic Regex",
|
||
"lab-markdown-to-html-converter": "Build a Markdown to HTML Converter",
|
||
"form-validation": "Form Validation",
|
||
"javascript-dates": "Dates",
|
||
"audio-and-video-events": "Audio and Video Events",
|
||
"lab-drum-machine": "Build a Drum Machine",
|
||
"maps-and-sets": "Maps and Sets",
|
||
"lab-voting-system": "Build a Voting System",
|
||
"localstorage-and-crud-operations": "localStorage and CRUD Operations",
|
||
"classes-and-the-this-keyword": "Classes",
|
||
"lab-bank-account-manager": "Build a Bank Account Management Program",
|
||
"recursion": "Recursion",
|
||
"data-structures": "Data Structures",
|
||
"algorithms": "Algorithms",
|
||
"graphs-and-trees": "Graphs and Trees",
|
||
"dynamic-programming": "Dynamic Programming",
|
||
"functional-programming": "Functional Programming",
|
||
"asynchronous-javascript": "Asynchronous JavaScript",
|
||
"lab-weather-app": "Build a Weather App",
|
||
"review-javascript": "JavaScript Review",
|
||
"javascript-certification-exam": "JavaScript Certification Exam"
|
||
},
|
||
"module-intros": {
|
||
"data-structures": {
|
||
"note": "Coming Spring 2026",
|
||
"intro": [
|
||
"In this module, you will learn about linked lists, stacks, queues and more."
|
||
]
|
||
},
|
||
"algorithms": {
|
||
"note": "Coming Spring 2026",
|
||
"intro": [
|
||
"In this module, you will learn about common sorting and searching algorithms including bubble sort, binary search and more."
|
||
]
|
||
},
|
||
"graphs-and-trees": {
|
||
"note": "Coming Spring 2026",
|
||
"intro": [
|
||
"In this module, you will learn about graphs, trees and tries."
|
||
]
|
||
},
|
||
"dynamic-programming": {
|
||
"note": "Coming Spring 2026",
|
||
"intro": [
|
||
"In this module, you will learn how dynamic programming works."
|
||
]
|
||
}
|
||
},
|
||
"blocks": {
|
||
"lecture-introduction-to-javascript": {
|
||
"title": "Introduction to JavaScript",
|
||
"intro": [
|
||
"In these lectures, you will learn the fundamentals of JavaScript. Topics covered include, but are not limited to, variables, data types, how JavaScript interacts with HTML and CSS, strings, and much more."
|
||
]
|
||
},
|
||
"lecture-introduction-to-strings": {
|
||
"title": "Introduction to Strings",
|
||
"intro": [
|
||
"In these lessons, you will learn how to work with strings and string concatenation."
|
||
]
|
||
},
|
||
"lecture-understanding-code-clarity": {
|
||
"title": "Understanding Code Clarity",
|
||
"intro": [
|
||
"In these lessons, you will learn about comments in JavaScript and the role of semicolons in programming."
|
||
]
|
||
},
|
||
"workshop-greeting-bot": {
|
||
"title": "Build a Greeting Bot",
|
||
"intro": [
|
||
"In this workshop, you will learn JavaScript fundamentals by building a greeting bot.",
|
||
"You will learn about variables, <code>let</code>, <code>const</code>, <code>console.log</code> and basic string usage."
|
||
]
|
||
},
|
||
"lab-javascript-trivia-bot": {
|
||
"title": "Build a JavaScript Trivia Bot",
|
||
"intro": [
|
||
"In this lab, you'll practice working with JavaScript variables and strings by building a trivia bot."
|
||
]
|
||
},
|
||
"lab-sentence-maker": {
|
||
"title": "Build a Sentence Maker",
|
||
"intro": [
|
||
"In this lab, you will continue practicing with strings and concatenation by creating and customizing various stories."
|
||
]
|
||
},
|
||
"lecture-working-with-data-types": {
|
||
"title": "Working with Data Types",
|
||
"intro": [
|
||
"In the following lectures, you will learn how to work with data types in JavaScript. You will also learn how dynamic typing differs from static typing, the <code>typeof</code> operator, and the <code>typeof null</code> bug."
|
||
]
|
||
},
|
||
"review-javascript-variables-and-data-types": {
|
||
"title": "JavaScript Variables and Data Types Review",
|
||
"intro": [
|
||
"Before you are quizzed on JavaScript variables and data types you first need to review the concepts.",
|
||
"Open up this page to review variables, data types, logging and commenting."
|
||
]
|
||
},
|
||
"quiz-javascript-variables-and-data-types": {
|
||
"title": "JavaScript Variables and Data Types Quiz",
|
||
"intro": [
|
||
"Test your knowledge of JavaScript variables and data types with this quiz."
|
||
]
|
||
},
|
||
"lecture-working-with-strings-in-javascript": {
|
||
"title": "Working with Strings in JavaScript",
|
||
"intro": [
|
||
"In these lectures, you will learn how to work with strings in JavaScript. You will learn how to access characters from a string, how to use template literals and interpolation, how to create a new line in strings, and much more."
|
||
]
|
||
},
|
||
"workshop-teacher-chatbot": {
|
||
"title": "Build a Teacher Chatbot",
|
||
"intro": [
|
||
"In this workshop, you will continue to learn more about JavaScript strings by building a chatbot.",
|
||
"You will learn how to work with template literals, and the <code>indexOf</code> method."
|
||
]
|
||
},
|
||
"lecture-working-with-string-character-methods": {
|
||
"title": "Working with String Character Methods",
|
||
"intro": [
|
||
"In this lecture you will learn about ASCII character encoding and how to use JavaScript's <code>charCodeAt()</code> and <code>fromCharCode()</code> methods to convert between characters and their numerical ASCII values."
|
||
]
|
||
},
|
||
"lecture-working-with-string-search-and-slice-methods": {
|
||
"title": "Working with String Search and Slice Methods",
|
||
"intro": [
|
||
"In this lecture you will learn how to search for substrings using the <code>includes()</code> method and how to extract portions of strings using the <code>slice()</code> method."
|
||
]
|
||
},
|
||
"workshop-string-inspector": {
|
||
"title": "Build a String Inspector",
|
||
"intro": [
|
||
"In this workshop, you will practice working with the <code>includes()</code> and <code>slice()</code> methods by building a string inspector."
|
||
]
|
||
},
|
||
"lecture-working-with-string-formatting-methods": {
|
||
"title": "Working with String Formatting Methods",
|
||
"intro": [
|
||
"In this lecture you will learn how to format strings by changing their case using <code>toUpperCase()</code> and <code>toLowerCase()</code> methods, and how to remove whitespace using <code>trim()</code>, <code>trimStart()</code>, and <code>trimEnd()</code> methods."
|
||
]
|
||
},
|
||
"workshop-string-formatter": {
|
||
"title": "Build a String Formatter",
|
||
"intro": [
|
||
"In this workshop, you will practice working with various string methods including <code>trim()</code>, <code>toUpperCase()</code> and <code>toLowerCase()</code>."
|
||
]
|
||
},
|
||
"lecture-working-with-string-modification-methods": {
|
||
"title": "Working with String Modification Methods",
|
||
"intro": [
|
||
"In this lecture you will learn how to modify strings by replacing parts of them using the <code>replace()</code> method and how to repeat strings multiple times using the <code>repeat()</code> method."
|
||
]
|
||
},
|
||
"workshop-string-transformer": {
|
||
"title": "Build a String Transformer",
|
||
"intro": [
|
||
"In this workshop, you will practice working with the <code>replace()</code>, <code>replaceAll()</code> and <code>repeat()</code> methods."
|
||
]
|
||
},
|
||
"review-javascript-strings": {
|
||
"title": "JavaScript Strings Review",
|
||
"intro": [
|
||
"Before you are quizzed on working with JavaScript strings, you first need to review.",
|
||
"Open up this page to review how to work with template literals, the <code>slice</code> method, the <code>includes</code> method, the <code>trim</code> method and more."
|
||
]
|
||
},
|
||
"quiz-javascript-strings": {
|
||
"title": "JavaScript Strings Quiz",
|
||
"intro": ["Test your knowledge of JavaScript strings with this quiz."]
|
||
},
|
||
"lecture-working-with-numbers-and-arithmetic-operators": {
|
||
"title": "Working with Numbers and Arithmetic Operators",
|
||
"intro": [
|
||
"In these lectures you will learn about the number type, arithmetic operators, and using them with numbers and strings."
|
||
]
|
||
},
|
||
"lab-debug-type-coercion-errors": {
|
||
"title": "Debug Type Coercion Errors in a Buggy App",
|
||
"intro": [
|
||
"In this lab, you will be working with a buggy app that contains several type coercion errors.",
|
||
"Your task is to identify and fix these errors to ensure the app functions correctly."
|
||
]
|
||
},
|
||
"lecture-working-with-operator-behavior": {
|
||
"title": "Working with Operator Behavior",
|
||
"intro": [
|
||
"In these lectures you will learn about operator precedence, the increment and decrement operators, and compound assignment operators."
|
||
]
|
||
},
|
||
"lab-debug-increment-and-decrement-operator-errors": {
|
||
"title": "Debug Increment and Decrement Operator Errors in a Buggy App",
|
||
"intro": [
|
||
"In this lab, you'll debug an app that has several errors related to the increment and decrement operators.",
|
||
"Your task is to identify and fix the errors so that the app works as intended."
|
||
]
|
||
},
|
||
"lecture-working-with-comparison-and-boolean-operators": {
|
||
"title": "Working with Comparison and Boolean Operators",
|
||
"intro": [
|
||
"In these lectures you will learn about booleans, and equality and inequality operators, and other comparison operators."
|
||
]
|
||
},
|
||
"workshop-logic-checker-app": {
|
||
"title": "Build a Logic Checker App",
|
||
"intro": [
|
||
"In this workshop, you'll practice working with conditional statements and comparison operators by building a logic checker app."
|
||
]
|
||
},
|
||
"lecture-working-with-unary-and-bitwise-operators": {
|
||
"title": "Working with Unary and Bitwise Operators",
|
||
"intro": [
|
||
"In these lectures, you will learn about unary and bitwise operators."
|
||
]
|
||
},
|
||
"lecture-working-with-conditional-logic-and-math-methods": {
|
||
"title": "Working with Conditional Logic and Math Methods",
|
||
"intro": [
|
||
"In these lectures, you will learn about conditional statements, binary logical operators, and the <code>Math</code> object."
|
||
]
|
||
},
|
||
"workshop-mathbot": {
|
||
"title": "Build a Mathbot",
|
||
"intro": [
|
||
"In this workshop, you will review how to work with the different Math object methods by building a Mathbot."
|
||
]
|
||
},
|
||
"lab-fortune-teller": {
|
||
"title": "Build a Fortune Teller",
|
||
"intro": [
|
||
"In this lab, you'll build a fortune teller by randomly selecting a fortune from the available fortunes.",
|
||
"You'll practice how to work with the <code>Math.random()</code> method and the <code>Math.floor()</code> method to generate random numbers."
|
||
]
|
||
},
|
||
"lecture-working-with-numbers-and-common-number-methods": {
|
||
"title": "Working with Numbers and Common Number Methods",
|
||
"intro": [
|
||
"In these lectures, you will learn about numbers and common number methods. These include <code>isNaN()</code>, <code>parseInt()</code>, <code>parseFloat()</code>, and <code>toFixed()</code>."
|
||
]
|
||
},
|
||
"review-javascript-math": {
|
||
"title": "JavaScript Math Review",
|
||
"intro": [
|
||
"Before you're quizzed on working with the <code>Math</code> object, you should review what you've learned.",
|
||
"Open up this page to review how to work with the <code>Math.random()</code> method, the <code>Math.floor()</code> method and more."
|
||
]
|
||
},
|
||
"quiz-javascript-math": {
|
||
"title": "JavaScript Math Quiz",
|
||
"intro": [
|
||
"Test your knowledge of the JavaScript <code>Math</code> object with this quiz."
|
||
]
|
||
},
|
||
"lecture-understanding-comparisons-and-conditionals": {
|
||
"title": "Understanding Comparisons and Conditionals",
|
||
"intro": [
|
||
"In these lectures, you will learn about comparison operators and conditionals. You will learn how the various conditionals differ from one another, and how comparisons work with <code>null</code> and <code>undefined</code>."
|
||
]
|
||
},
|
||
"review-javascript-comparisons-and-conditionals": {
|
||
"title": "JavaScript Comparisons and Conditionals Review",
|
||
"intro": [
|
||
"Before you're quizzed on working with conditionals, you should review what you've learned about them.",
|
||
"Open up this page to review how to work with <code>switch</code> statements, other types of conditionals and more."
|
||
]
|
||
},
|
||
"quiz-javascript-comparisons-and-conditionals": {
|
||
"title": "JavaScript Comparisons and Conditionals Quiz",
|
||
"intro": [
|
||
"Test your knowledge of JavaScript Comparisons and Conditionals with this quiz."
|
||
]
|
||
},
|
||
"lecture-working-with-functions": {
|
||
"title": "Working with Functions",
|
||
"intro": [
|
||
"In these lectures, you will learn how to reuse a block of code with functions. You will learn what the purpose of a function is and how they work, and how scope works in programming. "
|
||
]
|
||
},
|
||
"workshop-calculator": {
|
||
"title": "Build a Calculator",
|
||
"intro": [
|
||
"In this workshop, you will review your knowledge of functions by building a calculator."
|
||
]
|
||
},
|
||
"lab-boolean-check": {
|
||
"title": "Build a Boolean Check Function",
|
||
"intro": [
|
||
"In this lab, you'll implement a function that checks if a value is a boolean."
|
||
]
|
||
},
|
||
"lab-email-masker": {
|
||
"title": "Build an Email Masker",
|
||
"intro": [
|
||
"In this lab, you'll build an email masker that will take an email address and obscure it.",
|
||
"You'll practice string slicing, concatenation, and using functions."
|
||
]
|
||
},
|
||
"workshop-loan-qualification-checker": {
|
||
"title": "Build a Loan Qualification Checker",
|
||
"intro": [
|
||
"In this workshop, you will continue to learn how to work with conditionals by building a loan qualification checker app.",
|
||
"You will learn more about <code>if</code> statements, and how to use comparison operators and multiple conditions in an <code>if</code> statement."
|
||
]
|
||
},
|
||
"lab-celsius-to-fahrenheit-converter": {
|
||
"title": "Build a Celsius to Fahrenheit Converter",
|
||
"intro": [
|
||
"In this lab you will implement a function that converts the temperature from Celsius to Fahrenheit."
|
||
]
|
||
},
|
||
"lab-counting-cards": {
|
||
"title": "Build a Card Counting Assistant",
|
||
"intro": ["In this lab you will use JavaScript to count dealt cards."]
|
||
},
|
||
"lab-leap-year-calculator": {
|
||
"title": "Build a Leap Year Calculator ",
|
||
"intro": [
|
||
"In this lab you'll use conditional statements and loops to determine if a year is a leap year."
|
||
]
|
||
},
|
||
"lab-truncate-string": {
|
||
"title": "Implement the Truncate String Algorithm",
|
||
"intro": [
|
||
"In this lab, you will practice truncating a string at a certain length."
|
||
]
|
||
},
|
||
"lab-string-ending-checker": {
|
||
"title": "Build a Confirm the Ending Tool",
|
||
"intro": [
|
||
"In this lab, you will implement a function that checks if a given string ends with a specified target string."
|
||
]
|
||
},
|
||
"review-javascript-functions": {
|
||
"title": "JavaScript Functions Review",
|
||
"intro": [
|
||
"Before you're quizzed on JavaScript functions, you should review what you've learned about them.",
|
||
"Open up this page to review functions, arrow functions and scope."
|
||
]
|
||
},
|
||
"quiz-javascript-functions": {
|
||
"title": "JavaScript Functions Quiz",
|
||
"intro": ["Test your knowledge of JavaScript functions with this quiz."]
|
||
},
|
||
"lecture-working-with-arrays": {
|
||
"title": "Working with Arrays",
|
||
"intro": [
|
||
"In these lectures, you will learn how to work with JavaScript arrays. You will learn about what makes an array, one-dimensional and two-dimensional arrays, how to access and update the elements in an array, and much more."
|
||
]
|
||
},
|
||
"workshop-shopping-list": {
|
||
"title": "Build a Shopping List",
|
||
"intro": [
|
||
"In this workshop, you will practice how to work with arrays by building a shopping list.",
|
||
"You will review how to add and remove elements from an array using methods like <code>push</code>, <code>pop</code>, <code>shift</code>, and <code>unshift</code>."
|
||
]
|
||
},
|
||
"lab-lunch-picker-program": {
|
||
"title": "Build a Lunch Picker Program",
|
||
"intro": [
|
||
"In this lab, you'll review working with arrays and random numbers by building a lunch picker program."
|
||
]
|
||
},
|
||
"lab-golf-score-translator": {
|
||
"title": "Build a Golf Score Translator",
|
||
"intro": [
|
||
"For this lab, you will use array methods to translate golf scores into their nickname."
|
||
]
|
||
},
|
||
"lecture-working-with-common-array-methods": {
|
||
"title": "Working with Common Array Methods",
|
||
"intro": [
|
||
"In these lectures, you will learn about the array methods for performing more advanced operations like getting the position of an item in an array, checking if an array contains a certain element, copying an array, and lots more."
|
||
]
|
||
},
|
||
"review-javascript-arrays": {
|
||
"title": "JavaScript Arrays Review",
|
||
"intro": [
|
||
"Before you're quizzed on JavaScript arrays, you should review what you've learned about them.",
|
||
"Open up this page to review concepts like array destructuring, how to add and remove elements from an array, and more."
|
||
]
|
||
},
|
||
"quiz-javascript-arrays": {
|
||
"title": "JavaScript Arrays Quiz",
|
||
"intro": ["Test your knowledge of JavaScript arrays with this quiz."]
|
||
},
|
||
"lecture-introduction-to-javascript-objects-and-their-properties": {
|
||
"title": "Introduction to JavaScript Objects and Their Properties",
|
||
"intro": [
|
||
"In these lectures, you will learn the fundamentals of JavaScript objects, including how to create them, access their properties, and understand the difference between primitive and non-primitive data types."
|
||
]
|
||
},
|
||
"workshop-wildlife-tracker": {
|
||
"title": "Build a Wildlife Tracker",
|
||
"intro": [
|
||
"In this workshop, you will build a simple Wildlife Tracker using JavaScript objects.",
|
||
"You will practice creating objects, accessing and updating properties, removing properties, checking for property existence, and working with bracket notation."
|
||
]
|
||
},
|
||
"lab-cargo-manifest-validator": {
|
||
"title": "Build a Cargo Manifest Validator",
|
||
"intro": [
|
||
"In this lab, you will use JavaScript to normalize and validate cargo manifests."
|
||
]
|
||
},
|
||
"lecture-working-with-json": {
|
||
"title": "Working with JSON",
|
||
"intro": [
|
||
"In these lectures, you will learn about JavaScript Object Notation (JSON), including how to access JSON data and use the <code>JSON.parse()</code> and <code>JSON.stringify()</code> methods."
|
||
]
|
||
},
|
||
"lecture-working-with-optional-chaining-and-object-destructuring": {
|
||
"title": "Working with Optional Chaining and Object Destructuring",
|
||
"intro": [
|
||
"In these lectures, you will learn about advanced object manipulation techniques in JavaScript, including the optional chaining operator and object destructuring syntax."
|
||
]
|
||
},
|
||
"workshop-recipe-tracker": {
|
||
"title": "Build a Recipe Tracker",
|
||
"intro": [
|
||
"In this workshop, you will review working with JavaScript objects by building a recipe tracker."
|
||
]
|
||
},
|
||
"lab-quiz-game": {
|
||
"title": "Build a Quiz Game",
|
||
"intro": [
|
||
"In this lab, you'll build a quiz game using JavaScript arrays and objects.",
|
||
"You'll also practice using functions to randomly select a question and an answer from an array and compare them."
|
||
]
|
||
},
|
||
"lab-record-collection": {
|
||
"title": "Build a Record Collection",
|
||
"intro": [
|
||
"In this lab you will build a function to manage a record collection."
|
||
]
|
||
},
|
||
"review-javascript-objects": {
|
||
"title": "JavaScript Objects Review",
|
||
"intro": [
|
||
"Before you're quizzed on JavaScript objects, you should review what you've learned about them.",
|
||
"Open up this page to review concepts including how to access information from objects, object destructuring, working with JSON, and more."
|
||
]
|
||
},
|
||
"quiz-javascript-objects": {
|
||
"title": "JavaScript Objects Quiz",
|
||
"intro": ["Test your knowledge of JavaScript objects with this quiz."]
|
||
},
|
||
"lecture-working-with-loops": {
|
||
"title": "Working with Loops",
|
||
"intro": [
|
||
"Loops are an essential part of JavaScript. That's why the following lectures have been prepared for you to learn about the different types of loops and how they work, and also how iteration works."
|
||
]
|
||
},
|
||
"workshop-word-counter": {
|
||
"title": "Build a Word Counter",
|
||
"intro": [
|
||
"In this workshop, you will practice using <code>for...of</code> loops by building a function that counts the occurrences of a string in an array of strings."
|
||
]
|
||
},
|
||
"workshop-sentence-analyzer": {
|
||
"title": "Build a Sentence Analyzer",
|
||
"intro": [
|
||
"In this workshop, you'll review how to work with JavaScript loops by building a sentence analyzer app."
|
||
]
|
||
},
|
||
"workshop-space-mission-roster": {
|
||
"title": "Build a Space Mission Roster",
|
||
"intro": [
|
||
"In this workshop, you'll leverage JavaScript loops to build a space mission roster."
|
||
]
|
||
},
|
||
"workshop-heritage-library-catalog": {
|
||
"title": "Build a Heritage Library Catalog",
|
||
"intro": [
|
||
"In this workshop, you will digitize historical catalog cards for a heritage library.",
|
||
"You will practice using loops, objects, and string methods to parse raw text data, search and group entries, render formatted output, and export to JSON and CSV."
|
||
]
|
||
},
|
||
"lab-longest-word-in-a-string": {
|
||
"title": "Build a Longest Word Finder App",
|
||
"intro": [
|
||
"In this lab, you will use JavaScript loops to find the length of the longest word in the given sentence."
|
||
]
|
||
},
|
||
"lab-factorial-calculator": {
|
||
"title": "Build a Factorial Calculator ",
|
||
"intro": [
|
||
"In this lab, you'll build a factorial calculator.",
|
||
"You'll practice using loops and conditionals to calculate the factorial of a number."
|
||
]
|
||
},
|
||
"lab-mutations": {
|
||
"title": "Implement the Mutations Algorithm",
|
||
"intro": [
|
||
"In this lab, you will practice iterating over two different strings to compare their characters."
|
||
]
|
||
},
|
||
"lab-chunky-monkey": {
|
||
"title": "Implement the Chunky Monkey Algorithm",
|
||
"intro": [
|
||
"In this lab, you will practice dividing an array into smaller arrays with the technique of your choice."
|
||
]
|
||
},
|
||
"lab-profile-lookup": {
|
||
"title": "Build a Profile Lookup",
|
||
"intro": [
|
||
"In this lab, you'll create a function that looks up profile information."
|
||
]
|
||
},
|
||
"lab-repeat-a-string": {
|
||
"title": "Build a String Repeating Function",
|
||
"intro": [
|
||
"In this lab, you will implement loops to repeat a string a specified number of times."
|
||
]
|
||
},
|
||
"workshop-festival-crowd-flow-simulator": {
|
||
"title": "Build a Festival Crowd Flow Simulator",
|
||
"intro": [
|
||
"In this workshop, you will use JavaScript to simulate the flow of attendants at a music festival."
|
||
]
|
||
},
|
||
"lab-missing-letter-detector": {
|
||
"title": "Build a Missing Letter Detector",
|
||
"intro": [
|
||
"In this lab, you will build a function that finds the missing letter in a given range of consecutive letters and returns it."
|
||
]
|
||
},
|
||
"review-javascript-loops": {
|
||
"title": "JavaScript Loops Review",
|
||
"intro": [
|
||
"Before you're quizzed on the different JavaScript loops, you should review them.",
|
||
"Open up this page to review the <code>for...of</code> loop, <code>while</code> loop, <code>break and continue</code> statements and more."
|
||
]
|
||
},
|
||
"quiz-javascript-loops": {
|
||
"title": "JavaScript Loops Quiz",
|
||
"intro": ["Test your knowledge of JavaScript loops with this quiz."]
|
||
},
|
||
"lecture-working-with-types-and-objects": {
|
||
"title": "Working with Types and Objects",
|
||
"intro": [
|
||
"In these lectures you will learn about string objects, the <code>toString()</code> method, the <code>Number</code> constructor and more."
|
||
]
|
||
},
|
||
"lecture-working-with-arrays-variables-and-naming-practices": {
|
||
"title": "Working with Arrays, Variables, and Naming Practices",
|
||
"intro": [
|
||
"In these lectures you will learn about common practices for naming variables and functions, and how to work with arrays."
|
||
]
|
||
},
|
||
"lecture-working-with-code-quality-and-execution-concepts": {
|
||
"title": "Working with Code Quality and Execution Concepts",
|
||
"intro": [
|
||
"In these lectures you will learn what are linters and formatters, what is memory management, and closures."
|
||
]
|
||
},
|
||
"lab-reverse-a-string": {
|
||
"title": "Build a String Inverter",
|
||
"intro": [
|
||
"In this lab, you create a function that reverses a given string."
|
||
]
|
||
},
|
||
"lab-largest-number-finder": {
|
||
"title": "Build the Largest Number Finder",
|
||
"intro": [
|
||
"In this lab, you will use JavaScript fundamentals to create a function that finds the largest number in each sub-array of a given array."
|
||
]
|
||
},
|
||
"lab-first-element-finder": {
|
||
"title": "Build a First Element Finder",
|
||
"intro": [
|
||
"In this lab, you will create a function that looks through an array and returns the first element in it that passes a \"truth test\"."
|
||
]
|
||
},
|
||
"lab-slice-and-splice": {
|
||
"title": "Implement the Slice and Splice Algorithm",
|
||
"intro": [
|
||
"In this lab, you will practice merging an array with another."
|
||
]
|
||
},
|
||
"lab-pyramid-generator": {
|
||
"title": "Build a Pyramid Generator",
|
||
"intro": [
|
||
"In this lab you'll build a pyramid generator.",
|
||
"You'll take a number as input and generate a pyramid with that many levels using a loop."
|
||
]
|
||
},
|
||
"lab-gradebook-app": {
|
||
"title": "Build a Gradebook App",
|
||
"intro": [
|
||
"For this lab, you'll create a gradebook app.",
|
||
"You'll practice conditionals to determine the student's grade based on their score."
|
||
]
|
||
},
|
||
"lecture-the-var-keyword-and-hoisting": {
|
||
"title": "The var Keyword and Hoisting",
|
||
"intro": [
|
||
"In these lectures, you will learn about the <code>var</code> keyword and why it is not recommended for use anymore. You will also learn about hoisting in JavaScript so you can avoid subtle bugs in your code."
|
||
]
|
||
},
|
||
"lab-title-case-converter": {
|
||
"title": "Build a Title Case Converter",
|
||
"intro": [
|
||
"In this lab, you will build a function that converts a string to title case."
|
||
]
|
||
},
|
||
"lab-falsy-remover": {
|
||
"title": "Implement a Falsy Remover",
|
||
"intro": [
|
||
"In this lab, you will create a function that removes all falsy values from an array."
|
||
]
|
||
},
|
||
"lab-inventory-management-program": {
|
||
"title": "Build an Inventory Management Program",
|
||
"intro": [
|
||
"For this lab, you'll build an inventory management program using JavaScript.",
|
||
"You'll use JavaScript array of objects to manage the inventory."
|
||
]
|
||
},
|
||
"lecture-understanding-modules-imports-and-exports": {
|
||
"title": "Understanding Modules, Imports, and Exports",
|
||
"intro": [
|
||
"In this lecture, you will learn about modules, imports, and exports in JavaScript."
|
||
]
|
||
},
|
||
"lecture-working-with-the-arguments-object-and-rest-parameters": {
|
||
"title": "Working With the Arguments Object and Rest Parameters",
|
||
"intro": [
|
||
"In these lessons, you will learn how to work with the <code>arguments</code> object and rest parameter syntax."
|
||
]
|
||
},
|
||
"lab-unique-sorted-union": {
|
||
"title": "Implement a Unique Sorted Union",
|
||
"intro": [
|
||
"In this lab, you will create a function that takes two or more arrays and returns a new array of unique values in the order of the original provided arrays."
|
||
]
|
||
},
|
||
"lab-password-generator": {
|
||
"title": "Build a Password Generator App",
|
||
"intro": [
|
||
"In this lab, you'll build a password generator app based on the user's input."
|
||
]
|
||
},
|
||
"lab-sum-all-numbers-algorithm": {
|
||
"title": "Design a Sum All Numbers Algorithm",
|
||
"intro": [
|
||
"In this lab, you will design a sum all numbers algorithm. This algorithm takes an array of two numbers and returns the sum of those two numbers plus the sum of all the numbers between them."
|
||
]
|
||
},
|
||
"lab-dna-pair-generator": {
|
||
"title": "Implement a DNA Pair Generator",
|
||
"intro": [
|
||
"In this lab you will implement a DNA base pairing algorithm that converts a single DNA strand into complementary base pairs."
|
||
]
|
||
},
|
||
"lab-html-entitiy-converter": {
|
||
"title": "Implement an HTML Entity Converter",
|
||
"intro": [
|
||
"In this lab, you will convert special characters in a string to their corresponding HTML entities."
|
||
]
|
||
},
|
||
"lab-odd-fibonacci-sum-calculator": {
|
||
"title": "Build an Odd Fibonacci Sum Calculator",
|
||
"intro": [
|
||
"In this lab you will build an odd Fibonacci sum calculator that takes a number and returns the sum of all odd Fibonacci numbers that are less than or equal to that number."
|
||
]
|
||
},
|
||
"lab-element-skipper": {
|
||
"title": "Implement an Element Skipper",
|
||
"intro": [
|
||
"In this lab you will create a function that skips elements in an array based on a specified step value."
|
||
]
|
||
},
|
||
"lab-playlist-remix-engine": {
|
||
"title": "Build a Playlist Remix Engine",
|
||
"intro": [
|
||
"In this lab, you will build a Playlist Remix Engine using JavaScript arrays.",
|
||
"You will apply array methods and logic to transform data and generate a final remix schedule."
|
||
]
|
||
},
|
||
"review-javascript-fundamentals": {
|
||
"title": "JavaScript Fundamentals Review",
|
||
"intro": [
|
||
"Before you are quizzed on JavaScript fundamentals, you first need to review the concepts.",
|
||
"Open up this page to review concepts like closures, memory management, and more."
|
||
]
|
||
},
|
||
"quiz-javascript-fundamentals": {
|
||
"title": "JavaScript Fundamentals Quiz",
|
||
"intro": [
|
||
"Test your knowledge of JavaScript fundamentals with this quiz."
|
||
]
|
||
},
|
||
"lecture-working-with-higher-order-functions-and-callbacks": {
|
||
"title": "Working with Higher Order Functions and Callbacks",
|
||
"intro": [
|
||
"In these lectures, you will learn how to work with higher order functions and callbacks. The higher order functions you will learn include <code>map()</code>, <code>filter()</code>, <code>reduce()</code>, <code>sort()</code>, <code>every()</code>, and <code>some()</code>. You will also learn how to chain these methods together to achieve your desired results."
|
||
]
|
||
},
|
||
"workshop-library-manager": {
|
||
"title": "Build a Library Manager",
|
||
"intro": [
|
||
"In this workshop, you will learn higher order array methods by building a library manager."
|
||
]
|
||
},
|
||
"lab-book-organizer": {
|
||
"title": "Build a Book Organizer",
|
||
"intro": [
|
||
"In this lab, you'll build a book organizer using higher order functions in JavaScript."
|
||
]
|
||
},
|
||
"lab-sorted-index-finder": {
|
||
"title": "Implement a Sorted Index Finder",
|
||
"intro": [
|
||
"In this lab, you will create a function that finds the index at which a given number should be inserted into a sorted array to maintain the array's sorted order."
|
||
]
|
||
},
|
||
"lab-symmetric-difference": {
|
||
"title": "Build a Symmetric Difference Function",
|
||
"intro": [
|
||
"In this lab, you will practice using higher order functions to find the symmetric difference between two arrays."
|
||
]
|
||
},
|
||
"lab-value-remover-function": {
|
||
"title": "Implement a Value Remover Function",
|
||
"intro": [
|
||
"In this lab, you will create a function that removes all instances of a specified value from an array."
|
||
]
|
||
},
|
||
"lab-matching-object-filter": {
|
||
"title": "Implement a Matching Object Filter",
|
||
"intro": [
|
||
"In this lab, you will create a function that looks through an array of objects and returns an array of all objects that have matching property and value pairs."
|
||
]
|
||
},
|
||
"lab-prime-number-sum-calculator": {
|
||
"title": "Build a Prime Number Sum Calculator",
|
||
"intro": [
|
||
"In this lab you will build a prime number sum calculator that takes a number and returns the sum of all prime numbers that are less than or equal to that number."
|
||
]
|
||
},
|
||
"lab-range-based-lcm-calculator": {
|
||
"title": "Implement a Range-Based LCM Calculator",
|
||
"intro": [
|
||
"In this lab, you will create a function that takes an array of two numbers and returns the least common multiple (LCM) of those two numbers and all the numbers between them."
|
||
]
|
||
},
|
||
"lab-deep-flattening-tool": {
|
||
"title": "Create a Deep Flattening Tool",
|
||
"intro": [
|
||
"In this lab you will create a function that can flatten deeply nested arrays, handling any level of nesting without using built-in flat methods."
|
||
]
|
||
},
|
||
"lab-all-true-property-validator": {
|
||
"title": "Build an All-True Property Validator",
|
||
"intro": [
|
||
"In this lab you will build a function that checks if all objects in an array have a truthy value for a specific property."
|
||
]
|
||
},
|
||
"review-javascript-higher-order-functions": {
|
||
"title": "JavaScript Higher Order Functions Review",
|
||
"intro": [
|
||
"Before you're quizzed on JavaScript higher order functions, you should review them.",
|
||
"Open up this page to review concepts including how to work with the <code>map()</code>, <code>filter()</code>, and <code>reduce()</code> methods."
|
||
]
|
||
},
|
||
"quiz-javascript-higher-order-functions": {
|
||
"title": "JavaScript Higher Order Functions Quiz",
|
||
"intro": [
|
||
"Test what you've learned about JavaScript higher order functions with this quiz."
|
||
]
|
||
},
|
||
"lecture-working-with-the-dom-click-events-and-web-apis": {
|
||
"title": "Working with the DOM, Click Events, and Web APIs",
|
||
"intro": [
|
||
"In these lectures, you will learn how to work with the Document Object Model (DOM), the <code>addEventListener()</code> method and events, and web APIs."
|
||
]
|
||
},
|
||
"workshop-storytelling-app": {
|
||
"title": "Build a Storytelling App",
|
||
"intro": [
|
||
"In this workshop, you will build a storytelling app that will allow you to list different stories based on genre."
|
||
]
|
||
},
|
||
"workshop-emoji-reactor": {
|
||
"title": "Build an Emoji Reactor",
|
||
"intro": [
|
||
"In this workshop, you will build an emoji reactor to practice <code>querySelector</code> and <code>querySelectorAll</code>."
|
||
]
|
||
},
|
||
"lab-favorite-icon-toggler": {
|
||
"title": "Build a Favorite Icon Toggler",
|
||
"intro": [
|
||
"In this lab, you'll build a favorite icon toggler by utilizing JavaScript click events."
|
||
]
|
||
},
|
||
"lecture-understanding-the-event-object-and-event-delegation": {
|
||
"title": "Understanding the Event Object and Event Delegation",
|
||
"intro": [
|
||
"In these lectures, you will learn about the event object, the change event, event bubbling, and event delegation."
|
||
]
|
||
},
|
||
"workshop-music-instrument-filter": {
|
||
"title": "Build a Music Instrument Filter",
|
||
"intro": [
|
||
"In this workshop, you will build a music instrument filter with JavaScript."
|
||
]
|
||
},
|
||
"lab-real-time-counter": {
|
||
"title": "Build a Real Time Counter",
|
||
"intro": [
|
||
"In this lab, you'll build a real-time character counter",
|
||
"You'll practice how to work with the <code>input</code> event when the user types in the input field."
|
||
]
|
||
},
|
||
"lab-lightbox-viewer": {
|
||
"title": "Build a Lightbox Viewer",
|
||
"intro": [
|
||
"In this lab, you'll build a lightbox viewer for viewing images in a focused mode.",
|
||
"You'll practice click events and toggling classes."
|
||
]
|
||
},
|
||
"workshop-rps-game": {
|
||
"title": "Build a Rock, Paper, Scissors Game",
|
||
"intro": [
|
||
"In this workshop, you will review DOM manipulation and events by building a Rock, Paper, Scissors Game."
|
||
]
|
||
},
|
||
"lab-football-team-cards": {
|
||
"title": "Build a Set of Football Team Cards",
|
||
"intro": [
|
||
"In this lab, you'll use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards."
|
||
]
|
||
},
|
||
"review-dom-manipulation-and-click-events-with-javascript": {
|
||
"title": "DOM Manipulation and Click Events with JavaScript Review",
|
||
"intro": [
|
||
"Before you're quizzed on the DOM, you should review what you've learned about it.",
|
||
"Open up this page to review concepts including how to work with the <code>DOM</code>, <code>Web APIs</code>, the <code>addEventListener()</code> method, change events, event bubbling and more."
|
||
]
|
||
},
|
||
"quiz-dom-manipulation-and-click-event-with-javascript": {
|
||
"title": "DOM Manipulation and Click Events with JavaScript Quiz",
|
||
"intro": [
|
||
"Test your knowledge of DOM manipulation and click events in JavaScript with this quiz."
|
||
]
|
||
},
|
||
"lecture-understanding-aria-expanded-aria-live-and-common-aria-states": {
|
||
"title": "Understanding aria-expanded, aria-live, and Common ARIA States",
|
||
"intro": [
|
||
"In these lectures you will learn more about ARIA attributes like <code>aria-expanded</code>, <code>aria-live</code>, and common ARIA states."
|
||
]
|
||
},
|
||
"workshop-planets-tablist": {
|
||
"title": "Build a Planets Tablist",
|
||
"intro": [
|
||
"In this workshop, you will build a dynamic tabbed interface that showcases facts about the planets in the solar system."
|
||
]
|
||
},
|
||
"workshop-note-taking-app": {
|
||
"title": "Build a Note Taking App",
|
||
"intro": [
|
||
"In this workshop, you are going to build an accessible note taking app.",
|
||
"This will provide you with the opportunity to practice working with <code>aria-live</code> attribute."
|
||
]
|
||
},
|
||
"lab-theme-switcher": {
|
||
"title": "Build a Theme Switcher",
|
||
"intro": [
|
||
"In this lab, you will build a theme switcher and practice working with the <code>aria-haspopup</code>, <code>aria-expanded</code>, and <code>aria-controls</code> attributes."
|
||
]
|
||
},
|
||
"review-js-a11y": {
|
||
"title": "JavaScript and Accessibility Review",
|
||
"intro": [
|
||
"Before you're quizzed on JavaScript and accessibility, you should review what you've learned about it.",
|
||
"Open up this page to review concepts including how to work with the <code>aria-expanded</code>, <code>aria-live</code>, and <code>aria-controls</code> attributes."
|
||
]
|
||
},
|
||
"quiz-js-a11y": {
|
||
"title": "JavaScript and Accessibility Quiz",
|
||
"intro": [
|
||
"Test your knowledge of JavaScript and accessibility best practices with this quiz."
|
||
]
|
||
},
|
||
"lecture-debugging-techniques": {
|
||
"title": "Debugging Techniques",
|
||
"intro": [
|
||
"In these lectures, you will learn about the common errors in JavaScript and the techniques you can use to fix them – a process called debugging."
|
||
]
|
||
},
|
||
"lab-random-background-color-changer": {
|
||
"title": "Debug a Random Background Color Changer",
|
||
"intro": [
|
||
"In this lab, you'll debug a random background color changer and fix the errors to make it work properly."
|
||
]
|
||
},
|
||
"review-debugging-javascript": {
|
||
"title": "Debugging JavaScript Review",
|
||
"intro": [
|
||
"Before you're quizzed on common debugging techniques, you should review what you've learned.",
|
||
"Open up this page to review concepts including how to work with the <code>throw statement</code>, <code>try...catch...finally</code> and more."
|
||
]
|
||
},
|
||
"quiz-debugging-javascript": {
|
||
"title": "Debugging JavaScript Quiz",
|
||
"intro": ["Test your knowledge of JavaScript debugging with this quiz."]
|
||
},
|
||
"lecture-working-with-regular-expressions": {
|
||
"title": "Working with Regular Expressions",
|
||
"intro": [
|
||
"In these lectures, you will learn about regular expressions in JavaScript. You will learn about the methods for working with regular expressions, modifiers, character classes, lookaheads, lookbehinds, back-references, quantifiers, and more."
|
||
]
|
||
},
|
||
"workshop-spam-filter": {
|
||
"title": "Build a Spam Filter",
|
||
"intro": [
|
||
"Regular expressions, often shortened to \"regex\" or \"regexp\", are patterns that help programmers match, search, and replace text. Regular expressions are powerful, but can be difficult to understand because they use so many special characters.",
|
||
"In this workshop, you'll use capture groups, positive lookaheads, negative lookaheads, and other techniques to match any text you want."
|
||
]
|
||
},
|
||
"lab-palindrome-checker": {
|
||
"title": "Build a Palindrome Checker",
|
||
"intro": [
|
||
"For this lab, you'll build an application that checks whether a given word is a palindrome."
|
||
]
|
||
},
|
||
"lab-regex-sandbox": {
|
||
"title": "Build a RegEx Sandbox",
|
||
"intro": ["In this lab you'll build a regex sandbox."]
|
||
},
|
||
"lab-spinal-case-converter": {
|
||
"title": "Implement a Spinal Case Converter",
|
||
"intro": [
|
||
"In this lab, you will create a function that converts a given string to spinal case which is a style of writing where all letters are lowercase and separated by hyphens."
|
||
]
|
||
},
|
||
"lab-pig-latin": {
|
||
"title": "Implement a Pig Latin Translator",
|
||
"intro": [
|
||
"In this lab, you'll implement a Pig Latin translator using JavaScript.",
|
||
"You'll practice string manipulation, conditional logic, and regular expressions."
|
||
]
|
||
},
|
||
"lab-smart-word-replacement": {
|
||
"title": "Build a Smart Word Replacement Function",
|
||
"intro": [
|
||
"In this lab, you will use regex to create a function that performs a search and replace operation on a given string."
|
||
]
|
||
},
|
||
"review-javascript-regular-expressions": {
|
||
"title": "JavaScript Regular Expressions Review",
|
||
"intro": [
|
||
"Before you're quizzed on Regular Expressions, you should review what you've learned.",
|
||
"Open up this page to review concepts like lookaheads, lookbehinds, common regex modifiers and more."
|
||
]
|
||
},
|
||
"quiz-javascript-regular-expressions": {
|
||
"title": "JavaScript Regular Expressions Quiz",
|
||
"intro": [
|
||
"Test your knowledge of JavaScript Regular Expressions with this quiz."
|
||
]
|
||
},
|
||
"lab-markdown-to-html-converter": {
|
||
"title": "Build a Markdown to HTML Converter",
|
||
"intro": [
|
||
"For this lab, you'll build a Markdown to HTML converter using JavaScript.",
|
||
"You'll practice regular expressions, string manipulation, and more."
|
||
]
|
||
},
|
||
"lecture-understanding-form-validation": {
|
||
"title": "Understanding Form Validation",
|
||
"intro": [
|
||
"In these lectures, you will learn about form validation in JavaScript. You will learn about the various ways to validate forms, how the <code>preventDefault()</code> method works, and how the submit event works."
|
||
]
|
||
},
|
||
"workshop-calorie-counter": {
|
||
"title": "Build a Calorie Counter",
|
||
"intro": [
|
||
"Sometimes when you're coding a web application, you'll need to be able to accept input from a user. In this calorie counter workshop, you'll practice how to validate user input, perform calculations based on that input, and dynamically update your interface to display the results.",
|
||
"You'll also practice basic regular expressions, template literals, the <code>addEventListener()</code> method, and more."
|
||
]
|
||
},
|
||
"lab-customer-complaint-form": {
|
||
"title": "Build a Customer Complaint Form",
|
||
"intro": [
|
||
"For this lab, you'll use JavaScript to validate a customer complaint form.",
|
||
"You'll practice how to validate form inputs, display error messages, and prevent the form from submitting if there are errors."
|
||
]
|
||
},
|
||
"review-form-validation-with-javascript": {
|
||
"title": "Form Validation with JavaScript Review",
|
||
"intro": [
|
||
"Before you're quizzed on form validation, you should review what you've learned.",
|
||
"Open up this page to review concepts including the <code>preventDefault()</code> method, the submit event and more."
|
||
]
|
||
},
|
||
"quiz-form-validation-with-javascript": {
|
||
"title": "Form Validation with JavaScript Quiz",
|
||
"intro": [
|
||
"Test what you've learned about JavaScript form validation with this quiz."
|
||
]
|
||
},
|
||
"lecture-working-with-dates": {
|
||
"title": "Working with Dates",
|
||
"intro": [
|
||
"In these lectures, you will learn about the JavaScript date object. You will learn about the methods for working with dates and how to format dates."
|
||
]
|
||
},
|
||
"lab-date-conversion": {
|
||
"title": "Build a Date Conversion Program",
|
||
"intro": [
|
||
"In this lab, you'll build a program to convert a date from one format to another."
|
||
]
|
||
},
|
||
"review-javascript-dates": {
|
||
"title": "JavaScript Dates Review",
|
||
"intro": [
|
||
"Before you're quizzed on working with dates, you should review what you've learned.",
|
||
"Open up this page to review the <code>Date()</code> object and common methods."
|
||
]
|
||
},
|
||
"quiz-javascript-dates": {
|
||
"title": "JavaScript Dates Quiz",
|
||
"intro": [
|
||
"Test what you've learned about JavaScript Dates with this quiz."
|
||
]
|
||
},
|
||
"lecture-working-with-audio-and-video": {
|
||
"title": "Working with Audio and Video",
|
||
"intro": [
|
||
"In these lectures, you will learn how to work with audio and video files using JavaScript. You will learn about the <code>Audio</code> and <code>Video</code> constructors, their methods and properties, audio and video formats, codecs, the <code>HTMLMediaElement</code> API, and much more."
|
||
]
|
||
},
|
||
"workshop-music-player": {
|
||
"title": "Build a Music Player",
|
||
"intro": [
|
||
"In this workshop, you'll code a basic MP3 player using HTML, CSS, and JavaScript.",
|
||
"The project covers fundamental concepts such as handling audio playback, managing a playlist, implementing play, pause, next, and previous functionalities and dynamically update your user interface based on the current song."
|
||
]
|
||
},
|
||
"review-javascript-audio-and-video": {
|
||
"title": "JavaScript Audio and Video Review",
|
||
"intro": [
|
||
"Before you're quizzed on working with audio and video in JavaScript, you should review what you've learned about them.",
|
||
"Open up this page to review concepts including the <code>Audio</code> constructor, the <code>HTMLMediaElement</code> API and more."
|
||
]
|
||
},
|
||
"quiz-javascript-audio-and-video": {
|
||
"title": "JavaScript Audio and Video Quiz",
|
||
"intro": [
|
||
"Test what you've learned about JavaScript audio and video with this quiz."
|
||
]
|
||
},
|
||
"lab-drum-machine": {
|
||
"title": "Build a Drum Machine",
|
||
"intro": [
|
||
"For this lab you will use the <code>audio</code> element to build a drum machine."
|
||
]
|
||
},
|
||
"lecture-working-with-maps-and-sets": {
|
||
"title": "Working with Maps and Sets",
|
||
"intro": [
|
||
"In these lectures, you will learn about JavaScript <code>Map</code> and <code>Set</code>. You will also learn how they both differ from <code>WeakSets</code> and <code>WeakMaps</code>."
|
||
]
|
||
},
|
||
"workshop-plant-nursery-catalog": {
|
||
"title": "Build a Plant Nursery Catalog",
|
||
"intro": [
|
||
"In this workshop, you will practice using Maps and Sets by building a plant nursery catalog."
|
||
]
|
||
},
|
||
"review-javascript-maps-and-sets": {
|
||
"title": "JavaScript Maps and Sets Review",
|
||
"intro": [
|
||
"Before you're quizzed on JavaScript Maps and Sets, you should review what you've learned about them.",
|
||
"Open up this page to review concepts such as the <code>Map</code> and <code>Set</code> objects, as well as WeakSet and WeakMap."
|
||
]
|
||
},
|
||
"quiz-javascript-maps-and-sets": {
|
||
"title": "JavaScript Maps and Sets Quiz",
|
||
"intro": [
|
||
"Test what you've learned about JavaScript Maps and Sets with this quiz."
|
||
]
|
||
},
|
||
"lab-voting-system": {
|
||
"title": "Build a Voting System",
|
||
"intro": [
|
||
"In this lab, you'll build a voting system using Maps and Sets.",
|
||
"You'll practice how to use the <code>Map</code> object to store key-value pairs and the <code>Set</code> object to store unique values."
|
||
]
|
||
},
|
||
"lecture-working-with-client-side-storage-and-crud-operations": {
|
||
"title": "Working with Client-Side Storage and CRUD Operations",
|
||
"intro": [
|
||
"In these lectures, you will learn about client-side storage and CRUD operations in JavaScript. You will learn about <code>localStorage</code> and <code>sessionStorage</code> alongside their methods and properties, cookies, the Cache API, IndexDB, and much more."
|
||
]
|
||
},
|
||
"workshop-todo-app": {
|
||
"title": "Build a Todo App using Local Storage",
|
||
"intro": [
|
||
"Local storage is a web browser feature that lets web applications store key-value pairs persistently within a user's browser. This allows web apps to save data during one session, then retrieve it in a later page session.",
|
||
"In this workshop, you'll learn how to handle form inputs, manage local storage, perform CRUD (Create, Read, Update, Delete) operations on tasks, implement event listeners, and toggle UI elements."
|
||
]
|
||
},
|
||
"lab-bookmark-manager-app": {
|
||
"title": "Build a Bookmark Manager App",
|
||
"intro": [
|
||
"For this lab, you'll build a bookmark manager app.",
|
||
"You'll utilize local storage to store bookmarks, and practice how to add, remove, and display bookmarks."
|
||
]
|
||
},
|
||
"review-local-storage-and-crud": {
|
||
"title": "Local Storage and CRUD Review",
|
||
"intro": [
|
||
"Before you are quizzed on working with <code>localStorage</code>, you first need to review the concepts.",
|
||
"Open up this page to review the <code>localStorage</code> property, <code>sessionStorage</code> property and more."
|
||
]
|
||
},
|
||
"quiz-local-storage-and-crud": {
|
||
"title": "Local Storage and CRUD Quiz",
|
||
"intro": [
|
||
"Test what you've learned about local storage and CRUD with this quiz."
|
||
]
|
||
},
|
||
"lecture-understanding-how-to-work-with-classes-in-javascript": {
|
||
"title": "Understanding How to Work with Classes in JavaScript",
|
||
"intro": [
|
||
"In these lectures, you will learn about classes in JavaScript. You will learn about inheritance, the <code>this</code> keyword, static properties and methods, and more."
|
||
]
|
||
},
|
||
"workshop-shopping-cart": {
|
||
"title": "Build a Shopping Cart",
|
||
"intro": [
|
||
"In this workshop you'll create a shopping cart using JavaScript classes.",
|
||
"You will practice how to use the this keyword, create class instances, implement methods for data manipulation and more."
|
||
]
|
||
},
|
||
"lab-project-idea-board": {
|
||
"title": "Build a Project Idea Board",
|
||
"intro": [
|
||
"In this lab, you'll build a project idea board using OOP in JavaScript.",
|
||
"You'll practice how to create classes, add methods to classes, and create instances of classes."
|
||
]
|
||
},
|
||
"review-javascript-classes": {
|
||
"title": "JavaScript Classes Review",
|
||
"intro": [
|
||
"Before you're quizzed on how to work with classes, you should review what you've learned about them.",
|
||
"Open up this page to review concepts including the <code>this</code> keyword, class inheritance and more."
|
||
]
|
||
},
|
||
"quiz-javascript-classes": {
|
||
"title": "JavaScript Classes Quiz",
|
||
"intro": [
|
||
"Test what you've learned about JavaScript classes with this quiz."
|
||
]
|
||
},
|
||
"lab-bank-account-manager": {
|
||
"title": "Build a Bank Account Management Program",
|
||
"intro": [
|
||
"In this lab, you'll build a simple transaction management system for a bank account."
|
||
]
|
||
},
|
||
"lecture-understanding-recursion-and-the-call-stack": {
|
||
"title": "Understanding Recursion and the Call Stack",
|
||
"intro": [
|
||
"In this lecture, you will learn about recursion and the call stack."
|
||
]
|
||
},
|
||
"workshop-countup": {
|
||
"title": "Build a Countup",
|
||
"intro": [
|
||
"In this workshop you will build a countdown function that returns an array of numbers counting up from 1 to a given number."
|
||
]
|
||
},
|
||
"lab-countdown": {
|
||
"title": "Build a Countdown",
|
||
"intro": [
|
||
"For this lab, you will build a countdown function that returns an array of numbers counting down from given number to 1."
|
||
]
|
||
},
|
||
"lab-range-of-numbers": {
|
||
"title": "Build a Range of Numbers Generator",
|
||
"intro": [
|
||
"In this lab, you'll use recursion to generate an array of numbers within a specified range.",
|
||
"You'll practice recursive function calls, base cases, and building arrays through recursion."
|
||
]
|
||
},
|
||
"workshop-decimal-to-binary-converter": {
|
||
"title": "Build a Decimal to Binary Converter",
|
||
"intro": [
|
||
"Recursion is a programming concept where a function calls itself. This can reduce a complex problem into simpler sub-problems, until they become straightforward to solve.",
|
||
"In this workshop, you'll build a decimal-to-binary converter using JavaScript. You'll practice the fundamental concepts of recursion, explore the call stack, and build out a visual representation of the recursion process through an animation."
|
||
]
|
||
},
|
||
"lab-permutation-generator": {
|
||
"title": "Build a Permutation Generator",
|
||
"intro": [
|
||
"For this lab, you'll build a permutation generator that produces all possible permutations of a given string."
|
||
]
|
||
},
|
||
"review-recursion": {
|
||
"title": "Recursion Review",
|
||
"intro": [
|
||
"Before you're quizzed on recursion, you should review what you've learned.",
|
||
"Open up this page to review what is recursion and what is it used for."
|
||
]
|
||
},
|
||
"quiz-recursion": {
|
||
"title": "Recursion Quiz",
|
||
"intro": ["Test your knowledge of Recursion with this quiz."]
|
||
},
|
||
"lecture-working-with-common-data-structures-js": {
|
||
"title": "Working with Common Data Structures",
|
||
"intro": [
|
||
"Learn about common data structures and how to work with them in JavaScript."
|
||
]
|
||
},
|
||
"workshop-linked-list-js": {
|
||
"title": "Build a Linked List",
|
||
"intro": [
|
||
"In the previous lessons, you learned about some common data structures.",
|
||
"In this workshop, you will build a linked list using JavaScript."
|
||
]
|
||
},
|
||
"lab-linked-list-operations": {
|
||
"title": "Implement Linked List Operations",
|
||
"intro": [
|
||
"In this lab you will implement common linked list operations such as insertion, deletion, and traversal."
|
||
]
|
||
},
|
||
"lab-implement-a-stack": {
|
||
"title": "Implement a Stack",
|
||
"intro": [
|
||
"In this lab, you will implement a stack data structure using functions."
|
||
]
|
||
},
|
||
"lab-implement-a-queue": {
|
||
"title": "Implement a Queue",
|
||
"intro": [
|
||
"In this lab, you will implement a queue data structure using functions."
|
||
]
|
||
},
|
||
"review-data-structures-js": {
|
||
"title": "Data Structures Review",
|
||
"intro": [
|
||
"Before you're quizzed on data structures, you should review what you've learned about them.",
|
||
"Open up this page to review concepts like the different data structures, algorithms, time and space complexity, and big O notation."
|
||
]
|
||
},
|
||
"quiz-data-structures-js": {
|
||
"title": "Data Structures Quiz",
|
||
"intro": [
|
||
"Test what you've learned about data structures in JavaScript with this quiz."
|
||
]
|
||
},
|
||
"lecture-introduction-to-common-searching-and-sorting-algorithms": {
|
||
"title": "Introduction to Common Searching and Sorting Algorithms",
|
||
"intro": [
|
||
"Learn about fundamental searching and sorting algorithms, including linear search, binary search, and merge sort.",
|
||
"These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm."
|
||
]
|
||
},
|
||
"workshop-binary-search-js": {
|
||
"title": "Implement the Binary Search Algorithm",
|
||
"intro": [
|
||
"The binary search algorithm is a searching algorithm used to find a target item in a sorted list.",
|
||
"In this workshop, you'll implement the binary search algorithm and return the path it took to find the target or return 'Value not found'."
|
||
]
|
||
},
|
||
"workshop-merge-sort-js": {
|
||
"title": "Implement the Merge Sort Algorithm",
|
||
"intro": [
|
||
"The merge sort algorithm is a sorting algorithm based on the divide and conquer principle.",
|
||
"In this workshop, you'll implement the merge sort algorithm to sort a list of random numbers."
|
||
]
|
||
},
|
||
"lab-bubble-sort-algorithm": {
|
||
"title": "Implement the Bubble Sort Algorithm",
|
||
"intro": [
|
||
"In this lab, you will implement the bubble sort algorithm to sort an array of integers in ascending order."
|
||
]
|
||
},
|
||
"lab-selection-sort-js": {
|
||
"title": "Implement the Selection Sort Algorithm",
|
||
"intro": [
|
||
"In this lab you will implement the selection sort algorithm."
|
||
]
|
||
},
|
||
"lab-insertion-sort": {
|
||
"title": "Implement the Insertion Sort Algorithm",
|
||
"intro": [
|
||
"In this lab, you will implement the insertion sort algorithm to sort an array of integers in ascending order."
|
||
]
|
||
},
|
||
"lab-quicksort-js": {
|
||
"title": "Implement the Quicksort Algorithm",
|
||
"intro": [
|
||
"In this lab you will implement the quicksort algorithm to sort an array of integers."
|
||
]
|
||
},
|
||
"review-searching-and-sorting-algorithms-js": {
|
||
"title": "Searching and Sorting Algorithms Review",
|
||
"intro": [
|
||
"Before you are quizzed on Algorithms, you should review what you've learned about searching and sorting algorithms."
|
||
]
|
||
},
|
||
"quiz-searching-and-sorting-algorithms-js": {
|
||
"title": "Searching and Sorting Algorithms Quiz",
|
||
"intro": [
|
||
"Test your knowledge of searching and sorting algorithms with this quiz."
|
||
]
|
||
},
|
||
"lecture-understanding-graphs-and-trees-js": {
|
||
"title": "Understanding Graphs and Trees",
|
||
"intro": [
|
||
"In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science."
|
||
]
|
||
},
|
||
"workshop-shortest-path-algorithm-js": {
|
||
"title": "Implement the Shortest Path Algorithm",
|
||
"intro": [
|
||
"The shortest path algorithm finds the minimum distance between nodes in a weighted graph.",
|
||
"In this workshop, you'll implement the shortest path algorithm in JavaScript and return both the shortest distances and the paths taken."
|
||
]
|
||
},
|
||
"lab-adjacency-list-to-matrix-converter-js": {
|
||
"title": "Build an Adjacency List to Matrix Converter",
|
||
"intro": [
|
||
"In this lab, you will implement a function that converts an adjacency list representation of a graph into an adjacency matrix representation."
|
||
]
|
||
},
|
||
"workshop-breadth-first-search-js": {
|
||
"title": "Implement the Breadth-First Search Algorithm",
|
||
"intro": [
|
||
"In this workshop, you will use the breadth-first search algorithm to generate all valid combinations of parentheses."
|
||
]
|
||
},
|
||
"lab-depth-first-search-js": {
|
||
"title": "Implement the Depth-First Search Algorithm",
|
||
"intro": [
|
||
"In this lab, you will implement a solution for the depth-first search algorithm."
|
||
]
|
||
},
|
||
"lab-n-queens-problem-js": {
|
||
"title": "Implement the N-Queens Problem",
|
||
"intro": [
|
||
"In this lab, you will implement a solution for the N-Queens problem."
|
||
]
|
||
},
|
||
"review-graphs-and-trees-js": {
|
||
"title": "Graphs and Trees Review",
|
||
"intro": [
|
||
"Graphs and Trees Review",
|
||
"Before you are quizzed on graphs and trees, you should review what you've learned."
|
||
]
|
||
},
|
||
"quiz-graph-and-trees-js": {
|
||
"title": "Graphs and Trees Quiz",
|
||
"intro": [
|
||
"Graphs and Trees Quiz",
|
||
"Test what you've learned about graphs and trees with this quiz."
|
||
]
|
||
},
|
||
"lecture-understanding-dynamic-programming-js": {
|
||
"title": "Understanding Dynamic Programming",
|
||
"intro": [
|
||
"In this lesson, you will learn about dynamic programming, an algorithmic technique used to solve complex problems efficiently by breaking them down into simpler subproblems."
|
||
]
|
||
},
|
||
"lab-nth-fibonacci-number-js": {
|
||
"title": "Build an Nth Fibonacci Number Calculator",
|
||
"intro": [
|
||
"In this lab, you'll practice dynamic programming by implementing a Fibonacci sequence calculator in JavaScript."
|
||
]
|
||
},
|
||
"review-dynamic-programming-js": {
|
||
"title": "Dynamic Programming Review",
|
||
"intro": [
|
||
"Before you're quizzed on dynamic programming, you should review what you've learned about it."
|
||
]
|
||
},
|
||
"quiz-dynamic-programming-js": {
|
||
"title": "Dynamic Programming Quiz",
|
||
"intro": [
|
||
"Test what you've learned about dynamic programming in JavaScript with this quiz."
|
||
]
|
||
},
|
||
"lecture-understanding-functional-programming": {
|
||
"title": "Understanding Functional Programming",
|
||
"intro": [
|
||
"In these lectures, you will learn about functional programming and how to nest functions using a technique called currying."
|
||
]
|
||
},
|
||
"workshop-recipe-ingredient-converter": {
|
||
"title": "Build a Recipe Ingredient Converter",
|
||
"intro": [
|
||
"In the previous lectures, you learned the core concepts behind functional programming and currying.",
|
||
"Now you will be able to apply what you have learned about currying and functional programming by building a recipe ingredient converter application."
|
||
]
|
||
},
|
||
"lab-optional-arguments-sum-function": {
|
||
"title": "Build an Optional Arguments Sum Function",
|
||
"intro": [
|
||
"In this lab you will build a function that accepts up to two arguments, and sum them, but if there is only one argument returns a function that waits for the second number to sum."
|
||
]
|
||
},
|
||
"lab-sorting-visualizer": {
|
||
"title": "Build a Sorting Visualizer",
|
||
"intro": [
|
||
"For this lab, you'll use JavaScript to visualize the steps that the Bubble Sort algorithm takes to reorder an array of integers."
|
||
]
|
||
},
|
||
"review-javascript-functional-programming": {
|
||
"title": "JavaScript Functional Programming Review",
|
||
"intro": [
|
||
"Before you're quizzed on functional programming, you should review what you've learned.",
|
||
"Open up this page to review concepts on functional programming, currying and more."
|
||
]
|
||
},
|
||
"quiz-javascript-functional-programming": {
|
||
"title": "JavaScript Functional Programming Quiz",
|
||
"intro": [
|
||
"Test what you've learned about JavaScript functional programming with this quiz."
|
||
]
|
||
},
|
||
"lecture-understanding-asynchronous-programming": {
|
||
"title": "Understanding Asynchronous Programming",
|
||
"intro": [
|
||
"In these lectures, you will learn about asynchronous programming in JavaScript. You will learn about the differences between synchronous and asynchronous programming, how the <code>async</code> keyword works, the <code>Fetch</code> API, promises, <code>async/await</code>, the <code>Geolocation</code> API, and much more."
|
||
]
|
||
},
|
||
"workshop-fcc-authors-page": {
|
||
"title": "Build an fCC Authors Page",
|
||
"intro": [
|
||
"One common aspect of web development is learning how to fetch data from an external API, then work with asynchronous JavaScript.",
|
||
"In this workshop you will practice how to use the fetch method, dynamically update the DOM to display the fetched data and paginate your data so you can load results in batches."
|
||
]
|
||
},
|
||
"lab-fcc-forum-leaderboard": {
|
||
"title": "Build an fCC Forum Leaderboard",
|
||
"intro": [
|
||
"For this lab you'll practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard."
|
||
]
|
||
},
|
||
"review-asynchronous-javascript": {
|
||
"title": "Asynchronous JavaScript Review",
|
||
"intro": [
|
||
"Review asynchronous JavaScript concepts to prepare for the upcoming quiz."
|
||
]
|
||
},
|
||
"quiz-asynchronous-javascript": {
|
||
"title": "Asynchronous JavaScript Quiz",
|
||
"intro": [
|
||
"Test what you've learned about asynchronous JavaScript with this quiz."
|
||
]
|
||
},
|
||
"lab-weather-app": {
|
||
"title": "Build a Weather App",
|
||
"intro": [
|
||
"In this lab you'll build a Weather App using an API",
|
||
"You'll practice how to fetch data from the API, store and display it on your app."
|
||
]
|
||
},
|
||
"review-javascript": {
|
||
"title": "JavaScript Review",
|
||
"intro": [
|
||
"Before you take the JavaScript prep exam, you should review everything you've learned about JavaScript.",
|
||
"Open up this page to review all of the concepts taught including variables, strings, booleans, functions, objects, arrays, debugging, working with the DOM and more."
|
||
]
|
||
},
|
||
"exam-javascript-certification": {
|
||
"title": "JavaScript Certification Exam",
|
||
"intro": ["Pass this exam to earn your JavaScript Certification."]
|
||
}
|
||
}
|
||
},
|
||
"front-end-development-libraries-v9": {
|
||
"title": "Front-End Development Libraries Certification",
|
||
"intro": [
|
||
"This course teaches you the libraries that developers use to build webpages: React, TypeScript, and more.",
|
||
"To earn your Front-End Development Libraries Certification:",
|
||
"- Complete the five required projects to qualify for the certification exam.",
|
||
"- Pass the Front-End Development Libraries Certification exam."
|
||
],
|
||
"chapters": {
|
||
"front-end-development-libraries": "Front-End Development Libraries",
|
||
"front-end-development-libraries-certification-exam": "Front-End Development Libraries Certification Exam"
|
||
},
|
||
"modules": {
|
||
"react-fundamentals": "React Fundamentals",
|
||
"react-state-hooks-and-routing": "React State, Hooks, and Routing",
|
||
"lab-currency-converter": "Build a Currency Converter",
|
||
"lab-tic-tac-toe": "Build a Tic-Tac-Toe Game",
|
||
"performance": "Performance",
|
||
"testing": "Testing",
|
||
"css-libraries-and-frameworks": "CSS Libraries and Frameworks",
|
||
"typescript-fundamentals": "TypeScript Fundamentals",
|
||
"data-visualization": "Data Visualization and D3",
|
||
"review-front-end-libraries": "Front-End Libraries Review",
|
||
"front-end-development-libraries-certification-exam": "Front-End Development Libraries Certification Exam"
|
||
},
|
||
"module-intros": {
|
||
"typescript-fundamentals": {
|
||
"intro": [
|
||
"In this module, you will be introduced to TypeScript, which is a superset of JavaScript that allows you to add static typing to your JavaScript code. You will build several workshops and labs that will give you practice in working with generics, type narrowing, TSX, and more. Then you will test your knowledge of TypeScript fundamentals with a short quiz."
|
||
]
|
||
},
|
||
"data-visualization": {
|
||
"note": "Coming 2026",
|
||
"intro": [
|
||
"In this module, you will be introduced to data visualization and learn how to work with the D3 library."
|
||
]
|
||
},
|
||
"front-end-development-libraries-certification-exam": {
|
||
"note": "Coming 2026",
|
||
"intro": [
|
||
"Pass this exam to earn your Front-End Development Libraries Certification."
|
||
]
|
||
}
|
||
},
|
||
"blocks": {
|
||
"lecture-introduction-to-javascript-libraries-and-frameworks": {
|
||
"title": "Introduction to JavaScript Libraries and Frameworks",
|
||
"intro": [
|
||
"In these lessons, you will get an introduction to JavaScript libraries and frameworks. You will learn about the roles of JavaScript libraries and frameworks, single page applications (SPAs) and the issue surrounding them, and React, the most popular front-end JavaScript library."
|
||
]
|
||
},
|
||
"workshop-reusable-mega-navbar": {
|
||
"title": "Build a Reusable Mega Navbar",
|
||
"intro": [
|
||
"In the previous lessons, you learned how to work with components in React.",
|
||
"In this workshop, you will build a reusable Navbar component using React."
|
||
]
|
||
},
|
||
"lab-reusable-footer": {
|
||
"title": "Build a Reusable Footer",
|
||
"intro": ["In this lab, you'll use React to build a reusable footer."]
|
||
},
|
||
"lecture-working-with-data-in-react": {
|
||
"title": "Working with Data in React",
|
||
"intro": [
|
||
"In these lessons, you will learn how to work with data in React. You will learn about <code>props</code> and how to pass them around, conditional rendering, how to render lists, and how to use inline styles."
|
||
]
|
||
},
|
||
"workshop-reusable-profile-card-component": {
|
||
"title": "Build a Reusable Profile Card Component",
|
||
"intro": [
|
||
"In this workshop, you will learn how to work with props by building a reusable profile card component."
|
||
]
|
||
},
|
||
"lab-mood-board": {
|
||
"title": "Build a Mood Board",
|
||
"intro": [
|
||
"In this lab, you'll create a mood board using React.",
|
||
"You'll practice how to pass data from a parent component to a child component using props."
|
||
]
|
||
},
|
||
"review-react-basics": {
|
||
"title": "React Basics Review",
|
||
"intro": [
|
||
"Review basic React concepts to prepare for the upcoming quiz."
|
||
]
|
||
},
|
||
"quiz-react-basics": {
|
||
"title": "React Basics Quiz",
|
||
"intro": ["Test your knowledge of React basics with this quiz."]
|
||
},
|
||
"lecture-working-with-state-and-responding-to-events-in-react": {
|
||
"title": "Working with State and Responding to Events in React",
|
||
"intro": [
|
||
"In these lessons, you will learn about working with state and responding to events with React."
|
||
]
|
||
},
|
||
"workshop-toggle-text-app": {
|
||
"title": "Toggle Text App",
|
||
"intro": [
|
||
"In this workshop, you will continue to learn about the <code>useState()</code> hook by building an application that hides and shows a piece of text on the screen."
|
||
]
|
||
},
|
||
"lab-color-picker": {
|
||
"title": "Build a Color Picker App",
|
||
"intro": [
|
||
"In this lab you'll build a Color Picker.",
|
||
"You'll practice using state and hooks to manage the properties of an element."
|
||
]
|
||
},
|
||
"lecture-understanding-effects-and-referencing-values-in-react": {
|
||
"title": "Understanding Effects and Referencing Values in React",
|
||
"intro": [
|
||
"In these lessons, you will learn about effects and referencing values with React."
|
||
]
|
||
},
|
||
"workshop-fruit-search-app": {
|
||
"title": "Build a Fruit Search App",
|
||
"intro": [
|
||
"In this workshop, you will continue to learn about the <code>useEffect()</code> hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically."
|
||
]
|
||
},
|
||
"lab-one-time-password-generator": {
|
||
"title": "Build a One-Time Password Generator",
|
||
"intro": [
|
||
"In this lab you'll build a one-time password generator.",
|
||
"You'll practice using the useEffect hooks to create a timer and generate a random OTP."
|
||
]
|
||
},
|
||
"review-react-state-and-hooks": {
|
||
"title": "React State and Hooks Review",
|
||
"intro": [
|
||
"Before you're quizzed on React state and hooks, you should review what you've learned.",
|
||
"Open up this page to review working with state, custom hooks and more."
|
||
]
|
||
},
|
||
"quiz-react-state-and-hooks": {
|
||
"title": "React State and Hooks Quiz",
|
||
"intro": [
|
||
"Test what you've learned about React's <code>useState</code> and <code>useEffect</code> hooks with this quiz."
|
||
]
|
||
},
|
||
"lecture-working-with-forms-in-react": {
|
||
"title": "Working with Forms in React",
|
||
"intro": [
|
||
"In these lessons, you will learn about working with forms in React."
|
||
]
|
||
},
|
||
"workshop-superhero-application-form": {
|
||
"title": "Build a Superhero Application Form",
|
||
"intro": [
|
||
"In this workshop, you will build a superhero application form."
|
||
]
|
||
},
|
||
"lab-event-rsvp": {
|
||
"title": "Build an Event RSVP",
|
||
"intro": [
|
||
"In this lab, you'll build an Event RSVP form using React.",
|
||
"You'll practice using the useState hook to manage form input and display user responses."
|
||
]
|
||
},
|
||
"lecture-working-with-data-fetching-and-memoization-in-react": {
|
||
"title": "Working with Data Fetching and Memoization in React",
|
||
"intro": [
|
||
"In these lessons, you will learn about data fetching and memoization in React."
|
||
]
|
||
},
|
||
"workshop-shopping-list-app": {
|
||
"title": "Build a Shopping List App",
|
||
"intro": [
|
||
"In this workshop, you'll use the <code>useMemo()</code> and <code>useCallback()</code> hooks in React to build a simple shopping list app. You'll learn more about state and the lifecycle of React components, and how to use memoization to reduce re-renders and make your apps more efficient."
|
||
]
|
||
},
|
||
"lecture-routing-react-frameworks-and-dependency-management-tools": {
|
||
"title": "Routing, React Frameworks, and Dependency Management Tools",
|
||
"intro": [
|
||
"In these lessons, you will learn about routing in React, React frameworks, and dependency management tools."
|
||
]
|
||
},
|
||
"lecture-react-strategies-and-debugging": {
|
||
"title": "React Strategies and Debugging",
|
||
"intro": [
|
||
"In these lessons, you will learn about different strategies and debugging in React."
|
||
]
|
||
},
|
||
"review-react-forms-data-fetching-and-routing": {
|
||
"title": "React Forms, Data Fetching and Routing Review",
|
||
"intro": [
|
||
"Before you take the React forms, data fetching and routing quiz, you should review everything you've learned so far.",
|
||
"Open up this page, to review all of the concepts taught including routing, forms, state management, prop drilling, data fetching and more."
|
||
]
|
||
},
|
||
"quiz-react-forms-data-fetching-and-routing": {
|
||
"title": "React Forms, Data Fetching and Routing Quiz",
|
||
"intro": [
|
||
"Test what you've learned about routing, forms, and data fetching with this quiz."
|
||
]
|
||
},
|
||
"lab-currency-converter": {
|
||
"title": "Build a Currency Converter",
|
||
"intro": [
|
||
"For this lab, you'll build a currency converter app.",
|
||
"You'll use React state, memoization, and controlled components to convert between currencies."
|
||
]
|
||
},
|
||
"lab-tic-tac-toe": {
|
||
"title": "Build a Tic-Tac-Toe Game",
|
||
"intro": [
|
||
"In this lab, you'll build a Tic-Tac-Toe game using React.",
|
||
"You'll practice managing state, handling user interactions, and updating the UI dynamically."
|
||
]
|
||
},
|
||
"lecture-understanding-performance-in-web-applications": {
|
||
"title": "Understanding Performance in Web Applications",
|
||
"intro": [
|
||
"In these lessons, you will learn performance in web applications."
|
||
]
|
||
},
|
||
"review-web-performance": {
|
||
"title": "Web Performance Review",
|
||
"intro": [
|
||
"Before you take the web performance quiz, you should review everything you've learned so far.",
|
||
"Open up this page to review all of the concepts taught including INP, key metrics for measuring performance, Performance Web APIs and more."
|
||
]
|
||
},
|
||
"quiz-web-performance": {
|
||
"title": "Web Performance Quiz",
|
||
"intro": [
|
||
"Test what you've learned about Web Performance with this quiz."
|
||
]
|
||
},
|
||
"lecture-understanding-the-different-types-of-testing": {
|
||
"title": "Understanding the Different Types of Testing",
|
||
"intro": [
|
||
"In these lessons, you will learn about the different types of testing."
|
||
]
|
||
},
|
||
"review-testing": {
|
||
"title": "Testing Review",
|
||
"intro": [
|
||
"Before you take the testing quiz, you should review everything you've learned so far.",
|
||
"Open up this page to review all of the concepts taught including unit testing, end-to-end testing, functional testing and more."
|
||
]
|
||
},
|
||
"quiz-testing": {
|
||
"title": "Testing Quiz",
|
||
"intro": ["Test what you've learned on testing with this quiz."]
|
||
},
|
||
"lecture-working-with-css-libraries-and-frameworks": {
|
||
"title": "Working with CSS Libraries and Frameworks",
|
||
"intro": [
|
||
"In these lessons, you will learn how to work with CSS libraries and frameworks."
|
||
]
|
||
},
|
||
"workshop-error-message-component": {
|
||
"title": "Build an Error Message Component",
|
||
"intro": [
|
||
"In this workshop, you will learn the basics of Tailwind CSS by building out an error message component."
|
||
]
|
||
},
|
||
"workshop-tailwind-cta-component": {
|
||
"title": "Build a CTA Component",
|
||
"intro": [
|
||
"In this workshop, you will build a call to action (CTA) component using Tailwind CSS."
|
||
]
|
||
},
|
||
"workshop-tailwind-pricing-component": {
|
||
"title": "Build a Pricing Component",
|
||
"intro": [
|
||
"In this workshop, you will build a pricing component using Tailwind CSS.",
|
||
"You will practice working with Tailwind CSS grid utility classes."
|
||
]
|
||
},
|
||
"lab-music-shopping-cart-page": {
|
||
"title": "Build a Music Shopping Cart Page",
|
||
"intro": [
|
||
"In this lab, you will build a music shopping cart page with Tailwind CSS.",
|
||
"You will practice working with Tailwind CSS utility classes for flexbox layouts, colors, breakpoints and more."
|
||
]
|
||
},
|
||
"lab-photography-exhibit": {
|
||
"title": "Design a Photography Exhibit",
|
||
"intro": [
|
||
"In this lab, you will practice working with Tailwind CSS by designing a photography exhibit webpage."
|
||
]
|
||
},
|
||
"review-css-libraries-and-frameworks": {
|
||
"title": "CSS Libraries and Frameworks Review",
|
||
"intro": [
|
||
"Before you take the CSS libraries and frameworks quiz, you should review everything you've learned so far.",
|
||
"Open up this page to review all of the concepts taught including CSS frameworks, CSS preprocessors, Sass and more."
|
||
]
|
||
},
|
||
"quiz-css-libraries-and-frameworks": {
|
||
"title": "CSS Libraries and Frameworks Quiz",
|
||
"intro": [
|
||
"Test what you've learned about CSS Libraries and Frameworks with this quiz."
|
||
]
|
||
},
|
||
"lecture-introduction-to-typescript": {
|
||
"title": "Introduction to TypeScript",
|
||
"intro": [
|
||
"In these lessons, you will learn what TypeScript is and how to use it."
|
||
]
|
||
},
|
||
"workshop-type-safe-user-profile": {
|
||
"title": "Build a Type Safe User Profile",
|
||
"intro": [
|
||
"In this workshop, you will practice working with type annotations, array types, object types and more by building out a user profile."
|
||
]
|
||
},
|
||
"workshop-type-safe-math-toolkit": {
|
||
"title": "Build a Type Safe Math Toolkit",
|
||
"intro": [
|
||
"In this workshop, you will practice typing functions by building a math toolkit project."
|
||
]
|
||
},
|
||
"lecture-understanding-type-composition": {
|
||
"title": "Understanding Type Composition",
|
||
"intro": [
|
||
"In these lessons, you will learn how to work with union types, interfaces, void types and more."
|
||
]
|
||
},
|
||
"workshop-shape-manager": {
|
||
"title": "Build a Shape Manager",
|
||
"intro": [
|
||
"In this workshop, you will practice basic TypeScript features like types and interfaces by building a shape manager program."
|
||
]
|
||
},
|
||
"lab-motorcycle-shop": {
|
||
"title": "Build a Motorcycle Shop",
|
||
"intro": [
|
||
"For this lab, you will use TypeScript to build a Motorcycle Shop."
|
||
]
|
||
},
|
||
"lecture-working-with-generics-and-type-narrowing": {
|
||
"title": "Working with Generics and Type Narrowing",
|
||
"intro": [
|
||
"In these lessons, you will learn about generics and type narrowing in TypeScript."
|
||
]
|
||
},
|
||
"workshop-bug-emoji-picker": {
|
||
"title": "Build a Bug Emoji Picker",
|
||
"intro": [
|
||
"In this workshop, you will learn about TypeScript abstract classes and generics by building a bug species selector that displays different bug emojis."
|
||
]
|
||
},
|
||
"lab-product-showcase": {
|
||
"title": "Build a Product Showcase",
|
||
"intro": [
|
||
"In this lab, you will practice generics and type narrowing in TypeScript."
|
||
]
|
||
},
|
||
"lecture-working-with-typescript-configuration-files": {
|
||
"title": "Working with TypeScript Configuration Files",
|
||
"intro": [
|
||
"In this lesson, you will learn about TypeScript configuration files and how to use them."
|
||
]
|
||
},
|
||
"workshop-fortune-teller-app": {
|
||
"title": "Build a Fortune Telling App",
|
||
"intro": [
|
||
"In this workshop, you will continue to practice working with TypeScript by building a fortune telling app."
|
||
]
|
||
},
|
||
"lab-flashcard-quiz-app": {
|
||
"title": "Build a Flashcard Quiz App",
|
||
"intro": [
|
||
"In this lab, you will practice using TypeScript by building a flashcard quiz app."
|
||
]
|
||
},
|
||
"lab-digital-pet-game": {
|
||
"title": "Build a Digital Pet Game",
|
||
"intro": [
|
||
"In this lab, you'll practice what you learned about TypeScript and React by building a digital pet game."
|
||
]
|
||
},
|
||
"workshop-build-a-football-player-card-builder": {
|
||
"title": "Build a Football Player Card Builder",
|
||
"intro": [
|
||
"In this workshop, you'll learn how to work with React in TypeScript by building a football player card builder."
|
||
]
|
||
},
|
||
"review-typescript": {
|
||
"title": "TypeScript Review",
|
||
"intro": [
|
||
"Before you take the TypeScript quiz, you should review everything you've learned so far.",
|
||
"Open up this page to review all of the concepts taught including data types in TypeScript, generics, type narrowing and more."
|
||
]
|
||
},
|
||
"quiz-typescript": {
|
||
"title": "TypeScript Quiz",
|
||
"intro": ["Test what you've learned on TypeScript with this quiz."]
|
||
},
|
||
"lecture-introduction-to-data-visualization": {
|
||
"title": "Introduction to Data Visualization",
|
||
"intro": [
|
||
"In these lessons, you will learn about basic data visualization concepts."
|
||
]
|
||
},
|
||
"lab-bar-chart": {
|
||
"title": "Build a Bar Chart",
|
||
"intro": ["In this lab you will use d3 to build a bar chart."]
|
||
},
|
||
"lab-scatterplot-graph": {
|
||
"title": "Build a Scatterplot Graph",
|
||
"intro": [
|
||
"In this lab you will create a d3 scatterplot graph using a provided dataset."
|
||
]
|
||
},
|
||
"review-front-end-libraries": {
|
||
"title": "Front-End Libraries Review",
|
||
"intro": [
|
||
"Review the Front-End Libraries concepts to prepare for the upcoming quiz."
|
||
]
|
||
},
|
||
"exam-front-end-development-libraries-certification": {
|
||
"title": "Front-End Development Libraries Certification Exam",
|
||
"intro": [
|
||
"Pass this exam to earn your Front-End Development Libraries Certification"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"python-v9": {
|
||
"title": "Python Certification",
|
||
"intro": [
|
||
"This course teaches you the fundamentals of Python programming.",
|
||
"To earn your Python Certification:",
|
||
"- Complete the five required projects to qualify for the certification exam.",
|
||
"- Pass the Python Certification exam."
|
||
],
|
||
"chapters": {
|
||
"python": "Python",
|
||
"python-certification-exam": "Python Certification Exam"
|
||
},
|
||
"modules": {
|
||
"python-basics": "Python Basics",
|
||
"python-loops-and-sequences": "Loops and Sequences",
|
||
"python-dictionaries-and-sets": "Dictionaries and Sets",
|
||
"lab-user-configuration-manager": "Build a User Configuration Manager",
|
||
"python-error-handling": "Error Handling",
|
||
"python-classes-and-objects": "Classes and Objects",
|
||
"lab-budget-app": "Build a Budget App",
|
||
"python-object-oriented-programming": "Object-Oriented Programming (OOP)",
|
||
"lab-polygon-area-calculator": "Build a Polygon Area Calculator",
|
||
"python-linear-data-structures": "Linear Data Structures",
|
||
"lab-hash-table": "Build a Hash Table",
|
||
"python-algorithms": "Algorithms",
|
||
"lab-tower-of-hanoi": "Implement the Tower of Hanoi Algorithm",
|
||
"python-graphs-and-trees": "Graphs and Trees",
|
||
"python-dynamic-programming": "Dynamic Programming",
|
||
"review-python": "Python Review",
|
||
"python-certification-exam": "Python Certification Exam"
|
||
},
|
||
"blocks": {
|
||
"lecture-introduction-to-python": {
|
||
"title": "Introduction to Python",
|
||
"intro": [
|
||
"In these lessons, you will learn what Python is and how to set up your development environment."
|
||
]
|
||
},
|
||
"lecture-understanding-variables-and-data-types": {
|
||
"title": "Understanding Variables and Data Types",
|
||
"intro": [
|
||
"In these lessons, you will learn about variables and data types in Python."
|
||
]
|
||
},
|
||
"workshop-report-card-printer": {
|
||
"title": "Build a Report Card Printer",
|
||
"intro": [
|
||
"In this workshop, you will build a report card printer to work with primitive data types in Python."
|
||
]
|
||
},
|
||
"lecture-introduction-to-python-strings": {
|
||
"title": "Introduction to Strings",
|
||
"intro": ["In these lessons, you will learn about strings in Python."]
|
||
},
|
||
"workshop-employee-profile-generator": {
|
||
"title": "Build an Employee Profile Generator",
|
||
"intro": [
|
||
"In this workshop, you will practice the fundamentals of string manipulation in Python by building a tool that generates formatted employee badges and analyzes employee codes."
|
||
]
|
||
},
|
||
"lecture-numbers-and-mathematical-operations": {
|
||
"title": "Numbers and Mathematical Operations",
|
||
"intro": [
|
||
"In these lessons, you will learn about numbers and mathematical operations in Python."
|
||
]
|
||
},
|
||
"workshop-bill-splitter": {
|
||
"title": "Build a Bill Splitter",
|
||
"intro": [
|
||
"In this workshop you will build a bill splitter to practice working with numbers and mathematical operations in Python"
|
||
]
|
||
},
|
||
"lecture-booleans-and-conditionals": {
|
||
"title": "Booleans and Conditionals",
|
||
"intro": [
|
||
"In these lessons, you will learn about booleans and conditionals in Python."
|
||
]
|
||
},
|
||
"workshop-movie-ticket-booking-calculator": {
|
||
"title": "Build a Movie Ticket Booking Calculator",
|
||
"intro": [
|
||
"In this workshop, you will practice how to use booleans and conditional statements in Python by building a movie ticket booking calculator."
|
||
]
|
||
},
|
||
"lab-travel-weather-planner": {
|
||
"title": "Build a Travel Weather Planner",
|
||
"intro": [
|
||
"In this lab, you will build a travel weather planner using conditionals."
|
||
]
|
||
},
|
||
"lecture-understanding-functions-and-scope": {
|
||
"title": "Understanding Functions and Scope",
|
||
"intro": [
|
||
"In these lessons, you will learn about functions and scope in Python."
|
||
]
|
||
},
|
||
"lab-discount-calculator": {
|
||
"title": "Build an Apply Discount Function",
|
||
"intro": [
|
||
"In this lab, you will practice basic Python by building a calculator to apply a discount to a price."
|
||
]
|
||
},
|
||
"workshop-caesar-cipher": {
|
||
"title": "Build a Caesar Cipher",
|
||
"intro": [
|
||
"In this workshop, you'll build a Caesar cipher using basic Python concepts such as strings, conditionals, functions, and more."
|
||
]
|
||
},
|
||
"lab-rpg-character": {
|
||
"title": "Build an RPG Character",
|
||
"intro": [
|
||
"In this lab you will practice basic python by building an RPG character."
|
||
]
|
||
},
|
||
"review-python-basics": {
|
||
"title": "Python Basics Review",
|
||
"intro": [
|
||
"Before you're quizzed on Python basics, you should review what you've learned about it.",
|
||
"In this review page, you will review working with strings, functions, comparison operators and more."
|
||
]
|
||
},
|
||
"quiz-python-basics": {
|
||
"title": "Python Basics Quiz",
|
||
"intro": [
|
||
"Test what you've learned about Python basics with this quiz."
|
||
]
|
||
},
|
||
"lecture-working-with-loops-and-sequences": {
|
||
"title": "Working with Loops and Sequences",
|
||
"intro": [
|
||
"Learn about working with loops and sequences in these lessons."
|
||
]
|
||
},
|
||
"workshop-pin-extractor": {
|
||
"title": "Build a Pin Extractor",
|
||
"intro": [
|
||
"In this workshop you will build a function to extract secret pins hidden in poems."
|
||
]
|
||
},
|
||
"lab-number-pattern-generator": {
|
||
"title": "Build a Number Pattern Generator",
|
||
"intro": ["In this lab you will build a number pattern generator."]
|
||
},
|
||
"review-loops-and-sequences": {
|
||
"title": "Loops and Sequences Review",
|
||
"intro": [
|
||
"Before you're quizzed on loops and sequences, you should review what you've learned about them.",
|
||
"Open up this page to review concepts around loops, lists, tuples and some of their common methods."
|
||
]
|
||
},
|
||
"quiz-loops-and-sequences": {
|
||
"title": "Loops and Sequences Quiz",
|
||
"intro": [
|
||
"Test what you've learned about loops and sequences in Python with this quiz."
|
||
]
|
||
},
|
||
"lecture-working-with-dictionaries-and-sets": {
|
||
"title": "Working with Dictionaries and Sets",
|
||
"intro": [
|
||
"Learn about working with dictionaries and sets in these lessons."
|
||
]
|
||
},
|
||
"lecture-working-with-modules": {
|
||
"title": "Working with Modules",
|
||
"intro": ["Learn about working with modules in these lessons."]
|
||
},
|
||
"workshop-medical-data-validator": {
|
||
"title": "Build a Medical Data Validator",
|
||
"intro": [
|
||
"In this workshop, you'll practice working with dictionaries and sets while validating a collection of medical data."
|
||
]
|
||
},
|
||
"review-dictionaries-and-sets": {
|
||
"title": "Dictionaries and Sets review",
|
||
"intro": [
|
||
"Before you're quizzed on dictionaries and sets, you should review what you've learned about them.",
|
||
"Open up this page to review concepts around dictionaries, sets, and how to import modules."
|
||
]
|
||
},
|
||
"quiz-dictionaries-and-sets": {
|
||
"title": "Dictionaries and Sets Quiz",
|
||
"intro": [
|
||
"Test what you've learned about dictionaries and sets in Python with this quiz."
|
||
]
|
||
},
|
||
"lab-user-configuration-manager": {
|
||
"title": "Build a User Configuration Manager",
|
||
"intro": [
|
||
"In this lab, you will practice working with dictionaries in Python."
|
||
]
|
||
},
|
||
"lecture-understanding-error-handling": {
|
||
"title": "Understanding Error Handling",
|
||
"intro": [
|
||
"In these lessons, you will learn about error handling in Python. You will learn about the different types of errors, some good debugging practices, what exceptions are, and how to handle them."
|
||
]
|
||
},
|
||
"lab-isbn-validator": {
|
||
"title": "Debug an ISBN Validator",
|
||
"intro": [
|
||
"In this lab, you will start with a bugged app, and you will need to debug and fix the bugs until it is working properly."
|
||
]
|
||
},
|
||
"review-error-handling": {
|
||
"title": "Error Handling Review",
|
||
"intro": [
|
||
"Before you're quizzed on error handling, you should review what you've learned about it."
|
||
]
|
||
},
|
||
"quiz-error-handling": {
|
||
"title": "Error Handling Quiz",
|
||
"intro": [
|
||
"Test what you've learned about Error Handling in Python with this quiz."
|
||
]
|
||
},
|
||
"lecture-classes-and-objects": {
|
||
"title": "Classes and Objects",
|
||
"intro": ["Learn about classes and objects in these lessons."]
|
||
},
|
||
"workshop-musical-instrument-inventory": {
|
||
"title": "Build a Musical Instrument Inventory",
|
||
"intro": [
|
||
"In this workshop, you will learn about classes, objects, and methods in Python by building a simple musical instrument inventory."
|
||
]
|
||
},
|
||
"lab-planet-class": {
|
||
"title": "Build a Planet Class",
|
||
"intro": [
|
||
"In this lab you will create a class that represents a planet."
|
||
]
|
||
},
|
||
"workshop-email-simulator": {
|
||
"title": "Build an Email Simulator",
|
||
"intro": [
|
||
"In this workshop you will implement classes and objects by building an email simulator that simulates sending, receiving, and managing emails between different users."
|
||
]
|
||
},
|
||
"review-classes-and-objects": {
|
||
"title": "Classes and Objects Review",
|
||
"intro": [
|
||
"Before you're quizzed on classes and objects, you should review what you've learned about them.",
|
||
"Open up this page to review concepts like how classes work, what are objects, methods, attributes, special methods and more."
|
||
]
|
||
},
|
||
"quiz-classes-and-objects": {
|
||
"title": "Classes and Objects Quiz",
|
||
"intro": [
|
||
"Test what you've learned about classes and objects in Python with this quiz."
|
||
]
|
||
},
|
||
"lab-budget-app": {
|
||
"title": "Build a Budget App",
|
||
"intro": [
|
||
"In this lab you will build a budget app and practice creating a class and methods for that class."
|
||
]
|
||
},
|
||
"lecture-understanding-object-oriented-programming-and-encapsulation": {
|
||
"title": "Understanding Object Oriented Programming and Encapsulation",
|
||
"intro": [
|
||
"Learn about understanding object oriented programming and encapsulation in these lessons."
|
||
]
|
||
},
|
||
"workshop-salary-tracker": {
|
||
"title": "Build a Salary Tracker",
|
||
"intro": [
|
||
"In this workshop, you'll practice encapsulation, properties, and other OOP concepts by building a salary tracking system for employees."
|
||
]
|
||
},
|
||
"lab-game-character-stats": {
|
||
"title": "Build a Game Character Stats Tracker",
|
||
"intro": [
|
||
"In this lab, you will build a game character with different stats using object-oriented programming."
|
||
]
|
||
},
|
||
"lecture-understanding-inheritance-and-polymorphism": {
|
||
"title": "Understanding Inheritance and Polymorphism",
|
||
"intro": [
|
||
"Learn about understanding inheritance and polymorphism in these lessons."
|
||
]
|
||
},
|
||
"workshop-media-catalogue": {
|
||
"title": "Build a Media Catalogue",
|
||
"intro": [
|
||
"In this workshop, you will create a media catalogue application using object-oriented programming principles."
|
||
]
|
||
},
|
||
"lecture-understanding-abstraction": {
|
||
"title": "Understanding Abstraction",
|
||
"intro": ["Learn about understanding abstraction in these lessons."]
|
||
},
|
||
"workshop-discount-calculator": {
|
||
"title": "Build a Discount Calculator",
|
||
"intro": [
|
||
"In this workshop you will build a flexible discount pricing calculator through abstract base classes, allowing multiple discount algorithms to be applied interchangeably without modifying the core logic."
|
||
]
|
||
},
|
||
"lab-player-interface": {
|
||
"title": "Build a Player Interface",
|
||
"intro": [
|
||
"In this lab, you'll use the <code>abc</code> module to build a player interface."
|
||
]
|
||
},
|
||
"review-object-oriented-programming": {
|
||
"title": "Object Oriented Programming Review",
|
||
"intro": [
|
||
"Before you're quizzed on object oriented programming, you should review what you've learned about it."
|
||
]
|
||
},
|
||
"quiz-object-oriented-programming": {
|
||
"title": "Object Oriented Programming Quiz",
|
||
"intro": [
|
||
"Test what you've learned about object oriented programming in python with this quiz."
|
||
]
|
||
},
|
||
"lab-polygon-area-calculator": {
|
||
"title": "Build a Polygon Area Calculator",
|
||
"intro": [
|
||
"In this lab, you will use object-oriented programming to calculate the areas of different polygons like squares and rectangles."
|
||
]
|
||
},
|
||
"lecture-working-with-common-data-structures": {
|
||
"title": "Working with Common Data Structures",
|
||
"intro": [
|
||
"Learn about working with common data structures in these lessons."
|
||
]
|
||
},
|
||
"workshop-linked-list-class": {
|
||
"title": "Build a Linked List",
|
||
"intro": [
|
||
"In this workshop, you'll practice working with data structures by building a linked list."
|
||
]
|
||
},
|
||
"review-data-structures": {
|
||
"title": "Data Structures Review",
|
||
"intro": [
|
||
"Before you're quizzed on data structures, you should review what you've learned about them.",
|
||
"Open up this page to review concepts like the different data structures, algorithms, time and space complexity, and big O notation."
|
||
]
|
||
},
|
||
"quiz-data-structures": {
|
||
"title": "Data Structures Quiz",
|
||
"intro": [
|
||
"Test what you've learned about data structures in Python with this quiz."
|
||
]
|
||
},
|
||
"lab-hash-table": {
|
||
"title": "Build a Hash Table",
|
||
"intro": [
|
||
"A hash table is a data structure that is used to store key-value pairs and is optimized for quick lookups.",
|
||
"In this lab, you will use your knowledge about data structures to build a hash table."
|
||
]
|
||
},
|
||
"lecture-searching-and-sorting-algorithms": {
|
||
"title": "Searching and Sorting Algorithms",
|
||
"intro": [
|
||
"Learn about fundamental searching and sorting algorithms, including linear search, binary search, and merge sort.",
|
||
"These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm."
|
||
]
|
||
},
|
||
"workshop-binary-search": {
|
||
"title": "Implement the Binary Search Algorithm",
|
||
"intro": [
|
||
"The binary search algorithm is a searching algorithm used to find a target item in a sorted list.",
|
||
"In this workshop, you'll implement the binary search algorithm and return the path it took to find the target or return 'Value not found'."
|
||
]
|
||
},
|
||
"lab-bisection-method": {
|
||
"title": "Implement the Bisection Method",
|
||
"intro": [
|
||
"In this lab, you will implement the bisection method to find the square root of a number."
|
||
]
|
||
},
|
||
"workshop-merge-sort": {
|
||
"title": "Implement the Merge Sort Algorithm",
|
||
"intro": [
|
||
"The merge sort algorithm is a sorting algorithm based on the divide and conquer principle.",
|
||
"In this workshop, you'll implement the merge sort algorithm to sort a list of random numbers."
|
||
]
|
||
},
|
||
"lab-quicksort": {
|
||
"title": "Implement the Quicksort Algorithm",
|
||
"intro": [
|
||
"In this lab you will implement the quicksort algorithm to sort a list of integers."
|
||
]
|
||
},
|
||
"lab-selection-sort": {
|
||
"title": "Implement the Selection Sort Algorithm",
|
||
"intro": [
|
||
"In this lab you will implement the selection sort algorithm."
|
||
]
|
||
},
|
||
"lab-luhn-algorithm": {
|
||
"title": "Implement the Luhn Algorithm",
|
||
"intro": [
|
||
"In this lab, you will implement the Luhn algorithm to validate identification numbers such as credit card numbers."
|
||
]
|
||
},
|
||
"review-searching-and-sorting-algorithms": {
|
||
"title": "Searching and Sorting Algorithms Review",
|
||
"intro": [
|
||
"Before you're quizzed on searching and sorting algorithms, you should review what you've learned about them."
|
||
]
|
||
},
|
||
"quiz-searching-and-sorting-algorithms": {
|
||
"title": "Searching and Sorting Algorithms Quiz",
|
||
"intro": [
|
||
"Test what you've learned about searching and sorting algorithms in Python with this quiz."
|
||
]
|
||
},
|
||
"lab-tower-of-hanoi": {
|
||
"title": "Implement the Tower of Hanoi Algorithm",
|
||
"intro": [
|
||
"In this lab, you will implement an algorithm to solve the Tower of Hanoi puzzle."
|
||
]
|
||
},
|
||
"lecture-understanding-graphs-and-trees": {
|
||
"title": "Understanding Graphs and Trees",
|
||
"intro": [
|
||
"In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science."
|
||
]
|
||
},
|
||
"workshop-shortest-path-algorithm": {
|
||
"title": "Implement the Shortest Path Algorithm",
|
||
"intro": [
|
||
"In this workshop you will implement an algorithm to find the shortest path between two nodes in a graph."
|
||
]
|
||
},
|
||
"lab-adjacency-list-to-matrix-converter": {
|
||
"title": "Build an Adjacency List to Matrix Converter",
|
||
"intro": [
|
||
"In this lab, you will implement a function that converts an adjacency list representation of a graph into an adjacency matrix representation."
|
||
]
|
||
},
|
||
"workshop-breadth-first-search": {
|
||
"title": "Implement the Breadth-First Search Algorithm",
|
||
"intro": [
|
||
"In this workshop, you will use the bread-first search algorithm to generate all valid combinations of parentheses."
|
||
]
|
||
},
|
||
"lab-depth-first-search": {
|
||
"title": "Implement the Depth-First Search Algorithm",
|
||
"intro": [
|
||
"In this lab, you will implement the Depth-First Search Algorithm."
|
||
]
|
||
},
|
||
"lab-n-queens-problem": {
|
||
"title": "Implement the N-Queens Problem",
|
||
"intro": [
|
||
"In this lab, you will implement a solution for the N-Queens problem."
|
||
]
|
||
},
|
||
"review-graphs-and-trees": {
|
||
"title": "Graphs and Trees Review",
|
||
"intro": [
|
||
"Before you're quizzed on graphs and trees, you should review what you've learned about them."
|
||
]
|
||
},
|
||
"quiz-graphs-and-trees": {
|
||
"title": "Graphs and Trees Quiz",
|
||
"intro": [
|
||
"Test what you've learned about graphs and trees in Python with this quiz."
|
||
]
|
||
},
|
||
"lecture-understanding-dynamic-programming": {
|
||
"title": "Understanding Dynamic Programming",
|
||
"intro": [
|
||
"In this lesson, you will learn about dynamic programming, an algorithmic technique used to solve complex problems efficiently by breaking them down into simpler subproblems."
|
||
]
|
||
},
|
||
"lab-nth-fibonacci-number": {
|
||
"title": "Build an Nth Fibonacci Number Calculator",
|
||
"intro": [
|
||
"In this lab you will implement a Fibonacci sequence calculator using a dynamic programming approach."
|
||
]
|
||
},
|
||
"review-dynamic-programming": {
|
||
"title": "Dynamic Programming Review",
|
||
"intro": [
|
||
"Before you're quizzed on dynamic programming, you should review what you've learned about it."
|
||
]
|
||
},
|
||
"quiz-dynamic-programming": {
|
||
"title": "Dynamic Programming Quiz",
|
||
"intro": [
|
||
"Test what you've learned about dynamic programming in python with this quiz."
|
||
]
|
||
},
|
||
"review-python": {
|
||
"title": "Python Review",
|
||
"intro": ["Review Python concepts to prepare for the upcoming exam."]
|
||
},
|
||
"exam-python-certification": {
|
||
"title": "Python Certification Exam",
|
||
"intro": ["Pass this exam to earn your Python Certification"]
|
||
}
|
||
}
|
||
},
|
||
"relational-databases-v9": {
|
||
"title": "Relational Databases Certification",
|
||
"intro": [
|
||
"This course teaches you the fundamentals of relational databases.",
|
||
"To earn your Relational Databases Certification:",
|
||
"- Complete the five required projects to qualify for the certification exam.",
|
||
"- Pass the Relational Databases Certification exam."
|
||
],
|
||
"chapters": {
|
||
"relational-databases": "Relational Databases",
|
||
"relational-databases-certification-exam": "Relational Databases Certification Exam"
|
||
},
|
||
"modules": {
|
||
"code-editors": "Code Editors",
|
||
"bash-fundamentals": "Bash Fundamentals",
|
||
"sql-and-postgresql": "SQL and PostgreSQL",
|
||
"lab-celestial-bodies-database": "Build a Celestial Bodies Database",
|
||
"bash-scripting": "Bash Scripting",
|
||
"sql-and-bash": "SQL and Bash",
|
||
"lab-world-cup-database": "Build a World Cup Database",
|
||
"lab-salon-appointment-scheduler": "Build a Salon Appointment Scheduler",
|
||
"git": "Git",
|
||
"lab-periodic-table-database": "Build a Periodic Table Database",
|
||
"lab-number-guessing-game": "Build a Number Guessing Game",
|
||
"review-relational-databases": "Relational Databases Review",
|
||
"relational-databases-certification-exam": "Relational Databases Certification Exam"
|
||
},
|
||
"blocks": {
|
||
"lecture-working-with-code-editors-and-ides": {
|
||
"title": "Working with Code Editors and IDEs",
|
||
"intro": [
|
||
"In these lessons, you will learn how to work with code editors and IDEs. You will learn various concepts about the most popular code editor, VS Code such as its installation, how to create a project in it, keyboard shortcuts, and extensions."
|
||
]
|
||
},
|
||
"lecture-understanding-the-command-line-and-working-with-bash": {
|
||
"title": "Understanding the Command Line and Working with Bash",
|
||
"intro": [
|
||
"Learn about the Command Line and Working with Bash in these lessons."
|
||
]
|
||
},
|
||
"workshop-bash-boilerplate": {
|
||
"title": "Build a Boilerplate",
|
||
"intro": [
|
||
"The terminal allows you to send text commands to your computer that can manipulate the file system, run programs, automate tasks, and much more.",
|
||
"In this 170-lesson workshop, you will learn terminal commands by creating a website boilerplate using only the command line."
|
||
]
|
||
},
|
||
"review-bash-commands": {
|
||
"title": "Bash Commands Review",
|
||
"intro": [
|
||
"Review the Bash Commands concepts to prepare for the upcoming quiz."
|
||
]
|
||
},
|
||
"quiz-bash-commands": {
|
||
"title": "Bash Commands Quiz",
|
||
"intro": ["Test what you've learned bash commands with this quiz."]
|
||
},
|
||
"lecture-working-with-relational-databases": {
|
||
"title": "Working with Relational Databases",
|
||
"intro": [
|
||
"Learn how to work with Relational Databases in these lessons."
|
||
]
|
||
},
|
||
"workshop-database-of-video-game-characters": {
|
||
"title": "Build a Database of Video Game Characters",
|
||
"intro": [
|
||
"A relational database organizes data into tables that are linked together through relationships.",
|
||
"In this 165-lesson workshop, you will learn the basics of a relational database by creating a PostgreSQL database filled with video game characters."
|
||
]
|
||
},
|
||
"review-sql-and-postgresql": {
|
||
"title": "SQL and PostgreSQL Review",
|
||
"intro": [
|
||
"Review SQL and PostgreSQL concepts to prepare for the upcoming quiz."
|
||
]
|
||
},
|
||
"quiz-sql-and-postgresql": {
|
||
"title": "SQL and PostgreSQL Quiz",
|
||
"intro": [
|
||
"Test what you've learned about SQL and PostgreSQL with this quiz."
|
||
]
|
||
},
|
||
"lab-celestial-bodies-database": {
|
||
"title": "Build a Celestial Bodies Database",
|
||
"intro": [
|
||
"For this project, you will build a database of celestial bodies using PostgreSQL."
|
||
]
|
||
},
|
||
"lecture-understanding-bash-scripting": {
|
||
"title": "Understanding Bash Scripting",
|
||
"intro": ["Learn about Bash Scripting in these lessons."]
|
||
},
|
||
"workshop-bash-five-programs": {
|
||
"title": "Build Five Programs",
|
||
"intro": [
|
||
"Bash scripts combine terminal commands and logic into programs that can execute or automate tasks, and much more.",
|
||
"In this 220-lesson workshop, you will learn more terminal commands and how to use them within Bash scripts by creating five small programs."
|
||
]
|
||
},
|
||
"review-bash-scripting": {
|
||
"title": "Bash Scripting Review",
|
||
"intro": [
|
||
"Review the bash scripting concepts you've learned to prepare for the upcoming quiz."
|
||
]
|
||
},
|
||
"quiz-bash-scripting": {
|
||
"title": "Bash Scripting Quiz",
|
||
"intro": ["Test what you've learned on bash scripting in this quiz."]
|
||
},
|
||
"lecture-working-with-sql": {
|
||
"title": "Working With SQL",
|
||
"intro": [
|
||
"In these lessons, you will learn about SQL injection, normalization, and the N+1 problem."
|
||
]
|
||
},
|
||
"workshop-sql-student-database-part-1": {
|
||
"title": "Build a Student Database: Part 1",
|
||
"intro": [
|
||
"SQL, or Structured Query Language, is the language for communicating with a relational database.",
|
||
"In this 140-lesson workshop, you will create a Bash script that uses SQL to enter information about your computer science students into PostgreSQL."
|
||
]
|
||
},
|
||
"workshop-sql-student-database-part-2": {
|
||
"title": "Build a Student Database: Part 2",
|
||
"intro": [
|
||
"SQL join commands are used to combine information from multiple tables in a relational database",
|
||
"In this 140-lesson workshop, you will complete your student database while diving deeper into SQL commands."
|
||
]
|
||
},
|
||
"workshop-kitty-ipsum-translator": {
|
||
"title": "Build a Kitty Ipsum Translator",
|
||
"intro": [
|
||
"There's more to Bash commands than you might think.",
|
||
"In this 140-lesson workshop, you will learn some more complex commands, and the details of how commands work."
|
||
]
|
||
},
|
||
"workshop-bike-rental-shop": {
|
||
"title": "Build a Bike Rental Shop",
|
||
"intro": [
|
||
"In this 210-lesson workshop, you will build an interactive Bash program that stores rental information for your bike rental shop using PostgreSQL."
|
||
]
|
||
},
|
||
"review-bash-and-sql": {
|
||
"title": "Bash and SQL Review",
|
||
"intro": [
|
||
"Review the Bash and SQL concepts to prepare for the upcoming quiz."
|
||
]
|
||
},
|
||
"quiz-bash-and-sql": {
|
||
"title": "Bash and SQL Quiz",
|
||
"intro": ["Test what you've learned in this quiz on Bash and SQL."]
|
||
},
|
||
"lab-world-cup-database": {
|
||
"title": "Build a World Cup Database",
|
||
"intro": [
|
||
"For this project, you will create a Bash script that enters information from World Cup games into PostgreSQL, then query the database for useful statistics."
|
||
]
|
||
},
|
||
"lab-salon-appointment-scheduler": {
|
||
"title": "Build a Salon Appointment Scheduler",
|
||
"intro": [
|
||
"For this lab, you will create an interactive Bash program that uses PostgreSQL to track the customers and appointments for your salon."
|
||
]
|
||
},
|
||
"lecture-working-with-nano": {
|
||
"title": "Working With Nano",
|
||
"intro": ["Learn about Nano in this lesson."]
|
||
},
|
||
"workshop-castle": {
|
||
"title": "Build a Castle",
|
||
"intro": [
|
||
"Nano is a program that allows you to edit files right in the terminal.",
|
||
"In this 40-lesson workshop, you will learn how to edit files in the terminal with Nano while building a castle."
|
||
]
|
||
},
|
||
"lecture-introduction-to-git-and-github": {
|
||
"title": "Introduction to Git and GitHub",
|
||
"intro": ["Learn how to work with Git and GitHub in these lessons."]
|
||
},
|
||
"lecture-working-with-code-reviews-branching-deployment-and-ci-cd": {
|
||
"title": "Working With Code Reviews, Branching, Deployment, and CI/CD",
|
||
"intro": [
|
||
"Learn about code reviews, branching, deployment, and CI/CD in these lessons."
|
||
]
|
||
},
|
||
"workshop-sql-reference-object": {
|
||
"title": "Build an SQL Reference Object",
|
||
"intro": [
|
||
"Git is a version control system that keeps track of all the changes you make to your codebase.",
|
||
"In this 240-lesson workshop, you will learn how Git keeps track of your code by creating an object containing commonly used SQL commands."
|
||
]
|
||
},
|
||
"review-git": {
|
||
"title": "Git Review",
|
||
"intro": ["Review Git concepts to prepare for the upcoming quiz."]
|
||
},
|
||
"quiz-git": {
|
||
"title": "Git Quiz",
|
||
"intro": ["Test what you've learned on Git with this quiz."]
|
||
},
|
||
"lab-periodic-table-database": {
|
||
"title": "Build a Periodic Table Database",
|
||
"intro": [
|
||
"For this lab, you will create a Bash script to get information about chemical elements from a periodic table database."
|
||
]
|
||
},
|
||
"lab-number-guessing-game": {
|
||
"title": "Build a Number Guessing Game",
|
||
"intro": [
|
||
"For this lab, you will use Bash scripting, PostgreSQL, and Git to create a number guessing game that runs in the terminal and saves user information."
|
||
]
|
||
},
|
||
"review-relational-databases": {
|
||
"title": "Relational Databases Review",
|
||
"intro": [
|
||
"Review relational databases concepts to prepare for the exam."
|
||
]
|
||
},
|
||
"exam-relational-databases-certification": {
|
||
"title": "Relational Databases Certification Exam",
|
||
"intro": [
|
||
"Pass this exam to earn your Relational Databases Certification"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"back-end-development-and-apis-v9": {
|
||
"title": "Back-End Development and APIs Certification",
|
||
"intro": [
|
||
"This course teaches you the fundamentals of back-end development and APIs.",
|
||
"To earn your Back-End Development and APIs Certification:",
|
||
"- Complete the five required projects to qualify for the certification exam.",
|
||
"- Pass the Back-End Development and APIs Certification exam."
|
||
],
|
||
"chapters": {
|
||
"back-end-development-and-apis": "Back-End Development and APIs",
|
||
"back-end-development-and-apis-certification-exam": "Back-End Development and APIs Certification Exam"
|
||
},
|
||
"modules": {
|
||
"introduction-to-nodejs": "Introduction to Node.js",
|
||
"nodejs-core-modules": "Node.js Core Modules",
|
||
"node-package-manager": "Node Package Manager",
|
||
"http-and-the-web-standards-model": "HTTP and the Web Standards Model",
|
||
"rest-api-and-web-services": "REST API and Web Services",
|
||
"introduction-to-express": "Introduction to Express",
|
||
"express-middleware": "Express Middleware",
|
||
"error-handling-in-express": "Error Handling in Express",
|
||
"websockets": "WebSockets",
|
||
"node-and-sql": "Node and SQL",
|
||
"security-and-privacy": "Security and Privacy",
|
||
"authentication": "Authentication",
|
||
"tooling-and-deployment": "Tooling and Deployment",
|
||
"back-end-development-and-apis-certification-exam": "Back-End Development and APIs Certification Exam"
|
||
},
|
||
"module-intros": {
|
||
"introduction-to-nodejs": {
|
||
"note": "Coming Late 2026",
|
||
"intro": [
|
||
"In this module, you will learn the basics of working with Node.js."
|
||
]
|
||
},
|
||
"nodejs-core-modules": {
|
||
"note": "Coming Late 2026",
|
||
"intro": [
|
||
"In this module, you will learn about common Node.js core modules including the fs, os, path and more. Then you will get to practice what you have learned through workshops and labs and test your knowledge through a short quiz."
|
||
]
|
||
},
|
||
"node-package-manager": {
|
||
"note": "Coming Late 2026",
|
||
"intro": [
|
||
"In this module, you will be introduced to the Node Package Manager, which developers use to manage project dependencies and scripts. Then you will get to practice what you have learned through workshops and labs and test your knowledge with a short quiz."
|
||
]
|
||
},
|
||
"http-and-the-web-standards-model": {
|
||
"note": "Coming Late 2026",
|
||
"intro": [
|
||
"In this module, you will learn about HTTP (Hypertext Transfer Protocol) and other important concepts including the request-response model, common response codes, DNS, TCP/IP, and more. Then you will get to practice what you have learned through a build your own web server workshop and test your knowledge with a short quiz."
|
||
]
|
||
},
|
||
"rest-api-and-web-services": {
|
||
"note": "Coming Late 2026",
|
||
"intro": [
|
||
"In this module, you will learn about the REST API (Representational State Transfer Application Programming Interface) and how microservices work. Then you will take a short quiz to test your knowledge."
|
||
]
|
||
},
|
||
"introduction-to-express": {
|
||
"note": "Coming Late 2026",
|
||
"intro": [
|
||
"In this module, you will be introduced to Express.js, which is a framework used to build RESTful APIs. Then you will practice your skills through workshops and labs and test your knowledge with a short quiz."
|
||
]
|
||
},
|
||
"express-middleware": {
|
||
"note": "Coming Late 2026",
|
||
"intro": [
|
||
"In this module, you will learn about middleware in Express.js, which is used to handle requests and responses between the client and server. You will then practice your skills through a workshop and lab and test your knowledge with a short quiz."
|
||
]
|
||
},
|
||
"error-handling-in-express": {
|
||
"note": "Coming Late 2026",
|
||
"intro": [
|
||
"In this module, you will learn about how error handling, debugging, and health checks work in Express.js. You will then practice what you have learned in a lab and test your knowledge with a short quiz."
|
||
]
|
||
},
|
||
"websockets": {
|
||
"note": "Coming Late 2026",
|
||
"intro": [
|
||
"In this module, you will be introduced to websockets, which is a protocol used for real time communication with the client and server. You will then practice what you have learned in labs and workshops and test your knowledge with a short quiz."
|
||
]
|
||
},
|
||
"node-and-sql": {
|
||
"note": "Coming Late 2026",
|
||
"intro": [
|
||
"In this module, you will practice building applications with Node and SQL. Then you will take a short quiz to test your knowledge."
|
||
]
|
||
},
|
||
"security-and-privacy": {
|
||
"note": "Coming Late 2026",
|
||
"intro": [
|
||
"In this module, you will learn about the differences between security and privacy as well as other concepts including CSPs, Permissions-Policies, PII, working with CORS, and more. Then you will take a short quiz to test your knowledge."
|
||
]
|
||
},
|
||
"authentication": {
|
||
"note": "Coming Late 2026",
|
||
"intro": [
|
||
"In this module, you will learn about how authentication works in web applications along with other important concepts including JWTs, CSRFs, Passport, Helmet, cryptography and encryption, and more. You will then practice what you have learned in labs and workshops and test your knowledge with a short quiz."
|
||
]
|
||
},
|
||
"tooling-and-deployment": {
|
||
"note": "Coming Late 2026",
|
||
"intro": [
|
||
"In this module, you will learn about common tools used in the industry for deploying your full-stack applications. Then you will take a short quiz to test your knowledge."
|
||
]
|
||
},
|
||
"back-end-development-and-apis-certification-exam": {
|
||
"note": "Coming Late 2026",
|
||
"intro": [
|
||
"Pass this exam to earn your Back-End Development and APIs Certification."
|
||
]
|
||
}
|
||
},
|
||
"blocks": {
|
||
"lecture-working-with-nodejs-and-event-driven-architecture": {
|
||
"title": "Working with NodeJS and event driven architecture",
|
||
"intro": [
|
||
"Learn about Node.js core libraries, how to install Node.js on your computer, and the advantages and disadvantages of using Node.js on the back-end."
|
||
]
|
||
},
|
||
"review-node-js-intro": {
|
||
"title": "NodeJS Intro Review",
|
||
"intro": [
|
||
"Review the basics of NodeJS to prepare for the upcoming quiz."
|
||
]
|
||
},
|
||
"quiz-node-js-intro": {
|
||
"title": "NodeJS Intro Quiz",
|
||
"intro": ["Test what you have learned about NodeJS in this quiz."]
|
||
},
|
||
"lecture-working-with-node-core-modules": {
|
||
"title": "Working with Node Core Modules",
|
||
"intro": [
|
||
"Learn about the node.js core modules, such as fs, buffer, stream, path modules, and more, so you can understand what Node gives you out of the box to build efficient applications without relying on third-party libraries."
|
||
]
|
||
},
|
||
"review-node-js-core-modules": {
|
||
"title": "Node JS Core Modules Review",
|
||
"intro": [
|
||
"Review Node JS Core Modules concepts to prepare for the upcoming quiz."
|
||
]
|
||
},
|
||
"quiz-node-js-core-modules": {
|
||
"title": "NodeJS Core Modules Quiz",
|
||
"intro": [
|
||
"Test what you've learned about Node.js core modules with this quiz."
|
||
]
|
||
},
|
||
"lecture-introduction-to-npm": {
|
||
"title": "Introduction to npm",
|
||
"intro": [
|
||
"In these lessons, you will learn about npm, and how it can help you manage your project's dependencies."
|
||
]
|
||
},
|
||
"lecture-working-with-npm-scripts": {
|
||
"title": "Working with npm Scripts",
|
||
"intro": [
|
||
"Learn about npm scripts, publishing packages to the npm registry, and working with CommonJS and ES modules. These lessons cover essential Node.js development tools and module systems."
|
||
]
|
||
},
|
||
"review-npm": {
|
||
"title": "NPM Review",
|
||
"intro": ["Review npm concepts to prepare for the upcoming quiz."]
|
||
},
|
||
"quiz-npm": {
|
||
"title": "NPM Quiz",
|
||
"intro": ["Test what you have learned about npm in this quiz."]
|
||
},
|
||
"lecture-understanding-how-http-dns-tcpip-work": {
|
||
"title": "Understanding how HTTP, DNS and TCP/IP work",
|
||
"intro": [
|
||
"Learn the fundamental concepts of how the internet works, focusing on HTTP, DNS, and TCP/IP."
|
||
]
|
||
},
|
||
"lecture-understanding-the-http-request-response-model": {
|
||
"title": "Understanding the HTTP Request-Response Model",
|
||
"intro": [
|
||
"Learn the fundamentals of how web communication works through the HTTP request-response model, explore different types of web assets and responses, and understand how forms handle data submission using various HTTP methods."
|
||
]
|
||
},
|
||
"lecture-understanding-rest-api-and-web-services": {
|
||
"title": "Understanding the REST API and Web Services",
|
||
"intro": [
|
||
"In these lessons, you will learn about REST APIs and web services, and how they allow different applications to communicate with each other over the internet."
|
||
]
|
||
},
|
||
"lecture-working-with-express": {
|
||
"title": "Working with Express",
|
||
"intro": [
|
||
"In these lessons, you will learn what Express.js is, why developers use it for building web servers and APIs, and how to set up a basic Express application with routes and request handling."
|
||
]
|
||
},
|
||
"lecture-understanding-routing-in-express-js": {
|
||
"title": "Understanding Routing in ExpressJS",
|
||
"intro": [
|
||
"Understanding Routing in ExpressJS",
|
||
"In these lessons, you will learn about routing in ExpressJS, which is how you define the different endpoints of your web application and how they respond to client requests."
|
||
]
|
||
},
|
||
"exam-back-end-development-and-apis-certification": {
|
||
"title": "Back-End Development and APIs Certification Exam",
|
||
"intro": [
|
||
"Pass this exam to earn your Back-End Development and APIs Certification"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"full-stack-developer-v9": {
|
||
"title": "Certified Full-Stack Developer Curriculum",
|
||
"intro": [
|
||
"This certification represents the culmination of your full-stack developer journey. It demonstrates your ability to build complete, modern web applications from start to finish.",
|
||
"To qualify for the exam, you must earn the certifications below. Pass the exam to earn your Full-Stack Developer Certification."
|
||
],
|
||
"chapters": {
|
||
"certified-full-stack-developer-exam": "Certified Full-Stack Developer Exam"
|
||
},
|
||
"modules": {
|
||
"certified-full-stack-developer-exam": "Certified Full-Stack Developer Exam"
|
||
},
|
||
"module-intros": {
|
||
"certified-full-stack-developer-exam": {
|
||
"note": "Coming Late 2026",
|
||
"intro": [
|
||
"This exam will test what you have learned throughout the previous six certifications."
|
||
]
|
||
}
|
||
},
|
||
"blocks": {
|
||
"exam-certified-full-stack-developer": {
|
||
"title": "Certified Full-Stack Developer Exam",
|
||
"intro": ["Pass this exam to become a Certified Full-Stack Developer."]
|
||
}
|
||
}
|
||
},
|
||
"html-forms-and-tables": {
|
||
"title": "Learn HTML Forms and Tables",
|
||
"summary": [
|
||
"Learn how to build accessible forms and data tables with semantic HTML."
|
||
],
|
||
"intro": [
|
||
"Learn how to build accessible forms and data tables with semantic HTML.",
|
||
"Practice structuring inputs, labels, and tabular data so everyone can navigate and submit information confidently."
|
||
],
|
||
"blocks": {
|
||
"lecture-working-with-forms": {
|
||
"title": "Working with Forms",
|
||
"intro": [
|
||
"In these lessons, you will learn about forms, the role of labels, inputs and buttons in creating forms, client-side form validation, and form states."
|
||
]
|
||
},
|
||
"workshop-hotel-feedback-form": {
|
||
"title": "Build a Hotel Feedback Form",
|
||
"intro": [
|
||
"In this workshop, you will build a Hotel Feedback Form.",
|
||
"You will practice working with labels, inputs, fieldsets, legends, textareas and buttons."
|
||
]
|
||
},
|
||
"lecture-working-with-tables": {
|
||
"title": "Working with Tables",
|
||
"intro": [
|
||
"In these lessons, you will learn about HTML tables, how to create them, and when to use them."
|
||
]
|
||
},
|
||
"workshop-final-exams-table": {
|
||
"title": "Build a Final Exams Table",
|
||
"intro": [
|
||
"In this workshop, you will practice working with HTML tables by building a table of final exams."
|
||
]
|
||
},
|
||
"lab-book-catalog-table": {
|
||
"title": "Build a Book Catalog Table",
|
||
"intro": [
|
||
"In this lab, you'll review HTML tables by building a book information table.",
|
||
"You'll practice the different table components like the <code>thead</code>, <code>tbody</code>, <code>th</code>, <code>tr</code>, and <code>td</code> elements."
|
||
]
|
||
},
|
||
"lecture-working-with-html-tools": {
|
||
"title": "Working with HTML Tools",
|
||
"intro": [
|
||
"In these lectures, you will learn about HTML tools and how they let you write better code. These tools include HTML validators, DOM Inspector, and the browser developer tools."
|
||
]
|
||
},
|
||
"lab-survey-form": {
|
||
"title": "Build a Survey Form",
|
||
"intro": [
|
||
"In this lab, you'll review HTML forms by creating a survey form.",
|
||
"You'll practice working with the <code>label</code> element, the different <code>input</code> elements, the <code>required</code> attribute, and more. "
|
||
]
|
||
},
|
||
"review-html-tables-and-forms": {
|
||
"title": "HTML Tables and Forms Review",
|
||
"intro": [
|
||
"Before you are quizzed on HTML forms, tables and tools, you first need to review the concepts.",
|
||
"Open up this page to review the <code>table</code>, <code>input</code>, and <code>button</code> elements as well as commonly used tools like the HTML validator and more."
|
||
]
|
||
},
|
||
"quiz-html-tables-and-forms": {
|
||
"title": "HTML Tables and Forms Quiz",
|
||
"intro": [
|
||
"The following quiz will test your knowledge of HTML tables, forms and commonly used HTML tools.",
|
||
"If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"a1-professional-spanish": {
|
||
"title": "A1 Professional Spanish Certification (Beta)",
|
||
"note": "This certification is currently in active development. We are currently publishing the first three chapters, and future chapters will be released as they are developed by our instructional design team. Once all the chapters are available, we will release the certification exam.",
|
||
"intro": [
|
||
"This course teaches you the fundamentals of Spanish at the A1 level of the Common European Framework of Reference (CEFR), with lessons focused on professional settings. Each module is broken down into sections:",
|
||
"- A Warm-up section for quick review.",
|
||
"- Learn sections with new vocabulary and grammar.",
|
||
"- Practice sections to check your comprehension and writing skills.",
|
||
"- A Review section with key grammar and vocabulary."
|
||
],
|
||
"chapters": {
|
||
"es-a1-chapter-welcome-to-a1-professional-spanish": "Welcome to A1 Professional Spanish",
|
||
"es-a1-chapter-spanish-fundamentals": "Spanish Fundamentals",
|
||
"es-a1-chapter-greetings-and-introductions": "Greetings and Introductions",
|
||
"es-a1-chapter-basic-personal-details": "Basic Personal Details",
|
||
"es-a1-chapter-describing-company-and-people": "Describing a Company and Its People"
|
||
},
|
||
"modules": {
|
||
"es-a1-module-introduction-and-certification-overview": "Introduction and Certification Overview",
|
||
"es-a1-module-letters-sounds-and-first-numbers": "Letters, Sounds and First Numbers",
|
||
"es-a1-module-greetings-and-farewells": "Greetings and Farewells",
|
||
"es-a1-module-introducing-yourself": "Introducing Yourself",
|
||
"es-a1-module-first-questions": "First Questions",
|
||
"es-a1-module-numbers-10-to-29": "Numbers 10 to 29",
|
||
"es-a1-module-sharing-your-personal-details": "Sharing Your Personal Details",
|
||
"es-a1-module-numbers-30-to-100": "Numbers 30 to 100",
|
||
"es-a1-module-describing-a-company": "Describing a Company",
|
||
"es-a1-module-describing-people-at-work": "Describing People at Work"
|
||
},
|
||
"module-intros": {
|
||
"es-a1-module-describing-a-company": {
|
||
"note": "Coming 2026",
|
||
"intro": [
|
||
"In this module, you will learn how to identify and describe basic information about a company, such as name, website, location, number of employees, and departments."
|
||
]
|
||
},
|
||
"es-a1-module-describing-people-at-work": {
|
||
"note": "Coming 2026",
|
||
"intro": [
|
||
"In this module, you will learn third-person descriptions and how to identify simple corrections in short conversations."
|
||
]
|
||
}
|
||
},
|
||
"blocks": {
|
||
"es-a1-warm-up-greetings-and-farewells-basics": {
|
||
"title": "Greetings and Farewells Basics",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-learn-greetings-during-the-day": {
|
||
"title": "Greetings During the Day",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-practice-greetings-and-farewells": {
|
||
"title": "Greetings and Farewells Practice",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-review-greetings-and-farewells": {
|
||
"title": "Greetings and Farewells Review",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-quiz-greetings-and-farewells": {
|
||
"title": "Greetings and Farewells Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-learn-certification-introduction": {
|
||
"title": "Certification Introduction",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-learn-alphabet-and-accents": {
|
||
"title": "Alphabet and Accents",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-learn-punctuation": {
|
||
"title": "Punctuation",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-quiz-spanish-fundamentals": {
|
||
"title": "Spanish Fundamentals Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-warm-up-introducing-yourself-basics": {
|
||
"title": "Introducing Yourself Basics",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-learn-meet-luna": {
|
||
"title": "Meet Luna",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-learn-meet-mateo": {
|
||
"title": "Meet Mateo",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-learn-meet-julieta": {
|
||
"title": "Meet Julieta",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-practice-introducing-yourself": {
|
||
"title": "Introducing Yourself Practice",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-review-introducing-yourself": {
|
||
"title": "Introducing Yourself Review",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-quiz-introducing-yourself": {
|
||
"title": "Introducing Yourself Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-warm-up-first-questions-basics": {
|
||
"title": "First Questions Basics",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-learn-meet-angela-and-basti": {
|
||
"title": "Meet Angela and Basti",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-practice-first-questions": {
|
||
"title": "First Questions Practice",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-review-first-questions": {
|
||
"title": "First Questions Review",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-quiz-first-questions": {
|
||
"title": "First Questions Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-learn-vowels": {
|
||
"title": "Vowels",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-learn-consonants-and-special-characters": {
|
||
"title": "Consonants and Special Characters",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-review-spanish-fundamentals": {
|
||
"title": "Spanish Fundamentals Review",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-practice-the-alphabet": {
|
||
"title": "The Spanish Alphabet Practice",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-warm-up-remember-first-numbers": {
|
||
"title": "Remember First Numbers",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-learn-numbers-10-to-29": {
|
||
"title": "Numbers 10 to 29",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-practice-using-numbers-10-to-29": {
|
||
"title": "Using Numbers 10 to 29",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-review-numbers-10-to-29": {
|
||
"title": "Numbers 10 to 29 Review",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-quiz-numbers-10-to-29": {
|
||
"title": "Numbers 10 to 29 Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-warm-up-getting-ready-to-share-personal-details": {
|
||
"title": "Getting Ready to Share Personal Details",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-learn-basic-personal-information": {
|
||
"title": "Basic Personal Information",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-learn-contact-information-and-spelling": {
|
||
"title": "Contact Information and Spelling",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-practice-personal-details-in-action": {
|
||
"title": "Personal Details in Action",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-review-sharing-your-personal-details": {
|
||
"title": "Sharing Your Personal Details Review",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-quiz-sharing-your-personal-details": {
|
||
"title": "Sharing Your Personal Details Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-learn-the-first-ten-numbers": {
|
||
"title": "The First Ten Numbers",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-practice-the-first-ten-numbers": {
|
||
"title": "The First Ten Numbers Practice",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-learn-numbers-30-to-60": {
|
||
"title": "Numbers 30 to 60",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-warm-up-describing-a-company-basics": {
|
||
"title": "Describing a Company Basics",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-learn-numbers-61-to-100": {
|
||
"title": "Numbers 61 to 100",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-practice-using-the-first-100-numbers": {
|
||
"title": "Using The First 100 Numbers",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-review-first-100-numbers": {
|
||
"title": "First 100 Numbers Review",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-quiz-numbers-30-to-100": {
|
||
"title": "Numbers 30 to 100 Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-learn-what-the-company-does": {
|
||
"title": "What the Company Does",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-learn-asking-about-a-company": {
|
||
"title": "Asking about a Company",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-practice-company-profile": {
|
||
"title": "Company Profile",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-review-talking-about-a-company": {
|
||
"title": "Talking About a Company",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-quiz-describing-a-company": {
|
||
"title": "Describing a Company Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-warm-up-describing-people-at-work-basics": {
|
||
"title": "Describing People at Work Basics",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-learn-mini-biographies": {
|
||
"title": "Mini Biographies ",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-practice-asking-about-mini-biographies": {
|
||
"title": "Asking About Mini Biographies",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-learn-short-workplace-profile": {
|
||
"title": "Short Workplace Profile ",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-practice-asking-about-short-workplace-profiles": {
|
||
"title": "Asking About Short Workplace Profiles",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-review-describing-people-at-work": {
|
||
"title": "Describing People at Work",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-quiz-describing-people-at-work": {
|
||
"title": "Describing People at Work",
|
||
"intro": ["", ""]
|
||
},
|
||
"es-a1-learn-talking-about-colleagues": {
|
||
"title": "Talking About Colleagues",
|
||
"intro": ["", ""]
|
||
}
|
||
}
|
||
},
|
||
"responsive-web-design-v9": {
|
||
"title": "Responsive Web Design Certification",
|
||
"intro": [
|
||
"This course teaches the fundamentals of HTML and CSS, including modern layout, design, accessibility, and responsive web development. You'll build practical projects and gain the skills to create professional, user-friendly webpages.",
|
||
"To earn your Responsive Web Design Certification:",
|
||
"- Complete the five required projects to qualify for the certification exam.",
|
||
"- Pass the Responsive Web Design Certification exam."
|
||
],
|
||
"chapters": {
|
||
"html": "HTML",
|
||
"computers": "Computers",
|
||
"css": "CSS",
|
||
"responsive-web-design-certification-exam": "Responsive Web Design Certification Exam"
|
||
},
|
||
"modules": {
|
||
"basic-html": "Basic HTML",
|
||
"semantic-html": "Semantic HTML",
|
||
"html-forms-and-tables": "Forms and Tables",
|
||
"lab-survey-form": "Build a Survey Form",
|
||
"html-and-accessibility": "Accessibility",
|
||
"review-html": "HTML Review",
|
||
"computer-basics": "Computer Basics",
|
||
"basic-css": "Basic CSS",
|
||
"design-for-developers": "Design",
|
||
"absolute-and-relative-units": "Absolute and Relative Units",
|
||
"pseudo-classes-and-elements": "Pseudo Classes and Elements",
|
||
"css-colors": "Colors",
|
||
"styling-forms": "Styling Forms",
|
||
"css-box-model": "The Box Model",
|
||
"css-flexbox": "Flexbox",
|
||
"lab-page-of-playing-cards": "Build a Page of Playing Cards",
|
||
"css-typography": "Typography",
|
||
"css-and-accessibility": "Accessibility",
|
||
"css-positioning": "Positioning",
|
||
"attribute-selectors": "Attribute Selectors",
|
||
"lab-book-inventory-app": "Build a Book Inventory App",
|
||
"responsive-design": "Responsive Design",
|
||
"lab-technical-documentation-page": "Build a Technical Documentation Page",
|
||
"css-variables": "Variables",
|
||
"css-grid": "Grid",
|
||
"lab-product-landing-page": "Build a Product Landing Page",
|
||
"css-animations": "Animations",
|
||
"review-css": "CSS Review",
|
||
"responsive-web-design-certification-exam": "Responsive Web Design Certification Exam"
|
||
},
|
||
"blocks": {
|
||
"workshop-curriculum-outline": {
|
||
"title": "Build a Curriculum Outline",
|
||
"intro": [
|
||
"Welcome to freeCodeCamp!",
|
||
"This workshop will serve as your introduction to HTML and coding in general. You will learn about headings and paragraph elements."
|
||
]
|
||
},
|
||
"lab-debug-camperbots-profile-page": {
|
||
"title": "Debug Camperbot's Profile Page",
|
||
"intro": [
|
||
"Camperbot is learning how to code too and needs some help with their HTML.",
|
||
"In this lab, you will help Camperbot find and fix the errors in their code."
|
||
]
|
||
},
|
||
"lecture-understanding-html-attributes": {
|
||
"title": "Understanding HTML Attributes",
|
||
"intro": [
|
||
"In these lectures, you will learn more about HTML (HyperText Markup Language), a markup language for creating web pages.",
|
||
"You will learn about HTML's role on the web, and what HTML attributes are."
|
||
]
|
||
},
|
||
"lab-debug-pet-adoption-page": {
|
||
"title": "Debug a Pet Adoption Page",
|
||
"intro": [
|
||
"In this lab, you will need to find and fix the errors in this pet adoption page."
|
||
]
|
||
},
|
||
"lecture-understanding-the-html-boilerplate": {
|
||
"title": "Understanding the HTML Boilerplate",
|
||
"intro": [
|
||
"In these lectures, you will learn about the HTML boilerplate which is a ready-made template for your webpages.",
|
||
"You will learn how to work with the <code>link</code> element, <code>meta</code> element and more."
|
||
]
|
||
},
|
||
"workshop-cat-photo-app": {
|
||
"title": "Build a Cat Photo App",
|
||
"intro": [
|
||
"HTML stands for HyperText Markup Language and it represents the content and structure of a web page.",
|
||
"In this workshop, you will learn how to work with basic HTML elements such as headings, paragraphs, images, links, and lists."
|
||
]
|
||
},
|
||
"lab-recipe-page": {
|
||
"title": "Build a Recipe Page",
|
||
"intro": [
|
||
"In this lab, you'll review HTML basics by creating a web page of your favorite recipe. You'll create an HTML boilerplate and work with headings, lists, images, and more."
|
||
]
|
||
},
|
||
"lecture-html-fundamentals": {
|
||
"title": "HTML Fundamentals",
|
||
"intro": [
|
||
"In these lectures, you will learn about HTML fundamentals like the <code>div</code> element, the <code>id</code> and <code>class</code> attributes, the HTML boilerplate, HTML entities, and more."
|
||
]
|
||
},
|
||
"workshop-bookstore-page": {
|
||
"title": "Build a Bookstore Page",
|
||
"intro": [
|
||
"In this workshop, you will practice working with classes, ids and the <code>div</code> element by building a bookstore page."
|
||
]
|
||
},
|
||
"lecture-understanding-how-html-affects-seo": {
|
||
"title": "Understanding How HTML Affects SEO",
|
||
"intro": [
|
||
"In these lectures, you will learn how your HTML code impacts search engine optimization."
|
||
]
|
||
},
|
||
"lab-travel-agency-page": {
|
||
"title": "Build a Travel Agency Page",
|
||
"intro": [
|
||
"In this lab, you'll review working with HTML fundamentals by creating a web page for a travel agency. You'll work with images, the <code>figure</code> element, the <code>figcaption</code> element, the <code>anchor</code> element, and more."
|
||
]
|
||
},
|
||
"lecture-working-with-audio-and-video-elements": {
|
||
"title": "Working with Audio and Video Elements",
|
||
"intro": [
|
||
"In these lectures, you will learn how to work with the <code>audio</code> and <code>video</code> elements."
|
||
]
|
||
},
|
||
"workshop-html-music-player": {
|
||
"title": "Build an HTML Music Player",
|
||
"intro": [
|
||
"In this workshop, you'll use HTML to create a basic music player.",
|
||
"This project will cover the <code>audio</code> element, the audio player setup, and more."
|
||
]
|
||
},
|
||
"workshop-html-video-player": {
|
||
"title": "Build an HTML Video Player",
|
||
"intro": [
|
||
"In this workshop, you'll use HTML to create a basic video player.",
|
||
"This project will cover the <code>video</code> element, the video player setup, and more."
|
||
]
|
||
},
|
||
"lab-html-audio-and-video-player": {
|
||
"title": "Build an HTML Audio and Video Player",
|
||
"intro": [
|
||
"In this lab, you will build an HTML audio and video player using the <code>video</code> and <code>audio</code> elements with controls and source attributes."
|
||
]
|
||
},
|
||
"lecture-working-with-images-and-svgs": {
|
||
"title": "Working with Images and SVGs",
|
||
"intro": [
|
||
"In these lectures, you will learn how to work with SVGs and learn about techniques for optimizing your images."
|
||
]
|
||
},
|
||
"workshop-build-a-heart-icon": {
|
||
"title": "Build a Heart Icon",
|
||
"intro": [
|
||
"In this workshop, you will practice working with SVGs by building a heart icon"
|
||
]
|
||
},
|
||
"lecture-working-with-media": {
|
||
"title": "Working with the iframe Element",
|
||
"intro": [
|
||
"In these lectures, you will learn how to work with the <code>iframe</code> element which is used to embed an external site on your web page."
|
||
]
|
||
},
|
||
"workshop-build-a-video-display-using-iframe": {
|
||
"title": "Build a Video Display Using iframe",
|
||
"intro": [
|
||
"In this workshop, you'll learn how to work with the <code>iframe</code> element by building a video display."
|
||
]
|
||
},
|
||
"lab-video-compilation-page": {
|
||
"title": "Build a Video Compilation Page",
|
||
"intro": [
|
||
"In this lab, you'll create a video compilation web page. You'll practice working with the <code>iframe</code> element."
|
||
]
|
||
},
|
||
"lecture-working-with-links": {
|
||
"title": "Working with Links",
|
||
"intro": [
|
||
"In these lectures, you will learn about links, the <code>target</code> attribute, different link states, absolute, and relative paths, and more."
|
||
]
|
||
},
|
||
"review-basic-html": {
|
||
"title": "Basic HTML Review",
|
||
"intro": [
|
||
"Before you are quizzed on the HTML knowledge you have gained so far, you first need to review the concepts.",
|
||
"Open up this page to review the HTML boilerplate, <code>audio</code> and <code>video</code> elements, the different <code>target</code> attribute values and more."
|
||
]
|
||
},
|
||
"quiz-basic-html": {
|
||
"title": "Basic HTML Quiz",
|
||
"intro": [
|
||
"The following quiz will test your knowledge of the basic HTML concepts you have learned so far.",
|
||
"If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions."
|
||
]
|
||
},
|
||
"lecture-importance-of-semantic-html": {
|
||
"title": "Importance of Semantic HTML",
|
||
"intro": [
|
||
"In these lectures, you will learn about semantic HTML and why you should care about it, semantic elements, how semantic HTML differs from presentational HTML, and more."
|
||
]
|
||
},
|
||
"lecture-understanding-nuanced-semantic-elements": {
|
||
"title": "Understanding Nuanced Semantic Elements",
|
||
"intro": [
|
||
"In these lectures, you will learn when you should use certain semantic elements like the <code>em</code> element over the <code>i</code> element, description lists, and more."
|
||
]
|
||
},
|
||
"workshop-major-browsers-list": {
|
||
"title": "Build a List of Major Web Browsers",
|
||
"intro": [
|
||
"In this workshop, you will build a description list and work with the <code>dl</code>, <code>dt</code>, and <code>dd</code> elements."
|
||
]
|
||
},
|
||
"lecture-working-with-text-and-time-semantic-elements": {
|
||
"title": "Working with Text and Time Semantic Elements ",
|
||
"intro": [
|
||
"In this lecture, you will learn about the importance of semantics in conveying meaning for text and time-related content including the <code>time</code>, <code>blockquote</code> elements and more."
|
||
]
|
||
},
|
||
"workshop-quincys-job-tips": {
|
||
"title": "Build Quincy's Job Tips Page",
|
||
"intro": [
|
||
"In this workshop, you will practice working with semantic HTML by using the <code>q</code>, <code>blockquote</code> and <code>cite</code> elements."
|
||
]
|
||
},
|
||
"lecture-working-with-specialized-semantic-elements": {
|
||
"title": "Working with Specialized Semantic Elements",
|
||
"intro": [
|
||
"In this lecture, you will learn about specialized semantic elements like <code>u</code>, <code>s</code>, <code>code</code> elements and more."
|
||
]
|
||
},
|
||
"workshop-blog-page": {
|
||
"title": "Build a Cat Blog Page",
|
||
"intro": [
|
||
"In this workshop, you will build an HTML only blog page using semantic elements including the <code>main</code>, <code>nav</code>, <code>article</code> and <code>footer</code> elements."
|
||
]
|
||
},
|
||
"lab-event-hub": {
|
||
"title": "Build an Event Hub",
|
||
"intro": [
|
||
"In this lab, you'll build an event hub and review semantic elements like <code>header</code>, <code>nav</code>, <code>article</code>, and more."
|
||
]
|
||
},
|
||
"review-semantic-html": {
|
||
"title": "Semantic HTML Review",
|
||
"intro": [
|
||
"Before you are quizzed on semantic HTML, you first need to review the concepts.",
|
||
"Open up this page to review the <code>em</code>, <code>strong</code>, <code>blockquote</code>, <code>address</code> and more semantic HTML elements."
|
||
]
|
||
},
|
||
"quiz-semantic-html": {
|
||
"title": "Semantic HTML Quiz",
|
||
"intro": [
|
||
"The following quiz will test your knowledge on semantic HTML concepts you have learned so far.",
|
||
"If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions."
|
||
]
|
||
},
|
||
"lecture-working-with-forms": {
|
||
"title": "Working with Forms",
|
||
"intro": [
|
||
"In these lectures, you will learn about forms, the role of labels, inputs and buttons in creating forms, client-side form validation, and form states."
|
||
]
|
||
},
|
||
"workshop-hotel-feedback-form": {
|
||
"title": "Build a Hotel Feedback Form",
|
||
"intro": [
|
||
"In this workshop, you will build a Hotel Feedback Form.",
|
||
"You will practice working with labels, inputs, fieldsets, legends, textareas and buttons."
|
||
]
|
||
},
|
||
"lecture-working-with-tables": {
|
||
"title": "Working with Tables",
|
||
"intro": [
|
||
"In these lectures, you will learn about HTML tables, how to create them, and when to use them."
|
||
]
|
||
},
|
||
"workshop-final-exams-table": {
|
||
"title": "Build a Final Exams Table",
|
||
"intro": [
|
||
"In this workshop, you will practice working with HTML tables by building a table of final exams."
|
||
]
|
||
},
|
||
"lab-book-catalog-table": {
|
||
"title": "Build a Book Catalog Table",
|
||
"intro": [
|
||
"In this lab, you'll review HTML tables by building a book information table.",
|
||
"You'll practice the different table components like the <code>thead</code>, <code>tbody</code>, <code>th</code>, <code>tr</code>, and <code>td</code> elements."
|
||
]
|
||
},
|
||
"lecture-working-with-html-tools": {
|
||
"title": "Working with HTML Tools",
|
||
"intro": [
|
||
"In these lectures, you will learn about HTML tools and how they let you write better code. These tools include HTML validators, DOM Inspector, and the browser developer tools."
|
||
]
|
||
},
|
||
"review-html-tables-and-forms": {
|
||
"title": "HTML Tables and Forms Review",
|
||
"intro": [
|
||
"Before you are quizzed on HTML forms, tables and tools, you first need to review the concepts.",
|
||
"Open up this page to review the <code>table</code>, <code>input</code>, and <code>button</code> elements as well as commonly used tools like the HTML validator and more."
|
||
]
|
||
},
|
||
"quiz-html-tables-and-forms": {
|
||
"title": "HTML Tables and Forms Quiz",
|
||
"intro": [
|
||
"The following quiz will test your knowledge of HTML tables, forms and commonly used HTML tools.",
|
||
"If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions."
|
||
]
|
||
},
|
||
"lab-survey-form": {
|
||
"title": "Build a Survey Form",
|
||
"intro": [
|
||
"In this lab, you'll review HTML forms by creating a survey form.",
|
||
"You'll practice working with the <code>label</code> element, the different <code>input</code> elements, the <code>required</code> attribute, and more. "
|
||
]
|
||
},
|
||
"lecture-importance-of-accessibility-and-good-html-structure": {
|
||
"title": "Importance of Accessibility and Good HTML Structure",
|
||
"intro": [
|
||
"In these lectures, you will learn about accessibility and its importance, assistive tools for people with disabilities, HTML attributes that let you create inclusive websites, accessibility best practices, and much more."
|
||
]
|
||
},
|
||
"workshop-debug-coding-journey-blog-page": {
|
||
"title": "Debug a Coding Journey Blog Page",
|
||
"intro": [
|
||
"In this workshop, you will debug and fix accessibility errors in a coding blog page."
|
||
]
|
||
},
|
||
"lecture-accessible-tables-forms": {
|
||
"title": "Working with Accessible Tables and Forms",
|
||
"intro": [
|
||
"In these lectures, you will learn about how to create accessible tables and forms."
|
||
]
|
||
},
|
||
"workshop-tech-conference-schedule": {
|
||
"title": "Build a Tech Conference Schedule Table",
|
||
"intro": [
|
||
"In this workshop, you will build an accessible tech conference schedule table."
|
||
]
|
||
},
|
||
"lab-debug-donation-form": {
|
||
"title": "Debug a Donation Form",
|
||
"intro": [
|
||
"In this lab you will debug a donation form by fixing HTML syntax errors and improving accessibility."
|
||
]
|
||
},
|
||
"lecture-introduction-to-aria": {
|
||
"title": "Introduction to ARIA",
|
||
"intro": [
|
||
"In these lectures, you will learn about working with ARIA roles."
|
||
]
|
||
},
|
||
"workshop-accessible-audio-controller": {
|
||
"title": "Build an Accessible Audio Controller",
|
||
"intro": [
|
||
"In this workshop, you will practice accessible HTML by building an audio controller that uses the <code>aria-labelledby</code> attribute."
|
||
]
|
||
},
|
||
"lecture-accessible-media-elements": {
|
||
"title": "Working with Accessible Media Elements",
|
||
"intro": [
|
||
"In these lectures, you will learn about how to create accessible links, audio and video content."
|
||
]
|
||
},
|
||
"lab-checkout-page": {
|
||
"title": "Build a Checkout Page",
|
||
"intro": [
|
||
"In this lab, you'll create an accessible checkout page.",
|
||
"You'll practice concepts like <code>alt</code> attributes and ARIA roles."
|
||
]
|
||
},
|
||
"lab-movie-review-page": {
|
||
"title": "Design a Movie Review Page",
|
||
"intro": [
|
||
"In this lab, you'll create a movie review page.",
|
||
"You'll practice concepts like semantic HTML, <code>alt</code> attributes, accessible lists, and hiding decorative content from screen readers using <code>aria-hidden</code>."
|
||
]
|
||
},
|
||
"lab-multimedia-player": {
|
||
"title": "Build a Multimedia Player",
|
||
"intro": [
|
||
"In this lab, you'll build a multimedia player.",
|
||
"You will practice working with the <code>audio</code> and <code>video</code> elements, the <code>controls</code> attribute, and the <code>aria-label</code> attribute."
|
||
]
|
||
},
|
||
"review-html-accessibility": {
|
||
"title": "HTML Accessibility Review",
|
||
"intro": [
|
||
"Before you are quizzed on HTML and accessibility, you first need to review the concepts.",
|
||
"Open up this page to review concepts including the <code>aria-hidden</code>, <code>aria-describedby</code>, <code>tabindex</code> attributes and more."
|
||
]
|
||
},
|
||
"quiz-html-accessibility": {
|
||
"title": "HTML Accessibility Quiz",
|
||
"intro": [
|
||
"The following quiz will test your knowledge on the accessibility concepts you have learned so far.",
|
||
"If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions."
|
||
]
|
||
},
|
||
"review-html": {
|
||
"title": "HTML Review",
|
||
"intro": [
|
||
"Before you take the HTML prep exam, you first need to review the concepts taught in the previous modules.",
|
||
"Open up this page to review concepts around the basics of HTML elements, semantic HTML, tables, forms and accessibility."
|
||
]
|
||
},
|
||
"lecture-understanding-computer-internet-and-tooling-basics": {
|
||
"title": "Understanding Computer, Internet, and Tooling Basics",
|
||
"intro": [
|
||
"In these lectures, you will learn about the computer, its different parts, internet service providers (ISPs), and the tools professional developers use."
|
||
]
|
||
},
|
||
"lecture-working-with-file-systems": {
|
||
"title": "Working with File Systems",
|
||
"intro": [
|
||
"In these lectures, you will learn how to work with file and folder systems on your computers. You will learn how to create, move, and delete files and folders, the best practices for naming and organizing files and folders, and more."
|
||
]
|
||
},
|
||
"lecture-browsing-the-web-effectively": {
|
||
"title": "Browsing the Web Effectively",
|
||
"intro": [
|
||
"In these lectures, you will learn about what websites, search engine, and web browsers are, the different browsers available, and how to get the best out of a search engine."
|
||
]
|
||
},
|
||
"review-computer-basics": {
|
||
"title": "Computer Basics Review",
|
||
"intro": [
|
||
"Before you are quizzed on basic computer and internet concepts, you first need to review.",
|
||
"Open up this page to review concepts like RAM, Internet service providers, common web browsers, search engines and more."
|
||
]
|
||
},
|
||
"quiz-computer-basics": {
|
||
"title": "Computer Basics Quiz",
|
||
"intro": [
|
||
"Test what you've learned in this quiz of basic computer knowledge."
|
||
]
|
||
},
|
||
"lecture-what-is-css": {
|
||
"title": "What Is CSS?",
|
||
"intro": [
|
||
"The following lectures are all about CSS. You will learn what CSS is and its role on the web, a CSS rule and its anatomy, the three ways to write CSS and when to use each, inline and block elements, and many more."
|
||
]
|
||
},
|
||
"workshop-cafe-menu": {
|
||
"title": "Design a Cafe Menu",
|
||
"intro": [
|
||
"CSS tells the browser how to display your webpage. You can use CSS to set the color, font, size, and other aspects of HTML elements.",
|
||
"In this workshop, you'll learn CSS by designing a menu page for a cafe webpage."
|
||
]
|
||
},
|
||
"lab-business-card": {
|
||
"title": "Design a Business Card",
|
||
"intro": [
|
||
"In this lab, you'll create a business card and style it using CSS.",
|
||
"You'll practice style properties like <code>color</code>, <code>font-size</code>, <code>text-align</code>, and more."
|
||
]
|
||
},
|
||
"lecture-css-specificity-the-cascade-algorithm-and-inheritance": {
|
||
"title": "CSS Specificity, the Cascade Algorithm, and Inheritance",
|
||
"intro": [
|
||
"In these lectures, you will learn about CSS specificity, the common selectors and their specificities, the cascade algorithm, inheritance, and more."
|
||
]
|
||
},
|
||
"review-basic-css": {
|
||
"title": "CSS Fundamentals Review",
|
||
"intro": [
|
||
"Before you are quizzed on basic CSS concepts, you first need to review.",
|
||
"Open up this page to review concepts including <code>margin</code>, <code>padding</code>, CSS combinators, CSS specificity and more."
|
||
]
|
||
},
|
||
"quiz-basic-css": {
|
||
"title": "CSS Fundamentals Quiz",
|
||
"intro": [
|
||
"Test what you've learned in this quiz of basic CSS knowledge."
|
||
]
|
||
},
|
||
"lecture-styling-lists-and-links": {
|
||
"title": "Styling Lists and Links",
|
||
"intro": [
|
||
"In these lectures, you will learn the properties you need to know to effectively style lists and links, including link states like <code>link</code>, <code>visited</code>, <code>hover</code>, and <code>active</code>."
|
||
]
|
||
},
|
||
"lab-stylized-to-do-list": {
|
||
"title": "Build a Stylized To-Do List",
|
||
"intro": [
|
||
"In this lab, you'll build a To-Do list and apply different styles to the links",
|
||
"You'll practice style properties like <code>text-decoration</code>, <code>list-style-type</code> and how to change styles on hover or click."
|
||
]
|
||
},
|
||
"lecture-working-with-backgrounds-and-borders": {
|
||
"title": "Working with Backgrounds and Borders",
|
||
"intro": [
|
||
"In these lectures, you will learn about the properties and values you need to know to style backgrounds and borders of elements, alongside the accessibility considerations for backgrounds."
|
||
]
|
||
},
|
||
"lab-blog-post-card": {
|
||
"title": "Design a Blog Post Card",
|
||
"intro": [
|
||
"In this lab, you'll design a blog post card using HTML and CSS",
|
||
"You'll practice concepts like <code>background-color</code>, <code>border-radius</code>, margins, paddings, and more."
|
||
]
|
||
},
|
||
"review-css-backgrounds-and-borders": {
|
||
"title": "Lists, Links, CSS Background and Borders Review",
|
||
"intro": [
|
||
"Before you are quizzed on CSS backgrounds and borders, you first need to review.",
|
||
"Open up this page to review concepts including the <code>background-image</code> property, <code>border</code> property and more."
|
||
]
|
||
},
|
||
"quiz-css-backgrounds-and-borders": {
|
||
"title": "CSS Backgrounds and Borders Quiz",
|
||
"intro": [
|
||
"Test what you've learned in this quiz of backgrounds and borders in CSS."
|
||
]
|
||
},
|
||
"lecture-user-interface-design-fundamentals": {
|
||
"title": "User Interface Design Fundamentals",
|
||
"intro": [
|
||
"In these lectures, you will learn about the fundamentals of user interface (UI) design. You will learn about the terms you need to know to communicate with designers, visual hierarchy, scaling, alignment, whitespace, and much more."
|
||
]
|
||
},
|
||
"lecture-user-centered-design": {
|
||
"title": "User-Centered Design",
|
||
"intro": [
|
||
"In these lectures, you will learn about best practices for designing user-facing features like dark mode, breadcrumbs, modal dialogs, and much more. You will also learn how to conduct user research, user requirements and testing."
|
||
]
|
||
},
|
||
"lecture-common-design-tools": {
|
||
"title": "Common Design Tools",
|
||
"intro": [
|
||
"In these lectures, you will learn about the common design tools developers should know. You will also learn about design briefs and how developers work with them."
|
||
]
|
||
},
|
||
"review-design-fundamentals": {
|
||
"title": "Design Fundamentals Review",
|
||
"intro": [
|
||
"Before you are quizzed on the design fundamentals you have learned so far, you first need to review.",
|
||
"Open up this page to review concepts like user-centered design, scale, alignment, good visual hierarchy and more."
|
||
]
|
||
},
|
||
"quiz-design-fundamentals": {
|
||
"title": "Design Fundamentals Quiz",
|
||
"intro": [
|
||
"Test what you've learned in this quiz of UI design fundamentals."
|
||
]
|
||
},
|
||
"lecture-working-with-relative-and-absolute-units": {
|
||
"title": "Working with Relative and Absolute Units",
|
||
"intro": [
|
||
"In these lectures, you will learn about relative and absolute units, and how they both impact what you see in the browser."
|
||
]
|
||
},
|
||
"lab-event-flyer-page": {
|
||
"title": "Build an Event Flyer Page",
|
||
"intro": [
|
||
"In this lab, you'll create an event flyer page.",
|
||
"You will practice aligning elements using absolute and relative CSS."
|
||
]
|
||
},
|
||
"review-css-relative-and-absolute-units": {
|
||
"title": "CSS Relative and Absolute Units Review",
|
||
"intro": [
|
||
"Before you are quizzed on relative and absolute units, you first need to review.",
|
||
"Open up this page to review concepts like percentages, <code>px</code>, <code>rem</code>, <code>em</code>, and more."
|
||
]
|
||
},
|
||
"quiz-css-relative-and-absolute-units": {
|
||
"title": "CSS Relative and Absolute Units Quiz",
|
||
"intro": [
|
||
"Test what you've learned in this quiz of relative and absolute units in CSS."
|
||
]
|
||
},
|
||
"lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": {
|
||
"title": "Working with Pseudo-Classes and Pseudo-Elements in CSS",
|
||
"intro": [
|
||
"In these lectures, you will learn about pseudo-classes and pseudo-elements, alongside their examples and how they work."
|
||
]
|
||
},
|
||
"workshop-greeting-card": {
|
||
"title": "Design a Greeting Card",
|
||
"intro": [
|
||
"In the previous lectures, you learned how to work with the different types of pseudo-classes.",
|
||
"In this workshop, you will have a chance to practice what you have learned by designing a greeting card."
|
||
]
|
||
},
|
||
"workshop-parent-teacher-conference-form": {
|
||
"title": "Design a Parent Teacher Conference Form",
|
||
"intro": [
|
||
"In this workshop, you will practice how to style radio buttons with different types of pseudo-selectors by building a parent-teacher conference form.",
|
||
"You'll practice concepts including the <code>::before</code> pseudo-element selector, the <code>transform</code> property, and more."
|
||
]
|
||
},
|
||
"lab-job-application-form": {
|
||
"title": "Build a Job Application Form",
|
||
"intro": [
|
||
"In this lab you'll build a job application form and style it using pseudo-classes.",
|
||
"You'll practice concepts like <code>:hover</code>, <code>:active</code>, <code>:focus</code>, and more."
|
||
]
|
||
},
|
||
"review-css-pseudo-classes": {
|
||
"title": "CSS Pseudo-classes Review",
|
||
"intro": [
|
||
"Before you're quizzed on CSS pseudo-classes and pseudo-elements, you should review what you've learned about them.",
|
||
"Open up this page to review concepts like the <code>::before</code> and <code>::after</code> pseudo-elements as well as the <code>:hover</code>, <code>:active</code> pseudo-classes and more."
|
||
]
|
||
},
|
||
"quiz-css-pseudo-classes": {
|
||
"title": "CSS Pseudo-classes Quiz",
|
||
"intro": ["Test your knowledge of CSS pseudo-classes with this quiz."]
|
||
},
|
||
"lecture-working-with-colors-in-css": {
|
||
"title": "Working with Colors in CSS",
|
||
"intro": [
|
||
"In these lectures, you will learn about linear and radial gradients, the color theory, different kinds of colors like named, RGB, Hex, and HSL colors. You will learn how these colors work, and which to use in specific cases."
|
||
]
|
||
},
|
||
"workshop-colored-markers": {
|
||
"title": "Build a Set of Colored Markers",
|
||
"intro": [
|
||
"In this workshop, you'll build a set of colored markers. You'll practice different ways to set color values and how to pair colors with each other."
|
||
]
|
||
},
|
||
"lab-colored-boxes": {
|
||
"title": "Design a Set of Colored Boxes",
|
||
"intro": [
|
||
"In this lab, you'll create a color grid and practice adding background colors to the grid items using hex codes, RGB, and predefined color names."
|
||
]
|
||
},
|
||
"review-css-colors": {
|
||
"title": "CSS Colors Review",
|
||
"intro": [
|
||
"Before you're quizzed on CSS colors, you should review what you've learned about them.",
|
||
"Open up this page to review concepts like the <code>rgb()</code> function, <code>hsl()</code> function, <code>hex codes</code>, and more."
|
||
]
|
||
},
|
||
"quiz-css-colors": {
|
||
"title": "CSS Colors Quiz",
|
||
"intro": ["Test your knowledge of CSS colors with this quiz."]
|
||
},
|
||
"lecture-best-practices-for-styling-forms": {
|
||
"title": "Best Practices for Styling Forms",
|
||
"intro": [
|
||
"In these lectures, you will learn about the best practices for styling forms and issues you can encounter while styling special inputs like <code>color</code> and <code>datetime-local</code>."
|
||
]
|
||
},
|
||
"workshop-registration-form": {
|
||
"title": "Design a Registration Form",
|
||
"intro": [
|
||
"In this workshop, you'll learn how to design HTML forms by designing a signup page. You'll learn how to control what types of data people can type into your form, and some new CSS tools for styling your page."
|
||
]
|
||
},
|
||
"lab-contact-form": {
|
||
"title": "Design a Contact Form",
|
||
"intro": [
|
||
"In this lab, you'll design a contact form in HTML and style it using CSS."
|
||
]
|
||
},
|
||
"workshop-game-settings-panel": {
|
||
"title": "Build a Game Settings Panel",
|
||
"intro": [
|
||
"In this workshop, you will practice styling checkboxes by building a game settings panel."
|
||
]
|
||
},
|
||
"lab-feature-selection": {
|
||
"title": "Design a Feature Selection Page",
|
||
"intro": [
|
||
"In this lab, you'll build a feature selection page with custom-styled checkboxes.",
|
||
"You'll create feature cards with labels and checkboxes, then give custom styling to the checkboxes."
|
||
]
|
||
},
|
||
"review-styling-forms": {
|
||
"title": "Styling Forms Review",
|
||
"intro": [
|
||
"Before you're quizzed on styling forms, you should review what you've learned.",
|
||
"Open up this page to review how to style form inputs, working with <code>appearance: none</code> and more."
|
||
]
|
||
},
|
||
"quiz-styling-forms": {
|
||
"title": "Styling Forms Quiz",
|
||
"intro": [
|
||
"In this quiz, you will test your knowledge of how to style forms."
|
||
]
|
||
},
|
||
"lecture-working-with-css-transforms-overflow-and-filters": {
|
||
"title": "Working with CSS Transforms, Overflow, and Filters",
|
||
"intro": [
|
||
"In these lectures, you will learn about working with CSS transforms, overflow, and filters. You will also learn about the box model and how it works."
|
||
]
|
||
},
|
||
"workshop-rothko-painting": {
|
||
"title": "Design a Rothko Painting",
|
||
"intro": [
|
||
"Every HTML element is its own box – with its own spacing and a border. This is called the Box Model.",
|
||
"In this workshop, you'll use CSS and the Box Model to create your own Rothko-style rectangular art pieces."
|
||
]
|
||
},
|
||
"lab-confidential-email-page": {
|
||
"title": "Build a Confidential Email Page",
|
||
"intro": [
|
||
"In this lab, you'll create a web page using HTML and mask the content using CSS properties."
|
||
]
|
||
},
|
||
"review-css-layout-and-effects": {
|
||
"title": "CSS Layouts and Effects Review",
|
||
"intro": [
|
||
"Before you are quizzed on CSS Layouts and Effects, you first need to review.",
|
||
"Open up this page to review concepts like the <code>transform</code> property, the box model, the <code>overflow</code> property and more."
|
||
]
|
||
},
|
||
"quiz-css-layout-and-effects": {
|
||
"title": "CSS Layout and Effects Quiz",
|
||
"intro": [
|
||
"In this quiz, you will test your knowledge of the box model, transforms, filters, and overflow in CSS."
|
||
]
|
||
},
|
||
"lecture-working-with-css-flexbox": {
|
||
"title": "Working with CSS Flexbox",
|
||
"intro": [
|
||
"In these lectures, you will learn how CSS flexbox works, its properties, and when you should use it."
|
||
]
|
||
},
|
||
"workshop-flexbox-photo-gallery": {
|
||
"title": "Build a Flexbox Photo Gallery",
|
||
"intro": [
|
||
"In this workshop, you'll use Flexbox to build a responsive photo gallery webpage."
|
||
]
|
||
},
|
||
"workshop-colorful-boxes": {
|
||
"title": "Design a Set of Colorful Boxes",
|
||
"intro": [
|
||
"In this workshop, you will practice working with CSS flexbox by designing a set of colored boxes."
|
||
]
|
||
},
|
||
"lab-pricing-plans-layout": {
|
||
"title": "Design a Pricing Plans Layout Page",
|
||
"intro": [
|
||
"In this lab, you'll use flexbox to create a common three-card tier layout.",
|
||
"You'll practice aligning elements using flexbox properties like <code>flex</code>, <code>flex-grow</code>, <code>order</code>, and more."
|
||
]
|
||
},
|
||
"review-css-flexbox": {
|
||
"title": "CSS Flexbox Review",
|
||
"intro": [
|
||
"Before you're quizzed on CSS flexbox, you should review what you've learned.",
|
||
"Open up this page to review concepts like the <code>flex-direction</code>, <code>justify-content</code>, <code>align-items</code>, <code>flex-wrap</code> properties, and more."
|
||
]
|
||
},
|
||
"quiz-css-flexbox": {
|
||
"title": "CSS Flexbox Quiz",
|
||
"intro": ["Test what you've learned on CSS flexbox with this quiz."]
|
||
},
|
||
"lab-page-of-playing-cards": {
|
||
"title": "Build a Page of Playing Cards",
|
||
"intro": [
|
||
"In this lab, you'll use flexbox to create a webpage of playing cards.",
|
||
"You'll practice aligning elements using flexbox properties like <code>flex-direction</code>, <code>justify-content</code>, <code>align-self</code>, and more."
|
||
]
|
||
},
|
||
"lecture-working-with-css-fonts": {
|
||
"title": "Working with CSS Fonts",
|
||
"intro": [
|
||
"In these lectures, you will learn about typography and its best practices, fonts, and the <code>text-shadow</code> property."
|
||
]
|
||
},
|
||
"workshop-nutritional-label": {
|
||
"title": "Build a Nutritional Label",
|
||
"intro": [
|
||
"Typography is the art of styling your text to be easily readable and suit its purpose.",
|
||
"In this workshop, you'll use typography to build a nutrition label webpage. You'll practice how to style text, adjust line height, and position your text using CSS."
|
||
]
|
||
},
|
||
"lab-newspaper-article": {
|
||
"title": "Build a Newspaper Article",
|
||
"intro": [
|
||
"In this lab, you'll build a newspaper article page using HTML and CSS.",
|
||
"You'll style the fonts using properties like <code>font-family</code>, <code>font-size</code>, <code>font-weight</code>, and more."
|
||
]
|
||
},
|
||
"review-css-typography": {
|
||
"title": "CSS Typography Review",
|
||
"intro": [
|
||
"Before you're quizzed on the fundamentals of typography, you should review what you've learned.",
|
||
"Open up this page to review concepts like web safe fonts, the <code>font-family</code> property and more."
|
||
]
|
||
},
|
||
"quiz-css-typography": {
|
||
"title": "CSS Typography Quiz",
|
||
"intro": ["Test your knowledge of typography with this quiz."]
|
||
},
|
||
"lecture-best-practices-for-accessibility-and-css": {
|
||
"title": "Best Practices for Accessibility and CSS",
|
||
"intro": [
|
||
"In these lectures, you will learn about best practices for accessibility in CSS, and the tools for checking good color contrast on websites."
|
||
]
|
||
},
|
||
"workshop-accessibility-quiz": {
|
||
"title": "Build a Quiz Webpage",
|
||
"intro": [
|
||
"Accessibility is the process of making your webpages usable for everyone, including people with disabilities.",
|
||
"In this workshop, you'll build a quiz webpage. You'll learn accessibility tools such as keyboard shortcuts, ARIA attributes, and design best practices."
|
||
]
|
||
},
|
||
"lab-tribute-page": {
|
||
"title": "Build a Tribute Page",
|
||
"intro": [
|
||
"In this lab, you'll build a tribute page for a subject of your choosing, fictional or real."
|
||
]
|
||
},
|
||
"review-css-accessibility": {
|
||
"title": "CSS Accessibility Review",
|
||
"intro": [
|
||
"Before you're quizzed on CSS and accessibility, you should review what you've learned.",
|
||
"Open up this page to review concepts like color contrast tools and accessibility best practices."
|
||
]
|
||
},
|
||
"quiz-css-accessibility": {
|
||
"title": "CSS Accessibility Quiz",
|
||
"intro": [
|
||
"In this quiz, you'll test what you've learned about making your webpages accessible with CSS."
|
||
]
|
||
},
|
||
"lecture-understanding-how-to-work-with-floats-and-positioning-in-css": {
|
||
"title": "Understanding How to Work with Floats and Positioning in CSS",
|
||
"intro": [
|
||
"In these lectures, you will learn how to use CSS positioning and floats. You will learn about <code>absolute</code>, <code>relative</code>, <code>fixed</code>, and <code>sticky</code> positioning. You will also use the <code>z-index</code> property."
|
||
]
|
||
},
|
||
"workshop-cat-painting": {
|
||
"title": "Build a Cat Painting",
|
||
"intro": [
|
||
"Mastering CSS positioning is essential for creating visually appealing and responsive web layouts.",
|
||
"In this workshop, you will build a cat painting. You'll learn about how to work with absolute positioning, the <code>z-index</code> property, and the <code>transform</code> property."
|
||
]
|
||
},
|
||
"lab-house-painting": {
|
||
"title": "Build a House Painting",
|
||
"intro": [
|
||
"In this lab, you'll build a house painting using CSS.",
|
||
"You'll design individual elements of the house and position them using CSS properties like <code>position</code>, <code>top</code>, <code>left</code>, and more."
|
||
]
|
||
},
|
||
"review-css-positioning": {
|
||
"title": "CSS Positioning Review",
|
||
"intro": [
|
||
"Before you're quizzed on the fundamentals of CSS positioning, you should review what you've learned.",
|
||
"Open up this page to review concepts like floats, relative positioning, absolute positioning and more."
|
||
]
|
||
},
|
||
"quiz-css-positioning": {
|
||
"title": "CSS Positioning Quiz",
|
||
"intro": ["Test your knowledge of CSS positioning with this quiz."]
|
||
},
|
||
"lecture-working-with-attribute-selectors": {
|
||
"title": "Working with Attribute Selectors",
|
||
"intro": [
|
||
"In these lectures, you will learn about attribute selectors and how to use them to target elements like links and lists."
|
||
]
|
||
},
|
||
"workshop-balance-sheet": {
|
||
"title": "Build a Balance Sheet",
|
||
"intro": [
|
||
"In this workshop, you'll build a balance sheet using pseudo selectors. You'll learn how to change the style of an element when you hover over it with your mouse, and trigger other events on your webpage."
|
||
]
|
||
},
|
||
"review-css-attribute-selectors": {
|
||
"title": "CSS Attribute Selectors Review",
|
||
"intro": [
|
||
"Before you're quizzed on the fundamentals of CSS attribute selectors, you should review what you've learned about them.",
|
||
"Open up this page to review concepts like how to work with different attribute selectors that target links with the <code>href</code> and <code>title</code> attributes."
|
||
]
|
||
},
|
||
"quiz-css-attribute-selectors": {
|
||
"title": "CSS Attribute Selectors Quiz",
|
||
"intro": [
|
||
"Test your knowledge of CSS attribute selectors with this quiz."
|
||
]
|
||
},
|
||
"lab-book-inventory-app": {
|
||
"title": "Build a Book Inventory App",
|
||
"intro": [
|
||
"In this lab, you'll create a book inventory app.",
|
||
"You'll practice CSS attribute selectors like <code>[attribute]</code>, <code>[attribute=value]</code>, <code>[attribute~=value]</code>, and more."
|
||
]
|
||
},
|
||
"lecture-best-practices-for-responsive-web-design": {
|
||
"title": "Best Practices for Responsive Web Design",
|
||
"intro": [
|
||
"In these lectures, you will learn about the best practices for responsive web design, the roles concepts like grid, flexbox, media queries, and media breakpoints play in responsive design, and more."
|
||
]
|
||
},
|
||
"workshop-piano": {
|
||
"title": "Design a Piano",
|
||
"intro": [
|
||
"Responsive Design tells your webpage how it should look on different-sized screens.",
|
||
"In this workshop, you'll use CSS and responsive design to code a piano. You'll also practice media queries and pseudo selectors."
|
||
]
|
||
},
|
||
"review-responsive-web-design": {
|
||
"title": "Responsive Web Design Review",
|
||
"intro": [
|
||
"Before you're quizzed on the fundamentals of responsive design, you should review what you've learned.",
|
||
"Open up this page to review concepts like media queries, media breakpoints and mobile first approach design."
|
||
]
|
||
},
|
||
"quiz-responsive-web-design": {
|
||
"title": "Responsive Web Design Quiz",
|
||
"intro": [
|
||
"Test what you've learned about making your webpages responsive with this quiz."
|
||
]
|
||
},
|
||
"lab-technical-documentation-page": {
|
||
"title": "Build a Technical Documentation Page",
|
||
"intro": [
|
||
"In this lab, you'll build a technical documentation page to serve as instruction or reference for a topic.",
|
||
"You'll also practice media queries to create a responsive design."
|
||
]
|
||
},
|
||
"lecture-working-with-css-variables": {
|
||
"title": "Working with CSS Variables",
|
||
"intro": [
|
||
"In these lectures, you will learn how to define and use custom properties (also known as CSS variables). You will also learn about the <code>@property</code> rule and how it works."
|
||
]
|
||
},
|
||
"workshop-city-skyline": {
|
||
"title": "Build a City Skyline",
|
||
"intro": [
|
||
"CSS variables help you organize your styles and reuse them.",
|
||
"In this workshop, you'll build a city skyline. You'll practice how to configure CSS variables so you can reuse them whenever you want."
|
||
]
|
||
},
|
||
"lab-availability-table": {
|
||
"title": "Build an Availability Table",
|
||
"intro": [
|
||
"For this lab, you'll create an availability table that shows the availability of people for a meeting.",
|
||
"You'll practice using CSS variables to store and reuse colors, fonts, and other styles."
|
||
]
|
||
},
|
||
"review-css-variables": {
|
||
"title": "CSS Variables Review",
|
||
"intro": [
|
||
"Before you're quizzed on the fundamentals of CSS variables, you should review what you've learned.",
|
||
"Open up this page to review how to work with CSS custom properties (CSS variables) and the <code>@property</code> rule."
|
||
]
|
||
},
|
||
"quiz-css-variables": {
|
||
"title": "CSS Variables Quiz",
|
||
"intro": ["Test your knowledge of CSS variables with this quiz."]
|
||
},
|
||
"lecture-working-with-css-grid": {
|
||
"title": "Working with CSS Grid",
|
||
"intro": [
|
||
"In these lectures, you will learn about CSS grid, its several properties and how to use them, and how CSS grid differs from flexbox."
|
||
]
|
||
},
|
||
"workshop-magazine": {
|
||
"title": "Build a Magazine",
|
||
"intro": [
|
||
"CSS Grid gives you control over the rows and columns of your webpage design.",
|
||
"In this workshop, you'll build a magazine article. You'll practice how to use CSS Grid, including concepts like grid rows and grid columns."
|
||
]
|
||
},
|
||
"lab-newspaper-layout": {
|
||
"title": "Design a Newspaper Layout",
|
||
"intro": [
|
||
"In this lab, you will design a newspaper layout using CSS Grid, including concepts like grid rows and grid columns."
|
||
]
|
||
},
|
||
"lecture-debugging-css": {
|
||
"title": "Debugging CSS",
|
||
"intro": [
|
||
"In this lecture, you'll learn how to debug CSS using your browser's developer tools and CSS validators."
|
||
]
|
||
},
|
||
"review-css-grid": {
|
||
"title": "CSS Grid Review",
|
||
"intro": [
|
||
"Before you're quizzed on the fundamentals of CSS Grid, you should review what you've learned.",
|
||
"Open up this page to review how to work with the different CSS Grid properties like <code>grid-template-columns</code>, <code>grid-gap</code> and more."
|
||
]
|
||
},
|
||
"quiz-css-grid": {
|
||
"title": "CSS Grid Quiz",
|
||
"intro": ["Test your knowledge of CSS Grid with this quiz."]
|
||
},
|
||
"lab-product-landing-page": {
|
||
"title": "Build a Product Landing Page",
|
||
"intro": [
|
||
"In this project, you'll build a product landing page to market a product of your choice."
|
||
]
|
||
},
|
||
"lecture-animations-and-accessibility": {
|
||
"title": "Animations and Accessibility",
|
||
"intro": [
|
||
"In these lectures, you will learn about CSS animations and their accessibility concerns. You will also learn how <code>prefers-reduced-motion</code> can help address those accessibility concerns."
|
||
]
|
||
},
|
||
"workshop-ferris-wheel": {
|
||
"title": "Build an Animated Ferris Wheel",
|
||
"intro": [
|
||
"You can use CSS animation to draw attention to specific sections of your webpage and make it more engaging.",
|
||
"In this workshop, you'll build a Ferris wheel. You'll practice how to use CSS to animate elements, transform them, and adjust their speed."
|
||
]
|
||
},
|
||
"lab-moon-orbit": {
|
||
"title": "Build a Moon Orbit",
|
||
"intro": [
|
||
"In this lab, you'll create an animation of the moon orbiting the earth.",
|
||
"You'll practice animation properties like <code>animation-name</code>, <code>animation-duration</code>, <code>animation-timing-function</code>, and more."
|
||
]
|
||
},
|
||
"workshop-flappy-penguin": {
|
||
"title": "Build a Flappy Penguin",
|
||
"intro": [
|
||
"You can transform HTML elements to create appealing designs that draw your reader's eye. You can use transforms to rotate elements, scale them, and more.",
|
||
"In this workshop, you'll build a penguin. You'll use CSS transforms to position and resize the parts of your penguin, create a background, and animate your work."
|
||
]
|
||
},
|
||
"lab-personal-portfolio": {
|
||
"title": "Build a Personal Portfolio",
|
||
"intro": [
|
||
"In this project, you'll build your own personal portfolio page."
|
||
]
|
||
},
|
||
"review-css-animations": {
|
||
"title": "CSS Animations Review",
|
||
"intro": [
|
||
"Before you're quizzed on working with CSS animations, you should review what you've learned about them.",
|
||
"Open up this page to review concepts including <code>prefers-reduced-motion</code>, the <code>@keyframes</code> rule and more."
|
||
]
|
||
},
|
||
"quiz-css-animations": {
|
||
"title": "CSS Animations Quiz",
|
||
"intro": ["Test your knowledge of CSS animations with this quiz."]
|
||
},
|
||
"review-css": {
|
||
"title": "CSS Review",
|
||
"intro": [
|
||
"Before you take the CSS prep exam, you first need to review the concepts taught in the previous modules.",
|
||
"Open up this page to review concepts around the basics of CSS, responsive web design, animations, accessibility and more."
|
||
]
|
||
},
|
||
"exam-responsive-web-design-certification": {
|
||
"title": "Responsive Web Design Certification Exam",
|
||
"intro": [
|
||
"Pass this exam to earn your Responsive Web Design Certification Exam"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"a2-professional-spanish": {
|
||
"title": "A2 Professional Spanish Certification (Beta)",
|
||
"note": "This certification is currently in active development. While there isn't a claimable certification available for this section at the moment, one will be available soon. In the meantime, you're welcome to explore the courses we have created below.",
|
||
"intro": ["Placeholder intro"],
|
||
"blocks": {
|
||
"talk-about-who-you-are-by-using-key-verbs": {
|
||
"title": "Talk About Who You Are by Using Key Verbs",
|
||
"intro": [
|
||
"Learn how to introduce yourself in Spanish in a simple and professional way. In this module you'll learn how to say who you are, where you are from, what you do, how you feel, and what you like or don't like."
|
||
]
|
||
},
|
||
"get-to-know-others-by-asking-simple-questions": {
|
||
"title": "Get to Know Others by Asking Simple Questions",
|
||
"intro": [
|
||
"Learn how to ask and answer questions in simple conversations. Through five short dialogues, practice talking about routines, feelings, preferences, workspaces, and personal information. You'll also learn to ask polite questions, give short answers, and use negation naturally."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"a2-professional-chinese": {
|
||
"title": "A2 Professional Chinese Certification (Beta)",
|
||
"note": "This certification is currently in active development. While there isn't a claimable certification available for this section at the moment, one will be available soon. In the meantime, you're welcome to explore the courses we have created below.",
|
||
"intro": ["Placeholder intro"],
|
||
"blocks": {
|
||
"talk-about-what-you-do-by-using-key-verbs": {
|
||
"title": "Talk About What You Do by Using Key Verbs",
|
||
"intro": [
|
||
"Learn how to introduce yourself in Chinese in a simple and professional way. In this module you'll learn how to say who you are, where you are from, what you do, how you feel, and what you like or don't like."
|
||
]
|
||
},
|
||
"get-to-know-colleagues-by-asking-simple-questions": {
|
||
"title": "Get to Know Colleagues by Asking Simple Questions",
|
||
"intro": [
|
||
"Learn how to ask and answer questions in simple conversations. Through five short dialogues, practice talking about routines, feelings, preferences, workspaces, and personal information. You'll also learn to ask polite questions, give short answers, and use negation naturally."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"a1-professional-chinese": {
|
||
"title": "A1 Professional Chinese Certification (Beta)",
|
||
"note": "This certification is in active development. We are currently publishing the introductory chapters, and future chapters will be released as they are developed by our instructional design team. Once all the chapters are available, we will release the certification exam.",
|
||
"intro": [
|
||
"In this A1 Professional Chinese Curriculum, you'll learn the building blocks of the Chinese language. This will follow the A1 level of the Common European Framework of Reference (CEFR). And we've focused on vocabulary that is particularly useful for professional settings.",
|
||
"The curriculum is broken down into several modules that include warm-up, learning, practice, review pages, and quizzes to make sure that you truly understand the material before moving on to the next module.",
|
||
"Each chapter includes hundreds of interactive tasks designed to help you take your first steps in learning Chinese with confidence."
|
||
],
|
||
"chapters": {
|
||
"zh-a1-chapter-welcome-to-a1-professional-chinese": "Welcome to A1 Professional Chinese",
|
||
"zh-a1-chapter-pinyin": "Pinyin",
|
||
"zh-a1-chapter-greetings-and-introductions": "Greetings and Introductions",
|
||
"zh-a1-chapter-numbers-and-personal-information": "Numbers and Personal Information",
|
||
"zh-a1-chapter-expressing-what-you-can-and-cant-do": "Expressing What You Can and Can't Do"
|
||
},
|
||
"modules": {
|
||
"zh-a1-module-introduction-and-certification-overview": "Introduction and Certification Overview",
|
||
"zh-a1-module-initials-and-finals": "Initials and Finals",
|
||
"zh-a1-module-greetings-and-basic-introductions": "Greetings and Basic Introductions",
|
||
"zh-a1-module-asking-and-giving-basic-information": "Asking and Giving Basic Information",
|
||
"zh-a1-module-numbers-below-100": "Numbers Below 100",
|
||
"zh-a1-module-communicating-personal-information": "Communicating Personal Information",
|
||
"zh-a1-module-talking-about-personal-skills": "Talking about Personal Skills",
|
||
"zh-a1-module-discussing-team-skills": "Discussing Team Skills"
|
||
},
|
||
"module-intros": {
|
||
"zh-a1-module-introducing-others": {
|
||
"note": "Coming 2026",
|
||
"intro": [
|
||
"In this module, you will practice understanding short monologues that introduce information about other people, such as name, role, nationality, and age."
|
||
]
|
||
},
|
||
"zh-a1-module-getting-to-know-the-team": {
|
||
"note": "Coming 2026",
|
||
"intro": [
|
||
"In this module, you will practice understanding a short conversation that asks and answers simple questions about colleagues."
|
||
]
|
||
},
|
||
"zh-a1-module-communicating-personal-information": {
|
||
"note": "Coming 2026",
|
||
"intro": [
|
||
"In this module, you will practice understanding conversations that communicate personal information, such as age and phone numbers."
|
||
]
|
||
},
|
||
"zh-a1-module-talking-about-personal-skills": {
|
||
"note": "Coming 2026",
|
||
"intro": [
|
||
"In this module, you will practice understanding short monologues about what people can and cannot do, such as languages and work skills."
|
||
]
|
||
},
|
||
"zh-a1-module-discussing-team-skills": {
|
||
"note": "Coming 2026",
|
||
"intro": [
|
||
"In this module, you will practice understanding a short conversation about who can do which tasks on a team and how a project starts."
|
||
]
|
||
}
|
||
},
|
||
"blocks": {
|
||
"zh-a1-learn-certification-introduction": {
|
||
"title": "Certification Introduction",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-learn-simple-finals": {
|
||
"title": "Simple Finals",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-learn-initials": {
|
||
"title": "Initials",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-learn-compound-finals": {
|
||
"title": "Compound Finals",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-learn-nasal-finals": {
|
||
"title": "Nasal Finals",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-warm-up-greeting-new-colleagues": {
|
||
"title": "Greeting New Colleagues",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-learn-understanding-greetings-and-introductions": {
|
||
"title": "Understanding Greetings and Introductions",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-practice-introducing-yourself": {
|
||
"title": "Introducing Yourself",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-review-greetings-and-introductions": {
|
||
"title": "Greetings and Introductions Review",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-quiz-greetings-and-introductions": {
|
||
"title": "Greetings and Introductions Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-learn-understanding-questions-and-answers": {
|
||
"title": "Understanding Questions and Answers",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-practice-exchanging-basic-information": {
|
||
"title": "Exchanging Basic Information",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-review-introduction-questions": {
|
||
"title": "Introduction Questions Review",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-quiz-introduction-questions": {
|
||
"title": "Introduction Questions Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-warm-up-introducing-others-basics": {
|
||
"title": "Introducing Others Basics",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-learn-meeting-the-team": {
|
||
"title": "Meeting the Team",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-learn-a-new-colleague": {
|
||
"title": "A New Colleague",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-learn-my-family": {
|
||
"title": "My Family",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-practice-introducing-others": {
|
||
"title": "Introducing Others Practice",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-review-introducing-others": {
|
||
"title": "Introducing Others Review",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-quiz-check-your-introduction": {
|
||
"title": "Check Your Introduction",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-warm-up-knowing-the-team-basics": {
|
||
"title": "Knowing the Team Basics",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-learn-asking-about-the-team": {
|
||
"title": "Asking about the Team",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-practice-talking-about-others": {
|
||
"title": "Talking about Others",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-review-team-introduction": {
|
||
"title": "Team Introduction Review",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-quiz-team-introduction": {
|
||
"title": "Team Introduction Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-warm-up-personal-skills-basics": {
|
||
"title": "Personal Skills Basics",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-learn-can-or-cannot": {
|
||
"title": "Can or Can't",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-practice-personal-skills": {
|
||
"title": "Personal Skills Practice",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-review-describing-skills": {
|
||
"title": "Describing Skills Review",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-quiz-describing-skills": {
|
||
"title": "Describing Skills Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-warm-up-team-skills-basics": {
|
||
"title": "Team Skills Basics",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-learn-who-can-do-what-on-the-team": {
|
||
"title": "Who Can Do What on the Team",
|
||
"intro": ["Learn to discuss team member capabilities and roles."]
|
||
},
|
||
"zh-a1-practice-talking-about-skills": {
|
||
"title": "Talking about Skills",
|
||
"intro": ["Practice discussing various skills in team contexts."]
|
||
},
|
||
"zh-a1-review-discussing-team-skills": {
|
||
"title": "Discussing Team Skills Review",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-quiz-discussing-team-skills": {
|
||
"title": "Discussing Team Skills Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-warm-up-meeting-new-teammates": {
|
||
"title": "Meeting New Teammates",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-learn-special-spelling-rules": {
|
||
"title": "Special Spelling Rules",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-practice-pinyin": {
|
||
"title": "Pinyin Practice",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-learn-numbers-0-to-10": {
|
||
"title": "Numbers 0 to 10",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-practice-numbers-0-to-10": {
|
||
"title": "Numbers 0 to 10 Practice",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-learn-numbers-11-to-19": {
|
||
"title": "Numbers 11 to 19",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-practice-numbers-11-to-19": {
|
||
"title": "Numbers 11 to 19 Practice",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-learn-numbers-20-to-99": {
|
||
"title": "Numbers 20 to 99",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-practice-numbers-20-to-99": {
|
||
"title": "Numbers 20 to 99 Practice",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-review-numbers-below-100": {
|
||
"title": "Numbers Below 100 Review",
|
||
"intro": ["", ""]
|
||
},
|
||
"zh-a1-quiz-numbers-below-100": {
|
||
"title": "Numbers Below 100 Quiz",
|
||
"intro": ["", ""]
|
||
}
|
||
}
|
||
},
|
||
"basic-html": {
|
||
"title": "Learn Basic HTML",
|
||
"summary": [
|
||
"Learn how to build simple webpages using HTML tags to add text, images, and links."
|
||
],
|
||
"intro": [
|
||
"HTML stands for HyperText Markup Language and represents the content and structure for a web page. In this course, you will learn the basics of writing HTML."
|
||
],
|
||
"blocks": {
|
||
"workshop-curriculum-outline": {
|
||
"title": "Build a Curriculum Outline",
|
||
"intro": [
|
||
"Welcome to freeCodeCamp!",
|
||
"This workshop will serve as your introduction to HTML and coding in general. You will learn about headings and paragraph elements."
|
||
]
|
||
},
|
||
"lab-debug-camperbots-profile-page": {
|
||
"title": "Debug Camperbot's Profile Page",
|
||
"intro": [
|
||
"Camperbot is learning how to code too and needs some help with their HTML.",
|
||
"In this lab, you will help Camperbot find and fix the errors in their code."
|
||
]
|
||
},
|
||
"lecture-understanding-html-attributes": {
|
||
"title": "Understanding HTML Attributes",
|
||
"intro": [
|
||
"In these lectures, you will learn more about HTML (HyperText Markup Language), a markup language for creating web pages.",
|
||
"You will learn about HTML's role on the web, and what HTML attributes are."
|
||
]
|
||
},
|
||
"lab-debug-pet-adoption-page": {
|
||
"title": "Debug a Pet Adoption Page",
|
||
"intro": [
|
||
"In this lab, you will need to find and fix the errors in this pet adoption page."
|
||
]
|
||
},
|
||
"lecture-understanding-the-html-boilerplate": {
|
||
"title": "Understanding the HTML Boilerplate",
|
||
"intro": [
|
||
"In these lectures, you will learn about the HTML boilerplate which is a ready-made template for your webpages.",
|
||
"You will learn how to work with the <code>link</code> element, <code>meta</code> element and more."
|
||
]
|
||
},
|
||
"workshop-cat-photo-app": {
|
||
"title": "Build a Cat Photo App",
|
||
"intro": [
|
||
"HTML stands for HyperText Markup Language and it represents the content and structure of a web page.",
|
||
"In this workshop, you will learn how to work with basic HTML elements such as headings, paragraphs, images, links, and lists."
|
||
]
|
||
},
|
||
"lab-recipe-page": {
|
||
"title": "Build a Recipe Page",
|
||
"intro": [
|
||
"In this lab, you'll review HTML basics by creating a web page of your favorite recipe. You'll create an HTML boilerplate and work with headings, lists, images, and more."
|
||
]
|
||
},
|
||
"lecture-html-fundamentals": {
|
||
"title": "HTML Fundamentals",
|
||
"intro": [
|
||
"In these lectures, you will learn about HTML fundamentals like the <code>div</code> element, the <code>id</code> and <code>class</code> attributes, the HTML boilerplate, HTML entities, and more."
|
||
]
|
||
},
|
||
"workshop-bookstore-page": {
|
||
"title": "Build a Bookstore Page",
|
||
"intro": [
|
||
"In this workshop, you will practice working with classes, ids and the <code>div</code> element by building a bookstore page."
|
||
]
|
||
},
|
||
"lecture-understanding-how-html-affects-seo": {
|
||
"title": "Understanding How HTML Affects SEO",
|
||
"intro": [
|
||
"In these lectures, you will learn how your HTML code impacts search engine optimization."
|
||
]
|
||
},
|
||
"lab-travel-agency-page": {
|
||
"title": "Build a Travel Agency Page",
|
||
"intro": [
|
||
"In this lab, you'll review working with HTML fundamentals by creating a web page for a travel agency. You'll work with images, the <code>figure</code> element, the <code>figcaption</code> element, the <code>anchor</code> element, and more."
|
||
]
|
||
},
|
||
"lecture-working-with-audio-and-video-elements": {
|
||
"title": "Working with Audio and Video Elements",
|
||
"intro": [
|
||
"In these lectures, you will learn how to work with the <code>audio</code> and <code>video</code> elements."
|
||
]
|
||
},
|
||
"workshop-html-video-player": {
|
||
"title": "Build an HTML Video Player",
|
||
"intro": [
|
||
"In this workshop, you'll use HTML to create a basic video player.",
|
||
"This project will cover the <code>video</code> element, the video player setup, and more."
|
||
]
|
||
},
|
||
"lab-html-audio-and-video-player": {
|
||
"title": "Build an HTML Audio and Video Player",
|
||
"intro": [
|
||
"In this lab, you will build an HTML audio and video player using the <code>video</code> and <code>audio</code> elements with controls and source attributes."
|
||
]
|
||
},
|
||
"lecture-working-with-images-and-svgs": {
|
||
"title": "Working with Images and SVGs",
|
||
"intro": [
|
||
"In these lectures, you will learn how to work with SVGs and learn about techniques for optimizing your images."
|
||
]
|
||
},
|
||
"workshop-build-a-heart-icon": {
|
||
"title": "Build a Heart Icon",
|
||
"intro": [
|
||
"In this workshop, you will practice working with SVGs by building a heart icon"
|
||
]
|
||
},
|
||
"lecture-working-with-media": {
|
||
"title": "Working with the iframe Element",
|
||
"intro": [
|
||
"In these lectures, you will learn how to work with the <code>iframe</code> element which is used to embed an external site on your web page."
|
||
]
|
||
},
|
||
"workshop-build-a-video-display-using-iframe": {
|
||
"title": "Build a Video Display Using iframe",
|
||
"intro": [
|
||
"In this workshop, you'll learn how to work with the <code>iframe</code> element by building a video display."
|
||
]
|
||
},
|
||
"lab-video-compilation-page": {
|
||
"title": "Build a Video Compilation Page",
|
||
"intro": [
|
||
"In this lab, you'll create a video compilation web page. You'll practice working with the <code>iframe</code> element."
|
||
]
|
||
},
|
||
"lecture-working-with-links": {
|
||
"title": "Working with Links",
|
||
"intro": [
|
||
"In these lectures, you will learn about links, the <code>target</code> attribute, different link states, absolute, and relative paths, and more."
|
||
]
|
||
},
|
||
"review-basic-html": {
|
||
"title": "Basic HTML Review",
|
||
"intro": [
|
||
"Before you are quizzed on the HTML knowledge you have gained so far, you first need to review the concepts.",
|
||
"Open up this page to review the HTML boilerplate, <code>audio</code> and <code>video</code> elements, the different <code>target</code> attribute values and more."
|
||
]
|
||
},
|
||
"quiz-basic-html": {
|
||
"title": "Basic HTML Quiz",
|
||
"intro": [
|
||
"The following quiz will test your knowledge of the basic HTML concepts you have learned so far.",
|
||
"If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"semantic-html": {
|
||
"title": "Learn Semantic HTML",
|
||
"summary": [
|
||
"Discover how to write cleaner, more meaningful HTML using semantic tags that improve structure, accessibility, and SEO."
|
||
],
|
||
"intro": [
|
||
"In this interactive course, you will practice writing semantic HTML."
|
||
],
|
||
"blocks": {
|
||
"lecture-importance-of-semantic-html": {
|
||
"title": "Importance of Semantic HTML",
|
||
"intro": [
|
||
"In these lectures, you will learn about semantic HTML and why you should care about it, semantic elements, how semantic HTML differs from presentational HTML, and more."
|
||
]
|
||
},
|
||
"lecture-understanding-nuanced-semantic-elements": {
|
||
"title": "Understanding Nuanced Semantic Elements",
|
||
"intro": [
|
||
"In these lectures, you will learn when you should use certain semantic elements like the <code>em</code> element over the <code>i</code> element, description lists, and more."
|
||
]
|
||
},
|
||
"workshop-major-browsers-list": {
|
||
"title": "Build a List of Major Web Browsers",
|
||
"intro": [
|
||
"In this workshop, you will build a description list and work with the <code>dl</code>, <code>dt</code>, and <code>dd</code> elements."
|
||
]
|
||
},
|
||
"lecture-working-with-text-and-time-semantic-elements": {
|
||
"title": "Working with Text and Time Semantic Elements ",
|
||
"intro": [
|
||
"In this lecture, you will learn about the importance of semantics in conveying meaning for text and time-related content including the <code>time</code>, <code>blockquote</code> elements and more."
|
||
]
|
||
},
|
||
"workshop-quincys-job-tips": {
|
||
"title": "Build Quincy's Job Tips Page",
|
||
"intro": [
|
||
"In this workshop, you will practice working with semantic HTML by using the <code>q</code>, <code>blockquote</code> and <code>cite</code> elements."
|
||
]
|
||
},
|
||
"lecture-working-with-specialized-semantic-elements": {
|
||
"title": "Working with Specialized Semantic Elements",
|
||
"intro": [
|
||
"In this lecture, you will learn about specialized semantic elements like <code>u</code>, <code>s</code>, <code>code</code> elements and more."
|
||
]
|
||
},
|
||
"workshop-blog-page": {
|
||
"title": "Build a Cat Blog Page",
|
||
"intro": [
|
||
"In this workshop, you will build an HTML only blog page using semantic elements including the <code>main</code>, <code>nav</code>, <code>article</code> and <code>footer</code> elements."
|
||
]
|
||
},
|
||
"lab-event-hub": {
|
||
"title": "Build an Event Hub",
|
||
"intro": [
|
||
"In this lab, you'll build an event hub and review semantic elements like <code>header</code>, <code>nav</code>, <code>article</code>, and more."
|
||
]
|
||
},
|
||
"review-semantic-html": {
|
||
"title": "Semantic HTML Review",
|
||
"intro": [
|
||
"Before you are quizzed on semantic HTML, you first need to review the concepts.",
|
||
"Open up this page to review the <code>em</code>, <code>strong</code>, <code>blockquote</code>, <code>address</code> and more semantic HTML elements."
|
||
]
|
||
},
|
||
"quiz-semantic-html": {
|
||
"title": "Semantic HTML Quiz",
|
||
"intro": [
|
||
"The following quiz will test your knowledge on semantic HTML concepts you have learned so far.",
|
||
"If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"html-and-accessibility": {
|
||
"title": "Learn HTML and Accessibility",
|
||
"summary": [
|
||
"Learn how to write inclusive HTML using accessibility best practices and ARIA."
|
||
],
|
||
"intro": [
|
||
"Practice writing accessible HTML structures and form experiences."
|
||
],
|
||
"blocks": {
|
||
"lecture-importance-of-accessibility-and-good-html-structure": {
|
||
"title": "Importance of Accessibility and Good HTML Structure",
|
||
"intro": [
|
||
"In these lessons, you will learn about accessibility and its importance, assistive tools for people with disabilities, HTML attributes that let you create inclusive websites, accessibility best practices, and much more."
|
||
]
|
||
},
|
||
"workshop-debug-coding-journey-blog-page": {
|
||
"title": "Debug a Coding Journey Blog Page",
|
||
"intro": [
|
||
"In this workshop, you will debug and fix accessibility errors in a coding blog page."
|
||
]
|
||
},
|
||
"lecture-accessible-tables-forms": {
|
||
"title": "Working with Accessible Tables and Forms",
|
||
"intro": [
|
||
"In these lessons, you will learn about how to create accessible tables and forms."
|
||
]
|
||
},
|
||
"workshop-tech-conference-schedule": {
|
||
"title": "Build a Tech Conference Schedule Table",
|
||
"intro": [
|
||
"In this workshop, you will build an accessible tech conference schedule table."
|
||
]
|
||
},
|
||
"lab-debug-donation-form": {
|
||
"title": "Debug a Donation Form",
|
||
"intro": [
|
||
"In this lab you will debug a donation form by fixing HTML syntax errors and improving accessibility."
|
||
]
|
||
},
|
||
"lecture-introduction-to-aria": {
|
||
"title": "Introduction to ARIA",
|
||
"intro": [
|
||
"In these lectures, you will learn about working with ARIA roles."
|
||
]
|
||
},
|
||
"workshop-accessible-audio-controller": {
|
||
"title": "Build an Accessible Audio Controller",
|
||
"intro": [
|
||
"In this workshop, you will practice accessible HTML by building an audio controller that uses the <code>aria-labelledby</code> attribute."
|
||
]
|
||
},
|
||
"lecture-accessible-media-elements": {
|
||
"title": "Working with Accessible Media Elements",
|
||
"intro": [
|
||
"In these lectures, you will learn about how to create accessible links, audio and video content."
|
||
]
|
||
},
|
||
"lab-checkout-page": {
|
||
"title": "Build a Checkout Page",
|
||
"intro": [
|
||
"In this lab, you'll create an accessible checkout page.",
|
||
"You'll practice concepts like <code>alt</code> attributes and ARIA roles."
|
||
]
|
||
},
|
||
"lab-movie-review-page": {
|
||
"title": "Design a Movie Review Page",
|
||
"intro": [
|
||
"In this lab, you'll create a movie review page.",
|
||
"You'll practice concepts like semantic HTML, <code>alt</code> attributes, accessible lists, and hiding decorative content from screen readers using <code>aria-hidden</code>."
|
||
]
|
||
},
|
||
"lab-multimedia-player": {
|
||
"title": "Build a Multimedia Player",
|
||
"intro": [
|
||
"In this lab, you'll build a multimedia player.",
|
||
"You will practice working with the <code>audio</code> and <code>video</code> elements, the <code>controls</code> attribute, and the <code>aria-label</code> attribute."
|
||
]
|
||
},
|
||
"review-html-accessibility": {
|
||
"title": "HTML Accessibility Review",
|
||
"intro": [
|
||
"Before you are quizzed on HTML and accessibility, you first need to review the concepts.",
|
||
"Open up this page to review concepts including the <code>aria-hidden</code>, <code>aria-describedby</code>, <code>tabindex</code> attributes and more."
|
||
]
|
||
},
|
||
"quiz-html-accessibility": {
|
||
"title": "HTML Accessibility Quiz",
|
||
"intro": [
|
||
"The following quiz will test your knowledge on the accessibility concepts you have learned so far.",
|
||
"If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"computer-basics": {
|
||
"title": "Learn Computer Basics",
|
||
"summary": [
|
||
"Build a foundation in computer, internet, and tooling basics for web development."
|
||
],
|
||
"intro": [
|
||
"Get comfortable with the tools and concepts that power modern web development."
|
||
],
|
||
"blocks": {
|
||
"lecture-understanding-computer-internet-and-tooling-basics": {
|
||
"title": "Understanding Computer, Internet, and Tooling Basics",
|
||
"intro": [
|
||
"In these lessons, you will learn about the computer, its different parts, internet service providers (ISPs), and the tools professional developers use."
|
||
]
|
||
},
|
||
"lecture-working-with-file-systems": {
|
||
"title": "Working with File Systems",
|
||
"intro": [
|
||
"In these lessons, you will learn how to work with file and folder systems on your computers. You will learn how to create, move, and delete files and folders, the best practices for naming and organizing files and folders, and more."
|
||
]
|
||
},
|
||
"lecture-browsing-the-web-effectively": {
|
||
"title": "Browsing the Web Effectively",
|
||
"intro": [
|
||
"In these lessons, you will learn about what websites, search engine, and web browsers are, the different browsers available, and how to get the best out of a search engine."
|
||
]
|
||
},
|
||
"review-computer-basics": {
|
||
"title": "Computer Basics Review",
|
||
"intro": [
|
||
"Before you are quizzed on basic computer and internet concepts, you first need to review.",
|
||
"Open up this page to review concepts like RAM, Internet service providers, common web browsers, search engines and more."
|
||
]
|
||
},
|
||
"quiz-computer-basics": {
|
||
"title": "Computer Basics Quiz",
|
||
"intro": [
|
||
"Test what you've learned in this quiz of basic computer knowledge."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"basic-css": {
|
||
"title": "Learn Basic CSS",
|
||
"summary": [
|
||
"Learn core CSS concepts and start styling real-world layouts."
|
||
],
|
||
"intro": [
|
||
"Learn the fundamentals of CSS and apply them to practical layouts."
|
||
],
|
||
"blocks": {
|
||
"lecture-what-is-css": {
|
||
"title": "What Is CSS?",
|
||
"intro": [
|
||
"The following lessons are all about CSS. You will learn what CSS is and its role on the web, a CSS rule and its anatomy, the three ways to write CSS and when to use each, inline and block elements, and many more."
|
||
]
|
||
},
|
||
"workshop-cafe-menu": {
|
||
"title": "Design a Cafe Menu",
|
||
"intro": [
|
||
"CSS tells the browser how to display your webpage. You can use CSS to set the color, font, size, and other aspects of HTML elements.",
|
||
"In this workshop, you'll learn CSS by designing a menu page for a cafe webpage."
|
||
]
|
||
},
|
||
"lab-business-card": {
|
||
"title": "Design a Business Card",
|
||
"intro": [
|
||
"In this lab, you'll create a business card and style it using CSS.",
|
||
"You'll practice style properties like <code>color</code>, <code>font-size</code>, <code>text-align</code>, and more."
|
||
]
|
||
},
|
||
"lecture-css-specificity-the-cascade-algorithm-and-inheritance": {
|
||
"title": "CSS Specificity, the Cascade Algorithm, and Inheritance",
|
||
"intro": [
|
||
"In these lessons, you will learn about CSS specificity, the common selectors and their specificities, the cascade algorithm, inheritance, and more."
|
||
]
|
||
},
|
||
"review-basic-css": {
|
||
"title": "CSS Fundamentals Review",
|
||
"intro": [
|
||
"Before you are quizzed on basic CSS concepts, you first need to review.",
|
||
"Open up this page to review concepts including <code>margin</code>, <code>padding</code>, CSS combinators, CSS specificity and more."
|
||
]
|
||
},
|
||
"quiz-basic-css": {
|
||
"title": "CSS Fundamentals Quiz",
|
||
"intro": [
|
||
"Test what you've learned in this quiz of basic CSS knowledge."
|
||
]
|
||
},
|
||
"lecture-styling-lists-and-links": {
|
||
"title": "Styling Lists and Links",
|
||
"intro": [
|
||
"In these lessons, you will learn the properties you need to know to effectively style lists and links, including link states like <code>link</code>, <code>visited</code>, <code>hover</code>, and <code>active</code>."
|
||
]
|
||
},
|
||
"lab-stylized-to-do-list": {
|
||
"title": "Build a Stylized To-Do List",
|
||
"intro": [
|
||
"In this lab, you'll build a To-Do list and apply different styles to the links",
|
||
"You'll practice style properties like <code>text-decoration</code>, <code>list-style-type</code> and how to change styles on hover or click."
|
||
]
|
||
},
|
||
"lecture-working-with-backgrounds-and-borders": {
|
||
"title": "Working with Backgrounds and Borders",
|
||
"intro": [
|
||
"In these lessons, you will learn about the properties and values you need to know to style backgrounds and borders of elements, alongside the accessibility considerations for backgrounds."
|
||
]
|
||
},
|
||
"lab-blog-post-card": {
|
||
"title": "Design a Blog Post Card",
|
||
"intro": [
|
||
"In this lab, you'll design a blog post card using HTML and CSS",
|
||
"You'll practice concepts like <code>background-color</code>, <code>border-radius</code>, margins, paddings, and more."
|
||
]
|
||
},
|
||
"review-css-backgrounds-and-borders": {
|
||
"title": "Lists, Links, CSS Background and Borders Review",
|
||
"intro": [
|
||
"Before you are quizzed on CSS backgrounds and borders, you first need to review.",
|
||
"Open up this page to review concepts including the <code>background-image</code> property, <code>border</code> property and more."
|
||
]
|
||
},
|
||
"quiz-css-backgrounds-and-borders": {
|
||
"title": "CSS Backgrounds and Borders Quiz",
|
||
"intro": [
|
||
"Test what you've learned in this quiz of backgrounds and borders in CSS."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"design-for-developers": {
|
||
"title": "Introduction to UI/UX Design",
|
||
"summary": [
|
||
"Explore UI design fundamentals and user-centered design principles for developers."
|
||
],
|
||
"intro": [
|
||
"Learn the design principles that help developers build better interfaces."
|
||
],
|
||
"blocks": {
|
||
"lecture-user-interface-design-fundamentals": {
|
||
"title": "User Interface Design Fundamentals",
|
||
"intro": [
|
||
"In these lessons, you will learn about the fundamentals of user interface (UI) design. You will learn about the terms you need to know to communicate with designers, visual hierarchy, scaling, alignment, whitespace, and much more."
|
||
]
|
||
},
|
||
"lecture-user-centered-design": {
|
||
"title": "User-Centered Design",
|
||
"intro": [
|
||
"In these lessons, you will learn about best practices for designing user-facing features like dark mode, breadcrumbs, modal dialogs, and much more. You will also learn how to conduct user research, user requirements and testing."
|
||
]
|
||
},
|
||
"lecture-common-design-tools": {
|
||
"title": "Common Design Tools",
|
||
"intro": [
|
||
"In these lessons, you will learn about the common design tools developers should know. You will also learn about design briefs and how developers work with them."
|
||
]
|
||
},
|
||
"review-design-fundamentals": {
|
||
"title": "Design Fundamentals Review",
|
||
"intro": [
|
||
"Before you are quizzed on the design fundamentals you have learned so far, you first need to review.",
|
||
"Open up this page to review concepts like user-centered design, scale, alignment, good visual hierarchy and more."
|
||
]
|
||
},
|
||
"quiz-design-fundamentals": {
|
||
"title": "Design Fundamentals Quiz",
|
||
"intro": [
|
||
"Test what you've learned in this quiz of UI design fundamentals."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"absolute-and-relative-units": {
|
||
"title": "Learn Absolute and Relative Units in CSS",
|
||
"summary": [
|
||
"Understand when to use absolute and relative CSS units to build flexible layouts."
|
||
],
|
||
"intro": ["Learn to size elements responsively with CSS units."],
|
||
"blocks": {
|
||
"lecture-working-with-relative-and-absolute-units": {
|
||
"title": "Working with Relative and Absolute Units",
|
||
"intro": [
|
||
"In these lessons, you will learn about relative and absolute units, and how they both impact what you see in the browser."
|
||
]
|
||
},
|
||
"lab-event-flyer-page": {
|
||
"title": "Build an Event Flyer Page",
|
||
"intro": [
|
||
"In this lab, you'll create an event flyer page.",
|
||
"You will practice aligning elements using absolute and relative CSS."
|
||
]
|
||
},
|
||
"review-css-relative-and-absolute-units": {
|
||
"title": "CSS Relative and Absolute Units Review",
|
||
"intro": [
|
||
"Before you are quizzed on relative and absolute units, you first need to review.",
|
||
"Open up this page to review concepts like percentages, <code>px</code>, <code>rem</code>, <code>em</code>, and more."
|
||
]
|
||
},
|
||
"quiz-css-relative-and-absolute-units": {
|
||
"title": "CSS Relative and Absolute Units Quiz",
|
||
"intro": [
|
||
"Test what you've learned in this quiz of relative and absolute units in CSS."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"pseudo-classes-and-elements": {
|
||
"title": "Learn CSS Pseudo Classes and Elements",
|
||
"summary": [
|
||
"Use pseudo-classes and pseudo-elements to create richer, more interactive styles."
|
||
],
|
||
"intro": [
|
||
"Add interaction and detail with CSS pseudo-classes and pseudo-elements."
|
||
],
|
||
"blocks": {
|
||
"lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": {
|
||
"title": "Working with Pseudo-Classes and Pseudo-Elements in CSS",
|
||
"intro": [
|
||
"In these lessons, you will learn about pseudo-classes and pseudo-elements, alongside their examples and how they work."
|
||
]
|
||
},
|
||
"workshop-greeting-card": {
|
||
"title": "Design a Greeting Card",
|
||
"intro": [
|
||
"In the previous lessons, you learned how to work with the different types of pseudo-classes.",
|
||
"In this workshop, you will have a chance to practice what you have learned by designing a greeting card."
|
||
]
|
||
},
|
||
"workshop-parent-teacher-conference-form": {
|
||
"title": "Design a Parent Teacher Conference Form",
|
||
"intro": [
|
||
"In this workshop, you will practice how to style radio buttons with different types of pseudo-selectors by building a parent-teacher conference form.",
|
||
"You'll practice concepts including the <code>::before</code> pseudo-element selector, the <code>transform</code> property, and more."
|
||
]
|
||
},
|
||
"lab-job-application-form": {
|
||
"title": "Build a Job Application Form",
|
||
"intro": [
|
||
"In this lab you'll build a job application form and style it using pseudo-classes.",
|
||
"You'll practice concepts like <code>:hover</code>, <code>:active</code>, <code>:focus</code>, and more."
|
||
]
|
||
},
|
||
"review-css-pseudo-classes": {
|
||
"title": "CSS Pseudo-classes Review",
|
||
"intro": [
|
||
"Before you're quizzed on CSS pseudo-classes and pseudo-elements, you should review what you've learned about them.",
|
||
"Open up this page to review concepts like the <code>::before</code> and <code>::after</code> pseudo-elements as well as the <code>:hover</code>, <code>:active</code> pseudo-classes and more."
|
||
]
|
||
},
|
||
"quiz-css-pseudo-classes": {
|
||
"title": "CSS Pseudo-classes Quiz",
|
||
"intro": ["Test your knowledge of CSS pseudo-classes with this quiz."]
|
||
}
|
||
}
|
||
},
|
||
"css-colors": {
|
||
"title": "Learn CSS Colors",
|
||
"summary": [
|
||
"Work with CSS color formats and build cohesive color palettes."
|
||
],
|
||
"intro": ["Learn to apply color with CSS to create polished visuals."],
|
||
"blocks": {
|
||
"lecture-working-with-colors-in-css": {
|
||
"title": "Working with Colors in CSS",
|
||
"intro": [
|
||
"In these lessons, you will learn about linear and radial gradients, the color theory, different kinds of colors like named, RGB, Hex, and HSL colors. You will learn how these colors work, and which to use in specific cases."
|
||
]
|
||
},
|
||
"workshop-colored-markers": {
|
||
"title": "Build a Set of Colored Markers",
|
||
"intro": [
|
||
"In this workshop, you'll build a set of colored markers. You'll practice different ways to set color values and how to pair colors with each other."
|
||
]
|
||
},
|
||
"lab-colored-boxes": {
|
||
"title": "Design a Set of Colored Boxes",
|
||
"intro": [
|
||
"In this lab, you'll create a color grid and practice adding background colors to the grid items using hex codes, RGB, and predefined color names."
|
||
]
|
||
},
|
||
"review-css-colors": {
|
||
"title": "CSS Colors Review",
|
||
"intro": [
|
||
"Before you're quizzed on CSS colors, you should review what you've learned about them.",
|
||
"Open up this page to review concepts like the <code>rgb()</code> function, <code>hsl()</code> function, <code>hex codes</code>, and more."
|
||
]
|
||
},
|
||
"quiz-css-colors": {
|
||
"title": "CSS Colors Quiz",
|
||
"intro": ["Test your knowledge of CSS colors with this quiz."]
|
||
}
|
||
}
|
||
},
|
||
"styling-forms": {
|
||
"title": "Learn How to Style Forms Using CSS",
|
||
"summary": ["Apply CSS techniques to create clean, usable form layouts."],
|
||
"intro": ["Style form elements to improve usability and visual clarity."],
|
||
"blocks": {
|
||
"lecture-best-practices-for-styling-forms": {
|
||
"title": "Best Practices for Styling Forms",
|
||
"intro": [
|
||
"In these lessons, you will learn about the best practices for styling forms and issues you can encounter while styling special inputs like <code>color</code> and <code>datetime-local</code>."
|
||
]
|
||
},
|
||
"workshop-registration-form": {
|
||
"title": "Design a Registration Form",
|
||
"intro": [
|
||
"In this workshop, you'll learn how to design HTML forms by designing a signup page. You'll learn how to control what types of data people can type into your form, and some new CSS tools for styling your page."
|
||
]
|
||
},
|
||
"lab-contact-form": {
|
||
"title": "Design a Contact Form",
|
||
"intro": [
|
||
"In this lab, you'll design a contact form in HTML and style it using CSS."
|
||
]
|
||
},
|
||
"workshop-game-settings-panel": {
|
||
"title": "Build a Game Settings Panel",
|
||
"intro": [
|
||
"In this workshop, you will practice styling checkboxes by building a game settings panel."
|
||
]
|
||
},
|
||
"lab-feature-selection": {
|
||
"title": "Design a Feature Selection Page",
|
||
"intro": [
|
||
"In this lab, you'll build a feature selection page with custom-styled checkboxes.",
|
||
"You'll create feature cards with labels and checkboxes, then give custom styling to the checkboxes."
|
||
]
|
||
},
|
||
"review-styling-forms": {
|
||
"title": "Styling Forms Review",
|
||
"intro": [
|
||
"Before you're quizzed on styling forms, you should review what you've learned.",
|
||
"Open up this page to review how to style form inputs, working with <code>appearance: none</code> and more."
|
||
]
|
||
},
|
||
"quiz-styling-forms": {
|
||
"title": "Styling Forms Quiz",
|
||
"intro": [
|
||
"In this quiz, you will test your knowledge of how to style forms."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"css-box-model": {
|
||
"title": "Learn the CSS Box Model",
|
||
"summary": [
|
||
"Master the CSS box model, spacing, and layout effects for precise designs."
|
||
],
|
||
"intro": ["Learn how spacing, borders, and layout effects work together."],
|
||
"blocks": {
|
||
"lecture-working-with-css-transforms-overflow-and-filters": {
|
||
"title": "Working with CSS Transforms, Overflow, and Filters",
|
||
"intro": [
|
||
"In these lessons, you will learn about working with CSS transforms, overflow, and filters. You will also learn about the box model and how it works."
|
||
]
|
||
},
|
||
"workshop-rothko-painting": {
|
||
"title": "Design a Rothko Painting",
|
||
"intro": [
|
||
"Every HTML element is its own box – with its own spacing and a border. This is called the Box Model.",
|
||
"In this workshop, you'll use CSS and the Box Model to create your own Rothko-style rectangular art pieces."
|
||
]
|
||
},
|
||
"lab-confidential-email-page": {
|
||
"title": "Build a Confidential Email Page",
|
||
"intro": [
|
||
"In this lab, you'll create a web page using HTML and mask the content using CSS properties."
|
||
]
|
||
},
|
||
"review-css-layout-and-effects": {
|
||
"title": "CSS Layouts and Effects Review",
|
||
"intro": [
|
||
"Before you are quizzed on CSS Layouts and Effects, you first need to review.",
|
||
"Open up this page to review concepts like the <code>transform</code> property, the box model, the <code>overflow</code> property and more."
|
||
]
|
||
},
|
||
"quiz-css-layout-and-effects": {
|
||
"title": "CSS Layout and Effects Quiz",
|
||
"intro": [
|
||
"In this quiz, you will test your knowledge of the box model, transforms, filters, and overflow in CSS."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"css-flexbox": {
|
||
"title": "Learn CSS Flexbox",
|
||
"summary": [
|
||
"Build responsive layouts using the Flexbox model and alignment tools."
|
||
],
|
||
"intro": ["Use Flexbox to build responsive, aligned layouts."],
|
||
"blocks": {
|
||
"lecture-working-with-css-flexbox": {
|
||
"title": "Working with CSS Flexbox",
|
||
"intro": [
|
||
"In these lessons, you will learn how CSS flexbox works, its properties, and when you should use it."
|
||
]
|
||
},
|
||
"workshop-flexbox-photo-gallery": {
|
||
"title": "Build a Flexbox Photo Gallery",
|
||
"intro": [
|
||
"In this workshop, you'll use Flexbox to build a responsive photo gallery webpage."
|
||
]
|
||
},
|
||
"lab-pricing-plans-layout": {
|
||
"title": "Build a Pricing Plans Layout",
|
||
"intro": [
|
||
"In this lab, you'll create a pricing plans layout.",
|
||
"You'll practice aligning elements using flexbox properties like <code>flex-direction</code>, <code>justify-content</code>, <code>align-self</code>, and more."
|
||
]
|
||
},
|
||
"lab-page-of-playing-cards": {
|
||
"title": "Build a Page of Playing Cards",
|
||
"intro": [
|
||
"In this lab, you'll use flexbox to create a webpage of playing cards.",
|
||
"You'll practice aligning elements using flexbox properties like <code>flex-direction</code>, <code>justify-content</code>, <code>align-self</code>, and more."
|
||
]
|
||
},
|
||
"review-css-flexbox": {
|
||
"title": "CSS Flexbox Review",
|
||
"intro": [
|
||
"Before you're quizzed on CSS flexbox, you should review what you've learned.",
|
||
"Open up this page to review concepts like the <code>flex-direction</code>, <code>justify-content</code>, <code>align-items</code>, <code>flex-wrap</code> properties, and more."
|
||
]
|
||
},
|
||
"quiz-css-flexbox": {
|
||
"title": "CSS Flexbox Quiz",
|
||
"intro": ["Test what you've learned on CSS flexbox with this quiz."]
|
||
}
|
||
}
|
||
},
|
||
"css-typography": {
|
||
"title": "Learn CSS Typography",
|
||
"summary": [
|
||
"Learn how to style text for readability, hierarchy, and visual balance."
|
||
],
|
||
"intro": ["Use typography to improve readability and visual hierarchy."],
|
||
"blocks": {
|
||
"lecture-working-with-css-fonts": {
|
||
"title": "Working with CSS Fonts",
|
||
"intro": [
|
||
"In these lessons, you will learn about typography and its best practices, fonts, and the <code>text-shadow</code> property."
|
||
]
|
||
},
|
||
"workshop-nutritional-label": {
|
||
"title": "Build a Nutritional Label",
|
||
"intro": [
|
||
"Typography is the art of styling your text to be easily readable and suit its purpose.",
|
||
"In this workshop, you'll use typography to build a nutrition label webpage. You'll practice how to style text, adjust line height, and position your text using CSS."
|
||
]
|
||
},
|
||
"lab-newspaper-article": {
|
||
"title": "Build a Newspaper Article",
|
||
"intro": [
|
||
"In this lab, you'll build a newspaper article page using HTML and CSS.",
|
||
"You'll style the fonts using properties like <code>font-family</code>, <code>font-size</code>, <code>font-weight</code>, and more."
|
||
]
|
||
},
|
||
"review-css-typography": {
|
||
"title": "CSS Typography Review",
|
||
"intro": [
|
||
"Before you're quizzed on the fundamentals of typography, you should review what you've learned.",
|
||
"Open up this page to review concepts like web safe fonts, the <code>font-family</code> property and more."
|
||
]
|
||
},
|
||
"quiz-css-typography": {
|
||
"title": "CSS Typography Quiz",
|
||
"intro": ["Test your knowledge of typography with this quiz."]
|
||
}
|
||
}
|
||
},
|
||
"css-and-accessibility": {
|
||
"title": "Learn CSS and Accessibility",
|
||
"summary": [
|
||
"Apply CSS techniques that support accessible and inclusive interfaces."
|
||
],
|
||
"intro": ["Design with accessibility in mind while styling UI elements."],
|
||
"blocks": {
|
||
"lecture-best-practices-for-accessibility-and-css": {
|
||
"title": "Best Practices for Accessibility and CSS",
|
||
"intro": [
|
||
"In these lessons, you will learn about best practices for accessibility in CSS, and the tools for checking good color contrast on websites."
|
||
]
|
||
},
|
||
"workshop-accessibility-quiz": {
|
||
"title": "Build a Quiz Webpage",
|
||
"intro": [
|
||
"Accessibility is the process of making your webpages usable for everyone, including people with disabilities.",
|
||
"In this workshop, you'll build a quiz webpage. You'll learn accessibility tools such as keyboard shortcuts, ARIA attributes, and design best practices."
|
||
]
|
||
},
|
||
"lab-tribute-page": {
|
||
"title": "Build a Tribute Page",
|
||
"intro": [
|
||
"In this lab, you'll build a tribute page for a subject of your choosing, fictional or real."
|
||
]
|
||
},
|
||
"review-css-accessibility": {
|
||
"title": "CSS Accessibility Review",
|
||
"intro": [
|
||
"Before you're quizzed on CSS and accessibility, you should review what you've learned.",
|
||
"Open up this page to review concepts like color contrast tools and accessibility best practices."
|
||
]
|
||
},
|
||
"quiz-css-accessibility": {
|
||
"title": "CSS Accessibility Quiz",
|
||
"intro": [
|
||
"In this quiz, you'll test what you've learned about making your webpages accessible with CSS."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"css-positioning": {
|
||
"title": "Learn CSS Positioning",
|
||
"summary": [
|
||
"Use positioning and floats to control layout and element flow."
|
||
],
|
||
"intro": ["Control layout with floats and CSS positioning tools."],
|
||
"blocks": {
|
||
"lecture-understanding-how-to-work-with-floats-and-positioning-in-css": {
|
||
"title": "Understanding How to Work with Floats and Positioning in CSS",
|
||
"intro": [
|
||
"In these lessons, you will learn how to use CSS positioning and floats. You will learn about <code>absolute</code>, <code>relative</code>, <code>fixed</code>, and <code>sticky</code> positioning. You will also use the <code>z-index</code> property."
|
||
]
|
||
},
|
||
"workshop-cat-painting": {
|
||
"title": "Build a Cat Painting",
|
||
"intro": [
|
||
"Mastering CSS positioning is essential for creating visually appealing and responsive web layouts.",
|
||
"In this workshop, you will build a cat painting. You'll learn about how to work with absolute positioning, the <code>z-index</code> property, and the <code>transform</code> property."
|
||
]
|
||
},
|
||
"lab-house-painting": {
|
||
"title": "Build a House Painting",
|
||
"intro": [
|
||
"In this lab, you'll build a house painting using CSS.",
|
||
"You'll design individual elements of the house and position them using CSS properties like <code>position</code>, <code>top</code>, <code>left</code>, and more."
|
||
]
|
||
},
|
||
"review-css-positioning": {
|
||
"title": "CSS Positioning Review",
|
||
"intro": [
|
||
"Before you're quizzed on the fundamentals of CSS positioning, you should review what you've learned.",
|
||
"Open up this page to review concepts like floats, relative positioning, absolute positioning and more."
|
||
]
|
||
},
|
||
"quiz-css-positioning": {
|
||
"title": "CSS Positioning Quiz",
|
||
"intro": ["Test your knowledge of CSS positioning with this quiz."]
|
||
}
|
||
}
|
||
},
|
||
"attribute-selectors": {
|
||
"title": "Learn CSS Attribute Selectors",
|
||
"summary": ["Target elements precisely with CSS attribute selectors."],
|
||
"intro": ["Select elements with precision using attribute selectors."],
|
||
"blocks": {
|
||
"lecture-working-with-attribute-selectors": {
|
||
"title": "Working with Attribute Selectors",
|
||
"intro": [
|
||
"In these lessons, you will learn about attribute selectors and how to use them to target elements like links and lists."
|
||
]
|
||
},
|
||
"workshop-balance-sheet": {
|
||
"title": "Build a Balance Sheet",
|
||
"intro": [
|
||
"In this workshop, you'll build a balance sheet using pseudo selectors. You'll learn how to change the style of an element when you hover over it with your mouse, and trigger other events on your webpage."
|
||
]
|
||
},
|
||
"lab-book-inventory-app": {
|
||
"title": "Build a Book Inventory App",
|
||
"intro": [
|
||
"In this lab, you'll create a book inventory app.",
|
||
"You'll practice CSS attribute selectors like <code>[attribute]</code>, <code>[attribute=value]</code>, <code>[attribute~=value]</code>, and more."
|
||
]
|
||
},
|
||
"review-css-attribute-selectors": {
|
||
"title": "CSS Attribute Selectors Review",
|
||
"intro": [
|
||
"Before you're quizzed on the fundamentals of CSS attribute selectors, you should review what you've learned about them.",
|
||
"Open up this page to review concepts like how to work with different attribute selectors that target links with the <code>href</code> and <code>title</code> attributes."
|
||
]
|
||
},
|
||
"quiz-css-attribute-selectors": {
|
||
"title": "CSS Attribute Selectors Quiz",
|
||
"intro": [
|
||
"Test your knowledge of CSS attribute selectors with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"responsive-design": {
|
||
"title": "Learn Responsive Design",
|
||
"summary": [
|
||
"Learn responsive design principles and build layouts that adapt to any screen."
|
||
],
|
||
"intro": ["Make layouts adapt to different screen sizes and devices."],
|
||
"blocks": {
|
||
"lecture-best-practices-for-responsive-web-design": {
|
||
"title": "Best Practices for Responsive Web Design",
|
||
"intro": [
|
||
"In these lessons, you will learn about the best practices for responsive web design, the roles concepts like grid, flexbox, media queries, and media breakpoints play in responsive design, and more."
|
||
]
|
||
},
|
||
"workshop-piano": {
|
||
"title": "Design a Piano",
|
||
"intro": [
|
||
"Responsive Design tells your webpage how it should look on different-sized screens.",
|
||
"In this workshop, you'll use CSS and responsive design to code a piano. You'll also practice media queries and pseudo selectors."
|
||
]
|
||
},
|
||
"lab-technical-documentation-page": {
|
||
"title": "Build a Technical Documentation Page",
|
||
"intro": [
|
||
"In this lab, you'll build a technical documentation page to serve as instruction or reference for a topic.",
|
||
"You'll also practice media queries to create a responsive design."
|
||
]
|
||
},
|
||
"review-responsive-web-design": {
|
||
"title": "Responsive Web Design Review",
|
||
"intro": [
|
||
"Before you're quizzed on the fundamentals of responsive design, you should review what you've learned.",
|
||
"Open up this page to review concepts like media queries, media breakpoints and mobile first approach design."
|
||
]
|
||
},
|
||
"quiz-responsive-web-design": {
|
||
"title": "Responsive Web Design Quiz",
|
||
"intro": [
|
||
"Test what you've learned about making your webpages responsive with this quiz."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"css-variables": {
|
||
"title": "Learn CSS Variables",
|
||
"summary": ["Use CSS variables to build reusable, theme-friendly styles."],
|
||
"intro": ["Create maintainable styles using CSS custom properties."],
|
||
"blocks": {
|
||
"lecture-working-with-css-variables": {
|
||
"title": "Working with CSS Variables",
|
||
"intro": [
|
||
"In these lessons, you will learn how to define and use custom properties (also known as CSS variables). You will also learn about the <code>@property</code> rule and how it works."
|
||
]
|
||
},
|
||
"workshop-city-skyline": {
|
||
"title": "Build a City Skyline",
|
||
"intro": [
|
||
"CSS variables help you organize your styles and reuse them.",
|
||
"In this workshop, you'll build a city skyline. You'll practice how to configure CSS variables so you can reuse them whenever you want."
|
||
]
|
||
},
|
||
"lab-availability-table": {
|
||
"title": "Build an Availability Table",
|
||
"intro": [
|
||
"For this lab, you'll create an availability table that shows the availability of people for a meeting.",
|
||
"You'll practice using CSS variables to store and reuse colors, fonts, and other styles."
|
||
]
|
||
},
|
||
"review-css-variables": {
|
||
"title": "CSS Variables Review",
|
||
"intro": [
|
||
"Before you're quizzed on the fundamentals of CSS variables, you should review what you've learned.",
|
||
"Open up this page to review how to work with CSS custom properties (CSS variables) and the <code>@property</code> rule."
|
||
]
|
||
},
|
||
"quiz-css-variables": {
|
||
"title": "CSS Variables Quiz",
|
||
"intro": ["Test your knowledge of CSS variables with this quiz."]
|
||
}
|
||
}
|
||
},
|
||
"css-grid": {
|
||
"title": "Learn CSS Grid",
|
||
"summary": ["Design complex layouts using the CSS Grid system."],
|
||
"intro": ["Build multi-dimensional layouts with CSS Grid."],
|
||
"blocks": {
|
||
"lecture-working-with-css-grid": {
|
||
"title": "Working with CSS Grid",
|
||
"intro": [
|
||
"In these lessons, you will learn about CSS grid, its several properties and how to use them, and how CSS grid differs from flexbox."
|
||
]
|
||
},
|
||
"workshop-magazine": {
|
||
"title": "Build a Magazine",
|
||
"intro": [
|
||
"CSS Grid gives you control over the rows and columns of your webpage design.",
|
||
"In this workshop, you'll build a magazine article. You'll practice how to use CSS Grid, including concepts like grid rows and grid columns."
|
||
]
|
||
},
|
||
"lab-newspaper-layout": {
|
||
"title": "Design a Newspaper Layout",
|
||
"intro": [
|
||
"In this lab, you will design a newspaper layout using CSS Grid, including concepts like grid rows and grid columns."
|
||
]
|
||
},
|
||
"lecture-debugging-css": {
|
||
"title": "Debugging CSS",
|
||
"intro": [
|
||
"In this lesson, you'll learn how to debug CSS using your browser's developer tools and CSS validators."
|
||
]
|
||
},
|
||
"lab-product-landing-page": {
|
||
"title": "Build a Product Landing Page",
|
||
"intro": [
|
||
"In this project, you'll build a product landing page to market a product of your choice."
|
||
]
|
||
},
|
||
"review-css-grid": {
|
||
"title": "CSS Grid Review",
|
||
"intro": [
|
||
"Before you're quizzed on the fundamentals of CSS Grid, you should review what you've learned.",
|
||
"Open up this page to review how to work with the different CSS Grid properties like <code>grid-template-columns</code>, <code>grid-gap</code> and more."
|
||
]
|
||
},
|
||
"quiz-css-grid": {
|
||
"title": "CSS Grid Quiz",
|
||
"intro": ["Test your knowledge of CSS Grid with this quiz."]
|
||
}
|
||
}
|
||
},
|
||
"css-animations": {
|
||
"title": "Learn CSS Animations",
|
||
"summary": ["Create engaging UI motion with accessible CSS animations."],
|
||
"intro": [
|
||
"Add motion with CSS animations while keeping usability in mind."
|
||
],
|
||
"blocks": {
|
||
"lecture-animations-and-accessibility": {
|
||
"title": "Animations and Accessibility",
|
||
"intro": [
|
||
"In these lessons, you will learn about CSS animations and their accessibility concerns. You will also learn how <code>prefers-reduced-motion</code> can help address those accessibility concerns."
|
||
]
|
||
},
|
||
"workshop-ferris-wheel": {
|
||
"title": "Build an Animated Ferris Wheel",
|
||
"intro": [
|
||
"You can use CSS animation to draw attention to specific sections of your webpage and make it more engaging.",
|
||
"In this workshop, you'll build a Ferris wheel. You'll practice how to use CSS to animate elements, transform them, and adjust their speed."
|
||
]
|
||
},
|
||
"lab-moon-orbit": {
|
||
"title": "Build a Moon Orbit",
|
||
"intro": [
|
||
"In this lab, you'll create an animation of the moon orbiting the earth.",
|
||
"You'll practice animation properties like <code>animation-name</code>, <code>animation-duration</code>, <code>animation-timing-function</code>, and more."
|
||
]
|
||
},
|
||
"workshop-flappy-penguin": {
|
||
"title": "Build a Flappy Penguin",
|
||
"intro": [
|
||
"You can transform HTML elements to create appealing designs that draw your reader's eye. You can use transforms to rotate elements, scale them, and more.",
|
||
"In this workshop, you'll build a penguin. You'll use CSS transforms to position and resize the parts of your penguin, create a background, and animate your work."
|
||
]
|
||
},
|
||
"lab-personal-portfolio": {
|
||
"title": "Build a Personal Portfolio",
|
||
"intro": [
|
||
"In this project, you'll build your own personal portfolio page."
|
||
]
|
||
},
|
||
"review-css-animations": {
|
||
"title": "CSS Animations Review",
|
||
"intro": [
|
||
"Before you're quizzed on working with CSS animations, you should review what you've learned about them.",
|
||
"Open up this page to review concepts including <code>prefers-reduced-motion</code>, the <code>@keyframes</code> rule and more."
|
||
]
|
||
},
|
||
"quiz-css-animations": {
|
||
"title": "CSS Animations Quiz",
|
||
"intro": ["Test your knowledge of CSS animations with this quiz."]
|
||
}
|
||
}
|
||
},
|
||
"dev-playground": {
|
||
"title": "Dev Playground",
|
||
"intro": ["Playground for creating and testing challenges"],
|
||
"blocks": {
|
||
"daily-coding-challenges-javascript": {
|
||
"title": "Daily Coding Challenges JavaScript",
|
||
"intro": ["Place to create JavaScript daily coding challenges."]
|
||
},
|
||
"daily-coding-challenges-python": {
|
||
"title": "Daily Coding Challenges Python",
|
||
"intro": ["Place to create Python daily coding challenges."]
|
||
}
|
||
}
|
||
},
|
||
"full-stack-open": {
|
||
"title": "Full-Stack Open",
|
||
"intro": ["A good intro is to be added here."],
|
||
"blocks": {
|
||
"workshop-blog-page": {
|
||
"title": "Build a Cat Blog Page",
|
||
"intro": [
|
||
"In this workshop, you will build an HTML only blog page using semantic elements including the <code>main</code>, <code>nav</code>, <code>article</code> and <code>footer</code> elements."
|
||
]
|
||
}
|
||
},
|
||
"chapters": {
|
||
"part-0": "Fundamentals of Web Apps",
|
||
"part-1": "Introduction to React",
|
||
"part-2": "Communicating with Servers",
|
||
"part-3": "Programming a Server with NodeJS and Express",
|
||
"part-4": "Testing Express Servers, User Administration",
|
||
"part-5": "Testing React Apps",
|
||
"part-6": "Advanced State Management",
|
||
"part-7": "React router, custom hooks, styling app with CSS and webpack",
|
||
"part-8": "GraphQL",
|
||
"part-9": "TypeScript",
|
||
"part-10": "React Native",
|
||
"part-11": "CI/CD",
|
||
"part-12": "Containers",
|
||
"part-13": "Using Relational Databases"
|
||
},
|
||
"modules": {
|
||
"basic-html": "Basic HTML"
|
||
},
|
||
"module-intros": {
|
||
"basic-html": {
|
||
"title": "Basic HTML",
|
||
"intro": [
|
||
"Learn how to build simple webpages using HTML tags to add text, images, and links."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"daily-coding-challenge": {
|
||
"title": "Daily Coding Challenge",
|
||
"blocks": {
|
||
"daily-coding-challenge": {
|
||
"title": "Daily Coding Challenge"
|
||
}
|
||
}
|
||
},
|
||
"misc-text": {
|
||
"browse-other": "Browse our other free certifications",
|
||
"courses": "コース一覧",
|
||
"requirements": "Requirements",
|
||
"steps": "ステップ",
|
||
"expand": "コースを展開",
|
||
"collapse": "コースを閉じる",
|
||
"legacy-header": "レガシーコース",
|
||
"legacy-desc": "このコースは認定講座から除外されましたが、追加の学習用に引き続きご利用いただけます。",
|
||
"legacy-go-back": "カリキュラムの最新版へ移動",
|
||
"course-maintenance": "こちらのコースは現在メンテナンス中です。アクセスできない場合、こちらの記事の方法でローカル実行することも可能です:\n <0>https://www.freecodecamp.org/news/how-to-run-freecodecamps-relational-databases-curriculum-using-docker-vscode-and-coderoad</0>",
|
||
"course-disabling-soon": "The browser version of these courses will be temporarily disabled soon and your virtual machines will be deleted. Any progress in your virtual machines will be lost. If you have any files you want from them, you should save them to your computer. We apologize for any inconvenience. We hope to have an improved browser version of these courses available again in the next few weeks.",
|
||
"course-disabled": "These courses are temporarily unavailable to run in the browser. We apologize for any inconvenience. You can learn how to run them locally at <0>https://www.freecodecamp.org/news/how-to-run-freecodecamps-relational-databases-curriculum-using-docker-vscode-and-coderoad</0>. We hope to have an improved browser version available again soon.",
|
||
"run-locally": "For now, we recommend running the courses locally on your computer. You can learn how at <0>https://www.freecodecamp.org/news/how-to-run-freecodecamps-relational-databases-curriculum-using-docker-vscode-and-coderoad</0>.",
|
||
"progress-wont-save": "ただしローカルで実行する場合には、進捗状況は freeCodeCamp アカウントに反映されません。",
|
||
"go-back-to-learn": "カリキュラムの安定版へ戻る。",
|
||
"read-database-cert-article": "続行する前に、こちらのフォーラム投稿をお読みください。",
|
||
"enable-cookies": "サードパーティーの Cookie が有効になっていることを確認してから開始してください。",
|
||
"english-only": "このセクションのコースは、英語版でのみ利用可能です。現時点ではタイトルと紹介文のみが翻訳に対応しており、レッスン自体は翻訳されておりません。",
|
||
"exam-english-only": "認定試験は現在、英語のみとなっています。その他の部分は翻訳版が提供されている可能性があります。"
|
||
}
|
||
}
|