mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-05-28 18:26:54 +00:00
9385 lines
450 KiB
JSON
9385 lines
450 KiB
JSON
{
|
||
"responsive-web-design": {
|
||
"title": "(舊版)響應式網頁設計挑戰",
|
||
"intro": [
|
||
"在響應式網頁設計認證中,你將學習開發者用來編寫網頁的語言:HTML(超文本標記語言)用於創建內容,CSS(級聯樣式表)用於樣式設計。",
|
||
"首先,你將通過創建一個展示貓咪圖片的應用,學習 HTML 和 CSS 的基本知識。 然後,通過創建企鵝學習像 CSS 變量這樣的現代技術,以及通過創建網頁表單學習無障礙的最佳實踐。",
|
||
"最後,你將學習使用 flexbox(彈性盒子)創建一個 Twitter 卡片,以及使用 CSS 網格創建複雜的博客佈局,以學習製作適應不同屏幕大小的網頁。"
|
||
],
|
||
"note": "注意:某些瀏覽器擴展,例如廣告攔截器和深色模式擴展可能干擾測試。如果你遇到問題,我們建議你在參加學習時禁用修改頁面內容或佈局的擴展。",
|
||
"blocks": {
|
||
"basic-html-and-html5": {
|
||
"title": "基礎 HTML 和 HTML5",
|
||
"intro": [
|
||
"HTML 是一種標記語言,使用特殊的語法或標記來向瀏覽器描述網頁的結構。HTML 元素由開始和結束標籤構成,標籤之間是文本內容。 不同的標籤可以讓文本內容以標題、段落、列表等形式展現。",
|
||
"在這個課程中,你將通過編寫一個展示貓咪圖片的應用,學習最常見的 HTML 元素——它們可以用來構成任何網頁。"
|
||
]
|
||
},
|
||
"basic-css": {
|
||
"title": "基礎 CSS",
|
||
"intro": [
|
||
"CSS(級聯樣式表)告訴瀏覽器如何顯示你在 HTML 中寫入的文本和其他內容。你可以使用 CSS 控制 HTML 元素的顏色、字體、大小、間距等許多\b屬性。",
|
||
"現在你已經寫好了貓圖應用的基本結構,接下來我們用 CSS 給它加一些樣式。"
|
||
]
|
||
},
|
||
"applied-visual-design": {
|
||
"title": "應用視覺設計",
|
||
"intro": [
|
||
"視覺設計結合了排版、色彩理論、圖形、動畫、頁面佈局等,以表達獨特的信息。",
|
||
"在這個課程中,你將學習如何將這些不同的視覺設計元素應用到網頁上。"
|
||
]
|
||
},
|
||
"applied-accessibility": {
|
||
"title": "應用無障礙",
|
||
"intro": [
|
||
"在網頁開發中,可訪問性是指網頁內容和用戶界面可以被用戶理解、瀏覽並與之交互。這裏的用戶包括有視覺障礙、聽覺障礙或認知障礙的用戶。",
|
||
"在這個課程中,你將學習提升網站可訪問性的最佳實踐。"
|
||
]
|
||
},
|
||
"responsive-web-design-principles": {
|
||
"title": "響應式網頁設計原則",
|
||
"intro": [
|
||
"人們可能通過形狀和大小不同的設備來訪問網頁。通過響應式網頁設計,你可以設計出能靈活適應不同屏幕大小、方向和分辨率的網頁。",
|
||
"在這個課程中,你將學習如何使用 CSS 讓你的網頁在不同設備上看起來都不錯。"
|
||
]
|
||
},
|
||
"css-flexbox": {
|
||
"title": "CSS 彈性盒子",
|
||
"intro": [
|
||
"Flexbox(彈性盒子)是最新版本的 CSS(即 CSS3)中引入的一種強大且兼容性好的佈局方法。使用 flexbox,我們可以很容易地處理好頁面上的元素佈局,並創建可以自動縮小和放大的動態用戶界面。",
|
||
"在這個課程中,你將通過創建一個 Twitter 卡片學習 flexbox 和動態佈局的基礎知識。"
|
||
]
|
||
},
|
||
"css-grid": {
|
||
"title": "CSS 網格",
|
||
"intro": [
|
||
"CSS 網格是一個較新的標準,用於構建複雜的響應佈局。它通過把 HTML 元素轉換爲具有行和列的網格容器,以便將子元素放置在所需要的位置。",
|
||
"在這個課程中,你將通過創建不同的複雜佈局(包括博客)學習 CSS 網格的基礎知識。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"2022/responsive-web-design": {
|
||
"title": "Legacy Responsive Web Design V8",
|
||
"intro": [
|
||
"在響應式網頁設計的認證課程中,你將學習用於構建網頁的語言: HTML(超文本標記語言)用於創建內容,CSS(級聯樣式表)用於樣式設計。",
|
||
"首先,你將通過創建一個展示貓咪圖片的應用學習 HTML 和 CSS 的基本知識。 然後,通過創建一隻企鵝來學習像 CSS 變量這樣的現代技術,並通過創建網頁表單學習無障礙的最佳實踐。",
|
||
"最後,你將通過編寫 Twitter 卡片,學習如何使用 Flexbox 實現適應不同屏幕大小的網頁 ,以及如何用 CSS Grid 實現一個複雜的博客佈局。"
|
||
],
|
||
"note": "注意:某些瀏覽器擴展程序(例如廣告攔截器和深色模式)可能干擾測試。如果遇到問題,我們建議你在學習課程時禁用那些修改網頁內容或佈局的擴展程序。",
|
||
"blocks": {
|
||
"build-a-tribute-page-project": {
|
||
"title": "致敬頁",
|
||
"intro": [
|
||
"這是你獲得認證的必做項目。",
|
||
"在這個項目中,你將爲你所選擇的主題編寫一個致敬頁(無論是虛構的還是真實的)。"
|
||
]
|
||
},
|
||
"build-a-personal-portfolio-webpage-project": {
|
||
"title": "個人作品集展示頁",
|
||
"intro": [
|
||
"這是你獲得認證的必做項目。",
|
||
"在這個項目中,你將製作自己的個人作品集展示頁。"
|
||
]
|
||
},
|
||
"build-a-product-landing-page-project": {
|
||
"title": "產品登錄頁",
|
||
"intro": [
|
||
"這是你獲得認證的必做項目。",
|
||
"在這個項目中,你將編寫一個產品登錄頁來推銷你選擇的產品。"
|
||
]
|
||
},
|
||
"build-a-survey-form-project": {
|
||
"title": "調查表單",
|
||
"intro": [
|
||
"這是你獲得認證的必做項目。",
|
||
"在這個項目中,你將編寫一個用於收集用戶數據的調查表單。"
|
||
]
|
||
},
|
||
"build-a-technical-documentation-page-project": {
|
||
"title": "技術文檔頁",
|
||
"intro": [
|
||
"這是你獲得認證的必做項目。",
|
||
"在這個項目中,你將編寫一個技術文檔頁,作爲一個主題的指導或參考。"
|
||
]
|
||
},
|
||
"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 Grid,其中包括了像網格行和網格列這樣的概念。"
|
||
]
|
||
},
|
||
"learn-typography-by-building-a-nutrition-label": {
|
||
"title": "通過創建營養標籤學習排版",
|
||
"intro": [
|
||
"排版是將文本樣式設置爲易於閱讀並適合其目的的藝術。",
|
||
"在本課程中,你將使用排版來創建營養標籤網頁。你將學習如何使用 CSS 設置文本樣式、調整行高和定位文本。"
|
||
]
|
||
},
|
||
"learn-css-transforms-by-building-a-penguin": {
|
||
"title": "通過創建企鵝學習 CSS 變換",
|
||
"intro": [
|
||
"你可以轉換 HTML 元素以創建吸引讀者眼球的吸引人的設計。你可以使用變換來旋轉元素、縮放它們等等。",
|
||
"在本課程中,你將創建一隻企鵝。你將使用 CSS 變換來定位企鵝的各個部分並調整其大小、創建背景併爲你的作品設置動畫。"
|
||
]
|
||
},
|
||
"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)。"
|
||
],
|
||
"note": "注意:某些瀏覽器擴展,例如廣告攔截器和腳本攔截器,可能干擾測試。如果你遇到問題,我們建議你在學習時禁用修改或阻止頁面內容的擴展。",
|
||
"blocks": {
|
||
"basic-javascript": {
|
||
"title": "基礎 JavaScript",
|
||
"intro": [
|
||
"JavaScript 是一種用於網頁交互的腳本語言。它和 HTML 和 CSS 一樣,是網站的核心技術之一。所有現代瀏覽器都支持 JavaScript。",
|
||
"在這個課程中,你將學習JavaScript 中的基本編程概念。你將從數字和字符串等基本數據結構開始,然後學習使用數組、對象、函數、循環、if/else 語句等等。"
|
||
]
|
||
},
|
||
"es6": {
|
||
"title": "ES6",
|
||
"intro": [
|
||
"ECMAScript(ES)是 JavaScript 的標準。因爲所有主流瀏覽器都遵循此規範,所以 ECMAScript 和 JavaScript 是可以互換的。",
|
||
"截至目前你所學到的 JavaScript 大多是在 2009 年定稿的 ES5(ECMAScript5)。你仍然可以使用 ES5 編寫程序。JavaScript 在不斷迭代,每年都會發布新功能。",
|
||
"2015 年發佈的 ES6 爲該語言添加了許多強大的新功能。在本課程中,你將學習這些新特性,包括箭頭函數、解構、類、promise 和模塊。"
|
||
]
|
||
},
|
||
"regular-expressions": {
|
||
"title": "正則表達式",
|
||
"intro": [
|
||
"正則表達式,常常縮寫爲 “regex” 或 “regexp”,是幫助程序員匹配、搜索和替換文本的模式。正則表達式非常強大,但可能難以閱讀,因爲它們使用特殊字符來做更復雜更靈活的匹配。",
|
||
"在這個課程中,你將學習如何使用特殊字符、捕獲組、正向或負向先行斷言以及其他技巧來匹配你想要的文本。"
|
||
]
|
||
},
|
||
"debugging": {
|
||
"title": "調試",
|
||
"intro": [
|
||
"調試是檢查代碼、發現並修復問題的過程。",
|
||
"代碼中的問題通常有三種形式:1)語法錯誤導致程序停止運行, 2)代碼無法執行或具有意外行爲導致運行時錯誤,3)代碼有語義(邏輯)錯誤,沒有實現原來的意圖。",
|
||
"在這個課程中,你將學習如何使用 JavaScript 控制檯來調試程序,防止出現常見問題。"
|
||
]
|
||
},
|
||
"basic-data-structures": {
|
||
"title": "基礎數據結構",
|
||
"intro": [
|
||
"我們可以通過多種方式存儲和訪問數據。你已經知道數組和對象了,它們都是常見的 JavaScript 數據結構。",
|
||
"在基礎數據結構課程中,你會更深入地瞭解數組和對象之間的差異,以及在不同情況下應該使用哪個。你還將學習到一些好用的 JS 方法,例如 <code>splice()</code>,以及使用 <code>Object.keys()</code> 來訪問和操作數據。"
|
||
]
|
||
},
|
||
"basic-algorithm-scripting": {
|
||
"title": "基礎算法",
|
||
"intro": [
|
||
"算法是描述如何處理某個問題的一系列步驟。",
|
||
"要寫一個有效的算法,你需要先將一個特定的問題分解爲小的部分,並仔細思考如何用代碼解決每個部分。",
|
||
"在這個課程中,你將通過編寫算法來實現諸如轉換溫度、處理複雜的二維數組等,來學習算法思維的基礎知識。"
|
||
]
|
||
},
|
||
"object-oriented-programming": {
|
||
"title": "面向對象編程",
|
||
"intro": [
|
||
"OOP,即面向對象編程,是軟件開發過程的主要方法之一。在 OOP 中,我們用對象和類來組織代碼,以描述事物的特點以及它們可以做什麼。",
|
||
"在這個課程中,你將會學習 JavaScript 中面向對象編程的基本原則,例如 <code>this</code> 關鍵詞、原型鏈、構造器和繼承。"
|
||
]
|
||
},
|
||
"functional-programming": {
|
||
"title": "函數式編程",
|
||
"intro": [
|
||
"函數式編程是另一種軟件開發方法。在函數式編程中,代碼被組織成較小的基本的函數,可以結合起來構建複雜的程序。",
|
||
"在這個課程中,你將學習函數式編程的核心概念,包括純函數、如何避免突變、如何使用 <code>.map()</code> 和 <code>.filter()</code> 等方法編寫更整潔的代碼。"
|
||
]
|
||
},
|
||
"intermediate-algorithm-scripting": {
|
||
"title": "中級算法",
|
||
"intro": [
|
||
"現在你瞭解了算法的基礎知識、面向對象編程以及函數式編程。接下來我們將進入中級算法挑戰來測試你的技能。"
|
||
]
|
||
},
|
||
"javascript-algorithms-and-data-structures-projects": {
|
||
"title": "JavaScript 算法和數據結構項目",
|
||
"intro": [
|
||
"是時候用上你新學到的 JavaScript 技能了!接下來的項目和前面的算法挑戰很相近,但是難度會更高。",
|
||
"完成這 5 個 JavaScript 項目,以獲得 JavaScript 算法和數據結構認證。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"javascript-algorithms-and-data-structures-v8": {
|
||
"title": "Legacy JavaScript Algorithms and Data Structures V8",
|
||
"intro": [
|
||
"開發者使用 HTML 和 CSS 來控制頁面的內容與樣式。他們還使用 JavaScript 來讓頁面可以交互。",
|
||
"在這個 JavaScript 算法與數據結構認證中,你將學習如變量、數組、對象、循環、函數、DOM 等 JavaScript 的基礎知識。",
|
||
"你還會學習面向對象編程(OOP)、函數式編程、算法思維、如何使用本地存儲,以及如何通過使用 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": [
|
||
"這是你要獲得認證必須做的項目之一。",
|
||
"在這個項目中,你將創建一個收銀機 Web 應用程序。"
|
||
]
|
||
},
|
||
"build-a-palindrome-checker-project": {
|
||
"title": "創建迴文檢測項目",
|
||
"intro": [
|
||
"這是你要獲得認證必須做的項目之一。",
|
||
"在這個項目中,你將創建一個檢測給定單詞是否是迴文的程序。"
|
||
]
|
||
},
|
||
"build-a-roman-numeral-converter-project": {
|
||
"title": "創建羅馬數字轉換器項目",
|
||
"intro": [
|
||
"這是你要獲得認證必須做的項目之一。",
|
||
"在這個項目中,你將創建一個把整數轉換爲羅馬數字的應用。"
|
||
]
|
||
},
|
||
"build-a-telephone-number-validator-project": {
|
||
"title": "創建電話號碼驗證項目",
|
||
"intro": [
|
||
"這是你要獲得認證必須做的項目之一。",
|
||
"在這個項目中,你將創建一個檢查某個號碼是否是美國電話號碼的應用程序。"
|
||
]
|
||
},
|
||
"learn-basic-javascript-by-building-a-role-playing-game": {
|
||
"title": "通過創建角色扮演遊戲學習基礎 JavaScript",
|
||
"intro": [
|
||
"JavaScript 是一種功能強大的腳本語言,可用於使網頁具有交互性。它和 HTML 和 CSS 都是 Web 核心技術。所有現代瀏覽器都支持 JavaScript。",
|
||
"在這個練習項目中,你將通過編程你自己的角色遊戲來學習 JavaScript 中的基本編程概念。你將學習如何使用數組、字符串、對象、函數、循環、 <code>if/else</code> 語句以及更多。"
|
||
]
|
||
},
|
||
"learn-form-validation-by-building-a-calorie-counter": {
|
||
"title": "通過創建卡路里計數器學習表單驗證",
|
||
"intro": [
|
||
"有時,在編寫 Web 應用程序時,需要能夠接受用戶的輸入。在這個卡路里計數器項目中,你將學習如何驗證用戶輸入、基於該輸入執行計算以及動態更新界面以顯示結果。",
|
||
"在這個練習項目中,你將學習基本的正則表達式、模板字面量、<code>addEventListener()</code> 方法等。"
|
||
]
|
||
},
|
||
"learn-functional-programming-by-building-a-spreadsheet": {
|
||
"title": "通過創建電子表格學習函數式編程",
|
||
"intro": [
|
||
"函數式編程是一種流行的軟件開發方法。在函數式編程中,開發人員將代碼組織成更小的函數,然後將這些函數組合起來構建複雜的程序。",
|
||
"在這個電子表格應用程序項目中,你將學習如何解析和計算數學表達式、實現電子表格功能、處理單元格引用以及創建交互式 Web 界面。你將學習如何根據用戶輸入動態更新頁面。",
|
||
"這個項目將涵蓋 <code>map()</code>、<code>find()</code> 和 <code>includes()</code> 方法以及 <code>parseInt()</code> 函數等概念。"
|
||
]
|
||
},
|
||
"learn-modern-javascript-methods-by-building-football-team-cards": {
|
||
"title": "通過創建足球隊卡學習現代 JavaScript 方法",
|
||
"intro": [
|
||
"構建 Web 應用程序的一個常見方面是:處理數據集,然後將信息輸出到屏幕上。在這個運動隊卡片項目中,你將學習如何使用 DOM 操作、對象解構、事件處理和數據過濾。",
|
||
"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": [
|
||
"在提升 JavaScript 技能的過程中,你需要熟練掌握數組操作方法,例如 <code>map()</code>、<code>reduce()</code> 和 <code>filter()</code>。",
|
||
"在這個統計計算器項目中,你將獲得處理用戶輸入、DOM 操作和方法鏈的經驗。你還將練習執行統計計算,例如計算平均值、中位數、衆數、方差和標準差。"
|
||
]
|
||
},
|
||
"learn-basic-oop-by-building-a-shopping-cart": {
|
||
"title": "通過創建購物車學習基礎 OOP",
|
||
"intro": [
|
||
"OOP,即面向對象編程,是軟件開發過程的主要方法之一。在 OOP 中,開發人員使用對象和類來構造代碼。",
|
||
"在這個購物車項目中,你將學習如何定義和使用類。你將創建類實例並執行數據操作方法。",
|
||
"這個項目將涵蓋三元運算符、擴展運算符、<code>this</code> 關鍵字等概念。"
|
||
]
|
||
},
|
||
"learn-fetch-and-promises-by-building-an-fcc-authors-page": {
|
||
"title": "通過創建 fCC 作者頁面學習 Fetch 和 Promises",
|
||
"intro": [
|
||
"web 開發的一個常見方面是學習如何從外部 API 獲取數據,使用 JavaScript 進行異步編程。",
|
||
"這個 freeCodeCamp 作者頁面項目將向你展示如何使用 fetch 方法,然後動態更新 DOM 以顯示獲取的數據。",
|
||
"本項目還將教你如何對數據進行分頁,以便分批加載結果。"
|
||
]
|
||
},
|
||
"learn-regular-expressions-by-building-a-spam-filter": {
|
||
"title": "通過創建垃圾郵件過濾器學習正則表達式",
|
||
"intro": [
|
||
"正則表達式通常簡稱爲 “regex” 或 “regexp”,是幫助程序員匹配、搜索和替換文本的模式。正則表達式功能強大,但由於使用了大量特殊字符,因此可能難以理解。",
|
||
"在這個垃圾郵件過濾器項目中,你將學習捕獲組、正向查找、負向查找和其他技術,以匹配你想要的任何文本。"
|
||
]
|
||
},
|
||
"learn-basic-algorithmic-thinking-by-building-a-number-sorter": {
|
||
"title": "通過創建數字排序器學習基本算法思維",
|
||
"intro": [
|
||
"在計算機科學中,有一些基本的排序算法是所有開發人員都應該學習的。在這個數字排序器項目中,你將學習如何使用 JavaScript 實現冒泡排序、選擇排序和插入排序等不同的排序算法並將其可視化。",
|
||
"本項目將幫助你理解這些算法背後的基本概念,以及如何在 web 應用程序中應用這些算法對數字數據進行排序。"
|
||
]
|
||
},
|
||
"review-algorithmic-thinking-by-building-a-dice-game": {
|
||
"title": "通過創建骰子游戲回顧中級算法思維",
|
||
"intro": [
|
||
"算法思維包括將複雜問題分解爲一連串定義明確、循序漸進的指令的能力。",
|
||
"在這個骰子游戲項目中,你將學習如何管理遊戲狀態、實現擲骰子的遊戲邏輯、記分以及應用各種組合的規則。",
|
||
"這個項目涵蓋事件處理、數組操作、條件邏輯以及根據遊戲狀態動態更新用戶界面等概念。"
|
||
]
|
||
},
|
||
"learn-intermediate-oop-by-building-a-platformer-game": {
|
||
"title": "通過創建平臺遊戲學習中級 OOP",
|
||
"intro": [
|
||
"編碼遊戲是掌握基本編程原則的好方法,同時還能創造互動遊戲體驗。",
|
||
"在這個平臺遊戲項目中,你將繼續學習類、對象、繼承和封裝。你還將學習如何有效地設計和組織遊戲元素,並獲得解決問題和代碼可重用性方面的見解。"
|
||
]
|
||
},
|
||
"learn-localstorage-by-building-a-todo-app": {
|
||
"title": "通過創建 Todo 應用程序學習 localStorage",
|
||
"intro": [
|
||
"本地存儲是一種 web 瀏覽器功能,可讓 web 應用程序在用戶瀏覽器中持久存儲鍵值對。這樣,web 應用程序就可以在一次會話中保存數據,然後在以後的頁面會話中檢索這些數據。",
|
||
"在這個 TODO 應用程序中,你將學習如何處理表單輸入、管理本地存儲、對任務執行 CRUD(創建、讀取、更新、刪除)操作、實現事件監聽器以及切換 UI 元素。"
|
||
]
|
||
},
|
||
"learn-the-date-object-by-building-a-date-formatter": {
|
||
"title": "通過創建日期格式器學習 Date 對象",
|
||
"intro": [
|
||
"在 JavaScript 中處理日期很有挑戰性。你必須掌握各種方法、格式和時區。在本項目中,你將學習如何使用 JavaScript Date 對象,包括其方法和屬性。你還將學習如何正確格式化日期。",
|
||
"這個項目將涵蓋一些概念,如 <code>getDate()</code>、<code>getMonth()</code> 和 <code>getFullYear()</code> 方法。"
|
||
]
|
||
},
|
||
"learn-asynchronous-programming-by-building-an-fcc-forum-leaderboard": {
|
||
"title": "通過創建 fCC 論壇排行榜學習異步編程",
|
||
"intro": [
|
||
"JavaScript 是一種異步編程語言。這個項目將幫助你掌握異步概念。你將編寫自己的 freeCodeCamp 論壇排行榜。",
|
||
"該項目將包括 Fetch API、promises、Async/Await 和 try..catch 語句。"
|
||
]
|
||
},
|
||
"learn-basic-string-and-array-methods-by-building-a-music-player": {
|
||
"title": "通過創建音樂播放器學習字符串和數組的基本方法",
|
||
"intro": [
|
||
"現在讓我們學習一些基本的字符串和數組方法,例如 <code>find()</code>、<code>forEach()</code>、<code>map()</code> 和 <code>join()</code>。這些方法對於開發動態 web 應用非常重要。",
|
||
"在本項目中,你將使用 HTML、CSS 和 JavaScript 編寫一個基礎的 MP3 播放器。該項目涵蓋基本概念,如處理音頻播放、管理播放列表、實現播放、暫停、下一首、上一首和隨機播放功能。你甚至還將學習如何根據當前歌曲動態更新用戶界面。"
|
||
]
|
||
},
|
||
"learn-recursion-by-building-a-decimal-to-binary-converter": {
|
||
"title": "通過創建十進制到二進制轉換器學習遞歸",
|
||
"intro": [
|
||
"遞歸是一種編程概念,即函數調用自身。這可以將複雜的問題簡化爲更簡單的子問題,直到它們變得簡單易解。",
|
||
"在這個項目中,你將使用 JavaScript 創建一個十進制到二進制的轉換器。你將學習遞歸的基本概念,探索調用棧,並通過動畫直觀地展示遞歸過程。"
|
||
]
|
||
},
|
||
"learn-introductory-javascript-by-building-a-pyramid-generator": {
|
||
"title": "通過創建金字塔生成器學習 JavaScript 基礎知識",
|
||
"intro": [
|
||
"JavaScript 是一種功能強大的腳本語言,可用於使網頁具有交互性。它和 HTML 和 CSS 都是 Web 核心技術。所有現代瀏覽器都支持 JavaScript。",
|
||
"在這個練習項目中,你將會通過編寫你自己的金字塔生成器來學習 JavaScript 的基本編程概念。你將學到如何使用數組、字符串、函數、循環、<code>if/else</code> 語句以及更多。"
|
||
]
|
||
},
|
||
"review-js-fundamentals-by-building-a-gradebook-app": {
|
||
"title": "通過創建成績統計冊應用來回顧 JavaScript 基礎知識",
|
||
"intro": [
|
||
"在這個小項目中,你將會通過創建成績統計冊應用回顧 JavaScript 基礎知識,如函數、變量、條件以及更多內容。",
|
||
"你將通過這個機會練習解決小問題,更好地理解基礎知識。"
|
||
]
|
||
},
|
||
"learn-basic-debugging-by-building-a-random-background-color-changer": {
|
||
"title": "通過創建隨機背景變色程序學習基本調試方法",
|
||
"intro": [
|
||
"調試是檢查代碼、發現並修復問題的過程。",
|
||
"在這個項目中,你將幫助 CamperBot 創建一個隨機背景變色程序,並幫助其找到和修復錯誤。"
|
||
]
|
||
},
|
||
"review-dom-manipulation-by-building-a-rock-paper-scissors-game": {
|
||
"title": "通過創建石頭剪刀布遊戲回顧 DOM 操作",
|
||
"intro": [
|
||
"在前面的項目中,你學習瞭如何使用基本的 DOM 操作。現在是時候通過創建石頭剪刀布遊戲來複習一下所學知識了。",
|
||
"在這個迷你項目中,你將複習條件、函數、<code>getElementById</code> 等內容。本項目將爲你提供一個解決小問題的機會,讓你更好地理解基礎知識。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"front-end-development-libraries": {
|
||
"title": "Front End Development Libraries V8",
|
||
"intro": [
|
||
"你已經熟悉了 HTML、CSS 和 JavaScript。現在學習行業中一些流行的前端庫來提升你的技能吧。",
|
||
"在前端開發庫認證中,你將學習如何使用 Bootstrap 快速設置網站樣式,以及如何在 CSS 樣式中添加邏輯,並使用 Sass 對其進行擴展。",
|
||
"稍後,你將建立一個購物車和其他應用程序,學習如何使用 React 和 Redux 創建強大的單頁應用程序(SPAs)。"
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"bootstrap": {
|
||
"title": "Bootstrap",
|
||
"intro": [
|
||
"Bootstrap 一個是用於設計響應性網頁和應用程序的前端框架。它對網頁開發採用移動優先的方法,具有預定義的 CSS 樣式和 class,以及一些 JavaScript 功能。",
|
||
"在這個課程中,你將學習如何使用 Bootstrap 來構建響應式網頁,並使用它的 class 來設置按鈕、圖像、表格、導航和其他常見元素的樣式。"
|
||
]
|
||
},
|
||
"jquery": {
|
||
"title": "jQuery",
|
||
"intro": [
|
||
"jQuery 是開發者們最常用的 JavaScript 庫之一。",
|
||
"在 jQuery 於 2006 年發佈時,各種常用瀏覽器處理 JavaScript 的方式都略有不同。jQuery 簡化了編寫客戶端 JavaScript 的過程,並確保代碼在所有瀏覽器中以同樣的方式運行。",
|
||
"在這個課程中,你將學習如何使用 jQuery 選擇、移除、克隆和修改頁面上的不同元素。"
|
||
]
|
||
},
|
||
"sass": {
|
||
"title": "Sass",
|
||
"intro": [
|
||
"Sass,英文全稱爲 “Syntactically Awesome StyleSheets”,是對 CSS 的擴展。它添加了一些基礎 CSS 中不具有的新特性。Sass 簡化了 CSS,這讓維護項目中的樣式表變得更容易。",
|
||
"在這個 Sass 課程中,你將學習如何將數據存儲在變量中、嵌套 CSS、創建可重用的樣式、爲樣式添加邏輯和循環等等。"
|
||
]
|
||
},
|
||
"react": {
|
||
"title": "React",
|
||
"intro": [
|
||
"React 是一個流行的 JavaScript 庫,用於爲網頁或應用程序構建可重用的組件驅動的用戶界面。",
|
||
"React 將 HTML 與 JavaScript 結合在了一起,以此創建出一個新的標記語言 JSX。React 還使得管理整個應用程序的數據流變得更容易。",
|
||
"在這個課程中,你將學習如何創建不同的 React 組件,以 state props 管理數據,以及使用不同的生命週期方法(例如 <code>componentDidMount</code>)和更多內容。"
|
||
]
|
||
},
|
||
"redux": {
|
||
"title": "Redux",
|
||
"intro": [
|
||
"隨着應用程序規模和範圍的擴大,管理共享數據變得更加困難。Redux 被定義爲 “JavaScript 應用的可預測狀態容器”,它有助於確保你的應用能夠可預測地運行,並且更容易測試。",
|
||
"雖然你可以將 Redux 和各種庫一起使用,但我們在這裏介紹 Redux,然後在下一組課程中將它與 React 結合起來。",
|
||
"在這個課程中,你將學習 Redux stores、actions、reducers 和中間件的基礎知識,來管理應用程序的數據。"
|
||
]
|
||
},
|
||
"react-and-redux": {
|
||
"title": "React 和 Redux",
|
||
"intro": [
|
||
"React 和 Redux 經常一起被提及,這是有充分理由的。創建 Redux 的開發人員是一個 React 開發者,他希望簡化不同組件間的數據共享。",
|
||
"你已經知道了如何使用 Redux 管理共享數據流,是時候將這些知識與 React 結合起來了。在 React 和 Redux 課程中,你將構建一個 React 組件,並學習如何使用 Redux 在組件級別本地管理狀態,以及在整個應用程序中管理狀態。"
|
||
]
|
||
},
|
||
"front-end-development-libraries-projects": {
|
||
"title": "前端開發庫項目",
|
||
"intro": [
|
||
"現在是時候應用你的前端開發庫技能進行測試。用 Bootstrap、jQuery、Sass、React、和 Redux 構建 5 個項目,測試你到現在所學到的知識。",
|
||
"完成全部 5 個項目,然後你會獲得前端開發庫認證。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"data-visualization": {
|
||
"title": "Data Visualization V8",
|
||
"intro": [
|
||
"數據無處不在。但是,如果沒有上下文,數據就沒有多大意義。",
|
||
"在數據可視化認證中,你會用 D3.js 庫來創建表格、圖表和地圖,以展示不同的數據。",
|
||
"您還將瞭解 JSON(JavaScript 對象表示法),以及如何使用 API(應用程序編程接口)在線處理數據。"
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"data-visualization-with-d3": {
|
||
"title": "用 D3 實現數據可視化",
|
||
"intro": [
|
||
"D3 或 D3.js 表示數據驅動文檔。它是一個用於在瀏覽器中創建動態和交互式數據視覺化的 JavaScript 庫。",
|
||
"它基於 web 標準,即 HTML、CSS 和 SVG(可縮放矢量圖形)技術。",
|
||
"D3 支持多種不同類型的輸入數據格式。 然後,你可以使用它強大的內置方法將這些數據轉換成不同的圖表、和地圖。",
|
||
"在用 D3 實現數據可視化課程中,你將學習如何使用數據來創建不同的圖表、懸停元素及其他內容,用以創建動態和有吸引力的數據可視化。"
|
||
]
|
||
},
|
||
"json-apis-and-ajax": {
|
||
"title": "JSON APIs 和 AJAX",
|
||
"intro": [
|
||
"類似於 UI 如何幫助人們使用程序,API(應用程序接口)幫助程序與其他程序互動。API 是計算機用來相互溝通的工具,部分用於發送和接收數據。",
|
||
"程序員在使用 API 的時候,通常會使用 AJAX(同步 JavaScript 和 XML)。AJAX 指的是一組技術,這些技術向服務器提出異步請求以傳輸數據,然後將任何返回的數據加載到頁面。而且在瀏覽器和服務器之間傳輸的數據常常是一種 JSON(JavaScript 對象)格式。",
|
||
"此課程將教你如何在瀏覽器中使用 API 和不同的 AJAX 技術的基礎知識。"
|
||
]
|
||
},
|
||
"data-visualization-projects": {
|
||
"title": "數據可視化項目",
|
||
"intro": [
|
||
"現在你學習瞭如何使用 D3 、 APIs 和 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": [
|
||
"這是你獲得認證的必做項目。",
|
||
"對於這個項目,你將使用 PostgreSQL 構建一個天體數據庫。"
|
||
]
|
||
},
|
||
"build-a-number-guessing-game-project": {
|
||
"title": "猜數字遊戲",
|
||
"intro": [
|
||
"這是你獲得認證的必做項目。",
|
||
"對於這個項目,你將使用 Bash 腳本、PostgreSQL 和 Git 創建一個在終端中運行並保存用戶信息的猜數遊戲。"
|
||
]
|
||
},
|
||
"build-a-periodic-table-database-project": {
|
||
"title": "元素週期表數據庫",
|
||
"intro": [
|
||
"這是你獲得認證的必做項目。",
|
||
"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": [
|
||
"這是你獲得認證的必做項目。",
|
||
"對於這個項目,你將創建一個交互式 Bash 程序,該程序使用 PostgreSQL 來跟蹤你沙龍的客戶和約會。"
|
||
]
|
||
},
|
||
"build-a-world-cup-database-project": {
|
||
"title": "世界盃數據庫",
|
||
"intro": [
|
||
"這是你獲得認證的必做項目。",
|
||
"對於這個項目,你將創建一個 Bash 腳本,將世界盃賽中的信息存儲到 PostgreSQL 中,然後通過查詢數據庫來獲取有用的統計數據。"
|
||
]
|
||
},
|
||
"learn-advanced-bash-by-building-a-kitty-ipsum-translator": {
|
||
"title": "通過創建 Kitty Ipsum 翻譯器學習高級 Bash",
|
||
"intro": [
|
||
"Bash 命令比你想象的更多。",
|
||
"在第 140 課中,你會學習一些更復雜的命令以及命令如何工作的細節。"
|
||
]
|
||
},
|
||
"learn-bash-and-sql-by-building-a-bike-rental-shop": {
|
||
"title": "通過創建自行車出租店學習 Bash 和 SQL",
|
||
"intro": [
|
||
"在這套 210 小節的課程中,你將建立一個交互式 Bash 程序,使用 PostgreSQL 存儲自行車租賃商店的租賃信息。"
|
||
]
|
||
},
|
||
"learn-bash-by-building-a-boilerplate": {
|
||
"title": "通過創建模版學習 Bash",
|
||
"intro": [
|
||
"終端允許你將文本命令發送到你的計算機,可以操作文件系統、運行程序、自動化任務以及更多。",
|
||
"在這套 170 小節的課程中,你將通過只使用命令行創建網站模板來學習終端命令。"
|
||
]
|
||
},
|
||
"learn-bash-scripting-by-building-five-programs": {
|
||
"title": "通過創建五個程序學習 Bash 腳本",
|
||
"intro": [
|
||
"Bash 腳本將終端命令和邏輯合併到程序的可以執行任務或自動化任務等中。",
|
||
"在第 220 課程中,你將通過創建五個小程序來學習更多終端命令以及如何在 Bash 腳本中使用它們。"
|
||
]
|
||
},
|
||
"learn-git-by-building-an-sql-reference-object": {
|
||
"title": "通過創建 SQL 引用對象學習 Git",
|
||
"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 又稱結構化查詢語言是與關聯數據庫通信的語言。",
|
||
"在第 140 課中,你將創建一個 Bash 腳本,使用 SQL 將你的計算機科學學生信息存儲到 PostgreSQL 中。"
|
||
]
|
||
},
|
||
"learn-sql-by-building-a-student-database-part-2": {
|
||
"title": "通過創建學生數據庫學習 SQL:第 2 部分",
|
||
"intro": [
|
||
"SQL 加入命令用於將關係數據庫中多個表格中的信息合併在一起",
|
||
"在第 140 課課程中,你將會在更深入的 SQL 命令中完成學生數據庫。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"back-end-development-and-apis": {
|
||
"title": "Back End Development and APIs V8",
|
||
"intro": [
|
||
"在這之前,你只是在前端使用 JavaScript 來給頁面添加交互、解決算法挑戰,或構建一個 SPA(單頁應用程序)。但 JavaScript 也可以用於後端或者服務器來構建整個 web 應用程序。",
|
||
"今天,構建應用軟件的廣受歡迎的方法之一是微服務,這些微服務是一種小型模塊化的應用,能夠共同形成一個更大的整體。",
|
||
"在後端開發和 APIs 認證中,你將學習如何使用 Node.js 和 npm 編寫後端應用程序。你還將使用 Express 框架構建 Web 應用程序,並使用 MongoDB 和 Mongoose 庫構建一個 People Finder 微服務。"
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"managing-packages-with-npm": {
|
||
"title": "使用 NPM 管理軟件包",
|
||
"intro": [
|
||
"npm(Node 包管理工具)是一個命令行工具,用於安裝、創建和分享爲 Node.js 編寫的 JavaScript 代碼包。在 npm 上有許多開放源碼軟件包,所以在項目啓動之前,需要一些時間來探索,這樣你就不會最後重新創建輪子來處理像日期或從 API 獲取數據這樣的事項。",
|
||
"在這個課程中,你將學習使用 npm 的基本知識,包括如何使用 <code>package.json</code> 和如何管理已安裝的依賴項。"
|
||
]
|
||
},
|
||
"basic-node-and-express": {
|
||
"title": "基礎 Node 和 Express",
|
||
"intro": [
|
||
"Node.js 是一個 JavaScript 運行時,它允許開發人員在 JavaScript 中寫入後端(服務器側)程序。Node.js 有幾個內置的模塊——小型、獨立的程序——來幫助實現這一點,一些核心模塊包括像服務器一樣運作的 HTTP 和文件系統,一個讀取和修改文件的模塊。",
|
||
"在上一組課程中,你學到了怎麼從 npm下載和管理軟件包。這些軟件包是較小模塊的集合,可以幫助你構建更大更復雜的程序。",
|
||
"Express 是一個輕量級的 Web 應用程序框架,是 npm 上最流行的包之一。 Express 可以更輕鬆地爲你的應用程序創建服務器和處理路由,例如在人們訪問特定端點(如 <pre>/blog</pre>)時將人們引導到正確頁面。",
|
||
"在這個課程中,你將學習 Node 和 Express 的基礎知識,包括如何創建服務器、處理不同的文件,以及處理不同的瀏覽器請求。"
|
||
]
|
||
},
|
||
"mongodb-and-mongoose": {
|
||
"title": "MongoDB 和 Mongoose",
|
||
"intro": [
|
||
"MongoDB 是一個存儲 JSON 文件(或記錄)的數據庫程序,你可以在自己的程序中使用這些 JSON 文件。與 SQL——另一種類型的數據庫——所不同的是,MongoDB 是一個非關係型數據庫,也被稱爲 “NoSQL”。這意味着 MongoDB 將所有相關數據都存儲在一個記錄中,而不是像 SQL 數據庫中那樣把數據存儲在許多預設表中。",
|
||
"Mongoose 是一個廣泛使用的 npm 包,通常和 Mongo 一起安裝。通過 Mongoose,你可以使用 JavaScript 對象而不是 JSON ,這樣就更容易與 Mongo 配合使用。此外,它允許你創建文件架構,即 schema,所以你不會意外地保存錯誤的數據類型並出現 bug。",
|
||
"在 MongoDB 和 Mongoose 課程中,你將學習處理數據的基本知識,包括如何建立模型,保存、刪除並在數據庫中查找文檔。"
|
||
]
|
||
},
|
||
"back-end-development-and-apis-projects": {
|
||
"title": "後端開發和 APIs 項目",
|
||
"intro": [
|
||
"你之前用過 API,但是現在你知道 npm、Node、Express、MongoDB 和 Mongoose,是時候創建應用了。用你到現在所學的所有知識來創建 5 個不同的微服務,這些微服務是使用範圍有限的小應用。",
|
||
"在創建這些項目後,你會有 5 個很酷的微服務 API,你可以向朋友、家人和潛在的僱主展示。同時,你也會獲得後端開發和 APIs 認證。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"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,你可以寫測試描述你的程序的要求,並查看你的程序是否符合這些要求。",
|
||
"在這個課程中,你會了解測試 JavaScript 應用程序的斷言、測試 API 和其他測試 JavaScript 應用的基礎知識。"
|
||
]
|
||
},
|
||
"advanced-node-and-express": {
|
||
"title": "高級 Node 和 Express",
|
||
"intro": [
|
||
"現在是時候來使用高級 Node.js 和 Express.js 創建一個具有登錄系統的聊天應用了。",
|
||
"爲了創建一個安全的登錄系統,你需要學習驗證,這是一個驗證個人身份或者過程的的操作。",
|
||
"在這個課程中,你將學習如何使用 Passport 管理身份驗證,如何使用 Pug 創建可重用的模板以快速構建前端,以及如何使用 web sockets 在客戶端和服務器之間進行實時通信。"
|
||
]
|
||
},
|
||
"quality-assurance-projects": {
|
||
"title": "質量保證項目",
|
||
"intro": [
|
||
"現在你對前端和後端都非常精通,是時候應用你所學到的所有技能和概念了。你將構建 5 個不同的 web 應用程序,併爲每個應用程序編寫測試,以確保它們正常工作並可以處理不同的情況。",
|
||
"完成這 5 個質量保證項目後,你將獲得一個新的認證,你可以在自己的作品集中展示這 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.",
|
||
"這個綜合課程將指導你學習科學計算的基礎知識,包括數據結構和算法。"
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"learn-string-manipulation-by-building-a-cipher": {
|
||
"title": "通過創建密碼學習字符串操作",
|
||
"intro": [
|
||
"Python 是一種強大而流行的編程語言,廣泛應用於數據科學、數據可視化、web 開發、遊戲開發、機器學習等領域。",
|
||
"在本項目中,你將學習 Python 的基本編程概念,如變量、函數、循環和條件語句。你將使用這些概念編寫第一個程序。"
|
||
]
|
||
},
|
||
"learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm": {
|
||
"title": "通過實現盧恩算法學習如何處理數字和字符串",
|
||
"intro": [
|
||
"盧恩算法被廣泛用於各種應用中的錯誤檢查,如驗證信用卡號碼。",
|
||
"通過創建這個項目,你將獲得數字計算和字符串操作的經驗。"
|
||
]
|
||
},
|
||
"learn-list-comprehension-by-building-a-case-converter-program": {
|
||
"title": "通過創建大小寫轉換器程序學習 Python 列表推導",
|
||
"intro": [
|
||
"列表推導是一種從可迭代類型(列表、元組和字符串)構建新的 Python 列表的方法。所有這些都無需使用 for 循環或 `.append()` 列表方法。",
|
||
"在這個項目中,你將編寫一個程序,接收駝峯或帕斯卡命名格式的字符串,然後將其轉換爲蛇形命名格式。",
|
||
"該項目分爲兩個階段:首先,你將使用 for 循環來執行程序。然後,你將學習如何使用列表推導代替循環來實現相同的結果。"
|
||
]
|
||
},
|
||
"learn-regular-expressions-by-building-a-password-generator": {
|
||
"title": "通過創建密碼生成器學習正則表達式",
|
||
"intro": [
|
||
"Python 模塊是一個包含一系列語句和定義的文件,你可以在代碼中使用這些語句和定義。",
|
||
"在本項目中,你將學習如何從 Python 標準庫中導入模塊。你還將通過構建自己的密碼生成器程序來學習如何使用正則表達式。"
|
||
]
|
||
},
|
||
"learn-algorithm-design-by-building-a-shortest-path-algorithm": {
|
||
"title": "通過創建最短路徑算法學習算法設計",
|
||
"intro": [
|
||
"算法是開發者用來執行計算和解決計算問題的分步程序。",
|
||
"在本項目中,你將學習如何使用函數、循環、條件語句和字典推導來實現最短路徑算法。"
|
||
]
|
||
},
|
||
"learn-recursion-by-solving-the-tower-of-hanoi-puzzle": {
|
||
"title": "通過解決河內塔謎題學習遞歸",
|
||
"intro": [
|
||
"遞歸是一種編程方法,它讓你只需少量代碼就能解決複雜的計算問題。",
|
||
"在本項目中,你將從基於循環的河內塔數學謎題解法開始。然後,你將學習如何實現遞歸解法。"
|
||
]
|
||
},
|
||
"learn-data-structures-by-building-the-merge-sort-algorithm": {
|
||
"title": "通過創建歸併排序算法學習數據結構",
|
||
"intro": [
|
||
"歸併排序算法是一種基於分治原則的排序算法。",
|
||
"在本項目中,你將學習如何使用歸併排序算法對隨機數列表進行排序,從而與數據結構進行交互。"
|
||
]
|
||
},
|
||
"learn-classes-and-objects-by-building-a-sudoku-solver": {
|
||
"title": "通過創建數獨求解器學習類和對象",
|
||
"intro": [
|
||
"類和對象是重要的編程概念。這些面向對象編程工具可以幫助開發人員實現代碼的模塊化、抽象化和可讀性。它們還能提高代碼的可重用性。",
|
||
"在這個數獨求解器項目中,你將學習如何使用類和對象來創建數獨網格並求解數獨謎題。"
|
||
]
|
||
},
|
||
"learn-tree-traversal-by-building-a-binary-search-tree": {
|
||
"title": "通過創建二叉搜索樹學習樹形結構遍歷",
|
||
"intro": [
|
||
"二叉搜索樹(BST)是一種常見的數據結構,數據按層次排序。",
|
||
"在本項目中,你將學習如何構建自己的 BST 並執行無序遍歷。你還將學習插入、搜索和刪除等關鍵操作。"
|
||
]
|
||
},
|
||
"learn-lambda-functions-by-building-an-expense-tracker": {
|
||
"title": "通過創建費用跟蹤器學習 Lambda 函數",
|
||
"intro": [
|
||
"Lambda 函數爲你提供了一種簡潔的方法,讓你可以在代碼中編寫小型的、可丟棄的函數。",
|
||
"在本項目中,你將通過創建一個費用跟蹤器來探索 Lambda 函數的強大功能。你創建的應用程序將展示如何使用 Lambda 函數實現高效、簡化的操作。"
|
||
]
|
||
},
|
||
"build-an-arithmetic-formatter-project": {
|
||
"title": "創建算術格式化器項目",
|
||
"intro": ["這是你要獲得認證必須做的項目之一。"]
|
||
},
|
||
"build-a-time-calculator-project": {
|
||
"title": "創建時間計算器項目",
|
||
"intro": ["這是你要獲得認證必須做的項目之一。"]
|
||
},
|
||
"build-a-budget-app-project": {
|
||
"title": "創建預算應用程序項目",
|
||
"intro": ["這是你要獲得認證必須做的項目之一。"]
|
||
},
|
||
"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 做數據分析的基礎知識。然後,你會學習怎麼從 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 數據分析認證。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"information-security": {
|
||
"title": "信息安全",
|
||
"intro": [
|
||
"通過我們在線上的一切行爲,我們的電子郵件地址、密碼、電話號碼等等大量敏感信息處於風險之中。",
|
||
"通過信息安全認證,你將使用 HelmetJS 構建安全的 Web 應用程序,以學習信息安全的基礎知識。",
|
||
"你還將使用 Python 構建一個 TCP 客戶端以及一個 Nmap 和端口掃描程序,從而學習滲透測試的基礎知識。滲透測試是良好信息安全的重要組成部分。"
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"information-security-with-helmetjs": {
|
||
"title": "HelmetJS 與信息安全",
|
||
"intro": [
|
||
"這個課程的重點是 HelmetJS。HelmetJS 是一種用於基於 Express 的應用程序的中間件,可以自動設置 HTTP 標頭。這樣,它可以防止敏感信息被無意間在服務器和客戶端之間傳遞。",
|
||
"以下課程將幫助你瞭解如何保護你的網站免遭惡意攻擊。"
|
||
]
|
||
},
|
||
"python-for-penetration-testing": {
|
||
"title": "Python 與滲透測試",
|
||
"intro": [
|
||
"這些視頻課程教你使用 Python 進行滲透測試。滲透測試(penetration testing)也叫作 “pen test”,它是對系統的模擬攻擊,以檢查漏洞。",
|
||
"在這個課程中,你將學習套接字、創建 TCP 服務器和客戶端、構建 Nmap 掃描儀以及滲透測試人員日常使用的其他工具和技術。"
|
||
]
|
||
},
|
||
"information-security-projects": {
|
||
"title": "信息安全項目",
|
||
"intro": [
|
||
"現在是時候運用你的信息安全技能了。通過這些項目,你可以運用所學的信息安全技能、原理和概念。",
|
||
"完成後,您將擁有大量的信息安全項目,並獲得認證,你可以向朋友、家人和僱主炫耀的證書。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"machine-learning-with-python": {
|
||
"title": "Python 機器學習",
|
||
"intro": [
|
||
"機器學習有許多實際應用程序,你可以在項目中或工作中使用它們。",
|
||
"在這個認證中,你將使用 TensorFlow 框架構建多個神經網絡,同時,你將探索更先進的技術,例如自然語言處理和強化學習。",
|
||
"你還將學習神經網絡,並瞭解深度、遞歸和卷積神經網絡背後的原理。"
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"tensorflow": {
|
||
"title": "TensorFlow",
|
||
"intro": [
|
||
"TensorFlow 是一個開源框架,使機器學習和神經網絡更易於使用。",
|
||
"以下視頻課程是由 Tim Ruscica 創建的,也叫作 “Tech With Tim”。這個課程將幫助你瞭解 TensorFlow 及它的一些強大功能。"
|
||
]
|
||
},
|
||
"how-neural-networks-work": {
|
||
"title": "神經網絡如何工作",
|
||
"intro": [
|
||
"神經網絡是如今我們所謂的人工智能的核心。但是從歷史上看,它們一直很難理解,特別是對於機器學習領域的初學者來說。",
|
||
"即使你剛開始學習神經網絡,Brandon Rohrer 的這些視頻課程也可以幫助你熟悉它的概念和它背後的數學知識。"
|
||
]
|
||
},
|
||
"machine-learning-with-python-projects": {
|
||
"title": "Python 機器學習項目",
|
||
"intro": [
|
||
"機器學習有許多實際應用。通過完成這些免費且具有挑戰性的編程項目,你可以證明自己掌握了機器學習基礎知識,並獲得認證。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"college-algebra-with-python": {
|
||
"title": "Python 和大學數學",
|
||
"intro": [
|
||
"本課程設計爲一個學期的大學課程。它包含教學視頻、用於交互式跟進的 Google Colaboratory 筆記本、任務和具有挑戰性的項目。",
|
||
"當你按順序學習本課程的每個部分時,你將全面瞭解代數以及如何編寫 Python 代碼來解決代數問題。",
|
||
"在整個課程中,你還將創建自己的代數 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": ["這個單元將向你展示如何從兩個點來構建線性方程。"]
|
||
},
|
||
"learn-common-factors-and-square-roots": {
|
||
"title": "學習公因數和平方根",
|
||
"intro": [
|
||
"在這個單元中,你將學習如何找到公因數和分解公因數。這將有助於簡化分數和簡化平方根式。"
|
||
]
|
||
},
|
||
"build-a-multi-function-calculator-project": {
|
||
"title": "多功能計算器",
|
||
"intro": [
|
||
"這是你獲得認證必做的項目之一。",
|
||
"在這個項目中,你將創建一個多功能計算器。"
|
||
]
|
||
},
|
||
"learn-how-to-graph-systems-of-equations": {
|
||
"title": "學習如何繪製方程組對應的圖像",
|
||
"intro": [
|
||
"這個單位將側重於繪製同一座標平面上的兩個方程式的圖像,以便你可以看到線條相交的地方。"
|
||
]
|
||
},
|
||
"learn-how-to-solve-systems-of-equations": {
|
||
"title": "學習如何解方程組",
|
||
"intro": [
|
||
"在這個單元中,你將學習如何求解一個由兩個方程式(兩個變量)組成的方程組,而無需圖像。 你將會看到如何用 Python 分解因式和求解某個變量。 學完這個單元,你將能用一個代碼塊來求解方程組並繪製圖像。"
|
||
]
|
||
},
|
||
"learn-applications-of-linear-systems": {
|
||
"title": "學習線性方程組的應用",
|
||
"intro": [
|
||
"在這個單元中,你將看到如何使用你目前學到的代數來解決真實世界中的問題。"
|
||
]
|
||
},
|
||
"learn-quadratic-equations": {
|
||
"title": "學習二次方程",
|
||
"intro": [
|
||
"這個單元將在線性方程的基礎上,結合指數和拋物線圖像。 你將學習如何在拋物線中找到關鍵點,以及如何解二次方程。"
|
||
]
|
||
},
|
||
"build-a-graphing-calculator-project": {
|
||
"title": "圖形計算器",
|
||
"intro": [
|
||
"這是你獲得認證必做的項目之一。",
|
||
"在這個項目中,你將創建一個圖形計算器。"
|
||
]
|
||
},
|
||
"learn-parent-graphs-and-polynomials": {
|
||
"title": "學習父圖像和多項式",
|
||
"intro": [
|
||
"這個單元將顯示許多不同類型的“父”圖像,即構成更復雜圖像的基本模式。多項式是帶有“多件事”的數學表達式,是由基本模式構建的更復雜的方程式。你會看到這些圖像是什麼樣的、如何修改它們,以及如何使用 Python 代碼來做這一切。"
|
||
]
|
||
},
|
||
"build-three-math-games-project": {
|
||
"title": "三個數學遊戲",
|
||
"intro": [
|
||
"這是你獲得認證必做的項目之一。",
|
||
"在這個項目中,你將創建三個數學遊戲。"
|
||
]
|
||
},
|
||
"learn-business-applications-of-college-algebra": {
|
||
"title": "學習大學代數的商業應用",
|
||
"intro": [
|
||
"這個單元將向你展示如何應用你的解答和繪圖技能來求解成本、收入和利潤。你將從兩個點寫代碼來開發一個需求函數。你將看到價格如何影響利潤圖,以及所有這些方程如何相互關聯。"
|
||
]
|
||
},
|
||
"learn-simple-and-compound-interest": {
|
||
"title": "學習單利和複利",
|
||
"intro": [
|
||
"這個單位將向你展示如何計算利息、貸款支付和投資的估值。你將看到數學公式,並將其變成代碼。由於這些公式往往很複雜,因此你只需要修改一部分值的代碼。"
|
||
]
|
||
},
|
||
"learn-exponents-and-logarithms": {
|
||
"title": "學習指數和對數",
|
||
"intro": [
|
||
"這個單元將向你展示指數和對數是反函數,以及你如何在各種應用程序中使用這些函數。"
|
||
]
|
||
},
|
||
"build-a-financial-calculator-project": {
|
||
"title": "金融計算器",
|
||
"intro": [
|
||
"這是你獲得認證必做的項目之一。",
|
||
"對於這個項目,你將創建一個財務計算器。"
|
||
]
|
||
},
|
||
"college-algebra-with-python-conclusion": {
|
||
"title": "Python 和大學數學:總結",
|
||
"intro": [
|
||
"這將是本課程的最後一個單元。讓我們看看如何能夠將你的數學和 Python 知識與外部數據連接起來。"
|
||
]
|
||
},
|
||
"build-a-data-graph-explorer-project": {
|
||
"title": "數據圖表瀏覽器",
|
||
"intro": [
|
||
"這是你獲得認證必做的項目之一。",
|
||
"對於這個項目,你將創建一個數據圖表瀏覽器。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"python-for-everybody": {
|
||
"title": "(舊版)通用 Python 課程",
|
||
"intro": [
|
||
"Python 是目前最流行的、最靈活的編程語言之一。你可以用它來做很多事,包括從基礎算法到機器學習。"
|
||
],
|
||
"note": "",
|
||
"blocks": {
|
||
"python-for-everybody": {
|
||
"title": "通用 Python 課程",
|
||
"intro": [
|
||
"通用 Python 課程是一個講解 Python 3 基礎的系列免費視頻課程。",
|
||
"這些課程是 Dr. Charles Severance(Dr. Chuck)創建的。他是密歇根大學信息學院的教授,他教授各種技術課程,包括編程、數據庫設計和 web 開發。"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"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 由開發人員 Erik Trautman 創建於 2013 年。多年來,開源社區不斷維護和擴展該項目。",
|
||
"freeCodeCamp 在開源課程的基礎上進行了擴展,使其可以在瀏覽器中交互運行,並通過測試來評估你的代碼,確保你理解了關鍵概念。",
|
||
"如果你想體驗在本地計算機上配置運行所有 The Odin Project,可以在 <a href='https://www.theodinproject.com/' target='_blank' rel='noopener noreferrer nofollow'>The Odin Project 網站</a> 上查看原始的 Odin Project。衷心感謝 The Odin Project 社區持續爲世界各地的開發人員維護這一寶貴的學習資源。",
|
||
"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": "學習 HTML 基礎",
|
||
"intro": [
|
||
"通過本課程紮實掌握 HTML 基本知識。從構建網頁到理解語義標籤,你將爲在 web 端創建條理清晰、易於訪問的內容打下堅實的基礎。"
|
||
]
|
||
},
|
||
"top-working-with-text": {
|
||
"title": "使用文本",
|
||
"intro": [
|
||
"探索 web 開發中文本處理的技巧。學習文本格式設置、處理和展示,提升你創建 web 內容的技能。"
|
||
]
|
||
},
|
||
"top-links-and-images": {
|
||
"title": "鏈接和圖像",
|
||
"intro": [
|
||
"學習如何在你的 web 項目中添加鏈接和圖片。本課程涵蓋創建鏈接和嵌入圖片的基礎知識,使你的網站更具互動性和視覺吸引力。"
|
||
]
|
||
},
|
||
"top-build-a-recipe-project": {
|
||
"title": "通過創建食譜頁面學習 HTML 基礎",
|
||
"intro": [
|
||
"通過創建一個菜譜頁面,在實踐中鍛鍊你的 HTML 技能。這個項目使你可以運用所學的知識創建一個功能性網頁,同時鞏固 HTML 開發的關鍵概念。"
|
||
]
|
||
},
|
||
"top-learn-css-foundations": {
|
||
"title": "學習 CSS 基礎",
|
||
"intro": [
|
||
"深入層疊樣式表(CSS)的世界,學習如何爲 HTML 元素設計樣式。探索樣式屬性、選擇器和佈局,讓你的網頁栩栩如生。"
|
||
]
|
||
},
|
||
"top-learn-css-foundations-projects": {
|
||
"title": "學習 CSS 基礎項目",
|
||
"intro": [
|
||
"通過實踐項目,讓你的 CSS 技能更上一層樓。你將在本課程中應用 CSS 爲實際場景創建響應式設計。"
|
||
]
|
||
},
|
||
"top-learn-css-specificity": {
|
||
"title": "學習 CSS 優先級",
|
||
"intro": [
|
||
"學習 CSS 的特性,更好地瞭解如何給 HTML 元素添加樣式。本課程探討 CSS 規則的細微差別,幫助你爲網頁編寫高效、有針對性的樣式。"
|
||
]
|
||
},
|
||
"top-the-box-model": {
|
||
"title": "學習盒模型",
|
||
"intro": [
|
||
"通過本課程學習 CSS 盒模型。瞭解元素在網頁上的呈現方式,學習如何處理間距、邊框和邊距,以實現理想的佈局和設計。"
|
||
]
|
||
},
|
||
"top-introduction-to-flexbox": {
|
||
"title": "Flexbox 簡介",
|
||
"intro": [
|
||
"瞭解 Flexbox 的強大功能,這種佈局模型可簡化靈活、響應性強的網頁佈局設計。瞭解如何輕鬆創建動態的和自適應的頁面結構。"
|
||
]
|
||
},
|
||
"top-learn-block-and-inline": {
|
||
"title": "學習塊和內聯之間的差異",
|
||
"intro": [
|
||
"探索 HTML 和 CSS 中塊元素和內聯元素之間的區別。本課程讓你深入瞭解這些顯示類型如何影響佈局和行爲,使你能夠做出明智的設計決策。"
|
||
]
|
||
},
|
||
"top-learn-variables-and-operators": {
|
||
"title": "學習變量和運算符",
|
||
"intro": [
|
||
"通過學習變量和運算符開始學習 JavaScript。本課程涵蓋 JavaScript 編程的基礎知識,包括數據類型、運算符和變量聲明。"
|
||
]
|
||
},
|
||
"top-learn-data-types-and-conditionals": {
|
||
"title": "學習數據類型和條件",
|
||
"intro": ["在 JavaScript 中學習數據類型和條件"]
|
||
},
|
||
"top-learn-function-basics": {
|
||
"title": "學習函數基礎",
|
||
"intro": ["學習 JavaScript 中的函數。"]
|
||
},
|
||
"top-basic-function-projects": {
|
||
"title": "基礎函數項目",
|
||
"intro": ["通過構建基本函數來測試你的 JavaScript 技能。"]
|
||
},
|
||
"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": [
|
||
"在這裏,你將繼續發揮你的數學和算法技能,使用組合博弈論、位運算和 Golomb 的自描述序列等概念來開發這些問題的有效解決方案。",
|
||
"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": "微軟基礎 C# 認證考試",
|
||
"intro": ["利用所學知識通過考試,獲得你的微軟基礎 C# 認證"]
|
||
}
|
||
}
|
||
},
|
||
"a2-english-for-developers": {
|
||
"title": "A2 English for Developers Certification (Beta)",
|
||
"intro": [
|
||
"在開發者英語課程中,你將學習英語交流的基本要素。課程遵循歐洲共同語言參考標準(CEFR)的 A2 級,側重於對開發者有用的詞彙。",
|
||
"課程的前半部分將幫助你熟悉英語語法和用法。你將通過大量的實踐練習學習自我介紹、聊天和討論工作等基礎知識。",
|
||
"在後半部分,你將練習軟件開發的專用詞彙。你將學習如何描述代碼、討論技術趨勢和參加站立會議。",
|
||
"整個 A2 級課程包括 105 個不同的對話。每一個對話都旨在幫助你積累詞彙、增強在專業技術環境中演講的信心。"
|
||
],
|
||
"blocks": {
|
||
"learn-greetings-in-your-first-day-at-the-office": {
|
||
"title": "學習第一天上班的問候語",
|
||
"intro": [
|
||
"在第一節課程中,你將學習第一天上班可能遇到的情境中的常用表達方式。你將學習自我介紹、認識別人、詢問午餐推薦以及從安保處領取門禁卡。"
|
||
]
|
||
},
|
||
"en-a2-quiz-greetings-first-day-office": {
|
||
"title": "First Day at The Office Greetings Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-introductions-in-an-online-team-meeting": {
|
||
"title": "學習在線上團隊會議中自我介紹",
|
||
"intro": [
|
||
"在本課程中,你將學習如何進行個人介紹。你還將學習如何在小組會議中陳述自己的職業和分享自己的目標。"
|
||
]
|
||
},
|
||
"en-a2-quiz-introductions-online-team-meeting": {
|
||
"title": "Online Team Introductions Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-conversation-starters-in-the-break-room": {
|
||
"title": "學習在休息室中的對話開場白",
|
||
"intro": [
|
||
"在本課程中,你將學習如何在休閒場合開始對話。你還將學習如何談論自己的愛好和個性特徵。你甚至還將學習如何詢問城市周邊的情況。"
|
||
]
|
||
},
|
||
"en-a2-quiz-conversation-starters-break-room": {
|
||
"title": "Break Room Conversations Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-talk-about-a-typical-workday-and-tasks": {
|
||
"title": "學習如何談論典型的工作日和任務",
|
||
"intro": [
|
||
"在本課程中,你將學習如何談論你的工作日和你在工作場所執行的任務,以及如何與別人分享這些內容。課程主要關注用於描述你的活動的結構以及與任務相關的詞彙。"
|
||
]
|
||
},
|
||
"en-a2-quiz-talk-about-typical-workday-tasks": {
|
||
"title": "Talking About Your Workday Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-discuss-your-morning-or-evening-routine": {
|
||
"title": "學習如何討論你的晨間或晚間例行活動",
|
||
"intro": [
|
||
"在本課程中,你將學習如何談論並與別人分享你的例行活動細節。課程的重點是用於談論例行活動的結構和相關詞彙。"
|
||
]
|
||
},
|
||
"en-a2-quiz-discuss-morning-evening-routine": {
|
||
"title": "Daily Routines at Work Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-describe-your-current-project": {
|
||
"title": "學習如何描述你當前的項目",
|
||
"intro": [
|
||
"在本課程中,你將學習如何談論自己參與的項目,以及如何告知別人自己在這些項目中的工作。課程的重點是用於告知別人的結構和相關詞彙。"
|
||
]
|
||
},
|
||
"en-a2-quiz-describe-current-project": {
|
||
"title": "Describing Your Current Project Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-ask-and-share-about-educational-and-professional-background": {
|
||
"title": "學習如何詢問和分享教育和專業背景",
|
||
"intro": [
|
||
"在本課程中,你將學習如何詢問別人的教育和職業背景,並學習如何分享有關你的背景信息。"
|
||
]
|
||
},
|
||
"en-a2-quiz-educational-professional-background": {
|
||
"title": "Educational and Professional Background Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-talk-about-hobbies-and-interests": {
|
||
"title": "學習如何談論興趣與愛好",
|
||
"intro": [
|
||
"在本課程中,你將學習用不同的方式談論自己的愛好和感興趣的事物。你還將學習如何詢問別人的愛好,以及如何邀請別人參加這些活動。"
|
||
]
|
||
},
|
||
"en-a2-quiz-talk-about-hobbies-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": "學習如何就偏好和動機進行對話",
|
||
"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-motivations": {
|
||
"title": "Preferences and Motivations Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-discuss-popular-trends-in-technology": {
|
||
"title": "學習如何討論流行的技術趨勢",
|
||
"intro": [
|
||
"In this course, you'll learn how to discuss about things that everybody's talking about in technology these days."
|
||
]
|
||
},
|
||
"en-a2-quiz-popular-technology-trends": {
|
||
"title": "Technology Trends Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-clarify-information-in-different-interactions": {
|
||
"title": "學習如何在不同的互動中闡明信息",
|
||
"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-clarify-information-interactions": {
|
||
"title": "Clarifying Information Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-use-basic-programming-vocabulary-in-conversations": {
|
||
"title": "學習如何在對話中使用基本編程詞彙",
|
||
"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": "學習如何使用代碼相關的概念和術語",
|
||
"intro": [
|
||
"In this course, you will be introduced to terms related to coding and learn how to use them in conversation."
|
||
]
|
||
},
|
||
"en-a2-quiz-code-related-concepts-terms": {
|
||
"title": "Code Concepts and Terms Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-discuss-tech-trends-and-updates": {
|
||
"title": "學習如何談論技術趨勢和更新",
|
||
"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-tech-trends-updates": {
|
||
"title": "Tech Updates and Trends Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-help-a-coworker-troubleshoot-on-github": {
|
||
"title": "學習如何在 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-help-coworker-github-troubleshooting": {
|
||
"title": "Helping a Coworker on GitHub Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-share-your-progress-in-weekly-stand-up-meetings": {
|
||
"title": "學習如何在每週站立會議上分享你的進展",
|
||
"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-share-progress-weekly-meeting": {
|
||
"title": "Weekly Meeting Progress Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-ask-for-clarification-on-code-understanding": {
|
||
"title": "學習如何要求澄清對代碼的理解",
|
||
"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-ask-for-code-clarification": {
|
||
"title": "Asking for Code Clarification Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-document-code-for-a-project": {
|
||
"title": "學習如何爲項目寫代碼文檔",
|
||
"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": "學習如何閱讀和理解代碼文檔",
|
||
"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": "學習如何分析代碼文檔",
|
||
"intro": [
|
||
"In this course, you will see some ideas to help you to approach documentation and analyze it in simple terms."
|
||
]
|
||
},
|
||
"en-a2-quiz-analyze-code-documentation": {
|
||
"title": "Analyzing Code Documentation Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-share-progress-and-accomplishments": {
|
||
"title": "學習如何分享進度和成就",
|
||
"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-share-progress-accomplishments": {
|
||
"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": "學習如何表達同意或不同意",
|
||
"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": "學習如何提供技術支持和指導",
|
||
"intro": [
|
||
"In this course, you will see ways of offering some help in terms of technical specifics to another person."
|
||
]
|
||
},
|
||
"en-a2-quiz-offer-technical-support-guidance": {
|
||
"title": "Offering Technical Support Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-request-and-receive-guidance": {
|
||
"title": "學習如何請求和接受指導",
|
||
"intro": [
|
||
"This course will show you how to ask for assistance from a coworker when you need it."
|
||
]
|
||
},
|
||
"en-a2-quiz-request-receive-guidance": {
|
||
"title": "Requesting and Receiving Guidance Quiz",
|
||
"intro": ["", ""]
|
||
},
|
||
"learn-how-to-provide-explanations-when-helping-others": {
|
||
"title": "學習如何在幫助別人時提供解釋",
|
||
"intro": [
|
||
"This course will provide you with ways to explain things to other people while assisting them."
|
||
]
|
||
},
|
||
"en-a2-quiz-provide-explanations-helping-others": {
|
||
"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": "羅塞塔代碼",
|
||
"intro": [
|
||
"通過完成經典的羅塞塔代碼庫中的這些免費編程任務來提升你的創造性問題解決能力。",
|
||
"這些挑戰可能很困難,但是它們會將進一步提升你的算法邏輯。",
|
||
"<a href='https://rosettacode.org/wiki/Rosetta_Code' target='_blank' rel='noopener noreferrer nofollow'>Attribute: Rosetta Code</a>"
|
||
],
|
||
"blocks": {
|
||
"rosetta-code-challenges": {
|
||
"title": "羅塞塔代碼挑戰",
|
||
"intro": [
|
||
"這些是羅賽塔代碼的挑戰。",
|
||
"NOTE: These challenges support JavaScript only solutions."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"full-stack-developer": {
|
||
"title": "Certified Full Stack Developer Curriculum",
|
||
"intro": [
|
||
"This course provides a comprehensive pathway to becoming a Certified Full Stack Developer, covering all the essential technologies required to build modern, scalable web applications from start to finish.",
|
||
"Through a blend of interactive lessons, coding exercises, and real-world projects, you will master both frontend and backend development. You'll work with HTML, CSS, and JavaScript to build responsive user interfaces, explore React and TypeScript for advanced web applications, and learn to manage data with relational databases - and on the backend, you'll use Git, Npm, Node.js, and Python to create powerful server-side solutions.",
|
||
"By the end of this course, you'll have the practical skills and experience to confidently develop complete web applications, preparing you for a successful career as a Full Stack Developer.",
|
||
"This certification will take you a substantial amount of time and effort to complete. If you start now, you may be ready to start the remaining material and final exam when we launch it in the coming months."
|
||
],
|
||
"chapters": {
|
||
"html": "HTML",
|
||
"css": "CSS",
|
||
"javascript": "JavaScript",
|
||
"frontend-libraries": "Front End Libraries",
|
||
"relational-databases": "Relational Databases",
|
||
"backend-javascript": "Backend JavaScript",
|
||
"python": "Python",
|
||
"career": "Career"
|
||
},
|
||
"modules": {
|
||
"basic-html": "Basic HTML",
|
||
"semantic-html": "Semantic HTML",
|
||
"html-forms-and-tables": "Forms and Tables",
|
||
"html-and-accessibility": "Accessibility",
|
||
"review-html": "HTML Review",
|
||
"exam-html": "HTML Exam",
|
||
"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",
|
||
"css-typography": "Typography",
|
||
"css-and-accessibility": "Accessibility",
|
||
"attribute-selectors": "Attribute Selectors",
|
||
"css-positioning": "Positioning",
|
||
"responsive-design": "Responsive Design",
|
||
"css-variables": "Variables",
|
||
"css-grid": "Grid",
|
||
"css-animations": "Animations",
|
||
"review-css": "CSS Review",
|
||
"exam-css": "CSS Exam",
|
||
"code-editors": "Code Editors",
|
||
"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",
|
||
"form-validation": "Form Validation",
|
||
"javascript-dates": "Dates",
|
||
"audio-and-video-events": "Audio and Video Events",
|
||
"maps-and-sets": "Maps and Sets",
|
||
"localstorage-and-crud-operations": "localStorage and CRUD Operations",
|
||
"classes-and-the-this-keyword": "Classes",
|
||
"recursion": "Recursion",
|
||
"functional-programming": "Functional Programming",
|
||
"asynchronous-javascript": "Asynchronous JavaScript",
|
||
"review-javascript": "JavaScript Review",
|
||
"exam-javascript": "JavaScript Exam",
|
||
"react-fundamentals": "React Fundamentals",
|
||
"react-state-hooks-and-routing": "React State, Hooks, and Routing",
|
||
"performance": "Performance",
|
||
"testing": "Testing",
|
||
"css-libraries-and-frameworks": "CSS Libraries and Frameworks",
|
||
"data-visualization": "Data Visualization and D3",
|
||
"typescript-fundamentals": "TypeScript Fundamentals",
|
||
"review-front-end-libraries": "Front End Libraries Review",
|
||
"exam-front-end-libraries": "Front End Libraries Exam",
|
||
"python-basics": "Python Basics",
|
||
"python-loops-and-sequences": "Loops and Sequences",
|
||
"python-dictionaries-and-sets": "Dictionaries and Sets",
|
||
"python-error-handling": "Error Handling",
|
||
"python-classes-and-objects": "Classes and Objects",
|
||
"python-object-oriented-programming": "Object-Oriented Programming (OOP)",
|
||
"python-linear-data-structures": "Linear Data Structures",
|
||
"python-algorithms": "Algorithms",
|
||
"python-graphs-and-trees": "Graphs and Trees",
|
||
"python-dynamic-programming": "Dynamic Programming",
|
||
"review-python": "Python Review",
|
||
"exam-python": "Python Exam",
|
||
"bash-fundamentals": "Bash Fundamentals",
|
||
"sql-and-postgresql": "SQL and PostgreSQL",
|
||
"bash-scripting": "Bash Scripting",
|
||
"sql-and-bash": "SQL and Bash",
|
||
"git": "Git",
|
||
"review-relational-databases": "Relational Databases Review",
|
||
"exam-relational-databases": "Relational Databases Exam",
|
||
"nodejs-core-libraries": "Node.js Core Libraries",
|
||
"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",
|
||
"how-to-get-a-developer-job": "How to Get a Developer Job",
|
||
"capstone-project": "Capstone Project",
|
||
"certified-full-stack-developer-exam": "Certified Full Stack Developer Exam"
|
||
},
|
||
"module-intros": {
|
||
"data-visualization": {
|
||
"note": "Coming Winter 2025",
|
||
"intro": [
|
||
"In this module, you will be introduced to data visualization and learn how to work with the D3 library."
|
||
]
|
||
},
|
||
"typescript-fundamentals": {
|
||
"note": "Coming Fall 2025",
|
||
"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."
|
||
]
|
||
},
|
||
"python-classes-and-objects": {
|
||
"note": "Coming Winter 2025",
|
||
"intro": [
|
||
"In this module, you will learn how to work with classes, methods, attributes and properties. Then, you will build out workshops and labs to practice these concepts and take a short quiz to test your knowledge."
|
||
]
|
||
},
|
||
"python-object-oriented-programming": {
|
||
"note": "Coming Winter 2025",
|
||
"intro": [
|
||
"In this module, you will learn about Object-oriented programming concepts like encapsulation, inheritance, polymorphism, and more. You will build out workshops and labs to practice these concepts and take a short quiz to test your knowledge."
|
||
]
|
||
},
|
||
"python-linear-data-structures": {
|
||
"note": "Coming Winter 2025",
|
||
"intro": [
|
||
"In this module, you will learn about data structures including stacks, queues, linked lists, and more. You will build out a workshop and lab to practice these concepts and take a short quiz to test your knowledge."
|
||
]
|
||
},
|
||
"python-algorithms": {
|
||
"note": "Coming Winter 2025",
|
||
"intro": [
|
||
"In this module, you will learn about common algorithms including binary search, merge sort, selection sort, and more. You will build workshops and labs to practice these concepts and take a short quiz to test your knowledge."
|
||
]
|
||
},
|
||
"python-graphs-and-trees": {
|
||
"note": "Coming Winter 2025",
|
||
"intro": [
|
||
"In this module, you will learn about graphs in computer science as well as adjacency lists, trees, tries, and more. You will build workshops and labs to practice these concepts and take a short quiz to test your knowledge."
|
||
]
|
||
},
|
||
"python-dynamic-programming": {
|
||
"note": "Coming Winter 2025",
|
||
"intro": [
|
||
"In this module, you will learn about dynamic programming and practice these concepts by building a fibonacci sequence lab. Then you will take a short quiz to test your knowledge."
|
||
]
|
||
},
|
||
"bash-fundamentals": {
|
||
"note": "Coming Winter 2025",
|
||
"intro": [
|
||
"In this module, you will learn about the command line and common Bash commands. Then you will practice your skills with a workshop and take a short quiz to test your knowledge."
|
||
]
|
||
},
|
||
"sql-and-postgresql": {
|
||
"note": "Coming Winter 2025",
|
||
"intro": [
|
||
"In this module, you will learn how to work with relational databases which store data as collections in tables. Some of the concepts you will learn about include inserting and viewing table data, primary and foreign keys in SQL, and more. Then you will build out a workshop and lab to practice these concepts and take a short quiz to test your knowledge."
|
||
]
|
||
},
|
||
"bash-scripting": {
|
||
"note": "Coming Winter 2025",
|
||
"intro": [
|
||
"In this module, you will learn about bash scripting and practice those skills by building five programs. Then you will be able to test your knowledge of these concepts by taking a short quiz."
|
||
]
|
||
},
|
||
"sql-and-bash": {
|
||
"note": "Coming Winter 2025",
|
||
"intro": [
|
||
"In this module, you will learn about normalization, SQL injection, and the N+1 problem. Then you will get to practice working with SQL and Bash by building several workshops and labs. Then you will be able to test your knowledge of these concepts by taking a short quiz."
|
||
]
|
||
},
|
||
"git": {
|
||
"note": "Coming Winter 2025",
|
||
"intro": [
|
||
"In this module, you will learn how to use Git, Nano, and GitHub. Then you will get to practice working with Git by building several workshops and labs. You will be able to test your knowledge of these concepts by taking a short quiz."
|
||
]
|
||
},
|
||
"introduction-to-nodejs": {
|
||
"note": "Coming Late 2026",
|
||
"intro": [
|
||
"In this module, you will be introduced to Node.js, which is a JavaScript runtime environment that allows you to build backend applications using JavaScript. You will get to practice fundamental concepts by building a small workshop and test your knowledge with a short quiz."
|
||
]
|
||
},
|
||
"nodejs-core-libraries": {
|
||
"note": "Coming Late 2026",
|
||
"intro": [
|
||
"In this module, you will learn about common Node.js core libraries 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."
|
||
]
|
||
},
|
||
"how-to-get-a-developer-job": {
|
||
"note": "Coming Late 2026",
|
||
"intro": [
|
||
"In this module, Quincy Larson (Founder and teacher of freeCodeCamp) will talk about strategies you can use to prepare for getting a developer job. Quincy will cover key subjects including résumés, portfolios, researching the market, preparing for technical interviews, and more."
|
||
]
|
||
},
|
||
"capstone-project": {
|
||
"note": "Coming Late 2026",
|
||
"intro": [
|
||
"This will be your opportunity to build out a full stack application encompassing what you have learned throughout this certification."
|
||
]
|
||
},
|
||
"certified-full-stack-developer-exam": {
|
||
"note": "Coming Late 2026",
|
||
"intro": [
|
||
"This will be a 90 question exam testing what you have learned throughout this certification."
|
||
]
|
||
}
|
||
},
|
||
"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 lessons, 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 lessons, 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 lessons, 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 lessons, 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 lessons, you will learn how to work with the <code>audio</code> and <code>video</code> elements."
|
||
]
|
||
},
|
||
"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 lessons, 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 lessons, 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 lessons, 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 lessons, 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 lessons, 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 lesson, 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 lesson, 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 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."
|
||
]
|
||
},
|
||
"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-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 lessons, 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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"lecture-introduction-to-aria": {
|
||
"title": "Introduction to ARIA",
|
||
"intro": [
|
||
"In these lessons, 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 lessons, 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."
|
||
]
|
||
},
|
||
"qpra": {
|
||
"title": "30",
|
||
"intro": []
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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 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."]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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-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."]
|
||
},
|
||
"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."]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."]
|
||
},
|
||
"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."]
|
||
},
|
||
"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."]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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-introduction-to-javascript": {
|
||
"title": "Introduction to JavaScript",
|
||
"intro": [
|
||
"In these lessons, 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, 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 lessons, 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 lessons, 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 lesson 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 lesson 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 lesson 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 the <code>trim()</code>, <code>toUpperCase()</code> and <code>toLowerCase()</code> methods."
|
||
]
|
||
},
|
||
"lecture-working-with-string-modification-methods": {
|
||
"title": "Working with String Modification Methods",
|
||
"intro": [
|
||
"In this lesson 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 lessons 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 application functions correctly."
|
||
]
|
||
},
|
||
"lecture-working-with-operator-behavior": {
|
||
"title": "Working with Operator Behavior",
|
||
"intro": [
|
||
"In these lessons 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 application that has several errors related to the increment and decrement operators.",
|
||
"Your task is to identify and fix the errors so that the application works as intended."
|
||
]
|
||
},
|
||
"lecture-working-with-comparison-and-boolean-operators": {
|
||
"title": "Working with Comparison and Boolean Operators",
|
||
"intro": [
|
||
"In these lessons you will learn about booleans, and equality and inequality operators, and other comparison operators."
|
||
]
|
||
},
|
||
"lecture-working-with-unary-and-bitwise-operators": {
|
||
"title": "Working with Unary and Bitwise Operators",
|
||
"intro": [
|
||
"In these lessons 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 lessons 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 lessons, 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 lessons, 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 lessons, 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 lessons, 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."
|
||
]
|
||
},
|
||
"lab-reverse-a-string": {
|
||
"title": "Build a String Inverter",
|
||
"intro": [
|
||
"In this lab, you create a function that reverses a given string."
|
||
]
|
||
},
|
||
"lecture-working-with-common-array-methods": {
|
||
"title": "Working with Common Array Methods",
|
||
"intro": [
|
||
"In these lessons, 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 lessons, 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-optional-chaining-and-object-destructuring": {
|
||
"title": "Working with Optional Chaining and Object Destructuring",
|
||
"intro": [
|
||
"In these lessons, you will learn about advanced object manipulation techniques in JavaScript, including the optional chaining operator and object destructuring syntax."
|
||
]
|
||
},
|
||
"lecture-working-with-json": {
|
||
"title": "Working with JSON",
|
||
"intro": [
|
||
"In these lessons, 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."
|
||
]
|
||
},
|
||
"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 lessons 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."]
|
||
},
|
||
"lecture-working-with-types-and-objects": {
|
||
"title": "Working with Types and Objects",
|
||
"intro": [
|
||
"In these lessons 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 lessons 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 lessons you will learn what are linters and formatters, what is memory management, and closures."
|
||
]
|
||
},
|
||
"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 lessons, 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 lesson, 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-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."
|
||
]
|
||
},
|
||
"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 lessons, 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 your knowledge of 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 lessons, 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 lessons, 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 lessons 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 lessons, 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 lessons, 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-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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"lecture-understanding-form-validation": {
|
||
"title": "Understanding Form Validation",
|
||
"intro": [
|
||
"In these lessons, 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 lessons, 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 lessons, 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."
|
||
]
|
||
},
|
||
"lecture-working-with-maps-and-sets": {
|
||
"title": "Working with Maps and Sets",
|
||
"intro": [
|
||
"In these lessons, 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."
|
||
]
|
||
},
|
||
"lecture-working-with-client-side-storage-and-crud-operations": {
|
||
"title": "Working with Client-Side Storage and CRUD Operations",
|
||
"intro": [
|
||
"In these lessons, 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 lessons, 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."
|
||
]
|
||
},
|
||
"lecture-understanding-recursion-and-the-call-stack": {
|
||
"title": "Understanding Recursion and the Call Stack",
|
||
"intro": [
|
||
"In this lesson, you will learn about recursion and the call stack."
|
||
]
|
||
},
|
||
"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-understanding-functional-programming": {
|
||
"title": "Understanding Functional Programming",
|
||
"intro": [
|
||
"In these lessons, 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 lessons, 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-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 lessons, 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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"kagw": {
|
||
"title": "258",
|
||
"intro": []
|
||
},
|
||
"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 frontend 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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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-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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"trvf": {
|
||
"title": "293",
|
||
"intro": []
|
||
},
|
||
"kwmg": {
|
||
"title": "294",
|
||
"intro": []
|
||
},
|
||
"nodx": {
|
||
"title": "295",
|
||
"intro": []
|
||
},
|
||
"erfj": {
|
||
"title": "296",
|
||
"intro": []
|
||
},
|
||
"muyw": {
|
||
"title": "297",
|
||
"intro": []
|
||
},
|
||
"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."]
|
||
},
|
||
"review-front-end-libraries": {
|
||
"title": "Front End Libraries Review",
|
||
"intro": [
|
||
"Review the Front End Libraries concepts to prepare for the upcoming quiz."
|
||
]
|
||
},
|
||
"rdzk": {
|
||
"title": "301",
|
||
"intro": []
|
||
},
|
||
"vtpz": {
|
||
"title": "302",
|
||
"intro": []
|
||
},
|
||
"lecture-introduction-to-python": {
|
||
"title": "Introduction to Python",
|
||
"intro": [
|
||
"In these lessons, you will learn the fundamentals of Python. You'll learn about variables, data types, operators, control flow, functions, and more."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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-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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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 the shortest path 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."]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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-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."]
|
||
},
|
||
"review-relational-databases": {
|
||
"title": "Relational Databases Review",
|
||
"intro": [
|
||
"Review relational databases concepts to prepare for the exam."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"exam-certified-full-stack-developer": {
|
||
"title": "Certified Full Stack Developer Exam",
|
||
"intro": ["Pass this exam to become a Certified Full Stack Developer."]
|
||
}
|
||
}
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"lab-reverse-a-string": {
|
||
"title": "Build a String Inverter",
|
||
"intro": [
|
||
"In this lab, you create a function that reverses a given string."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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-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."]
|
||
},
|
||
"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-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-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."
|
||
]
|
||
},
|
||
"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-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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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-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-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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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",
|
||
"note": "This certification is currently in development and will be available soon. We recommend completing the available courses below to prepare for the certification exam once it is released.",
|
||
"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",
|
||
"data-visualization": "Data Visualization and D3",
|
||
"typescript-fundamentals": "TypeScript Fundamentals",
|
||
"review-front-end-libraries": "Front End Libraries Review",
|
||
"front-end-development-libraries-certification-exam": "Front End Development Libraries Certification Exam"
|
||
},
|
||
"module-intros": {
|
||
"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."
|
||
]
|
||
},
|
||
"typescript-fundamentals": {
|
||
"note": "Coming 2026",
|
||
"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."
|
||
]
|
||
},
|
||
"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 frontend 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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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-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."
|
||
]
|
||
},
|
||
"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-data-visualization": {
|
||
"title": "Introduction to Data Visualization",
|
||
"intro": [
|
||
"In these lessons, you will learn about basic data visualization concepts."
|
||
]
|
||
},
|
||
"lecture-introduction-to-typescript": {
|
||
"title": "Introduction to TypeScript",
|
||
"intro": [
|
||
"In these lessons, you will learn what TypeScript is and how to use it."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."]
|
||
},
|
||
"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, 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."
|
||
]
|
||
},
|
||
"lecture-introduction-to-python-strings": {
|
||
"title": "Introduction to Strings",
|
||
"intro": ["In these lessons, you will learn about strings in Python."]
|
||
},
|
||
"lecture-numbers-and-mathematical-operations": {
|
||
"title": "Numbers and Mathematical Operations",
|
||
"intro": [
|
||
"In these lessons, you will learn about 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."
|
||
]
|
||
},
|
||
"lecture-understanding-functions-and-scope": {
|
||
"title": "Understanding Functions and Scope",
|
||
"intro": [
|
||
"In these lessons, you will learn about functions and scope in Python."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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-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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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",
|
||
"bash-scripting": "Bash Scripting",
|
||
"sql-and-bash": "SQL and Bash",
|
||
"git": "Git",
|
||
"review-relational-databases": "Relational Databases Review",
|
||
"lab-celestial-bodies-database": "Build a Celestial Bodies Database",
|
||
"lab-world-cup-database": "Build a World Cup Database",
|
||
"lab-salon-appointment-scheduler": "Build a Salon Appointment Scheduler",
|
||
"lab-periodic-table-database": "Build a Periodic Table Database",
|
||
"lab-number-guessing-game": "Build a Number Guessing Game",
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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-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."]
|
||
},
|
||
"review-relational-databases": {
|
||
"title": "Relational Databases Review",
|
||
"intro": [
|
||
"Review relational databases concepts to prepare for the exam."
|
||
]
|
||
},
|
||
"quiz-node-js-core-modules": {
|
||
"title": "NodeJS Core Modules Quiz",
|
||
"intro": [
|
||
"Test what you've learned about Node.js core modules with this quiz."
|
||
]
|
||
},
|
||
"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",
|
||
"note": "This certification is currently in development and will be available soon.",
|
||
"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 backend."
|
||
]
|
||
},
|
||
"review-node-js-core-modules": {
|
||
"title": "Node JS Core Modules Review",
|
||
"intro": [
|
||
"Review Node JS Core Modules concepts to prepare for the upcoming quiz."
|
||
]
|
||
},
|
||
"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-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-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."
|
||
]
|
||
},
|
||
"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",
|
||
"note": "If you were previously working through our full stack curriculum, don't worry - your progress is saved. We split it into smaller certifications for you to earn along your journey. This certification is currently in development and will be available soon. Start earning the required certifications so you're ready when it launches.",
|
||
"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."]
|
||
}
|
||
}
|
||
},
|
||
"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"
|
||
},
|
||
"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"
|
||
},
|
||
"module-intros": {
|
||
"es-a1-module-sharing-your-personal-details": {
|
||
"note": "Coming 2026",
|
||
"intro": [
|
||
"In this module, you will practice understanding short conversations that ask for personal details such as name, contact information, nationality, and age."
|
||
]
|
||
}
|
||
},
|
||
"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": ["", ""]
|
||
}
|
||
}
|
||
},
|
||
"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",
|
||
"css": "CSS",
|
||
"computers": "Computers",
|
||
"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",
|
||
"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",
|
||
"css-typography": "Typography",
|
||
"css-and-accessibility": "Accessibility",
|
||
"attribute-selectors": "Attribute Selectors",
|
||
"css-positioning": "Positioning",
|
||
"responsive-design": "Responsive Design",
|
||
"css-variables": "Variables",
|
||
"css-grid": "Grid",
|
||
"css-animations": "Animations",
|
||
"review-css": "CSS Review",
|
||
"lab-survey-form": "Build a Survey Form",
|
||
"lab-page-of-playing-cards": "Build a Page of Playing Cards",
|
||
"lab-book-inventory-app": "Build a Book Inventory App",
|
||
"lab-technical-documentation-page": "Build a Technical Documentation Page",
|
||
"lab-product-landing-page": "Build a Product Landing Page",
|
||
"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-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."
|
||
]
|
||
},
|
||
"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-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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"qpra": {
|
||
"title": "30",
|
||
"intro": []
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
},
|
||
"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."]
|
||
},
|
||
"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-introducing-colleagues-and-family": "Introducing Colleagues and Family",
|
||
"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-introducing-others": "Introducing Others",
|
||
"zh-a1-module-getting-to-know-the-team": "Getting to Know the Team",
|
||
"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-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": ["", ""]
|
||
}
|
||
}
|
||
},
|
||
"basic-html": {
|
||
"title": "Basic HTML",
|
||
"summary": [
|
||
"Learn how to build simple webpages using HTML tags to add text, images, and links."
|
||
],
|
||
"intro": ["Larger intro for the superblock page."],
|
||
"blocks": {
|
||
"cat-photo-app": {
|
||
"title": "Build a Cat Photo App",
|
||
"intro": [
|
||
"HTML tags give a webpage its structure. You can use HTML tags to add photos, buttons, and other elements to your webpage.",
|
||
"In this course, you'll learn the most common HTML tags by building your own cat photo app."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"semantic-html": {
|
||
"title": "Semantic HTML",
|
||
"summary": [
|
||
"Discover how to write cleaner, more meaningful HTML using semantic tags that improve structure, accessibility, and SEO."
|
||
],
|
||
"intro": ["Larger intro for the superblock page."],
|
||
"blocks": {
|
||
"cat-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."
|
||
]
|
||
},
|
||
"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."
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"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": {
|
||
"cat-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": "這些課程正在維護中。如果它們不可用,你可以學習如何在本地運行這些課程 <0>https://www.freecodecamp.org/chinese/news/how-to-run-freecodecamps-relational-databases-curriculum-using-docker-vscode-and-coderoad</0>。",
|
||
"course-disabling-soon": "這些課程的瀏覽器版本即將被暫時停用,你的虛擬機也將被刪除。虛擬機中的任何進度都將丟失。如果你有任何想要的文件,請將它們保存到你的計算機中。對於給你帶來的不便,我們深表歉意。我們希望在未來幾周內能再次提供這些課程的改進的瀏覽器版本。",
|
||
"course-disabled": "這些課程暫時無法在瀏覽器中運行。不便之處,敬請原諒。你可以通過 <0>https://www.freecodecamp.org/chinese/news/how-to-run-freecodecamps-relational-databases-curriculum-using-docker-vscode-and-coderoad</0> 瞭解如何在本地運行這些課程。我們希望能儘快推出改進後的瀏覽器版本。",
|
||
"run-locally": "目前,我們建議你在本地計算機上運行課程。你可以通過 <0>https://www.freecodecamp.org/chinese/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": "你必須在開始之前啓用第三方 cookies。",
|
||
"english-only": "本部分的課程只提供英文。我們目前只能翻譯標題和介紹,而不能翻譯課程本身。",
|
||
"exam-english-only": "請注意,認證考試目前只有英語版本。課程的其餘部分有其他語言版本。"
|
||
}
|
||
}
|