diff --git a/client/i18n/locales/chinese-traditional/intro.json b/client/i18n/locales/chinese-traditional/intro.json
index 6aec6328b81..5e376d89ade 100644
--- a/client/i18n/locales/chinese-traditional/intro.json
+++ b/client/i18n/locales/chinese-traditional/intro.json
@@ -300,7 +300,7 @@
}
},
"javascript-algorithms-and-data-structures-v8": {
- "title": "JavaScript 算法和數據結構(Beta)",
+ "title": "JavaScript Algorithms and Data Structures",
"intro": [
"開發者使用 HTML 和 CSS 來控制頁面的內容與樣式。他們還使用 JavaScript 來讓頁面可以交互。",
"在這個 JavaScript 算法與數據結構認證中,你將學習如變量、數組、對象、循環、函數、DOM 等 JavaScript 的基礎知識。",
@@ -772,9 +772,9 @@
}
},
"scientific-computing-with-python": {
- "title": "Python 科學計算(Beta)",
+ "title": "Scientific Computing with Python",
"intro": [
- "Python 科學計算(Beta)課程將使你掌握使用 Python 這種強大而通用的編程語言分析和處理數據的技能。你將學習數據結構、算法、面向對象編程等關鍵概念,以及如何使用各種工具進行復雜計算。",
+ "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": "",
@@ -1177,7 +1177,7 @@
}
},
"the-odin-project": {
- "title": "The Odin Project - freeCodeCamp 版(Beta)",
+ "title": "The Odin Project - freeCodeCamp Remix",
"intro": [
"The Odin Project 由開發人員 Erik Trautman 創建於 2013 年。多年來,開源社區不斷維護和擴展該項目。",
"freeCodeCamp 在開源課程的基礎上進行了擴展,使其可以在瀏覽器中交互運行,並通過測試來評估你的代碼,確保你理解了關鍵概念。",
@@ -1587,7 +1587,9 @@
},
"learn-how-to-plan-future-events": {
"title": "Learn How to Plan Future Events",
- "intro": ["", ""]
+ "intro": [
+ "In this course, you will learn to use the different forms of the future to plan for upcoming events."
+ ]
},
"learn-future-continuous-while-describing-actions": {
"title": "Learn Future Continuous while Describing Actions",
@@ -1783,7 +1785,7 @@
"lab-recipe-page": {
"title": "Build a Recipe Page",
"intro": [
- "For this lab, you will review HTML basics by creating a web page of your favorite recipe. This lab will give you an opportunity to review working with an HTML boilerplate, headings, lists and images."
+ "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": {
@@ -1795,7 +1797,7 @@
"lab-travel-agency-page": {
"title": "Build a Travel Agency Page",
"intro": [
- "For this lab, you will review working with HTML fundamentals by creating a web page for a travel agency. This lab will give you an opportunity to review working with images, the figure element, the figcaption element, the anchor element and more."
+ "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 figure element, the figcaption element, the anchor element, and more."
]
},
"lecture-working-with-media": {
@@ -1807,7 +1809,7 @@
"lab-video-compilation-page": {
"title": "Build a Video Compilation Page",
"intro": [
- "For this lab, you will create a video compilation web page. This lab will give you the opportunity to practice working with the iframe element."
+ "In this lab, you'll create a video compilation web page. You'll practice working with the iframe element."
]
},
"lecture-working-with-links": {
@@ -1844,8 +1846,7 @@
"lab-event-hub": {
"title": "Build an Event Hub",
"intro": [
- "In this lab, you will review working with semantic HTML elements by building an event hub.",
- "This lab will give you an opportunity to review working with the header, nav, article elements."
+ "In this lab, you'll build an event hub and review semantic elements like header, nav, article, and more."
]
},
"review-semantic-html": {
@@ -1877,8 +1878,8 @@
"lab-survey-form": {
"title": "Build a Survey Form",
"intro": [
- "For this lab, you will review working with HTML forms by creating a survey form.",
- "This lab will give you the opportunity to practice working with the label element, the different input elements, the required attribute, and more. "
+ "In this lab, you'll review HTML forms by creating a survey form.",
+ "You'll practice working with the label element, the different input elements, the required attribute, and more. "
]
},
"lecture-working-with-tables": {
@@ -1896,8 +1897,8 @@
"lab-book-catalog-table": {
"title": "Build a Book Catalog Table",
"intro": [
- "In this lab, you will review working with HTML tables by building a table filled with book information.",
- "This lab will give you an opportunity to practice working with the different table components like the Table Head, Table Row and Table Data Cell elements."
+ "In this lab, you'll review HTML tables by building a book information table.",
+ "You'll practice the different table components like the thead, tbody, th, tr, and td elements."
]
},
"lecture-working-with-html-tools": {
@@ -1927,7 +1928,10 @@
},
"lab-checkout-page": {
"title": "Build a Checkout Page",
- "intro": ["In this lab, you will create an accessible checkout page."]
+ "intro": [
+ "In this lab, you'll create an accessible checkout page.",
+ "You'll practice concepts like alt attributes and aria roles."
+ ]
},
"review-html-accessibility": {
"title": "HTML Accessibility Review",
@@ -1956,19 +1960,19 @@
"lecture-understanding-computer-internet-and-tooling-basics": {
"title": "Understanding Computer, Internet, and Tooling Basics",
"intro": [
- "In these lecture videos, you will learn about computer, internet, and tooling basics."
+ "In these lecture videos, 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 lecture videos, you will learn about working with file systems."
+ "In these lecture videos, 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 lecture videos, you will learn how to browse the web effectively."
+ "In these lecture videos, 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": {
@@ -1986,7 +1990,9 @@
},
"lecture-what-is-css": {
"title": "What Is CSS?",
- "intro": ["In these lecture videos, you will learn what CSS is."]
+ "intro": [
+ "The following lecture videos 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",
@@ -1998,20 +2004,21 @@
"lab-business-card": {
"title": "Design a Business Card",
"intro": [
- "In this lab, you'll create a business card and style it using CSS."
+ "In this lab, you'll create a business card and style it using CSS.",
+ "You'll practice style properties like color, font-size, text-align, and more."
]
},
"lecture-css-specificity-the-cascade-algorithm-and-inheritance": {
"title": "CSS Specificity, the Cascade Algorithm, and Inheritance",
"intro": [
- "In these lecture videos, you will learn about CSS specificity, the cascade algorithm, and inheritance."
+ "In these lecture videos, you will learn about CSS specificity, the common selectors and their specificities, the cascade algorithm, inheritance, and more."
]
},
"review-basic-css": {
"title": "Basic CSS Review",
"intro": [
"Before you are quizzed on basic CSS concepts, you first need to review.",
- "Open up this page to review concepts including margin, padding, CSS combinators, CSS Specificity and more."
+ "Open up this page to review concepts including margin, padding, CSS combinators, CSS specificity and more."
]
},
"quiz-basic-css": {
@@ -2023,29 +2030,31 @@
"lecture-styling-lists-and-links": {
"title": "Styling Lists and Links",
"intro": [
- "In these lecture videos, you will learn about styling lists and links."
+ "In these lecture videos, you will learn the properties you need to know to effectively style lists and links, including link states like link, visited, hover, and active."
]
},
"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"
+ "In this lab, you'll build a To-Do list and apply different styles to the links",
+ "You'll practice style properties like text-decoration, list-style-type and how to change styles on hover or click."
]
},
"lecture-working-with-backgrounds-and-borders": {
"title": "Working with Backgrounds and Borders",
"intro": [
- "In these lecture videos, you will learn about working with backgrounds and borders."
+ "In these lecture videos, 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"
+ "In this lab, you'll design a blog post card using HTML and CSS",
+ "You'll practice concepts like background-color, border-radius, margins, paddings, and more."
]
},
"review-css-backgrounds-and-borders": {
- "title": "CSS Backgrounds and Borders Review",
+ "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 background-image property, border property and more."
@@ -2060,19 +2069,19 @@
"lecture-user-interface-design-fundamentals": {
"title": "User Interface Design Fundamentals",
"intro": [
- "In these lecture videos, you will learn about user interface design fundamentals."
+ "In these lecture videos, 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 lecture videos, you will learn about user-centered design."
+ "In these lecture videos, 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 lecture videos, you will learn about common design tools."
+ "In these lecture videos, 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": {
@@ -2091,13 +2100,14 @@
"lecture-working-with-relative-and-absolute-units": {
"title": "Working with Relative and Absolute Units",
"intro": [
- "In these lecture videos, you will learn about working with relative and absolute units."
+ "In these lecture videos, 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 will use absolute and relative CSS units to create an event flyer page."
+ "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": {
@@ -2116,7 +2126,7 @@
"lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": {
"title": "Working with Pseudo-Classes and Pseudo-Elements in CSS",
"intro": [
- "In these lecture videos, you will learn about working with pseudo-classes and pseudo-elements in CSS."
+ "In these lecture videos, you will learn about pseudo-classes and pseudo-elements, alongside their examples and how they work."
]
},
"workshop-greeting-card": {
@@ -2129,7 +2139,8 @@
"lab-job-application-form": {
"title": "Build a Job Application Form",
"intro": [
- "In this lab you will build a job application form and style it using pseudo-classes."
+ "In this lab you'll build a job application form and style it using pseudo-classes.",
+ "You'll practice concepts like :hover, :active, :focus, and more."
]
},
"review-css-pseudo-classes": {
@@ -2148,7 +2159,7 @@
"lecture-working-with-colors-in-css": {
"title": "Working with Colors in CSS",
"intro": [
- "In these lecture videos, you will learn about working with colors in CSS."
+ "In these lecture videos, 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": {
@@ -2160,7 +2171,7 @@
"lab-colored-boxes": {
"title": "Design a Set of Colored Boxes",
"intro": [
- "In this lab, you'll practice using CSS colors by designing boxes"
+ "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": {
@@ -2179,7 +2190,7 @@
"lecture-best-practices-for-styling-forms": {
"title": "Best Practices for Styling Forms",
"intro": [
- "In these lecture videos, you will learn about the best practices for styling forms."
+ "In these lecture videos, you will learn about the best practices for styling forms and issues you can encounter while styling special inputs like color and datetime-local."
]
},
"workshop-registration-form": {
@@ -2192,7 +2203,7 @@
"lab-contact-form": {
"title": "Design a Contact Form",
"intro": [
- "In this lab, you will design a contact form in HTML and style it using CSS."
+ "In this lab, you'll design a contact form in HTML and style it using CSS."
]
},
"review-styling-forms": {
@@ -2211,7 +2222,7 @@
"lecture-working-with-css-transforms-overflow-and-filters": {
"title": "Working with CSS Transforms, Overflow, and Filters",
"intro": [
- "In these lecture videos, you will learn about working with CSS transforms, overflow, and filters."
+ "In these lecture videos, 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": {
@@ -2224,7 +2235,7 @@
"lab-confidential-email-page": {
"title": "Build a Confidential Email Page",
"intro": [
- "For this lab, you will create a web page of a confidential email using HTML and CSS."
+ "In this lab, you'll create a web page using HTML and mask the content using CSS properties."
]
},
"review-css-layout-and-effects": {
@@ -2243,7 +2254,7 @@
"lecture-working-with-css-flexbox": {
"title": "Working with CSS Flexbox",
"intro": [
- "In these lecture videos, you will learn about working with CSS flexbox."
+ "In these lecture videos, you will learn how CSS flexbox works, its properties, and when you should use it."
]
},
"workshop-flexbox-photo-gallery": {
@@ -2256,7 +2267,8 @@
"lab-page-of-playing-cards": {
"title": "Build a Page of Playing Cards",
"intro": [
- "For this lab, you will use flexbox to create a webpage of playing cards."
+ "In this lab, you'll use flexbox to create a webpage of playing cards.",
+ "You'll practice aligning elements using flexbox properties like flex-direction, justify-content, align-self, and more."
]
},
"review-css-flexbox": {
@@ -2275,7 +2287,7 @@
"lecture-working-with-css-fonts": {
"title": "Working with CSS Fonts",
"intro": [
- "In these lecture videos, you will learn about working with CSS fonts."
+ "In these lecture videos, you will learn about typography and its best practices, fonts, and the text-shadow property."
]
},
"workshop-nutritional-label": {
@@ -2288,7 +2300,8 @@
"lab-newspaper-article": {
"title": "Build a Newspaper Article",
"intro": [
- "In this lab, you will build a newspaper article page using HTML and CSS."
+ "In this lab, you'll build a newspaper article page using HTML and CSS.",
+ "You'll style the fonts using properties like font-family, font-size, font-weight, and more."
]
},
"review-css-typography": {
@@ -2305,7 +2318,7 @@
"lecture-best-practices-for-accessibility-and-css": {
"title": "Best Practices for Accessibility and CSS",
"intro": [
- "In these lecture videos, you will learn about best practices for accessibility in CSS."
+ "In these lecture videos, you will learn about best practices for accessibility in CSS, and the tools for checking good color contrast on websites."
]
},
"workshop-accessibility-quiz": {
@@ -2318,7 +2331,7 @@
"lab-tribute-page": {
"title": "Build a Tribute Page",
"intro": [
- "For this lab, you will build a tribute page for a subject of your choosing, fictional or real."
+ "in this lab, you'll build a tribute page for a subject of your choosing, fictional or real."
]
},
"review-css-accessibility": {
@@ -2337,7 +2350,7 @@
"lecture-working-with-attribute-selectors": {
"title": "Working with Attribute Selectors",
"intro": [
- "In these lecture videos, you will learn about working with attribute selectors."
+ "In these lecture videos, you will learn about attribute selectors and how to use them to target elements like links and lists."
]
},
"workshop-balance-sheet": {
@@ -2349,7 +2362,10 @@
},
"lab-book-inventory-app": {
"title": "Build a Book Inventory App",
- "intro": ["For this lab, you will create a book inventory app."]
+ "intro": [
+ "In this lab, you'll create a book inventory app.",
+ "You'll practice CSS attribute selectors like [attribute], [attribute=value], [attribute~=value], and more."
+ ]
},
"review-css-attribute-selectors": {
"title": "CSS Attribute Selectors Review",
@@ -2367,7 +2383,7 @@
"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 lecture videos, you will learn about how to work with floats and positioning in CSS."
+ "In these lecture videos, you will learn how to use CSS positioning and floats. You will learn about absolute, relative, fixed, and sticky positioning. You will also use the z-index property."
]
},
"workshop-cat-painting": {
@@ -2379,7 +2395,10 @@
},
"lab-house-painting": {
"title": "Build a House Painting",
- "intro": ["For this lab, you will build a house painting using CSS."]
+ "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 position, top, left, and more."
+ ]
},
"review-css-positioning": {
"title": "CSS Positioning Review",
@@ -2397,7 +2416,7 @@
"lecture-best-practices-for-responsive-web-design": {
"title": "Best Practices for Responsive Web Design",
"intro": [
- "In these lecture videos, you will learn about the best practices for responsive web design."
+ "In these lecture videos, 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": {
@@ -2410,7 +2429,8 @@
"lab-technical-documentation-page": {
"title": "Build a Technical Documentation Page",
"intro": [
- "For this lab, you will build a technical documentation page to serve as instruction or reference for a topic."
+ "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": {
@@ -2429,7 +2449,7 @@
"lecture-working-with-css-variables": {
"title": "Working with CSS Variables",
"intro": [
- "In these lecture videos, you will learn about working with CSS variables."
+ "In these lecture videos, you will learn how to define and use custom properties (also known as CSS variables). You will also learn about the @property rule and how it works."
]
},
"workshop-city-skyline": {
@@ -2441,7 +2461,10 @@
},
"lab-availability-table": {
"title": "Build an Availability Table",
- "intro": ["For this lab, you will create 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",
@@ -2459,7 +2482,7 @@
"lecture-working-with-css-grid": {
"title": "Working with CSS Grid",
"intro": [
- "In these lecture videos, you will learn about working with CSS grid."
+ "In these lecture videos, you will learn about CSS grid, its several properties and how to use them, and how CSS grid differs from flexbox."
]
},
"workshop-magazine": {
@@ -2469,9 +2492,11 @@
"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."
]
},
- "ogko": {
- "title": "114",
- "intro": []
+ "lab-magazine-layout": {
+ "title": "Design a Magazine Layout",
+ "intro": [
+ "In this lab, you will design a magazine layout using CSS Grid, including concepts like grid rows and grid columns."
+ ]
},
"lecture-debugging-css": {
"title": "Debugging CSS",
@@ -2482,7 +2507,7 @@
"lab-product-landing-page": {
"title": "Build a Product Landing Page",
"intro": [
- "For this project, you will build a product landing page to market a product of your choice."
+ "In this project, you'll build a product landing page to market a product of your choice."
]
},
"review-css-grid": {
@@ -2499,7 +2524,7 @@
"lecture-animations-and-accessibility": {
"title": "Animations and Accessibility",
"intro": [
- "In these lecture videos, you will learn about animations and accessibility."
+ "In these lecture videos, you will learn about CSS animations and their accessibility concerns. You will also learn how prefers-reduced-motion can help address those accessibility concerns."
]
},
"workshop-ferris-wheel": {
@@ -2512,7 +2537,8 @@
"lab-moon-orbit": {
"title": "Build a Moon Orbit",
"intro": [
- "For this lab, you will create an animation of the moon orbiting the earth."
+ "In this lab, you'll create an animation of the moon orbiting the earth.",
+ "You'll practice animation properties like animation-name, animation-duration, animation-timing-function, and more."
]
},
"workshop-flappy-penguin": {
@@ -2525,7 +2551,7 @@
"lab-personal-portfolio": {
"title": "Build a Personal Portfolio",
"intro": [
- "For this project, you will build your own personal portfolio page."
+ "In this project, you'll build your own personal portfolio page."
]
},
"review-css-animations": {
@@ -2553,15 +2579,15 @@
"intro": []
},
"lecture-working-with-code-editors-and-ides": {
- "title": "Working with Code Editors and IDE's",
+ "title": "Working with Code Editors and IDEs",
"intro": [
- "In these lecture videos, you will learn about working with code editors and IDE's."
+ "In these lecture videos, 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 lecture videos, you will get a basic introduction to JavaScript."
+ "In these lecture videos, 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."
]
},
"workshop-greeting-bot": {
@@ -2574,13 +2600,14 @@
"lab-javascript-trivia-bot": {
"title": "Build a JavaScript Trivia Bot",
"intro": [
- "In this lab, you will practice working with JavaScript variables and strings by building a trivia bot."
+ "In this lab, you'll practice working with JavaScript variables and strings by building a trivia bot.",
+ "You'll practice how to use variables and basic strings."
]
},
"lecture-working-with-data-types": {
"title": "Working with Data Types",
"intro": [
- "In these lecture videos, you will learn about data types in JavaScript."
+ "In the following lecture videos, you will learn how to work with data types in JavaScript. You will also learn how dynamic typing differs from static typing, the typeof operator, and the typeof null bug."
]
},
"review-javascript-variables-and-data-types": {
@@ -2599,7 +2626,7 @@
"lecture-working-with-strings-in-javascript": {
"title": "Working with Strings in JavaScript",
"intro": [
- "In these lecture videos, you will learn about working with strings in JavaScript."
+ "In these lecture videos, 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": {
@@ -2612,7 +2639,7 @@
"lecture-working-with-common-string-methods": {
"title": "Working with Common String Methods",
"intro": [
- "In these lecture videos, you will learn about common String methods."
+ "In these lecture videos, you will learn about the common string methods available in JavaScript. The string methods will let you do things like extracting a part of a string, changing the casing for a string, replacing a part of a string, trimming whitespace from a string, and much more."
]
},
"review-javascript-strings": {
@@ -2631,7 +2658,7 @@
"lecture-working-with-numbers-booleans-and-the-math-object": {
"title": "Working with Numbers, Booleans, and the Math Object",
"intro": [
- "In these lecture videos, you will learn about numbers, booleans, and the Math object."
+ "In these lecture videos, you will dive into the fundamentals of JavaScript. These include numbers, booleans, and the Math object. You will learn about different types of numbers, how arithmetic and comparison operators work, how JavaScript behaves when you combine strings and numbers in calculations, and much more."
]
},
"workshop-mathbot": {
@@ -2643,13 +2670,14 @@
"lab-fortune-teller": {
"title": "Build a Fortune Teller",
"intro": [
- "In this lab, you will build a fortune teller by randomly selecting a fortune from the available fortunes."
+ "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 Math.random() method and the Math.floor() method to generate random numbers."
]
},
"lecture-working-with-numbers-and-common-number-methods": {
"title": "Working with Numbers and Common Number Methods",
"intro": [
- "In these lecture videos, you will learn about numbers and common Number methods."
+ "In these lecture videos, you will learn about numbers and common number methods. These include isNaN(), parseInt(), parseFloat(), and toFixed()."
]
},
"review-javascript-math": {
@@ -2666,7 +2694,7 @@
"lecture-understanding-comparisons-and-conditionals": {
"title": "Understanding Comparisons and Conditionals",
"intro": [
- "In these lecture videos, you will learn about comparisons and conditionals."
+ "In these lecture videos, you will learn about comparison operators and conditionals. You will learn how the various conditionals differ from one another, and how comparisons work with null and undefined."
]
},
"review-javascript-comparisons-and-conditionals": {
@@ -2685,7 +2713,7 @@
"lecture-working-with-functions": {
"title": "Working with Functions",
"intro": [
- "In these lecture videos, you will learn about working with functions."
+ "In these lecture videos, 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": {
@@ -2697,13 +2725,14 @@
"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."
+ "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."
]
},
"lab-sentence-maker": {
"title": "Build a Sentence Maker",
"intro": [
- "In this lab, you will create different stories by assigning different words to different variables."
+ "In this lab, you'll create different stories by assigning different words to different variables."
]
},
"workshop-loan-qualification-checker": {
@@ -2716,7 +2745,7 @@
"lab-leap-year-calculator": {
"title": "Build a Leap Year Calculator ",
"intro": [
- "In this lab you will use conditional statements and loops to determine if a year is a leap year."
+ "In this lab you'll use conditional statements and loops to determine if a year is a leap year."
]
},
"review-javascript-functions": {
@@ -2735,7 +2764,7 @@
"lecture-working-with-arrays": {
"title": "Working with Arrays",
"intro": [
- "In these lecture videos, you will learn about working with JavaScript arrays."
+ "In these lecture videos, 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": {
@@ -2748,13 +2777,13 @@
"lab-lunch-picker-program": {
"title": "Build a Lunch Picker Program",
"intro": [
- "In this lab, you will review working with arrays and random numbers by building a lunch picker program."
+ "In this lab, you'll review working with arrays and random numbers by building a lunch picker program."
]
},
"lecture-working-with-common-array-methods": {
"title": "Working with Common Array Methods",
"intro": [
- "In these lecture videos, you will learn about common array methods."
+ "In these lecture videos, 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": {
@@ -2771,7 +2800,7 @@
"lecture-working-with-objects": {
"title": "Working with Objects",
"intro": [
- "In these lecture videos, you will learn about working with objects in JavaScript."
+ "In these lecture videos, you will learn how to work with JavaScript objects. The concepts you will learn include how to access properties from an object, check if an object has a property, how object methods differ from functions, object destructuring, and much more."
]
},
"workshop-recipe-tracker": {
@@ -2782,7 +2811,10 @@
},
"lab-quiz-game": {
"title": "Build a Quiz Game",
- "intro": ["For this lab, you will 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."
+ ]
},
"review-javascript-objects": {
"title": "JavaScript Objects Review",
@@ -2800,7 +2832,7 @@
"lecture-working-with-loops": {
"title": "Working with Loops",
"intro": [
- "In these lecture videos, you will learn about working with loops in JavaScript."
+ "Loops are an essential part of JavaScript. That's why the following lecture videos 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": {
@@ -2811,7 +2843,10 @@
},
"lab-factorial-calculator": {
"title": "Build a Factorial Calculator ",
- "intro": ["In this lab, you will 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."
+ ]
},
"review-javascript-loops": {
"title": "JavaScript Loops Review",
@@ -2827,38 +2862,47 @@
"lecture-understanding-core-javascript-fundamentals": {
"title": "Understanding Core JavaScript Fundamentals",
"intro": [
- "In these lecture videos, you will learn more about core JavaScript fundamentals."
+ "In these lecture videos, you will learn more about the core JavaScript fundamentals. You will learn how a string object differs from a primitive string, the toString() method, conventions and common practices for naming variables, linters and formatters, closures, and much more."
]
},
"lab-pyramid-generator": {
"title": "Build a Pyramid Generator",
- "intro": ["In this lab you will 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 will create 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 lecture videos, you will learn about the var keyword and hoisting in JavaScript."
+ "In these lecture videos, you will learn about the var 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-inventory-management-program": {
"title": "Build an Inventory Management Program",
"intro": [
- "For this lab, you will build an inventory management program using JavaScript."
+ "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 these lecture videos, you will learn about modules, imports, and exports in JavaScript."
+ "In this lecture video, you will learn about modules, imports, and exports in JavaScript."
]
},
"lab-password-generator": {
"title": "Build a Password Generator App",
- "intro": ["In this lab, you'll build a password generator app."]
+ "intro": [
+ "In this lab, you'll build a password generator app based on the user's input."
+ ]
},
"review-javascript-fundamentals": {
"title": "JavaScript Fundamentals Review",
@@ -2876,7 +2920,7 @@
"lecture-working-with-higher-order-functions-and-callbacks": {
"title": "Working with Higher Order Functions and Callbacks",
"intro": [
- "In these lecture videos, you will learn about working with higher order functions and callbacks."
+ "In these lecture videos, you will learn how to work with higher order functions and callbacks. The higher order functions you will learn include map(), filter(), reduce(), sort(), every(), and some(). You will also learn how to chain these methods together to achieve your desired results."
]
},
"workshop-library-manager": {
@@ -2888,7 +2932,7 @@
"lab-book-organizer": {
"title": "Build a Book Organizer",
"intro": [
- "In this lab, you will build a book organizer using higher order functions in JavaScript."
+ "In this lab, you'll build a book organizer using higher order functions in JavaScript."
]
},
"review-javascript-higher-order-functions": {
@@ -2907,7 +2951,7 @@
"lecture-working-with-the-dom-click-events-and-web-apis": {
"title": "Working with the DOM, Click Events, and Web APIs",
"intro": [
- "In these lecture videos, you will learn how to work with the DOM, click events, and web APIs, using JavaScript."
+ "In these lecture videos, you will learn how to work with the Document Object Model (DOM), the `addEventListener()` method and events, and web APIs."
]
},
"workshop-storytelling-app": {
@@ -2919,7 +2963,7 @@
"lab-favorite-icon-toggler": {
"title": "Build a Favorite Icon Toggler",
"intro": [
- "In this lab, you will build a favorite icon toggler by utilizing JavaScript click events."
+ "In this lab, you'll build a favorite icon toggler by utilizing JavaScript click events."
]
},
"review-dom-manipulation-and-click-events-with-javascript": {
@@ -2938,7 +2982,7 @@
"lecture-understanding-the-event-object-and-event-delegation": {
"title": "Understanding the Event Object and Event Delegation",
"intro": [
- "In these lecture videos, you will learn about the event object and event delegation."
+ "In these lecture videos, you will learn about the event object, the change event, event bubbling, and event delegation."
]
},
"workshop-music-instrument-filter": {
@@ -2949,12 +2993,16 @@
},
"lab-real-time-counter": {
"title": "Build a Real Time Counter",
- "intro": ["In this lab, you will build a real-time character counter"]
+ "intro": [
+ "In this lab, you'll build a real-time character counter",
+ "You'll practice how to work with the input event when the user types in the input field."
+ ]
},
"lab-lightbox-viewer": {
"title": "Build a Lightbox Viewer",
"intro": [
- "In this lab, you will build a lighbox viewer for viewing images in a focused mode."
+ "In this lab, you'll build a lighbox viewer for viewing images in a focused mode.",
+ "You'll practice click events and toggling classes."
]
},
"workshop-rps-game": {
@@ -2972,7 +3020,7 @@
"lab-football-team-cards": {
"title": "Build a Set of Football Team Cards",
"intro": [
- "One common aspect of building web applications is processing datasets and outputting information to the screen. In this project, you will use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards."
+ "In this lab, you'll use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards."
]
},
"review-javascript-events": {
@@ -2989,13 +3037,13 @@
"lecture-debugging-techniques": {
"title": "Debugging Techniques",
"intro": [
- "In these lecture videos, you will learn debugging techniques."
+ "In these lecture videos, 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": [
- "For this lab, you will debug a random background color changer and fix the errors to make it work properly."
+ "In this lab, you'll debug a random background color changer and fix the errors to make it work properly."
]
},
"review-debugging-javascript": {
@@ -3014,7 +3062,7 @@
"lecture-working-with-regular-expressions": {
"title": "Working with Regular Expressions",
"intro": [
- "In these lecture videos, you will learn about regular expressions in JavaScript."
+ "In these lecture videos, 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": {
@@ -3027,12 +3075,13 @@
"lab-markdown-to-html-converter": {
"title": "Build a Markdown to HTML Converter",
"intro": [
- "For this lab, you will build a Markdown to HTML converter using JavaScript."
+ "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 will build a regex sandbox."]
+ "intro": ["In this lab you'll build a regex sandbox."]
},
"review-javascript-regular-expressions": {
"title": "JavaScript Regular Expressions Review",
@@ -3050,7 +3099,7 @@
"lecture-understanding-form-validation": {
"title": "Understanding Form Validation",
"intro": [
- "In these lecture videos, you will learn about form validation in JavaScript."
+ "In these lecture videos, you will learn about form validation in JavaScript. You will learn about the various ways to validate forms, how the preventDefault() method works, and how the submit event works."
]
},
"workshop-calorie-counter": {
@@ -3063,7 +3112,8 @@
"lab-customer-complaint-form": {
"title": "Build a Customer Complaint Form",
"intro": [
- "For this lab, you will use JavaScript to validate a customer complaint form."
+ "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": {
@@ -3082,13 +3132,13 @@
"lecture-working-with-dates": {
"title": "Working with Dates",
"intro": [
- "In these lecture videos, you will learn about working with JavaScript dates."
+ "In these lecture videos, 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 will build a program to convert a date from one format to another."
+ "In this lab, you'll build a program to convert a date from one format to another."
]
},
"review-javascript-dates": {
@@ -3105,7 +3155,7 @@
"lecture-working-with-audio-and-video": {
"title": "Working with Audio and Video",
"intro": [
- "In these lecture videos, you will learn about working with audio and video using JavaScript."
+ "In these lecture videos, you will learn how to work with audio and video files using JavaScript. You will learn about the Audio and Video constructors, their methods and properties, audio and video formats, codecs, the HTMLMediaElement API, and much more."
]
},
"workshop-music-player": {
@@ -3115,9 +3165,11 @@
"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."
]
},
- "crzf": {
- "title": "222",
- "intro": []
+ "lab-drum-machine": {
+ "title": "Build a Drum Machine",
+ "intro": [
+ "For this lab you will use the audio element to build a drum machine."
+ ]
},
"review-javascript-audio-and-video": {
"title": "JavaScript Audio and Video Review",
@@ -3135,7 +3187,7 @@
"lecture-working-with-maps-and-sets": {
"title": "Working with Maps and Sets",
"intro": [
- "In these lecture videos, you will learn about JavaScript Maps and Sets."
+ "In these lecture videos, you will learn about JavaScript Map and Set. You will also learn how they both differ from WeakSets and WeakMaps"
]
},
"workshop-plant-nursery-catalog": {
@@ -3147,7 +3199,8 @@
"lab-voting-system": {
"title": "Build a Voting System",
"intro": [
- "In this lab, you will build a voting system using Maps and Sets."
+ "In this lab, you'll build a voting system using Maps and Sets.",
+ "You'll practice how to use the Map object to store key-value pairs and the Set object to store unique values."
]
},
"review-javascript-maps-and-sets": {
@@ -3166,7 +3219,7 @@
"lecture-working-with-client-side-storage-and-crud-operations": {
"title": "Working with Client-Side Storage and CRUD Operations",
"intro": [
- "In these lecture videos, you will learn about client-side storage and CRUD operations with JavaScript."
+ "In these lecture videos, you will learn about client-side storage and CRUD operations in JavaScript. You will learn about localStorage and sessionStorage alongside their methods and properties, cookies, the Cache API, IndexDB, and much more."
]
},
"workshop-todo-app": {
@@ -3178,7 +3231,10 @@
},
"lab-bookmark-manager-app": {
"title": "Build a Bookmark Manager App",
- "intro": ["For this lab, you will 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",
@@ -3196,7 +3252,7 @@
"lecture-understanding-how-to-work-with-classes-in-javascript": {
"title": "Understanding How to Work with Classes in JavaScript",
"intro": [
- "In these lecture videos, you will learn about working with classes in JavaScript."
+ "In these lecture videos, you will learn about classes in JavaScript. You will learn about inheritance, the this keyword, static properties and methods, and more."
]
},
"workshop-shopping-cart": {
@@ -3209,13 +3265,14 @@
"lab-project-idea-board": {
"title": "Build a Project Idea Board",
"intro": [
- "In this lab, you will build a project idea board using OOP in JavaScript."
+ "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 will build a simple transaction management system for a bank account."
+ "In this lab, you'll build a simple transaction management system for a bank account."
]
},
"review-javascript-classes": {
@@ -3234,7 +3291,7 @@
"lecture-understanding-recursion-and-the-call-stack": {
"title": "Understanding Recursion and the Call Stack",
"intro": [
- "In these lecture videos, you will learn about recursion and the call stack."
+ "In this lecture video, you will learn about recursion and the call stack."
]
},
"workshop-decimal-to-binary-converter": {
@@ -3247,7 +3304,7 @@
"lab-permutation-generator": {
"title": "Build a Permutation Generator",
"intro": [
- "For this lab, you will build a permutation generator that produces all possible permutations of a given string."
+ "For this lab, you'll build a permutation generator that produces all possible permutations of a given string."
]
},
"review-recursion": {
@@ -3264,7 +3321,7 @@
"lecture-understanding-functional-programming": {
"title": "Understanding Functional Programming",
"intro": [
- "In these lecture videos, you will learn about functional programming."
+ "In these lecture videos, you will learn about functional programming and how to nest functions using a technique called currying."
]
},
"workshop-recipe-ingredient-converter": {
@@ -3277,7 +3334,7 @@
"lab-sorting-visualizer": {
"title": "Build a Sorting Visualizer",
"intro": [
- "For this lab, you will use JavaScript to visualize the steps that the Bubble Sort algorithm takes to reorder an array of integers."
+ "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": {
@@ -3296,7 +3353,7 @@
"lecture-understanding-asynchronous-programming": {
"title": "Understanding Asynchronous Programming",
"intro": [
- "In these lecture videos, you will learn about asynchronous programming."
+ "In these lecture videos, you will learn about asynchronous programming in JavaScript. You will learn about the differences between synchronous and asynchronous programming, how the asnyc keyword works, the Fetch API, promises, async/await, the Geolocation API, and much more."
]
},
"workshop-fcc-authors-page": {
@@ -3309,7 +3366,7 @@
"lab-fcc-forum-leaderboard": {
"title": "Build an fCC Forum Leaderboard",
"intro": [
- "For this lab you will practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard."
+ "For this lab you'll practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard."
]
},
"review-asynchronous-javascript": {
@@ -3338,7 +3395,7 @@
"lecture-introduction-to-javascript-libraries-and-frameworks": {
"title": "Introduction to JavaScript Libraries and Frameworks",
"intro": [
- "In these lecture videos, you will get an introduction to JavaScript libraries and frameworks."
+ "In these lecture videos, 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": {
@@ -3350,12 +3407,12 @@
},
"lab-reusable-footer": {
"title": "Build a Reusable Footer",
- "intro": ["In this lab, you will use React to 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 lecture videos, you will learn about working with data in React."
+ "In these lecture videos, you will learn how to work with data in React. You will learn about props and how to pass them around, conditional rendering, how to render lists, and how to use inline styles."
]
},
"workshop-reusable-profile-card-component": {
@@ -3367,7 +3424,8 @@
"lab-mood-board": {
"title": "Build a Mood Board",
"intro": [
- "In this lab, you will create a mood board using a React with props."
+ "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": {
@@ -3429,7 +3487,8 @@
"lab-weather-app": {
"title": "Build a Weather App",
"intro": [
- "In this lab you will build a Weather App using an API to fetch the data."
+ "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."
]
},
"ffpt": {
diff --git a/client/i18n/locales/chinese-traditional/translations.json b/client/i18n/locales/chinese-traditional/translations.json
index 7bed916619a..79e9270aa40 100644
--- a/client/i18n/locales/chinese-traditional/translations.json
+++ b/client/i18n/locales/chinese-traditional/translations.json
@@ -106,7 +106,9 @@
"donate-now": "立即捐款",
"confirm-amount": "確認金額",
"play-scene": "點擊播放",
- "closed-caption": "關閉標題"
+ "closed-caption": "關閉標題",
+ "share-on-bluesky": "Share on BlueSky",
+ "share-on-threads": "Share on Threads"
},
"landing": {
"big-heading-1": "免費學習編程",
@@ -357,7 +359,7 @@
"challenge": "挑戰",
"completed": "已完成",
"add-linkedin": "將此認證添加到我的 LinkedIn 個人資料",
- "add-twitter": "將此認證分享到 Twitter",
+ "add-twitter": "Share this certification on X",
"tweet": "我獲得了 {{certTitle}} 認證 @freeCodeCamp!在這裏查看:{{certURL}}",
"avatar": "{{username}} 的頭像",
"joined": "於 {{date}} 加入",
@@ -366,7 +368,9 @@
"points": "{{date}} 獲得 {{count}} 分",
"points_plural": "{{date}} 獲得 {{count}} 分",
"page-number": "第 {{pageNumber}} 頁,共 {{totalPages}} 頁",
- "edit-my-profile": "Edit My Profile"
+ "edit-my-profile": "Edit My Profile",
+ "add-bluesky": "Share this certification on BlueSky",
+ "add-threads": "Share this certification on Threads"
},
"footer": {
"tax-exempt-status": "freeCodeCamp 是捐助者支持的 501(c)(3) 條款下具有免稅資格的慈善組織(稅號:82-0779546)。",
@@ -421,6 +425,7 @@
"assignments": "任務",
"question": "問題",
"questions": "Questions",
+ "answered-mcq": "You have unanswered questions and/or incorrect answers.",
"explanation": "Explanation",
"solution-link": "解決方案鏈接",
"source-code-link": "源代碼鏈接",
@@ -1055,8 +1060,8 @@
"responsive-web-design-cert": "Responsive Web Design Certification",
"javascript-algorithms-and-data-structures": "Legacy JavaScript Algorithms and Data Structures",
"javascript-algorithms-and-data-structures-cert": "Legacy JavaScript Algorithms and Data Structures Certification",
- "javascript-algorithms-and-data-structures-v8": "JavaScript Algorithms and Data Structures (Beta)",
- "javascript-algorithms-and-data-structures-v8-cert": "JavaScript Algorithms and Data Structures (Beta) Certification",
+ "javascript-algorithms-and-data-structures-v8": "JavaScript Algorithms and Data Structures",
+ "javascript-algorithms-and-data-structures-v8-cert": "JavaScript Algorithms and Data Structures Certification",
"front-end-development-libraries": "Front End Development Libraries",
"front-end-development-libraries-cert": "Front End Development Libraries Certification",
"data-visualization": "Data Visualization",
diff --git a/client/i18n/locales/chinese/intro.json b/client/i18n/locales/chinese/intro.json
index c135a56f676..d681b59dfd9 100644
--- a/client/i18n/locales/chinese/intro.json
+++ b/client/i18n/locales/chinese/intro.json
@@ -300,7 +300,7 @@
}
},
"javascript-algorithms-and-data-structures-v8": {
- "title": "JavaScript 算法和数据结构(Beta)",
+ "title": "JavaScript Algorithms and Data Structures",
"intro": [
"开发者使用 HTML 和 CSS 来控制页面的内容与样式。他们还使用 JavaScript 来让页面可以交互。",
"在这个 JavaScript 算法与数据结构认证中,你将学习如变量、数组、对象、循环、函数、DOM 等 JavaScript 的基础知识。",
@@ -772,9 +772,9 @@
}
},
"scientific-computing-with-python": {
- "title": "Python 科学计算(Beta)",
+ "title": "Scientific Computing with Python",
"intro": [
- "Python 科学计算(Beta)课程将使你掌握使用 Python 这种强大而通用的编程语言分析和处理数据的技能。你将学习数据结构、算法、面向对象编程等关键概念,以及如何使用各种工具进行复杂计算。",
+ "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": "",
@@ -1177,7 +1177,7 @@
}
},
"the-odin-project": {
- "title": "The Odin Project - freeCodeCamp 版(Beta)",
+ "title": "The Odin Project - freeCodeCamp Remix",
"intro": [
"The Odin Project 由开发人员 Erik Trautman 创建于 2013 年。多年来,开源社区不断维护和扩展该项目。",
"freeCodeCamp 在开源课程的基础上进行了扩展,使其可以在浏览器中交互运行,并通过测试来评估你的代码,确保你理解了关键概念。",
@@ -1587,7 +1587,9 @@
},
"learn-how-to-plan-future-events": {
"title": "Learn How to Plan Future Events",
- "intro": ["", ""]
+ "intro": [
+ "In this course, you will learn to use the different forms of the future to plan for upcoming events."
+ ]
},
"learn-future-continuous-while-describing-actions": {
"title": "Learn Future Continuous while Describing Actions",
@@ -1783,7 +1785,7 @@
"lab-recipe-page": {
"title": "Build a Recipe Page",
"intro": [
- "For this lab, you will review HTML basics by creating a web page of your favorite recipe. This lab will give you an opportunity to review working with an HTML boilerplate, headings, lists and images."
+ "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": {
@@ -1795,7 +1797,7 @@
"lab-travel-agency-page": {
"title": "Build a Travel Agency Page",
"intro": [
- "For this lab, you will review working with HTML fundamentals by creating a web page for a travel agency. This lab will give you an opportunity to review working with images, the figure element, the figcaption element, the anchor element and more."
+ "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 figure element, the figcaption element, the anchor element, and more."
]
},
"lecture-working-with-media": {
@@ -1807,7 +1809,7 @@
"lab-video-compilation-page": {
"title": "Build a Video Compilation Page",
"intro": [
- "For this lab, you will create a video compilation web page. This lab will give you the opportunity to practice working with the iframe element."
+ "In this lab, you'll create a video compilation web page. You'll practice working with the iframe element."
]
},
"lecture-working-with-links": {
@@ -1844,8 +1846,7 @@
"lab-event-hub": {
"title": "Build an Event Hub",
"intro": [
- "In this lab, you will review working with semantic HTML elements by building an event hub.",
- "This lab will give you an opportunity to review working with the header, nav, article elements."
+ "In this lab, you'll build an event hub and review semantic elements like header, nav, article, and more."
]
},
"review-semantic-html": {
@@ -1877,8 +1878,8 @@
"lab-survey-form": {
"title": "Build a Survey Form",
"intro": [
- "For this lab, you will review working with HTML forms by creating a survey form.",
- "This lab will give you the opportunity to practice working with the label element, the different input elements, the required attribute, and more. "
+ "In this lab, you'll review HTML forms by creating a survey form.",
+ "You'll practice working with the label element, the different input elements, the required attribute, and more. "
]
},
"lecture-working-with-tables": {
@@ -1896,8 +1897,8 @@
"lab-book-catalog-table": {
"title": "Build a Book Catalog Table",
"intro": [
- "In this lab, you will review working with HTML tables by building a table filled with book information.",
- "This lab will give you an opportunity to practice working with the different table components like the Table Head, Table Row and Table Data Cell elements."
+ "In this lab, you'll review HTML tables by building a book information table.",
+ "You'll practice the different table components like the thead, tbody, th, tr, and td elements."
]
},
"lecture-working-with-html-tools": {
@@ -1927,7 +1928,10 @@
},
"lab-checkout-page": {
"title": "Build a Checkout Page",
- "intro": ["In this lab, you will create an accessible checkout page."]
+ "intro": [
+ "In this lab, you'll create an accessible checkout page.",
+ "You'll practice concepts like alt attributes and aria roles."
+ ]
},
"review-html-accessibility": {
"title": "HTML Accessibility Review",
@@ -1956,19 +1960,19 @@
"lecture-understanding-computer-internet-and-tooling-basics": {
"title": "Understanding Computer, Internet, and Tooling Basics",
"intro": [
- "In these lecture videos, you will learn about computer, internet, and tooling basics."
+ "In these lecture videos, 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 lecture videos, you will learn about working with file systems."
+ "In these lecture videos, 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 lecture videos, you will learn how to browse the web effectively."
+ "In these lecture videos, 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": {
@@ -1986,7 +1990,9 @@
},
"lecture-what-is-css": {
"title": "What Is CSS?",
- "intro": ["In these lecture videos, you will learn what CSS is."]
+ "intro": [
+ "The following lecture videos 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",
@@ -1998,20 +2004,21 @@
"lab-business-card": {
"title": "Design a Business Card",
"intro": [
- "In this lab, you'll create a business card and style it using CSS."
+ "In this lab, you'll create a business card and style it using CSS.",
+ "You'll practice style properties like color, font-size, text-align, and more."
]
},
"lecture-css-specificity-the-cascade-algorithm-and-inheritance": {
"title": "CSS Specificity, the Cascade Algorithm, and Inheritance",
"intro": [
- "In these lecture videos, you will learn about CSS specificity, the cascade algorithm, and inheritance."
+ "In these lecture videos, you will learn about CSS specificity, the common selectors and their specificities, the cascade algorithm, inheritance, and more."
]
},
"review-basic-css": {
"title": "Basic CSS Review",
"intro": [
"Before you are quizzed on basic CSS concepts, you first need to review.",
- "Open up this page to review concepts including margin, padding, CSS combinators, CSS Specificity and more."
+ "Open up this page to review concepts including margin, padding, CSS combinators, CSS specificity and more."
]
},
"quiz-basic-css": {
@@ -2023,29 +2030,31 @@
"lecture-styling-lists-and-links": {
"title": "Styling Lists and Links",
"intro": [
- "In these lecture videos, you will learn about styling lists and links."
+ "In these lecture videos, you will learn the properties you need to know to effectively style lists and links, including link states like link, visited, hover, and active."
]
},
"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"
+ "In this lab, you'll build a To-Do list and apply different styles to the links",
+ "You'll practice style properties like text-decoration, list-style-type and how to change styles on hover or click."
]
},
"lecture-working-with-backgrounds-and-borders": {
"title": "Working with Backgrounds and Borders",
"intro": [
- "In these lecture videos, you will learn about working with backgrounds and borders."
+ "In these lecture videos, 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"
+ "In this lab, you'll design a blog post card using HTML and CSS",
+ "You'll practice concepts like background-color, border-radius, margins, paddings, and more."
]
},
"review-css-backgrounds-and-borders": {
- "title": "CSS Backgrounds and Borders Review",
+ "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 background-image property, border property and more."
@@ -2060,19 +2069,19 @@
"lecture-user-interface-design-fundamentals": {
"title": "User Interface Design Fundamentals",
"intro": [
- "In these lecture videos, you will learn about user interface design fundamentals."
+ "In these lecture videos, 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 lecture videos, you will learn about user-centered design."
+ "In these lecture videos, 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 lecture videos, you will learn about common design tools."
+ "In these lecture videos, 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": {
@@ -2091,13 +2100,14 @@
"lecture-working-with-relative-and-absolute-units": {
"title": "Working with Relative and Absolute Units",
"intro": [
- "In these lecture videos, you will learn about working with relative and absolute units."
+ "In these lecture videos, 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 will use absolute and relative CSS units to create an event flyer page."
+ "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": {
@@ -2116,7 +2126,7 @@
"lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": {
"title": "Working with Pseudo-Classes and Pseudo-Elements in CSS",
"intro": [
- "In these lecture videos, you will learn about working with pseudo-classes and pseudo-elements in CSS."
+ "In these lecture videos, you will learn about pseudo-classes and pseudo-elements, alongside their examples and how they work."
]
},
"workshop-greeting-card": {
@@ -2129,7 +2139,8 @@
"lab-job-application-form": {
"title": "Build a Job Application Form",
"intro": [
- "In this lab you will build a job application form and style it using pseudo-classes."
+ "In this lab you'll build a job application form and style it using pseudo-classes.",
+ "You'll practice concepts like :hover, :active, :focus, and more."
]
},
"review-css-pseudo-classes": {
@@ -2148,7 +2159,7 @@
"lecture-working-with-colors-in-css": {
"title": "Working with Colors in CSS",
"intro": [
- "In these lecture videos, you will learn about working with colors in CSS."
+ "In these lecture videos, 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": {
@@ -2160,7 +2171,7 @@
"lab-colored-boxes": {
"title": "Design a Set of Colored Boxes",
"intro": [
- "In this lab, you'll practice using CSS colors by designing boxes"
+ "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": {
@@ -2179,7 +2190,7 @@
"lecture-best-practices-for-styling-forms": {
"title": "Best Practices for Styling Forms",
"intro": [
- "In these lecture videos, you will learn about the best practices for styling forms."
+ "In these lecture videos, you will learn about the best practices for styling forms and issues you can encounter while styling special inputs like color and datetime-local."
]
},
"workshop-registration-form": {
@@ -2192,7 +2203,7 @@
"lab-contact-form": {
"title": "Design a Contact Form",
"intro": [
- "In this lab, you will design a contact form in HTML and style it using CSS."
+ "In this lab, you'll design a contact form in HTML and style it using CSS."
]
},
"review-styling-forms": {
@@ -2211,7 +2222,7 @@
"lecture-working-with-css-transforms-overflow-and-filters": {
"title": "Working with CSS Transforms, Overflow, and Filters",
"intro": [
- "In these lecture videos, you will learn about working with CSS transforms, overflow, and filters."
+ "In these lecture videos, 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": {
@@ -2224,7 +2235,7 @@
"lab-confidential-email-page": {
"title": "Build a Confidential Email Page",
"intro": [
- "For this lab, you will create a web page of a confidential email using HTML and CSS."
+ "In this lab, you'll create a web page using HTML and mask the content using CSS properties."
]
},
"review-css-layout-and-effects": {
@@ -2243,7 +2254,7 @@
"lecture-working-with-css-flexbox": {
"title": "Working with CSS Flexbox",
"intro": [
- "In these lecture videos, you will learn about working with CSS flexbox."
+ "In these lecture videos, you will learn how CSS flexbox works, its properties, and when you should use it."
]
},
"workshop-flexbox-photo-gallery": {
@@ -2256,7 +2267,8 @@
"lab-page-of-playing-cards": {
"title": "Build a Page of Playing Cards",
"intro": [
- "For this lab, you will use flexbox to create a webpage of playing cards."
+ "In this lab, you'll use flexbox to create a webpage of playing cards.",
+ "You'll practice aligning elements using flexbox properties like flex-direction, justify-content, align-self, and more."
]
},
"review-css-flexbox": {
@@ -2275,7 +2287,7 @@
"lecture-working-with-css-fonts": {
"title": "Working with CSS Fonts",
"intro": [
- "In these lecture videos, you will learn about working with CSS fonts."
+ "In these lecture videos, you will learn about typography and its best practices, fonts, and the text-shadow property."
]
},
"workshop-nutritional-label": {
@@ -2288,7 +2300,8 @@
"lab-newspaper-article": {
"title": "Build a Newspaper Article",
"intro": [
- "In this lab, you will build a newspaper article page using HTML and CSS."
+ "In this lab, you'll build a newspaper article page using HTML and CSS.",
+ "You'll style the fonts using properties like font-family, font-size, font-weight, and more."
]
},
"review-css-typography": {
@@ -2305,7 +2318,7 @@
"lecture-best-practices-for-accessibility-and-css": {
"title": "Best Practices for Accessibility and CSS",
"intro": [
- "In these lecture videos, you will learn about best practices for accessibility in CSS."
+ "In these lecture videos, you will learn about best practices for accessibility in CSS, and the tools for checking good color contrast on websites."
]
},
"workshop-accessibility-quiz": {
@@ -2318,7 +2331,7 @@
"lab-tribute-page": {
"title": "Build a Tribute Page",
"intro": [
- "For this lab, you will build a tribute page for a subject of your choosing, fictional or real."
+ "in this lab, you'll build a tribute page for a subject of your choosing, fictional or real."
]
},
"review-css-accessibility": {
@@ -2337,7 +2350,7 @@
"lecture-working-with-attribute-selectors": {
"title": "Working with Attribute Selectors",
"intro": [
- "In these lecture videos, you will learn about working with attribute selectors."
+ "In these lecture videos, you will learn about attribute selectors and how to use them to target elements like links and lists."
]
},
"workshop-balance-sheet": {
@@ -2349,7 +2362,10 @@
},
"lab-book-inventory-app": {
"title": "Build a Book Inventory App",
- "intro": ["For this lab, you will create a book inventory app."]
+ "intro": [
+ "In this lab, you'll create a book inventory app.",
+ "You'll practice CSS attribute selectors like [attribute], [attribute=value], [attribute~=value], and more."
+ ]
},
"review-css-attribute-selectors": {
"title": "CSS Attribute Selectors Review",
@@ -2367,7 +2383,7 @@
"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 lecture videos, you will learn about how to work with floats and positioning in CSS."
+ "In these lecture videos, you will learn how to use CSS positioning and floats. You will learn about absolute, relative, fixed, and sticky positioning. You will also use the z-index property."
]
},
"workshop-cat-painting": {
@@ -2379,7 +2395,10 @@
},
"lab-house-painting": {
"title": "Build a House Painting",
- "intro": ["For this lab, you will build a house painting using CSS."]
+ "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 position, top, left, and more."
+ ]
},
"review-css-positioning": {
"title": "CSS Positioning Review",
@@ -2397,7 +2416,7 @@
"lecture-best-practices-for-responsive-web-design": {
"title": "Best Practices for Responsive Web Design",
"intro": [
- "In these lecture videos, you will learn about the best practices for responsive web design."
+ "In these lecture videos, 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": {
@@ -2410,7 +2429,8 @@
"lab-technical-documentation-page": {
"title": "Build a Technical Documentation Page",
"intro": [
- "For this lab, you will build a technical documentation page to serve as instruction or reference for a topic."
+ "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": {
@@ -2429,7 +2449,7 @@
"lecture-working-with-css-variables": {
"title": "Working with CSS Variables",
"intro": [
- "In these lecture videos, you will learn about working with CSS variables."
+ "In these lecture videos, you will learn how to define and use custom properties (also known as CSS variables). You will also learn about the @property rule and how it works."
]
},
"workshop-city-skyline": {
@@ -2441,7 +2461,10 @@
},
"lab-availability-table": {
"title": "Build an Availability Table",
- "intro": ["For this lab, you will create 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",
@@ -2459,7 +2482,7 @@
"lecture-working-with-css-grid": {
"title": "Working with CSS Grid",
"intro": [
- "In these lecture videos, you will learn about working with CSS grid."
+ "In these lecture videos, you will learn about CSS grid, its several properties and how to use them, and how CSS grid differs from flexbox."
]
},
"workshop-magazine": {
@@ -2469,9 +2492,11 @@
"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."
]
},
- "ogko": {
- "title": "114",
- "intro": []
+ "lab-magazine-layout": {
+ "title": "Design a Magazine Layout",
+ "intro": [
+ "In this lab, you will design a magazine layout using CSS Grid, including concepts like grid rows and grid columns."
+ ]
},
"lecture-debugging-css": {
"title": "Debugging CSS",
@@ -2482,7 +2507,7 @@
"lab-product-landing-page": {
"title": "Build a Product Landing Page",
"intro": [
- "For this project, you will build a product landing page to market a product of your choice."
+ "In this project, you'll build a product landing page to market a product of your choice."
]
},
"review-css-grid": {
@@ -2499,7 +2524,7 @@
"lecture-animations-and-accessibility": {
"title": "Animations and Accessibility",
"intro": [
- "In these lecture videos, you will learn about animations and accessibility."
+ "In these lecture videos, you will learn about CSS animations and their accessibility concerns. You will also learn how prefers-reduced-motion can help address those accessibility concerns."
]
},
"workshop-ferris-wheel": {
@@ -2512,7 +2537,8 @@
"lab-moon-orbit": {
"title": "Build a Moon Orbit",
"intro": [
- "For this lab, you will create an animation of the moon orbiting the earth."
+ "In this lab, you'll create an animation of the moon orbiting the earth.",
+ "You'll practice animation properties like animation-name, animation-duration, animation-timing-function, and more."
]
},
"workshop-flappy-penguin": {
@@ -2525,7 +2551,7 @@
"lab-personal-portfolio": {
"title": "Build a Personal Portfolio",
"intro": [
- "For this project, you will build your own personal portfolio page."
+ "In this project, you'll build your own personal portfolio page."
]
},
"review-css-animations": {
@@ -2553,15 +2579,15 @@
"intro": []
},
"lecture-working-with-code-editors-and-ides": {
- "title": "Working with Code Editors and IDE's",
+ "title": "Working with Code Editors and IDEs",
"intro": [
- "In these lecture videos, you will learn about working with code editors and IDE's."
+ "In these lecture videos, 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 lecture videos, you will get a basic introduction to JavaScript."
+ "In these lecture videos, 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."
]
},
"workshop-greeting-bot": {
@@ -2574,13 +2600,14 @@
"lab-javascript-trivia-bot": {
"title": "Build a JavaScript Trivia Bot",
"intro": [
- "In this lab, you will practice working with JavaScript variables and strings by building a trivia bot."
+ "In this lab, you'll practice working with JavaScript variables and strings by building a trivia bot.",
+ "You'll practice how to use variables and basic strings."
]
},
"lecture-working-with-data-types": {
"title": "Working with Data Types",
"intro": [
- "In these lecture videos, you will learn about data types in JavaScript."
+ "In the following lecture videos, you will learn how to work with data types in JavaScript. You will also learn how dynamic typing differs from static typing, the typeof operator, and the typeof null bug."
]
},
"review-javascript-variables-and-data-types": {
@@ -2599,7 +2626,7 @@
"lecture-working-with-strings-in-javascript": {
"title": "Working with Strings in JavaScript",
"intro": [
- "In these lecture videos, you will learn about working with strings in JavaScript."
+ "In these lecture videos, 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": {
@@ -2612,7 +2639,7 @@
"lecture-working-with-common-string-methods": {
"title": "Working with Common String Methods",
"intro": [
- "In these lecture videos, you will learn about common String methods."
+ "In these lecture videos, you will learn about the common string methods available in JavaScript. The string methods will let you do things like extracting a part of a string, changing the casing for a string, replacing a part of a string, trimming whitespace from a string, and much more."
]
},
"review-javascript-strings": {
@@ -2631,7 +2658,7 @@
"lecture-working-with-numbers-booleans-and-the-math-object": {
"title": "Working with Numbers, Booleans, and the Math Object",
"intro": [
- "In these lecture videos, you will learn about numbers, booleans, and the Math object."
+ "In these lecture videos, you will dive into the fundamentals of JavaScript. These include numbers, booleans, and the Math object. You will learn about different types of numbers, how arithmetic and comparison operators work, how JavaScript behaves when you combine strings and numbers in calculations, and much more."
]
},
"workshop-mathbot": {
@@ -2643,13 +2670,14 @@
"lab-fortune-teller": {
"title": "Build a Fortune Teller",
"intro": [
- "In this lab, you will build a fortune teller by randomly selecting a fortune from the available fortunes."
+ "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 Math.random() method and the Math.floor() method to generate random numbers."
]
},
"lecture-working-with-numbers-and-common-number-methods": {
"title": "Working with Numbers and Common Number Methods",
"intro": [
- "In these lecture videos, you will learn about numbers and common Number methods."
+ "In these lecture videos, you will learn about numbers and common number methods. These include isNaN(), parseInt(), parseFloat(), and toFixed()."
]
},
"review-javascript-math": {
@@ -2666,7 +2694,7 @@
"lecture-understanding-comparisons-and-conditionals": {
"title": "Understanding Comparisons and Conditionals",
"intro": [
- "In these lecture videos, you will learn about comparisons and conditionals."
+ "In these lecture videos, you will learn about comparison operators and conditionals. You will learn how the various conditionals differ from one another, and how comparisons work with null and undefined."
]
},
"review-javascript-comparisons-and-conditionals": {
@@ -2685,7 +2713,7 @@
"lecture-working-with-functions": {
"title": "Working with Functions",
"intro": [
- "In these lecture videos, you will learn about working with functions."
+ "In these lecture videos, 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": {
@@ -2697,13 +2725,14 @@
"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."
+ "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."
]
},
"lab-sentence-maker": {
"title": "Build a Sentence Maker",
"intro": [
- "In this lab, you will create different stories by assigning different words to different variables."
+ "In this lab, you'll create different stories by assigning different words to different variables."
]
},
"workshop-loan-qualification-checker": {
@@ -2716,7 +2745,7 @@
"lab-leap-year-calculator": {
"title": "Build a Leap Year Calculator ",
"intro": [
- "In this lab you will use conditional statements and loops to determine if a year is a leap year."
+ "In this lab you'll use conditional statements and loops to determine if a year is a leap year."
]
},
"review-javascript-functions": {
@@ -2735,7 +2764,7 @@
"lecture-working-with-arrays": {
"title": "Working with Arrays",
"intro": [
- "In these lecture videos, you will learn about working with JavaScript arrays."
+ "In these lecture videos, 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": {
@@ -2748,13 +2777,13 @@
"lab-lunch-picker-program": {
"title": "Build a Lunch Picker Program",
"intro": [
- "In this lab, you will review working with arrays and random numbers by building a lunch picker program."
+ "In this lab, you'll review working with arrays and random numbers by building a lunch picker program."
]
},
"lecture-working-with-common-array-methods": {
"title": "Working with Common Array Methods",
"intro": [
- "In these lecture videos, you will learn about common array methods."
+ "In these lecture videos, 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": {
@@ -2771,7 +2800,7 @@
"lecture-working-with-objects": {
"title": "Working with Objects",
"intro": [
- "In these lecture videos, you will learn about working with objects in JavaScript."
+ "In these lecture videos, you will learn how to work with JavaScript objects. The concepts you will learn include how to access properties from an object, check if an object has a property, how object methods differ from functions, object destructuring, and much more."
]
},
"workshop-recipe-tracker": {
@@ -2782,7 +2811,10 @@
},
"lab-quiz-game": {
"title": "Build a Quiz Game",
- "intro": ["For this lab, you will 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."
+ ]
},
"review-javascript-objects": {
"title": "JavaScript Objects Review",
@@ -2800,7 +2832,7 @@
"lecture-working-with-loops": {
"title": "Working with Loops",
"intro": [
- "In these lecture videos, you will learn about working with loops in JavaScript."
+ "Loops are an essential part of JavaScript. That's why the following lecture videos 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": {
@@ -2811,7 +2843,10 @@
},
"lab-factorial-calculator": {
"title": "Build a Factorial Calculator ",
- "intro": ["In this lab, you will 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."
+ ]
},
"review-javascript-loops": {
"title": "JavaScript Loops Review",
@@ -2827,38 +2862,47 @@
"lecture-understanding-core-javascript-fundamentals": {
"title": "Understanding Core JavaScript Fundamentals",
"intro": [
- "In these lecture videos, you will learn more about core JavaScript fundamentals."
+ "In these lecture videos, you will learn more about the core JavaScript fundamentals. You will learn how a string object differs from a primitive string, the toString() method, conventions and common practices for naming variables, linters and formatters, closures, and much more."
]
},
"lab-pyramid-generator": {
"title": "Build a Pyramid Generator",
- "intro": ["In this lab you will 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 will create 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 lecture videos, you will learn about the var keyword and hoisting in JavaScript."
+ "In these lecture videos, you will learn about the var 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-inventory-management-program": {
"title": "Build an Inventory Management Program",
"intro": [
- "For this lab, you will build an inventory management program using JavaScript."
+ "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 these lecture videos, you will learn about modules, imports, and exports in JavaScript."
+ "In this lecture video, you will learn about modules, imports, and exports in JavaScript."
]
},
"lab-password-generator": {
"title": "Build a Password Generator App",
- "intro": ["In this lab, you'll build a password generator app."]
+ "intro": [
+ "In this lab, you'll build a password generator app based on the user's input."
+ ]
},
"review-javascript-fundamentals": {
"title": "JavaScript Fundamentals Review",
@@ -2876,7 +2920,7 @@
"lecture-working-with-higher-order-functions-and-callbacks": {
"title": "Working with Higher Order Functions and Callbacks",
"intro": [
- "In these lecture videos, you will learn about working with higher order functions and callbacks."
+ "In these lecture videos, you will learn how to work with higher order functions and callbacks. The higher order functions you will learn include map(), filter(), reduce(), sort(), every(), and some(). You will also learn how to chain these methods together to achieve your desired results."
]
},
"workshop-library-manager": {
@@ -2888,7 +2932,7 @@
"lab-book-organizer": {
"title": "Build a Book Organizer",
"intro": [
- "In this lab, you will build a book organizer using higher order functions in JavaScript."
+ "In this lab, you'll build a book organizer using higher order functions in JavaScript."
]
},
"review-javascript-higher-order-functions": {
@@ -2907,7 +2951,7 @@
"lecture-working-with-the-dom-click-events-and-web-apis": {
"title": "Working with the DOM, Click Events, and Web APIs",
"intro": [
- "In these lecture videos, you will learn how to work with the DOM, click events, and web APIs, using JavaScript."
+ "In these lecture videos, you will learn how to work with the Document Object Model (DOM), the `addEventListener()` method and events, and web APIs."
]
},
"workshop-storytelling-app": {
@@ -2919,7 +2963,7 @@
"lab-favorite-icon-toggler": {
"title": "Build a Favorite Icon Toggler",
"intro": [
- "In this lab, you will build a favorite icon toggler by utilizing JavaScript click events."
+ "In this lab, you'll build a favorite icon toggler by utilizing JavaScript click events."
]
},
"review-dom-manipulation-and-click-events-with-javascript": {
@@ -2938,7 +2982,7 @@
"lecture-understanding-the-event-object-and-event-delegation": {
"title": "Understanding the Event Object and Event Delegation",
"intro": [
- "In these lecture videos, you will learn about the event object and event delegation."
+ "In these lecture videos, you will learn about the event object, the change event, event bubbling, and event delegation."
]
},
"workshop-music-instrument-filter": {
@@ -2949,12 +2993,16 @@
},
"lab-real-time-counter": {
"title": "Build a Real Time Counter",
- "intro": ["In this lab, you will build a real-time character counter"]
+ "intro": [
+ "In this lab, you'll build a real-time character counter",
+ "You'll practice how to work with the input event when the user types in the input field."
+ ]
},
"lab-lightbox-viewer": {
"title": "Build a Lightbox Viewer",
"intro": [
- "In this lab, you will build a lighbox viewer for viewing images in a focused mode."
+ "In this lab, you'll build a lighbox viewer for viewing images in a focused mode.",
+ "You'll practice click events and toggling classes."
]
},
"workshop-rps-game": {
@@ -2972,7 +3020,7 @@
"lab-football-team-cards": {
"title": "Build a Set of Football Team Cards",
"intro": [
- "One common aspect of building web applications is processing datasets and outputting information to the screen. In this project, you will use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards."
+ "In this lab, you'll use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards."
]
},
"review-javascript-events": {
@@ -2989,13 +3037,13 @@
"lecture-debugging-techniques": {
"title": "Debugging Techniques",
"intro": [
- "In these lecture videos, you will learn debugging techniques."
+ "In these lecture videos, 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": [
- "For this lab, you will debug a random background color changer and fix the errors to make it work properly."
+ "In this lab, you'll debug a random background color changer and fix the errors to make it work properly."
]
},
"review-debugging-javascript": {
@@ -3014,7 +3062,7 @@
"lecture-working-with-regular-expressions": {
"title": "Working with Regular Expressions",
"intro": [
- "In these lecture videos, you will learn about regular expressions in JavaScript."
+ "In these lecture videos, 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": {
@@ -3027,12 +3075,13 @@
"lab-markdown-to-html-converter": {
"title": "Build a Markdown to HTML Converter",
"intro": [
- "For this lab, you will build a Markdown to HTML converter using JavaScript."
+ "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 will build a regex sandbox."]
+ "intro": ["In this lab you'll build a regex sandbox."]
},
"review-javascript-regular-expressions": {
"title": "JavaScript Regular Expressions Review",
@@ -3050,7 +3099,7 @@
"lecture-understanding-form-validation": {
"title": "Understanding Form Validation",
"intro": [
- "In these lecture videos, you will learn about form validation in JavaScript."
+ "In these lecture videos, you will learn about form validation in JavaScript. You will learn about the various ways to validate forms, how the preventDefault() method works, and how the submit event works."
]
},
"workshop-calorie-counter": {
@@ -3063,7 +3112,8 @@
"lab-customer-complaint-form": {
"title": "Build a Customer Complaint Form",
"intro": [
- "For this lab, you will use JavaScript to validate a customer complaint form."
+ "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": {
@@ -3082,13 +3132,13 @@
"lecture-working-with-dates": {
"title": "Working with Dates",
"intro": [
- "In these lecture videos, you will learn about working with JavaScript dates."
+ "In these lecture videos, 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 will build a program to convert a date from one format to another."
+ "In this lab, you'll build a program to convert a date from one format to another."
]
},
"review-javascript-dates": {
@@ -3105,7 +3155,7 @@
"lecture-working-with-audio-and-video": {
"title": "Working with Audio and Video",
"intro": [
- "In these lecture videos, you will learn about working with audio and video using JavaScript."
+ "In these lecture videos, you will learn how to work with audio and video files using JavaScript. You will learn about the Audio and Video constructors, their methods and properties, audio and video formats, codecs, the HTMLMediaElement API, and much more."
]
},
"workshop-music-player": {
@@ -3115,9 +3165,11 @@
"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."
]
},
- "crzf": {
- "title": "222",
- "intro": []
+ "lab-drum-machine": {
+ "title": "Build a Drum Machine",
+ "intro": [
+ "For this lab you will use the audio element to build a drum machine."
+ ]
},
"review-javascript-audio-and-video": {
"title": "JavaScript Audio and Video Review",
@@ -3135,7 +3187,7 @@
"lecture-working-with-maps-and-sets": {
"title": "Working with Maps and Sets",
"intro": [
- "In these lecture videos, you will learn about JavaScript Maps and Sets."
+ "In these lecture videos, you will learn about JavaScript Map and Set. You will also learn how they both differ from WeakSets and WeakMaps"
]
},
"workshop-plant-nursery-catalog": {
@@ -3147,7 +3199,8 @@
"lab-voting-system": {
"title": "Build a Voting System",
"intro": [
- "In this lab, you will build a voting system using Maps and Sets."
+ "In this lab, you'll build a voting system using Maps and Sets.",
+ "You'll practice how to use the Map object to store key-value pairs and the Set object to store unique values."
]
},
"review-javascript-maps-and-sets": {
@@ -3166,7 +3219,7 @@
"lecture-working-with-client-side-storage-and-crud-operations": {
"title": "Working with Client-Side Storage and CRUD Operations",
"intro": [
- "In these lecture videos, you will learn about client-side storage and CRUD operations with JavaScript."
+ "In these lecture videos, you will learn about client-side storage and CRUD operations in JavaScript. You will learn about localStorage and sessionStorage alongside their methods and properties, cookies, the Cache API, IndexDB, and much more."
]
},
"workshop-todo-app": {
@@ -3178,7 +3231,10 @@
},
"lab-bookmark-manager-app": {
"title": "Build a Bookmark Manager App",
- "intro": ["For this lab, you will 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",
@@ -3196,7 +3252,7 @@
"lecture-understanding-how-to-work-with-classes-in-javascript": {
"title": "Understanding How to Work with Classes in JavaScript",
"intro": [
- "In these lecture videos, you will learn about working with classes in JavaScript."
+ "In these lecture videos, you will learn about classes in JavaScript. You will learn about inheritance, the this keyword, static properties and methods, and more."
]
},
"workshop-shopping-cart": {
@@ -3209,13 +3265,14 @@
"lab-project-idea-board": {
"title": "Build a Project Idea Board",
"intro": [
- "In this lab, you will build a project idea board using OOP in JavaScript."
+ "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 will build a simple transaction management system for a bank account."
+ "In this lab, you'll build a simple transaction management system for a bank account."
]
},
"review-javascript-classes": {
@@ -3234,7 +3291,7 @@
"lecture-understanding-recursion-and-the-call-stack": {
"title": "Understanding Recursion and the Call Stack",
"intro": [
- "In these lecture videos, you will learn about recursion and the call stack."
+ "In this lecture video, you will learn about recursion and the call stack."
]
},
"workshop-decimal-to-binary-converter": {
@@ -3247,7 +3304,7 @@
"lab-permutation-generator": {
"title": "Build a Permutation Generator",
"intro": [
- "For this lab, you will build a permutation generator that produces all possible permutations of a given string."
+ "For this lab, you'll build a permutation generator that produces all possible permutations of a given string."
]
},
"review-recursion": {
@@ -3264,7 +3321,7 @@
"lecture-understanding-functional-programming": {
"title": "Understanding Functional Programming",
"intro": [
- "In these lecture videos, you will learn about functional programming."
+ "In these lecture videos, you will learn about functional programming and how to nest functions using a technique called currying."
]
},
"workshop-recipe-ingredient-converter": {
@@ -3277,7 +3334,7 @@
"lab-sorting-visualizer": {
"title": "Build a Sorting Visualizer",
"intro": [
- "For this lab, you will use JavaScript to visualize the steps that the Bubble Sort algorithm takes to reorder an array of integers."
+ "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": {
@@ -3296,7 +3353,7 @@
"lecture-understanding-asynchronous-programming": {
"title": "Understanding Asynchronous Programming",
"intro": [
- "In these lecture videos, you will learn about asynchronous programming."
+ "In these lecture videos, you will learn about asynchronous programming in JavaScript. You will learn about the differences between synchronous and asynchronous programming, how the asnyc keyword works, the Fetch API, promises, async/await, the Geolocation API, and much more."
]
},
"workshop-fcc-authors-page": {
@@ -3309,7 +3366,7 @@
"lab-fcc-forum-leaderboard": {
"title": "Build an fCC Forum Leaderboard",
"intro": [
- "For this lab you will practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard."
+ "For this lab you'll practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard."
]
},
"review-asynchronous-javascript": {
@@ -3338,7 +3395,7 @@
"lecture-introduction-to-javascript-libraries-and-frameworks": {
"title": "Introduction to JavaScript Libraries and Frameworks",
"intro": [
- "In these lecture videos, you will get an introduction to JavaScript libraries and frameworks."
+ "In these lecture videos, 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": {
@@ -3350,12 +3407,12 @@
},
"lab-reusable-footer": {
"title": "Build a Reusable Footer",
- "intro": ["In this lab, you will use React to 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 lecture videos, you will learn about working with data in React."
+ "In these lecture videos, you will learn how to work with data in React. You will learn about props and how to pass them around, conditional rendering, how to render lists, and how to use inline styles."
]
},
"workshop-reusable-profile-card-component": {
@@ -3367,7 +3424,8 @@
"lab-mood-board": {
"title": "Build a Mood Board",
"intro": [
- "In this lab, you will create a mood board using a React with props."
+ "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": {
@@ -3429,7 +3487,8 @@
"lab-weather-app": {
"title": "Build a Weather App",
"intro": [
- "In this lab you will build a Weather App using an API to fetch the data."
+ "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."
]
},
"ffpt": {
diff --git a/client/i18n/locales/chinese/translations.json b/client/i18n/locales/chinese/translations.json
index e1fbd72e281..cb617841525 100644
--- a/client/i18n/locales/chinese/translations.json
+++ b/client/i18n/locales/chinese/translations.json
@@ -106,7 +106,9 @@
"donate-now": "立即捐款",
"confirm-amount": "确认金额",
"play-scene": "点击播放",
- "closed-caption": "关闭标题"
+ "closed-caption": "关闭标题",
+ "share-on-bluesky": "Share on BlueSky",
+ "share-on-threads": "Share on Threads"
},
"landing": {
"big-heading-1": "免费学习编程",
@@ -357,7 +359,7 @@
"challenge": "挑战",
"completed": "已完成",
"add-linkedin": "将此认证添加到我的 LinkedIn 个人资料",
- "add-twitter": "将此认证分享到 Twitter",
+ "add-twitter": "Share this certification on X",
"tweet": "我获得了 {{certTitle}} 认证 @freeCodeCamp!在这里查看:{{certURL}}",
"avatar": "{{username}} 的头像",
"joined": "于 {{date}} 加入",
@@ -366,7 +368,9 @@
"points": "{{date}} 获得 {{count}} 分",
"points_plural": "{{date}} 获得 {{count}} 分",
"page-number": "第 {{pageNumber}} 页,共 {{totalPages}} 页",
- "edit-my-profile": "Edit My Profile"
+ "edit-my-profile": "Edit My Profile",
+ "add-bluesky": "Share this certification on BlueSky",
+ "add-threads": "Share this certification on Threads"
},
"footer": {
"tax-exempt-status": "freeCodeCamp 是捐助者支持的 501(c)(3) 条款下具有免税资格的慈善组织(税号:82-0779546)。",
@@ -421,6 +425,7 @@
"assignments": "任务",
"question": "问题",
"questions": "Questions",
+ "answered-mcq": "You have unanswered questions and/or incorrect answers.",
"explanation": "Explanation",
"solution-link": "解决方案链接",
"source-code-link": "源代码链接",
@@ -1055,8 +1060,8 @@
"responsive-web-design-cert": "Responsive Web Design Certification",
"javascript-algorithms-and-data-structures": "Legacy JavaScript Algorithms and Data Structures",
"javascript-algorithms-and-data-structures-cert": "Legacy JavaScript Algorithms and Data Structures Certification",
- "javascript-algorithms-and-data-structures-v8": "JavaScript Algorithms and Data Structures (Beta)",
- "javascript-algorithms-and-data-structures-v8-cert": "JavaScript Algorithms and Data Structures (Beta) Certification",
+ "javascript-algorithms-and-data-structures-v8": "JavaScript Algorithms and Data Structures",
+ "javascript-algorithms-and-data-structures-v8-cert": "JavaScript Algorithms and Data Structures Certification",
"front-end-development-libraries": "Front End Development Libraries",
"front-end-development-libraries-cert": "Front End Development Libraries Certification",
"data-visualization": "Data Visualization",
diff --git a/client/i18n/locales/espanol/intro.json b/client/i18n/locales/espanol/intro.json
index 847fb42dc28..dd1338f3e0b 100644
--- a/client/i18n/locales/espanol/intro.json
+++ b/client/i18n/locales/espanol/intro.json
@@ -300,7 +300,7 @@
}
},
"javascript-algorithms-and-data-structures-v8": {
- "title": "Algoritmos de JavaScript y Estructuras de Datos (Beta)",
+ "title": "JavaScript Algorithms and Data Structures",
"intro": [
"Los desarrolladores usan HTML y CSS para controlar el contenido y estilo de una página. También usan JavaScript para hacer interactiva la página.",
"En esta certificación de Algoritmos de JavaScript y Estructura de Datos, aprenderas los fundamentos de JavaScript, como variables, arreglos, objetos, bucles, funciones, DOM y mucho más.",
@@ -772,9 +772,9 @@
}
},
"scientific-computing-with-python": {
- "title": "Computación Científica con Python (Beta)",
+ "title": "Scientific Computing with Python",
"intro": [
- "La computación científica con Python (Beta) currículum te equipará con habilidades para analizar y manipular datos usando Python, un poderoso y versátil lenguaje de programación. Aprenderas conceptos clave como la estructura de datos, algoritmos, programación orientada a objetos y como hacer calculos complejos usando una variedad de herramientas.",
+ "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.",
"Este curso guia te guiará hacia los fundamentos de la computación cientifica, incluyendo las estructuras de datos y algoritmos."
],
"note": "",
@@ -1187,7 +1187,7 @@
}
},
"the-odin-project": {
- "title": "El proyecto Odin - Free CodeCamp Remix (Beta)",
+ "title": "The Odin Project - freeCodeCamp Remix",
"intro": [
"El Proyecto Odin fue creado en 2013 por un solitario desarrollador, Erik Trautman. A través de los años, ha surgido una comunidad de código abierto para mantener y ampliar el proyecto.",
"freeCodeCamp ha ampliado el plan de estudios para el código abierto y hacer que se ejecute de forma interactiva en el navegador, con pruebas para evaluar tu código y garantizar que hayas comprendido los conceptos clave.",
@@ -1603,7 +1603,9 @@
},
"learn-how-to-plan-future-events": {
"title": "Aprende a planificar eventos futuros",
- "intro": ["", ""]
+ "intro": [
+ "In this course, you will learn to use the different forms of the future to plan for upcoming events."
+ ]
},
"learn-future-continuous-while-describing-actions": {
"title": "Aprende el futuro continuo describiendo acciones",
@@ -1799,7 +1801,7 @@
"lab-recipe-page": {
"title": "Build a Recipe Page",
"intro": [
- "For this lab, you will review HTML basics by creating a web page of your favorite recipe. This lab will give you an opportunity to review working with an HTML boilerplate, headings, lists and images."
+ "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": {
@@ -1811,7 +1813,7 @@
"lab-travel-agency-page": {
"title": "Build a Travel Agency Page",
"intro": [
- "For this lab, you will review working with HTML fundamentals by creating a web page for a travel agency. This lab will give you an opportunity to review working with images, the figure element, the figcaption element, the anchor element and more."
+ "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 figure element, the figcaption element, the anchor element, and more."
]
},
"lecture-working-with-media": {
@@ -1823,7 +1825,7 @@
"lab-video-compilation-page": {
"title": "Build a Video Compilation Page",
"intro": [
- "For this lab, you will create a video compilation web page. This lab will give you the opportunity to practice working with the iframe element."
+ "In this lab, you'll create a video compilation web page. You'll practice working with the iframe element."
]
},
"lecture-working-with-links": {
@@ -1860,8 +1862,7 @@
"lab-event-hub": {
"title": "Build an Event Hub",
"intro": [
- "In this lab, you will review working with semantic HTML elements by building an event hub.",
- "This lab will give you an opportunity to review working with the header, nav, article elements."
+ "In this lab, you'll build an event hub and review semantic elements like header, nav, article, and more."
]
},
"review-semantic-html": {
@@ -1893,8 +1894,8 @@
"lab-survey-form": {
"title": "Build a Survey Form",
"intro": [
- "For this lab, you will review working with HTML forms by creating a survey form.",
- "This lab will give you the opportunity to practice working with the label element, the different input elements, the required attribute, and more. "
+ "In this lab, you'll review HTML forms by creating a survey form.",
+ "You'll practice working with the label element, the different input elements, the required attribute, and more. "
]
},
"lecture-working-with-tables": {
@@ -1912,8 +1913,8 @@
"lab-book-catalog-table": {
"title": "Build a Book Catalog Table",
"intro": [
- "In this lab, you will review working with HTML tables by building a table filled with book information.",
- "This lab will give you an opportunity to practice working with the different table components like the Table Head, Table Row and Table Data Cell elements."
+ "In this lab, you'll review HTML tables by building a book information table.",
+ "You'll practice the different table components like the thead, tbody, th, tr, and td elements."
]
},
"lecture-working-with-html-tools": {
@@ -1943,7 +1944,10 @@
},
"lab-checkout-page": {
"title": "Build a Checkout Page",
- "intro": ["In this lab, you will create an accessible checkout page."]
+ "intro": [
+ "In this lab, you'll create an accessible checkout page.",
+ "You'll practice concepts like alt attributes and aria roles."
+ ]
},
"review-html-accessibility": {
"title": "HTML Accessibility Review",
@@ -1972,19 +1976,19 @@
"lecture-understanding-computer-internet-and-tooling-basics": {
"title": "Understanding Computer, Internet, and Tooling Basics",
"intro": [
- "In these lecture videos, you will learn about computer, internet, and tooling basics."
+ "In these lecture videos, 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 lecture videos, you will learn about working with file systems."
+ "In these lecture videos, 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 lecture videos, you will learn how to browse the web effectively."
+ "In these lecture videos, 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": {
@@ -2002,7 +2006,9 @@
},
"lecture-what-is-css": {
"title": "What Is CSS?",
- "intro": ["In these lecture videos, you will learn what CSS is."]
+ "intro": [
+ "The following lecture videos 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",
@@ -2014,20 +2020,21 @@
"lab-business-card": {
"title": "Design a Business Card",
"intro": [
- "In this lab, you'll create a business card and style it using CSS."
+ "In this lab, you'll create a business card and style it using CSS.",
+ "You'll practice style properties like color, font-size, text-align, and more."
]
},
"lecture-css-specificity-the-cascade-algorithm-and-inheritance": {
"title": "CSS Specificity, the Cascade Algorithm, and Inheritance",
"intro": [
- "In these lecture videos, you will learn about CSS specificity, the cascade algorithm, and inheritance."
+ "In these lecture videos, you will learn about CSS specificity, the common selectors and their specificities, the cascade algorithm, inheritance, and more."
]
},
"review-basic-css": {
"title": "Basic CSS Review",
"intro": [
"Before you are quizzed on basic CSS concepts, you first need to review.",
- "Open up this page to review concepts including margin, padding, CSS combinators, CSS Specificity and more."
+ "Open up this page to review concepts including margin, padding, CSS combinators, CSS specificity and more."
]
},
"quiz-basic-css": {
@@ -2039,29 +2046,31 @@
"lecture-styling-lists-and-links": {
"title": "Styling Lists and Links",
"intro": [
- "In these lecture videos, you will learn about styling lists and links."
+ "In these lecture videos, you will learn the properties you need to know to effectively style lists and links, including link states like link, visited, hover, and active."
]
},
"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"
+ "In this lab, you'll build a To-Do list and apply different styles to the links",
+ "You'll practice style properties like text-decoration, list-style-type and how to change styles on hover or click."
]
},
"lecture-working-with-backgrounds-and-borders": {
"title": "Working with Backgrounds and Borders",
"intro": [
- "In these lecture videos, you will learn about working with backgrounds and borders."
+ "In these lecture videos, 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"
+ "In this lab, you'll design a blog post card using HTML and CSS",
+ "You'll practice concepts like background-color, border-radius, margins, paddings, and more."
]
},
"review-css-backgrounds-and-borders": {
- "title": "CSS Backgrounds and Borders Review",
+ "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 background-image property, border property and more."
@@ -2076,19 +2085,19 @@
"lecture-user-interface-design-fundamentals": {
"title": "User Interface Design Fundamentals",
"intro": [
- "In these lecture videos, you will learn about user interface design fundamentals."
+ "In these lecture videos, 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 lecture videos, you will learn about user-centered design."
+ "In these lecture videos, 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 lecture videos, you will learn about common design tools."
+ "In these lecture videos, 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": {
@@ -2107,13 +2116,14 @@
"lecture-working-with-relative-and-absolute-units": {
"title": "Working with Relative and Absolute Units",
"intro": [
- "In these lecture videos, you will learn about working with relative and absolute units."
+ "In these lecture videos, 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 will use absolute and relative CSS units to create an event flyer page."
+ "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": {
@@ -2132,7 +2142,7 @@
"lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": {
"title": "Working with Pseudo-Classes and Pseudo-Elements in CSS",
"intro": [
- "In these lecture videos, you will learn about working with pseudo-classes and pseudo-elements in CSS."
+ "In these lecture videos, you will learn about pseudo-classes and pseudo-elements, alongside their examples and how they work."
]
},
"workshop-greeting-card": {
@@ -2145,7 +2155,8 @@
"lab-job-application-form": {
"title": "Build a Job Application Form",
"intro": [
- "In this lab you will build a job application form and style it using pseudo-classes."
+ "In this lab you'll build a job application form and style it using pseudo-classes.",
+ "You'll practice concepts like :hover, :active, :focus, and more."
]
},
"review-css-pseudo-classes": {
@@ -2164,7 +2175,7 @@
"lecture-working-with-colors-in-css": {
"title": "Working with Colors in CSS",
"intro": [
- "In these lecture videos, you will learn about working with colors in CSS."
+ "In these lecture videos, 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": {
@@ -2176,7 +2187,7 @@
"lab-colored-boxes": {
"title": "Design a Set of Colored Boxes",
"intro": [
- "In this lab, you'll practice using CSS colors by designing boxes"
+ "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": {
@@ -2195,7 +2206,7 @@
"lecture-best-practices-for-styling-forms": {
"title": "Best Practices for Styling Forms",
"intro": [
- "In these lecture videos, you will learn about the best practices for styling forms."
+ "In these lecture videos, you will learn about the best practices for styling forms and issues you can encounter while styling special inputs like color and datetime-local."
]
},
"workshop-registration-form": {
@@ -2208,7 +2219,7 @@
"lab-contact-form": {
"title": "Design a Contact Form",
"intro": [
- "In this lab, you will design a contact form in HTML and style it using CSS."
+ "In this lab, you'll design a contact form in HTML and style it using CSS."
]
},
"review-styling-forms": {
@@ -2227,7 +2238,7 @@
"lecture-working-with-css-transforms-overflow-and-filters": {
"title": "Working with CSS Transforms, Overflow, and Filters",
"intro": [
- "In these lecture videos, you will learn about working with CSS transforms, overflow, and filters."
+ "In these lecture videos, 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": {
@@ -2240,7 +2251,7 @@
"lab-confidential-email-page": {
"title": "Build a Confidential Email Page",
"intro": [
- "For this lab, you will create a web page of a confidential email using HTML and CSS."
+ "In this lab, you'll create a web page using HTML and mask the content using CSS properties."
]
},
"review-css-layout-and-effects": {
@@ -2259,7 +2270,7 @@
"lecture-working-with-css-flexbox": {
"title": "Working with CSS Flexbox",
"intro": [
- "In these lecture videos, you will learn about working with CSS flexbox."
+ "In these lecture videos, you will learn how CSS flexbox works, its properties, and when you should use it."
]
},
"workshop-flexbox-photo-gallery": {
@@ -2272,7 +2283,8 @@
"lab-page-of-playing-cards": {
"title": "Build a Page of Playing Cards",
"intro": [
- "For this lab, you will use flexbox to create a webpage of playing cards."
+ "In this lab, you'll use flexbox to create a webpage of playing cards.",
+ "You'll practice aligning elements using flexbox properties like flex-direction, justify-content, align-self, and more."
]
},
"review-css-flexbox": {
@@ -2291,7 +2303,7 @@
"lecture-working-with-css-fonts": {
"title": "Working with CSS Fonts",
"intro": [
- "In these lecture videos, you will learn about working with CSS fonts."
+ "In these lecture videos, you will learn about typography and its best practices, fonts, and the text-shadow property."
]
},
"workshop-nutritional-label": {
@@ -2304,7 +2316,8 @@
"lab-newspaper-article": {
"title": "Build a Newspaper Article",
"intro": [
- "In this lab, you will build a newspaper article page using HTML and CSS."
+ "In this lab, you'll build a newspaper article page using HTML and CSS.",
+ "You'll style the fonts using properties like font-family, font-size, font-weight, and more."
]
},
"review-css-typography": {
@@ -2321,7 +2334,7 @@
"lecture-best-practices-for-accessibility-and-css": {
"title": "Best Practices for Accessibility and CSS",
"intro": [
- "In these lecture videos, you will learn about best practices for accessibility in CSS."
+ "In these lecture videos, you will learn about best practices for accessibility in CSS, and the tools for checking good color contrast on websites."
]
},
"workshop-accessibility-quiz": {
@@ -2334,7 +2347,7 @@
"lab-tribute-page": {
"title": "Build a Tribute Page",
"intro": [
- "For this lab, you will build a tribute page for a subject of your choosing, fictional or real."
+ "in this lab, you'll build a tribute page for a subject of your choosing, fictional or real."
]
},
"review-css-accessibility": {
@@ -2353,7 +2366,7 @@
"lecture-working-with-attribute-selectors": {
"title": "Working with Attribute Selectors",
"intro": [
- "In these lecture videos, you will learn about working with attribute selectors."
+ "In these lecture videos, you will learn about attribute selectors and how to use them to target elements like links and lists."
]
},
"workshop-balance-sheet": {
@@ -2365,7 +2378,10 @@
},
"lab-book-inventory-app": {
"title": "Build a Book Inventory App",
- "intro": ["For this lab, you will create a book inventory app."]
+ "intro": [
+ "In this lab, you'll create a book inventory app.",
+ "You'll practice CSS attribute selectors like [attribute], [attribute=value], [attribute~=value], and more."
+ ]
},
"review-css-attribute-selectors": {
"title": "CSS Attribute Selectors Review",
@@ -2383,7 +2399,7 @@
"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 lecture videos, you will learn about how to work with floats and positioning in CSS."
+ "In these lecture videos, you will learn how to use CSS positioning and floats. You will learn about absolute, relative, fixed, and sticky positioning. You will also use the z-index property."
]
},
"workshop-cat-painting": {
@@ -2395,7 +2411,10 @@
},
"lab-house-painting": {
"title": "Build a House Painting",
- "intro": ["For this lab, you will build a house painting using CSS."]
+ "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 position, top, left, and more."
+ ]
},
"review-css-positioning": {
"title": "CSS Positioning Review",
@@ -2413,7 +2432,7 @@
"lecture-best-practices-for-responsive-web-design": {
"title": "Best Practices for Responsive Web Design",
"intro": [
- "In these lecture videos, you will learn about the best practices for responsive web design."
+ "In these lecture videos, 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": {
@@ -2426,7 +2445,8 @@
"lab-technical-documentation-page": {
"title": "Build a Technical Documentation Page",
"intro": [
- "For this lab, you will build a technical documentation page to serve as instruction or reference for a topic."
+ "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": {
@@ -2445,7 +2465,7 @@
"lecture-working-with-css-variables": {
"title": "Working with CSS Variables",
"intro": [
- "In these lecture videos, you will learn about working with CSS variables."
+ "In these lecture videos, you will learn how to define and use custom properties (also known as CSS variables). You will also learn about the @property rule and how it works."
]
},
"workshop-city-skyline": {
@@ -2457,7 +2477,10 @@
},
"lab-availability-table": {
"title": "Build an Availability Table",
- "intro": ["For this lab, you will create 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",
@@ -2475,7 +2498,7 @@
"lecture-working-with-css-grid": {
"title": "Working with CSS Grid",
"intro": [
- "In these lecture videos, you will learn about working with CSS grid."
+ "In these lecture videos, you will learn about CSS grid, its several properties and how to use them, and how CSS grid differs from flexbox."
]
},
"workshop-magazine": {
@@ -2485,9 +2508,11 @@
"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."
]
},
- "ogko": {
- "title": "114",
- "intro": []
+ "lab-magazine-layout": {
+ "title": "Design a Magazine Layout",
+ "intro": [
+ "In this lab, you will design a magazine layout using CSS Grid, including concepts like grid rows and grid columns."
+ ]
},
"lecture-debugging-css": {
"title": "Debugging CSS",
@@ -2498,7 +2523,7 @@
"lab-product-landing-page": {
"title": "Build a Product Landing Page",
"intro": [
- "For this project, you will build a product landing page to market a product of your choice."
+ "In this project, you'll build a product landing page to market a product of your choice."
]
},
"review-css-grid": {
@@ -2515,7 +2540,7 @@
"lecture-animations-and-accessibility": {
"title": "Animations and Accessibility",
"intro": [
- "In these lecture videos, you will learn about animations and accessibility."
+ "In these lecture videos, you will learn about CSS animations and their accessibility concerns. You will also learn how prefers-reduced-motion can help address those accessibility concerns."
]
},
"workshop-ferris-wheel": {
@@ -2528,7 +2553,8 @@
"lab-moon-orbit": {
"title": "Build a Moon Orbit",
"intro": [
- "For this lab, you will create an animation of the moon orbiting the earth."
+ "In this lab, you'll create an animation of the moon orbiting the earth.",
+ "You'll practice animation properties like animation-name, animation-duration, animation-timing-function, and more."
]
},
"workshop-flappy-penguin": {
@@ -2541,7 +2567,7 @@
"lab-personal-portfolio": {
"title": "Build a Personal Portfolio",
"intro": [
- "For this project, you will build your own personal portfolio page."
+ "In this project, you'll build your own personal portfolio page."
]
},
"review-css-animations": {
@@ -2569,15 +2595,15 @@
"intro": []
},
"lecture-working-with-code-editors-and-ides": {
- "title": "Working with Code Editors and IDE's",
+ "title": "Working with Code Editors and IDEs",
"intro": [
- "In these lecture videos, you will learn about working with code editors and IDE's."
+ "In these lecture videos, 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 lecture videos, you will get a basic introduction to JavaScript."
+ "In these lecture videos, 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."
]
},
"workshop-greeting-bot": {
@@ -2590,13 +2616,14 @@
"lab-javascript-trivia-bot": {
"title": "Build a JavaScript Trivia Bot",
"intro": [
- "In this lab, you will practice working with JavaScript variables and strings by building a trivia bot."
+ "In this lab, you'll practice working with JavaScript variables and strings by building a trivia bot.",
+ "You'll practice how to use variables and basic strings."
]
},
"lecture-working-with-data-types": {
"title": "Working with Data Types",
"intro": [
- "In these lecture videos, you will learn about data types in JavaScript."
+ "In the following lecture videos, you will learn how to work with data types in JavaScript. You will also learn how dynamic typing differs from static typing, the typeof operator, and the typeof null bug."
]
},
"review-javascript-variables-and-data-types": {
@@ -2615,7 +2642,7 @@
"lecture-working-with-strings-in-javascript": {
"title": "Working with Strings in JavaScript",
"intro": [
- "In these lecture videos, you will learn about working with strings in JavaScript."
+ "In these lecture videos, 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": {
@@ -2628,7 +2655,7 @@
"lecture-working-with-common-string-methods": {
"title": "Working with Common String Methods",
"intro": [
- "In these lecture videos, you will learn about common String methods."
+ "In these lecture videos, you will learn about the common string methods available in JavaScript. The string methods will let you do things like extracting a part of a string, changing the casing for a string, replacing a part of a string, trimming whitespace from a string, and much more."
]
},
"review-javascript-strings": {
@@ -2647,7 +2674,7 @@
"lecture-working-with-numbers-booleans-and-the-math-object": {
"title": "Working with Numbers, Booleans, and the Math Object",
"intro": [
- "In these lecture videos, you will learn about numbers, booleans, and the Math object."
+ "In these lecture videos, you will dive into the fundamentals of JavaScript. These include numbers, booleans, and the Math object. You will learn about different types of numbers, how arithmetic and comparison operators work, how JavaScript behaves when you combine strings and numbers in calculations, and much more."
]
},
"workshop-mathbot": {
@@ -2659,13 +2686,14 @@
"lab-fortune-teller": {
"title": "Build a Fortune Teller",
"intro": [
- "In this lab, you will build a fortune teller by randomly selecting a fortune from the available fortunes."
+ "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 Math.random() method and the Math.floor() method to generate random numbers."
]
},
"lecture-working-with-numbers-and-common-number-methods": {
"title": "Working with Numbers and Common Number Methods",
"intro": [
- "In these lecture videos, you will learn about numbers and common Number methods."
+ "In these lecture videos, you will learn about numbers and common number methods. These include isNaN(), parseInt(), parseFloat(), and toFixed()."
]
},
"review-javascript-math": {
@@ -2682,7 +2710,7 @@
"lecture-understanding-comparisons-and-conditionals": {
"title": "Understanding Comparisons and Conditionals",
"intro": [
- "In these lecture videos, you will learn about comparisons and conditionals."
+ "In these lecture videos, you will learn about comparison operators and conditionals. You will learn how the various conditionals differ from one another, and how comparisons work with null and undefined."
]
},
"review-javascript-comparisons-and-conditionals": {
@@ -2701,7 +2729,7 @@
"lecture-working-with-functions": {
"title": "Working with Functions",
"intro": [
- "In these lecture videos, you will learn about working with functions."
+ "In these lecture videos, 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": {
@@ -2713,13 +2741,14 @@
"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."
+ "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."
]
},
"lab-sentence-maker": {
"title": "Build a Sentence Maker",
"intro": [
- "In this lab, you will create different stories by assigning different words to different variables."
+ "In this lab, you'll create different stories by assigning different words to different variables."
]
},
"workshop-loan-qualification-checker": {
@@ -2732,7 +2761,7 @@
"lab-leap-year-calculator": {
"title": "Build a Leap Year Calculator ",
"intro": [
- "In this lab you will use conditional statements and loops to determine if a year is a leap year."
+ "In this lab you'll use conditional statements and loops to determine if a year is a leap year."
]
},
"review-javascript-functions": {
@@ -2751,7 +2780,7 @@
"lecture-working-with-arrays": {
"title": "Working with Arrays",
"intro": [
- "In these lecture videos, you will learn about working with JavaScript arrays."
+ "In these lecture videos, 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": {
@@ -2764,13 +2793,13 @@
"lab-lunch-picker-program": {
"title": "Build a Lunch Picker Program",
"intro": [
- "In this lab, you will review working with arrays and random numbers by building a lunch picker program."
+ "In this lab, you'll review working with arrays and random numbers by building a lunch picker program."
]
},
"lecture-working-with-common-array-methods": {
"title": "Working with Common Array Methods",
"intro": [
- "In these lecture videos, you will learn about common array methods."
+ "In these lecture videos, 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": {
@@ -2787,7 +2816,7 @@
"lecture-working-with-objects": {
"title": "Working with Objects",
"intro": [
- "In these lecture videos, you will learn about working with objects in JavaScript."
+ "In these lecture videos, you will learn how to work with JavaScript objects. The concepts you will learn include how to access properties from an object, check if an object has a property, how object methods differ from functions, object destructuring, and much more."
]
},
"workshop-recipe-tracker": {
@@ -2798,7 +2827,10 @@
},
"lab-quiz-game": {
"title": "Build a Quiz Game",
- "intro": ["For this lab, you will 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."
+ ]
},
"review-javascript-objects": {
"title": "JavaScript Objects Review",
@@ -2816,7 +2848,7 @@
"lecture-working-with-loops": {
"title": "Working with Loops",
"intro": [
- "In these lecture videos, you will learn about working with loops in JavaScript."
+ "Loops are an essential part of JavaScript. That's why the following lecture videos 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": {
@@ -2827,7 +2859,10 @@
},
"lab-factorial-calculator": {
"title": "Build a Factorial Calculator ",
- "intro": ["In this lab, you will 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."
+ ]
},
"review-javascript-loops": {
"title": "JavaScript Loops Review",
@@ -2843,38 +2878,47 @@
"lecture-understanding-core-javascript-fundamentals": {
"title": "Understanding Core JavaScript Fundamentals",
"intro": [
- "In these lecture videos, you will learn more about core JavaScript fundamentals."
+ "In these lecture videos, you will learn more about the core JavaScript fundamentals. You will learn how a string object differs from a primitive string, the toString() method, conventions and common practices for naming variables, linters and formatters, closures, and much more."
]
},
"lab-pyramid-generator": {
"title": "Build a Pyramid Generator",
- "intro": ["In this lab you will 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 will create 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 lecture videos, you will learn about the var keyword and hoisting in JavaScript."
+ "In these lecture videos, you will learn about the var 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-inventory-management-program": {
"title": "Build an Inventory Management Program",
"intro": [
- "For this lab, you will build an inventory management program using JavaScript."
+ "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 these lecture videos, you will learn about modules, imports, and exports in JavaScript."
+ "In this lecture video, you will learn about modules, imports, and exports in JavaScript."
]
},
"lab-password-generator": {
"title": "Build a Password Generator App",
- "intro": ["In this lab, you'll build a password generator app."]
+ "intro": [
+ "In this lab, you'll build a password generator app based on the user's input."
+ ]
},
"review-javascript-fundamentals": {
"title": "JavaScript Fundamentals Review",
@@ -2892,7 +2936,7 @@
"lecture-working-with-higher-order-functions-and-callbacks": {
"title": "Working with Higher Order Functions and Callbacks",
"intro": [
- "In these lecture videos, you will learn about working with higher order functions and callbacks."
+ "In these lecture videos, you will learn how to work with higher order functions and callbacks. The higher order functions you will learn include map(), filter(), reduce(), sort(), every(), and some(). You will also learn how to chain these methods together to achieve your desired results."
]
},
"workshop-library-manager": {
@@ -2904,7 +2948,7 @@
"lab-book-organizer": {
"title": "Build a Book Organizer",
"intro": [
- "In this lab, you will build a book organizer using higher order functions in JavaScript."
+ "In this lab, you'll build a book organizer using higher order functions in JavaScript."
]
},
"review-javascript-higher-order-functions": {
@@ -2923,7 +2967,7 @@
"lecture-working-with-the-dom-click-events-and-web-apis": {
"title": "Working with the DOM, Click Events, and Web APIs",
"intro": [
- "In these lecture videos, you will learn how to work with the DOM, click events, and web APIs, using JavaScript."
+ "In these lecture videos, you will learn how to work with the Document Object Model (DOM), the `addEventListener()` method and events, and web APIs."
]
},
"workshop-storytelling-app": {
@@ -2935,7 +2979,7 @@
"lab-favorite-icon-toggler": {
"title": "Build a Favorite Icon Toggler",
"intro": [
- "In this lab, you will build a favorite icon toggler by utilizing JavaScript click events."
+ "In this lab, you'll build a favorite icon toggler by utilizing JavaScript click events."
]
},
"review-dom-manipulation-and-click-events-with-javascript": {
@@ -2954,7 +2998,7 @@
"lecture-understanding-the-event-object-and-event-delegation": {
"title": "Understanding the Event Object and Event Delegation",
"intro": [
- "In these lecture videos, you will learn about the event object and event delegation."
+ "In these lecture videos, you will learn about the event object, the change event, event bubbling, and event delegation."
]
},
"workshop-music-instrument-filter": {
@@ -2965,12 +3009,16 @@
},
"lab-real-time-counter": {
"title": "Build a Real Time Counter",
- "intro": ["In this lab, you will build a real-time character counter"]
+ "intro": [
+ "In this lab, you'll build a real-time character counter",
+ "You'll practice how to work with the input event when the user types in the input field."
+ ]
},
"lab-lightbox-viewer": {
"title": "Build a Lightbox Viewer",
"intro": [
- "In this lab, you will build a lighbox viewer for viewing images in a focused mode."
+ "In this lab, you'll build a lighbox viewer for viewing images in a focused mode.",
+ "You'll practice click events and toggling classes."
]
},
"workshop-rps-game": {
@@ -2988,7 +3036,7 @@
"lab-football-team-cards": {
"title": "Build a Set of Football Team Cards",
"intro": [
- "One common aspect of building web applications is processing datasets and outputting information to the screen. In this project, you will use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards."
+ "In this lab, you'll use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards."
]
},
"review-javascript-events": {
@@ -3005,13 +3053,13 @@
"lecture-debugging-techniques": {
"title": "Debugging Techniques",
"intro": [
- "In these lecture videos, you will learn debugging techniques."
+ "In these lecture videos, 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": [
- "For this lab, you will debug a random background color changer and fix the errors to make it work properly."
+ "In this lab, you'll debug a random background color changer and fix the errors to make it work properly."
]
},
"review-debugging-javascript": {
@@ -3030,7 +3078,7 @@
"lecture-working-with-regular-expressions": {
"title": "Working with Regular Expressions",
"intro": [
- "In these lecture videos, you will learn about regular expressions in JavaScript."
+ "In these lecture videos, 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": {
@@ -3043,12 +3091,13 @@
"lab-markdown-to-html-converter": {
"title": "Build a Markdown to HTML Converter",
"intro": [
- "For this lab, you will build a Markdown to HTML converter using JavaScript."
+ "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 will build a regex sandbox."]
+ "intro": ["In this lab you'll build a regex sandbox."]
},
"review-javascript-regular-expressions": {
"title": "JavaScript Regular Expressions Review",
@@ -3066,7 +3115,7 @@
"lecture-understanding-form-validation": {
"title": "Understanding Form Validation",
"intro": [
- "In these lecture videos, you will learn about form validation in JavaScript."
+ "In these lecture videos, you will learn about form validation in JavaScript. You will learn about the various ways to validate forms, how the preventDefault() method works, and how the submit event works."
]
},
"workshop-calorie-counter": {
@@ -3079,7 +3128,8 @@
"lab-customer-complaint-form": {
"title": "Build a Customer Complaint Form",
"intro": [
- "For this lab, you will use JavaScript to validate a customer complaint form."
+ "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": {
@@ -3098,13 +3148,13 @@
"lecture-working-with-dates": {
"title": "Working with Dates",
"intro": [
- "In these lecture videos, you will learn about working with JavaScript dates."
+ "In these lecture videos, 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 will build a program to convert a date from one format to another."
+ "In this lab, you'll build a program to convert a date from one format to another."
]
},
"review-javascript-dates": {
@@ -3121,7 +3171,7 @@
"lecture-working-with-audio-and-video": {
"title": "Working with Audio and Video",
"intro": [
- "In these lecture videos, you will learn about working with audio and video using JavaScript."
+ "In these lecture videos, you will learn how to work with audio and video files using JavaScript. You will learn about the Audio and Video constructors, their methods and properties, audio and video formats, codecs, the HTMLMediaElement API, and much more."
]
},
"workshop-music-player": {
@@ -3131,9 +3181,11 @@
"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."
]
},
- "crzf": {
- "title": "222",
- "intro": []
+ "lab-drum-machine": {
+ "title": "Build a Drum Machine",
+ "intro": [
+ "For this lab you will use the audio element to build a drum machine."
+ ]
},
"review-javascript-audio-and-video": {
"title": "JavaScript Audio and Video Review",
@@ -3151,7 +3203,7 @@
"lecture-working-with-maps-and-sets": {
"title": "Working with Maps and Sets",
"intro": [
- "In these lecture videos, you will learn about JavaScript Maps and Sets."
+ "In these lecture videos, you will learn about JavaScript Map and Set. You will also learn how they both differ from WeakSets and WeakMaps"
]
},
"workshop-plant-nursery-catalog": {
@@ -3163,7 +3215,8 @@
"lab-voting-system": {
"title": "Build a Voting System",
"intro": [
- "In this lab, you will build a voting system using Maps and Sets."
+ "In this lab, you'll build a voting system using Maps and Sets.",
+ "You'll practice how to use the Map object to store key-value pairs and the Set object to store unique values."
]
},
"review-javascript-maps-and-sets": {
@@ -3182,7 +3235,7 @@
"lecture-working-with-client-side-storage-and-crud-operations": {
"title": "Working with Client-Side Storage and CRUD Operations",
"intro": [
- "In these lecture videos, you will learn about client-side storage and CRUD operations with JavaScript."
+ "In these lecture videos, you will learn about client-side storage and CRUD operations in JavaScript. You will learn about localStorage and sessionStorage alongside their methods and properties, cookies, the Cache API, IndexDB, and much more."
]
},
"workshop-todo-app": {
@@ -3194,7 +3247,10 @@
},
"lab-bookmark-manager-app": {
"title": "Build a Bookmark Manager App",
- "intro": ["For this lab, you will 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",
@@ -3212,7 +3268,7 @@
"lecture-understanding-how-to-work-with-classes-in-javascript": {
"title": "Understanding How to Work with Classes in JavaScript",
"intro": [
- "In these lecture videos, you will learn about working with classes in JavaScript."
+ "In these lecture videos, you will learn about classes in JavaScript. You will learn about inheritance, the this keyword, static properties and methods, and more."
]
},
"workshop-shopping-cart": {
@@ -3225,13 +3281,14 @@
"lab-project-idea-board": {
"title": "Build a Project Idea Board",
"intro": [
- "In this lab, you will build a project idea board using OOP in JavaScript."
+ "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 will build a simple transaction management system for a bank account."
+ "In this lab, you'll build a simple transaction management system for a bank account."
]
},
"review-javascript-classes": {
@@ -3250,7 +3307,7 @@
"lecture-understanding-recursion-and-the-call-stack": {
"title": "Understanding Recursion and the Call Stack",
"intro": [
- "In these lecture videos, you will learn about recursion and the call stack."
+ "In this lecture video, you will learn about recursion and the call stack."
]
},
"workshop-decimal-to-binary-converter": {
@@ -3263,7 +3320,7 @@
"lab-permutation-generator": {
"title": "Build a Permutation Generator",
"intro": [
- "For this lab, you will build a permutation generator that produces all possible permutations of a given string."
+ "For this lab, you'll build a permutation generator that produces all possible permutations of a given string."
]
},
"review-recursion": {
@@ -3280,7 +3337,7 @@
"lecture-understanding-functional-programming": {
"title": "Understanding Functional Programming",
"intro": [
- "In these lecture videos, you will learn about functional programming."
+ "In these lecture videos, you will learn about functional programming and how to nest functions using a technique called currying."
]
},
"workshop-recipe-ingredient-converter": {
@@ -3293,7 +3350,7 @@
"lab-sorting-visualizer": {
"title": "Build a Sorting Visualizer",
"intro": [
- "For this lab, you will use JavaScript to visualize the steps that the Bubble Sort algorithm takes to reorder an array of integers."
+ "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": {
@@ -3312,7 +3369,7 @@
"lecture-understanding-asynchronous-programming": {
"title": "Understanding Asynchronous Programming",
"intro": [
- "In these lecture videos, you will learn about asynchronous programming."
+ "In these lecture videos, you will learn about asynchronous programming in JavaScript. You will learn about the differences between synchronous and asynchronous programming, how the asnyc keyword works, the Fetch API, promises, async/await, the Geolocation API, and much more."
]
},
"workshop-fcc-authors-page": {
@@ -3325,7 +3382,7 @@
"lab-fcc-forum-leaderboard": {
"title": "Build an fCC Forum Leaderboard",
"intro": [
- "For this lab you will practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard."
+ "For this lab you'll practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard."
]
},
"review-asynchronous-javascript": {
@@ -3354,7 +3411,7 @@
"lecture-introduction-to-javascript-libraries-and-frameworks": {
"title": "Introduction to JavaScript Libraries and Frameworks",
"intro": [
- "In these lecture videos, you will get an introduction to JavaScript libraries and frameworks."
+ "In these lecture videos, 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": {
@@ -3366,12 +3423,12 @@
},
"lab-reusable-footer": {
"title": "Build a Reusable Footer",
- "intro": ["In this lab, you will use React to 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 lecture videos, you will learn about working with data in React."
+ "In these lecture videos, you will learn how to work with data in React. You will learn about props and how to pass them around, conditional rendering, how to render lists, and how to use inline styles."
]
},
"workshop-reusable-profile-card-component": {
@@ -3383,7 +3440,8 @@
"lab-mood-board": {
"title": "Build a Mood Board",
"intro": [
- "In this lab, you will create a mood board using a React with props."
+ "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": {
@@ -3445,7 +3503,8 @@
"lab-weather-app": {
"title": "Build a Weather App",
"intro": [
- "In this lab you will build a Weather App using an API to fetch the data."
+ "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."
]
},
"ffpt": {
diff --git a/client/i18n/locales/espanol/translations.json b/client/i18n/locales/espanol/translations.json
index e80bd4e6781..7d43c28645e 100644
--- a/client/i18n/locales/espanol/translations.json
+++ b/client/i18n/locales/espanol/translations.json
@@ -106,7 +106,9 @@
"donate-now": "Donar ahora",
"confirm-amount": "Confirmar cantidad",
"play-scene": "Presiona Play",
- "closed-caption": "Subtítulos cerrados"
+ "closed-caption": "Subtítulos cerrados",
+ "share-on-bluesky": "Share on BlueSky",
+ "share-on-threads": "Share on Threads"
},
"landing": {
"big-heading-1": "Aprende a programar gratis.",
@@ -357,7 +359,7 @@
"challenge": "Desafío",
"completed": "Completado",
"add-linkedin": "Agregar esta certificación a mi perfil de LinkedIn",
- "add-twitter": "Compartir esta certificación en Twitter",
+ "add-twitter": "Share this certification on X",
"tweet": "¡Acabo de obtener la certificación {{certTitle}} @freeCodeCamp! Compruébalo aquí: {{certURL}}",
"avatar": "Avatar de {{username}}",
"joined": "Se unió {{date}}",
@@ -366,7 +368,9 @@
"points": "{{count}} punto en {{date}}",
"points_plural": "{{count}} puntos en {{date}}",
"page-number": "{{pageNumber}} de {{totalPages}}",
- "edit-my-profile": "Edit My Profile"
+ "edit-my-profile": "Edit My Profile",
+ "add-bluesky": "Share this certification on BlueSky",
+ "add-threads": "Share this certification on Threads"
},
"footer": {
"tax-exempt-status": "freeCodeCamp es una organización 501(c)(3) exenta de impuestos y sin fines de lucro respaldada por donaciones (Número de Identificación Tributaria Federal de los Estados Unidos: 82-0779546).",
@@ -421,6 +425,7 @@
"assignments": "Asignaciones",
"question": "Pregunta",
"questions": "Questions",
+ "answered-mcq": "You have unanswered questions and/or incorrect answers.",
"explanation": "Explanation",
"solution-link": "Enlace a la solución",
"source-code-link": "Enlace al código fuente",
@@ -1055,8 +1060,8 @@
"responsive-web-design-cert": "Responsive Web Design Certification",
"javascript-algorithms-and-data-structures": "Legacy JavaScript Algorithms and Data Structures",
"javascript-algorithms-and-data-structures-cert": "Legacy JavaScript Algorithms and Data Structures Certification",
- "javascript-algorithms-and-data-structures-v8": "JavaScript Algorithms and Data Structures (Beta)",
- "javascript-algorithms-and-data-structures-v8-cert": "JavaScript Algorithms and Data Structures (Beta) Certification",
+ "javascript-algorithms-and-data-structures-v8": "JavaScript Algorithms and Data Structures",
+ "javascript-algorithms-and-data-structures-v8-cert": "JavaScript Algorithms and Data Structures Certification",
"front-end-development-libraries": "Front End Development Libraries",
"front-end-development-libraries-cert": "Front End Development Libraries Certification",
"data-visualization": "Data Visualization",
diff --git a/client/i18n/locales/german/intro.json b/client/i18n/locales/german/intro.json
index 648c206d583..2066d98befd 100644
--- a/client/i18n/locales/german/intro.json
+++ b/client/i18n/locales/german/intro.json
@@ -300,7 +300,7 @@
}
},
"javascript-algorithms-and-data-structures-v8": {
- "title": "JavaScript Algorithms and Data Structures (Beta)",
+ "title": "JavaScript Algorithms and Data Structures",
"intro": [
"Developers use HTML and CSS to control the content and styling of a page. And they use JavaScript to make that page interactive.",
"In this JavaScript Algorithm and Data Structures Certification, you'll learn the JavaScript fundamentals like variables, arrays, objects, loops, functions, the DOM and more.",
@@ -772,9 +772,9 @@
}
},
"scientific-computing-with-python": {
- "title": "Scientific Computing with Python (Beta)",
+ "title": "Scientific Computing with Python",
"intro": [
- "The Scientific Computing with Python (Beta) 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.",
+ "The Scientific Computing with Python curriculum will equip you with the skills to analyze and manipulate data using Python, a powerful and versatile programming language. You'll learn key concepts like data structures, algorithm, Object Oriented Programming, and how to perform complex calculations using a variety of tools.",
"This comprehensive course will guide you through the fundamentals of scientific computing, including data structures, and algorithms."
],
"note": "",
@@ -1187,7 +1187,7 @@
}
},
"the-odin-project": {
- "title": "The Odin Project - freeCodeCamp Remix (Beta)",
+ "title": "The Odin Project - freeCodeCamp Remix",
"intro": [
"The Odin Project was created in 2013 by a lone developer, Erik Trautman. Over the years, an open source community has sprung up to maintain and expand the project.",
"freeCodeCamp has expanded upon the open source curriculum to make it run interactively in the browser, with tests to evaluate your code and ensure you've understood key concepts.",
@@ -1601,7 +1601,9 @@
},
"learn-how-to-plan-future-events": {
"title": "Learn How to Plan Future Events",
- "intro": ["", ""]
+ "intro": [
+ "In this course, you will learn to use the different forms of the future to plan for upcoming events."
+ ]
},
"learn-future-continuous-while-describing-actions": {
"title": "Learn Future Continuous while Describing Actions",
@@ -1797,7 +1799,7 @@
"lab-recipe-page": {
"title": "Build a Recipe Page",
"intro": [
- "For this lab, you will review HTML basics by creating a web page of your favorite recipe. This lab will give you an opportunity to review working with an HTML boilerplate, headings, lists and images."
+ "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": {
@@ -1809,7 +1811,7 @@
"lab-travel-agency-page": {
"title": "Build a Travel Agency Page",
"intro": [
- "For this lab, you will review working with HTML fundamentals by creating a web page for a travel agency. This lab will give you an opportunity to review working with images, the figure element, the figcaption element, the anchor element and more."
+ "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 figure element, the figcaption element, the anchor element, and more."
]
},
"lecture-working-with-media": {
@@ -1821,7 +1823,7 @@
"lab-video-compilation-page": {
"title": "Build a Video Compilation Page",
"intro": [
- "For this lab, you will create a video compilation web page. This lab will give you the opportunity to practice working with the iframe element."
+ "In this lab, you'll create a video compilation web page. You'll practice working with the iframe element."
]
},
"lecture-working-with-links": {
@@ -1858,8 +1860,7 @@
"lab-event-hub": {
"title": "Build an Event Hub",
"intro": [
- "In this lab, you will review working with semantic HTML elements by building an event hub.",
- "This lab will give you an opportunity to review working with the header, nav, article elements."
+ "In this lab, you'll build an event hub and review semantic elements like header, nav, article, and more."
]
},
"review-semantic-html": {
@@ -1891,8 +1892,8 @@
"lab-survey-form": {
"title": "Build a Survey Form",
"intro": [
- "For this lab, you will review working with HTML forms by creating a survey form.",
- "This lab will give you the opportunity to practice working with the label element, the different input elements, the required attribute, and more. "
+ "In this lab, you'll review HTML forms by creating a survey form.",
+ "You'll practice working with the label element, the different input elements, the required attribute, and more. "
]
},
"lecture-working-with-tables": {
@@ -1910,8 +1911,8 @@
"lab-book-catalog-table": {
"title": "Build a Book Catalog Table",
"intro": [
- "In this lab, you will review working with HTML tables by building a table filled with book information.",
- "This lab will give you an opportunity to practice working with the different table components like the Table Head, Table Row and Table Data Cell elements."
+ "In this lab, you'll review HTML tables by building a book information table.",
+ "You'll practice the different table components like the thead, tbody, th, tr, and td elements."
]
},
"lecture-working-with-html-tools": {
@@ -1941,7 +1942,10 @@
},
"lab-checkout-page": {
"title": "Build a Checkout Page",
- "intro": ["In this lab, you will create an accessible checkout page."]
+ "intro": [
+ "In this lab, you'll create an accessible checkout page.",
+ "You'll practice concepts like alt attributes and aria roles."
+ ]
},
"review-html-accessibility": {
"title": "HTML Accessibility Review",
@@ -1970,19 +1974,19 @@
"lecture-understanding-computer-internet-and-tooling-basics": {
"title": "Understanding Computer, Internet, and Tooling Basics",
"intro": [
- "In these lecture videos, you will learn about computer, internet, and tooling basics."
+ "In these lecture videos, 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 lecture videos, you will learn about working with file systems."
+ "In these lecture videos, 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 lecture videos, you will learn how to browse the web effectively."
+ "In these lecture videos, 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": {
@@ -2000,7 +2004,9 @@
},
"lecture-what-is-css": {
"title": "What Is CSS?",
- "intro": ["In these lecture videos, you will learn what CSS is."]
+ "intro": [
+ "The following lecture videos 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",
@@ -2012,20 +2018,21 @@
"lab-business-card": {
"title": "Design a Business Card",
"intro": [
- "In this lab, you'll create a business card and style it using CSS."
+ "In this lab, you'll create a business card and style it using CSS.",
+ "You'll practice style properties like color, font-size, text-align, and more."
]
},
"lecture-css-specificity-the-cascade-algorithm-and-inheritance": {
"title": "CSS Specificity, the Cascade Algorithm, and Inheritance",
"intro": [
- "In these lecture videos, you will learn about CSS specificity, the cascade algorithm, and inheritance."
+ "In these lecture videos, you will learn about CSS specificity, the common selectors and their specificities, the cascade algorithm, inheritance, and more."
]
},
"review-basic-css": {
"title": "Basic CSS Review",
"intro": [
"Before you are quizzed on basic CSS concepts, you first need to review.",
- "Open up this page to review concepts including margin, padding, CSS combinators, CSS Specificity and more."
+ "Open up this page to review concepts including margin, padding, CSS combinators, CSS specificity and more."
]
},
"quiz-basic-css": {
@@ -2037,29 +2044,31 @@
"lecture-styling-lists-and-links": {
"title": "Styling Lists and Links",
"intro": [
- "In these lecture videos, you will learn about styling lists and links."
+ "In these lecture videos, you will learn the properties you need to know to effectively style lists and links, including link states like link, visited, hover, and active."
]
},
"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"
+ "In this lab, you'll build a To-Do list and apply different styles to the links",
+ "You'll practice style properties like text-decoration, list-style-type and how to change styles on hover or click."
]
},
"lecture-working-with-backgrounds-and-borders": {
"title": "Working with Backgrounds and Borders",
"intro": [
- "In these lecture videos, you will learn about working with backgrounds and borders."
+ "In these lecture videos, 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"
+ "In this lab, you'll design a blog post card using HTML and CSS",
+ "You'll practice concepts like background-color, border-radius, margins, paddings, and more."
]
},
"review-css-backgrounds-and-borders": {
- "title": "CSS Backgrounds and Borders Review",
+ "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 background-image property, border property and more."
@@ -2074,19 +2083,19 @@
"lecture-user-interface-design-fundamentals": {
"title": "User Interface Design Fundamentals",
"intro": [
- "In these lecture videos, you will learn about user interface design fundamentals."
+ "In these lecture videos, 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 lecture videos, you will learn about user-centered design."
+ "In these lecture videos, 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 lecture videos, you will learn about common design tools."
+ "In these lecture videos, 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": {
@@ -2105,13 +2114,14 @@
"lecture-working-with-relative-and-absolute-units": {
"title": "Working with Relative and Absolute Units",
"intro": [
- "In these lecture videos, you will learn about working with relative and absolute units."
+ "In these lecture videos, 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 will use absolute and relative CSS units to create an event flyer page."
+ "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": {
@@ -2130,7 +2140,7 @@
"lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": {
"title": "Working with Pseudo-Classes and Pseudo-Elements in CSS",
"intro": [
- "In these lecture videos, you will learn about working with pseudo-classes and pseudo-elements in CSS."
+ "In these lecture videos, you will learn about pseudo-classes and pseudo-elements, alongside their examples and how they work."
]
},
"workshop-greeting-card": {
@@ -2143,7 +2153,8 @@
"lab-job-application-form": {
"title": "Build a Job Application Form",
"intro": [
- "In this lab you will build a job application form and style it using pseudo-classes."
+ "In this lab you'll build a job application form and style it using pseudo-classes.",
+ "You'll practice concepts like :hover, :active, :focus, and more."
]
},
"review-css-pseudo-classes": {
@@ -2162,7 +2173,7 @@
"lecture-working-with-colors-in-css": {
"title": "Working with Colors in CSS",
"intro": [
- "In these lecture videos, you will learn about working with colors in CSS."
+ "In these lecture videos, 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": {
@@ -2174,7 +2185,7 @@
"lab-colored-boxes": {
"title": "Design a Set of Colored Boxes",
"intro": [
- "In this lab, you'll practice using CSS colors by designing boxes"
+ "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": {
@@ -2193,7 +2204,7 @@
"lecture-best-practices-for-styling-forms": {
"title": "Best Practices for Styling Forms",
"intro": [
- "In these lecture videos, you will learn about the best practices for styling forms."
+ "In these lecture videos, you will learn about the best practices for styling forms and issues you can encounter while styling special inputs like color and datetime-local."
]
},
"workshop-registration-form": {
@@ -2206,7 +2217,7 @@
"lab-contact-form": {
"title": "Design a Contact Form",
"intro": [
- "In this lab, you will design a contact form in HTML and style it using CSS."
+ "In this lab, you'll design a contact form in HTML and style it using CSS."
]
},
"review-styling-forms": {
@@ -2225,7 +2236,7 @@
"lecture-working-with-css-transforms-overflow-and-filters": {
"title": "Working with CSS Transforms, Overflow, and Filters",
"intro": [
- "In these lecture videos, you will learn about working with CSS transforms, overflow, and filters."
+ "In these lecture videos, 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": {
@@ -2238,7 +2249,7 @@
"lab-confidential-email-page": {
"title": "Build a Confidential Email Page",
"intro": [
- "For this lab, you will create a web page of a confidential email using HTML and CSS."
+ "In this lab, you'll create a web page using HTML and mask the content using CSS properties."
]
},
"review-css-layout-and-effects": {
@@ -2257,7 +2268,7 @@
"lecture-working-with-css-flexbox": {
"title": "Working with CSS Flexbox",
"intro": [
- "In these lecture videos, you will learn about working with CSS flexbox."
+ "In these lecture videos, you will learn how CSS flexbox works, its properties, and when you should use it."
]
},
"workshop-flexbox-photo-gallery": {
@@ -2270,7 +2281,8 @@
"lab-page-of-playing-cards": {
"title": "Build a Page of Playing Cards",
"intro": [
- "For this lab, you will use flexbox to create a webpage of playing cards."
+ "In this lab, you'll use flexbox to create a webpage of playing cards.",
+ "You'll practice aligning elements using flexbox properties like flex-direction, justify-content, align-self, and more."
]
},
"review-css-flexbox": {
@@ -2289,7 +2301,7 @@
"lecture-working-with-css-fonts": {
"title": "Working with CSS Fonts",
"intro": [
- "In these lecture videos, you will learn about working with CSS fonts."
+ "In these lecture videos, you will learn about typography and its best practices, fonts, and the text-shadow property."
]
},
"workshop-nutritional-label": {
@@ -2302,7 +2314,8 @@
"lab-newspaper-article": {
"title": "Build a Newspaper Article",
"intro": [
- "In this lab, you will build a newspaper article page using HTML and CSS."
+ "In this lab, you'll build a newspaper article page using HTML and CSS.",
+ "You'll style the fonts using properties like font-family, font-size, font-weight, and more."
]
},
"review-css-typography": {
@@ -2319,7 +2332,7 @@
"lecture-best-practices-for-accessibility-and-css": {
"title": "Best Practices for Accessibility and CSS",
"intro": [
- "In these lecture videos, you will learn about best practices for accessibility in CSS."
+ "In these lecture videos, you will learn about best practices for accessibility in CSS, and the tools for checking good color contrast on websites."
]
},
"workshop-accessibility-quiz": {
@@ -2332,7 +2345,7 @@
"lab-tribute-page": {
"title": "Build a Tribute Page",
"intro": [
- "For this lab, you will build a tribute page for a subject of your choosing, fictional or real."
+ "in this lab, you'll build a tribute page for a subject of your choosing, fictional or real."
]
},
"review-css-accessibility": {
@@ -2351,7 +2364,7 @@
"lecture-working-with-attribute-selectors": {
"title": "Working with Attribute Selectors",
"intro": [
- "In these lecture videos, you will learn about working with attribute selectors."
+ "In these lecture videos, you will learn about attribute selectors and how to use them to target elements like links and lists."
]
},
"workshop-balance-sheet": {
@@ -2363,7 +2376,10 @@
},
"lab-book-inventory-app": {
"title": "Build a Book Inventory App",
- "intro": ["For this lab, you will create a book inventory app."]
+ "intro": [
+ "In this lab, you'll create a book inventory app.",
+ "You'll practice CSS attribute selectors like [attribute], [attribute=value], [attribute~=value], and more."
+ ]
},
"review-css-attribute-selectors": {
"title": "CSS Attribute Selectors Review",
@@ -2381,7 +2397,7 @@
"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 lecture videos, you will learn about how to work with floats and positioning in CSS."
+ "In these lecture videos, you will learn how to use CSS positioning and floats. You will learn about absolute, relative, fixed, and sticky positioning. You will also use the z-index property."
]
},
"workshop-cat-painting": {
@@ -2393,7 +2409,10 @@
},
"lab-house-painting": {
"title": "Build a House Painting",
- "intro": ["For this lab, you will build a house painting using CSS."]
+ "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 position, top, left, and more."
+ ]
},
"review-css-positioning": {
"title": "CSS Positioning Review",
@@ -2411,7 +2430,7 @@
"lecture-best-practices-for-responsive-web-design": {
"title": "Best Practices for Responsive Web Design",
"intro": [
- "In these lecture videos, you will learn about the best practices for responsive web design."
+ "In these lecture videos, 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": {
@@ -2424,7 +2443,8 @@
"lab-technical-documentation-page": {
"title": "Build a Technical Documentation Page",
"intro": [
- "For this lab, you will build a technical documentation page to serve as instruction or reference for a topic."
+ "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": {
@@ -2443,7 +2463,7 @@
"lecture-working-with-css-variables": {
"title": "Working with CSS Variables",
"intro": [
- "In these lecture videos, you will learn about working with CSS variables."
+ "In these lecture videos, you will learn how to define and use custom properties (also known as CSS variables). You will also learn about the @property rule and how it works."
]
},
"workshop-city-skyline": {
@@ -2455,7 +2475,10 @@
},
"lab-availability-table": {
"title": "Build an Availability Table",
- "intro": ["For this lab, you will create 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",
@@ -2473,7 +2496,7 @@
"lecture-working-with-css-grid": {
"title": "Working with CSS Grid",
"intro": [
- "In these lecture videos, you will learn about working with CSS grid."
+ "In these lecture videos, you will learn about CSS grid, its several properties and how to use them, and how CSS grid differs from flexbox."
]
},
"workshop-magazine": {
@@ -2483,9 +2506,11 @@
"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."
]
},
- "ogko": {
- "title": "114",
- "intro": []
+ "lab-magazine-layout": {
+ "title": "Design a Magazine Layout",
+ "intro": [
+ "In this lab, you will design a magazine layout using CSS Grid, including concepts like grid rows and grid columns."
+ ]
},
"lecture-debugging-css": {
"title": "Debugging CSS",
@@ -2496,7 +2521,7 @@
"lab-product-landing-page": {
"title": "Build a Product Landing Page",
"intro": [
- "For this project, you will build a product landing page to market a product of your choice."
+ "In this project, you'll build a product landing page to market a product of your choice."
]
},
"review-css-grid": {
@@ -2513,7 +2538,7 @@
"lecture-animations-and-accessibility": {
"title": "Animations and Accessibility",
"intro": [
- "In these lecture videos, you will learn about animations and accessibility."
+ "In these lecture videos, you will learn about CSS animations and their accessibility concerns. You will also learn how prefers-reduced-motion can help address those accessibility concerns."
]
},
"workshop-ferris-wheel": {
@@ -2526,7 +2551,8 @@
"lab-moon-orbit": {
"title": "Build a Moon Orbit",
"intro": [
- "For this lab, you will create an animation of the moon orbiting the earth."
+ "In this lab, you'll create an animation of the moon orbiting the earth.",
+ "You'll practice animation properties like animation-name, animation-duration, animation-timing-function, and more."
]
},
"workshop-flappy-penguin": {
@@ -2539,7 +2565,7 @@
"lab-personal-portfolio": {
"title": "Build a Personal Portfolio",
"intro": [
- "For this project, you will build your own personal portfolio page."
+ "In this project, you'll build your own personal portfolio page."
]
},
"review-css-animations": {
@@ -2567,15 +2593,15 @@
"intro": []
},
"lecture-working-with-code-editors-and-ides": {
- "title": "Working with Code Editors and IDE's",
+ "title": "Working with Code Editors and IDEs",
"intro": [
- "In these lecture videos, you will learn about working with code editors and IDE's."
+ "In these lecture videos, 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 lecture videos, you will get a basic introduction to JavaScript."
+ "In these lecture videos, 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."
]
},
"workshop-greeting-bot": {
@@ -2588,13 +2614,14 @@
"lab-javascript-trivia-bot": {
"title": "Build a JavaScript Trivia Bot",
"intro": [
- "In this lab, you will practice working with JavaScript variables and strings by building a trivia bot."
+ "In this lab, you'll practice working with JavaScript variables and strings by building a trivia bot.",
+ "You'll practice how to use variables and basic strings."
]
},
"lecture-working-with-data-types": {
"title": "Working with Data Types",
"intro": [
- "In these lecture videos, you will learn about data types in JavaScript."
+ "In the following lecture videos, you will learn how to work with data types in JavaScript. You will also learn how dynamic typing differs from static typing, the typeof operator, and the typeof null bug."
]
},
"review-javascript-variables-and-data-types": {
@@ -2613,7 +2640,7 @@
"lecture-working-with-strings-in-javascript": {
"title": "Working with Strings in JavaScript",
"intro": [
- "In these lecture videos, you will learn about working with strings in JavaScript."
+ "In these lecture videos, 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": {
@@ -2626,7 +2653,7 @@
"lecture-working-with-common-string-methods": {
"title": "Working with Common String Methods",
"intro": [
- "In these lecture videos, you will learn about common String methods."
+ "In these lecture videos, you will learn about the common string methods available in JavaScript. The string methods will let you do things like extracting a part of a string, changing the casing for a string, replacing a part of a string, trimming whitespace from a string, and much more."
]
},
"review-javascript-strings": {
@@ -2645,7 +2672,7 @@
"lecture-working-with-numbers-booleans-and-the-math-object": {
"title": "Working with Numbers, Booleans, and the Math Object",
"intro": [
- "In these lecture videos, you will learn about numbers, booleans, and the Math object."
+ "In these lecture videos, you will dive into the fundamentals of JavaScript. These include numbers, booleans, and the Math object. You will learn about different types of numbers, how arithmetic and comparison operators work, how JavaScript behaves when you combine strings and numbers in calculations, and much more."
]
},
"workshop-mathbot": {
@@ -2657,13 +2684,14 @@
"lab-fortune-teller": {
"title": "Build a Fortune Teller",
"intro": [
- "In this lab, you will build a fortune teller by randomly selecting a fortune from the available fortunes."
+ "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 Math.random() method and the Math.floor() method to generate random numbers."
]
},
"lecture-working-with-numbers-and-common-number-methods": {
"title": "Working with Numbers and Common Number Methods",
"intro": [
- "In these lecture videos, you will learn about numbers and common Number methods."
+ "In these lecture videos, you will learn about numbers and common number methods. These include isNaN(), parseInt(), parseFloat(), and toFixed()."
]
},
"review-javascript-math": {
@@ -2680,7 +2708,7 @@
"lecture-understanding-comparisons-and-conditionals": {
"title": "Understanding Comparisons and Conditionals",
"intro": [
- "In these lecture videos, you will learn about comparisons and conditionals."
+ "In these lecture videos, you will learn about comparison operators and conditionals. You will learn how the various conditionals differ from one another, and how comparisons work with null and undefined."
]
},
"review-javascript-comparisons-and-conditionals": {
@@ -2699,7 +2727,7 @@
"lecture-working-with-functions": {
"title": "Working with Functions",
"intro": [
- "In these lecture videos, you will learn about working with functions."
+ "In these lecture videos, 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": {
@@ -2711,13 +2739,14 @@
"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."
+ "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."
]
},
"lab-sentence-maker": {
"title": "Build a Sentence Maker",
"intro": [
- "In this lab, you will create different stories by assigning different words to different variables."
+ "In this lab, you'll create different stories by assigning different words to different variables."
]
},
"workshop-loan-qualification-checker": {
@@ -2730,7 +2759,7 @@
"lab-leap-year-calculator": {
"title": "Build a Leap Year Calculator ",
"intro": [
- "In this lab you will use conditional statements and loops to determine if a year is a leap year."
+ "In this lab you'll use conditional statements and loops to determine if a year is a leap year."
]
},
"review-javascript-functions": {
@@ -2749,7 +2778,7 @@
"lecture-working-with-arrays": {
"title": "Working with Arrays",
"intro": [
- "In these lecture videos, you will learn about working with JavaScript arrays."
+ "In these lecture videos, 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": {
@@ -2762,13 +2791,13 @@
"lab-lunch-picker-program": {
"title": "Build a Lunch Picker Program",
"intro": [
- "In this lab, you will review working with arrays and random numbers by building a lunch picker program."
+ "In this lab, you'll review working with arrays and random numbers by building a lunch picker program."
]
},
"lecture-working-with-common-array-methods": {
"title": "Working with Common Array Methods",
"intro": [
- "In these lecture videos, you will learn about common array methods."
+ "In these lecture videos, 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": {
@@ -2785,7 +2814,7 @@
"lecture-working-with-objects": {
"title": "Working with Objects",
"intro": [
- "In these lecture videos, you will learn about working with objects in JavaScript."
+ "In these lecture videos, you will learn how to work with JavaScript objects. The concepts you will learn include how to access properties from an object, check if an object has a property, how object methods differ from functions, object destructuring, and much more."
]
},
"workshop-recipe-tracker": {
@@ -2796,7 +2825,10 @@
},
"lab-quiz-game": {
"title": "Build a Quiz Game",
- "intro": ["For this lab, you will 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."
+ ]
},
"review-javascript-objects": {
"title": "JavaScript Objects Review",
@@ -2814,7 +2846,7 @@
"lecture-working-with-loops": {
"title": "Working with Loops",
"intro": [
- "In these lecture videos, you will learn about working with loops in JavaScript."
+ "Loops are an essential part of JavaScript. That's why the following lecture videos 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": {
@@ -2825,7 +2857,10 @@
},
"lab-factorial-calculator": {
"title": "Build a Factorial Calculator ",
- "intro": ["In this lab, you will 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."
+ ]
},
"review-javascript-loops": {
"title": "JavaScript Loops Review",
@@ -2841,38 +2876,47 @@
"lecture-understanding-core-javascript-fundamentals": {
"title": "Understanding Core JavaScript Fundamentals",
"intro": [
- "In these lecture videos, you will learn more about core JavaScript fundamentals."
+ "In these lecture videos, you will learn more about the core JavaScript fundamentals. You will learn how a string object differs from a primitive string, the toString() method, conventions and common practices for naming variables, linters and formatters, closures, and much more."
]
},
"lab-pyramid-generator": {
"title": "Build a Pyramid Generator",
- "intro": ["In this lab you will 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 will create 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 lecture videos, you will learn about the var keyword and hoisting in JavaScript."
+ "In these lecture videos, you will learn about the var 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-inventory-management-program": {
"title": "Build an Inventory Management Program",
"intro": [
- "For this lab, you will build an inventory management program using JavaScript."
+ "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 these lecture videos, you will learn about modules, imports, and exports in JavaScript."
+ "In this lecture video, you will learn about modules, imports, and exports in JavaScript."
]
},
"lab-password-generator": {
"title": "Build a Password Generator App",
- "intro": ["In this lab, you'll build a password generator app."]
+ "intro": [
+ "In this lab, you'll build a password generator app based on the user's input."
+ ]
},
"review-javascript-fundamentals": {
"title": "JavaScript Fundamentals Review",
@@ -2890,7 +2934,7 @@
"lecture-working-with-higher-order-functions-and-callbacks": {
"title": "Working with Higher Order Functions and Callbacks",
"intro": [
- "In these lecture videos, you will learn about working with higher order functions and callbacks."
+ "In these lecture videos, you will learn how to work with higher order functions and callbacks. The higher order functions you will learn include map(), filter(), reduce(), sort(), every(), and some(). You will also learn how to chain these methods together to achieve your desired results."
]
},
"workshop-library-manager": {
@@ -2902,7 +2946,7 @@
"lab-book-organizer": {
"title": "Build a Book Organizer",
"intro": [
- "In this lab, you will build a book organizer using higher order functions in JavaScript."
+ "In this lab, you'll build a book organizer using higher order functions in JavaScript."
]
},
"review-javascript-higher-order-functions": {
@@ -2921,7 +2965,7 @@
"lecture-working-with-the-dom-click-events-and-web-apis": {
"title": "Working with the DOM, Click Events, and Web APIs",
"intro": [
- "In these lecture videos, you will learn how to work with the DOM, click events, and web APIs, using JavaScript."
+ "In these lecture videos, you will learn how to work with the Document Object Model (DOM), the `addEventListener()` method and events, and web APIs."
]
},
"workshop-storytelling-app": {
@@ -2933,7 +2977,7 @@
"lab-favorite-icon-toggler": {
"title": "Build a Favorite Icon Toggler",
"intro": [
- "In this lab, you will build a favorite icon toggler by utilizing JavaScript click events."
+ "In this lab, you'll build a favorite icon toggler by utilizing JavaScript click events."
]
},
"review-dom-manipulation-and-click-events-with-javascript": {
@@ -2952,7 +2996,7 @@
"lecture-understanding-the-event-object-and-event-delegation": {
"title": "Understanding the Event Object and Event Delegation",
"intro": [
- "In these lecture videos, you will learn about the event object and event delegation."
+ "In these lecture videos, you will learn about the event object, the change event, event bubbling, and event delegation."
]
},
"workshop-music-instrument-filter": {
@@ -2963,12 +3007,16 @@
},
"lab-real-time-counter": {
"title": "Build a Real Time Counter",
- "intro": ["In this lab, you will build a real-time character counter"]
+ "intro": [
+ "In this lab, you'll build a real-time character counter",
+ "You'll practice how to work with the input event when the user types in the input field."
+ ]
},
"lab-lightbox-viewer": {
"title": "Build a Lightbox Viewer",
"intro": [
- "In this lab, you will build a lighbox viewer for viewing images in a focused mode."
+ "In this lab, you'll build a lighbox viewer for viewing images in a focused mode.",
+ "You'll practice click events and toggling classes."
]
},
"workshop-rps-game": {
@@ -2986,7 +3034,7 @@
"lab-football-team-cards": {
"title": "Build a Set of Football Team Cards",
"intro": [
- "One common aspect of building web applications is processing datasets and outputting information to the screen. In this project, you will use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards."
+ "In this lab, you'll use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards."
]
},
"review-javascript-events": {
@@ -3003,13 +3051,13 @@
"lecture-debugging-techniques": {
"title": "Debugging Techniques",
"intro": [
- "In these lecture videos, you will learn debugging techniques."
+ "In these lecture videos, 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": [
- "For this lab, you will debug a random background color changer and fix the errors to make it work properly."
+ "In this lab, you'll debug a random background color changer and fix the errors to make it work properly."
]
},
"review-debugging-javascript": {
@@ -3028,7 +3076,7 @@
"lecture-working-with-regular-expressions": {
"title": "Working with Regular Expressions",
"intro": [
- "In these lecture videos, you will learn about regular expressions in JavaScript."
+ "In these lecture videos, 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": {
@@ -3041,12 +3089,13 @@
"lab-markdown-to-html-converter": {
"title": "Build a Markdown to HTML Converter",
"intro": [
- "For this lab, you will build a Markdown to HTML converter using JavaScript."
+ "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 will build a regex sandbox."]
+ "intro": ["In this lab you'll build a regex sandbox."]
},
"review-javascript-regular-expressions": {
"title": "JavaScript Regular Expressions Review",
@@ -3064,7 +3113,7 @@
"lecture-understanding-form-validation": {
"title": "Understanding Form Validation",
"intro": [
- "In these lecture videos, you will learn about form validation in JavaScript."
+ "In these lecture videos, you will learn about form validation in JavaScript. You will learn about the various ways to validate forms, how the preventDefault() method works, and how the submit event works."
]
},
"workshop-calorie-counter": {
@@ -3077,7 +3126,8 @@
"lab-customer-complaint-form": {
"title": "Build a Customer Complaint Form",
"intro": [
- "For this lab, you will use JavaScript to validate a customer complaint form."
+ "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": {
@@ -3096,13 +3146,13 @@
"lecture-working-with-dates": {
"title": "Working with Dates",
"intro": [
- "In these lecture videos, you will learn about working with JavaScript dates."
+ "In these lecture videos, 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 will build a program to convert a date from one format to another."
+ "In this lab, you'll build a program to convert a date from one format to another."
]
},
"review-javascript-dates": {
@@ -3119,7 +3169,7 @@
"lecture-working-with-audio-and-video": {
"title": "Working with Audio and Video",
"intro": [
- "In these lecture videos, you will learn about working with audio and video using JavaScript."
+ "In these lecture videos, you will learn how to work with audio and video files using JavaScript. You will learn about the Audio and Video constructors, their methods and properties, audio and video formats, codecs, the HTMLMediaElement API, and much more."
]
},
"workshop-music-player": {
@@ -3129,9 +3179,11 @@
"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."
]
},
- "crzf": {
- "title": "222",
- "intro": []
+ "lab-drum-machine": {
+ "title": "Build a Drum Machine",
+ "intro": [
+ "For this lab you will use the audio element to build a drum machine."
+ ]
},
"review-javascript-audio-and-video": {
"title": "JavaScript Audio and Video Review",
@@ -3149,7 +3201,7 @@
"lecture-working-with-maps-and-sets": {
"title": "Working with Maps and Sets",
"intro": [
- "In these lecture videos, you will learn about JavaScript Maps and Sets."
+ "In these lecture videos, you will learn about JavaScript Map and Set. You will also learn how they both differ from WeakSets and WeakMaps"
]
},
"workshop-plant-nursery-catalog": {
@@ -3161,7 +3213,8 @@
"lab-voting-system": {
"title": "Build a Voting System",
"intro": [
- "In this lab, you will build a voting system using Maps and Sets."
+ "In this lab, you'll build a voting system using Maps and Sets.",
+ "You'll practice how to use the Map object to store key-value pairs and the Set object to store unique values."
]
},
"review-javascript-maps-and-sets": {
@@ -3180,7 +3233,7 @@
"lecture-working-with-client-side-storage-and-crud-operations": {
"title": "Working with Client-Side Storage and CRUD Operations",
"intro": [
- "In these lecture videos, you will learn about client-side storage and CRUD operations with JavaScript."
+ "In these lecture videos, you will learn about client-side storage and CRUD operations in JavaScript. You will learn about localStorage and sessionStorage alongside their methods and properties, cookies, the Cache API, IndexDB, and much more."
]
},
"workshop-todo-app": {
@@ -3192,7 +3245,10 @@
},
"lab-bookmark-manager-app": {
"title": "Build a Bookmark Manager App",
- "intro": ["For this lab, you will 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",
@@ -3210,7 +3266,7 @@
"lecture-understanding-how-to-work-with-classes-in-javascript": {
"title": "Understanding How to Work with Classes in JavaScript",
"intro": [
- "In these lecture videos, you will learn about working with classes in JavaScript."
+ "In these lecture videos, you will learn about classes in JavaScript. You will learn about inheritance, the this keyword, static properties and methods, and more."
]
},
"workshop-shopping-cart": {
@@ -3223,13 +3279,14 @@
"lab-project-idea-board": {
"title": "Build a Project Idea Board",
"intro": [
- "In this lab, you will build a project idea board using OOP in JavaScript."
+ "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 will build a simple transaction management system for a bank account."
+ "In this lab, you'll build a simple transaction management system for a bank account."
]
},
"review-javascript-classes": {
@@ -3248,7 +3305,7 @@
"lecture-understanding-recursion-and-the-call-stack": {
"title": "Understanding Recursion and the Call Stack",
"intro": [
- "In these lecture videos, you will learn about recursion and the call stack."
+ "In this lecture video, you will learn about recursion and the call stack."
]
},
"workshop-decimal-to-binary-converter": {
@@ -3261,7 +3318,7 @@
"lab-permutation-generator": {
"title": "Build a Permutation Generator",
"intro": [
- "For this lab, you will build a permutation generator that produces all possible permutations of a given string."
+ "For this lab, you'll build a permutation generator that produces all possible permutations of a given string."
]
},
"review-recursion": {
@@ -3278,7 +3335,7 @@
"lecture-understanding-functional-programming": {
"title": "Understanding Functional Programming",
"intro": [
- "In these lecture videos, you will learn about functional programming."
+ "In these lecture videos, you will learn about functional programming and how to nest functions using a technique called currying."
]
},
"workshop-recipe-ingredient-converter": {
@@ -3291,7 +3348,7 @@
"lab-sorting-visualizer": {
"title": "Build a Sorting Visualizer",
"intro": [
- "For this lab, you will use JavaScript to visualize the steps that the Bubble Sort algorithm takes to reorder an array of integers."
+ "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": {
@@ -3310,7 +3367,7 @@
"lecture-understanding-asynchronous-programming": {
"title": "Understanding Asynchronous Programming",
"intro": [
- "In these lecture videos, you will learn about asynchronous programming."
+ "In these lecture videos, you will learn about asynchronous programming in JavaScript. You will learn about the differences between synchronous and asynchronous programming, how the asnyc keyword works, the Fetch API, promises, async/await, the Geolocation API, and much more."
]
},
"workshop-fcc-authors-page": {
@@ -3323,7 +3380,7 @@
"lab-fcc-forum-leaderboard": {
"title": "Build an fCC Forum Leaderboard",
"intro": [
- "For this lab you will practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard."
+ "For this lab you'll practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard."
]
},
"review-asynchronous-javascript": {
@@ -3352,7 +3409,7 @@
"lecture-introduction-to-javascript-libraries-and-frameworks": {
"title": "Introduction to JavaScript Libraries and Frameworks",
"intro": [
- "In these lecture videos, you will get an introduction to JavaScript libraries and frameworks."
+ "In these lecture videos, 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": {
@@ -3364,12 +3421,12 @@
},
"lab-reusable-footer": {
"title": "Build a Reusable Footer",
- "intro": ["In this lab, you will use React to 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 lecture videos, you will learn about working with data in React."
+ "In these lecture videos, you will learn how to work with data in React. You will learn about props and how to pass them around, conditional rendering, how to render lists, and how to use inline styles."
]
},
"workshop-reusable-profile-card-component": {
@@ -3381,7 +3438,8 @@
"lab-mood-board": {
"title": "Build a Mood Board",
"intro": [
- "In this lab, you will create a mood board using a React with props."
+ "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": {
@@ -3443,7 +3501,8 @@
"lab-weather-app": {
"title": "Build a Weather App",
"intro": [
- "In this lab you will build a Weather App using an API to fetch the data."
+ "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."
]
},
"ffpt": {
diff --git a/client/i18n/locales/german/translations.json b/client/i18n/locales/german/translations.json
index 61f9597bfec..e5dc7c60bd7 100644
--- a/client/i18n/locales/german/translations.json
+++ b/client/i18n/locales/german/translations.json
@@ -106,7 +106,9 @@
"donate-now": "Donate Now",
"confirm-amount": "Confirm amount",
"play-scene": "Press Play",
- "closed-caption": "Closed caption"
+ "closed-caption": "Closed caption",
+ "share-on-bluesky": "Share on BlueSky",
+ "share-on-threads": "Share on Threads"
},
"landing": {
"big-heading-1": "Lerne zu programmieren — kostenlos.",
@@ -357,7 +359,7 @@
"challenge": "Herausforderung",
"completed": "Abgeschlossen",
"add-linkedin": "Dieses Zertifikat meinem LinkedIn-Profil hinzufügen",
- "add-twitter": "Zertifikat auf Twitter teilen",
+ "add-twitter": "Share this certification on X",
"tweet": "Ich habe mir gerade die {{certTitle}} -Zertifizierung @freeCodeCamp verdient! Hier kannst du es anschauen: {{certURL}}",
"avatar": "Avatar von {{username}}",
"joined": "{{date}} beigetreten",
@@ -366,7 +368,9 @@
"points": "{{count}} Punkt am {{date}}",
"points_plural": "{{count}} Punkte am {{date}}",
"page-number": "{{pageNumber}} von {{totalPages}}",
- "edit-my-profile": "Edit My Profile"
+ "edit-my-profile": "Edit My Profile",
+ "add-bluesky": "Share this certification on BlueSky",
+ "add-threads": "Share this certification on Threads"
},
"footer": {
"tax-exempt-status": "freeCodeCamp is a donor-supported tax-exempt 501(c)(3) charitable organization (United States Federal Tax Identification Number: 82-0779546).",
@@ -421,6 +425,7 @@
"assignments": "Assignments",
"question": "Question",
"questions": "Questions",
+ "answered-mcq": "You have unanswered questions and/or incorrect answers.",
"explanation": "Explanation",
"solution-link": "Lösungs-Link",
"source-code-link": "Source Code Link",
@@ -1055,8 +1060,8 @@
"responsive-web-design-cert": "Responsive Web Design Certification",
"javascript-algorithms-and-data-structures": "Legacy JavaScript Algorithms and Data Structures",
"javascript-algorithms-and-data-structures-cert": "Legacy JavaScript Algorithms and Data Structures Certification",
- "javascript-algorithms-and-data-structures-v8": "JavaScript Algorithms and Data Structures (Beta)",
- "javascript-algorithms-and-data-structures-v8-cert": "JavaScript Algorithms and Data Structures (Beta) Certification",
+ "javascript-algorithms-and-data-structures-v8": "JavaScript Algorithms and Data Structures",
+ "javascript-algorithms-and-data-structures-v8-cert": "JavaScript Algorithms and Data Structures Certification",
"front-end-development-libraries": "Front End Development Libraries",
"front-end-development-libraries-cert": "Front End Development Libraries Certification",
"data-visualization": "Data Visualization",
diff --git a/client/i18n/locales/italian/intro.json b/client/i18n/locales/italian/intro.json
index 323c7b57085..2cbe856197d 100644
--- a/client/i18n/locales/italian/intro.json
+++ b/client/i18n/locales/italian/intro.json
@@ -300,7 +300,7 @@
}
},
"javascript-algorithms-and-data-structures-v8": {
- "title": "JavaScript Algorithms and Data Structures (Beta)",
+ "title": "JavaScript Algorithms and Data Structures",
"intro": [
"Developers use HTML and CSS to control the content and styling of a page. And they use JavaScript to make that page interactive.",
"Nella certificazione JavaScript Algoritmi e Strutture di Dati, imparerai i fondamenti di JavaScript come variabili, array, oggetti, loop, funzioni, il DOM e altro ancora.",
@@ -772,9 +772,9 @@
}
},
"scientific-computing-with-python": {
- "title": "Scientific Computing with Python (Beta)",
+ "title": "Scientific Computing with Python",
"intro": [
- "The Scientific Computing with Python (Beta) 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.",
+ "The Scientific Computing with Python curriculum will equip you with the skills to analyze and manipulate data using Python, a powerful and versatile programming language. You'll learn key concepts like data structures, algorithm, Object Oriented Programming, and how to perform complex calculations using a variety of tools.",
"This comprehensive course will guide you through the fundamentals of scientific computing, including data structures, and algorithms."
],
"note": "",
@@ -1187,7 +1187,7 @@
}
},
"the-odin-project": {
- "title": "The Odin Project - freeCodeCamp Remix (Beta)",
+ "title": "The Odin Project - freeCodeCamp Remix",
"intro": [
"The Odin Project was created in 2013 by a lone developer, Erik Trautman. Over the years, an open source community has sprung up to maintain and expand the project.",
"freeCodeCamp has expanded upon the open source curriculum to make it run interactively in the browser, with tests to evaluate your code and ensure you've understood key concepts.",
@@ -1601,7 +1601,9 @@
},
"learn-how-to-plan-future-events": {
"title": "Learn How to Plan Future Events",
- "intro": ["", ""]
+ "intro": [
+ "In this course, you will learn to use the different forms of the future to plan for upcoming events."
+ ]
},
"learn-future-continuous-while-describing-actions": {
"title": "Learn Future Continuous while Describing Actions",
@@ -1797,7 +1799,7 @@
"lab-recipe-page": {
"title": "Build a Recipe Page",
"intro": [
- "For this lab, you will review HTML basics by creating a web page of your favorite recipe. This lab will give you an opportunity to review working with an HTML boilerplate, headings, lists and images."
+ "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": {
@@ -1809,7 +1811,7 @@
"lab-travel-agency-page": {
"title": "Build a Travel Agency Page",
"intro": [
- "For this lab, you will review working with HTML fundamentals by creating a web page for a travel agency. This lab will give you an opportunity to review working with images, the figure element, the figcaption element, the anchor element and more."
+ "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 figure element, the figcaption element, the anchor element, and more."
]
},
"lecture-working-with-media": {
@@ -1821,7 +1823,7 @@
"lab-video-compilation-page": {
"title": "Build a Video Compilation Page",
"intro": [
- "For this lab, you will create a video compilation web page. This lab will give you the opportunity to practice working with the iframe element."
+ "In this lab, you'll create a video compilation web page. You'll practice working with the iframe element."
]
},
"lecture-working-with-links": {
@@ -1858,8 +1860,7 @@
"lab-event-hub": {
"title": "Build an Event Hub",
"intro": [
- "In this lab, you will review working with semantic HTML elements by building an event hub.",
- "This lab will give you an opportunity to review working with the header, nav, article elements."
+ "In this lab, you'll build an event hub and review semantic elements like header, nav, article, and more."
]
},
"review-semantic-html": {
@@ -1891,8 +1892,8 @@
"lab-survey-form": {
"title": "Build a Survey Form",
"intro": [
- "For this lab, you will review working with HTML forms by creating a survey form.",
- "This lab will give you the opportunity to practice working with the label element, the different input elements, the required attribute, and more. "
+ "In this lab, you'll review HTML forms by creating a survey form.",
+ "You'll practice working with the label element, the different input elements, the required attribute, and more. "
]
},
"lecture-working-with-tables": {
@@ -1910,8 +1911,8 @@
"lab-book-catalog-table": {
"title": "Build a Book Catalog Table",
"intro": [
- "In this lab, you will review working with HTML tables by building a table filled with book information.",
- "This lab will give you an opportunity to practice working with the different table components like the Table Head, Table Row and Table Data Cell elements."
+ "In this lab, you'll review HTML tables by building a book information table.",
+ "You'll practice the different table components like the thead, tbody, th, tr, and td elements."
]
},
"lecture-working-with-html-tools": {
@@ -1941,7 +1942,10 @@
},
"lab-checkout-page": {
"title": "Build a Checkout Page",
- "intro": ["In this lab, you will create an accessible checkout page."]
+ "intro": [
+ "In this lab, you'll create an accessible checkout page.",
+ "You'll practice concepts like alt attributes and aria roles."
+ ]
},
"review-html-accessibility": {
"title": "HTML Accessibility Review",
@@ -1970,19 +1974,19 @@
"lecture-understanding-computer-internet-and-tooling-basics": {
"title": "Understanding Computer, Internet, and Tooling Basics",
"intro": [
- "In these lecture videos, you will learn about computer, internet, and tooling basics."
+ "In these lecture videos, 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 lecture videos, you will learn about working with file systems."
+ "In these lecture videos, 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 lecture videos, you will learn how to browse the web effectively."
+ "In these lecture videos, 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": {
@@ -2000,7 +2004,9 @@
},
"lecture-what-is-css": {
"title": "What Is CSS?",
- "intro": ["In these lecture videos, you will learn what CSS is."]
+ "intro": [
+ "The following lecture videos 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",
@@ -2012,20 +2018,21 @@
"lab-business-card": {
"title": "Design a Business Card",
"intro": [
- "In this lab, you'll create a business card and style it using CSS."
+ "In this lab, you'll create a business card and style it using CSS.",
+ "You'll practice style properties like color, font-size, text-align, and more."
]
},
"lecture-css-specificity-the-cascade-algorithm-and-inheritance": {
"title": "CSS Specificity, the Cascade Algorithm, and Inheritance",
"intro": [
- "In these lecture videos, you will learn about CSS specificity, the cascade algorithm, and inheritance."
+ "In these lecture videos, you will learn about CSS specificity, the common selectors and their specificities, the cascade algorithm, inheritance, and more."
]
},
"review-basic-css": {
"title": "Basic CSS Review",
"intro": [
"Before you are quizzed on basic CSS concepts, you first need to review.",
- "Open up this page to review concepts including margin, padding, CSS combinators, CSS Specificity and more."
+ "Open up this page to review concepts including margin, padding, CSS combinators, CSS specificity and more."
]
},
"quiz-basic-css": {
@@ -2037,29 +2044,31 @@
"lecture-styling-lists-and-links": {
"title": "Styling Lists and Links",
"intro": [
- "In these lecture videos, you will learn about styling lists and links."
+ "In these lecture videos, you will learn the properties you need to know to effectively style lists and links, including link states like link, visited, hover, and active."
]
},
"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"
+ "In this lab, you'll build a To-Do list and apply different styles to the links",
+ "You'll practice style properties like text-decoration, list-style-type and how to change styles on hover or click."
]
},
"lecture-working-with-backgrounds-and-borders": {
"title": "Working with Backgrounds and Borders",
"intro": [
- "In these lecture videos, you will learn about working with backgrounds and borders."
+ "In these lecture videos, 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"
+ "In this lab, you'll design a blog post card using HTML and CSS",
+ "You'll practice concepts like background-color, border-radius, margins, paddings, and more."
]
},
"review-css-backgrounds-and-borders": {
- "title": "CSS Backgrounds and Borders Review",
+ "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 background-image property, border property and more."
@@ -2074,19 +2083,19 @@
"lecture-user-interface-design-fundamentals": {
"title": "User Interface Design Fundamentals",
"intro": [
- "In these lecture videos, you will learn about user interface design fundamentals."
+ "In these lecture videos, 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 lecture videos, you will learn about user-centered design."
+ "In these lecture videos, 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 lecture videos, you will learn about common design tools."
+ "In these lecture videos, 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": {
@@ -2105,13 +2114,14 @@
"lecture-working-with-relative-and-absolute-units": {
"title": "Working with Relative and Absolute Units",
"intro": [
- "In these lecture videos, you will learn about working with relative and absolute units."
+ "In these lecture videos, 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 will use absolute and relative CSS units to create an event flyer page."
+ "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": {
@@ -2130,7 +2140,7 @@
"lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": {
"title": "Working with Pseudo-Classes and Pseudo-Elements in CSS",
"intro": [
- "In these lecture videos, you will learn about working with pseudo-classes and pseudo-elements in CSS."
+ "In these lecture videos, you will learn about pseudo-classes and pseudo-elements, alongside their examples and how they work."
]
},
"workshop-greeting-card": {
@@ -2143,7 +2153,8 @@
"lab-job-application-form": {
"title": "Build a Job Application Form",
"intro": [
- "In this lab you will build a job application form and style it using pseudo-classes."
+ "In this lab you'll build a job application form and style it using pseudo-classes.",
+ "You'll practice concepts like :hover, :active, :focus, and more."
]
},
"review-css-pseudo-classes": {
@@ -2162,7 +2173,7 @@
"lecture-working-with-colors-in-css": {
"title": "Working with Colors in CSS",
"intro": [
- "In these lecture videos, you will learn about working with colors in CSS."
+ "In these lecture videos, 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": {
@@ -2174,7 +2185,7 @@
"lab-colored-boxes": {
"title": "Design a Set of Colored Boxes",
"intro": [
- "In this lab, you'll practice using CSS colors by designing boxes"
+ "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": {
@@ -2193,7 +2204,7 @@
"lecture-best-practices-for-styling-forms": {
"title": "Best Practices for Styling Forms",
"intro": [
- "In these lecture videos, you will learn about the best practices for styling forms."
+ "In these lecture videos, you will learn about the best practices for styling forms and issues you can encounter while styling special inputs like color and datetime-local."
]
},
"workshop-registration-form": {
@@ -2206,7 +2217,7 @@
"lab-contact-form": {
"title": "Design a Contact Form",
"intro": [
- "In this lab, you will design a contact form in HTML and style it using CSS."
+ "In this lab, you'll design a contact form in HTML and style it using CSS."
]
},
"review-styling-forms": {
@@ -2225,7 +2236,7 @@
"lecture-working-with-css-transforms-overflow-and-filters": {
"title": "Working with CSS Transforms, Overflow, and Filters",
"intro": [
- "In these lecture videos, you will learn about working with CSS transforms, overflow, and filters."
+ "In these lecture videos, 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": {
@@ -2238,7 +2249,7 @@
"lab-confidential-email-page": {
"title": "Build a Confidential Email Page",
"intro": [
- "For this lab, you will create a web page of a confidential email using HTML and CSS."
+ "In this lab, you'll create a web page using HTML and mask the content using CSS properties."
]
},
"review-css-layout-and-effects": {
@@ -2257,7 +2268,7 @@
"lecture-working-with-css-flexbox": {
"title": "Working with CSS Flexbox",
"intro": [
- "In these lecture videos, you will learn about working with CSS flexbox."
+ "In these lecture videos, you will learn how CSS flexbox works, its properties, and when you should use it."
]
},
"workshop-flexbox-photo-gallery": {
@@ -2270,7 +2281,8 @@
"lab-page-of-playing-cards": {
"title": "Build a Page of Playing Cards",
"intro": [
- "For this lab, you will use flexbox to create a webpage of playing cards."
+ "In this lab, you'll use flexbox to create a webpage of playing cards.",
+ "You'll practice aligning elements using flexbox properties like flex-direction, justify-content, align-self, and more."
]
},
"review-css-flexbox": {
@@ -2289,7 +2301,7 @@
"lecture-working-with-css-fonts": {
"title": "Working with CSS Fonts",
"intro": [
- "In these lecture videos, you will learn about working with CSS fonts."
+ "In these lecture videos, you will learn about typography and its best practices, fonts, and the text-shadow property."
]
},
"workshop-nutritional-label": {
@@ -2302,7 +2314,8 @@
"lab-newspaper-article": {
"title": "Build a Newspaper Article",
"intro": [
- "In this lab, you will build a newspaper article page using HTML and CSS."
+ "In this lab, you'll build a newspaper article page using HTML and CSS.",
+ "You'll style the fonts using properties like font-family, font-size, font-weight, and more."
]
},
"review-css-typography": {
@@ -2319,7 +2332,7 @@
"lecture-best-practices-for-accessibility-and-css": {
"title": "Best Practices for Accessibility and CSS",
"intro": [
- "In these lecture videos, you will learn about best practices for accessibility in CSS."
+ "In these lecture videos, you will learn about best practices for accessibility in CSS, and the tools for checking good color contrast on websites."
]
},
"workshop-accessibility-quiz": {
@@ -2332,7 +2345,7 @@
"lab-tribute-page": {
"title": "Build a Tribute Page",
"intro": [
- "For this lab, you will build a tribute page for a subject of your choosing, fictional or real."
+ "in this lab, you'll build a tribute page for a subject of your choosing, fictional or real."
]
},
"review-css-accessibility": {
@@ -2351,7 +2364,7 @@
"lecture-working-with-attribute-selectors": {
"title": "Working with Attribute Selectors",
"intro": [
- "In these lecture videos, you will learn about working with attribute selectors."
+ "In these lecture videos, you will learn about attribute selectors and how to use them to target elements like links and lists."
]
},
"workshop-balance-sheet": {
@@ -2363,7 +2376,10 @@
},
"lab-book-inventory-app": {
"title": "Build a Book Inventory App",
- "intro": ["For this lab, you will create a book inventory app."]
+ "intro": [
+ "In this lab, you'll create a book inventory app.",
+ "You'll practice CSS attribute selectors like [attribute], [attribute=value], [attribute~=value], and more."
+ ]
},
"review-css-attribute-selectors": {
"title": "CSS Attribute Selectors Review",
@@ -2381,7 +2397,7 @@
"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 lecture videos, you will learn about how to work with floats and positioning in CSS."
+ "In these lecture videos, you will learn how to use CSS positioning and floats. You will learn about absolute, relative, fixed, and sticky positioning. You will also use the z-index property."
]
},
"workshop-cat-painting": {
@@ -2393,7 +2409,10 @@
},
"lab-house-painting": {
"title": "Build a House Painting",
- "intro": ["For this lab, you will build a house painting using CSS."]
+ "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 position, top, left, and more."
+ ]
},
"review-css-positioning": {
"title": "CSS Positioning Review",
@@ -2411,7 +2430,7 @@
"lecture-best-practices-for-responsive-web-design": {
"title": "Best Practices for Responsive Web Design",
"intro": [
- "In these lecture videos, you will learn about the best practices for responsive web design."
+ "In these lecture videos, 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": {
@@ -2424,7 +2443,8 @@
"lab-technical-documentation-page": {
"title": "Build a Technical Documentation Page",
"intro": [
- "For this lab, you will build a technical documentation page to serve as instruction or reference for a topic."
+ "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": {
@@ -2443,7 +2463,7 @@
"lecture-working-with-css-variables": {
"title": "Working with CSS Variables",
"intro": [
- "In these lecture videos, you will learn about working with CSS variables."
+ "In these lecture videos, you will learn how to define and use custom properties (also known as CSS variables). You will also learn about the @property rule and how it works."
]
},
"workshop-city-skyline": {
@@ -2455,7 +2475,10 @@
},
"lab-availability-table": {
"title": "Build an Availability Table",
- "intro": ["For this lab, you will create 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",
@@ -2473,7 +2496,7 @@
"lecture-working-with-css-grid": {
"title": "Working with CSS Grid",
"intro": [
- "In these lecture videos, you will learn about working with CSS grid."
+ "In these lecture videos, you will learn about CSS grid, its several properties and how to use them, and how CSS grid differs from flexbox."
]
},
"workshop-magazine": {
@@ -2483,9 +2506,11 @@
"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."
]
},
- "ogko": {
- "title": "114",
- "intro": []
+ "lab-magazine-layout": {
+ "title": "Design a Magazine Layout",
+ "intro": [
+ "In this lab, you will design a magazine layout using CSS Grid, including concepts like grid rows and grid columns."
+ ]
},
"lecture-debugging-css": {
"title": "Debugging CSS",
@@ -2496,7 +2521,7 @@
"lab-product-landing-page": {
"title": "Build a Product Landing Page",
"intro": [
- "For this project, you will build a product landing page to market a product of your choice."
+ "In this project, you'll build a product landing page to market a product of your choice."
]
},
"review-css-grid": {
@@ -2513,7 +2538,7 @@
"lecture-animations-and-accessibility": {
"title": "Animations and Accessibility",
"intro": [
- "In these lecture videos, you will learn about animations and accessibility."
+ "In these lecture videos, you will learn about CSS animations and their accessibility concerns. You will also learn how prefers-reduced-motion can help address those accessibility concerns."
]
},
"workshop-ferris-wheel": {
@@ -2526,7 +2551,8 @@
"lab-moon-orbit": {
"title": "Build a Moon Orbit",
"intro": [
- "For this lab, you will create an animation of the moon orbiting the earth."
+ "In this lab, you'll create an animation of the moon orbiting the earth.",
+ "You'll practice animation properties like animation-name, animation-duration, animation-timing-function, and more."
]
},
"workshop-flappy-penguin": {
@@ -2539,7 +2565,7 @@
"lab-personal-portfolio": {
"title": "Build a Personal Portfolio",
"intro": [
- "For this project, you will build your own personal portfolio page."
+ "In this project, you'll build your own personal portfolio page."
]
},
"review-css-animations": {
@@ -2567,15 +2593,15 @@
"intro": []
},
"lecture-working-with-code-editors-and-ides": {
- "title": "Working with Code Editors and IDE's",
+ "title": "Working with Code Editors and IDEs",
"intro": [
- "In these lecture videos, you will learn about working with code editors and IDE's."
+ "In these lecture videos, 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 lecture videos, you will get a basic introduction to JavaScript."
+ "In these lecture videos, 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."
]
},
"workshop-greeting-bot": {
@@ -2588,13 +2614,14 @@
"lab-javascript-trivia-bot": {
"title": "Build a JavaScript Trivia Bot",
"intro": [
- "In this lab, you will practice working with JavaScript variables and strings by building a trivia bot."
+ "In this lab, you'll practice working with JavaScript variables and strings by building a trivia bot.",
+ "You'll practice how to use variables and basic strings."
]
},
"lecture-working-with-data-types": {
"title": "Working with Data Types",
"intro": [
- "In these lecture videos, you will learn about data types in JavaScript."
+ "In the following lecture videos, you will learn how to work with data types in JavaScript. You will also learn how dynamic typing differs from static typing, the typeof operator, and the typeof null bug."
]
},
"review-javascript-variables-and-data-types": {
@@ -2613,7 +2640,7 @@
"lecture-working-with-strings-in-javascript": {
"title": "Working with Strings in JavaScript",
"intro": [
- "In these lecture videos, you will learn about working with strings in JavaScript."
+ "In these lecture videos, 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": {
@@ -2626,7 +2653,7 @@
"lecture-working-with-common-string-methods": {
"title": "Working with Common String Methods",
"intro": [
- "In these lecture videos, you will learn about common String methods."
+ "In these lecture videos, you will learn about the common string methods available in JavaScript. The string methods will let you do things like extracting a part of a string, changing the casing for a string, replacing a part of a string, trimming whitespace from a string, and much more."
]
},
"review-javascript-strings": {
@@ -2645,7 +2672,7 @@
"lecture-working-with-numbers-booleans-and-the-math-object": {
"title": "Working with Numbers, Booleans, and the Math Object",
"intro": [
- "In these lecture videos, you will learn about numbers, booleans, and the Math object."
+ "In these lecture videos, you will dive into the fundamentals of JavaScript. These include numbers, booleans, and the Math object. You will learn about different types of numbers, how arithmetic and comparison operators work, how JavaScript behaves when you combine strings and numbers in calculations, and much more."
]
},
"workshop-mathbot": {
@@ -2657,13 +2684,14 @@
"lab-fortune-teller": {
"title": "Build a Fortune Teller",
"intro": [
- "In this lab, you will build a fortune teller by randomly selecting a fortune from the available fortunes."
+ "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 Math.random() method and the Math.floor() method to generate random numbers."
]
},
"lecture-working-with-numbers-and-common-number-methods": {
"title": "Working with Numbers and Common Number Methods",
"intro": [
- "In these lecture videos, you will learn about numbers and common Number methods."
+ "In these lecture videos, you will learn about numbers and common number methods. These include isNaN(), parseInt(), parseFloat(), and toFixed()."
]
},
"review-javascript-math": {
@@ -2680,7 +2708,7 @@
"lecture-understanding-comparisons-and-conditionals": {
"title": "Understanding Comparisons and Conditionals",
"intro": [
- "In these lecture videos, you will learn about comparisons and conditionals."
+ "In these lecture videos, you will learn about comparison operators and conditionals. You will learn how the various conditionals differ from one another, and how comparisons work with null and undefined."
]
},
"review-javascript-comparisons-and-conditionals": {
@@ -2699,7 +2727,7 @@
"lecture-working-with-functions": {
"title": "Working with Functions",
"intro": [
- "In these lecture videos, you will learn about working with functions."
+ "In these lecture videos, 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": {
@@ -2711,13 +2739,14 @@
"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."
+ "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."
]
},
"lab-sentence-maker": {
"title": "Build a Sentence Maker",
"intro": [
- "In this lab, you will create different stories by assigning different words to different variables."
+ "In this lab, you'll create different stories by assigning different words to different variables."
]
},
"workshop-loan-qualification-checker": {
@@ -2730,7 +2759,7 @@
"lab-leap-year-calculator": {
"title": "Build a Leap Year Calculator ",
"intro": [
- "In this lab you will use conditional statements and loops to determine if a year is a leap year."
+ "In this lab you'll use conditional statements and loops to determine if a year is a leap year."
]
},
"review-javascript-functions": {
@@ -2749,7 +2778,7 @@
"lecture-working-with-arrays": {
"title": "Working with Arrays",
"intro": [
- "In these lecture videos, you will learn about working with JavaScript arrays."
+ "In these lecture videos, 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": {
@@ -2762,13 +2791,13 @@
"lab-lunch-picker-program": {
"title": "Build a Lunch Picker Program",
"intro": [
- "In this lab, you will review working with arrays and random numbers by building a lunch picker program."
+ "In this lab, you'll review working with arrays and random numbers by building a lunch picker program."
]
},
"lecture-working-with-common-array-methods": {
"title": "Working with Common Array Methods",
"intro": [
- "In these lecture videos, you will learn about common array methods."
+ "In these lecture videos, 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": {
@@ -2785,7 +2814,7 @@
"lecture-working-with-objects": {
"title": "Working with Objects",
"intro": [
- "In these lecture videos, you will learn about working with objects in JavaScript."
+ "In these lecture videos, you will learn how to work with JavaScript objects. The concepts you will learn include how to access properties from an object, check if an object has a property, how object methods differ from functions, object destructuring, and much more."
]
},
"workshop-recipe-tracker": {
@@ -2796,7 +2825,10 @@
},
"lab-quiz-game": {
"title": "Build a Quiz Game",
- "intro": ["For this lab, you will 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."
+ ]
},
"review-javascript-objects": {
"title": "JavaScript Objects Review",
@@ -2814,7 +2846,7 @@
"lecture-working-with-loops": {
"title": "Working with Loops",
"intro": [
- "In these lecture videos, you will learn about working with loops in JavaScript."
+ "Loops are an essential part of JavaScript. That's why the following lecture videos 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": {
@@ -2825,7 +2857,10 @@
},
"lab-factorial-calculator": {
"title": "Build a Factorial Calculator ",
- "intro": ["In this lab, you will 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."
+ ]
},
"review-javascript-loops": {
"title": "JavaScript Loops Review",
@@ -2841,38 +2876,47 @@
"lecture-understanding-core-javascript-fundamentals": {
"title": "Understanding Core JavaScript Fundamentals",
"intro": [
- "In these lecture videos, you will learn more about core JavaScript fundamentals."
+ "In these lecture videos, you will learn more about the core JavaScript fundamentals. You will learn how a string object differs from a primitive string, the toString() method, conventions and common practices for naming variables, linters and formatters, closures, and much more."
]
},
"lab-pyramid-generator": {
"title": "Build a Pyramid Generator",
- "intro": ["In this lab you will 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 will create 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 lecture videos, you will learn about the var keyword and hoisting in JavaScript."
+ "In these lecture videos, you will learn about the var 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-inventory-management-program": {
"title": "Build an Inventory Management Program",
"intro": [
- "For this lab, you will build an inventory management program using JavaScript."
+ "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 these lecture videos, you will learn about modules, imports, and exports in JavaScript."
+ "In this lecture video, you will learn about modules, imports, and exports in JavaScript."
]
},
"lab-password-generator": {
"title": "Build a Password Generator App",
- "intro": ["In this lab, you'll build a password generator app."]
+ "intro": [
+ "In this lab, you'll build a password generator app based on the user's input."
+ ]
},
"review-javascript-fundamentals": {
"title": "JavaScript Fundamentals Review",
@@ -2890,7 +2934,7 @@
"lecture-working-with-higher-order-functions-and-callbacks": {
"title": "Working with Higher Order Functions and Callbacks",
"intro": [
- "In these lecture videos, you will learn about working with higher order functions and callbacks."
+ "In these lecture videos, you will learn how to work with higher order functions and callbacks. The higher order functions you will learn include map(), filter(), reduce(), sort(), every(), and some(). You will also learn how to chain these methods together to achieve your desired results."
]
},
"workshop-library-manager": {
@@ -2902,7 +2946,7 @@
"lab-book-organizer": {
"title": "Build a Book Organizer",
"intro": [
- "In this lab, you will build a book organizer using higher order functions in JavaScript."
+ "In this lab, you'll build a book organizer using higher order functions in JavaScript."
]
},
"review-javascript-higher-order-functions": {
@@ -2921,7 +2965,7 @@
"lecture-working-with-the-dom-click-events-and-web-apis": {
"title": "Working with the DOM, Click Events, and Web APIs",
"intro": [
- "In these lecture videos, you will learn how to work with the DOM, click events, and web APIs, using JavaScript."
+ "In these lecture videos, you will learn how to work with the Document Object Model (DOM), the `addEventListener()` method and events, and web APIs."
]
},
"workshop-storytelling-app": {
@@ -2933,7 +2977,7 @@
"lab-favorite-icon-toggler": {
"title": "Build a Favorite Icon Toggler",
"intro": [
- "In this lab, you will build a favorite icon toggler by utilizing JavaScript click events."
+ "In this lab, you'll build a favorite icon toggler by utilizing JavaScript click events."
]
},
"review-dom-manipulation-and-click-events-with-javascript": {
@@ -2952,7 +2996,7 @@
"lecture-understanding-the-event-object-and-event-delegation": {
"title": "Understanding the Event Object and Event Delegation",
"intro": [
- "In these lecture videos, you will learn about the event object and event delegation."
+ "In these lecture videos, you will learn about the event object, the change event, event bubbling, and event delegation."
]
},
"workshop-music-instrument-filter": {
@@ -2963,12 +3007,16 @@
},
"lab-real-time-counter": {
"title": "Build a Real Time Counter",
- "intro": ["In this lab, you will build a real-time character counter"]
+ "intro": [
+ "In this lab, you'll build a real-time character counter",
+ "You'll practice how to work with the input event when the user types in the input field."
+ ]
},
"lab-lightbox-viewer": {
"title": "Build a Lightbox Viewer",
"intro": [
- "In this lab, you will build a lighbox viewer for viewing images in a focused mode."
+ "In this lab, you'll build a lighbox viewer for viewing images in a focused mode.",
+ "You'll practice click events and toggling classes."
]
},
"workshop-rps-game": {
@@ -2986,7 +3034,7 @@
"lab-football-team-cards": {
"title": "Build a Set of Football Team Cards",
"intro": [
- "One common aspect of building web applications is processing datasets and outputting information to the screen. In this project, you will use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards."
+ "In this lab, you'll use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards."
]
},
"review-javascript-events": {
@@ -3003,13 +3051,13 @@
"lecture-debugging-techniques": {
"title": "Debugging Techniques",
"intro": [
- "In these lecture videos, you will learn debugging techniques."
+ "In these lecture videos, 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": [
- "For this lab, you will debug a random background color changer and fix the errors to make it work properly."
+ "In this lab, you'll debug a random background color changer and fix the errors to make it work properly."
]
},
"review-debugging-javascript": {
@@ -3028,7 +3076,7 @@
"lecture-working-with-regular-expressions": {
"title": "Working with Regular Expressions",
"intro": [
- "In these lecture videos, you will learn about regular expressions in JavaScript."
+ "In these lecture videos, 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": {
@@ -3041,12 +3089,13 @@
"lab-markdown-to-html-converter": {
"title": "Build a Markdown to HTML Converter",
"intro": [
- "For this lab, you will build a Markdown to HTML converter using JavaScript."
+ "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 will build a regex sandbox."]
+ "intro": ["In this lab you'll build a regex sandbox."]
},
"review-javascript-regular-expressions": {
"title": "JavaScript Regular Expressions Review",
@@ -3064,7 +3113,7 @@
"lecture-understanding-form-validation": {
"title": "Understanding Form Validation",
"intro": [
- "In these lecture videos, you will learn about form validation in JavaScript."
+ "In these lecture videos, you will learn about form validation in JavaScript. You will learn about the various ways to validate forms, how the preventDefault() method works, and how the submit event works."
]
},
"workshop-calorie-counter": {
@@ -3077,7 +3126,8 @@
"lab-customer-complaint-form": {
"title": "Build a Customer Complaint Form",
"intro": [
- "For this lab, you will use JavaScript to validate a customer complaint form."
+ "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": {
@@ -3096,13 +3146,13 @@
"lecture-working-with-dates": {
"title": "Working with Dates",
"intro": [
- "In these lecture videos, you will learn about working with JavaScript dates."
+ "In these lecture videos, 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 will build a program to convert a date from one format to another."
+ "In this lab, you'll build a program to convert a date from one format to another."
]
},
"review-javascript-dates": {
@@ -3119,7 +3169,7 @@
"lecture-working-with-audio-and-video": {
"title": "Working with Audio and Video",
"intro": [
- "In these lecture videos, you will learn about working with audio and video using JavaScript."
+ "In these lecture videos, you will learn how to work with audio and video files using JavaScript. You will learn about the Audio and Video constructors, their methods and properties, audio and video formats, codecs, the HTMLMediaElement API, and much more."
]
},
"workshop-music-player": {
@@ -3129,9 +3179,11 @@
"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."
]
},
- "crzf": {
- "title": "222",
- "intro": []
+ "lab-drum-machine": {
+ "title": "Build a Drum Machine",
+ "intro": [
+ "For this lab you will use the audio element to build a drum machine."
+ ]
},
"review-javascript-audio-and-video": {
"title": "JavaScript Audio and Video Review",
@@ -3149,7 +3201,7 @@
"lecture-working-with-maps-and-sets": {
"title": "Working with Maps and Sets",
"intro": [
- "In these lecture videos, you will learn about JavaScript Maps and Sets."
+ "In these lecture videos, you will learn about JavaScript Map and Set. You will also learn how they both differ from WeakSets and WeakMaps"
]
},
"workshop-plant-nursery-catalog": {
@@ -3161,7 +3213,8 @@
"lab-voting-system": {
"title": "Build a Voting System",
"intro": [
- "In this lab, you will build a voting system using Maps and Sets."
+ "In this lab, you'll build a voting system using Maps and Sets.",
+ "You'll practice how to use the Map object to store key-value pairs and the Set object to store unique values."
]
},
"review-javascript-maps-and-sets": {
@@ -3180,7 +3233,7 @@
"lecture-working-with-client-side-storage-and-crud-operations": {
"title": "Working with Client-Side Storage and CRUD Operations",
"intro": [
- "In these lecture videos, you will learn about client-side storage and CRUD operations with JavaScript."
+ "In these lecture videos, you will learn about client-side storage and CRUD operations in JavaScript. You will learn about localStorage and sessionStorage alongside their methods and properties, cookies, the Cache API, IndexDB, and much more."
]
},
"workshop-todo-app": {
@@ -3192,7 +3245,10 @@
},
"lab-bookmark-manager-app": {
"title": "Build a Bookmark Manager App",
- "intro": ["For this lab, you will 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",
@@ -3210,7 +3266,7 @@
"lecture-understanding-how-to-work-with-classes-in-javascript": {
"title": "Understanding How to Work with Classes in JavaScript",
"intro": [
- "In these lecture videos, you will learn about working with classes in JavaScript."
+ "In these lecture videos, you will learn about classes in JavaScript. You will learn about inheritance, the this keyword, static properties and methods, and more."
]
},
"workshop-shopping-cart": {
@@ -3223,13 +3279,14 @@
"lab-project-idea-board": {
"title": "Build a Project Idea Board",
"intro": [
- "In this lab, you will build a project idea board using OOP in JavaScript."
+ "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 will build a simple transaction management system for a bank account."
+ "In this lab, you'll build a simple transaction management system for a bank account."
]
},
"review-javascript-classes": {
@@ -3248,7 +3305,7 @@
"lecture-understanding-recursion-and-the-call-stack": {
"title": "Understanding Recursion and the Call Stack",
"intro": [
- "In these lecture videos, you will learn about recursion and the call stack."
+ "In this lecture video, you will learn about recursion and the call stack."
]
},
"workshop-decimal-to-binary-converter": {
@@ -3261,7 +3318,7 @@
"lab-permutation-generator": {
"title": "Build a Permutation Generator",
"intro": [
- "For this lab, you will build a permutation generator that produces all possible permutations of a given string."
+ "For this lab, you'll build a permutation generator that produces all possible permutations of a given string."
]
},
"review-recursion": {
@@ -3278,7 +3335,7 @@
"lecture-understanding-functional-programming": {
"title": "Understanding Functional Programming",
"intro": [
- "In these lecture videos, you will learn about functional programming."
+ "In these lecture videos, you will learn about functional programming and how to nest functions using a technique called currying."
]
},
"workshop-recipe-ingredient-converter": {
@@ -3291,7 +3348,7 @@
"lab-sorting-visualizer": {
"title": "Build a Sorting Visualizer",
"intro": [
- "For this lab, you will use JavaScript to visualize the steps that the Bubble Sort algorithm takes to reorder an array of integers."
+ "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": {
@@ -3310,7 +3367,7 @@
"lecture-understanding-asynchronous-programming": {
"title": "Understanding Asynchronous Programming",
"intro": [
- "In these lecture videos, you will learn about asynchronous programming."
+ "In these lecture videos, you will learn about asynchronous programming in JavaScript. You will learn about the differences between synchronous and asynchronous programming, how the asnyc keyword works, the Fetch API, promises, async/await, the Geolocation API, and much more."
]
},
"workshop-fcc-authors-page": {
@@ -3323,7 +3380,7 @@
"lab-fcc-forum-leaderboard": {
"title": "Build an fCC Forum Leaderboard",
"intro": [
- "For this lab you will practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard."
+ "For this lab you'll practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard."
]
},
"review-asynchronous-javascript": {
@@ -3352,7 +3409,7 @@
"lecture-introduction-to-javascript-libraries-and-frameworks": {
"title": "Introduction to JavaScript Libraries and Frameworks",
"intro": [
- "In these lecture videos, you will get an introduction to JavaScript libraries and frameworks."
+ "In these lecture videos, 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": {
@@ -3364,12 +3421,12 @@
},
"lab-reusable-footer": {
"title": "Build a Reusable Footer",
- "intro": ["In this lab, you will use React to 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 lecture videos, you will learn about working with data in React."
+ "In these lecture videos, you will learn how to work with data in React. You will learn about props and how to pass them around, conditional rendering, how to render lists, and how to use inline styles."
]
},
"workshop-reusable-profile-card-component": {
@@ -3381,7 +3438,8 @@
"lab-mood-board": {
"title": "Build a Mood Board",
"intro": [
- "In this lab, you will create a mood board using a React with props."
+ "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": {
@@ -3443,7 +3501,8 @@
"lab-weather-app": {
"title": "Build a Weather App",
"intro": [
- "In this lab you will build a Weather App using an API to fetch the data."
+ "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."
]
},
"ffpt": {
diff --git a/client/i18n/locales/italian/translations.json b/client/i18n/locales/italian/translations.json
index 9afc3c33023..cb9cb267903 100644
--- a/client/i18n/locales/italian/translations.json
+++ b/client/i18n/locales/italian/translations.json
@@ -106,7 +106,9 @@
"donate-now": "Donate Now",
"confirm-amount": "Confirm amount",
"play-scene": "Press Play",
- "closed-caption": "Closed caption"
+ "closed-caption": "Closed caption",
+ "share-on-bluesky": "Share on BlueSky",
+ "share-on-threads": "Share on Threads"
},
"landing": {
"big-heading-1": "Impara a programmare — gratis.",
@@ -357,7 +359,7 @@
"challenge": "Sfida",
"completed": "Completata",
"add-linkedin": "Aggiungi questa certificazione al mio profilo LinkedIn",
- "add-twitter": "Condividi questa certificazione su Twitter",
+ "add-twitter": "Share this certification on X",
"tweet": "Ho appena ottenuto la {{certTitle}} @freeCodeCamp! Guarda qui: {{certURL}}",
"avatar": "avatar di {{username}}",
"joined": "Iscritto da {{date}}",
@@ -366,7 +368,9 @@
"points": "{{count}} punto il {{date}}",
"points_plural": "{{count}} punti il {{date}}",
"page-number": "{{pageNumber}} di {{totalPages}}",
- "edit-my-profile": "Edit My Profile"
+ "edit-my-profile": "Edit My Profile",
+ "add-bluesky": "Share this certification on BlueSky",
+ "add-threads": "Share this certification on Threads"
},
"footer": {
"tax-exempt-status": "freeCodeCamp is a donor-supported tax-exempt 501(c)(3) charitable organization (United States Federal Tax Identification Number: 82-0779546).",
@@ -421,6 +425,7 @@
"assignments": "Attività",
"question": "Domande",
"questions": "Questions",
+ "answered-mcq": "You have unanswered questions and/or incorrect answers.",
"explanation": "Explanation",
"solution-link": "Link alla soluzione",
"source-code-link": "Source Code Link",
@@ -1055,8 +1060,8 @@
"responsive-web-design-cert": "Responsive Web Design Certification",
"javascript-algorithms-and-data-structures": "Legacy JavaScript Algorithms and Data Structures",
"javascript-algorithms-and-data-structures-cert": "Legacy JavaScript Algorithms and Data Structures Certification",
- "javascript-algorithms-and-data-structures-v8": "JavaScript Algorithms and Data Structures (Beta)",
- "javascript-algorithms-and-data-structures-v8-cert": "JavaScript Algorithms and Data Structures (Beta) Certification",
+ "javascript-algorithms-and-data-structures-v8": "JavaScript Algorithms and Data Structures",
+ "javascript-algorithms-and-data-structures-v8-cert": "JavaScript Algorithms and Data Structures Certification",
"front-end-development-libraries": "Front End Development Libraries",
"front-end-development-libraries-cert": "Front End Development Libraries Certification",
"data-visualization": "Data Visualization",
diff --git a/client/i18n/locales/japanese/intro.json b/client/i18n/locales/japanese/intro.json
index 08b506b52cf..b2aa22fbbc6 100644
--- a/client/i18n/locales/japanese/intro.json
+++ b/client/i18n/locales/japanese/intro.json
@@ -300,7 +300,7 @@
}
},
"javascript-algorithms-and-data-structures-v8": {
- "title": "JavaScript アルゴリズムとデータ構造 (ベータ版)",
+ "title": "JavaScript Algorithms and Data Structures",
"intro": [
"Developers use HTML and CSS to control the content and styling of a page. And they use JavaScript to make that page interactive.",
"In this JavaScript Algorithm and Data Structures Certification, you'll learn the JavaScript fundamentals like variables, arrays, objects, loops, functions, the DOM and more.",
@@ -772,9 +772,9 @@
}
},
"scientific-computing-with-python": {
- "title": "Python を用いた科学計算 (ベータ版)",
+ "title": "Scientific Computing with Python",
"intro": [
- "The Scientific Computing with Python (Beta) 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.",
+ "The Scientific Computing with Python curriculum will equip you with the skills to analyze and manipulate data using Python, a powerful and versatile programming language. You'll learn key concepts like data structures, algorithm, Object Oriented Programming, and how to perform complex calculations using a variety of tools.",
"This comprehensive course will guide you through the fundamentals of scientific computing, including data structures, and algorithms."
],
"note": "",
@@ -1187,7 +1187,7 @@
}
},
"the-odin-project": {
- "title": "The Odin Project - freeCodeCamp Remix (Beta)",
+ "title": "The Odin Project - freeCodeCamp Remix",
"intro": [
"The Odin Project was created in 2013 by a lone developer, Erik Trautman. Over the years, an open source community has sprung up to maintain and expand the project.",
"freeCodeCamp has expanded upon the open source curriculum to make it run interactively in the browser, with tests to evaluate your code and ensure you've understood key concepts.",
@@ -1601,7 +1601,9 @@
},
"learn-how-to-plan-future-events": {
"title": "Learn How to Plan Future Events",
- "intro": ["", ""]
+ "intro": [
+ "In this course, you will learn to use the different forms of the future to plan for upcoming events."
+ ]
},
"learn-future-continuous-while-describing-actions": {
"title": "Learn Future Continuous while Describing Actions",
@@ -1797,7 +1799,7 @@
"lab-recipe-page": {
"title": "Build a Recipe Page",
"intro": [
- "For this lab, you will review HTML basics by creating a web page of your favorite recipe. This lab will give you an opportunity to review working with an HTML boilerplate, headings, lists and images."
+ "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": {
@@ -1809,7 +1811,7 @@
"lab-travel-agency-page": {
"title": "Build a Travel Agency Page",
"intro": [
- "For this lab, you will review working with HTML fundamentals by creating a web page for a travel agency. This lab will give you an opportunity to review working with images, the figure element, the figcaption element, the anchor element and more."
+ "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 figure element, the figcaption element, the anchor element, and more."
]
},
"lecture-working-with-media": {
@@ -1821,7 +1823,7 @@
"lab-video-compilation-page": {
"title": "Build a Video Compilation Page",
"intro": [
- "For this lab, you will create a video compilation web page. This lab will give you the opportunity to practice working with the iframe element."
+ "In this lab, you'll create a video compilation web page. You'll practice working with the iframe element."
]
},
"lecture-working-with-links": {
@@ -1858,8 +1860,7 @@
"lab-event-hub": {
"title": "Build an Event Hub",
"intro": [
- "In this lab, you will review working with semantic HTML elements by building an event hub.",
- "This lab will give you an opportunity to review working with the header, nav, article elements."
+ "In this lab, you'll build an event hub and review semantic elements like header, nav, article, and more."
]
},
"review-semantic-html": {
@@ -1891,8 +1892,8 @@
"lab-survey-form": {
"title": "Build a Survey Form",
"intro": [
- "For this lab, you will review working with HTML forms by creating a survey form.",
- "This lab will give you the opportunity to practice working with the label element, the different input elements, the required attribute, and more. "
+ "In this lab, you'll review HTML forms by creating a survey form.",
+ "You'll practice working with the label element, the different input elements, the required attribute, and more. "
]
},
"lecture-working-with-tables": {
@@ -1910,8 +1911,8 @@
"lab-book-catalog-table": {
"title": "Build a Book Catalog Table",
"intro": [
- "In this lab, you will review working with HTML tables by building a table filled with book information.",
- "This lab will give you an opportunity to practice working with the different table components like the Table Head, Table Row and Table Data Cell elements."
+ "In this lab, you'll review HTML tables by building a book information table.",
+ "You'll practice the different table components like the thead, tbody, th, tr, and td elements."
]
},
"lecture-working-with-html-tools": {
@@ -1941,7 +1942,10 @@
},
"lab-checkout-page": {
"title": "Build a Checkout Page",
- "intro": ["In this lab, you will create an accessible checkout page."]
+ "intro": [
+ "In this lab, you'll create an accessible checkout page.",
+ "You'll practice concepts like alt attributes and aria roles."
+ ]
},
"review-html-accessibility": {
"title": "HTML Accessibility Review",
@@ -1970,19 +1974,19 @@
"lecture-understanding-computer-internet-and-tooling-basics": {
"title": "Understanding Computer, Internet, and Tooling Basics",
"intro": [
- "In these lecture videos, you will learn about computer, internet, and tooling basics."
+ "In these lecture videos, 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 lecture videos, you will learn about working with file systems."
+ "In these lecture videos, 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 lecture videos, you will learn how to browse the web effectively."
+ "In these lecture videos, 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": {
@@ -2000,7 +2004,9 @@
},
"lecture-what-is-css": {
"title": "What Is CSS?",
- "intro": ["In these lecture videos, you will learn what CSS is."]
+ "intro": [
+ "The following lecture videos 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",
@@ -2012,20 +2018,21 @@
"lab-business-card": {
"title": "Design a Business Card",
"intro": [
- "In this lab, you'll create a business card and style it using CSS."
+ "In this lab, you'll create a business card and style it using CSS.",
+ "You'll practice style properties like color, font-size, text-align, and more."
]
},
"lecture-css-specificity-the-cascade-algorithm-and-inheritance": {
"title": "CSS Specificity, the Cascade Algorithm, and Inheritance",
"intro": [
- "In these lecture videos, you will learn about CSS specificity, the cascade algorithm, and inheritance."
+ "In these lecture videos, you will learn about CSS specificity, the common selectors and their specificities, the cascade algorithm, inheritance, and more."
]
},
"review-basic-css": {
"title": "Basic CSS Review",
"intro": [
"Before you are quizzed on basic CSS concepts, you first need to review.",
- "Open up this page to review concepts including margin, padding, CSS combinators, CSS Specificity and more."
+ "Open up this page to review concepts including margin, padding, CSS combinators, CSS specificity and more."
]
},
"quiz-basic-css": {
@@ -2037,29 +2044,31 @@
"lecture-styling-lists-and-links": {
"title": "Styling Lists and Links",
"intro": [
- "In these lecture videos, you will learn about styling lists and links."
+ "In these lecture videos, you will learn the properties you need to know to effectively style lists and links, including link states like link, visited, hover, and active."
]
},
"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"
+ "In this lab, you'll build a To-Do list and apply different styles to the links",
+ "You'll practice style properties like text-decoration, list-style-type and how to change styles on hover or click."
]
},
"lecture-working-with-backgrounds-and-borders": {
"title": "Working with Backgrounds and Borders",
"intro": [
- "In these lecture videos, you will learn about working with backgrounds and borders."
+ "In these lecture videos, 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"
+ "In this lab, you'll design a blog post card using HTML and CSS",
+ "You'll practice concepts like background-color, border-radius, margins, paddings, and more."
]
},
"review-css-backgrounds-and-borders": {
- "title": "CSS Backgrounds and Borders Review",
+ "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 background-image property, border property and more."
@@ -2074,19 +2083,19 @@
"lecture-user-interface-design-fundamentals": {
"title": "User Interface Design Fundamentals",
"intro": [
- "In these lecture videos, you will learn about user interface design fundamentals."
+ "In these lecture videos, 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 lecture videos, you will learn about user-centered design."
+ "In these lecture videos, 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 lecture videos, you will learn about common design tools."
+ "In these lecture videos, 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": {
@@ -2105,13 +2114,14 @@
"lecture-working-with-relative-and-absolute-units": {
"title": "Working with Relative and Absolute Units",
"intro": [
- "In these lecture videos, you will learn about working with relative and absolute units."
+ "In these lecture videos, 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 will use absolute and relative CSS units to create an event flyer page."
+ "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": {
@@ -2130,7 +2140,7 @@
"lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": {
"title": "Working with Pseudo-Classes and Pseudo-Elements in CSS",
"intro": [
- "In these lecture videos, you will learn about working with pseudo-classes and pseudo-elements in CSS."
+ "In these lecture videos, you will learn about pseudo-classes and pseudo-elements, alongside their examples and how they work."
]
},
"workshop-greeting-card": {
@@ -2143,7 +2153,8 @@
"lab-job-application-form": {
"title": "Build a Job Application Form",
"intro": [
- "In this lab you will build a job application form and style it using pseudo-classes."
+ "In this lab you'll build a job application form and style it using pseudo-classes.",
+ "You'll practice concepts like :hover, :active, :focus, and more."
]
},
"review-css-pseudo-classes": {
@@ -2162,7 +2173,7 @@
"lecture-working-with-colors-in-css": {
"title": "Working with Colors in CSS",
"intro": [
- "In these lecture videos, you will learn about working with colors in CSS."
+ "In these lecture videos, 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": {
@@ -2174,7 +2185,7 @@
"lab-colored-boxes": {
"title": "Design a Set of Colored Boxes",
"intro": [
- "In this lab, you'll practice using CSS colors by designing boxes"
+ "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": {
@@ -2193,7 +2204,7 @@
"lecture-best-practices-for-styling-forms": {
"title": "Best Practices for Styling Forms",
"intro": [
- "In these lecture videos, you will learn about the best practices for styling forms."
+ "In these lecture videos, you will learn about the best practices for styling forms and issues you can encounter while styling special inputs like color and datetime-local."
]
},
"workshop-registration-form": {
@@ -2206,7 +2217,7 @@
"lab-contact-form": {
"title": "Design a Contact Form",
"intro": [
- "In this lab, you will design a contact form in HTML and style it using CSS."
+ "In this lab, you'll design a contact form in HTML and style it using CSS."
]
},
"review-styling-forms": {
@@ -2225,7 +2236,7 @@
"lecture-working-with-css-transforms-overflow-and-filters": {
"title": "Working with CSS Transforms, Overflow, and Filters",
"intro": [
- "In these lecture videos, you will learn about working with CSS transforms, overflow, and filters."
+ "In these lecture videos, 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": {
@@ -2238,7 +2249,7 @@
"lab-confidential-email-page": {
"title": "Build a Confidential Email Page",
"intro": [
- "For this lab, you will create a web page of a confidential email using HTML and CSS."
+ "In this lab, you'll create a web page using HTML and mask the content using CSS properties."
]
},
"review-css-layout-and-effects": {
@@ -2257,7 +2268,7 @@
"lecture-working-with-css-flexbox": {
"title": "Working with CSS Flexbox",
"intro": [
- "In these lecture videos, you will learn about working with CSS flexbox."
+ "In these lecture videos, you will learn how CSS flexbox works, its properties, and when you should use it."
]
},
"workshop-flexbox-photo-gallery": {
@@ -2270,7 +2281,8 @@
"lab-page-of-playing-cards": {
"title": "Build a Page of Playing Cards",
"intro": [
- "For this lab, you will use flexbox to create a webpage of playing cards."
+ "In this lab, you'll use flexbox to create a webpage of playing cards.",
+ "You'll practice aligning elements using flexbox properties like flex-direction, justify-content, align-self, and more."
]
},
"review-css-flexbox": {
@@ -2289,7 +2301,7 @@
"lecture-working-with-css-fonts": {
"title": "Working with CSS Fonts",
"intro": [
- "In these lecture videos, you will learn about working with CSS fonts."
+ "In these lecture videos, you will learn about typography and its best practices, fonts, and the text-shadow property."
]
},
"workshop-nutritional-label": {
@@ -2302,7 +2314,8 @@
"lab-newspaper-article": {
"title": "Build a Newspaper Article",
"intro": [
- "In this lab, you will build a newspaper article page using HTML and CSS."
+ "In this lab, you'll build a newspaper article page using HTML and CSS.",
+ "You'll style the fonts using properties like font-family, font-size, font-weight, and more."
]
},
"review-css-typography": {
@@ -2319,7 +2332,7 @@
"lecture-best-practices-for-accessibility-and-css": {
"title": "Best Practices for Accessibility and CSS",
"intro": [
- "In these lecture videos, you will learn about best practices for accessibility in CSS."
+ "In these lecture videos, you will learn about best practices for accessibility in CSS, and the tools for checking good color contrast on websites."
]
},
"workshop-accessibility-quiz": {
@@ -2332,7 +2345,7 @@
"lab-tribute-page": {
"title": "Build a Tribute Page",
"intro": [
- "For this lab, you will build a tribute page for a subject of your choosing, fictional or real."
+ "in this lab, you'll build a tribute page for a subject of your choosing, fictional or real."
]
},
"review-css-accessibility": {
@@ -2351,7 +2364,7 @@
"lecture-working-with-attribute-selectors": {
"title": "Working with Attribute Selectors",
"intro": [
- "In these lecture videos, you will learn about working with attribute selectors."
+ "In these lecture videos, you will learn about attribute selectors and how to use them to target elements like links and lists."
]
},
"workshop-balance-sheet": {
@@ -2363,7 +2376,10 @@
},
"lab-book-inventory-app": {
"title": "Build a Book Inventory App",
- "intro": ["For this lab, you will create a book inventory app."]
+ "intro": [
+ "In this lab, you'll create a book inventory app.",
+ "You'll practice CSS attribute selectors like [attribute], [attribute=value], [attribute~=value], and more."
+ ]
},
"review-css-attribute-selectors": {
"title": "CSS Attribute Selectors Review",
@@ -2381,7 +2397,7 @@
"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 lecture videos, you will learn about how to work with floats and positioning in CSS."
+ "In these lecture videos, you will learn how to use CSS positioning and floats. You will learn about absolute, relative, fixed, and sticky positioning. You will also use the z-index property."
]
},
"workshop-cat-painting": {
@@ -2393,7 +2409,10 @@
},
"lab-house-painting": {
"title": "Build a House Painting",
- "intro": ["For this lab, you will build a house painting using CSS."]
+ "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 position, top, left, and more."
+ ]
},
"review-css-positioning": {
"title": "CSS Positioning Review",
@@ -2411,7 +2430,7 @@
"lecture-best-practices-for-responsive-web-design": {
"title": "Best Practices for Responsive Web Design",
"intro": [
- "In these lecture videos, you will learn about the best practices for responsive web design."
+ "In these lecture videos, 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": {
@@ -2424,7 +2443,8 @@
"lab-technical-documentation-page": {
"title": "Build a Technical Documentation Page",
"intro": [
- "For this lab, you will build a technical documentation page to serve as instruction or reference for a topic."
+ "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": {
@@ -2443,7 +2463,7 @@
"lecture-working-with-css-variables": {
"title": "Working with CSS Variables",
"intro": [
- "In these lecture videos, you will learn about working with CSS variables."
+ "In these lecture videos, you will learn how to define and use custom properties (also known as CSS variables). You will also learn about the @property rule and how it works."
]
},
"workshop-city-skyline": {
@@ -2455,7 +2475,10 @@
},
"lab-availability-table": {
"title": "Build an Availability Table",
- "intro": ["For this lab, you will create 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",
@@ -2473,7 +2496,7 @@
"lecture-working-with-css-grid": {
"title": "Working with CSS Grid",
"intro": [
- "In these lecture videos, you will learn about working with CSS grid."
+ "In these lecture videos, you will learn about CSS grid, its several properties and how to use them, and how CSS grid differs from flexbox."
]
},
"workshop-magazine": {
@@ -2483,9 +2506,11 @@
"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."
]
},
- "ogko": {
- "title": "114",
- "intro": []
+ "lab-magazine-layout": {
+ "title": "Design a Magazine Layout",
+ "intro": [
+ "In this lab, you will design a magazine layout using CSS Grid, including concepts like grid rows and grid columns."
+ ]
},
"lecture-debugging-css": {
"title": "Debugging CSS",
@@ -2496,7 +2521,7 @@
"lab-product-landing-page": {
"title": "Build a Product Landing Page",
"intro": [
- "For this project, you will build a product landing page to market a product of your choice."
+ "In this project, you'll build a product landing page to market a product of your choice."
]
},
"review-css-grid": {
@@ -2513,7 +2538,7 @@
"lecture-animations-and-accessibility": {
"title": "Animations and Accessibility",
"intro": [
- "In these lecture videos, you will learn about animations and accessibility."
+ "In these lecture videos, you will learn about CSS animations and their accessibility concerns. You will also learn how prefers-reduced-motion can help address those accessibility concerns."
]
},
"workshop-ferris-wheel": {
@@ -2526,7 +2551,8 @@
"lab-moon-orbit": {
"title": "Build a Moon Orbit",
"intro": [
- "For this lab, you will create an animation of the moon orbiting the earth."
+ "In this lab, you'll create an animation of the moon orbiting the earth.",
+ "You'll practice animation properties like animation-name, animation-duration, animation-timing-function, and more."
]
},
"workshop-flappy-penguin": {
@@ -2539,7 +2565,7 @@
"lab-personal-portfolio": {
"title": "Build a Personal Portfolio",
"intro": [
- "For this project, you will build your own personal portfolio page."
+ "In this project, you'll build your own personal portfolio page."
]
},
"review-css-animations": {
@@ -2567,15 +2593,15 @@
"intro": []
},
"lecture-working-with-code-editors-and-ides": {
- "title": "Working with Code Editors and IDE's",
+ "title": "Working with Code Editors and IDEs",
"intro": [
- "In these lecture videos, you will learn about working with code editors and IDE's."
+ "In these lecture videos, 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 lecture videos, you will get a basic introduction to JavaScript."
+ "In these lecture videos, 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."
]
},
"workshop-greeting-bot": {
@@ -2588,13 +2614,14 @@
"lab-javascript-trivia-bot": {
"title": "Build a JavaScript Trivia Bot",
"intro": [
- "In this lab, you will practice working with JavaScript variables and strings by building a trivia bot."
+ "In this lab, you'll practice working with JavaScript variables and strings by building a trivia bot.",
+ "You'll practice how to use variables and basic strings."
]
},
"lecture-working-with-data-types": {
"title": "Working with Data Types",
"intro": [
- "In these lecture videos, you will learn about data types in JavaScript."
+ "In the following lecture videos, you will learn how to work with data types in JavaScript. You will also learn how dynamic typing differs from static typing, the typeof operator, and the typeof null bug."
]
},
"review-javascript-variables-and-data-types": {
@@ -2613,7 +2640,7 @@
"lecture-working-with-strings-in-javascript": {
"title": "Working with Strings in JavaScript",
"intro": [
- "In these lecture videos, you will learn about working with strings in JavaScript."
+ "In these lecture videos, 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": {
@@ -2626,7 +2653,7 @@
"lecture-working-with-common-string-methods": {
"title": "Working with Common String Methods",
"intro": [
- "In these lecture videos, you will learn about common String methods."
+ "In these lecture videos, you will learn about the common string methods available in JavaScript. The string methods will let you do things like extracting a part of a string, changing the casing for a string, replacing a part of a string, trimming whitespace from a string, and much more."
]
},
"review-javascript-strings": {
@@ -2645,7 +2672,7 @@
"lecture-working-with-numbers-booleans-and-the-math-object": {
"title": "Working with Numbers, Booleans, and the Math Object",
"intro": [
- "In these lecture videos, you will learn about numbers, booleans, and the Math object."
+ "In these lecture videos, you will dive into the fundamentals of JavaScript. These include numbers, booleans, and the Math object. You will learn about different types of numbers, how arithmetic and comparison operators work, how JavaScript behaves when you combine strings and numbers in calculations, and much more."
]
},
"workshop-mathbot": {
@@ -2657,13 +2684,14 @@
"lab-fortune-teller": {
"title": "Build a Fortune Teller",
"intro": [
- "In this lab, you will build a fortune teller by randomly selecting a fortune from the available fortunes."
+ "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 Math.random() method and the Math.floor() method to generate random numbers."
]
},
"lecture-working-with-numbers-and-common-number-methods": {
"title": "Working with Numbers and Common Number Methods",
"intro": [
- "In these lecture videos, you will learn about numbers and common Number methods."
+ "In these lecture videos, you will learn about numbers and common number methods. These include isNaN(), parseInt(), parseFloat(), and toFixed()."
]
},
"review-javascript-math": {
@@ -2680,7 +2708,7 @@
"lecture-understanding-comparisons-and-conditionals": {
"title": "Understanding Comparisons and Conditionals",
"intro": [
- "In these lecture videos, you will learn about comparisons and conditionals."
+ "In these lecture videos, you will learn about comparison operators and conditionals. You will learn how the various conditionals differ from one another, and how comparisons work with null and undefined."
]
},
"review-javascript-comparisons-and-conditionals": {
@@ -2699,7 +2727,7 @@
"lecture-working-with-functions": {
"title": "Working with Functions",
"intro": [
- "In these lecture videos, you will learn about working with functions."
+ "In these lecture videos, 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": {
@@ -2711,13 +2739,14 @@
"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."
+ "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."
]
},
"lab-sentence-maker": {
"title": "Build a Sentence Maker",
"intro": [
- "In this lab, you will create different stories by assigning different words to different variables."
+ "In this lab, you'll create different stories by assigning different words to different variables."
]
},
"workshop-loan-qualification-checker": {
@@ -2730,7 +2759,7 @@
"lab-leap-year-calculator": {
"title": "Build a Leap Year Calculator ",
"intro": [
- "In this lab you will use conditional statements and loops to determine if a year is a leap year."
+ "In this lab you'll use conditional statements and loops to determine if a year is a leap year."
]
},
"review-javascript-functions": {
@@ -2749,7 +2778,7 @@
"lecture-working-with-arrays": {
"title": "Working with Arrays",
"intro": [
- "In these lecture videos, you will learn about working with JavaScript arrays."
+ "In these lecture videos, 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": {
@@ -2762,13 +2791,13 @@
"lab-lunch-picker-program": {
"title": "Build a Lunch Picker Program",
"intro": [
- "In this lab, you will review working with arrays and random numbers by building a lunch picker program."
+ "In this lab, you'll review working with arrays and random numbers by building a lunch picker program."
]
},
"lecture-working-with-common-array-methods": {
"title": "Working with Common Array Methods",
"intro": [
- "In these lecture videos, you will learn about common array methods."
+ "In these lecture videos, 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": {
@@ -2785,7 +2814,7 @@
"lecture-working-with-objects": {
"title": "Working with Objects",
"intro": [
- "In these lecture videos, you will learn about working with objects in JavaScript."
+ "In these lecture videos, you will learn how to work with JavaScript objects. The concepts you will learn include how to access properties from an object, check if an object has a property, how object methods differ from functions, object destructuring, and much more."
]
},
"workshop-recipe-tracker": {
@@ -2796,7 +2825,10 @@
},
"lab-quiz-game": {
"title": "Build a Quiz Game",
- "intro": ["For this lab, you will 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."
+ ]
},
"review-javascript-objects": {
"title": "JavaScript Objects Review",
@@ -2814,7 +2846,7 @@
"lecture-working-with-loops": {
"title": "Working with Loops",
"intro": [
- "In these lecture videos, you will learn about working with loops in JavaScript."
+ "Loops are an essential part of JavaScript. That's why the following lecture videos 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": {
@@ -2825,7 +2857,10 @@
},
"lab-factorial-calculator": {
"title": "Build a Factorial Calculator ",
- "intro": ["In this lab, you will 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."
+ ]
},
"review-javascript-loops": {
"title": "JavaScript Loops Review",
@@ -2841,38 +2876,47 @@
"lecture-understanding-core-javascript-fundamentals": {
"title": "Understanding Core JavaScript Fundamentals",
"intro": [
- "In these lecture videos, you will learn more about core JavaScript fundamentals."
+ "In these lecture videos, you will learn more about the core JavaScript fundamentals. You will learn how a string object differs from a primitive string, the toString() method, conventions and common practices for naming variables, linters and formatters, closures, and much more."
]
},
"lab-pyramid-generator": {
"title": "Build a Pyramid Generator",
- "intro": ["In this lab you will 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 will create 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 lecture videos, you will learn about the var keyword and hoisting in JavaScript."
+ "In these lecture videos, you will learn about the var 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-inventory-management-program": {
"title": "Build an Inventory Management Program",
"intro": [
- "For this lab, you will build an inventory management program using JavaScript."
+ "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 these lecture videos, you will learn about modules, imports, and exports in JavaScript."
+ "In this lecture video, you will learn about modules, imports, and exports in JavaScript."
]
},
"lab-password-generator": {
"title": "Build a Password Generator App",
- "intro": ["In this lab, you'll build a password generator app."]
+ "intro": [
+ "In this lab, you'll build a password generator app based on the user's input."
+ ]
},
"review-javascript-fundamentals": {
"title": "JavaScript Fundamentals Review",
@@ -2890,7 +2934,7 @@
"lecture-working-with-higher-order-functions-and-callbacks": {
"title": "Working with Higher Order Functions and Callbacks",
"intro": [
- "In these lecture videos, you will learn about working with higher order functions and callbacks."
+ "In these lecture videos, you will learn how to work with higher order functions and callbacks. The higher order functions you will learn include map(), filter(), reduce(), sort(), every(), and some(). You will also learn how to chain these methods together to achieve your desired results."
]
},
"workshop-library-manager": {
@@ -2902,7 +2946,7 @@
"lab-book-organizer": {
"title": "Build a Book Organizer",
"intro": [
- "In this lab, you will build a book organizer using higher order functions in JavaScript."
+ "In this lab, you'll build a book organizer using higher order functions in JavaScript."
]
},
"review-javascript-higher-order-functions": {
@@ -2921,7 +2965,7 @@
"lecture-working-with-the-dom-click-events-and-web-apis": {
"title": "Working with the DOM, Click Events, and Web APIs",
"intro": [
- "In these lecture videos, you will learn how to work with the DOM, click events, and web APIs, using JavaScript."
+ "In these lecture videos, you will learn how to work with the Document Object Model (DOM), the `addEventListener()` method and events, and web APIs."
]
},
"workshop-storytelling-app": {
@@ -2933,7 +2977,7 @@
"lab-favorite-icon-toggler": {
"title": "Build a Favorite Icon Toggler",
"intro": [
- "In this lab, you will build a favorite icon toggler by utilizing JavaScript click events."
+ "In this lab, you'll build a favorite icon toggler by utilizing JavaScript click events."
]
},
"review-dom-manipulation-and-click-events-with-javascript": {
@@ -2952,7 +2996,7 @@
"lecture-understanding-the-event-object-and-event-delegation": {
"title": "Understanding the Event Object and Event Delegation",
"intro": [
- "In these lecture videos, you will learn about the event object and event delegation."
+ "In these lecture videos, you will learn about the event object, the change event, event bubbling, and event delegation."
]
},
"workshop-music-instrument-filter": {
@@ -2963,12 +3007,16 @@
},
"lab-real-time-counter": {
"title": "Build a Real Time Counter",
- "intro": ["In this lab, you will build a real-time character counter"]
+ "intro": [
+ "In this lab, you'll build a real-time character counter",
+ "You'll practice how to work with the input event when the user types in the input field."
+ ]
},
"lab-lightbox-viewer": {
"title": "Build a Lightbox Viewer",
"intro": [
- "In this lab, you will build a lighbox viewer for viewing images in a focused mode."
+ "In this lab, you'll build a lighbox viewer for viewing images in a focused mode.",
+ "You'll practice click events and toggling classes."
]
},
"workshop-rps-game": {
@@ -2986,7 +3034,7 @@
"lab-football-team-cards": {
"title": "Build a Set of Football Team Cards",
"intro": [
- "One common aspect of building web applications is processing datasets and outputting information to the screen. In this project, you will use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards."
+ "In this lab, you'll use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards."
]
},
"review-javascript-events": {
@@ -3003,13 +3051,13 @@
"lecture-debugging-techniques": {
"title": "Debugging Techniques",
"intro": [
- "In these lecture videos, you will learn debugging techniques."
+ "In these lecture videos, 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": [
- "For this lab, you will debug a random background color changer and fix the errors to make it work properly."
+ "In this lab, you'll debug a random background color changer and fix the errors to make it work properly."
]
},
"review-debugging-javascript": {
@@ -3028,7 +3076,7 @@
"lecture-working-with-regular-expressions": {
"title": "Working with Regular Expressions",
"intro": [
- "In these lecture videos, you will learn about regular expressions in JavaScript."
+ "In these lecture videos, 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": {
@@ -3041,12 +3089,13 @@
"lab-markdown-to-html-converter": {
"title": "Build a Markdown to HTML Converter",
"intro": [
- "For this lab, you will build a Markdown to HTML converter using JavaScript."
+ "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 will build a regex sandbox."]
+ "intro": ["In this lab you'll build a regex sandbox."]
},
"review-javascript-regular-expressions": {
"title": "JavaScript Regular Expressions Review",
@@ -3064,7 +3113,7 @@
"lecture-understanding-form-validation": {
"title": "Understanding Form Validation",
"intro": [
- "In these lecture videos, you will learn about form validation in JavaScript."
+ "In these lecture videos, you will learn about form validation in JavaScript. You will learn about the various ways to validate forms, how the preventDefault() method works, and how the submit event works."
]
},
"workshop-calorie-counter": {
@@ -3077,7 +3126,8 @@
"lab-customer-complaint-form": {
"title": "Build a Customer Complaint Form",
"intro": [
- "For this lab, you will use JavaScript to validate a customer complaint form."
+ "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": {
@@ -3096,13 +3146,13 @@
"lecture-working-with-dates": {
"title": "Working with Dates",
"intro": [
- "In these lecture videos, you will learn about working with JavaScript dates."
+ "In these lecture videos, 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 will build a program to convert a date from one format to another."
+ "In this lab, you'll build a program to convert a date from one format to another."
]
},
"review-javascript-dates": {
@@ -3119,7 +3169,7 @@
"lecture-working-with-audio-and-video": {
"title": "Working with Audio and Video",
"intro": [
- "In these lecture videos, you will learn about working with audio and video using JavaScript."
+ "In these lecture videos, you will learn how to work with audio and video files using JavaScript. You will learn about the Audio and Video constructors, their methods and properties, audio and video formats, codecs, the HTMLMediaElement API, and much more."
]
},
"workshop-music-player": {
@@ -3129,9 +3179,11 @@
"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."
]
},
- "crzf": {
- "title": "222",
- "intro": []
+ "lab-drum-machine": {
+ "title": "Build a Drum Machine",
+ "intro": [
+ "For this lab you will use the audio element to build a drum machine."
+ ]
},
"review-javascript-audio-and-video": {
"title": "JavaScript Audio and Video Review",
@@ -3149,7 +3201,7 @@
"lecture-working-with-maps-and-sets": {
"title": "Working with Maps and Sets",
"intro": [
- "In these lecture videos, you will learn about JavaScript Maps and Sets."
+ "In these lecture videos, you will learn about JavaScript Map and Set. You will also learn how they both differ from WeakSets and WeakMaps"
]
},
"workshop-plant-nursery-catalog": {
@@ -3161,7 +3213,8 @@
"lab-voting-system": {
"title": "Build a Voting System",
"intro": [
- "In this lab, you will build a voting system using Maps and Sets."
+ "In this lab, you'll build a voting system using Maps and Sets.",
+ "You'll practice how to use the Map object to store key-value pairs and the Set object to store unique values."
]
},
"review-javascript-maps-and-sets": {
@@ -3180,7 +3233,7 @@
"lecture-working-with-client-side-storage-and-crud-operations": {
"title": "Working with Client-Side Storage and CRUD Operations",
"intro": [
- "In these lecture videos, you will learn about client-side storage and CRUD operations with JavaScript."
+ "In these lecture videos, you will learn about client-side storage and CRUD operations in JavaScript. You will learn about localStorage and sessionStorage alongside their methods and properties, cookies, the Cache API, IndexDB, and much more."
]
},
"workshop-todo-app": {
@@ -3192,7 +3245,10 @@
},
"lab-bookmark-manager-app": {
"title": "Build a Bookmark Manager App",
- "intro": ["For this lab, you will 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",
@@ -3210,7 +3266,7 @@
"lecture-understanding-how-to-work-with-classes-in-javascript": {
"title": "Understanding How to Work with Classes in JavaScript",
"intro": [
- "In these lecture videos, you will learn about working with classes in JavaScript."
+ "In these lecture videos, you will learn about classes in JavaScript. You will learn about inheritance, the this keyword, static properties and methods, and more."
]
},
"workshop-shopping-cart": {
@@ -3223,13 +3279,14 @@
"lab-project-idea-board": {
"title": "Build a Project Idea Board",
"intro": [
- "In this lab, you will build a project idea board using OOP in JavaScript."
+ "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 will build a simple transaction management system for a bank account."
+ "In this lab, you'll build a simple transaction management system for a bank account."
]
},
"review-javascript-classes": {
@@ -3248,7 +3305,7 @@
"lecture-understanding-recursion-and-the-call-stack": {
"title": "Understanding Recursion and the Call Stack",
"intro": [
- "In these lecture videos, you will learn about recursion and the call stack."
+ "In this lecture video, you will learn about recursion and the call stack."
]
},
"workshop-decimal-to-binary-converter": {
@@ -3261,7 +3318,7 @@
"lab-permutation-generator": {
"title": "Build a Permutation Generator",
"intro": [
- "For this lab, you will build a permutation generator that produces all possible permutations of a given string."
+ "For this lab, you'll build a permutation generator that produces all possible permutations of a given string."
]
},
"review-recursion": {
@@ -3278,7 +3335,7 @@
"lecture-understanding-functional-programming": {
"title": "Understanding Functional Programming",
"intro": [
- "In these lecture videos, you will learn about functional programming."
+ "In these lecture videos, you will learn about functional programming and how to nest functions using a technique called currying."
]
},
"workshop-recipe-ingredient-converter": {
@@ -3291,7 +3348,7 @@
"lab-sorting-visualizer": {
"title": "Build a Sorting Visualizer",
"intro": [
- "For this lab, you will use JavaScript to visualize the steps that the Bubble Sort algorithm takes to reorder an array of integers."
+ "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": {
@@ -3310,7 +3367,7 @@
"lecture-understanding-asynchronous-programming": {
"title": "Understanding Asynchronous Programming",
"intro": [
- "In these lecture videos, you will learn about asynchronous programming."
+ "In these lecture videos, you will learn about asynchronous programming in JavaScript. You will learn about the differences between synchronous and asynchronous programming, how the asnyc keyword works, the Fetch API, promises, async/await, the Geolocation API, and much more."
]
},
"workshop-fcc-authors-page": {
@@ -3323,7 +3380,7 @@
"lab-fcc-forum-leaderboard": {
"title": "Build an fCC Forum Leaderboard",
"intro": [
- "For this lab you will practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard."
+ "For this lab you'll practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard."
]
},
"review-asynchronous-javascript": {
@@ -3352,7 +3409,7 @@
"lecture-introduction-to-javascript-libraries-and-frameworks": {
"title": "Introduction to JavaScript Libraries and Frameworks",
"intro": [
- "In these lecture videos, you will get an introduction to JavaScript libraries and frameworks."
+ "In these lecture videos, 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": {
@@ -3364,12 +3421,12 @@
},
"lab-reusable-footer": {
"title": "Build a Reusable Footer",
- "intro": ["In this lab, you will use React to 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 lecture videos, you will learn about working with data in React."
+ "In these lecture videos, you will learn how to work with data in React. You will learn about props and how to pass them around, conditional rendering, how to render lists, and how to use inline styles."
]
},
"workshop-reusable-profile-card-component": {
@@ -3381,7 +3438,8 @@
"lab-mood-board": {
"title": "Build a Mood Board",
"intro": [
- "In this lab, you will create a mood board using a React with props."
+ "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": {
@@ -3443,7 +3501,8 @@
"lab-weather-app": {
"title": "Build a Weather App",
"intro": [
- "In this lab you will build a Weather App using an API to fetch the data."
+ "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."
]
},
"ffpt": {
diff --git a/client/i18n/locales/japanese/translations.json b/client/i18n/locales/japanese/translations.json
index 4d7a88c9ee0..84fc504d25c 100644
--- a/client/i18n/locales/japanese/translations.json
+++ b/client/i18n/locales/japanese/translations.json
@@ -106,7 +106,9 @@
"donate-now": "寄付する",
"confirm-amount": "金額を選択",
"play-scene": "再生",
- "closed-caption": "クローズドキャプション"
+ "closed-caption": "クローズドキャプション",
+ "share-on-bluesky": "Share on BlueSky",
+ "share-on-threads": "Share on Threads"
},
"landing": {
"big-heading-1": "プログラミングを無料で学ぶ。",
@@ -357,7 +359,7 @@
"challenge": "チャレンジ",
"completed": "完了日",
"add-linkedin": "この認定証を LinkedIn のプロフィールに追加",
- "add-twitter": "この認定証を Twitter で共有",
+ "add-twitter": "Share this certification on X",
"tweet": "{{certTitle}} の認定証を @freeCodeCamp で取得しました!確認はこちら: {{certURL}}",
"avatar": "{{username}} のアバター",
"joined": "加入: {{date}}",
@@ -366,7 +368,9 @@
"points": "{{count}} ポイント ({{date}})",
"points_plural": "{{count}} ポイント ({{date}})",
"page-number": "{{pageNumber}} / {{totalPages}}",
- "edit-my-profile": "プロフィールを編集"
+ "edit-my-profile": "プロフィールを編集",
+ "add-bluesky": "Share this certification on BlueSky",
+ "add-threads": "Share this certification on Threads"
},
"footer": {
"tax-exempt-status": "freeCodeCamp は皆様からの寄付により支えられている非課税の 501(c)(3) 慈善団体です。(United States Federal Tax Identification Number: 82-0779546)",
@@ -421,6 +425,7 @@
"assignments": "課題",
"question": "質問",
"questions": "質問",
+ "answered-mcq": "You have unanswered questions and/or incorrect answers.",
"explanation": "解説",
"solution-link": "回答のリンク",
"source-code-link": "ソースコードのリンク",
@@ -1055,8 +1060,8 @@
"responsive-web-design-cert": "レスポンシブウェブデザイン認定証",
"javascript-algorithms-and-data-structures": "旧 JavaScript アルゴリズムとデータ構造",
"javascript-algorithms-and-data-structures-cert": "旧 JavaScript アルゴリズムとデータ構造認定証",
- "javascript-algorithms-and-data-structures-v8": "JavaScript アルゴリズムとデータ構造 (ベータ版)",
- "javascript-algorithms-and-data-structures-v8-cert": "JavaScript アルゴリズムとデータ構造 (ベータ版) 認定証",
+ "javascript-algorithms-and-data-structures-v8": "JavaScript Algorithms and Data Structures",
+ "javascript-algorithms-and-data-structures-v8-cert": "JavaScript Algorithms and Data Structures Certification",
"front-end-development-libraries": "フロントエンド開発ライブラリ",
"front-end-development-libraries-cert": "フロントエンド開発ライブラリ認定証",
"data-visualization": "データ可視化",
diff --git a/client/i18n/locales/korean/intro.json b/client/i18n/locales/korean/intro.json
index a6a26b3b92f..783ab342b71 100644
--- a/client/i18n/locales/korean/intro.json
+++ b/client/i18n/locales/korean/intro.json
@@ -300,7 +300,7 @@
}
},
"javascript-algorithms-and-data-structures-v8": {
- "title": "JavaScript Algorithms and Data Structures (Beta)",
+ "title": "JavaScript Algorithms and Data Structures",
"intro": [
"Developers use HTML and CSS to control the content and styling of a page. And they use JavaScript to make that page interactive.",
"In this JavaScript Algorithm and Data Structures Certification, you'll learn the JavaScript fundamentals like variables, arrays, objects, loops, functions, the DOM and more.",
@@ -772,9 +772,9 @@
}
},
"scientific-computing-with-python": {
- "title": "Scientific Computing with Python (Beta)",
+ "title": "Scientific Computing with Python",
"intro": [
- "The Scientific Computing with Python (Beta) 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.",
+ "The Scientific Computing with Python curriculum will equip you with the skills to analyze and manipulate data using Python, a powerful and versatile programming language. You'll learn key concepts like data structures, algorithm, Object Oriented Programming, and how to perform complex calculations using a variety of tools.",
"This comprehensive course will guide you through the fundamentals of scientific computing, including data structures, and algorithms."
],
"note": "",
@@ -1187,7 +1187,7 @@
}
},
"the-odin-project": {
- "title": "The Odin Project - freeCodeCamp Remix (Beta)",
+ "title": "The Odin Project - freeCodeCamp Remix",
"intro": [
"The Odin Project was created in 2013 by a lone developer, Erik Trautman. Over the years, an open source community has sprung up to maintain and expand the project.",
"freeCodeCamp has expanded upon the open source curriculum to make it run interactively in the browser, with tests to evaluate your code and ensure you've understood key concepts.",
@@ -1601,7 +1601,9 @@
},
"learn-how-to-plan-future-events": {
"title": "Learn How to Plan Future Events",
- "intro": ["", ""]
+ "intro": [
+ "In this course, you will learn to use the different forms of the future to plan for upcoming events."
+ ]
},
"learn-future-continuous-while-describing-actions": {
"title": "Learn Future Continuous while Describing Actions",
@@ -1797,7 +1799,7 @@
"lab-recipe-page": {
"title": "Build a Recipe Page",
"intro": [
- "For this lab, you will review HTML basics by creating a web page of your favorite recipe. This lab will give you an opportunity to review working with an HTML boilerplate, headings, lists and images."
+ "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": {
@@ -1809,7 +1811,7 @@
"lab-travel-agency-page": {
"title": "Build a Travel Agency Page",
"intro": [
- "For this lab, you will review working with HTML fundamentals by creating a web page for a travel agency. This lab will give you an opportunity to review working with images, the figure element, the figcaption element, the anchor element and more."
+ "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 figure element, the figcaption element, the anchor element, and more."
]
},
"lecture-working-with-media": {
@@ -1821,7 +1823,7 @@
"lab-video-compilation-page": {
"title": "Build a Video Compilation Page",
"intro": [
- "For this lab, you will create a video compilation web page. This lab will give you the opportunity to practice working with the iframe element."
+ "In this lab, you'll create a video compilation web page. You'll practice working with the iframe element."
]
},
"lecture-working-with-links": {
@@ -1858,8 +1860,7 @@
"lab-event-hub": {
"title": "Build an Event Hub",
"intro": [
- "In this lab, you will review working with semantic HTML elements by building an event hub.",
- "This lab will give you an opportunity to review working with the header, nav, article elements."
+ "In this lab, you'll build an event hub and review semantic elements like header, nav, article, and more."
]
},
"review-semantic-html": {
@@ -1891,8 +1892,8 @@
"lab-survey-form": {
"title": "Build a Survey Form",
"intro": [
- "For this lab, you will review working with HTML forms by creating a survey form.",
- "This lab will give you the opportunity to practice working with the label element, the different input elements, the required attribute, and more. "
+ "In this lab, you'll review HTML forms by creating a survey form.",
+ "You'll practice working with the label element, the different input elements, the required attribute, and more. "
]
},
"lecture-working-with-tables": {
@@ -1910,8 +1911,8 @@
"lab-book-catalog-table": {
"title": "Build a Book Catalog Table",
"intro": [
- "In this lab, you will review working with HTML tables by building a table filled with book information.",
- "This lab will give you an opportunity to practice working with the different table components like the Table Head, Table Row and Table Data Cell elements."
+ "In this lab, you'll review HTML tables by building a book information table.",
+ "You'll practice the different table components like the thead, tbody, th, tr, and td elements."
]
},
"lecture-working-with-html-tools": {
@@ -1941,7 +1942,10 @@
},
"lab-checkout-page": {
"title": "Build a Checkout Page",
- "intro": ["In this lab, you will create an accessible checkout page."]
+ "intro": [
+ "In this lab, you'll create an accessible checkout page.",
+ "You'll practice concepts like alt attributes and aria roles."
+ ]
},
"review-html-accessibility": {
"title": "HTML Accessibility Review",
@@ -1970,19 +1974,19 @@
"lecture-understanding-computer-internet-and-tooling-basics": {
"title": "Understanding Computer, Internet, and Tooling Basics",
"intro": [
- "In these lecture videos, you will learn about computer, internet, and tooling basics."
+ "In these lecture videos, 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 lecture videos, you will learn about working with file systems."
+ "In these lecture videos, 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 lecture videos, you will learn how to browse the web effectively."
+ "In these lecture videos, 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": {
@@ -2000,7 +2004,9 @@
},
"lecture-what-is-css": {
"title": "What Is CSS?",
- "intro": ["In these lecture videos, you will learn what CSS is."]
+ "intro": [
+ "The following lecture videos 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",
@@ -2012,20 +2018,21 @@
"lab-business-card": {
"title": "Design a Business Card",
"intro": [
- "In this lab, you'll create a business card and style it using CSS."
+ "In this lab, you'll create a business card and style it using CSS.",
+ "You'll practice style properties like color, font-size, text-align, and more."
]
},
"lecture-css-specificity-the-cascade-algorithm-and-inheritance": {
"title": "CSS Specificity, the Cascade Algorithm, and Inheritance",
"intro": [
- "In these lecture videos, you will learn about CSS specificity, the cascade algorithm, and inheritance."
+ "In these lecture videos, you will learn about CSS specificity, the common selectors and their specificities, the cascade algorithm, inheritance, and more."
]
},
"review-basic-css": {
"title": "Basic CSS Review",
"intro": [
"Before you are quizzed on basic CSS concepts, you first need to review.",
- "Open up this page to review concepts including margin, padding, CSS combinators, CSS Specificity and more."
+ "Open up this page to review concepts including margin, padding, CSS combinators, CSS specificity and more."
]
},
"quiz-basic-css": {
@@ -2037,29 +2044,31 @@
"lecture-styling-lists-and-links": {
"title": "Styling Lists and Links",
"intro": [
- "In these lecture videos, you will learn about styling lists and links."
+ "In these lecture videos, you will learn the properties you need to know to effectively style lists and links, including link states like link, visited, hover, and active."
]
},
"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"
+ "In this lab, you'll build a To-Do list and apply different styles to the links",
+ "You'll practice style properties like text-decoration, list-style-type and how to change styles on hover or click."
]
},
"lecture-working-with-backgrounds-and-borders": {
"title": "Working with Backgrounds and Borders",
"intro": [
- "In these lecture videos, you will learn about working with backgrounds and borders."
+ "In these lecture videos, 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"
+ "In this lab, you'll design a blog post card using HTML and CSS",
+ "You'll practice concepts like background-color, border-radius, margins, paddings, and more."
]
},
"review-css-backgrounds-and-borders": {
- "title": "CSS Backgrounds and Borders Review",
+ "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 background-image property, border property and more."
@@ -2074,19 +2083,19 @@
"lecture-user-interface-design-fundamentals": {
"title": "User Interface Design Fundamentals",
"intro": [
- "In these lecture videos, you will learn about user interface design fundamentals."
+ "In these lecture videos, 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 lecture videos, you will learn about user-centered design."
+ "In these lecture videos, 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 lecture videos, you will learn about common design tools."
+ "In these lecture videos, 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": {
@@ -2105,13 +2114,14 @@
"lecture-working-with-relative-and-absolute-units": {
"title": "Working with Relative and Absolute Units",
"intro": [
- "In these lecture videos, you will learn about working with relative and absolute units."
+ "In these lecture videos, 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 will use absolute and relative CSS units to create an event flyer page."
+ "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": {
@@ -2130,7 +2140,7 @@
"lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": {
"title": "Working with Pseudo-Classes and Pseudo-Elements in CSS",
"intro": [
- "In these lecture videos, you will learn about working with pseudo-classes and pseudo-elements in CSS."
+ "In these lecture videos, you will learn about pseudo-classes and pseudo-elements, alongside their examples and how they work."
]
},
"workshop-greeting-card": {
@@ -2143,7 +2153,8 @@
"lab-job-application-form": {
"title": "Build a Job Application Form",
"intro": [
- "In this lab you will build a job application form and style it using pseudo-classes."
+ "In this lab you'll build a job application form and style it using pseudo-classes.",
+ "You'll practice concepts like :hover, :active, :focus, and more."
]
},
"review-css-pseudo-classes": {
@@ -2162,7 +2173,7 @@
"lecture-working-with-colors-in-css": {
"title": "Working with Colors in CSS",
"intro": [
- "In these lecture videos, you will learn about working with colors in CSS."
+ "In these lecture videos, 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": {
@@ -2174,7 +2185,7 @@
"lab-colored-boxes": {
"title": "Design a Set of Colored Boxes",
"intro": [
- "In this lab, you'll practice using CSS colors by designing boxes"
+ "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": {
@@ -2193,7 +2204,7 @@
"lecture-best-practices-for-styling-forms": {
"title": "Best Practices for Styling Forms",
"intro": [
- "In these lecture videos, you will learn about the best practices for styling forms."
+ "In these lecture videos, you will learn about the best practices for styling forms and issues you can encounter while styling special inputs like color and datetime-local."
]
},
"workshop-registration-form": {
@@ -2206,7 +2217,7 @@
"lab-contact-form": {
"title": "Design a Contact Form",
"intro": [
- "In this lab, you will design a contact form in HTML and style it using CSS."
+ "In this lab, you'll design a contact form in HTML and style it using CSS."
]
},
"review-styling-forms": {
@@ -2225,7 +2236,7 @@
"lecture-working-with-css-transforms-overflow-and-filters": {
"title": "Working with CSS Transforms, Overflow, and Filters",
"intro": [
- "In these lecture videos, you will learn about working with CSS transforms, overflow, and filters."
+ "In these lecture videos, 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": {
@@ -2238,7 +2249,7 @@
"lab-confidential-email-page": {
"title": "Build a Confidential Email Page",
"intro": [
- "For this lab, you will create a web page of a confidential email using HTML and CSS."
+ "In this lab, you'll create a web page using HTML and mask the content using CSS properties."
]
},
"review-css-layout-and-effects": {
@@ -2257,7 +2268,7 @@
"lecture-working-with-css-flexbox": {
"title": "Working with CSS Flexbox",
"intro": [
- "In these lecture videos, you will learn about working with CSS flexbox."
+ "In these lecture videos, you will learn how CSS flexbox works, its properties, and when you should use it."
]
},
"workshop-flexbox-photo-gallery": {
@@ -2270,7 +2281,8 @@
"lab-page-of-playing-cards": {
"title": "Build a Page of Playing Cards",
"intro": [
- "For this lab, you will use flexbox to create a webpage of playing cards."
+ "In this lab, you'll use flexbox to create a webpage of playing cards.",
+ "You'll practice aligning elements using flexbox properties like flex-direction, justify-content, align-self, and more."
]
},
"review-css-flexbox": {
@@ -2289,7 +2301,7 @@
"lecture-working-with-css-fonts": {
"title": "Working with CSS Fonts",
"intro": [
- "In these lecture videos, you will learn about working with CSS fonts."
+ "In these lecture videos, you will learn about typography and its best practices, fonts, and the text-shadow property."
]
},
"workshop-nutritional-label": {
@@ -2302,7 +2314,8 @@
"lab-newspaper-article": {
"title": "Build a Newspaper Article",
"intro": [
- "In this lab, you will build a newspaper article page using HTML and CSS."
+ "In this lab, you'll build a newspaper article page using HTML and CSS.",
+ "You'll style the fonts using properties like font-family, font-size, font-weight, and more."
]
},
"review-css-typography": {
@@ -2319,7 +2332,7 @@
"lecture-best-practices-for-accessibility-and-css": {
"title": "Best Practices for Accessibility and CSS",
"intro": [
- "In these lecture videos, you will learn about best practices for accessibility in CSS."
+ "In these lecture videos, you will learn about best practices for accessibility in CSS, and the tools for checking good color contrast on websites."
]
},
"workshop-accessibility-quiz": {
@@ -2332,7 +2345,7 @@
"lab-tribute-page": {
"title": "Build a Tribute Page",
"intro": [
- "For this lab, you will build a tribute page for a subject of your choosing, fictional or real."
+ "in this lab, you'll build a tribute page for a subject of your choosing, fictional or real."
]
},
"review-css-accessibility": {
@@ -2351,7 +2364,7 @@
"lecture-working-with-attribute-selectors": {
"title": "Working with Attribute Selectors",
"intro": [
- "In these lecture videos, you will learn about working with attribute selectors."
+ "In these lecture videos, you will learn about attribute selectors and how to use them to target elements like links and lists."
]
},
"workshop-balance-sheet": {
@@ -2363,7 +2376,10 @@
},
"lab-book-inventory-app": {
"title": "Build a Book Inventory App",
- "intro": ["For this lab, you will create a book inventory app."]
+ "intro": [
+ "In this lab, you'll create a book inventory app.",
+ "You'll practice CSS attribute selectors like [attribute], [attribute=value], [attribute~=value], and more."
+ ]
},
"review-css-attribute-selectors": {
"title": "CSS Attribute Selectors Review",
@@ -2381,7 +2397,7 @@
"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 lecture videos, you will learn about how to work with floats and positioning in CSS."
+ "In these lecture videos, you will learn how to use CSS positioning and floats. You will learn about absolute, relative, fixed, and sticky positioning. You will also use the z-index property."
]
},
"workshop-cat-painting": {
@@ -2393,7 +2409,10 @@
},
"lab-house-painting": {
"title": "Build a House Painting",
- "intro": ["For this lab, you will build a house painting using CSS."]
+ "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 position, top, left, and more."
+ ]
},
"review-css-positioning": {
"title": "CSS Positioning Review",
@@ -2411,7 +2430,7 @@
"lecture-best-practices-for-responsive-web-design": {
"title": "Best Practices for Responsive Web Design",
"intro": [
- "In these lecture videos, you will learn about the best practices for responsive web design."
+ "In these lecture videos, 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": {
@@ -2424,7 +2443,8 @@
"lab-technical-documentation-page": {
"title": "Build a Technical Documentation Page",
"intro": [
- "For this lab, you will build a technical documentation page to serve as instruction or reference for a topic."
+ "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": {
@@ -2443,7 +2463,7 @@
"lecture-working-with-css-variables": {
"title": "Working with CSS Variables",
"intro": [
- "In these lecture videos, you will learn about working with CSS variables."
+ "In these lecture videos, you will learn how to define and use custom properties (also known as CSS variables). You will also learn about the @property rule and how it works."
]
},
"workshop-city-skyline": {
@@ -2455,7 +2475,10 @@
},
"lab-availability-table": {
"title": "Build an Availability Table",
- "intro": ["For this lab, you will create 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",
@@ -2473,7 +2496,7 @@
"lecture-working-with-css-grid": {
"title": "Working with CSS Grid",
"intro": [
- "In these lecture videos, you will learn about working with CSS grid."
+ "In these lecture videos, you will learn about CSS grid, its several properties and how to use them, and how CSS grid differs from flexbox."
]
},
"workshop-magazine": {
@@ -2483,9 +2506,11 @@
"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."
]
},
- "ogko": {
- "title": "114",
- "intro": []
+ "lab-magazine-layout": {
+ "title": "Design a Magazine Layout",
+ "intro": [
+ "In this lab, you will design a magazine layout using CSS Grid, including concepts like grid rows and grid columns."
+ ]
},
"lecture-debugging-css": {
"title": "Debugging CSS",
@@ -2496,7 +2521,7 @@
"lab-product-landing-page": {
"title": "Build a Product Landing Page",
"intro": [
- "For this project, you will build a product landing page to market a product of your choice."
+ "In this project, you'll build a product landing page to market a product of your choice."
]
},
"review-css-grid": {
@@ -2513,7 +2538,7 @@
"lecture-animations-and-accessibility": {
"title": "Animations and Accessibility",
"intro": [
- "In these lecture videos, you will learn about animations and accessibility."
+ "In these lecture videos, you will learn about CSS animations and their accessibility concerns. You will also learn how prefers-reduced-motion can help address those accessibility concerns."
]
},
"workshop-ferris-wheel": {
@@ -2526,7 +2551,8 @@
"lab-moon-orbit": {
"title": "Build a Moon Orbit",
"intro": [
- "For this lab, you will create an animation of the moon orbiting the earth."
+ "In this lab, you'll create an animation of the moon orbiting the earth.",
+ "You'll practice animation properties like animation-name, animation-duration, animation-timing-function, and more."
]
},
"workshop-flappy-penguin": {
@@ -2539,7 +2565,7 @@
"lab-personal-portfolio": {
"title": "Build a Personal Portfolio",
"intro": [
- "For this project, you will build your own personal portfolio page."
+ "In this project, you'll build your own personal portfolio page."
]
},
"review-css-animations": {
@@ -2567,15 +2593,15 @@
"intro": []
},
"lecture-working-with-code-editors-and-ides": {
- "title": "Working with Code Editors and IDE's",
+ "title": "Working with Code Editors and IDEs",
"intro": [
- "In these lecture videos, you will learn about working with code editors and IDE's."
+ "In these lecture videos, 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 lecture videos, you will get a basic introduction to JavaScript."
+ "In these lecture videos, 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."
]
},
"workshop-greeting-bot": {
@@ -2588,13 +2614,14 @@
"lab-javascript-trivia-bot": {
"title": "Build a JavaScript Trivia Bot",
"intro": [
- "In this lab, you will practice working with JavaScript variables and strings by building a trivia bot."
+ "In this lab, you'll practice working with JavaScript variables and strings by building a trivia bot.",
+ "You'll practice how to use variables and basic strings."
]
},
"lecture-working-with-data-types": {
"title": "Working with Data Types",
"intro": [
- "In these lecture videos, you will learn about data types in JavaScript."
+ "In the following lecture videos, you will learn how to work with data types in JavaScript. You will also learn how dynamic typing differs from static typing, the typeof operator, and the typeof null bug."
]
},
"review-javascript-variables-and-data-types": {
@@ -2613,7 +2640,7 @@
"lecture-working-with-strings-in-javascript": {
"title": "Working with Strings in JavaScript",
"intro": [
- "In these lecture videos, you will learn about working with strings in JavaScript."
+ "In these lecture videos, 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": {
@@ -2626,7 +2653,7 @@
"lecture-working-with-common-string-methods": {
"title": "Working with Common String Methods",
"intro": [
- "In these lecture videos, you will learn about common String methods."
+ "In these lecture videos, you will learn about the common string methods available in JavaScript. The string methods will let you do things like extracting a part of a string, changing the casing for a string, replacing a part of a string, trimming whitespace from a string, and much more."
]
},
"review-javascript-strings": {
@@ -2645,7 +2672,7 @@
"lecture-working-with-numbers-booleans-and-the-math-object": {
"title": "Working with Numbers, Booleans, and the Math Object",
"intro": [
- "In these lecture videos, you will learn about numbers, booleans, and the Math object."
+ "In these lecture videos, you will dive into the fundamentals of JavaScript. These include numbers, booleans, and the Math object. You will learn about different types of numbers, how arithmetic and comparison operators work, how JavaScript behaves when you combine strings and numbers in calculations, and much more."
]
},
"workshop-mathbot": {
@@ -2657,13 +2684,14 @@
"lab-fortune-teller": {
"title": "Build a Fortune Teller",
"intro": [
- "In this lab, you will build a fortune teller by randomly selecting a fortune from the available fortunes."
+ "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 Math.random() method and the Math.floor() method to generate random numbers."
]
},
"lecture-working-with-numbers-and-common-number-methods": {
"title": "Working with Numbers and Common Number Methods",
"intro": [
- "In these lecture videos, you will learn about numbers and common Number methods."
+ "In these lecture videos, you will learn about numbers and common number methods. These include isNaN(), parseInt(), parseFloat(), and toFixed()."
]
},
"review-javascript-math": {
@@ -2680,7 +2708,7 @@
"lecture-understanding-comparisons-and-conditionals": {
"title": "Understanding Comparisons and Conditionals",
"intro": [
- "In these lecture videos, you will learn about comparisons and conditionals."
+ "In these lecture videos, you will learn about comparison operators and conditionals. You will learn how the various conditionals differ from one another, and how comparisons work with null and undefined."
]
},
"review-javascript-comparisons-and-conditionals": {
@@ -2699,7 +2727,7 @@
"lecture-working-with-functions": {
"title": "Working with Functions",
"intro": [
- "In these lecture videos, you will learn about working with functions."
+ "In these lecture videos, 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": {
@@ -2711,13 +2739,14 @@
"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."
+ "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."
]
},
"lab-sentence-maker": {
"title": "Build a Sentence Maker",
"intro": [
- "In this lab, you will create different stories by assigning different words to different variables."
+ "In this lab, you'll create different stories by assigning different words to different variables."
]
},
"workshop-loan-qualification-checker": {
@@ -2730,7 +2759,7 @@
"lab-leap-year-calculator": {
"title": "Build a Leap Year Calculator ",
"intro": [
- "In this lab you will use conditional statements and loops to determine if a year is a leap year."
+ "In this lab you'll use conditional statements and loops to determine if a year is a leap year."
]
},
"review-javascript-functions": {
@@ -2749,7 +2778,7 @@
"lecture-working-with-arrays": {
"title": "Working with Arrays",
"intro": [
- "In these lecture videos, you will learn about working with JavaScript arrays."
+ "In these lecture videos, 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": {
@@ -2762,13 +2791,13 @@
"lab-lunch-picker-program": {
"title": "Build a Lunch Picker Program",
"intro": [
- "In this lab, you will review working with arrays and random numbers by building a lunch picker program."
+ "In this lab, you'll review working with arrays and random numbers by building a lunch picker program."
]
},
"lecture-working-with-common-array-methods": {
"title": "Working with Common Array Methods",
"intro": [
- "In these lecture videos, you will learn about common array methods."
+ "In these lecture videos, 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": {
@@ -2785,7 +2814,7 @@
"lecture-working-with-objects": {
"title": "Working with Objects",
"intro": [
- "In these lecture videos, you will learn about working with objects in JavaScript."
+ "In these lecture videos, you will learn how to work with JavaScript objects. The concepts you will learn include how to access properties from an object, check if an object has a property, how object methods differ from functions, object destructuring, and much more."
]
},
"workshop-recipe-tracker": {
@@ -2796,7 +2825,10 @@
},
"lab-quiz-game": {
"title": "Build a Quiz Game",
- "intro": ["For this lab, you will 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."
+ ]
},
"review-javascript-objects": {
"title": "JavaScript Objects Review",
@@ -2814,7 +2846,7 @@
"lecture-working-with-loops": {
"title": "Working with Loops",
"intro": [
- "In these lecture videos, you will learn about working with loops in JavaScript."
+ "Loops are an essential part of JavaScript. That's why the following lecture videos 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": {
@@ -2825,7 +2857,10 @@
},
"lab-factorial-calculator": {
"title": "Build a Factorial Calculator ",
- "intro": ["In this lab, you will 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."
+ ]
},
"review-javascript-loops": {
"title": "JavaScript Loops Review",
@@ -2841,38 +2876,47 @@
"lecture-understanding-core-javascript-fundamentals": {
"title": "Understanding Core JavaScript Fundamentals",
"intro": [
- "In these lecture videos, you will learn more about core JavaScript fundamentals."
+ "In these lecture videos, you will learn more about the core JavaScript fundamentals. You will learn how a string object differs from a primitive string, the toString() method, conventions and common practices for naming variables, linters and formatters, closures, and much more."
]
},
"lab-pyramid-generator": {
"title": "Build a Pyramid Generator",
- "intro": ["In this lab you will 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 will create 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 lecture videos, you will learn about the var keyword and hoisting in JavaScript."
+ "In these lecture videos, you will learn about the var 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-inventory-management-program": {
"title": "Build an Inventory Management Program",
"intro": [
- "For this lab, you will build an inventory management program using JavaScript."
+ "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 these lecture videos, you will learn about modules, imports, and exports in JavaScript."
+ "In this lecture video, you will learn about modules, imports, and exports in JavaScript."
]
},
"lab-password-generator": {
"title": "Build a Password Generator App",
- "intro": ["In this lab, you'll build a password generator app."]
+ "intro": [
+ "In this lab, you'll build a password generator app based on the user's input."
+ ]
},
"review-javascript-fundamentals": {
"title": "JavaScript Fundamentals Review",
@@ -2890,7 +2934,7 @@
"lecture-working-with-higher-order-functions-and-callbacks": {
"title": "Working with Higher Order Functions and Callbacks",
"intro": [
- "In these lecture videos, you will learn about working with higher order functions and callbacks."
+ "In these lecture videos, you will learn how to work with higher order functions and callbacks. The higher order functions you will learn include map(), filter(), reduce(), sort(), every(), and some(). You will also learn how to chain these methods together to achieve your desired results."
]
},
"workshop-library-manager": {
@@ -2902,7 +2946,7 @@
"lab-book-organizer": {
"title": "Build a Book Organizer",
"intro": [
- "In this lab, you will build a book organizer using higher order functions in JavaScript."
+ "In this lab, you'll build a book organizer using higher order functions in JavaScript."
]
},
"review-javascript-higher-order-functions": {
@@ -2921,7 +2965,7 @@
"lecture-working-with-the-dom-click-events-and-web-apis": {
"title": "Working with the DOM, Click Events, and Web APIs",
"intro": [
- "In these lecture videos, you will learn how to work with the DOM, click events, and web APIs, using JavaScript."
+ "In these lecture videos, you will learn how to work with the Document Object Model (DOM), the `addEventListener()` method and events, and web APIs."
]
},
"workshop-storytelling-app": {
@@ -2933,7 +2977,7 @@
"lab-favorite-icon-toggler": {
"title": "Build a Favorite Icon Toggler",
"intro": [
- "In this lab, you will build a favorite icon toggler by utilizing JavaScript click events."
+ "In this lab, you'll build a favorite icon toggler by utilizing JavaScript click events."
]
},
"review-dom-manipulation-and-click-events-with-javascript": {
@@ -2952,7 +2996,7 @@
"lecture-understanding-the-event-object-and-event-delegation": {
"title": "Understanding the Event Object and Event Delegation",
"intro": [
- "In these lecture videos, you will learn about the event object and event delegation."
+ "In these lecture videos, you will learn about the event object, the change event, event bubbling, and event delegation."
]
},
"workshop-music-instrument-filter": {
@@ -2963,12 +3007,16 @@
},
"lab-real-time-counter": {
"title": "Build a Real Time Counter",
- "intro": ["In this lab, you will build a real-time character counter"]
+ "intro": [
+ "In this lab, you'll build a real-time character counter",
+ "You'll practice how to work with the input event when the user types in the input field."
+ ]
},
"lab-lightbox-viewer": {
"title": "Build a Lightbox Viewer",
"intro": [
- "In this lab, you will build a lighbox viewer for viewing images in a focused mode."
+ "In this lab, you'll build a lighbox viewer for viewing images in a focused mode.",
+ "You'll practice click events and toggling classes."
]
},
"workshop-rps-game": {
@@ -2986,7 +3034,7 @@
"lab-football-team-cards": {
"title": "Build a Set of Football Team Cards",
"intro": [
- "One common aspect of building web applications is processing datasets and outputting information to the screen. In this project, you will use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards."
+ "In this lab, you'll use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards."
]
},
"review-javascript-events": {
@@ -3003,13 +3051,13 @@
"lecture-debugging-techniques": {
"title": "Debugging Techniques",
"intro": [
- "In these lecture videos, you will learn debugging techniques."
+ "In these lecture videos, 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": [
- "For this lab, you will debug a random background color changer and fix the errors to make it work properly."
+ "In this lab, you'll debug a random background color changer and fix the errors to make it work properly."
]
},
"review-debugging-javascript": {
@@ -3028,7 +3076,7 @@
"lecture-working-with-regular-expressions": {
"title": "Working with Regular Expressions",
"intro": [
- "In these lecture videos, you will learn about regular expressions in JavaScript."
+ "In these lecture videos, 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": {
@@ -3041,12 +3089,13 @@
"lab-markdown-to-html-converter": {
"title": "Build a Markdown to HTML Converter",
"intro": [
- "For this lab, you will build a Markdown to HTML converter using JavaScript."
+ "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 will build a regex sandbox."]
+ "intro": ["In this lab you'll build a regex sandbox."]
},
"review-javascript-regular-expressions": {
"title": "JavaScript Regular Expressions Review",
@@ -3064,7 +3113,7 @@
"lecture-understanding-form-validation": {
"title": "Understanding Form Validation",
"intro": [
- "In these lecture videos, you will learn about form validation in JavaScript."
+ "In these lecture videos, you will learn about form validation in JavaScript. You will learn about the various ways to validate forms, how the preventDefault() method works, and how the submit event works."
]
},
"workshop-calorie-counter": {
@@ -3077,7 +3126,8 @@
"lab-customer-complaint-form": {
"title": "Build a Customer Complaint Form",
"intro": [
- "For this lab, you will use JavaScript to validate a customer complaint form."
+ "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": {
@@ -3096,13 +3146,13 @@
"lecture-working-with-dates": {
"title": "Working with Dates",
"intro": [
- "In these lecture videos, you will learn about working with JavaScript dates."
+ "In these lecture videos, 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 will build a program to convert a date from one format to another."
+ "In this lab, you'll build a program to convert a date from one format to another."
]
},
"review-javascript-dates": {
@@ -3119,7 +3169,7 @@
"lecture-working-with-audio-and-video": {
"title": "Working with Audio and Video",
"intro": [
- "In these lecture videos, you will learn about working with audio and video using JavaScript."
+ "In these lecture videos, you will learn how to work with audio and video files using JavaScript. You will learn about the Audio and Video constructors, their methods and properties, audio and video formats, codecs, the HTMLMediaElement API, and much more."
]
},
"workshop-music-player": {
@@ -3129,9 +3179,11 @@
"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."
]
},
- "crzf": {
- "title": "222",
- "intro": []
+ "lab-drum-machine": {
+ "title": "Build a Drum Machine",
+ "intro": [
+ "For this lab you will use the audio element to build a drum machine."
+ ]
},
"review-javascript-audio-and-video": {
"title": "JavaScript Audio and Video Review",
@@ -3149,7 +3201,7 @@
"lecture-working-with-maps-and-sets": {
"title": "Working with Maps and Sets",
"intro": [
- "In these lecture videos, you will learn about JavaScript Maps and Sets."
+ "In these lecture videos, you will learn about JavaScript Map and Set. You will also learn how they both differ from WeakSets and WeakMaps"
]
},
"workshop-plant-nursery-catalog": {
@@ -3161,7 +3213,8 @@
"lab-voting-system": {
"title": "Build a Voting System",
"intro": [
- "In this lab, you will build a voting system using Maps and Sets."
+ "In this lab, you'll build a voting system using Maps and Sets.",
+ "You'll practice how to use the Map object to store key-value pairs and the Set object to store unique values."
]
},
"review-javascript-maps-and-sets": {
@@ -3180,7 +3233,7 @@
"lecture-working-with-client-side-storage-and-crud-operations": {
"title": "Working with Client-Side Storage and CRUD Operations",
"intro": [
- "In these lecture videos, you will learn about client-side storage and CRUD operations with JavaScript."
+ "In these lecture videos, you will learn about client-side storage and CRUD operations in JavaScript. You will learn about localStorage and sessionStorage alongside their methods and properties, cookies, the Cache API, IndexDB, and much more."
]
},
"workshop-todo-app": {
@@ -3192,7 +3245,10 @@
},
"lab-bookmark-manager-app": {
"title": "Build a Bookmark Manager App",
- "intro": ["For this lab, you will 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",
@@ -3210,7 +3266,7 @@
"lecture-understanding-how-to-work-with-classes-in-javascript": {
"title": "Understanding How to Work with Classes in JavaScript",
"intro": [
- "In these lecture videos, you will learn about working with classes in JavaScript."
+ "In these lecture videos, you will learn about classes in JavaScript. You will learn about inheritance, the this keyword, static properties and methods, and more."
]
},
"workshop-shopping-cart": {
@@ -3223,13 +3279,14 @@
"lab-project-idea-board": {
"title": "Build a Project Idea Board",
"intro": [
- "In this lab, you will build a project idea board using OOP in JavaScript."
+ "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 will build a simple transaction management system for a bank account."
+ "In this lab, you'll build a simple transaction management system for a bank account."
]
},
"review-javascript-classes": {
@@ -3248,7 +3305,7 @@
"lecture-understanding-recursion-and-the-call-stack": {
"title": "Understanding Recursion and the Call Stack",
"intro": [
- "In these lecture videos, you will learn about recursion and the call stack."
+ "In this lecture video, you will learn about recursion and the call stack."
]
},
"workshop-decimal-to-binary-converter": {
@@ -3261,7 +3318,7 @@
"lab-permutation-generator": {
"title": "Build a Permutation Generator",
"intro": [
- "For this lab, you will build a permutation generator that produces all possible permutations of a given string."
+ "For this lab, you'll build a permutation generator that produces all possible permutations of a given string."
]
},
"review-recursion": {
@@ -3278,7 +3335,7 @@
"lecture-understanding-functional-programming": {
"title": "Understanding Functional Programming",
"intro": [
- "In these lecture videos, you will learn about functional programming."
+ "In these lecture videos, you will learn about functional programming and how to nest functions using a technique called currying."
]
},
"workshop-recipe-ingredient-converter": {
@@ -3291,7 +3348,7 @@
"lab-sorting-visualizer": {
"title": "Build a Sorting Visualizer",
"intro": [
- "For this lab, you will use JavaScript to visualize the steps that the Bubble Sort algorithm takes to reorder an array of integers."
+ "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": {
@@ -3310,7 +3367,7 @@
"lecture-understanding-asynchronous-programming": {
"title": "Understanding Asynchronous Programming",
"intro": [
- "In these lecture videos, you will learn about asynchronous programming."
+ "In these lecture videos, you will learn about asynchronous programming in JavaScript. You will learn about the differences between synchronous and asynchronous programming, how the asnyc keyword works, the Fetch API, promises, async/await, the Geolocation API, and much more."
]
},
"workshop-fcc-authors-page": {
@@ -3323,7 +3380,7 @@
"lab-fcc-forum-leaderboard": {
"title": "Build an fCC Forum Leaderboard",
"intro": [
- "For this lab you will practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard."
+ "For this lab you'll practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard."
]
},
"review-asynchronous-javascript": {
@@ -3352,7 +3409,7 @@
"lecture-introduction-to-javascript-libraries-and-frameworks": {
"title": "Introduction to JavaScript Libraries and Frameworks",
"intro": [
- "In these lecture videos, you will get an introduction to JavaScript libraries and frameworks."
+ "In these lecture videos, 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": {
@@ -3364,12 +3421,12 @@
},
"lab-reusable-footer": {
"title": "Build a Reusable Footer",
- "intro": ["In this lab, you will use React to 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 lecture videos, you will learn about working with data in React."
+ "In these lecture videos, you will learn how to work with data in React. You will learn about props and how to pass them around, conditional rendering, how to render lists, and how to use inline styles."
]
},
"workshop-reusable-profile-card-component": {
@@ -3381,7 +3438,8 @@
"lab-mood-board": {
"title": "Build a Mood Board",
"intro": [
- "In this lab, you will create a mood board using a React with props."
+ "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": {
@@ -3443,7 +3501,8 @@
"lab-weather-app": {
"title": "Build a Weather App",
"intro": [
- "In this lab you will build a Weather App using an API to fetch the data."
+ "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."
]
},
"ffpt": {
diff --git a/client/i18n/locales/korean/translations.json b/client/i18n/locales/korean/translations.json
index 607c3ab33a1..8c18175010d 100644
--- a/client/i18n/locales/korean/translations.json
+++ b/client/i18n/locales/korean/translations.json
@@ -106,7 +106,9 @@
"donate-now": "Donate Now",
"confirm-amount": "Confirm amount",
"play-scene": "Press Play",
- "closed-caption": "Closed caption"
+ "closed-caption": "Closed caption",
+ "share-on-bluesky": "Share on BlueSky",
+ "share-on-threads": "Share on Threads"
},
"landing": {
"big-heading-1": "Learn to code — for free.",
@@ -357,7 +359,7 @@
"challenge": "Challenge",
"completed": "Completed",
"add-linkedin": "Add this certification to my LinkedIn profile",
- "add-twitter": "Share this certification on Twitter",
+ "add-twitter": "Share this certification on X",
"tweet": "I just earned the {{certTitle}} certification @freeCodeCamp! Check it out here: {{certURL}}",
"avatar": "{{username}}'s avatar",
"joined": "Joined {{date}}",
@@ -366,7 +368,9 @@
"points": "{{count}} point on {{date}}",
"points_plural": "{{count}} points on {{date}}",
"page-number": "{{pageNumber}} of {{totalPages}}",
- "edit-my-profile": "Edit My Profile"
+ "edit-my-profile": "Edit My Profile",
+ "add-bluesky": "Share this certification on BlueSky",
+ "add-threads": "Share this certification on Threads"
},
"footer": {
"tax-exempt-status": "freeCodeCamp is a donor-supported tax-exempt 501(c)(3) charitable organization (United States Federal Tax Identification Number: 82-0779546).",
@@ -421,6 +425,7 @@
"assignments": "Assignments",
"question": "Question",
"questions": "Questions",
+ "answered-mcq": "You have unanswered questions and/or incorrect answers.",
"explanation": "Explanation",
"solution-link": "Solution Link",
"source-code-link": "Source Code Link",
@@ -1055,8 +1060,8 @@
"responsive-web-design-cert": "Responsive Web Design Certification",
"javascript-algorithms-and-data-structures": "Legacy JavaScript Algorithms and Data Structures",
"javascript-algorithms-and-data-structures-cert": "Legacy JavaScript Algorithms and Data Structures Certification",
- "javascript-algorithms-and-data-structures-v8": "JavaScript Algorithms and Data Structures (Beta)",
- "javascript-algorithms-and-data-structures-v8-cert": "JavaScript Algorithms and Data Structures (Beta) Certification",
+ "javascript-algorithms-and-data-structures-v8": "JavaScript Algorithms and Data Structures",
+ "javascript-algorithms-and-data-structures-v8-cert": "JavaScript Algorithms and Data Structures Certification",
"front-end-development-libraries": "Front End Development Libraries",
"front-end-development-libraries-cert": "Front End Development Libraries Certification",
"data-visualization": "Data Visualization",
diff --git a/client/i18n/locales/portuguese/intro.json b/client/i18n/locales/portuguese/intro.json
index 678c60d8ea5..bece99b1668 100644
--- a/client/i18n/locales/portuguese/intro.json
+++ b/client/i18n/locales/portuguese/intro.json
@@ -300,7 +300,7 @@
}
},
"javascript-algorithms-and-data-structures-v8": {
- "title": "Algoritmos e estruturas de dados em JavaScript (Beta)",
+ "title": "JavaScript Algorithms and Data Structures",
"intro": [
"Desenvolvedores usam HTML e CSS para controlar os componentes e estilizar a página. Eles também usam o JavaScript para tornar essa página interativa.",
"Neste certificado de Algoritmos e estruturas de dados em JavaScript, você aprenderá os fundamentos de JavaScript como variáveis, arrays, objetos, laços, funções, o DOM e mais.",
@@ -772,9 +772,9 @@
}
},
"scientific-computing-with-python": {
- "title": "Computação científica com Python (beta)",
+ "title": "Scientific Computing with Python",
"intro": [
- "O currículo de Computação científica com Python (beta) equipará você com as habilidades para analizar e manipular dados usando o Python, uma linguaguem de programação poderosa e versátil. Você aprenderá conceitos-chave como estrutura de dados, algoritmos, Programação Orientada a Objetos e como realizar cálculos complexos usando uma variedade de ferramentas.",
+ "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.",
"Este curso abrangente guiará você através dos fundamentos da computação científica, incluindo estrutura de dados e algoritmos."
],
"note": "",
@@ -1187,7 +1187,7 @@
}
},
"the-odin-project": {
- "title": "O Odin Project – versão do freeCodeCamp (beta)",
+ "title": "The Odin Project - freeCodeCamp Remix",
"intro": [
"O Odin Project foi criado em 2013 por um único desenvolvedor, Erik Trautman. Ao longo dos anos, uma comunidade de código aberto surgiu para manter e expandir o projeto.",
"O freeCodeCamp expandiu o currículo de código aberto para ser executado de maneira interativa no navegador, com testes para avaliar seu código e garantir que você tenha entendido os conceitos principais.",
@@ -1601,7 +1601,9 @@
},
"learn-how-to-plan-future-events": {
"title": "Aprenda a planejar eventos futuros",
- "intro": ["", ""]
+ "intro": [
+ "In this course, you will learn to use the different forms of the future to plan for upcoming events."
+ ]
},
"learn-future-continuous-while-describing-actions": {
"title": "Aprenda o Future Continuous ao descrever ações",
@@ -1797,7 +1799,7 @@
"lab-recipe-page": {
"title": "Build a Recipe Page",
"intro": [
- "For this lab, you will review HTML basics by creating a web page of your favorite recipe. This lab will give you an opportunity to review working with an HTML boilerplate, headings, lists and images."
+ "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": {
@@ -1809,7 +1811,7 @@
"lab-travel-agency-page": {
"title": "Build a Travel Agency Page",
"intro": [
- "For this lab, you will review working with HTML fundamentals by creating a web page for a travel agency. This lab will give you an opportunity to review working with images, the figure element, the figcaption element, the anchor element and more."
+ "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 figure element, the figcaption element, the anchor element, and more."
]
},
"lecture-working-with-media": {
@@ -1821,7 +1823,7 @@
"lab-video-compilation-page": {
"title": "Build a Video Compilation Page",
"intro": [
- "For this lab, you will create a video compilation web page. This lab will give you the opportunity to practice working with the iframe element."
+ "In this lab, you'll create a video compilation web page. You'll practice working with the iframe element."
]
},
"lecture-working-with-links": {
@@ -1858,8 +1860,7 @@
"lab-event-hub": {
"title": "Build an Event Hub",
"intro": [
- "In this lab, you will review working with semantic HTML elements by building an event hub.",
- "This lab will give you an opportunity to review working with the header, nav, article elements."
+ "In this lab, you'll build an event hub and review semantic elements like header, nav, article, and more."
]
},
"review-semantic-html": {
@@ -1891,8 +1892,8 @@
"lab-survey-form": {
"title": "Build a Survey Form",
"intro": [
- "For this lab, you will review working with HTML forms by creating a survey form.",
- "This lab will give you the opportunity to practice working with the label element, the different input elements, the required attribute, and more. "
+ "In this lab, you'll review HTML forms by creating a survey form.",
+ "You'll practice working with the label element, the different input elements, the required attribute, and more. "
]
},
"lecture-working-with-tables": {
@@ -1910,8 +1911,8 @@
"lab-book-catalog-table": {
"title": "Build a Book Catalog Table",
"intro": [
- "In this lab, you will review working with HTML tables by building a table filled with book information.",
- "This lab will give you an opportunity to practice working with the different table components like the Table Head, Table Row and Table Data Cell elements."
+ "In this lab, you'll review HTML tables by building a book information table.",
+ "You'll practice the different table components like the thead, tbody, th, tr, and td elements."
]
},
"lecture-working-with-html-tools": {
@@ -1941,7 +1942,10 @@
},
"lab-checkout-page": {
"title": "Build a Checkout Page",
- "intro": ["In this lab, you will create an accessible checkout page."]
+ "intro": [
+ "In this lab, you'll create an accessible checkout page.",
+ "You'll practice concepts like alt attributes and aria roles."
+ ]
},
"review-html-accessibility": {
"title": "HTML Accessibility Review",
@@ -1970,19 +1974,19 @@
"lecture-understanding-computer-internet-and-tooling-basics": {
"title": "Understanding Computer, Internet, and Tooling Basics",
"intro": [
- "In these lecture videos, you will learn about computer, internet, and tooling basics."
+ "In these lecture videos, 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 lecture videos, you will learn about working with file systems."
+ "In these lecture videos, 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 lecture videos, you will learn how to browse the web effectively."
+ "In these lecture videos, 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": {
@@ -2000,7 +2004,9 @@
},
"lecture-what-is-css": {
"title": "What Is CSS?",
- "intro": ["In these lecture videos, you will learn what CSS is."]
+ "intro": [
+ "The following lecture videos 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",
@@ -2012,20 +2018,21 @@
"lab-business-card": {
"title": "Design a Business Card",
"intro": [
- "In this lab, you'll create a business card and style it using CSS."
+ "In this lab, you'll create a business card and style it using CSS.",
+ "You'll practice style properties like color, font-size, text-align, and more."
]
},
"lecture-css-specificity-the-cascade-algorithm-and-inheritance": {
"title": "CSS Specificity, the Cascade Algorithm, and Inheritance",
"intro": [
- "In these lecture videos, you will learn about CSS specificity, the cascade algorithm, and inheritance."
+ "In these lecture videos, you will learn about CSS specificity, the common selectors and their specificities, the cascade algorithm, inheritance, and more."
]
},
"review-basic-css": {
"title": "Basic CSS Review",
"intro": [
"Before you are quizzed on basic CSS concepts, you first need to review.",
- "Open up this page to review concepts including margin, padding, CSS combinators, CSS Specificity and more."
+ "Open up this page to review concepts including margin, padding, CSS combinators, CSS specificity and more."
]
},
"quiz-basic-css": {
@@ -2037,29 +2044,31 @@
"lecture-styling-lists-and-links": {
"title": "Styling Lists and Links",
"intro": [
- "In these lecture videos, you will learn about styling lists and links."
+ "In these lecture videos, you will learn the properties you need to know to effectively style lists and links, including link states like link, visited, hover, and active."
]
},
"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"
+ "In this lab, you'll build a To-Do list and apply different styles to the links",
+ "You'll practice style properties like text-decoration, list-style-type and how to change styles on hover or click."
]
},
"lecture-working-with-backgrounds-and-borders": {
"title": "Working with Backgrounds and Borders",
"intro": [
- "In these lecture videos, you will learn about working with backgrounds and borders."
+ "In these lecture videos, 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"
+ "In this lab, you'll design a blog post card using HTML and CSS",
+ "You'll practice concepts like background-color, border-radius, margins, paddings, and more."
]
},
"review-css-backgrounds-and-borders": {
- "title": "CSS Backgrounds and Borders Review",
+ "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 background-image property, border property and more."
@@ -2074,19 +2083,19 @@
"lecture-user-interface-design-fundamentals": {
"title": "User Interface Design Fundamentals",
"intro": [
- "In these lecture videos, you will learn about user interface design fundamentals."
+ "In these lecture videos, 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 lecture videos, you will learn about user-centered design."
+ "In these lecture videos, 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 lecture videos, you will learn about common design tools."
+ "In these lecture videos, 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": {
@@ -2105,13 +2114,14 @@
"lecture-working-with-relative-and-absolute-units": {
"title": "Working with Relative and Absolute Units",
"intro": [
- "In these lecture videos, you will learn about working with relative and absolute units."
+ "In these lecture videos, 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 will use absolute and relative CSS units to create an event flyer page."
+ "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": {
@@ -2130,7 +2140,7 @@
"lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": {
"title": "Working with Pseudo-Classes and Pseudo-Elements in CSS",
"intro": [
- "In these lecture videos, you will learn about working with pseudo-classes and pseudo-elements in CSS."
+ "In these lecture videos, you will learn about pseudo-classes and pseudo-elements, alongside their examples and how they work."
]
},
"workshop-greeting-card": {
@@ -2143,7 +2153,8 @@
"lab-job-application-form": {
"title": "Build a Job Application Form",
"intro": [
- "In this lab you will build a job application form and style it using pseudo-classes."
+ "In this lab you'll build a job application form and style it using pseudo-classes.",
+ "You'll practice concepts like :hover, :active, :focus, and more."
]
},
"review-css-pseudo-classes": {
@@ -2162,7 +2173,7 @@
"lecture-working-with-colors-in-css": {
"title": "Working with Colors in CSS",
"intro": [
- "In these lecture videos, you will learn about working with colors in CSS."
+ "In these lecture videos, 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": {
@@ -2174,7 +2185,7 @@
"lab-colored-boxes": {
"title": "Design a Set of Colored Boxes",
"intro": [
- "In this lab, you'll practice using CSS colors by designing boxes"
+ "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": {
@@ -2193,7 +2204,7 @@
"lecture-best-practices-for-styling-forms": {
"title": "Best Practices for Styling Forms",
"intro": [
- "In these lecture videos, you will learn about the best practices for styling forms."
+ "In these lecture videos, you will learn about the best practices for styling forms and issues you can encounter while styling special inputs like color and datetime-local."
]
},
"workshop-registration-form": {
@@ -2206,7 +2217,7 @@
"lab-contact-form": {
"title": "Design a Contact Form",
"intro": [
- "In this lab, you will design a contact form in HTML and style it using CSS."
+ "In this lab, you'll design a contact form in HTML and style it using CSS."
]
},
"review-styling-forms": {
@@ -2225,7 +2236,7 @@
"lecture-working-with-css-transforms-overflow-and-filters": {
"title": "Working with CSS Transforms, Overflow, and Filters",
"intro": [
- "In these lecture videos, you will learn about working with CSS transforms, overflow, and filters."
+ "In these lecture videos, 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": {
@@ -2238,7 +2249,7 @@
"lab-confidential-email-page": {
"title": "Build a Confidential Email Page",
"intro": [
- "For this lab, you will create a web page of a confidential email using HTML and CSS."
+ "In this lab, you'll create a web page using HTML and mask the content using CSS properties."
]
},
"review-css-layout-and-effects": {
@@ -2257,7 +2268,7 @@
"lecture-working-with-css-flexbox": {
"title": "Working with CSS Flexbox",
"intro": [
- "In these lecture videos, you will learn about working with CSS flexbox."
+ "In these lecture videos, you will learn how CSS flexbox works, its properties, and when you should use it."
]
},
"workshop-flexbox-photo-gallery": {
@@ -2270,7 +2281,8 @@
"lab-page-of-playing-cards": {
"title": "Build a Page of Playing Cards",
"intro": [
- "For this lab, you will use flexbox to create a webpage of playing cards."
+ "In this lab, you'll use flexbox to create a webpage of playing cards.",
+ "You'll practice aligning elements using flexbox properties like flex-direction, justify-content, align-self, and more."
]
},
"review-css-flexbox": {
@@ -2289,7 +2301,7 @@
"lecture-working-with-css-fonts": {
"title": "Working with CSS Fonts",
"intro": [
- "In these lecture videos, you will learn about working with CSS fonts."
+ "In these lecture videos, you will learn about typography and its best practices, fonts, and the text-shadow property."
]
},
"workshop-nutritional-label": {
@@ -2302,7 +2314,8 @@
"lab-newspaper-article": {
"title": "Build a Newspaper Article",
"intro": [
- "In this lab, you will build a newspaper article page using HTML and CSS."
+ "In this lab, you'll build a newspaper article page using HTML and CSS.",
+ "You'll style the fonts using properties like font-family, font-size, font-weight, and more."
]
},
"review-css-typography": {
@@ -2319,7 +2332,7 @@
"lecture-best-practices-for-accessibility-and-css": {
"title": "Best Practices for Accessibility and CSS",
"intro": [
- "In these lecture videos, you will learn about best practices for accessibility in CSS."
+ "In these lecture videos, you will learn about best practices for accessibility in CSS, and the tools for checking good color contrast on websites."
]
},
"workshop-accessibility-quiz": {
@@ -2332,7 +2345,7 @@
"lab-tribute-page": {
"title": "Build a Tribute Page",
"intro": [
- "For this lab, you will build a tribute page for a subject of your choosing, fictional or real."
+ "in this lab, you'll build a tribute page for a subject of your choosing, fictional or real."
]
},
"review-css-accessibility": {
@@ -2351,7 +2364,7 @@
"lecture-working-with-attribute-selectors": {
"title": "Working with Attribute Selectors",
"intro": [
- "In these lecture videos, you will learn about working with attribute selectors."
+ "In these lecture videos, you will learn about attribute selectors and how to use them to target elements like links and lists."
]
},
"workshop-balance-sheet": {
@@ -2363,7 +2376,10 @@
},
"lab-book-inventory-app": {
"title": "Build a Book Inventory App",
- "intro": ["For this lab, you will create a book inventory app."]
+ "intro": [
+ "In this lab, you'll create a book inventory app.",
+ "You'll practice CSS attribute selectors like [attribute], [attribute=value], [attribute~=value], and more."
+ ]
},
"review-css-attribute-selectors": {
"title": "CSS Attribute Selectors Review",
@@ -2381,7 +2397,7 @@
"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 lecture videos, you will learn about how to work with floats and positioning in CSS."
+ "In these lecture videos, you will learn how to use CSS positioning and floats. You will learn about absolute, relative, fixed, and sticky positioning. You will also use the z-index property."
]
},
"workshop-cat-painting": {
@@ -2393,7 +2409,10 @@
},
"lab-house-painting": {
"title": "Build a House Painting",
- "intro": ["For this lab, you will build a house painting using CSS."]
+ "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 position, top, left, and more."
+ ]
},
"review-css-positioning": {
"title": "CSS Positioning Review",
@@ -2411,7 +2430,7 @@
"lecture-best-practices-for-responsive-web-design": {
"title": "Best Practices for Responsive Web Design",
"intro": [
- "In these lecture videos, you will learn about the best practices for responsive web design."
+ "In these lecture videos, 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": {
@@ -2424,7 +2443,8 @@
"lab-technical-documentation-page": {
"title": "Build a Technical Documentation Page",
"intro": [
- "For this lab, you will build a technical documentation page to serve as instruction or reference for a topic."
+ "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": {
@@ -2443,7 +2463,7 @@
"lecture-working-with-css-variables": {
"title": "Working with CSS Variables",
"intro": [
- "In these lecture videos, you will learn about working with CSS variables."
+ "In these lecture videos, you will learn how to define and use custom properties (also known as CSS variables). You will also learn about the @property rule and how it works."
]
},
"workshop-city-skyline": {
@@ -2455,7 +2475,10 @@
},
"lab-availability-table": {
"title": "Build an Availability Table",
- "intro": ["For this lab, you will create 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",
@@ -2473,7 +2496,7 @@
"lecture-working-with-css-grid": {
"title": "Working with CSS Grid",
"intro": [
- "In these lecture videos, you will learn about working with CSS grid."
+ "In these lecture videos, you will learn about CSS grid, its several properties and how to use them, and how CSS grid differs from flexbox."
]
},
"workshop-magazine": {
@@ -2483,9 +2506,11 @@
"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."
]
},
- "ogko": {
- "title": "114",
- "intro": []
+ "lab-magazine-layout": {
+ "title": "Design a Magazine Layout",
+ "intro": [
+ "In this lab, you will design a magazine layout using CSS Grid, including concepts like grid rows and grid columns."
+ ]
},
"lecture-debugging-css": {
"title": "Debugging CSS",
@@ -2496,7 +2521,7 @@
"lab-product-landing-page": {
"title": "Build a Product Landing Page",
"intro": [
- "For this project, you will build a product landing page to market a product of your choice."
+ "In this project, you'll build a product landing page to market a product of your choice."
]
},
"review-css-grid": {
@@ -2513,7 +2538,7 @@
"lecture-animations-and-accessibility": {
"title": "Animations and Accessibility",
"intro": [
- "In these lecture videos, you will learn about animations and accessibility."
+ "In these lecture videos, you will learn about CSS animations and their accessibility concerns. You will also learn how prefers-reduced-motion can help address those accessibility concerns."
]
},
"workshop-ferris-wheel": {
@@ -2526,7 +2551,8 @@
"lab-moon-orbit": {
"title": "Build a Moon Orbit",
"intro": [
- "For this lab, you will create an animation of the moon orbiting the earth."
+ "In this lab, you'll create an animation of the moon orbiting the earth.",
+ "You'll practice animation properties like animation-name, animation-duration, animation-timing-function, and more."
]
},
"workshop-flappy-penguin": {
@@ -2539,7 +2565,7 @@
"lab-personal-portfolio": {
"title": "Build a Personal Portfolio",
"intro": [
- "For this project, you will build your own personal portfolio page."
+ "In this project, you'll build your own personal portfolio page."
]
},
"review-css-animations": {
@@ -2567,15 +2593,15 @@
"intro": []
},
"lecture-working-with-code-editors-and-ides": {
- "title": "Working with Code Editors and IDE's",
+ "title": "Working with Code Editors and IDEs",
"intro": [
- "In these lecture videos, you will learn about working with code editors and IDE's."
+ "In these lecture videos, 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 lecture videos, you will get a basic introduction to JavaScript."
+ "In these lecture videos, 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."
]
},
"workshop-greeting-bot": {
@@ -2588,13 +2614,14 @@
"lab-javascript-trivia-bot": {
"title": "Build a JavaScript Trivia Bot",
"intro": [
- "In this lab, you will practice working with JavaScript variables and strings by building a trivia bot."
+ "In this lab, you'll practice working with JavaScript variables and strings by building a trivia bot.",
+ "You'll practice how to use variables and basic strings."
]
},
"lecture-working-with-data-types": {
"title": "Working with Data Types",
"intro": [
- "In these lecture videos, you will learn about data types in JavaScript."
+ "In the following lecture videos, you will learn how to work with data types in JavaScript. You will also learn how dynamic typing differs from static typing, the typeof operator, and the typeof null bug."
]
},
"review-javascript-variables-and-data-types": {
@@ -2613,7 +2640,7 @@
"lecture-working-with-strings-in-javascript": {
"title": "Working with Strings in JavaScript",
"intro": [
- "In these lecture videos, you will learn about working with strings in JavaScript."
+ "In these lecture videos, 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": {
@@ -2626,7 +2653,7 @@
"lecture-working-with-common-string-methods": {
"title": "Working with Common String Methods",
"intro": [
- "In these lecture videos, you will learn about common String methods."
+ "In these lecture videos, you will learn about the common string methods available in JavaScript. The string methods will let you do things like extracting a part of a string, changing the casing for a string, replacing a part of a string, trimming whitespace from a string, and much more."
]
},
"review-javascript-strings": {
@@ -2645,7 +2672,7 @@
"lecture-working-with-numbers-booleans-and-the-math-object": {
"title": "Working with Numbers, Booleans, and the Math Object",
"intro": [
- "In these lecture videos, you will learn about numbers, booleans, and the Math object."
+ "In these lecture videos, you will dive into the fundamentals of JavaScript. These include numbers, booleans, and the Math object. You will learn about different types of numbers, how arithmetic and comparison operators work, how JavaScript behaves when you combine strings and numbers in calculations, and much more."
]
},
"workshop-mathbot": {
@@ -2657,13 +2684,14 @@
"lab-fortune-teller": {
"title": "Build a Fortune Teller",
"intro": [
- "In this lab, you will build a fortune teller by randomly selecting a fortune from the available fortunes."
+ "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 Math.random() method and the Math.floor() method to generate random numbers."
]
},
"lecture-working-with-numbers-and-common-number-methods": {
"title": "Working with Numbers and Common Number Methods",
"intro": [
- "In these lecture videos, you will learn about numbers and common Number methods."
+ "In these lecture videos, you will learn about numbers and common number methods. These include isNaN(), parseInt(), parseFloat(), and toFixed()."
]
},
"review-javascript-math": {
@@ -2680,7 +2708,7 @@
"lecture-understanding-comparisons-and-conditionals": {
"title": "Understanding Comparisons and Conditionals",
"intro": [
- "In these lecture videos, you will learn about comparisons and conditionals."
+ "In these lecture videos, you will learn about comparison operators and conditionals. You will learn how the various conditionals differ from one another, and how comparisons work with null and undefined."
]
},
"review-javascript-comparisons-and-conditionals": {
@@ -2699,7 +2727,7 @@
"lecture-working-with-functions": {
"title": "Working with Functions",
"intro": [
- "In these lecture videos, you will learn about working with functions."
+ "In these lecture videos, 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": {
@@ -2711,13 +2739,14 @@
"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."
+ "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."
]
},
"lab-sentence-maker": {
"title": "Build a Sentence Maker",
"intro": [
- "In this lab, you will create different stories by assigning different words to different variables."
+ "In this lab, you'll create different stories by assigning different words to different variables."
]
},
"workshop-loan-qualification-checker": {
@@ -2730,7 +2759,7 @@
"lab-leap-year-calculator": {
"title": "Build a Leap Year Calculator ",
"intro": [
- "In this lab you will use conditional statements and loops to determine if a year is a leap year."
+ "In this lab you'll use conditional statements and loops to determine if a year is a leap year."
]
},
"review-javascript-functions": {
@@ -2749,7 +2778,7 @@
"lecture-working-with-arrays": {
"title": "Working with Arrays",
"intro": [
- "In these lecture videos, you will learn about working with JavaScript arrays."
+ "In these lecture videos, 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": {
@@ -2762,13 +2791,13 @@
"lab-lunch-picker-program": {
"title": "Build a Lunch Picker Program",
"intro": [
- "In this lab, you will review working with arrays and random numbers by building a lunch picker program."
+ "In this lab, you'll review working with arrays and random numbers by building a lunch picker program."
]
},
"lecture-working-with-common-array-methods": {
"title": "Working with Common Array Methods",
"intro": [
- "In these lecture videos, you will learn about common array methods."
+ "In these lecture videos, 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": {
@@ -2785,7 +2814,7 @@
"lecture-working-with-objects": {
"title": "Working with Objects",
"intro": [
- "In these lecture videos, you will learn about working with objects in JavaScript."
+ "In these lecture videos, you will learn how to work with JavaScript objects. The concepts you will learn include how to access properties from an object, check if an object has a property, how object methods differ from functions, object destructuring, and much more."
]
},
"workshop-recipe-tracker": {
@@ -2796,7 +2825,10 @@
},
"lab-quiz-game": {
"title": "Build a Quiz Game",
- "intro": ["For this lab, you will 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."
+ ]
},
"review-javascript-objects": {
"title": "JavaScript Objects Review",
@@ -2814,7 +2846,7 @@
"lecture-working-with-loops": {
"title": "Working with Loops",
"intro": [
- "In these lecture videos, you will learn about working with loops in JavaScript."
+ "Loops are an essential part of JavaScript. That's why the following lecture videos 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": {
@@ -2825,7 +2857,10 @@
},
"lab-factorial-calculator": {
"title": "Build a Factorial Calculator ",
- "intro": ["In this lab, you will 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."
+ ]
},
"review-javascript-loops": {
"title": "JavaScript Loops Review",
@@ -2841,38 +2876,47 @@
"lecture-understanding-core-javascript-fundamentals": {
"title": "Understanding Core JavaScript Fundamentals",
"intro": [
- "In these lecture videos, you will learn more about core JavaScript fundamentals."
+ "In these lecture videos, you will learn more about the core JavaScript fundamentals. You will learn how a string object differs from a primitive string, the toString() method, conventions and common practices for naming variables, linters and formatters, closures, and much more."
]
},
"lab-pyramid-generator": {
"title": "Build a Pyramid Generator",
- "intro": ["In this lab you will 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 will create 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 lecture videos, you will learn about the var keyword and hoisting in JavaScript."
+ "In these lecture videos, you will learn about the var 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-inventory-management-program": {
"title": "Build an Inventory Management Program",
"intro": [
- "For this lab, you will build an inventory management program using JavaScript."
+ "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 these lecture videos, you will learn about modules, imports, and exports in JavaScript."
+ "In this lecture video, you will learn about modules, imports, and exports in JavaScript."
]
},
"lab-password-generator": {
"title": "Build a Password Generator App",
- "intro": ["In this lab, you'll build a password generator app."]
+ "intro": [
+ "In this lab, you'll build a password generator app based on the user's input."
+ ]
},
"review-javascript-fundamentals": {
"title": "JavaScript Fundamentals Review",
@@ -2890,7 +2934,7 @@
"lecture-working-with-higher-order-functions-and-callbacks": {
"title": "Working with Higher Order Functions and Callbacks",
"intro": [
- "In these lecture videos, you will learn about working with higher order functions and callbacks."
+ "In these lecture videos, you will learn how to work with higher order functions and callbacks. The higher order functions you will learn include map(), filter(), reduce(), sort(), every(), and some(). You will also learn how to chain these methods together to achieve your desired results."
]
},
"workshop-library-manager": {
@@ -2902,7 +2946,7 @@
"lab-book-organizer": {
"title": "Build a Book Organizer",
"intro": [
- "In this lab, you will build a book organizer using higher order functions in JavaScript."
+ "In this lab, you'll build a book organizer using higher order functions in JavaScript."
]
},
"review-javascript-higher-order-functions": {
@@ -2921,7 +2965,7 @@
"lecture-working-with-the-dom-click-events-and-web-apis": {
"title": "Working with the DOM, Click Events, and Web APIs",
"intro": [
- "In these lecture videos, you will learn how to work with the DOM, click events, and web APIs, using JavaScript."
+ "In these lecture videos, you will learn how to work with the Document Object Model (DOM), the `addEventListener()` method and events, and web APIs."
]
},
"workshop-storytelling-app": {
@@ -2933,7 +2977,7 @@
"lab-favorite-icon-toggler": {
"title": "Build a Favorite Icon Toggler",
"intro": [
- "In this lab, you will build a favorite icon toggler by utilizing JavaScript click events."
+ "In this lab, you'll build a favorite icon toggler by utilizing JavaScript click events."
]
},
"review-dom-manipulation-and-click-events-with-javascript": {
@@ -2952,7 +2996,7 @@
"lecture-understanding-the-event-object-and-event-delegation": {
"title": "Understanding the Event Object and Event Delegation",
"intro": [
- "In these lecture videos, you will learn about the event object and event delegation."
+ "In these lecture videos, you will learn about the event object, the change event, event bubbling, and event delegation."
]
},
"workshop-music-instrument-filter": {
@@ -2963,12 +3007,16 @@
},
"lab-real-time-counter": {
"title": "Build a Real Time Counter",
- "intro": ["In this lab, you will build a real-time character counter"]
+ "intro": [
+ "In this lab, you'll build a real-time character counter",
+ "You'll practice how to work with the input event when the user types in the input field."
+ ]
},
"lab-lightbox-viewer": {
"title": "Build a Lightbox Viewer",
"intro": [
- "In this lab, you will build a lighbox viewer for viewing images in a focused mode."
+ "In this lab, you'll build a lighbox viewer for viewing images in a focused mode.",
+ "You'll practice click events and toggling classes."
]
},
"workshop-rps-game": {
@@ -2986,7 +3034,7 @@
"lab-football-team-cards": {
"title": "Build a Set of Football Team Cards",
"intro": [
- "One common aspect of building web applications is processing datasets and outputting information to the screen. In this project, you will use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards."
+ "In this lab, you'll use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards."
]
},
"review-javascript-events": {
@@ -3003,13 +3051,13 @@
"lecture-debugging-techniques": {
"title": "Debugging Techniques",
"intro": [
- "In these lecture videos, you will learn debugging techniques."
+ "In these lecture videos, 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": [
- "For this lab, you will debug a random background color changer and fix the errors to make it work properly."
+ "In this lab, you'll debug a random background color changer and fix the errors to make it work properly."
]
},
"review-debugging-javascript": {
@@ -3028,7 +3076,7 @@
"lecture-working-with-regular-expressions": {
"title": "Working with Regular Expressions",
"intro": [
- "In these lecture videos, you will learn about regular expressions in JavaScript."
+ "In these lecture videos, 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": {
@@ -3041,12 +3089,13 @@
"lab-markdown-to-html-converter": {
"title": "Build a Markdown to HTML Converter",
"intro": [
- "For this lab, you will build a Markdown to HTML converter using JavaScript."
+ "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 will build a regex sandbox."]
+ "intro": ["In this lab you'll build a regex sandbox."]
},
"review-javascript-regular-expressions": {
"title": "JavaScript Regular Expressions Review",
@@ -3064,7 +3113,7 @@
"lecture-understanding-form-validation": {
"title": "Understanding Form Validation",
"intro": [
- "In these lecture videos, you will learn about form validation in JavaScript."
+ "In these lecture videos, you will learn about form validation in JavaScript. You will learn about the various ways to validate forms, how the preventDefault() method works, and how the submit event works."
]
},
"workshop-calorie-counter": {
@@ -3077,7 +3126,8 @@
"lab-customer-complaint-form": {
"title": "Build a Customer Complaint Form",
"intro": [
- "For this lab, you will use JavaScript to validate a customer complaint form."
+ "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": {
@@ -3096,13 +3146,13 @@
"lecture-working-with-dates": {
"title": "Working with Dates",
"intro": [
- "In these lecture videos, you will learn about working with JavaScript dates."
+ "In these lecture videos, 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 will build a program to convert a date from one format to another."
+ "In this lab, you'll build a program to convert a date from one format to another."
]
},
"review-javascript-dates": {
@@ -3119,7 +3169,7 @@
"lecture-working-with-audio-and-video": {
"title": "Working with Audio and Video",
"intro": [
- "In these lecture videos, you will learn about working with audio and video using JavaScript."
+ "In these lecture videos, you will learn how to work with audio and video files using JavaScript. You will learn about the Audio and Video constructors, their methods and properties, audio and video formats, codecs, the HTMLMediaElement API, and much more."
]
},
"workshop-music-player": {
@@ -3129,9 +3179,11 @@
"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."
]
},
- "crzf": {
- "title": "222",
- "intro": []
+ "lab-drum-machine": {
+ "title": "Build a Drum Machine",
+ "intro": [
+ "For this lab you will use the audio element to build a drum machine."
+ ]
},
"review-javascript-audio-and-video": {
"title": "JavaScript Audio and Video Review",
@@ -3149,7 +3201,7 @@
"lecture-working-with-maps-and-sets": {
"title": "Working with Maps and Sets",
"intro": [
- "In these lecture videos, you will learn about JavaScript Maps and Sets."
+ "In these lecture videos, you will learn about JavaScript Map and Set. You will also learn how they both differ from WeakSets and WeakMaps"
]
},
"workshop-plant-nursery-catalog": {
@@ -3161,7 +3213,8 @@
"lab-voting-system": {
"title": "Build a Voting System",
"intro": [
- "In this lab, you will build a voting system using Maps and Sets."
+ "In this lab, you'll build a voting system using Maps and Sets.",
+ "You'll practice how to use the Map object to store key-value pairs and the Set object to store unique values."
]
},
"review-javascript-maps-and-sets": {
@@ -3180,7 +3233,7 @@
"lecture-working-with-client-side-storage-and-crud-operations": {
"title": "Working with Client-Side Storage and CRUD Operations",
"intro": [
- "In these lecture videos, you will learn about client-side storage and CRUD operations with JavaScript."
+ "In these lecture videos, you will learn about client-side storage and CRUD operations in JavaScript. You will learn about localStorage and sessionStorage alongside their methods and properties, cookies, the Cache API, IndexDB, and much more."
]
},
"workshop-todo-app": {
@@ -3192,7 +3245,10 @@
},
"lab-bookmark-manager-app": {
"title": "Build a Bookmark Manager App",
- "intro": ["For this lab, you will 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",
@@ -3210,7 +3266,7 @@
"lecture-understanding-how-to-work-with-classes-in-javascript": {
"title": "Understanding How to Work with Classes in JavaScript",
"intro": [
- "In these lecture videos, you will learn about working with classes in JavaScript."
+ "In these lecture videos, you will learn about classes in JavaScript. You will learn about inheritance, the this keyword, static properties and methods, and more."
]
},
"workshop-shopping-cart": {
@@ -3223,13 +3279,14 @@
"lab-project-idea-board": {
"title": "Build a Project Idea Board",
"intro": [
- "In this lab, you will build a project idea board using OOP in JavaScript."
+ "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 will build a simple transaction management system for a bank account."
+ "In this lab, you'll build a simple transaction management system for a bank account."
]
},
"review-javascript-classes": {
@@ -3248,7 +3305,7 @@
"lecture-understanding-recursion-and-the-call-stack": {
"title": "Understanding Recursion and the Call Stack",
"intro": [
- "In these lecture videos, you will learn about recursion and the call stack."
+ "In this lecture video, you will learn about recursion and the call stack."
]
},
"workshop-decimal-to-binary-converter": {
@@ -3261,7 +3318,7 @@
"lab-permutation-generator": {
"title": "Build a Permutation Generator",
"intro": [
- "For this lab, you will build a permutation generator that produces all possible permutations of a given string."
+ "For this lab, you'll build a permutation generator that produces all possible permutations of a given string."
]
},
"review-recursion": {
@@ -3278,7 +3335,7 @@
"lecture-understanding-functional-programming": {
"title": "Understanding Functional Programming",
"intro": [
- "In these lecture videos, you will learn about functional programming."
+ "In these lecture videos, you will learn about functional programming and how to nest functions using a technique called currying."
]
},
"workshop-recipe-ingredient-converter": {
@@ -3291,7 +3348,7 @@
"lab-sorting-visualizer": {
"title": "Build a Sorting Visualizer",
"intro": [
- "For this lab, you will use JavaScript to visualize the steps that the Bubble Sort algorithm takes to reorder an array of integers."
+ "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": {
@@ -3310,7 +3367,7 @@
"lecture-understanding-asynchronous-programming": {
"title": "Understanding Asynchronous Programming",
"intro": [
- "In these lecture videos, you will learn about asynchronous programming."
+ "In these lecture videos, you will learn about asynchronous programming in JavaScript. You will learn about the differences between synchronous and asynchronous programming, how the asnyc keyword works, the Fetch API, promises, async/await, the Geolocation API, and much more."
]
},
"workshop-fcc-authors-page": {
@@ -3323,7 +3380,7 @@
"lab-fcc-forum-leaderboard": {
"title": "Build an fCC Forum Leaderboard",
"intro": [
- "For this lab you will practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard."
+ "For this lab you'll practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard."
]
},
"review-asynchronous-javascript": {
@@ -3352,7 +3409,7 @@
"lecture-introduction-to-javascript-libraries-and-frameworks": {
"title": "Introduction to JavaScript Libraries and Frameworks",
"intro": [
- "In these lecture videos, you will get an introduction to JavaScript libraries and frameworks."
+ "In these lecture videos, 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": {
@@ -3364,12 +3421,12 @@
},
"lab-reusable-footer": {
"title": "Build a Reusable Footer",
- "intro": ["In this lab, you will use React to 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 lecture videos, you will learn about working with data in React."
+ "In these lecture videos, you will learn how to work with data in React. You will learn about props and how to pass them around, conditional rendering, how to render lists, and how to use inline styles."
]
},
"workshop-reusable-profile-card-component": {
@@ -3381,7 +3438,8 @@
"lab-mood-board": {
"title": "Build a Mood Board",
"intro": [
- "In this lab, you will create a mood board using a React with props."
+ "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": {
@@ -3443,7 +3501,8 @@
"lab-weather-app": {
"title": "Build a Weather App",
"intro": [
- "In this lab you will build a Weather App using an API to fetch the data."
+ "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."
]
},
"ffpt": {
diff --git a/client/i18n/locales/portuguese/translations.json b/client/i18n/locales/portuguese/translations.json
index c6df92fbcfa..9fa9994d85f 100644
--- a/client/i18n/locales/portuguese/translations.json
+++ b/client/i18n/locales/portuguese/translations.json
@@ -106,7 +106,9 @@
"donate-now": "Doe agora",
"confirm-amount": "Confirmar o valor",
"play-scene": "Pressione Play",
- "closed-caption": "Versão legendada"
+ "closed-caption": "Versão legendada",
+ "share-on-bluesky": "Share on BlueSky",
+ "share-on-threads": "Share on Threads"
},
"landing": {
"big-heading-1": "Aprenda a programar — de graça.",
@@ -357,7 +359,7 @@
"challenge": "Desafio",
"completed": "Concluído",
"add-linkedin": "Adicionar esta certificação ao meu perfil do LinkedIn",
- "add-twitter": "Compartilhar esta certificação no Twitter",
+ "add-twitter": "Share this certification on X",
"tweet": "Acabei de receber a certificação {{certTitle}} @freeCodeCamp! Confira aqui: {{certURL}}",
"avatar": "Avatar de {{username}}",
"joined": "Entrou em {{date}}",
@@ -366,7 +368,9 @@
"points": "{{count}} ponto em {{date}}",
"points_plural": "{{count}} pontos em {{date}}",
"page-number": "{{pageNumber}} de {{totalPages}}",
- "edit-my-profile": "Editar meu perfil"
+ "edit-my-profile": "Editar meu perfil",
+ "add-bluesky": "Share this certification on BlueSky",
+ "add-threads": "Share this certification on Threads"
},
"footer": {
"tax-exempt-status": "O freeCodeCamp é uma organização beneficente 501(c)(3), isenta de impostos e apoiada por doações (Número de identificação fiscal federal dos Estados Unidos: 82-0779546).",
@@ -421,6 +425,7 @@
"assignments": "Tarefas",
"question": "Questão",
"questions": "Questão",
+ "answered-mcq": "You have unanswered questions and/or incorrect answers.",
"explanation": "Explicação",
"solution-link": "Link da solução",
"source-code-link": "Link do código-fonte",
@@ -1055,8 +1060,8 @@
"responsive-web-design-cert": "Responsive Web Design Certification",
"javascript-algorithms-and-data-structures": "Legacy JavaScript Algorithms and Data Structures",
"javascript-algorithms-and-data-structures-cert": "Legacy JavaScript Algorithms and Data Structures Certification",
- "javascript-algorithms-and-data-structures-v8": "JavaScript Algorithms and Data Structures (Beta)",
- "javascript-algorithms-and-data-structures-v8-cert": "JavaScript Algorithms and Data Structures (Beta) Certification",
+ "javascript-algorithms-and-data-structures-v8": "JavaScript Algorithms and Data Structures",
+ "javascript-algorithms-and-data-structures-v8-cert": "JavaScript Algorithms and Data Structures Certification",
"front-end-development-libraries": "Front End Development Libraries",
"front-end-development-libraries-cert": "Front End Development Libraries Certification",
"data-visualization": "Data Visualization",
diff --git a/client/i18n/locales/swahili/intro.json b/client/i18n/locales/swahili/intro.json
index 8a9f599f490..e670d7c32d5 100644
--- a/client/i18n/locales/swahili/intro.json
+++ b/client/i18n/locales/swahili/intro.json
@@ -300,7 +300,7 @@
}
},
"javascript-algorithms-and-data-structures-v8": {
- "title": "JavaScript Algorithms and Data Structures (Beta)",
+ "title": "JavaScript Algorithms and Data Structures",
"intro": [
"Developers use HTML and CSS to control the content and styling of a page. And they use JavaScript to make that page interactive.",
"In this JavaScript Algorithm and Data Structures Certification, you'll learn the JavaScript fundamentals like variables, arrays, objects, loops, functions, the DOM and more.",
@@ -772,9 +772,9 @@
}
},
"scientific-computing-with-python": {
- "title": "Scientific Computing with Python (Beta)",
+ "title": "Scientific Computing with Python",
"intro": [
- "The Scientific Computing with Python (Beta) 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.",
+ "The Scientific Computing with Python curriculum will equip you with the skills to analyze and manipulate data using Python, a powerful and versatile programming language. You'll learn key concepts like data structures, algorithm, Object Oriented Programming, and how to perform complex calculations using a variety of tools.",
"This comprehensive course will guide you through the fundamentals of scientific computing, including data structures, and algorithms."
],
"note": "",
@@ -1187,7 +1187,7 @@
}
},
"the-odin-project": {
- "title": "The Odin Project - freeCodeCamp Remix (Beta)",
+ "title": "The Odin Project - freeCodeCamp Remix",
"intro": [
"The Odin Project was created in 2013 by a lone developer, Erik Trautman. Over the years, an open source community has sprung up to maintain and expand the project.",
"freeCodeCamp has expanded upon the open source curriculum to make it run interactively in the browser, with tests to evaluate your code and ensure you've understood key concepts.",
@@ -1601,7 +1601,9 @@
},
"learn-how-to-plan-future-events": {
"title": "Learn How to Plan Future Events",
- "intro": ["", ""]
+ "intro": [
+ "In this course, you will learn to use the different forms of the future to plan for upcoming events."
+ ]
},
"learn-future-continuous-while-describing-actions": {
"title": "Learn Future Continuous while Describing Actions",
@@ -1797,7 +1799,7 @@
"lab-recipe-page": {
"title": "Build a Recipe Page",
"intro": [
- "For this lab, you will review HTML basics by creating a web page of your favorite recipe. This lab will give you an opportunity to review working with an HTML boilerplate, headings, lists and images."
+ "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": {
@@ -1809,7 +1811,7 @@
"lab-travel-agency-page": {
"title": "Build a Travel Agency Page",
"intro": [
- "For this lab, you will review working with HTML fundamentals by creating a web page for a travel agency. This lab will give you an opportunity to review working with images, the figure element, the figcaption element, the anchor element and more."
+ "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 figure element, the figcaption element, the anchor element, and more."
]
},
"lecture-working-with-media": {
@@ -1821,7 +1823,7 @@
"lab-video-compilation-page": {
"title": "Build a Video Compilation Page",
"intro": [
- "For this lab, you will create a video compilation web page. This lab will give you the opportunity to practice working with the iframe element."
+ "In this lab, you'll create a video compilation web page. You'll practice working with the iframe element."
]
},
"lecture-working-with-links": {
@@ -1858,8 +1860,7 @@
"lab-event-hub": {
"title": "Build an Event Hub",
"intro": [
- "In this lab, you will review working with semantic HTML elements by building an event hub.",
- "This lab will give you an opportunity to review working with the header, nav, article elements."
+ "In this lab, you'll build an event hub and review semantic elements like header, nav, article, and more."
]
},
"review-semantic-html": {
@@ -1891,8 +1892,8 @@
"lab-survey-form": {
"title": "Build a Survey Form",
"intro": [
- "For this lab, you will review working with HTML forms by creating a survey form.",
- "This lab will give you the opportunity to practice working with the label element, the different input elements, the required attribute, and more. "
+ "In this lab, you'll review HTML forms by creating a survey form.",
+ "You'll practice working with the label element, the different input elements, the required attribute, and more. "
]
},
"lecture-working-with-tables": {
@@ -1910,8 +1911,8 @@
"lab-book-catalog-table": {
"title": "Build a Book Catalog Table",
"intro": [
- "In this lab, you will review working with HTML tables by building a table filled with book information.",
- "This lab will give you an opportunity to practice working with the different table components like the Table Head, Table Row and Table Data Cell elements."
+ "In this lab, you'll review HTML tables by building a book information table.",
+ "You'll practice the different table components like the thead, tbody, th, tr, and td elements."
]
},
"lecture-working-with-html-tools": {
@@ -1941,7 +1942,10 @@
},
"lab-checkout-page": {
"title": "Build a Checkout Page",
- "intro": ["In this lab, you will create an accessible checkout page."]
+ "intro": [
+ "In this lab, you'll create an accessible checkout page.",
+ "You'll practice concepts like alt attributes and aria roles."
+ ]
},
"review-html-accessibility": {
"title": "HTML Accessibility Review",
@@ -1970,19 +1974,19 @@
"lecture-understanding-computer-internet-and-tooling-basics": {
"title": "Understanding Computer, Internet, and Tooling Basics",
"intro": [
- "In these lecture videos, you will learn about computer, internet, and tooling basics."
+ "In these lecture videos, 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 lecture videos, you will learn about working with file systems."
+ "In these lecture videos, 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 lecture videos, you will learn how to browse the web effectively."
+ "In these lecture videos, 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": {
@@ -2000,7 +2004,9 @@
},
"lecture-what-is-css": {
"title": "What Is CSS?",
- "intro": ["In these lecture videos, you will learn what CSS is."]
+ "intro": [
+ "The following lecture videos 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",
@@ -2012,20 +2018,21 @@
"lab-business-card": {
"title": "Design a Business Card",
"intro": [
- "In this lab, you'll create a business card and style it using CSS."
+ "In this lab, you'll create a business card and style it using CSS.",
+ "You'll practice style properties like color, font-size, text-align, and more."
]
},
"lecture-css-specificity-the-cascade-algorithm-and-inheritance": {
"title": "CSS Specificity, the Cascade Algorithm, and Inheritance",
"intro": [
- "In these lecture videos, you will learn about CSS specificity, the cascade algorithm, and inheritance."
+ "In these lecture videos, you will learn about CSS specificity, the common selectors and their specificities, the cascade algorithm, inheritance, and more."
]
},
"review-basic-css": {
"title": "Basic CSS Review",
"intro": [
"Before you are quizzed on basic CSS concepts, you first need to review.",
- "Open up this page to review concepts including margin, padding, CSS combinators, CSS Specificity and more."
+ "Open up this page to review concepts including margin, padding, CSS combinators, CSS specificity and more."
]
},
"quiz-basic-css": {
@@ -2037,29 +2044,31 @@
"lecture-styling-lists-and-links": {
"title": "Styling Lists and Links",
"intro": [
- "In these lecture videos, you will learn about styling lists and links."
+ "In these lecture videos, you will learn the properties you need to know to effectively style lists and links, including link states like link, visited, hover, and active."
]
},
"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"
+ "In this lab, you'll build a To-Do list and apply different styles to the links",
+ "You'll practice style properties like text-decoration, list-style-type and how to change styles on hover or click."
]
},
"lecture-working-with-backgrounds-and-borders": {
"title": "Working with Backgrounds and Borders",
"intro": [
- "In these lecture videos, you will learn about working with backgrounds and borders."
+ "In these lecture videos, 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"
+ "In this lab, you'll design a blog post card using HTML and CSS",
+ "You'll practice concepts like background-color, border-radius, margins, paddings, and more."
]
},
"review-css-backgrounds-and-borders": {
- "title": "CSS Backgrounds and Borders Review",
+ "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 background-image property, border property and more."
@@ -2074,19 +2083,19 @@
"lecture-user-interface-design-fundamentals": {
"title": "User Interface Design Fundamentals",
"intro": [
- "In these lecture videos, you will learn about user interface design fundamentals."
+ "In these lecture videos, 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 lecture videos, you will learn about user-centered design."
+ "In these lecture videos, 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 lecture videos, you will learn about common design tools."
+ "In these lecture videos, 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": {
@@ -2105,13 +2114,14 @@
"lecture-working-with-relative-and-absolute-units": {
"title": "Working with Relative and Absolute Units",
"intro": [
- "In these lecture videos, you will learn about working with relative and absolute units."
+ "In these lecture videos, 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 will use absolute and relative CSS units to create an event flyer page."
+ "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": {
@@ -2130,7 +2140,7 @@
"lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": {
"title": "Working with Pseudo-Classes and Pseudo-Elements in CSS",
"intro": [
- "In these lecture videos, you will learn about working with pseudo-classes and pseudo-elements in CSS."
+ "In these lecture videos, you will learn about pseudo-classes and pseudo-elements, alongside their examples and how they work."
]
},
"workshop-greeting-card": {
@@ -2143,7 +2153,8 @@
"lab-job-application-form": {
"title": "Build a Job Application Form",
"intro": [
- "In this lab you will build a job application form and style it using pseudo-classes."
+ "In this lab you'll build a job application form and style it using pseudo-classes.",
+ "You'll practice concepts like :hover, :active, :focus, and more."
]
},
"review-css-pseudo-classes": {
@@ -2162,7 +2173,7 @@
"lecture-working-with-colors-in-css": {
"title": "Working with Colors in CSS",
"intro": [
- "In these lecture videos, you will learn about working with colors in CSS."
+ "In these lecture videos, 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": {
@@ -2174,7 +2185,7 @@
"lab-colored-boxes": {
"title": "Design a Set of Colored Boxes",
"intro": [
- "In this lab, you'll practice using CSS colors by designing boxes"
+ "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": {
@@ -2193,7 +2204,7 @@
"lecture-best-practices-for-styling-forms": {
"title": "Best Practices for Styling Forms",
"intro": [
- "In these lecture videos, you will learn about the best practices for styling forms."
+ "In these lecture videos, you will learn about the best practices for styling forms and issues you can encounter while styling special inputs like color and datetime-local."
]
},
"workshop-registration-form": {
@@ -2206,7 +2217,7 @@
"lab-contact-form": {
"title": "Design a Contact Form",
"intro": [
- "In this lab, you will design a contact form in HTML and style it using CSS."
+ "In this lab, you'll design a contact form in HTML and style it using CSS."
]
},
"review-styling-forms": {
@@ -2225,7 +2236,7 @@
"lecture-working-with-css-transforms-overflow-and-filters": {
"title": "Working with CSS Transforms, Overflow, and Filters",
"intro": [
- "In these lecture videos, you will learn about working with CSS transforms, overflow, and filters."
+ "In these lecture videos, 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": {
@@ -2238,7 +2249,7 @@
"lab-confidential-email-page": {
"title": "Build a Confidential Email Page",
"intro": [
- "For this lab, you will create a web page of a confidential email using HTML and CSS."
+ "In this lab, you'll create a web page using HTML and mask the content using CSS properties."
]
},
"review-css-layout-and-effects": {
@@ -2257,7 +2268,7 @@
"lecture-working-with-css-flexbox": {
"title": "Working with CSS Flexbox",
"intro": [
- "In these lecture videos, you will learn about working with CSS flexbox."
+ "In these lecture videos, you will learn how CSS flexbox works, its properties, and when you should use it."
]
},
"workshop-flexbox-photo-gallery": {
@@ -2270,7 +2281,8 @@
"lab-page-of-playing-cards": {
"title": "Build a Page of Playing Cards",
"intro": [
- "For this lab, you will use flexbox to create a webpage of playing cards."
+ "In this lab, you'll use flexbox to create a webpage of playing cards.",
+ "You'll practice aligning elements using flexbox properties like flex-direction, justify-content, align-self, and more."
]
},
"review-css-flexbox": {
@@ -2289,7 +2301,7 @@
"lecture-working-with-css-fonts": {
"title": "Working with CSS Fonts",
"intro": [
- "In these lecture videos, you will learn about working with CSS fonts."
+ "In these lecture videos, you will learn about typography and its best practices, fonts, and the text-shadow property."
]
},
"workshop-nutritional-label": {
@@ -2302,7 +2314,8 @@
"lab-newspaper-article": {
"title": "Build a Newspaper Article",
"intro": [
- "In this lab, you will build a newspaper article page using HTML and CSS."
+ "In this lab, you'll build a newspaper article page using HTML and CSS.",
+ "You'll style the fonts using properties like font-family, font-size, font-weight, and more."
]
},
"review-css-typography": {
@@ -2319,7 +2332,7 @@
"lecture-best-practices-for-accessibility-and-css": {
"title": "Best Practices for Accessibility and CSS",
"intro": [
- "In these lecture videos, you will learn about best practices for accessibility in CSS."
+ "In these lecture videos, you will learn about best practices for accessibility in CSS, and the tools for checking good color contrast on websites."
]
},
"workshop-accessibility-quiz": {
@@ -2332,7 +2345,7 @@
"lab-tribute-page": {
"title": "Build a Tribute Page",
"intro": [
- "For this lab, you will build a tribute page for a subject of your choosing, fictional or real."
+ "in this lab, you'll build a tribute page for a subject of your choosing, fictional or real."
]
},
"review-css-accessibility": {
@@ -2351,7 +2364,7 @@
"lecture-working-with-attribute-selectors": {
"title": "Working with Attribute Selectors",
"intro": [
- "In these lecture videos, you will learn about working with attribute selectors."
+ "In these lecture videos, you will learn about attribute selectors and how to use them to target elements like links and lists."
]
},
"workshop-balance-sheet": {
@@ -2363,7 +2376,10 @@
},
"lab-book-inventory-app": {
"title": "Build a Book Inventory App",
- "intro": ["For this lab, you will create a book inventory app."]
+ "intro": [
+ "In this lab, you'll create a book inventory app.",
+ "You'll practice CSS attribute selectors like [attribute], [attribute=value], [attribute~=value], and more."
+ ]
},
"review-css-attribute-selectors": {
"title": "CSS Attribute Selectors Review",
@@ -2381,7 +2397,7 @@
"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 lecture videos, you will learn about how to work with floats and positioning in CSS."
+ "In these lecture videos, you will learn how to use CSS positioning and floats. You will learn about absolute, relative, fixed, and sticky positioning. You will also use the z-index property."
]
},
"workshop-cat-painting": {
@@ -2393,7 +2409,10 @@
},
"lab-house-painting": {
"title": "Build a House Painting",
- "intro": ["For this lab, you will build a house painting using CSS."]
+ "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 position, top, left, and more."
+ ]
},
"review-css-positioning": {
"title": "CSS Positioning Review",
@@ -2411,7 +2430,7 @@
"lecture-best-practices-for-responsive-web-design": {
"title": "Best Practices for Responsive Web Design",
"intro": [
- "In these lecture videos, you will learn about the best practices for responsive web design."
+ "In these lecture videos, 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": {
@@ -2424,7 +2443,8 @@
"lab-technical-documentation-page": {
"title": "Build a Technical Documentation Page",
"intro": [
- "For this lab, you will build a technical documentation page to serve as instruction or reference for a topic."
+ "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": {
@@ -2443,7 +2463,7 @@
"lecture-working-with-css-variables": {
"title": "Working with CSS Variables",
"intro": [
- "In these lecture videos, you will learn about working with CSS variables."
+ "In these lecture videos, you will learn how to define and use custom properties (also known as CSS variables). You will also learn about the @property rule and how it works."
]
},
"workshop-city-skyline": {
@@ -2455,7 +2475,10 @@
},
"lab-availability-table": {
"title": "Build an Availability Table",
- "intro": ["For this lab, you will create 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",
@@ -2473,7 +2496,7 @@
"lecture-working-with-css-grid": {
"title": "Working with CSS Grid",
"intro": [
- "In these lecture videos, you will learn about working with CSS grid."
+ "In these lecture videos, you will learn about CSS grid, its several properties and how to use them, and how CSS grid differs from flexbox."
]
},
"workshop-magazine": {
@@ -2483,9 +2506,11 @@
"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."
]
},
- "ogko": {
- "title": "114",
- "intro": []
+ "lab-magazine-layout": {
+ "title": "Design a Magazine Layout",
+ "intro": [
+ "In this lab, you will design a magazine layout using CSS Grid, including concepts like grid rows and grid columns."
+ ]
},
"lecture-debugging-css": {
"title": "Debugging CSS",
@@ -2496,7 +2521,7 @@
"lab-product-landing-page": {
"title": "Build a Product Landing Page",
"intro": [
- "For this project, you will build a product landing page to market a product of your choice."
+ "In this project, you'll build a product landing page to market a product of your choice."
]
},
"review-css-grid": {
@@ -2513,7 +2538,7 @@
"lecture-animations-and-accessibility": {
"title": "Animations and Accessibility",
"intro": [
- "In these lecture videos, you will learn about animations and accessibility."
+ "In these lecture videos, you will learn about CSS animations and their accessibility concerns. You will also learn how prefers-reduced-motion can help address those accessibility concerns."
]
},
"workshop-ferris-wheel": {
@@ -2526,7 +2551,8 @@
"lab-moon-orbit": {
"title": "Build a Moon Orbit",
"intro": [
- "For this lab, you will create an animation of the moon orbiting the earth."
+ "In this lab, you'll create an animation of the moon orbiting the earth.",
+ "You'll practice animation properties like animation-name, animation-duration, animation-timing-function, and more."
]
},
"workshop-flappy-penguin": {
@@ -2539,7 +2565,7 @@
"lab-personal-portfolio": {
"title": "Build a Personal Portfolio",
"intro": [
- "For this project, you will build your own personal portfolio page."
+ "In this project, you'll build your own personal portfolio page."
]
},
"review-css-animations": {
@@ -2567,15 +2593,15 @@
"intro": []
},
"lecture-working-with-code-editors-and-ides": {
- "title": "Working with Code Editors and IDE's",
+ "title": "Working with Code Editors and IDEs",
"intro": [
- "In these lecture videos, you will learn about working with code editors and IDE's."
+ "In these lecture videos, 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 lecture videos, you will get a basic introduction to JavaScript."
+ "In these lecture videos, 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."
]
},
"workshop-greeting-bot": {
@@ -2588,13 +2614,14 @@
"lab-javascript-trivia-bot": {
"title": "Build a JavaScript Trivia Bot",
"intro": [
- "In this lab, you will practice working with JavaScript variables and strings by building a trivia bot."
+ "In this lab, you'll practice working with JavaScript variables and strings by building a trivia bot.",
+ "You'll practice how to use variables and basic strings."
]
},
"lecture-working-with-data-types": {
"title": "Working with Data Types",
"intro": [
- "In these lecture videos, you will learn about data types in JavaScript."
+ "In the following lecture videos, you will learn how to work with data types in JavaScript. You will also learn how dynamic typing differs from static typing, the typeof operator, and the typeof null bug."
]
},
"review-javascript-variables-and-data-types": {
@@ -2613,7 +2640,7 @@
"lecture-working-with-strings-in-javascript": {
"title": "Working with Strings in JavaScript",
"intro": [
- "In these lecture videos, you will learn about working with strings in JavaScript."
+ "In these lecture videos, 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": {
@@ -2626,7 +2653,7 @@
"lecture-working-with-common-string-methods": {
"title": "Working with Common String Methods",
"intro": [
- "In these lecture videos, you will learn about common String methods."
+ "In these lecture videos, you will learn about the common string methods available in JavaScript. The string methods will let you do things like extracting a part of a string, changing the casing for a string, replacing a part of a string, trimming whitespace from a string, and much more."
]
},
"review-javascript-strings": {
@@ -2645,7 +2672,7 @@
"lecture-working-with-numbers-booleans-and-the-math-object": {
"title": "Working with Numbers, Booleans, and the Math Object",
"intro": [
- "In these lecture videos, you will learn about numbers, booleans, and the Math object."
+ "In these lecture videos, you will dive into the fundamentals of JavaScript. These include numbers, booleans, and the Math object. You will learn about different types of numbers, how arithmetic and comparison operators work, how JavaScript behaves when you combine strings and numbers in calculations, and much more."
]
},
"workshop-mathbot": {
@@ -2657,13 +2684,14 @@
"lab-fortune-teller": {
"title": "Build a Fortune Teller",
"intro": [
- "In this lab, you will build a fortune teller by randomly selecting a fortune from the available fortunes."
+ "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 Math.random() method and the Math.floor() method to generate random numbers."
]
},
"lecture-working-with-numbers-and-common-number-methods": {
"title": "Working with Numbers and Common Number Methods",
"intro": [
- "In these lecture videos, you will learn about numbers and common Number methods."
+ "In these lecture videos, you will learn about numbers and common number methods. These include isNaN(), parseInt(), parseFloat(), and toFixed()."
]
},
"review-javascript-math": {
@@ -2680,7 +2708,7 @@
"lecture-understanding-comparisons-and-conditionals": {
"title": "Understanding Comparisons and Conditionals",
"intro": [
- "In these lecture videos, you will learn about comparisons and conditionals."
+ "In these lecture videos, you will learn about comparison operators and conditionals. You will learn how the various conditionals differ from one another, and how comparisons work with null and undefined."
]
},
"review-javascript-comparisons-and-conditionals": {
@@ -2699,7 +2727,7 @@
"lecture-working-with-functions": {
"title": "Working with Functions",
"intro": [
- "In these lecture videos, you will learn about working with functions."
+ "In these lecture videos, 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": {
@@ -2711,13 +2739,14 @@
"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."
+ "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."
]
},
"lab-sentence-maker": {
"title": "Build a Sentence Maker",
"intro": [
- "In this lab, you will create different stories by assigning different words to different variables."
+ "In this lab, you'll create different stories by assigning different words to different variables."
]
},
"workshop-loan-qualification-checker": {
@@ -2730,7 +2759,7 @@
"lab-leap-year-calculator": {
"title": "Build a Leap Year Calculator ",
"intro": [
- "In this lab you will use conditional statements and loops to determine if a year is a leap year."
+ "In this lab you'll use conditional statements and loops to determine if a year is a leap year."
]
},
"review-javascript-functions": {
@@ -2749,7 +2778,7 @@
"lecture-working-with-arrays": {
"title": "Working with Arrays",
"intro": [
- "In these lecture videos, you will learn about working with JavaScript arrays."
+ "In these lecture videos, 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": {
@@ -2762,13 +2791,13 @@
"lab-lunch-picker-program": {
"title": "Build a Lunch Picker Program",
"intro": [
- "In this lab, you will review working with arrays and random numbers by building a lunch picker program."
+ "In this lab, you'll review working with arrays and random numbers by building a lunch picker program."
]
},
"lecture-working-with-common-array-methods": {
"title": "Working with Common Array Methods",
"intro": [
- "In these lecture videos, you will learn about common array methods."
+ "In these lecture videos, 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": {
@@ -2785,7 +2814,7 @@
"lecture-working-with-objects": {
"title": "Working with Objects",
"intro": [
- "In these lecture videos, you will learn about working with objects in JavaScript."
+ "In these lecture videos, you will learn how to work with JavaScript objects. The concepts you will learn include how to access properties from an object, check if an object has a property, how object methods differ from functions, object destructuring, and much more."
]
},
"workshop-recipe-tracker": {
@@ -2796,7 +2825,10 @@
},
"lab-quiz-game": {
"title": "Build a Quiz Game",
- "intro": ["For this lab, you will 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."
+ ]
},
"review-javascript-objects": {
"title": "JavaScript Objects Review",
@@ -2814,7 +2846,7 @@
"lecture-working-with-loops": {
"title": "Working with Loops",
"intro": [
- "In these lecture videos, you will learn about working with loops in JavaScript."
+ "Loops are an essential part of JavaScript. That's why the following lecture videos 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": {
@@ -2825,7 +2857,10 @@
},
"lab-factorial-calculator": {
"title": "Build a Factorial Calculator ",
- "intro": ["In this lab, you will 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."
+ ]
},
"review-javascript-loops": {
"title": "JavaScript Loops Review",
@@ -2841,38 +2876,47 @@
"lecture-understanding-core-javascript-fundamentals": {
"title": "Understanding Core JavaScript Fundamentals",
"intro": [
- "In these lecture videos, you will learn more about core JavaScript fundamentals."
+ "In these lecture videos, you will learn more about the core JavaScript fundamentals. You will learn how a string object differs from a primitive string, the toString() method, conventions and common practices for naming variables, linters and formatters, closures, and much more."
]
},
"lab-pyramid-generator": {
"title": "Build a Pyramid Generator",
- "intro": ["In this lab you will 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 will create 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 lecture videos, you will learn about the var keyword and hoisting in JavaScript."
+ "In these lecture videos, you will learn about the var 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-inventory-management-program": {
"title": "Build an Inventory Management Program",
"intro": [
- "For this lab, you will build an inventory management program using JavaScript."
+ "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 these lecture videos, you will learn about modules, imports, and exports in JavaScript."
+ "In this lecture video, you will learn about modules, imports, and exports in JavaScript."
]
},
"lab-password-generator": {
"title": "Build a Password Generator App",
- "intro": ["In this lab, you'll build a password generator app."]
+ "intro": [
+ "In this lab, you'll build a password generator app based on the user's input."
+ ]
},
"review-javascript-fundamentals": {
"title": "JavaScript Fundamentals Review",
@@ -2890,7 +2934,7 @@
"lecture-working-with-higher-order-functions-and-callbacks": {
"title": "Working with Higher Order Functions and Callbacks",
"intro": [
- "In these lecture videos, you will learn about working with higher order functions and callbacks."
+ "In these lecture videos, you will learn how to work with higher order functions and callbacks. The higher order functions you will learn include map(), filter(), reduce(), sort(), every(), and some(). You will also learn how to chain these methods together to achieve your desired results."
]
},
"workshop-library-manager": {
@@ -2902,7 +2946,7 @@
"lab-book-organizer": {
"title": "Build a Book Organizer",
"intro": [
- "In this lab, you will build a book organizer using higher order functions in JavaScript."
+ "In this lab, you'll build a book organizer using higher order functions in JavaScript."
]
},
"review-javascript-higher-order-functions": {
@@ -2921,7 +2965,7 @@
"lecture-working-with-the-dom-click-events-and-web-apis": {
"title": "Working with the DOM, Click Events, and Web APIs",
"intro": [
- "In these lecture videos, you will learn how to work with the DOM, click events, and web APIs, using JavaScript."
+ "In these lecture videos, you will learn how to work with the Document Object Model (DOM), the `addEventListener()` method and events, and web APIs."
]
},
"workshop-storytelling-app": {
@@ -2933,7 +2977,7 @@
"lab-favorite-icon-toggler": {
"title": "Build a Favorite Icon Toggler",
"intro": [
- "In this lab, you will build a favorite icon toggler by utilizing JavaScript click events."
+ "In this lab, you'll build a favorite icon toggler by utilizing JavaScript click events."
]
},
"review-dom-manipulation-and-click-events-with-javascript": {
@@ -2952,7 +2996,7 @@
"lecture-understanding-the-event-object-and-event-delegation": {
"title": "Understanding the Event Object and Event Delegation",
"intro": [
- "In these lecture videos, you will learn about the event object and event delegation."
+ "In these lecture videos, you will learn about the event object, the change event, event bubbling, and event delegation."
]
},
"workshop-music-instrument-filter": {
@@ -2963,12 +3007,16 @@
},
"lab-real-time-counter": {
"title": "Build a Real Time Counter",
- "intro": ["In this lab, you will build a real-time character counter"]
+ "intro": [
+ "In this lab, you'll build a real-time character counter",
+ "You'll practice how to work with the input event when the user types in the input field."
+ ]
},
"lab-lightbox-viewer": {
"title": "Build a Lightbox Viewer",
"intro": [
- "In this lab, you will build a lighbox viewer for viewing images in a focused mode."
+ "In this lab, you'll build a lighbox viewer for viewing images in a focused mode.",
+ "You'll practice click events and toggling classes."
]
},
"workshop-rps-game": {
@@ -2986,7 +3034,7 @@
"lab-football-team-cards": {
"title": "Build a Set of Football Team Cards",
"intro": [
- "One common aspect of building web applications is processing datasets and outputting information to the screen. In this project, you will use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards."
+ "In this lab, you'll use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards."
]
},
"review-javascript-events": {
@@ -3003,13 +3051,13 @@
"lecture-debugging-techniques": {
"title": "Debugging Techniques",
"intro": [
- "In these lecture videos, you will learn debugging techniques."
+ "In these lecture videos, 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": [
- "For this lab, you will debug a random background color changer and fix the errors to make it work properly."
+ "In this lab, you'll debug a random background color changer and fix the errors to make it work properly."
]
},
"review-debugging-javascript": {
@@ -3028,7 +3076,7 @@
"lecture-working-with-regular-expressions": {
"title": "Working with Regular Expressions",
"intro": [
- "In these lecture videos, you will learn about regular expressions in JavaScript."
+ "In these lecture videos, 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": {
@@ -3041,12 +3089,13 @@
"lab-markdown-to-html-converter": {
"title": "Build a Markdown to HTML Converter",
"intro": [
- "For this lab, you will build a Markdown to HTML converter using JavaScript."
+ "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 will build a regex sandbox."]
+ "intro": ["In this lab you'll build a regex sandbox."]
},
"review-javascript-regular-expressions": {
"title": "JavaScript Regular Expressions Review",
@@ -3064,7 +3113,7 @@
"lecture-understanding-form-validation": {
"title": "Understanding Form Validation",
"intro": [
- "In these lecture videos, you will learn about form validation in JavaScript."
+ "In these lecture videos, you will learn about form validation in JavaScript. You will learn about the various ways to validate forms, how the preventDefault() method works, and how the submit event works."
]
},
"workshop-calorie-counter": {
@@ -3077,7 +3126,8 @@
"lab-customer-complaint-form": {
"title": "Build a Customer Complaint Form",
"intro": [
- "For this lab, you will use JavaScript to validate a customer complaint form."
+ "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": {
@@ -3096,13 +3146,13 @@
"lecture-working-with-dates": {
"title": "Working with Dates",
"intro": [
- "In these lecture videos, you will learn about working with JavaScript dates."
+ "In these lecture videos, 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 will build a program to convert a date from one format to another."
+ "In this lab, you'll build a program to convert a date from one format to another."
]
},
"review-javascript-dates": {
@@ -3119,7 +3169,7 @@
"lecture-working-with-audio-and-video": {
"title": "Working with Audio and Video",
"intro": [
- "In these lecture videos, you will learn about working with audio and video using JavaScript."
+ "In these lecture videos, you will learn how to work with audio and video files using JavaScript. You will learn about the Audio and Video constructors, their methods and properties, audio and video formats, codecs, the HTMLMediaElement API, and much more."
]
},
"workshop-music-player": {
@@ -3129,9 +3179,11 @@
"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."
]
},
- "crzf": {
- "title": "222",
- "intro": []
+ "lab-drum-machine": {
+ "title": "Build a Drum Machine",
+ "intro": [
+ "For this lab you will use the audio element to build a drum machine."
+ ]
},
"review-javascript-audio-and-video": {
"title": "JavaScript Audio and Video Review",
@@ -3149,7 +3201,7 @@
"lecture-working-with-maps-and-sets": {
"title": "Working with Maps and Sets",
"intro": [
- "In these lecture videos, you will learn about JavaScript Maps and Sets."
+ "In these lecture videos, you will learn about JavaScript Map and Set. You will also learn how they both differ from WeakSets and WeakMaps"
]
},
"workshop-plant-nursery-catalog": {
@@ -3161,7 +3213,8 @@
"lab-voting-system": {
"title": "Build a Voting System",
"intro": [
- "In this lab, you will build a voting system using Maps and Sets."
+ "In this lab, you'll build a voting system using Maps and Sets.",
+ "You'll practice how to use the Map object to store key-value pairs and the Set object to store unique values."
]
},
"review-javascript-maps-and-sets": {
@@ -3180,7 +3233,7 @@
"lecture-working-with-client-side-storage-and-crud-operations": {
"title": "Working with Client-Side Storage and CRUD Operations",
"intro": [
- "In these lecture videos, you will learn about client-side storage and CRUD operations with JavaScript."
+ "In these lecture videos, you will learn about client-side storage and CRUD operations in JavaScript. You will learn about localStorage and sessionStorage alongside their methods and properties, cookies, the Cache API, IndexDB, and much more."
]
},
"workshop-todo-app": {
@@ -3192,7 +3245,10 @@
},
"lab-bookmark-manager-app": {
"title": "Build a Bookmark Manager App",
- "intro": ["For this lab, you will 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",
@@ -3210,7 +3266,7 @@
"lecture-understanding-how-to-work-with-classes-in-javascript": {
"title": "Understanding How to Work with Classes in JavaScript",
"intro": [
- "In these lecture videos, you will learn about working with classes in JavaScript."
+ "In these lecture videos, you will learn about classes in JavaScript. You will learn about inheritance, the this keyword, static properties and methods, and more."
]
},
"workshop-shopping-cart": {
@@ -3223,13 +3279,14 @@
"lab-project-idea-board": {
"title": "Build a Project Idea Board",
"intro": [
- "In this lab, you will build a project idea board using OOP in JavaScript."
+ "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 will build a simple transaction management system for a bank account."
+ "In this lab, you'll build a simple transaction management system for a bank account."
]
},
"review-javascript-classes": {
@@ -3248,7 +3305,7 @@
"lecture-understanding-recursion-and-the-call-stack": {
"title": "Understanding Recursion and the Call Stack",
"intro": [
- "In these lecture videos, you will learn about recursion and the call stack."
+ "In this lecture video, you will learn about recursion and the call stack."
]
},
"workshop-decimal-to-binary-converter": {
@@ -3261,7 +3318,7 @@
"lab-permutation-generator": {
"title": "Build a Permutation Generator",
"intro": [
- "For this lab, you will build a permutation generator that produces all possible permutations of a given string."
+ "For this lab, you'll build a permutation generator that produces all possible permutations of a given string."
]
},
"review-recursion": {
@@ -3278,7 +3335,7 @@
"lecture-understanding-functional-programming": {
"title": "Understanding Functional Programming",
"intro": [
- "In these lecture videos, you will learn about functional programming."
+ "In these lecture videos, you will learn about functional programming and how to nest functions using a technique called currying."
]
},
"workshop-recipe-ingredient-converter": {
@@ -3291,7 +3348,7 @@
"lab-sorting-visualizer": {
"title": "Build a Sorting Visualizer",
"intro": [
- "For this lab, you will use JavaScript to visualize the steps that the Bubble Sort algorithm takes to reorder an array of integers."
+ "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": {
@@ -3310,7 +3367,7 @@
"lecture-understanding-asynchronous-programming": {
"title": "Understanding Asynchronous Programming",
"intro": [
- "In these lecture videos, you will learn about asynchronous programming."
+ "In these lecture videos, you will learn about asynchronous programming in JavaScript. You will learn about the differences between synchronous and asynchronous programming, how the asnyc keyword works, the Fetch API, promises, async/await, the Geolocation API, and much more."
]
},
"workshop-fcc-authors-page": {
@@ -3323,7 +3380,7 @@
"lab-fcc-forum-leaderboard": {
"title": "Build an fCC Forum Leaderboard",
"intro": [
- "For this lab you will practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard."
+ "For this lab you'll practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard."
]
},
"review-asynchronous-javascript": {
@@ -3352,7 +3409,7 @@
"lecture-introduction-to-javascript-libraries-and-frameworks": {
"title": "Introduction to JavaScript Libraries and Frameworks",
"intro": [
- "In these lecture videos, you will get an introduction to JavaScript libraries and frameworks."
+ "In these lecture videos, 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": {
@@ -3364,12 +3421,12 @@
},
"lab-reusable-footer": {
"title": "Build a Reusable Footer",
- "intro": ["In this lab, you will use React to 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 lecture videos, you will learn about working with data in React."
+ "In these lecture videos, you will learn how to work with data in React. You will learn about props and how to pass them around, conditional rendering, how to render lists, and how to use inline styles."
]
},
"workshop-reusable-profile-card-component": {
@@ -3381,7 +3438,8 @@
"lab-mood-board": {
"title": "Build a Mood Board",
"intro": [
- "In this lab, you will create a mood board using a React with props."
+ "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": {
@@ -3443,7 +3501,8 @@
"lab-weather-app": {
"title": "Build a Weather App",
"intro": [
- "In this lab you will build a Weather App using an API to fetch the data."
+ "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."
]
},
"ffpt": {
diff --git a/client/i18n/locales/swahili/translations.json b/client/i18n/locales/swahili/translations.json
index a525597313e..1965839537c 100644
--- a/client/i18n/locales/swahili/translations.json
+++ b/client/i18n/locales/swahili/translations.json
@@ -106,7 +106,9 @@
"donate-now": "Donate Now",
"confirm-amount": "Confirm amount",
"play-scene": "Press Play",
- "closed-caption": "Closed caption"
+ "closed-caption": "Closed caption",
+ "share-on-bluesky": "Share on BlueSky",
+ "share-on-threads": "Share on Threads"
},
"landing": {
"big-heading-1": "Jifunze kuandika code - bila malipo.",
@@ -357,7 +359,7 @@
"challenge": "Changamoto",
"completed": "Imekamilika",
"add-linkedin": "Ongeza uthibitisho huu kwa wasifu wangu wa LinkedIn",
- "add-twitter": "Shiriki uthibitishaji huu kwenye Twitter",
+ "add-twitter": "Share this certification on X",
"tweet": "Nimejishindia cheti cha {{certTitle}} @freeCodeCamp! Iangalie hapa: {{certURL}}",
"avatar": "Ishara ya {{username}}",
"joined": "Umejiunga {{date}}",
@@ -366,7 +368,9 @@
"points": "Pointi {{count}} mnamo {{date}}",
"points_plural": "Alama {{count}} mnamo {{date}}",
"page-number": "{{pageNumber}} kati ya {{totalPages}}",
- "edit-my-profile": "Edit My Profile"
+ "edit-my-profile": "Edit My Profile",
+ "add-bluesky": "Share this certification on BlueSky",
+ "add-threads": "Share this certification on Threads"
},
"footer": {
"tax-exempt-status": "freeCodeCamp is a donor-supported tax-exempt 501(c)(3) charitable organization (United States Federal Tax Identification Number: 82-0779546).",
@@ -421,6 +425,7 @@
"assignments": "Kazi",
"question": "Swali",
"questions": "Questions",
+ "answered-mcq": "You have unanswered questions and/or incorrect answers.",
"explanation": "Explanation",
"solution-link": "Kiungo cha Suluhisho",
"source-code-link": "Source Code Link",
@@ -1055,8 +1060,8 @@
"responsive-web-design-cert": "Responsive Web Design Certification",
"javascript-algorithms-and-data-structures": "Legacy JavaScript Algorithms and Data Structures",
"javascript-algorithms-and-data-structures-cert": "Legacy JavaScript Algorithms and Data Structures Certification",
- "javascript-algorithms-and-data-structures-v8": "JavaScript Algorithms and Data Structures (Beta)",
- "javascript-algorithms-and-data-structures-v8-cert": "JavaScript Algorithms and Data Structures (Beta) Certification",
+ "javascript-algorithms-and-data-structures-v8": "JavaScript Algorithms and Data Structures",
+ "javascript-algorithms-and-data-structures-v8-cert": "JavaScript Algorithms and Data Structures Certification",
"front-end-development-libraries": "Front End Development Libraries",
"front-end-development-libraries-cert": "Front End Development Libraries Certification",
"data-visualization": "Data Visualization",
diff --git a/client/i18n/locales/ukrainian/intro.json b/client/i18n/locales/ukrainian/intro.json
index a715238085b..71fbff0552d 100644
--- a/client/i18n/locales/ukrainian/intro.json
+++ b/client/i18n/locales/ukrainian/intro.json
@@ -244,7 +244,7 @@
"title": "Регулярні вирази",
"intro": [
"Регулярні вирази (відомі як «regex» або «regexp») — шаблони, які допомагають програмістам поєднувати, шукати та замінювати текст. Регулярні вирази дуже важливі, але їх важко читати, оскільки у них використовуються спеціальні символи для створення складніших, гнучкіших поєднань.",
- "У цьому курсі ви дізнаєтеся як використовувати спеціальні символи, групи захоплення, позитивний та негативний огляди та інші техніки, аби текст відповідав бажаному."
+ "У цьому курсі ви дізнаєтеся як використовувати спеціальні символи, групи захоплення, позитивні та негативні перевірки та інші техніки, аби текст відповідав бажаному."
]
},
"debugging": {
@@ -300,7 +300,7 @@
}
},
"javascript-algorithms-and-data-structures-v8": {
- "title": "Алгоритми JavaScript та структури даних (бета-версія)",
+ "title": "Алгоритми та структури даних JavaScript",
"intro": [
"Розробники використовують HTML та CSS, щоб контролювати вміст та стилізувати сторінку, а JavaScript — щоб зробити цю сторінку інтерактивною.",
"У сертифікації «Алгоритми JavaScript та структури даних» ви вивчите основи JavaScript, включно зі змінними, масивами, об’єктами, циклами, функціями, об’єктною моделлю документа та багато іншого.",
@@ -399,7 +399,7 @@
"title": "Вивчіть регулярні вирази, створивши спам-фільтр",
"intro": [
"Регулярні вирази (відомі як «regex» або «regexp») — шаблони, які допомагають програмістам поєднувати, шукати та замінювати текст. Регулярні вирази надзвичайно потужні, але їх важко зрозуміти, оскільки у них використовуються спеціальні символи.",
- "У цьому проєкті з фільтрування спаму ви дізнаєтеся про групи захоплення, позитивний та негативний огляди, а також інші техніки, щоб текст відповідав бажаному."
+ "У цьому проєкті з фільтрування спаму ви дізнаєтеся про групи захоплення, позитивні та негативні перевірки, а також інші техніки, щоб текст відповідав бажаному."
]
},
"learn-basic-algorithmic-thinking-by-building-a-number-sorter": {
@@ -772,9 +772,9 @@
}
},
"scientific-computing-with-python": {
- "title": "Наукові обчислення з Python (бета-версія)",
+ "title": "Наукові обчислення з Python",
"intro": [
- "Навчальна програма «Наукові обчислення з Python (бета-версія)» допоможе отримати навички аналізу та маніпулювання даними за допомогою Python — потужної та універсальної мови програмування. Ви вивчите ключові поняття, серед яких структури даних, алгоритми, об’єктноорієнтоване програмування, а також як виконувати складні обчислення за допомогою різноманітних інструментів.",
+ "Навчальна програма «Наукові обчислення з Python» допоможе отримати навички аналізу та маніпулювання даними за допомогою Python — потужної та універсальної мови програмування. Ви вивчите ключові поняття, серед яких структури даних, алгоритми, об’єктноорієнтоване програмування, а також як виконувати складні обчислення за допомогою різноманітних інструментів.",
"Цей комплексний курс ознайомить вас з основами наукових обчислень, включно зі структурами даних та алгоритмами."
],
"note": "",
@@ -1177,7 +1177,7 @@
}
},
"the-odin-project": {
- "title": "Проєкт «Odin»: версія freeCodeCamp (бета-версія)",
+ "title": "Проєкт «Odin»: версія freeCodeCamp",
"intro": [
"Проєкт «Odin» був створений розробником Еріком Траутманом у 2013 році. Протягом років з’явилася відкрита спільнота, яка доглядає за проєктом та розширює його.",
"freeCodeCamp розширив відкриту навчальну програму, щоб зробити її інтерактивною у браузері. Проєкт міститиме тести, щоб оцінити ваш код та переконатись, що ви зрозуміли основні поняття.",
@@ -1587,7 +1587,9 @@
},
"learn-how-to-plan-future-events": {
"title": "Дізнайтесь, як планувати майбутні події",
- "intro": ["", ""]
+ "intro": [
+ "У цьому курсі ви навчитеся використовувати майбутній час, щоб планувати різні події."
+ ]
},
"learn-future-continuous-while-describing-actions": {
"title": "Дізнайтесь про майбутній тривалий час, описуючи дії",
@@ -1682,22 +1684,22 @@
}
},
"full-stack-developer": {
- "title": "Навчальна програма «Сертифікований full stack розробник»",
+ "title": "Навчальна програма «Сертифікований Full Stack розробник»",
"intro": [
- "Цей курс надає комплексний шлях, щоб стати сертифікованим full stack розробником. У ньому охоплено всі технології, необхідні для створення сучасних масштабованих програм від початку до кінця.",
- "Завдяки поєднанню інтерактивних уроків, практичних завдань та реальних проєктів, ви опануєте як frontend, так і backend. Ви працюватимете з HTML, CSS і JavaScript для створення адаптивних інтерфейсів, досліджуватимете React і TypeScript для створення складних вебзастосунків та навчитеся керувати даними за допомогою реляційних баз даних. На стороні backend ви використовуватимете Git, Npm, Node.js і Python для створення потужних серверних рішень.",
- "Наприкінці курсу ви отримаєте практичні навички та досвід, які дозволять впевнено розробляти повноцінні вебзастосунки, що підготує вас до успішної кар’єри full stack розробника."
+ "Цей курс надає комплексний шлях, щоб стати сертифікованим Full Stack розробником. У ньому охоплено всі технології, необхідні для створення сучасних масштабованих програм від початку до кінця.",
+ "Завдяки поєднанню інтерактивних уроків, практичних завдань та реальних проєктів, ви опануєте як Front End, так і Back End. Ви працюватимете з HTML, CSS і JavaScript для створення адаптивних інтерфейсів, досліджуватимете React і TypeScript для створення складних вебзастосунків та навчитеся керувати даними за допомогою реляційних баз даних. На стороні Back End ви використовуватимете Git, Npm, Node.js і Python для створення потужних серверних рішень.",
+ "Наприкінці курсу ви отримаєте практичні навички та досвід, які дозволять впевнено розробляти повноцінні вебзастосунки, що підготує вас до успішної кар’єри Full Stack розробника."
],
"chapters": {
"freecodecamp": "Вітання",
"html": "HTML",
"css": "CSS",
"javascript": "JavaScript",
- "frontend-libraries": "Бібліотеки для front end",
+ "frontend-libraries": "Бібліотеки для Front End",
"relational-databases": "Реляційні бази даних",
- "backend-javascript": "Backend JavaScript",
+ "backend-javascript": "Back End JavaScript",
"python": "Python",
- "exam-certified-full-stack-developer": "Certified Full Stack Developer Exam"
+ "exam-certified-full-stack-developer": "Екзамен «Сертифікований Full Stack розробник»"
},
"modules": {
"getting-started-with-freecodecamp": "Початок роботи з freeCodeCamp",
@@ -1706,7 +1708,7 @@
"html-forms-and-tables": "Форми та таблиці",
"html-and-accessibility": "Доступність",
"review-html": "Повторення HTML",
- "exam-html": "HTML Exam",
+ "exam-html": "Екзамен «HTML»",
"computer-basics": "Основи комп’ютера",
"basic-css": "Основи CSS",
"design-for-developers": "Дизайн",
@@ -1724,7 +1726,7 @@
"css-variables": "Змінні",
"css-grid": "Сітка",
"css-animations": "Анімації",
- "exam-css": "CSS Exam",
+ "exam-css": "Екзамен «CSS»",
"code-editors": "Редактори коду",
"javascript-variables-and-strings": "Змінні та рядки",
"javascript-booleans-and-numbers": "Булеві значення та числа",
@@ -1746,15 +1748,15 @@
"recursion": "Рекурсія",
"functional-programming": "Функціональне програмування",
"asynchronous-javascript": "Асинхронний JavaScript",
- "exam-javascript": "JavaScript Exam",
+ "exam-javascript": "Екзамен «JavaScript»",
"react-fundamentals": "Основи React",
"react-state-hooks-and-routing": "Стани, хуки та маршрутизація в React",
"performance": "Продуктивність",
"css-libraries-and-frameworks": "Бібліотеки та фреймворки CSS",
"testing": "Тестування",
"typescript-fundamentals": "Основи TypeScript",
- "review-front-end-libraries": "Front End Libraries Review",
- "exam-front-end-libraries": "Front End Libraries Exam",
+ "review-front-end-libraries": "Повторення бібліотек для Front End",
+ "exam-front-end-libraries": "Екзамен «Бібліотеки для Front End»",
"sql-and-bash": "SQL та Bash",
"git": "Git",
"security-and-privacy": "Безпека та приватність"
@@ -1783,7 +1785,7 @@
"lab-recipe-page": {
"title": "Створіть сторінку з рецептом",
"intro": [
- "У цій лабораторній роботі ви пригадаєте основи HTML, створивши вебсторінку з улюбленим рецептом. У вас буде можливість пригадати, як працювати з шаблонним кодом, заголовками, списками та зображеннями в HTML."
+ "У цій лабораторній роботі ви пригадаєте основи HTML, створивши вебсторінку з улюбленим рецептом. Ви створите шаблонний код HTML і будете працювати із заголовками, списками, зображеннями тощо."
]
},
"lecture-html-fundamentals": {
@@ -1795,7 +1797,7 @@
"lab-travel-agency-page": {
"title": "Створіть сторінку туристичної агенції",
"intro": [
- "У цій лабораторній роботі ви пригадаєте, як працювати з основами HTML, створивши вебсторінку для туристичної агенції. У вас буде можливість пригадати, як працювати із зображеннями, елементом figure, елементом figcaption, елементом anchor та багато іншого."
+ "У цій лабораторній роботі ви пригадаєте основи HTML, створивши вебсторінку для туристичної агенції. Ви будете працювати із зображеннями, елементом figure, елементом figcaption, елементом anchor тощо."
]
},
"lecture-working-with-media": {
@@ -1807,7 +1809,7 @@
"lab-video-compilation-page": {
"title": "Створіть сторінку із відео",
"intro": [
- "У цій лабораторній роботі ви створите сторінку із відео. У вас буде можливість попрактикуватись працювати з елементом iframe."
+ "У цій лабораторній роботі ви створите сторінку із відео. Ви зможете попрацювати з елементом iframe."
]
},
"lecture-working-with-links": {
@@ -1832,7 +1834,7 @@
"lecture-importance-of-semantic-html": {
"title": "Важливість семантичного HTML",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про семантичний HTML та чому ним варто цікавитись, а також про семантичні елементи, різницю між семантичним і презентаційним HTML та багато іншого."
+ "У цих відеолекціях ви дізнаєтесь про семантичний HTML і чому ним варто цікавитись, а також про семантичні елементи, різницю між семантичним і презентаційним HTML та багато іншого."
]
},
"workshop-blog-page": {
@@ -1844,8 +1846,7 @@
"lab-event-hub": {
"title": "Створіть хаб для подій",
"intro": [
- "У цій лабораторній роботі ви пригадаєте, як працювати з семантичними елементами HTML, створивши хаб для подій.",
- "У вас буде можливість пригадати, як працювати з елементами header, nav та article."
+ "У цій лабораторній роботі ви створите хаб для подій і пригадаєте різні семантичні елементи, серед яких header, nav та article."
]
},
"review-semantic-html": {
@@ -1877,8 +1878,8 @@
"lab-survey-form": {
"title": "Створіть форму для опитування",
"intro": [
- "У цій лабораторній роботі ви пригадаєте, як працювати з HTML-формами, створивши форму для опитування.",
- "У вас буде можливість попрактикуватись працювати з елементом label, різними елементами input, атрибутом required та багато іншого. "
+ "У цій лабораторній роботі ви пригадаєте HTML-форми, створивши форму для опитування.",
+ "Ви будете практикуватись працювати з елементом label, різними елементами input, атрибутом required та багато іншим."
]
},
"lecture-working-with-tables": {
@@ -1896,8 +1897,8 @@
"lab-book-catalog-table": {
"title": "Створіть каталог книг",
"intro": [
- "У цій лабораторній роботі ви пригадаєте, як працювати з HTML-таблицями, створивши таблицю з інформацією про книги.",
- "У вас буде можливість попрактикуватись працювати з різними компонентами таблиці, серед яких елементи Table Head, Table Row та Table Data Cell."
+ "У цій лабораторній роботі ви пригадаєте HTML-таблиці, створивши таблицю з інформацією про книжки.",
+ "Ви будете практикуватись працювати з різними компонентами таблиці, серед яких елементи thead, tbody, th, tr та td."
]
},
"lecture-working-with-html-tools": {
@@ -1910,7 +1911,7 @@
"title": "Повторення таблиць та форм в HTML",
"intro": [
"Перш ніж перейти до тесту «Форми, таблиці та інструменти в HTML», повторіть основні поняття.",
- "Відкрийте цю сторінку, щоб пригадати елементи table, input та button, а також поширені інструменти (серед яких валідатор HTML) та багато іншого."
+ "Відкрийте цю сторінку, щоб пригадати елементи table, input та button, а також поширені інструменти (серед яких валідатор HTML) і багато іншого."
]
},
"quiz-html-tables-and-forms": {
@@ -1928,7 +1929,8 @@
"lab-checkout-page": {
"title": "Створіть платіжну сторінку",
"intro": [
- "У цій лабораторній роботі ви створите доступну платіжну сторінку."
+ "У цій лабораторній роботі ви створите доступну платіжну сторінку.",
+ "Ви будете практикуватись працювати з різними поняттями, серед яких атрибути alt та aria-ролі."
]
},
"review-html-accessibility": {
@@ -1958,19 +1960,19 @@
"lecture-understanding-computer-internet-and-tooling-basics": {
"title": "Знайомство з комп’ютером, інтернетом та інструментами",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про комп’ютер, інтернет та різні інструменти."
+ "У цих відеолекціях ви дізнаєтесь про комп’ютер, його різні частини, інтернет-провайдерів (ISP) та інструменти, якими користуються професійні розробники."
]
},
"lecture-working-with-file-systems": {
"title": "Робота з файловими системами",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з файловими системами."
+ "У цих відеолекціях ви дізнаєтесь, як працювати з файловими та папковими системами на комп’ютерах. Ви навчитеся створювати, переміщувати, видаляти файли й папки, дізнаєтеся про найкращі практики їхнього найменування і організації та багато іншого."
]
},
"lecture-browsing-the-web-effectively": {
"title": "Ефективне користування мережею",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як ефективно працювати з мережею."
+ "У цих відеолекціях ви дізнаєтесь, що таке вебсайти, пошукові системи й веббраузери, які існують браузери та як максимально ефективно використовувати пошукову систему."
]
},
"review-computer-basics": {
@@ -1986,7 +1988,9 @@
},
"lecture-what-is-css": {
"title": "Що таке CSS?",
- "intro": ["У цих відеолекціях ви дізнаєтесь про CSS."]
+ "intro": [
+ "Наступні відеолекції присвячені CSS. Ви дізнаєтесь про CSS і його роль в мережі, анатомію правил в CSS, три способи написання CSS і коли їх використовувати, а також про блокові й вбудовані елементи та багато іншого."
+ ]
},
"workshop-cafe-menu": {
"title": "Розробіть меню для кафе",
@@ -1998,20 +2002,21 @@
"lab-business-card": {
"title": "Створіть дизайн візитівки",
"intro": [
- "У цій лабораторній роботі ви створите візитівку та стилізуєте її за допомогою CSS."
+ "У цій лабораторній роботі ви створите візитівку та стилізуєте її за допомогою CSS.",
+ "Ви будете практикуватись працювати з різними властивостями стилю, серед яких color, font-size, text-align тощо."
]
},
"lecture-css-specificity-the-cascade-algorithm-and-inheritance": {
"title": "Специфічність, алгоритм каскаду та успадкування в CSS",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про специфічність, алгоритм каскаду та успадкування в CSS."
+ "У цих відеолекціях ви дізнаєтесь про специфічність в CSS, поширені селектори та їхню специфічність, алгоритм каскаду, успадкування і багато іншого."
]
},
"review-basic-css": {
"title": "Повторення основ CSS",
"intro": [
"Перш ніж перейти до тесту «Основи CSS», повторіть основні поняття.",
- "Відкрийте цю сторінку, щоб пригадати margin, padding, CSS-комбінатори, специфічність та багато іншого."
+ "Відкрийте цю сторінку, щоб пригадати margin, padding, комбінатори, специфічність та багато іншого."
]
},
"quiz-basic-css": {
@@ -2021,29 +2026,31 @@
"lecture-styling-lists-and-links": {
"title": "Стилізація списків і посилань",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про стилізацію списків і посилань."
+ "У цих відеолекціях ви дізнаєтесь про властивості, які потрібно знати для ефективної стилізації списків і посилань, включно зі станами посилань (наприклад, link, visited, hover та active)."
]
},
"lab-stylized-to-do-list": {
"title": "Створіть стилізований список справ",
"intro": [
- "У цій лабораторній роботі ви створите список справ, які потрібно виконати, та застосуєте різні стилі до посилань."
+ "У цій лабораторній роботі ви створите список справ, які потрібно виконати, та застосуєте різні стилі до посилань.",
+ "Ви будете практикуватись працювати з властивостями text-decoration та list-style-type, а також змінювати стилі при наведенні чи натисканні."
]
},
"lecture-working-with-backgrounds-and-borders": {
"title": "Робота з фоном і кордоном",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з фоном і кордоном."
+ "У цих відеолекціях ви дізнаєтесь про властивості та значення, необхідні для стилізації фону і кордону елементів, а також про аспекти доступності, пов’язані з фоном."
]
},
"lab-blog-post-card": {
"title": "Створіть картку для допису",
"intro": [
- "У цій лабораторній роботі ви створите картку для допису із блогу, використовуючи HTML та CSS."
+ "У цій лабораторній роботі ви створите картку для допису із блогу, використовуючи HTML та CSS.",
+ "Ви будете практикуватись працювати з різними поняттями, серед яких background-color, border-radius, поля, відступи та багато іншого."
]
},
"review-css-backgrounds-and-borders": {
- "title": "Повторення фонів та кордонів у CSS",
+ "title": "Повторення списків, посилань, фону та кордону в CSS",
"intro": [
"Перш ніж перейти до тесту «Фони та кордони в CSS», повторіть основні поняття.",
"Відкрийте цю сторінку, щоб пригадати властивості background-image, border та багато іншого."
@@ -2056,19 +2063,19 @@
"lecture-user-interface-design-fundamentals": {
"title": "Основи UI дизайну",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про основи дизайну інтерфейсу користувача."
+ "У цих відеолекціях ви дізнаєтесь про основи UI-дизайну. Ви ознайомитеся з поняттями, необхідними для спілкування з дизайнерами, візуальною ієрархією, масштабуванням, вирівнюванням, використанням пробілів та багато іншим."
]
},
"lecture-user-centered-design": {
"title": "Дизайн, орієнтований на користувача",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про дизайн, орієнтований на користувача."
+ "У цих відеолекціях ви дізнаєтесь про найкращі практики проєктування користувацьких функцій, серед яких темний режим, навігаційні стежки, діалогові вікна та багато іншого. Ви також навчитеся досліджувати користувачів, визначати їхні вимоги та проводити тестування."
]
},
"lecture-common-design-tools": {
"title": "Поширені інструменти дизайну",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про поширені інструменти дизайну."
+ "У цих відеолекціях ви дізнаєтесь про поширені інструменти дизайну, які мають знати розробники. Ви також ознайомитеся з дизайн-брифами та тим, як розробники працюють з ними."
]
},
"review-design-fundamentals": {
@@ -2085,13 +2092,14 @@
"lecture-working-with-relative-and-absolute-units": {
"title": "Робота з відносними й абсолютними одиницями",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з відносними й абсолютними одиницями."
+ "У цих відеолекціях ви дізнаєтесь про відносні та абсолютні одиниці, а також про те, як вони впливають на відтворення у браузері."
]
},
"lab-event-flyer-page": {
"title": "Створіть запрошення на подію",
"intro": [
- "У цій лабораторній роботі ви будете використовувати абсолютні та відносні одиниці CSS, щоб створити запрошення на подію."
+ "У цій лабораторній роботі ви створите сторінку із запрошенням на подію.",
+ "Ви будете практикуватись вирівнювати елементи за допомогою абсолютного та відносного CSS."
]
},
"review-css-relative-and-absolute-units": {
@@ -2110,7 +2118,7 @@
"lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": {
"title": "Робота з псевдокласами та псевдоелементами в CSS",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з псевдокласами й псевдоелементами в CSS."
+ "У цих відеолекціях ви дізнаєтесь про псевдокласи та псевдоелементи, розглянувши їхні приклади та принципи роботи."
]
},
"workshop-greeting-card": {
@@ -2123,13 +2131,14 @@
"lab-job-application-form": {
"title": "Створіть форму на працевлаштування",
"intro": [
- "У цій лабораторній роботі ви створите форму із заявкою на працевлаштування та стилізуєте її, використовуючи псевдокласи."
+ "У цій лабораторній роботі ви створите форму із заявкою на працевлаштування та стилізуєте її, використовуючи псевдокласи.",
+ "Ви будете практикуватись працювати з різними поняттями, серед яких :hover, :active, :focus та багато іншого."
]
},
"review-css-pseudo-classes": {
"title": "Повторення псевдокласів у CSS",
"intro": [
- "Перш ніж перейти до тесту «Псевдокласи в CSS», повторіть основні поняття.",
+ "Перш ніж перейти до тесту «Псевдокласи та псевдоелементи в CSS», повторіть основні поняття.",
"Відкрийте цю сторінку, щоб пригадати псевдоелементи ::before й ::after, псевдокласи :hover й :active та багато іншого."
]
},
@@ -2140,7 +2149,7 @@
"lecture-working-with-colors-in-css": {
"title": "Робота з кольорами в CSS",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з кольорами в CSS."
+ "У цих відеолекціях ви дізнаєтесь про лінійний та радіальний градієнти, теорію кольорів і різні види кольорів (серед яких названі, RGB, Hex та HSL). Ви дізнаєтесь, як ці кольори працюють і які потрібно використовувати."
]
},
"workshop-colored-markers": {
@@ -2152,7 +2161,7 @@
"lab-colored-boxes": {
"title": "Створіть кольорові коробки",
"intro": [
- "У цій лабораторній роботі ви будете використовувати кольори в CSS, розробивши дизайн коробок."
+ "У цій лабораторній роботі ви створите кольорову сітку та попрактикуєтесь додавати кольори фону до елементів сітки, використовуючи шістнадцяткові коди, RGB та визначені назви."
]
},
"review-css-colors": {
@@ -2169,7 +2178,7 @@
"lecture-best-practices-for-styling-forms": {
"title": "Найкращі практики стилізації форм",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про найкращі практики стилізації форм."
+ "У цих відеолекціях ви дізнаєтесь про найкращі практики стилізації форм і проблеми, з якими можна зіткнутися при стилізації спеціальних вхідних даних, серед яких color та datetime-local."
]
},
"workshop-registration-form": {
@@ -2201,7 +2210,7 @@
"lecture-working-with-css-transforms-overflow-and-filters": {
"title": "Робота з трансформаціями, переповненням і ефектами в CSS",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з трансформаціями, переповненням і ефектами в CSS."
+ "У цих відеолекціях ви дізнаєтесь про роботу з трансформаціями, переповненням та фільтрами в CSS. Ви також ознайомитеся з блоковою моделлю та принципами її роботи."
]
},
"workshop-rothko-painting": {
@@ -2214,7 +2223,7 @@
"lab-confidential-email-page": {
"title": "Створіть сторінку конфіденційної пошти",
"intro": [
- "У цій лабораторній роботі ви створите конфіденційну пошту, використовуючи HTML та CSS."
+ "У цій лабораторній роботі ви створите вебсторінку, використовуючи HTML, та замаскуєте вміст за допомогою властивостей CSS."
]
},
"review-css-layout-and-effects": {
@@ -2233,7 +2242,7 @@
"lecture-working-with-css-flexbox": {
"title": "Робота з CSS Flexbox",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з CSS flexbox."
+ "У цих відеолекціях ви дізнаєтесь, як працює гнучка модель в CSS, про різні властивості та коли її варто використовувати."
]
},
"workshop-flexbox-photo-gallery": {
@@ -2246,7 +2255,8 @@
"lab-page-of-playing-cards": {
"title": "Створіть сторінку гральних карт",
"intro": [
- "У цій лабораторній роботі ви будете використовувати flexbox, щоб створити вебсторінку з гральними картами."
+ "У цій лабораторній роботі ви будете використовувати гнучку модель, щоб створити вебсторінку з гральними картами.",
+ "Ви будете практикуватись вирівнювати елементи за допомогою різних властивостей, серед яких flex-direction, justify-content, align-self та багато інших."
]
},
"review-css-flexbox": {
@@ -2263,7 +2273,7 @@
"lecture-working-with-css-fonts": {
"title": "Робота з шрифтами в CSS",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з шрифтами в CSS."
+ "У цих відеолекціях ви дізнаєтесь про типографію і її найкращі практики, шрифти та властивість text-shadow."
]
},
"workshop-nutritional-label": {
@@ -2276,7 +2286,8 @@
"lab-newspaper-article": {
"title": "Створіть статтю в газеті",
"intro": [
- "У цій лабораторній роботі ви створите сторінку зі статтею, використовуючи HTML та CSS."
+ "У цій лабораторній роботі ви створите сторінку зі статтею з журналу, використовуючи HTML та CSS.",
+ "Ви будете стилізувати шрифти, використовуючи такі властивості, як font-family, font-size, font-weight тощо."
]
},
"review-css-typography": {
@@ -2293,7 +2304,7 @@
"lecture-best-practices-for-accessibility-and-css": {
"title": "Найкращі практики доступності й CSS",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про найкращі практики доступності в CSS."
+ "У цих відеолекціях ви дізнаєтесь про найкращі практики доступності в CSS та інструменти для перевірки хорошого кольорового контрасту на вебсайтах."
]
},
"workshop-accessibility-quiz": {
@@ -2325,7 +2336,7 @@
"lecture-working-with-attribute-selectors": {
"title": "Робота з селекторами атрибутів",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з селекторами атрибутів."
+ "У цих відеолекціях ви дізнаєтесь про селектори атрибутів та як їх використовувати для націлювання на елементи (наприклад, на посилання та списки)."
]
},
"workshop-balance-sheet": {
@@ -2338,7 +2349,8 @@
"lab-book-inventory-app": {
"title": "Створіть застосунок для інвентаризації книг",
"intro": [
- "У цій лабораторній роботі ви створите застосунок для інвентаризації книг."
+ "У цій лабораторній роботі ви створите застосунок для інвентаризації книг.",
+ "Ви будете практикуватись використовувати селектори атрибутів у CSS, серед яких [attribute], [attribute=value], [attribute~=value] та багато інших."
]
},
"review-css-attribute-selectors": {
@@ -2355,7 +2367,7 @@
"lecture-understanding-how-to-work-with-floats-and-positioning-in-css": {
"title": "Знайомство з вирівнюванням й позиціюванням в CSS",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з вирівнюванням й позиціюванням у CSS."
+ "У цих відеолекціях ви дізнаєтесь про позиціювання та обтікання в CSS. Ви ознайомитеся з позиціюванням absolute, relative, fixed та sticky, а також будете використовувати властивість z-index."
]
},
"workshop-cat-painting": {
@@ -2368,7 +2380,8 @@
"lab-house-painting": {
"title": "Створіть малюнок будинку",
"intro": [
- "У цій лабораторній роботі ви створите малюнок будинку за допомогою CSS."
+ "У цій лабораторній роботі ви створите малюнок будинку за допомогою CSS.",
+ "Ви будете проєктувати окремі елементи будинку та розміщувати їх, використовуючи різні властивості, серед яких position, top, left і багато інших."
]
},
"review-css-positioning": {
@@ -2385,7 +2398,7 @@
"lecture-best-practices-for-responsive-web-design": {
"title": "Найкращі практики адаптивного вебдизайну",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про найкращі практики адаптивного вебдизайну."
+ "У цих відеолекціях ви дізнаєтесь про найкращі практики адаптивного вебдизайну, а також про основні поняття (а саме про сітку, гнучкий блок, медіазапити, медіаточки) і багато іншого."
]
},
"workshop-piano": {
@@ -2398,7 +2411,8 @@
"lab-technical-documentation-page": {
"title": "Побудуйте сторінку технічної документації",
"intro": [
- "У цій лабораторній роботі ви створите сторінку технічної документації, яка служитиме інструкцією або довідником."
+ "У цій лабораторній роботі ви створите сторінку технічної документації, яка служитиме інструкцією або довідником.",
+ "Ви також попрактикуєте роботу з медіазапитами для створення адаптивного дизайну."
]
},
"review-responsive-web-design": {
@@ -2415,7 +2429,7 @@
"lecture-working-with-css-variables": {
"title": "Робота зі змінними в CSS",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати зі змінними в CSS."
+ "У цих відеолекціях ви дізнаєтесь, як визначити та використовувати кастомні властивості (також відомі як CSS-змінні). Ви також дізнаєтесь про директиву @property і як вона працює."
]
},
"workshop-city-skyline": {
@@ -2428,7 +2442,8 @@
"lab-availability-table": {
"title": "Створіть таблицю з вільними годинами",
"intro": [
- "У цій лабораторній роботі ви створите таблицю з вільними годинами для запису."
+ "У цій лабораторній роботі ви створите таблицю з вільними годинами, яка показуватиме, чи людина може бути присутньою на зустрічі.",
+ "Ви будете практикуватись використовувати CSS-змінні, щоб зберігати й повторно використовувати кольори, шрифти та інші стилі."
]
},
"review-css-variables": {
@@ -2445,7 +2460,7 @@
"lecture-working-with-css-grid": {
"title": "Робота з сіткою в CSS",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з сіткою в CSS."
+ "У цих відеолекціях ви дізнаєтесь про сітку в CSS, її властивості та як їх використовувати. Ви також дізнаєтесь про різницю між сіткою та гнучкою моделлю."
]
},
"workshop-magazine": {
@@ -2455,9 +2470,11 @@
"У цьому практичному занятті ви створите статтю в журналі. Ви дізнаєтеся, як використовувати сітку, включно з рядками та стовпцями."
]
},
- "ogko": {
- "title": "114",
- "intro": []
+ "lab-magazine-layout": {
+ "title": "Розробіть макет журналу",
+ "intro": [
+ "У цій лабораторній роботі ви розробите макет журналу, використовуючи сітку в CSS, включно з рядками та стовпцями."
+ ]
},
"lecture-debugging-css": {
"title": "Налагодження CSS",
@@ -2483,7 +2500,7 @@
"lecture-animations-and-accessibility": {
"title": "Анімація та доступність",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про анімацію та доступність."
+ "У цих відеолекціях ви дізнаєтесь про анімації в CSS та їхні аспекти доступності. Ви також дізнаєтесь, як prefers-reduced-motion може допомогти з цими питаннями."
]
},
"workshop-ferris-wheel": {
@@ -2496,7 +2513,8 @@
"lab-moon-orbit": {
"title": "Побудуйте орбіту Місяця",
"intro": [
- "У цій лабораторній роботі ви створите анімацію оберту Місяця навколо Землі."
+ "У цій лабораторній роботі ви створите анімацію оберту Місяця навколо Землі.",
+ "Ви будете практикуватись використовувати анімаційні властивості, серед яких animation-name, animation-duration, animation-timing-function і багато інших."
]
},
"workshop-flappy-penguin": {
@@ -2535,12 +2553,14 @@
"lecture-working-with-code-editors-and-ides": {
"title": "Робота з редакторами коду та IDE",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з редакторами коду та IDE."
+ "У цих відеолекціях ви дізнаєтесь, як працювати з редакторами коду та IDE. Ви ознайомитесь з найпопулярнішим редактором коду VS Code: як його встановити, як створити проєкт, які наявні гарячі клавіші та розширення."
]
},
"lecture-introduction-to-javascript": {
"title": "Вступ до JavaScript",
- "intro": ["У цих відеолекціях ви ознайомитесь з основами JavaScript."]
+ "intro": [
+ "У цих відеолекціях ви дізнаєтесь про основи JavaScript. До тем належать змінні, типи даних, взаємодія JavaScript з HTML і CSS, рядки та багато іншого."
+ ]
},
"workshop-greeting-bot": {
"title": "Створіть вітального бота",
@@ -2552,13 +2572,14 @@
"lab-javascript-trivia-bot": {
"title": "Створіть бот з вікториною на JavaScript",
"intro": [
- "У цій лабораторній роботі ви попрактикуєтесь працювати зі змінними та рядками JavaScript, створивши бот з вікториною."
+ "У цій лабораторній роботі ви попрактикуєтесь працювати зі змінними та рядками в JavaScript, створивши бот з вікториною.",
+ "Ви будете практикуватись використовувати змінні та базові рядки."
]
},
"lecture-working-with-data-types": {
"title": "Робота з типами даних",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про типи даних в JavaScript."
+ "У цих відеолекціях ви навчитесь працювати з різними типами даних в JavaScript. Також ви дізнаєтесь про різницю між динамічною і статичною типізацією, оператор typeof і помилку typeof null."
]
},
"review-javascript-variables-and-data-types": {
@@ -2577,7 +2598,7 @@
"lecture-working-with-strings-in-javascript": {
"title": "Робота з рядками в JavaScript",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з рядками в JavaScript."
+ "У цих відеолекціях ви навчитеся працювати з рядками в JavaScript. Ви дізнаєтесь, як отримати доступ до символів рядка, як використовувати шаблонні літерали й інтерполяцію, як створити нову лінію в рядку та багато іншого."
]
},
"workshop-teacher-chatbot": {
@@ -2590,7 +2611,7 @@
"lecture-working-with-common-string-methods": {
"title": "Поширені методи роботи з рядками",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про поширені методи роботи з рядками."
+ "У цих відеолекціях ви дізнаєтесь про поширені методи рядків у JavaScript. Ці методи дозволяють робити різні речі: витягувати частину рядка, змінювати регістр, змінювати частину рядка, видаляти пробіли з рядка та багато іншого."
]
},
"review-javascript-strings": {
@@ -2607,7 +2628,7 @@
"lecture-working-with-numbers-booleans-and-the-math-object": {
"title": "Робота з числами, булевими значеннями й об’єктом math",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про числа, булеві значення й об’єкт Math."
+ "У цих відеолекціях ви поринете в основи JavaScript. Сюди належать числа, булеві значення і об’єкт Math. Ви дізнаєтесь про різні типи чисел, як працюють арифметичні й порівняльні оператори, як поводиться JavaScript під час обчислень із поєднанням рядків і чисел та багато іншого."
]
},
"workshop-mathbot": {
@@ -2619,13 +2640,14 @@
"lab-fortune-teller": {
"title": "Створіть генератор передбачень",
"intro": [
- "У цій лабораторній роботі ви створите генератор передбачень, де користувач випадково обиратиме передбачення зі всіх доступних."
+ "У цій лабораторній роботі ви створите генератор передбачень, де користувач випадково обиратиме передбачення зі всіх доступних.",
+ "Ви будете практикуватись працювати з методами Math.random() та Math.floor(), щоб генерувати випадкові числа."
]
},
"lecture-working-with-numbers-and-common-number-methods": {
"title": "Робота з числами й поширені методи роботи з ними",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про поширені методи роботи з числами."
+ "У цих відеолекціях ви дізнаєтесь про числа та поширені методи роботи з ними. До них належать isNaN(), parseInt(), parseFloat() та toFixed()."
]
},
"review-javascript-math": {
@@ -2641,7 +2663,9 @@
},
"lecture-understanding-comparisons-and-conditionals": {
"title": "Знайомство з порівняннями й умовами",
- "intro": ["У цих відеолекціях ви дізнаєтесь про порівняння та умови."]
+ "intro": [
+ "У цих відеолекціях ви дізнаєтесь про оператори порівняння і умовні вирази. Ви дізнаєтесь, чим відрізняються умовні вирази між собою, і як працюють порівняння з null та undefined."
+ ]
},
"review-javascript-comparisons-and-conditionals": {
"title": "Повторення порівняння та умов у JavaScript",
@@ -2658,7 +2682,9 @@
},
"lecture-working-with-functions": {
"title": "Робота з функціями",
- "intro": ["У цих відеолекціях ви дізнаєтесь, як працювати з функціями."]
+ "intro": [
+ "У цих відеолекціях ви навчитесь повторно використовувати блок коду за допомогою функцій. Ви дізнаєтесь про головну мету функцій та як вони працюють, і що таке область видимості в програмуванні."
+ ]
},
"workshop-calculator": {
"title": "Створіть калькулятор",
@@ -2669,7 +2695,8 @@
"lab-email-masker": {
"title": "Створіть маскування електронної пошти",
"intro": [
- "У цій лабораторній роботі ви створите маскування е-пошти, яке прийматиме адресу та приховуватиме її."
+ "У цій лабораторній роботі ви створите маскування е-пошти, яке прийматиме адресу та приховуватиме її.",
+ "Ви будете практикуватись розрізати рядок, застосовувати конкатенацію та використовувати функції."
]
},
"lab-sentence-maker": {
@@ -2705,7 +2732,7 @@
"lecture-working-with-arrays": {
"title": "Робота з масивами",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з масивами в JavaScript."
+ "У цих відеолекціях ви дізнаєтесь, як працювати з масивами в JavaScript. Ви дізнаєтесь про масиви, різницю між одновимірними та багатовимірними масивами, як отримати доступ до елементів масиву та оновити їх, а також багато іншого."
]
},
"workshop-shopping-list": {
@@ -2724,7 +2751,7 @@
"lecture-working-with-common-array-methods": {
"title": "Поширені методи роботи з масивами",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про поширені методи роботи з масивами."
+ "У цих відеолекціях ви дізнаєтесь про масиви та їхні методи для виконання складніших операцій: як отримати позицію елемента, як перевірити наявність певного елемента, як скопіювати масив та багато іншого."
]
},
"review-javascript-arrays": {
@@ -2741,7 +2768,7 @@
"lecture-working-with-objects": {
"title": "Робота з об’єктами",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з об’єктами в JavaScript."
+ "У цих відеолекціях ви дізнаєтесь, як працювати з об’єктами в JavaScript. Ви дізнаєтесь, як отримати доступ до властивостей об’єкту, як перевірити наявність властивості, чим методи об’єкта відрізняються від функцій, про об’єктну деструктуризацію та багато іншого."
]
},
"workshop-recipe-tracker": {
@@ -2752,7 +2779,10 @@
},
"lab-quiz-game": {
"title": "Створіть ігрову вікторину",
- "intro": ["У цій лабораторній роботі ви створите ігрову вікторину."]
+ "intro": [
+ "У цій лабораторній роботі ви створите ігрову вікторину, використовуючи масиви та об’єкти в JavaScript.",
+ "Ви будете практикуватись використовувати функції для випадкового вибору запитання й відповіді з масиву та порівнюватимете їх."
+ ]
},
"review-javascript-objects": {
"title": "Повторення об’єктів у JavaScript",
@@ -2768,7 +2798,7 @@
"lecture-working-with-loops": {
"title": "Робота з циклами",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з циклами в JavaScript."
+ "Цикли — це важлива частина JavaScript. Тому наступні відеолекції підготовлено для того, щоб ви дізналися про різні типи циклів, як вони працюють, а також про те, як працює ітерація."
]
},
"workshop-sentence-analyzer": {
@@ -2780,7 +2810,8 @@
"lab-factorial-calculator": {
"title": "Створіть калькулятор факторіалів ",
"intro": [
- "У цій лабораторній роботі ви створите калькулятор факторіалів."
+ "У цій лабораторній роботі ви створите калькулятор факторіалів.",
+ "Ви будете практикуватись використовувати цикли та умови для обчислення факторіала числа."
]
},
"review-javascript-loops": {
@@ -2797,40 +2828,47 @@
"lecture-understanding-core-javascript-fundamentals": {
"title": "Знайомство з основами JavaScript",
"intro": [
- "У цих відеолекціях ви детальніше дізнаєтесь про основи JavaScript."
+ "У цих відеолекціях ви детальніше розглянете основи JavaScript. Ви дізнаєтесь про різницю між об’єктом-рядком і примітивним рядком, метод toString(), конвенції й загальноприйняті практики найменування змінних, лінтери і форматувальники, замикання та багато іншого."
]
},
"lab-pyramid-generator": {
"title": "Створіть генератор пірамід",
- "intro": ["У цій лабораторній роботі ви створите генератор пірамід."]
+ "intro": [
+ "У цій лабораторній роботі ви створите генератор пірамід.",
+ "Ви будете приймати число як вхідні дані та, використовуючи цикл, згенеруєте піраміду з такою кількістю рівнів."
+ ]
},
"lab-gradebook-app": {
"title": "Створіть журнал з оцінками",
"intro": [
- "У цій лабораторній роботі ви створите електронний журнал з оцінками."
+ "У цій лабораторній роботі ви створите електронний журнал з оцінками.",
+ "Ви будете практикуватись використовувати умови для визначення підсумкової оцінки учня на основі його балів."
]
},
"lecture-the-var-keyword-and-hoisting": {
"title": "Ключове слово var та підняття",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про ключове слово var та підняття в JavaScript."
+ "У цих відеолекціях ви дізнаєтесь про ключове слово var та чому його більше не рекомендують використовувати. Ви також ознайомитеся з підйомом в JavaScript, щоб уникати неочевидних помилок у коді."
]
},
"lab-inventory-management-program": {
"title": "Створіть програму керування запасами",
"intro": [
- "У цій лабораторній роботі ви створите програму керування запасами за допомогою JavaScript."
+ "У цій лабораторній роботі ви створите програму керування запасами за допомогою JavaScript.",
+ "Ви будете використовувати масив об’єктів JavaScript для керування запасами."
]
},
"lecture-understanding-modules-imports-and-exports": {
"title": "Знайомство з модулями, імпортом та експортом",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про модулі, імпорт та експорт в JavaScript."
+ "У цій відеолекції ви дізнаєтесь про модулі, імпорти та експорти в JavaScript."
]
},
"lab-password-generator": {
"title": "Створіть генератор паролів",
- "intro": ["У цій лабораторній роботі ви створите генератор паролів."]
+ "intro": [
+ "У цій лабораторній роботі ви створите застосунок для генерації паролів на основі вхідних даних користувача."
+ ]
},
"review-javascript-fundamentals": {
"title": "Повторення основ JavaScript",
@@ -2846,7 +2884,7 @@
"lecture-working-with-higher-order-functions-and-callbacks": {
"title": "Робота з функціями вищого порядку та зворотного виклику",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з функціями вищого порядку та функціями зворотного виклику."
+ "У цих відеолекціях ви дізнаєтесь, як працювати з функціями вищого порядку та функціями зворотного виклику. До функцій вищого порядку, які ви вивчите, належать map(), filter(), reduce(), sort(), every() та some(). Ви також навчитеся зв’язувати ці методи у послідовність для отримання бажаних результатів."
]
},
"workshop-library-manager": {
@@ -2877,7 +2915,7 @@
"lecture-working-with-the-dom-click-events-and-web-apis": {
"title": "Робота з DOM, подіями click та web API",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з DOM, подіями click та web API за допомогою JavaScript."
+ "У цих відеолекціях ви дізнаєтесь, як працювати з об’єктною моделлю документа (DOM), методом addEventListener(), різними подіями і веб-API."
]
},
"workshop-storytelling-app": {
@@ -2889,7 +2927,7 @@
"lab-favorite-icon-toggler": {
"title": "Створіть перемикач вподобаної іконки",
"intro": [
- "У цій лабораторній роботі ви створите перемикач вподобаної іконки, використавши подію click в JavaScript."
+ "У цій лабораторній роботі ви створите перемикач вподобаної іконки, використовуючи подію click в JavaScript."
]
},
"review-dom-manipulation-and-click-events-with-javascript": {
@@ -2908,7 +2946,7 @@
"lecture-understanding-the-event-object-and-event-delegation": {
"title": "Знайомство з подіями та їх делегуванням",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про об’єкт event та делегування подій."
+ "У цих відеолекціях ви дізнаєтесь про об’єкт event, подію change, бульбашковий механізм та делегування подій."
]
},
"workshop-music-instrument-filter": {
@@ -2920,13 +2958,15 @@
"lab-real-time-counter": {
"title": "Створіть лічильник реального часу",
"intro": [
- "У цій лабораторній роботі ви створите лічильник символів у реальному часі."
+ "У цій лабораторній роботі ви створите лічильник символів у реальному часі.",
+ "Ви будете практикуватись працювати з подією input, коли користувач вводить текст у поле введення даних."
]
},
"lab-lightbox-viewer": {
"title": "Створіть переглядач Lightbox",
"intro": [
- "У цій лабораторній роботі ви створите переглядач lightbox для перегляду зображень у сфокусованому режимі."
+ "У цій лабораторній роботі ви створите переглядач lightbox для перегляду зображень у сфокусованому режимі.",
+ "Ви будете практикуватись працювати з подіями натискання та перемиканням класів."
]
},
"workshop-rps-game": {
@@ -2944,7 +2984,7 @@
"lab-football-team-cards": {
"title": "Створіть набір карток футбольних команд",
"intro": [
- "Один із загальних аспектів створення вебзастосунків — обробка наборів даних та виведення інформації на екран. У цьому проєкті ви дізнаєтесь, як працювати з маніпулюванням DOM, деструктуризацією об’єктів, обробкою подій та фільтрацією даних, створивши набір карток футбольних команд."
+ "У цій лабораторній роботі ви будете використовувати маніпуляцію DOM, деструктуризацію об’єктів, обробку подій та фільтрацію даних, щоб створити набір карток футбольних команд."
]
},
"review-javascript-events": {
@@ -2960,7 +3000,9 @@
},
"lecture-debugging-techniques": {
"title": "Техніки налагодження",
- "intro": ["У цих відеолекціях ви дізнаєтесь про техніки налагодження."]
+ "intro": [
+ "У цих відеолекціях ви дізнаєтесь про поширені помилки в JavaScript та техніки, за допомогою яких їх можна виправити — процес, який називається «налагодженням»."
+ ]
},
"lab-random-background-color-changer": {
"title": "Налагодьте перемикач кольору фону",
@@ -2982,20 +3024,21 @@
"lecture-working-with-regular-expressions": {
"title": "Робота з регулярними виразами",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про регулярні вирази в JavaScript."
+ "У цих відеолекціях ви дізнаєтесь про регулярні вирази в JavaScript. Ви дізнаєтесь про методи роботи з регулярними виразами, модифікатори, класи символів, перевірки вперед і назад, зворотні посилання, квантори та багато іншого."
]
},
"workshop-spam-filter": {
"title": "Створіть спам-фільтр",
"intro": [
"Регулярні вирази (відомі як «regex» або «regexp») — це шаблони, які допомагають програмістам поєднувати, шукати та замінювати текст. Регулярні вирази надзвичайно потужні, але їх важко зрозуміти, оскільки у них використовуються спеціальні символи.",
- "У цьому практичному занятті ви будете використовувати групи захоплення, позитивний та негативний огляди, а також інші техніки, щоб текст відповідав бажаному."
+ "У цьому практичному занятті ви будете використовувати групи захоплення, позитивні та негативні перевірки, а також інші техніки, щоб текст відповідав бажаному."
]
},
"lab-markdown-to-html-converter": {
"title": "Створіть конвертер з markdown у HTML",
"intro": [
- "У цій лабораторній роботі ви створите конвертер з markdown у HTML за допомогою JavaScript."
+ "У цій лабораторній роботі ви створите конвертер з markdown у HTML за допомогою JavaScript.",
+ "Ви будете практикуватись працювати з регулярними виразами, маніпулювати над рядками та багато іншого."
]
},
"lab-regex-sandbox": {
@@ -3020,7 +3063,7 @@
"lecture-understanding-form-validation": {
"title": "Знайомство з валідацією форм",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про валідацію форм в JavaScript."
+ "У цих відеолекціях ви дізнаєтесь про валідацію форм у JavaScript. Ви дізнаєтесь про різні способи валідації форм, а також як працюють метод preventDefault() та подія submit."
]
},
"workshop-calorie-counter": {
@@ -3033,7 +3076,8 @@
"lab-customer-complaint-form": {
"title": "Створіть форму для скарг",
"intro": [
- "У цій лабораторній роботі ви будете працювати над формою для скарг від клієнтів, використовуючи JavaScript."
+ "У цій лабораторній роботі ви будете працювати над формою для скарг від клієнтів, використовуючи JavaScript.",
+ "Ви будете практикуватись перевіряти дані форми, відтворювати повідомлення про помилки та запобігати відправленню форми, якщо є помилки."
]
},
"review-form-validation-with-javascript": {
@@ -3052,7 +3096,7 @@
"lecture-working-with-dates": {
"title": "Робота з датами",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з датами в JavaScript."
+ "У цих відеолекціях ви дізнаєтесь про об’єкт date в JavaScript. Ви ознайомитесь з різними методами, щоб працювати з датами та форматувати їх."
]
},
"lab-date-conversion": {
@@ -3075,7 +3119,7 @@
"lecture-working-with-audio-and-video": {
"title": "Робота з аудіо та відео",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з аудіо та відео в JavaScript."
+ "У цих відеолекціях ви дізнаєтесь, як працювати з аудіо- та відеофайлами за допомогою JavaScript. Ви дізнаєтесь про конструктори Audio і Video, їхні методи і властивості, аудіо- і відеоформати, кодеки, HTMLMediaElement API та багато іншого."
]
},
"workshop-music-player": {
@@ -3085,9 +3129,11 @@
"Цей проєкт охоплює ключові поняття, серед яких обробка аудіо, управління плейлистом, реалізація функцій програвання, паузи, наступної пісні та перемішування, а також динамічне оновлення інтерфейсу користувача на основі поточної пісні."
]
},
- "crzf": {
- "title": "222",
- "intro": []
+ "lab-drum-machine": {
+ "title": "Створіть драм машину",
+ "intro": [
+ "У цій лабораторній роботі ви будете використовувати елемент audio, щоб створити драм машину."
+ ]
},
"review-javascript-audio-and-video": {
"title": "Повторення аудіо та відео в JavaScript",
@@ -3103,7 +3149,7 @@
"lecture-working-with-maps-and-sets": {
"title": "Робота з map та set",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про map та set в JavaScript."
+ "У цих відеолекціях ви дізнаєтесь про Map та Set в JavaScript. Ви також дізнаєтесь, як вони відрізняються від WeakSets та WeakMaps."
]
},
"workshop-plant-nursery-catalog": {
@@ -3115,7 +3161,8 @@
"lab-voting-system": {
"title": "Створіть систему для голосування",
"intro": [
- "У цій лабораторній роботі ви створите систему для голосування, використовуючи map та set."
+ "У цій лабораторній роботі ви створите систему для голосування, використовуючи map та set.",
+ "Ви будете практикуватись використовувати об’єкт Map для зберігання пар ключ-значення та об’єкт Set для зберігання унікальних значень."
]
},
"review-javascript-maps-and-sets": {
@@ -3132,7 +3179,7 @@
"lecture-working-with-client-side-storage-and-crud-operations": {
"title": "Робота зі сховищем на клієнтській стороні та операціями CRUD",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про сховище на клієнтській стороні та операції CRUD в JavaScript."
+ "У цих відеолекціях ви дізнаєтесь про сховище пам’яті на стороні клієнта та CRUD-операції в JavaScript. Ви дізнаєтесь про localStorage та sessionStorage разом з їхніми методами та властивостями, файли cookie, Cache API, IndexDB та багато іншого."
]
},
"workshop-todo-app": {
@@ -3144,7 +3191,10 @@
},
"lab-bookmark-manager-app": {
"title": "Створіть менеджера закладок",
- "intro": ["У цій лабораторній роботі ви створите менеджера закладок."]
+ "intro": [
+ "У цій лабораторній роботі ви створите менеджера закладок.",
+ "Ви будете використовувати локальне сховище, щоб зберігати закладки, і попрактикуєте їхнє додавання, видалення і відтворення."
+ ]
},
"review-local-storage-and-crud": {
"title": "Повторення локального сховища та CRUD",
@@ -3160,7 +3210,7 @@
"lecture-understanding-how-to-work-with-classes-in-javascript": {
"title": "Знайомство з класами в JavaScript",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з класами в JavaScript."
+ "У цих відеолекціях ви дізнаєтесь про класи в JavaScript. Ви ознайомитеся з успадкуванням, ключовим словом this, статичними властивостями й методами та багато іншим."
]
},
"workshop-shopping-cart": {
@@ -3173,7 +3223,8 @@
"lab-project-idea-board": {
"title": "Створіть дошку ідей",
"intro": [
- "У цій лабораторній роботі ви створите дошку ідей за допомогою ООП в JavaScript."
+ "У цій лабораторній роботі ви створите дошку ідей за допомогою ООП в JavaScript.",
+ "Ви будете практикуватись створювати класи, додавати методи до класів та створювати екземпляри класів."
]
},
"lab-bank-account-manager": {
@@ -3196,7 +3247,7 @@
"lecture-understanding-recursion-and-the-call-stack": {
"title": "Знайомство з рекурсією та стеком викликів",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про рекурсію та стек викликів."
+ "У цій відеолекції ви дізнаєтесь про рекурсію та стек викликів."
]
},
"workshop-decimal-to-binary-converter": {
@@ -3226,7 +3277,7 @@
"lecture-understanding-functional-programming": {
"title": "Знайомство з функціональним програмуванням",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про функціональне програмування."
+ "У цих відеолекціях ви дізнаєтесь про функціональне програмування і як вкладати функції за допомогою техніки під назвою каррування."
]
},
"workshop-recipe-ingredient-converter": {
@@ -3258,7 +3309,7 @@
"lecture-understanding-asynchronous-programming": {
"title": "Знайомство з асинхронним програмуванням",
"intro": [
- "У цих відеолекціях ви дізнаєтесь про асинхронне програмування."
+ "У цих відеолекціях ви дізнаєтесь про асинхронне програмування в JavaScript. Ви дізнаєтесь про відмінності між синхронним і асинхронним програмуванням, як працює ключове слово async, Fetch API, проміси, async/await, Geolocation API та багато іншого."
]
},
"workshop-fcc-authors-page": {
@@ -3298,7 +3349,7 @@
"lecture-introduction-to-javascript-libraries-and-frameworks": {
"title": "Вступ до бібліотек і фреймворків JavaScript",
"intro": [
- "У цих відеолекціях ви ознайомитесь з бібліотеками й фреймворками в JavaScript."
+ "У цих відеолекціях ви ознайомитесь з основами бібліотек та фреймворків JavaScript. Ви дізнаєтесь про ролі бібліотек і фреймворків JavaScript, застосунки з однією сторінкою (SPA) та проблеми, що їх супроводжують, а також про React — найпопулярнішу бібліотеку JavaScript."
]
},
"workshop-reusable-mega-navbar": {
@@ -3317,7 +3368,7 @@
"lecture-working-with-data-in-react": {
"title": "Робота з даними в React",
"intro": [
- "У цих відеолекціях ви дізнаєтесь, як працювати з даними в React."
+ "У цих відеолекціях ви навчитесь працювати з даними в React. Ви дізнаєтесь про пропси і як їх передавати, умовне відтворення, як відтворювати списки та як використовувати вбудовані стилі."
]
},
"workshop-reusable-profile-card-component": {
@@ -3329,7 +3380,8 @@
"lab-mood-board": {
"title": "Створіть мудборд",
"intro": [
- "У цій лабораторній роботі ви створите мудборд, використовуючи пропси з React."
+ "У цій лабораторній роботі ви створите мудборд, використовуючи React.",
+ "Ви будете практикуватись передавати дані між батьківським і дочірнім компонентами, використовуючи пропси."
]
},
"review-react-basics": {
@@ -3389,7 +3441,8 @@
"lab-weather-app": {
"title": "Створіть застосунок з прогнозом погоди",
"intro": [
- "У цій лабораторній роботі ви створите застосунок з прогнозом погоди, використовуючи API для отримання даних."
+ "У цій лабораторній роботі ви створите застосунок з прогнозом погоди, використовуючи API.",
+ "Ви будете практикуватись отримувати дані з API, зберігати та відтворювати їх у застосунку."
]
},
"ffpt": {
@@ -3487,9 +3540,9 @@
"intro": ["Перевірте, що ви дізнались про TypeScript."]
},
"review-front-end-libraries": {
- "title": "Повторення бібліотек для front end",
+ "title": "Повторення бібліотек для Front End",
"intro": [
- "Пригадайте поняття з теми «Бібліотеки для front end», щоб підготуватись до тесту."
+ "Пригадайте поняття з теми «Бібліотеки для Front End», щоб підготуватись до тесту."
]
},
"rdzk": {
@@ -3863,9 +3916,9 @@
"intro": []
},
"exam-certified-full-stack-developer": {
- "title": "Екзамен «Сертифікований full stack розробник»",
+ "title": "Екзамен «Сертифікований Full Stack розробник»",
"intro": [
- "Складіть цей екзамен, щоб стати сертифікованим full stack розробником."
+ "Складіть цей екзамен, щоб стати сертифікованим Full Stack розробником."
]
}
}
diff --git a/client/i18n/locales/ukrainian/translations.json b/client/i18n/locales/ukrainian/translations.json
index 589ce61c254..769de1fde5a 100644
--- a/client/i18n/locales/ukrainian/translations.json
+++ b/client/i18n/locales/ukrainian/translations.json
@@ -106,7 +106,9 @@
"donate-now": "Задонатити",
"confirm-amount": "Підтвердити суму",
"play-scene": "Натисніть «Відтворити»",
- "closed-caption": "Приховані субтитри"
+ "closed-caption": "Приховані субтитри",
+ "share-on-bluesky": "Поділитись на BlueSky",
+ "share-on-threads": "Поділитись на Threads"
},
"landing": {
"big-heading-1": "Вчіться програмувати безоплатно.",
@@ -357,7 +359,7 @@
"challenge": "Завдання",
"completed": "Виконано",
"add-linkedin": "Додати цю сертифікацію до мого профілю LinkedIn",
- "add-twitter": "Поділитися цією сертифікацією у Twitter",
+ "add-twitter": "Поділитись сертифікацією на X",
"tweet": "Я щойно отримав(-ла) сертифікацію {{certTitle}} від @freeCodeCamp! Перегляньте її тут: {{certURL}}",
"avatar": "Аватар {{username}}",
"joined": "Приєднався(-лась) {{date}}",
@@ -366,7 +368,9 @@
"points": "{{count}}х балів станом на {{date}}",
"points_plural": "{{count}}х балів станом на {{date}}",
"page-number": "{{pageNumber}} з {{totalPages}}",
- "edit-my-profile": "Редагувати профіль"
+ "edit-my-profile": "Редагувати профіль",
+ "add-bluesky": "Поділитись сертифікацією на BlueSky",
+ "add-threads": "Поділитись сертифікацією на Threads"
},
"footer": {
"tax-exempt-status": "freeCodeCamp — це некомерційна організація, яка підтримується спонсорськими внесками та звільнена від сплати податків 501(c)(3) (Федеральний ідентифікаційний номер платника податків США: 82-0779546).",
@@ -421,6 +425,7 @@
"assignments": "Завдання",
"question": "Запитання",
"questions": "Запитання",
+ "answered-mcq": "Ви не відповіли на всі запитання та/або допустились помилок.",
"explanation": "Пояснення",
"solution-link": "Посилання на розв’язок",
"source-code-link": "Посилання на вихідний код",
@@ -547,7 +552,7 @@
"correct-answers": "Правильних відповідей: {{ n }}",
"percent-correct": "Відсоток правильних відповідей: {{ n }}%",
"passed-message": "Вітаємо! Ви пройшли екзамен та можете отримати сертифікацію.",
- "not-passed-message": "На жаль, ви не відповіли на достатню кількість запитань, щоб пройти екзамен.",
+ "not-passed-message": "На жаль, ви не відповіли на достатню кількість запитань, щоб скласти екзамен.",
"results-header": "Результати «{{ title }}»",
"question-results": "Ви правильно відповіли на {{ n }} з {{ q }} запитань",
"percent-results": "{{ p }}% правильно",
@@ -1055,8 +1060,8 @@
"responsive-web-design-cert": "Сертифікація «Адаптивний вебдизайн»",
"javascript-algorithms-and-data-structures": "Алгоритми та структури даних JavaScript (стара версія)",
"javascript-algorithms-and-data-structures-cert": "Сертифікація «Алгоритми та структури даних JavaScript» (стара версія)",
- "javascript-algorithms-and-data-structures-v8": "Алгоритми та структури даних JavaScript (бета-версія)",
- "javascript-algorithms-and-data-structures-v8-cert": "Сертифікація «Алгоритми та структури даних JavaScript» (бета-версія)",
+ "javascript-algorithms-and-data-structures-v8": "Алгоритми та структури даних JavaScript",
+ "javascript-algorithms-and-data-structures-v8-cert": "Сертифікація «Алгоритми та структури даних JavaScript»",
"front-end-development-libraries": "Бібліотеки Front End",
"front-end-development-libraries-cert": "Сертифікація «Бібліотеки Front End»",
"data-visualization": "Візуалізація даних",