From f176afee3438a8528136492846363a9be1cdd95c Mon Sep 17 00:00:00 2001 From: freeCodeCamp's Camper Bot Date: Wed, 4 Feb 2026 19:16:18 +0530 Subject: [PATCH] chore(i18n,client): processed translations (#65657) --- .../locales/chinese-traditional/intro.json | 3365 +--------------- .../chinese-traditional/translations.json | 2 +- client/i18n/locales/chinese/intro.json | 3365 +--------------- client/i18n/locales/chinese/translations.json | 2 +- client/i18n/locales/espanol/intro.json | 3421 +--------------- client/i18n/locales/espanol/translations.json | 2 +- client/i18n/locales/german/intro.json | 3365 +--------------- client/i18n/locales/german/translations.json | 2 +- client/i18n/locales/italian/intro.json | 3365 +--------------- client/i18n/locales/italian/translations.json | 2 +- client/i18n/locales/japanese/intro.json | 3365 +--------------- .../i18n/locales/japanese/translations.json | 2 +- client/i18n/locales/korean/intro.json | 3365 +--------------- client/i18n/locales/korean/translations.json | 2 +- client/i18n/locales/portuguese/intro.json | 3423 +---------------- .../i18n/locales/portuguese/translations.json | 2 +- client/i18n/locales/swahili/intro.json | 3365 +--------------- client/i18n/locales/swahili/translations.json | 2 +- client/i18n/locales/ukrainian/intro.json | 3365 +--------------- .../i18n/locales/ukrainian/translations.json | 2 +- 20 files changed, 260 insertions(+), 33524 deletions(-) diff --git a/client/i18n/locales/chinese-traditional/intro.json b/client/i18n/locales/chinese-traditional/intro.json index 556c62534e1..db2bf819685 100644 --- a/client/i18n/locales/chinese-traditional/intro.json +++ b/client/i18n/locales/chinese-traditional/intro.json @@ -1940,3346 +1940,6 @@ } } }, - "full-stack-developer": { - "title": "Certified Full Stack Developer Curriculum", - "intro": [ - "This course provides a comprehensive pathway to becoming a Certified Full Stack Developer, covering all the essential technologies required to build modern, scalable web applications from start to finish.", - "Through a blend of interactive lessons, coding exercises, and real-world projects, you will master both frontend and backend development. You'll work with HTML, CSS, and JavaScript to build responsive user interfaces, explore React and TypeScript for advanced web applications, and learn to manage data with relational databases - and on the backend, you'll use Git, Npm, Node.js, and Python to create powerful server-side solutions.", - "By the end of this course, you'll have the practical skills and experience to confidently develop complete web applications, preparing you for a successful career as a Full Stack Developer.", - "This certification will take you a substantial amount of time and effort to complete. If you start now, you may be ready to start the remaining material and final exam when we launch it in the coming months." - ], - "chapters": { - "html": "HTML", - "css": "CSS", - "javascript": "JavaScript", - "frontend-libraries": "Front End Libraries", - "relational-databases": "Relational Databases", - "backend-javascript": "Backend JavaScript", - "python": "Python", - "career": "Career" - }, - "modules": { - "basic-html": "Basic HTML", - "semantic-html": "Semantic HTML", - "html-forms-and-tables": "Forms and Tables", - "html-and-accessibility": "Accessibility", - "review-html": "HTML Review", - "exam-html": "HTML Exam", - "computer-basics": "Computer Basics", - "basic-css": "Basic CSS", - "design-for-developers": "Design", - "absolute-and-relative-units": "Absolute and Relative Units", - "pseudo-classes-and-elements": "Pseudo Classes and Elements", - "css-colors": "Colors", - "styling-forms": "Styling Forms", - "css-box-model": "The Box Model", - "css-flexbox": "Flexbox", - "css-typography": "Typography", - "css-and-accessibility": "Accessibility", - "attribute-selectors": "Attribute Selectors", - "css-positioning": "Positioning", - "responsive-design": "Responsive Design", - "css-variables": "Variables", - "css-grid": "Grid", - "css-animations": "Animations", - "review-css": "CSS Review", - "exam-css": "CSS Exam", - "code-editors": "Code Editors", - "javascript-variables-and-strings": "Variables and Strings", - "javascript-booleans-and-numbers": "Booleans and Numbers", - "javascript-functions": "Functions", - "javascript-arrays": "Arrays", - "javascript-objects": "Objects", - "javascript-loops": "Loops", - "review-javascript-fundamentals": "JavaScript Fundamentals Review", - "higher-order-functions-and-callbacks": "Higher Order Functions and Callbacks", - "dom-manipulation-and-events": "DOM Manipulation and Events", - "js-a11y": "JavaScript and Accessibility", - "debugging-javascript": "Debugging", - "basic-regex": "Basic Regex", - "form-validation": "Form Validation", - "javascript-dates": "Dates", - "audio-and-video-events": "Audio and Video Events", - "maps-and-sets": "Maps and Sets", - "localstorage-and-crud-operations": "localStorage and CRUD Operations", - "classes-and-the-this-keyword": "Classes", - "recursion": "Recursion", - "functional-programming": "Functional Programming", - "asynchronous-javascript": "Asynchronous JavaScript", - "review-javascript": "JavaScript Review", - "exam-javascript": "JavaScript Exam", - "react-fundamentals": "React Fundamentals", - "react-state-hooks-and-routing": "React State, Hooks, and Routing", - "performance": "Performance", - "testing": "Testing", - "css-libraries-and-frameworks": "CSS Libraries and Frameworks", - "data-visualization": "Data Visualization and D3", - "typescript-fundamentals": "TypeScript Fundamentals", - "review-front-end-libraries": "Front End Libraries Review", - "exam-front-end-libraries": "Front End Libraries Exam", - "python-basics": "Python Basics", - "python-loops-and-sequences": "Loops and Sequences", - "python-dictionaries-and-sets": "Dictionaries and Sets", - "python-error-handling": "Error Handling", - "python-classes-and-objects": "Classes and Objects", - "python-object-oriented-programming": "Object-Oriented Programming (OOP)", - "python-linear-data-structures": "Linear Data Structures", - "python-algorithms": "Algorithms", - "python-graphs-and-trees": "Graphs and Trees", - "python-dynamic-programming": "Dynamic Programming", - "review-python": "Python Review", - "exam-python": "Python Exam", - "bash-fundamentals": "Bash Fundamentals", - "sql-and-postgresql": "SQL and PostgreSQL", - "bash-scripting": "Bash Scripting", - "sql-and-bash": "SQL and Bash", - "git": "Git", - "review-relational-databases": "Relational Databases Review", - "exam-relational-databases": "Relational Databases Exam", - "nodejs-core-libraries": "Node.js Core Libraries", - "node-package-manager": "Node Package Manager", - "http-and-the-web-standards-model": "HTTP and the Web Standards Model", - "rest-api-and-web-services": "REST API and Web Services", - "introduction-to-express": "Introduction to Express", - "express-middleware": "Express Middleware", - "error-handling-in-express": "Error Handling in Express", - "websockets": "WebSockets", - "node-and-sql": "Node and SQL", - "security-and-privacy": "Security and Privacy", - "authentication": "Authentication", - "tooling-and-deployment": "Tooling and Deployment", - "how-to-get-a-developer-job": "How to Get a Developer Job", - "capstone-project": "Capstone Project", - "certified-full-stack-developer-exam": "Certified Full Stack Developer Exam" - }, - "module-intros": { - "data-visualization": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will be introduced to data visualization and learn how to work with the D3 library." - ] - }, - "typescript-fundamentals": { - "note": "Coming Fall 2025", - "intro": [ - "In this module, you will be introduced to TypeScript, which is a superset of JavaScript that allows you to add static typing to your JavaScript code. You will build several workshops and labs that will give you practice in working with generics, type narrowing, TSX, and more. Then you will test your knowledge of TypeScript fundamentals with a short quiz." - ] - }, - "python-classes-and-objects": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to work with classes, methods, attributes and properties. Then, you will build out workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-object-oriented-programming": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about Object-oriented programming concepts like encapsulation, inheritance, polymorphism, and more. You will build out workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-linear-data-structures": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about data structures including stacks, queues, linked lists, and more. You will build out a workshop and lab to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-algorithms": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about common algorithms including binary search, merge sort, selection sort, and more. You will build workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-graphs-and-trees": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about graphs in computer science as well as adjacency lists, trees, tries, and more. You will build workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-dynamic-programming": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about dynamic programming and practice these concepts by building a fibonacci sequence lab. Then you will take a short quiz to test your knowledge." - ] - }, - "bash-fundamentals": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about the command line and common Bash commands. Then you will practice your skills with a workshop and take a short quiz to test your knowledge." - ] - }, - "sql-and-postgresql": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to work with relational databases which store data as collections in tables. Some of the concepts you will learn about include inserting and viewing table data, primary and foreign keys in SQL, and more. Then you will build out a workshop and lab to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "bash-scripting": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about bash scripting and practice those skills by building five programs. Then you will be able to test your knowledge of these concepts by taking a short quiz." - ] - }, - "sql-and-bash": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about normalization, SQL injection, and the N+1 problem. Then you will get to practice working with SQL and Bash by building several workshops and labs. Then you will be able to test your knowledge of these concepts by taking a short quiz." - ] - }, - "git": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to use Git, Nano, and GitHub. Then you will get to practice working with Git by building several workshops and labs. You will be able to test your knowledge of these concepts by taking a short quiz." - ] - }, - "introduction-to-nodejs": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to Node.js, which is a JavaScript runtime environment that allows you to build backend applications using JavaScript. You will get to practice fundamental concepts by building a small workshop and test your knowledge with a short quiz." - ] - }, - "nodejs-core-libraries": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about common Node.js core libraries including the fs, os, path and more. Then you will get to practice what you have learned through workshops and labs and test your knowledge through a short quiz." - ] - }, - "node-package-manager": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to the Node Package Manager, which developers use to manage project dependencies and scripts. Then you will get to practice what you have learned through workshops and labs and test your knowledge with a short quiz." - ] - }, - "http-and-the-web-standards-model": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about HTTP (Hypertext Transfer Protocol) and other important concepts including the request-response model, common response codes, DNS, TCP/IP, and more. Then you will get to practice what you have learned through a build your own web server workshop and test your knowledge with a short quiz." - ] - }, - "rest-api-and-web-services": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about the REST API (Representational State Transfer Application Programming Interface) and how microservices work. Then you will take a short quiz to test your knowledge." - ] - }, - "introduction-to-express": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to Express.js, which is a framework used to build RESTful APIs. Then you will practice your skills through workshops and labs and test your knowledge with a short quiz." - ] - }, - "express-middleware": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about middleware in Express.js, which is used to handle requests and responses between the client and server. You will then practice your skills through a workshop and lab and test your knowledge with a short quiz." - ] - }, - "error-handling-in-express": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about how error handling, debugging, and health checks work in Express.js. You will then practice what you have learned in a lab and test your knowledge with a short quiz." - ] - }, - "websockets": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to websockets, which is a protocol used for real time communication with the client and server. You will then practice what you have learned in labs and workshops and test your knowledge with a short quiz." - ] - }, - "node-and-sql": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will practice building applications with Node and SQL. Then you will take a short quiz to test your knowledge." - ] - }, - "security-and-privacy": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about the differences between security and privacy as well as other concepts including CSPs, Permissions-Policies, PII, working with CORS, and more. Then you will take a short quiz to test your knowledge." - ] - }, - "authentication": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about how authentication works in web applications along with other important concepts including JWTs, CSRFs, Passport, Helmet, cryptography and encryption, and more. You will then practice what you have learned in labs and workshops and test your knowledge with a short quiz." - ] - }, - "tooling-and-deployment": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about common tools used in the industry for deploying your full stack applications. Then you will take a short quiz to test your knowledge." - ] - }, - "how-to-get-a-developer-job": { - "note": "Coming Late 2026", - "intro": [ - "In this module, Quincy Larson (Founder and teacher of freeCodeCamp) will talk about strategies you can use to prepare for getting a developer job. Quincy will cover key subjects including résumés, portfolios, researching the market, preparing for technical interviews, and more." - ] - }, - "capstone-project": { - "note": "Coming Late 2026", - "intro": [ - "This will be your opportunity to build out a full stack application encompassing what you have learned throughout this certification." - ] - }, - "certified-full-stack-developer-exam": { - "note": "Coming Late 2026", - "intro": [ - "This will be a 90 question exam testing what you have learned throughout this certification." - ] - } - }, - "blocks": { - "workshop-curriculum-outline": { - "title": "Build a Curriculum Outline", - "intro": [ - "Welcome to freeCodeCamp!", - "This workshop will serve as your introduction to HTML and coding in general. You will learn about headings and paragraph elements." - ] - }, - "lab-debug-camperbots-profile-page": { - "title": "Debug Camperbot's Profile Page", - "intro": [ - "Camperbot is learning how to code too and needs some help with their HTML.", - "In this lab, you will help Camperbot find and fix the errors in their code." - ] - }, - "lecture-understanding-html-attributes": { - "title": "Understanding HTML Attributes", - "intro": [ - "In these lessons, you will learn more about HTML (HyperText Markup Language), a markup language for creating web pages.", - "You will learn about HTML's role on the web, and what HTML attributes are." - ] - }, - "lab-debug-pet-adoption-page": { - "title": "Debug a Pet Adoption Page", - "intro": [ - "In this lab, you will need to find and fix the errors in this pet adoption page." - ] - }, - "lecture-understanding-the-html-boilerplate": { - "title": "Understanding the HTML Boilerplate", - "intro": [ - "In these lessons, you will learn about the HTML boilerplate which is a ready-made template for your webpages.", - "You will learn how to work with the link element, meta element and more." - ] - }, - "workshop-cat-photo-app": { - "title": "Build a Cat Photo App", - "intro": [ - "HTML stands for HyperText Markup Language and it represents the content and structure of a web page.", - "In this workshop, you will learn how to work with basic HTML elements such as headings, paragraphs, images, links, and lists." - ] - }, - "lab-recipe-page": { - "title": "Build a Recipe Page", - "intro": [ - "In this lab, you'll review HTML basics by creating a web page of your favorite recipe. You'll create an HTML boilerplate and work with headings, lists, images, and more." - ] - }, - "lecture-html-fundamentals": { - "title": "HTML Fundamentals", - "intro": [ - "In these lessons, you will learn about HTML fundamentals like the div element, the id and class attributes, the HTML boilerplate, HTML entities, and more." - ] - }, - "workshop-bookstore-page": { - "title": "Build a Bookstore Page", - "intro": [ - "In this workshop, you will practice working with classes, ids and the div element by building a bookstore page." - ] - }, - "lecture-understanding-how-html-affects-seo": { - "title": "Understanding How HTML Affects SEO", - "intro": [ - "In these lessons, you will learn how your HTML code impacts search engine optimization." - ] - }, - "lab-travel-agency-page": { - "title": "Build a Travel Agency Page", - "intro": [ - "In this lab, you'll review working with HTML fundamentals by creating a web page for a travel agency. You'll work with images, the figure element, the figcaption element, the anchor element, and more." - ] - }, - "lecture-working-with-audio-and-video-elements": { - "title": "Working with Audio and Video Elements", - "intro": [ - "In these lessons, you will learn how to work with the audio and video elements." - ] - }, - "lab-html-audio-and-video-player": { - "title": "Build an HTML Audio and Video Player", - "intro": [ - "In this lab, you will build an HTML audio and video player using the video and audio elements with controls and source attributes." - ] - }, - "lecture-working-with-images-and-svgs": { - "title": "Working with Images and SVGs", - "intro": [ - "In these lessons, you will learn how to work with SVGs and learn about techniques for optimizing your images." - ] - }, - "workshop-build-a-heart-icon": { - "title": "Build a Heart Icon", - "intro": [ - "In this workshop, you will practice working with SVGs by building a heart icon" - ] - }, - "lecture-working-with-media": { - "title": "Working with the iframe Element", - "intro": [ - "In these lessons, you will learn how to work with the iframe element which is used to embed an external site on your web page." - ] - }, - "workshop-build-a-video-display-using-iframe": { - "title": "Build a Video Display Using iframe", - "intro": [ - "In this workshop, you'll learn how to work with the iframe element by building a video display." - ] - }, - "lab-video-compilation-page": { - "title": "Build a Video Compilation Page", - "intro": [ - "In this lab, you'll create a video compilation web page. You'll practice working with the iframe element." - ] - }, - "lecture-working-with-links": { - "title": "Working with Links", - "intro": [ - "In these lessons, you will learn about links, the target attribute, different link states, absolute, and relative paths, and more." - ] - }, - "review-basic-html": { - "title": "Basic HTML Review", - "intro": [ - "Before you are quizzed on the HTML knowledge you have gained so far, you first need to review the concepts.", - "Open up this page to review the HTML boilerplate, audio and video elements, the different target attribute values and more." - ] - }, - "quiz-basic-html": { - "title": "Basic HTML Quiz", - "intro": [ - "The following quiz will test your knowledge of the basic HTML concepts you have learned so far.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "lecture-importance-of-semantic-html": { - "title": "Importance of Semantic HTML", - "intro": [ - "In these lessons, you will learn about semantic HTML and why you should care about it, semantic elements, how semantic HTML differs from presentational HTML, and more." - ] - }, - "lecture-understanding-nuanced-semantic-elements": { - "title": "Understanding Nuanced Semantic Elements", - "intro": [ - "In these lessons, you will learn when you should use certain semantic elements like the em element over the i element, description lists, and more." - ] - }, - "workshop-major-browsers-list": { - "title": "Build a List of Major Web Browsers", - "intro": [ - "In this workshop, you will build a description list and work with the dl, dt, and dd elements." - ] - }, - "lecture-working-with-text-and-time-semantic-elements": { - "title": "Working with Text and Time Semantic Elements ", - "intro": [ - "In this lesson, you will learn about the importance of semantics in conveying meaning for text and time-related content including the time, blockquote elements and more." - ] - }, - "workshop-quincys-job-tips": { - "title": "Build Quincy's Job Tips Page", - "intro": [ - "In this workshop, you will practice working with semantic HTML by using the q, blockquote and cite elements." - ] - }, - "lecture-working-with-specialized-semantic-elements": { - "title": "Working with Specialized Semantic Elements", - "intro": [ - "In this lesson, you will learn about specialized semantic elements like u, s, code elements and more." - ] - }, - "workshop-blog-page": { - "title": "Build a Cat Blog Page", - "intro": [ - "In this workshop, you will build an HTML only blog page using semantic elements including the main, nav, article and footer elements." - ] - }, - "lab-event-hub": { - "title": "Build an Event Hub", - "intro": [ - "In this lab, you'll build an event hub and review semantic elements like header, nav, article, and more." - ] - }, - "review-semantic-html": { - "title": "Semantic HTML Review", - "intro": [ - "Before you are quizzed on semantic HTML, you first need to review the concepts.", - "Open up this page to review the em, strong, blockquote, address and more semantic HTML elements." - ] - }, - "quiz-semantic-html": { - "title": "Semantic HTML Quiz", - "intro": [ - "The following quiz will test your knowledge on semantic HTML concepts you have learned so far.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "lecture-working-with-forms": { - "title": "Working with Forms", - "intro": [ - "In these lessons, you will learn about forms, the role of labels, inputs and buttons in creating forms, client-side form validation, and form states." - ] - }, - "workshop-hotel-feedback-form": { - "title": "Build a Hotel Feedback Form", - "intro": [ - "In this workshop, you will build a Hotel Feedback Form.", - "You will practice working with labels, inputs, fieldsets, legends, textareas and buttons." - ] - }, - "lab-survey-form": { - "title": "Build a Survey Form", - "intro": [ - "In this lab, you'll review HTML forms by creating a survey form.", - "You'll practice working with the label element, the different input elements, the required attribute, and more. " - ] - }, - "lecture-working-with-tables": { - "title": "Working with Tables", - "intro": [ - "In these lessons, you will learn about HTML tables, how to create them, and when to use them." - ] - }, - "workshop-final-exams-table": { - "title": "Build a Final Exams Table", - "intro": [ - "In this workshop, you will practice working with HTML tables by building a table of final exams." - ] - }, - "lab-book-catalog-table": { - "title": "Build a Book Catalog Table", - "intro": [ - "In this lab, you'll review HTML tables by building a book information table.", - "You'll practice the different table components like the thead, tbody, th, tr, and td elements." - ] - }, - "lecture-working-with-html-tools": { - "title": "Working with HTML Tools", - "intro": [ - "In these lessons, you will learn about HTML tools and how they let you write better code. These tools include HTML validators, DOM Inspector, and the browser developer tools." - ] - }, - "review-html-tables-and-forms": { - "title": "HTML Tables and Forms Review", - "intro": [ - "Before you are quizzed on HTML forms, tables and tools, you first need to review the concepts.", - "Open up this page to review the table, input, and button elements as well as commonly used tools like the HTML validator and more." - ] - }, - "quiz-html-tables-and-forms": { - "title": "HTML Tables and Forms Quiz", - "intro": [ - "The following quiz will test your knowledge of HTML tables, forms and commonly used HTML tools.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "lecture-importance-of-accessibility-and-good-html-structure": { - "title": "Importance of Accessibility and Good HTML Structure", - "intro": [ - "In these lessons, you will learn about accessibility and its importance, assistive tools for people with disabilities, HTML attributes that let you create inclusive websites, accessibility best practices, and much more." - ] - }, - "workshop-debug-coding-journey-blog-page": { - "title": "Debug a Coding Journey Blog Page", - "intro": [ - "In this workshop, you will debug and fix accessibility errors in a coding blog page." - ] - }, - "lecture-accessible-tables-forms": { - "title": "Working with Accessible Tables and Forms", - "intro": [ - "In these lessons, you will learn about how to create accessible tables and forms." - ] - }, - "workshop-tech-conference-schedule": { - "title": "Build a Tech Conference Schedule Table", - "intro": [ - "In this workshop, you will build an accessible tech conference schedule table." - ] - }, - "lecture-introduction-to-aria": { - "title": "Introduction to ARIA", - "intro": [ - "In these lessons, you will learn about working with ARIA roles." - ] - }, - "workshop-accessible-audio-controller": { - "title": "Build an Accessible Audio Controller", - "intro": [ - "In this workshop, you will practice accessible HTML by building an audio controller that uses the aria-labelledby attribute." - ] - }, - "lecture-accessible-media-elements": { - "title": "Working with Accessible Media Elements", - "intro": [ - "In these lessons, you will learn about how to create accessible links, audio and video content." - ] - }, - "lab-checkout-page": { - "title": "Build a Checkout Page", - "intro": [ - "In this lab, you'll create an accessible checkout page.", - "You'll practice concepts like alt attributes and ARIA roles." - ] - }, - "lab-movie-review-page": { - "title": "Design a Movie Review Page", - "intro": [ - "In this lab, you'll create a movie review page.", - "You'll practice concepts like semantic HTML, alt attributes, accessible lists, and hiding decorative content from screen readers using aria-hidden." - ] - }, - "lab-multimedia-player": { - "title": "Build a Multimedia Player", - "intro": [ - "In this lab, you'll build a multimedia player.", - "You will practice working with the audio and video elements, the controls attribute, and the aria-label attribute." - ] - }, - "review-html-accessibility": { - "title": "HTML Accessibility Review", - "intro": [ - "Before you are quizzed on HTML and accessibility, you first need to review the concepts.", - "Open up this page to review concepts including the aria-hidden, aria-describedby, tabindex attributes and more." - ] - }, - "quiz-html-accessibility": { - "title": "HTML Accessibility Quiz", - "intro": [ - "The following quiz will test your knowledge on the accessibility concepts you have learned so far.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "review-html": { - "title": "HTML Review", - "intro": [ - "Before you take the HTML prep exam, you first need to review the concepts taught in the previous modules.", - "Open up this page to review concepts around the basics of HTML elements, semantic HTML, tables, forms and accessibility." - ] - }, - "qpra": { - "title": "30", - "intro": [] - }, - "lecture-understanding-computer-internet-and-tooling-basics": { - "title": "Understanding Computer, Internet, and Tooling Basics", - "intro": [ - "In these lessons, you will learn about the computer, its different parts, internet service providers (ISPs), and the tools professional developers use." - ] - }, - "lecture-working-with-file-systems": { - "title": "Working with File Systems", - "intro": [ - "In these lessons, you will learn how to work with file and folder systems on your computers. You will learn how to create, move, and delete files and folders, the best practices for naming and organizing files and folders, and more." - ] - }, - "lecture-browsing-the-web-effectively": { - "title": "Browsing the Web Effectively", - "intro": [ - "In these lessons, you will learn about what websites, search engine, and web browsers are, the different browsers available, and how to get the best out of a search engine." - ] - }, - "review-computer-basics": { - "title": "Computer Basics Review", - "intro": [ - "Before you are quizzed on basic computer and internet concepts, you first need to review.", - "Open up this page to review concepts like RAM, Internet service providers, common web browsers, search engines and more." - ] - }, - "quiz-computer-basics": { - "title": "Computer Basics Quiz", - "intro": [ - "Test what you've learned in this quiz of basic computer knowledge." - ] - }, - "lecture-what-is-css": { - "title": "What Is CSS?", - "intro": [ - "The following lessons are all about CSS. You will learn what CSS is and its role on the web, a CSS rule and its anatomy, the three ways to write CSS and when to use each, inline and block elements, and many more." - ] - }, - "workshop-cafe-menu": { - "title": "Design a Cafe Menu", - "intro": [ - "CSS tells the browser how to display your webpage. You can use CSS to set the color, font, size, and other aspects of HTML elements.", - "In this workshop, you'll learn CSS by designing a menu page for a cafe webpage." - ] - }, - "lab-business-card": { - "title": "Design a Business Card", - "intro": [ - "In this lab, you'll create a business card and style it using CSS.", - "You'll practice style properties like 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 lessons, you will learn about CSS specificity, the common selectors and their specificities, the cascade algorithm, inheritance, and more." - ] - }, - "review-basic-css": { - "title": "CSS Fundamentals Review", - "intro": [ - "Before you are quizzed on basic CSS concepts, you first need to review.", - "Open up this page to review concepts including margin, padding, CSS combinators, CSS specificity and more." - ] - }, - "quiz-basic-css": { - "title": "CSS Fundamentals Quiz", - "intro": [ - "Test what you've learned in this quiz of basic CSS knowledge." - ] - }, - "lecture-styling-lists-and-links": { - "title": "Styling Lists and Links", - "intro": [ - "In these lessons, you will learn the properties you need to know to effectively style lists and links, including link states like 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", - "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 lessons, you will learn about the properties and values you need to know to style backgrounds and borders of elements, alongside the accessibility considerations for backgrounds." - ] - }, - "lab-blog-post-card": { - "title": "Design a Blog Post Card", - "intro": [ - "In this lab, you'll design a blog post card using HTML and CSS", - "You'll practice concepts like background-color, border-radius, margins, paddings, and more." - ] - }, - "review-css-backgrounds-and-borders": { - "title": "Lists, Links, CSS Background and Borders Review", - "intro": [ - "Before you are quizzed on CSS backgrounds and borders, you first need to review.", - "Open up this page to review concepts including the background-image property, border property and more." - ] - }, - "quiz-css-backgrounds-and-borders": { - "title": "CSS Backgrounds and Borders Quiz", - "intro": [ - "Test what you've learned in this quiz of backgrounds and borders in CSS." - ] - }, - "lecture-user-interface-design-fundamentals": { - "title": "User Interface Design Fundamentals", - "intro": [ - "In these lessons, you will learn about the fundamentals of user interface (UI) design. You will learn about the terms you need to know to communicate with designers, visual hierarchy, scaling, alignment, whitespace, and much more." - ] - }, - "lecture-user-centered-design": { - "title": "User-Centered Design", - "intro": [ - "In these lessons, you will learn about best practices for designing user-facing features like dark mode, breadcrumbs, modal dialogs, and much more. You will also learn how to conduct user research, user requirements and testing." - ] - }, - "lecture-common-design-tools": { - "title": "Common Design Tools", - "intro": [ - "In these lessons, you will learn about the common design tools developers should know. You will also learn about design briefs and how developers work with them." - ] - }, - "review-design-fundamentals": { - "title": "Design Fundamentals Review", - "intro": [ - "Before you are quizzed on the design fundamentals you have learned so far, you first need to review.", - "Open up this page to review concepts like user-centered design, scale, alignment, good visual hierarchy and more." - ] - }, - "quiz-design-fundamentals": { - "title": "Design Fundamentals Quiz", - "intro": [ - "Test what you've learned in this quiz of UI design fundamentals." - ] - }, - "lecture-working-with-relative-and-absolute-units": { - "title": "Working with Relative and Absolute Units", - "intro": [ - "In these lessons, you will learn about relative and absolute units, and how they both impact what you see in the browser." - ] - }, - "lab-event-flyer-page": { - "title": "Build an Event Flyer Page", - "intro": [ - "In this lab, you'll create an event flyer page.", - "You will practice aligning elements using absolute and relative CSS." - ] - }, - "review-css-relative-and-absolute-units": { - "title": "CSS Relative and Absolute Units Review", - "intro": [ - "Before you are quizzed on relative and absolute units, you first need to review.", - "Open up this page to review concepts like percentages, px, rem, em, and more." - ] - }, - "quiz-css-relative-and-absolute-units": { - "title": "CSS Relative and Absolute Units Quiz", - "intro": [ - "Test what you've learned in this quiz of relative and absolute units in CSS." - ] - }, - "lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": { - "title": "Working with Pseudo-Classes and Pseudo-Elements in CSS", - "intro": [ - "In these lessons, you will learn about pseudo-classes and pseudo-elements, alongside their examples and how they work." - ] - }, - "workshop-greeting-card": { - "title": "Design a Greeting Card", - "intro": [ - "In the previous lessons, you learned how to work with the different types of pseudo-classes.", - "In this workshop, you will have a chance to practice what you have learned by designing a greeting card." - ] - }, - "lab-job-application-form": { - "title": "Build a Job Application Form", - "intro": [ - "In this lab you'll build a job application form and style it using pseudo-classes.", - "You'll practice concepts like :hover, :active, :focus, and more." - ] - }, - "review-css-pseudo-classes": { - "title": "CSS Pseudo-classes Review", - "intro": [ - "Before you're quizzed on CSS pseudo-classes and pseudo-elements, you should review what you've learned about them.", - "Open up this page to review concepts like the ::before and ::after pseudo-elements as well as the :hover, :active pseudo-classes and more." - ] - }, - "quiz-css-pseudo-classes": { - "title": "CSS Pseudo-classes Quiz", - "intro": ["Test your knowledge of CSS pseudo-classes with this quiz."] - }, - "lecture-working-with-colors-in-css": { - "title": "Working with Colors in CSS", - "intro": [ - "In these lessons, you will learn about linear and radial gradients, the color theory, different kinds of colors like named, RGB, Hex, and HSL colors. You will learn how these colors work, and which to use in specific cases." - ] - }, - "workshop-colored-markers": { - "title": "Build a Set of Colored Markers", - "intro": [ - "In this workshop, you'll build a set of colored markers. You'll practice different ways to set color values and how to pair colors with each other." - ] - }, - "lab-colored-boxes": { - "title": "Design a Set of Colored Boxes", - "intro": [ - "In this lab, you'll create a color grid and practice adding background colors to the grid items using hex codes, RGB, and predefined color names." - ] - }, - "review-css-colors": { - "title": "CSS Colors Review", - "intro": [ - "Before you're quizzed on CSS colors, you should review what you've learned about them.", - "Open up this page to review concepts like the rgb() function, hsl() function, hex codes, and more." - ] - }, - "quiz-css-colors": { - "title": "CSS Colors Quiz", - "intro": ["Test your knowledge of CSS colors with this quiz."] - }, - "lecture-best-practices-for-styling-forms": { - "title": "Best Practices for Styling Forms", - "intro": [ - "In these lessons, you will learn about the best practices for styling forms and issues you can encounter while styling special inputs like color and datetime-local." - ] - }, - "workshop-registration-form": { - "title": "Design a Registration Form", - "intro": [ - "In this workshop, you'll learn how to design HTML forms by designing a signup page. You'll learn how to control what types of data people can type into your form, and some new CSS tools for styling your page." - ] - }, - "lab-contact-form": { - "title": "Design a Contact Form", - "intro": [ - "In this lab, you'll design a contact form in HTML and style it using CSS." - ] - }, - "workshop-game-settings-panel": { - "title": "Build a Game Settings Panel", - "intro": [ - "In this workshop, you will practice styling checkboxes by building a game settings panel." - ] - }, - "lab-feature-selection": { - "title": "Design a Feature Selection Page", - "intro": [ - "In this lab, you'll build a feature selection page with custom-styled checkboxes.", - "You'll create feature cards with labels and checkboxes, then give custom styling to the checkboxes." - ] - }, - "review-styling-forms": { - "title": "Styling Forms Review", - "intro": [ - "Before you're quizzed on styling forms, you should review what you've learned.", - "Open up this page to review how to style form inputs, working with appearance: none and more." - ] - }, - "quiz-styling-forms": { - "title": "Styling Forms Quiz", - "intro": [ - "In this quiz, you will test your knowledge of how to style forms." - ] - }, - "lecture-working-with-css-transforms-overflow-and-filters": { - "title": "Working with CSS Transforms, Overflow, and Filters", - "intro": [ - "In these lessons, you will learn about working with CSS transforms, overflow, and filters. You will also learn about the box model and how it works." - ] - }, - "workshop-rothko-painting": { - "title": "Design a Rothko Painting", - "intro": [ - "Every HTML element is its own box – with its own spacing and a border. This is called the Box Model.", - "In this workshop, you'll use CSS and the Box Model to create your own Rothko-style rectangular art pieces." - ] - }, - "lab-confidential-email-page": { - "title": "Build a Confidential Email Page", - "intro": [ - "In this lab, you'll create a web page using HTML and mask the content using CSS properties." - ] - }, - "review-css-layout-and-effects": { - "title": "CSS Layouts and Effects Review", - "intro": [ - "Before you are quizzed on CSS Layouts and Effects, you first need to review.", - "Open up this page to review concepts like the transform property, the box model, the overflow property and more." - ] - }, - "quiz-css-layout-and-effects": { - "title": "CSS Layout and Effects Quiz", - "intro": [ - "In this quiz, you will test your knowledge of the box model, transforms, filters, and overflow in CSS." - ] - }, - "lecture-working-with-css-flexbox": { - "title": "Working with CSS Flexbox", - "intro": [ - "In these lessons, you will learn how CSS flexbox works, its properties, and when you should use it." - ] - }, - "workshop-flexbox-photo-gallery": { - "title": "Build a Flexbox Photo Gallery", - "intro": [ - "In this workshop, you'll use Flexbox to build a responsive photo gallery webpage." - ] - }, - "lab-page-of-playing-cards": { - "title": "Build a Page of Playing Cards", - "intro": [ - "In this lab, you'll use flexbox to create a webpage of playing cards.", - "You'll practice aligning elements using flexbox properties like flex-direction, justify-content, align-self, and more." - ] - }, - "review-css-flexbox": { - "title": "CSS Flexbox Review", - "intro": [ - "Before you're quizzed on CSS flexbox, you should review what you've learned.", - "Open up this page to review concepts like the flex-direction, justify-content, align-items, flex-wrap properties, and more." - ] - }, - "quiz-css-flexbox": { - "title": "CSS Flexbox Quiz", - "intro": ["Test what you've learned on CSS flexbox with this quiz."] - }, - "lecture-working-with-css-fonts": { - "title": "Working with CSS Fonts", - "intro": [ - "In these lessons, you will learn about typography and its best practices, fonts, and the text-shadow property." - ] - }, - "workshop-nutritional-label": { - "title": "Build a Nutritional Label", - "intro": [ - "Typography is the art of styling your text to be easily readable and suit its purpose.", - "In this workshop, you'll use typography to build a nutrition label webpage. You'll practice how to style text, adjust line height, and position your text using CSS." - ] - }, - "lab-newspaper-article": { - "title": "Build a Newspaper Article", - "intro": [ - "In this lab, you'll build a newspaper article page using HTML and CSS.", - "You'll style the fonts using properties like font-family, font-size, font-weight, and more." - ] - }, - "review-css-typography": { - "title": "CSS Typography Review", - "intro": [ - "Before you're quizzed on the fundamentals of typography, you should review what you've learned.", - "Open up this page to review concepts like web safe fonts, the font-family property and more." - ] - }, - "quiz-css-typography": { - "title": "CSS Typography Quiz", - "intro": ["Test your knowledge of typography with this quiz."] - }, - "lecture-best-practices-for-accessibility-and-css": { - "title": "Best Practices for Accessibility and CSS", - "intro": [ - "In these lessons, you will learn about best practices for accessibility in CSS, and the tools for checking good color contrast on websites." - ] - }, - "workshop-accessibility-quiz": { - "title": "Build a Quiz Webpage", - "intro": [ - "Accessibility is the process of making your webpages usable for everyone, including people with disabilities.", - "In this workshop, you'll build a quiz webpage. You'll learn accessibility tools such as keyboard shortcuts, ARIA attributes, and design best practices." - ] - }, - "lab-tribute-page": { - "title": "Build a Tribute Page", - "intro": [ - "In this lab, you'll build a tribute page for a subject of your choosing, fictional or real." - ] - }, - "review-css-accessibility": { - "title": "CSS Accessibility Review", - "intro": [ - "Before you're quizzed on CSS and accessibility, you should review what you've learned.", - "Open up this page to review concepts like color contrast tools and accessibility best practices." - ] - }, - "quiz-css-accessibility": { - "title": "CSS Accessibility Quiz", - "intro": [ - "In this quiz, you'll test what you've learned about making your webpages accessible with CSS." - ] - }, - "lecture-understanding-how-to-work-with-floats-and-positioning-in-css": { - "title": "Understanding How to Work with Floats and Positioning in CSS", - "intro": [ - "In these lessons, you will learn how to use CSS positioning and floats. You will learn about absolute, relative, fixed, and sticky positioning. You will also use the z-index property." - ] - }, - "workshop-cat-painting": { - "title": "Build a Cat Painting", - "intro": [ - "Mastering CSS positioning is essential for creating visually appealing and responsive web layouts.", - "In this workshop, you will build a cat painting. You'll learn about how to work with absolute positioning, the z-index property, and the transform property." - ] - }, - "lab-house-painting": { - "title": "Build a House Painting", - "intro": [ - "In this lab, you'll build a house painting using CSS.", - "You'll design individual elements of the house and position them using CSS properties like position, top, left, and more." - ] - }, - "review-css-positioning": { - "title": "CSS Positioning Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS positioning, you should review what you've learned.", - "Open up this page to review concepts like floats, relative positioning, absolute positioning and more." - ] - }, - "quiz-css-positioning": { - "title": "CSS Positioning Quiz", - "intro": ["Test your knowledge of CSS positioning with this quiz."] - }, - "lecture-working-with-attribute-selectors": { - "title": "Working with Attribute Selectors", - "intro": [ - "In these lessons, you will learn about attribute selectors and how to use them to target elements like links and lists." - ] - }, - "workshop-balance-sheet": { - "title": "Build a Balance Sheet", - "intro": [ - "In this workshop, you'll build a balance sheet using pseudo selectors. You'll learn how to change the style of an element when you hover over it with your mouse, and trigger other events on your webpage." - ] - }, - "lab-book-inventory-app": { - "title": "Build a Book Inventory App", - "intro": [ - "In this lab, you'll create a book inventory app.", - "You'll practice CSS attribute selectors like [attribute], [attribute=value], [attribute~=value], and more." - ] - }, - "review-css-attribute-selectors": { - "title": "CSS Attribute Selectors Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS attribute selectors, you should review what you've learned about them.", - "Open up this page to review concepts like how to work with different attribute selectors that target links with the href and title attributes." - ] - }, - "quiz-css-attribute-selectors": { - "title": "CSS Attribute Selectors Quiz", - "intro": [ - "Test your knowledge of CSS attribute selectors with this quiz." - ] - }, - "lecture-best-practices-for-responsive-web-design": { - "title": "Best Practices for Responsive Web Design", - "intro": [ - "In these lessons, you will learn about the best practices for responsive web design, the roles concepts like grid, flexbox, media queries, and media breakpoints play in responsive design, and more." - ] - }, - "workshop-piano": { - "title": "Design a Piano", - "intro": [ - "Responsive Design tells your webpage how it should look on different-sized screens.", - "In this workshop, you'll use CSS and responsive design to code a piano. You'll also practice media queries and pseudo selectors." - ] - }, - "lab-technical-documentation-page": { - "title": "Build a Technical Documentation Page", - "intro": [ - "In this lab, you'll build a technical documentation page to serve as instruction or reference for a topic.", - "You'll also practice media queries to create a responsive design." - ] - }, - "review-responsive-web-design": { - "title": "Responsive Web Design Review", - "intro": [ - "Before you're quizzed on the fundamentals of responsive design, you should review what you've learned.", - "Open up this page to review concepts like media queries, media breakpoints and mobile first approach design." - ] - }, - "quiz-responsive-web-design": { - "title": "Responsive Web Design Quiz", - "intro": [ - "Test what you've learned about making your webpages responsive with this quiz." - ] - }, - "lecture-working-with-css-variables": { - "title": "Working with CSS Variables", - "intro": [ - "In these lessons, you will learn how to define and use custom properties (also known as CSS variables). You will also learn about the @property rule and how it works." - ] - }, - "workshop-city-skyline": { - "title": "Build a City Skyline", - "intro": [ - "CSS variables help you organize your styles and reuse them.", - "In this workshop, you'll build a city skyline. You'll practice how to configure CSS variables so you can reuse them whenever you want." - ] - }, - "lab-availability-table": { - "title": "Build an Availability Table", - "intro": [ - "For this lab, you'll create an availability table that shows the availability of people for a meeting.", - "You'll practice using CSS variables to store and reuse colors, fonts, and other styles." - ] - }, - "review-css-variables": { - "title": "CSS Variables Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS variables, you should review what you've learned.", - "Open up this page to review how to work with CSS custom properties (CSS variables) and the @property rule." - ] - }, - "quiz-css-variables": { - "title": "CSS Variables Quiz", - "intro": ["Test your knowledge of CSS variables with this quiz."] - }, - "lecture-working-with-css-grid": { - "title": "Working with CSS Grid", - "intro": [ - "In these lessons, you will learn about CSS grid, its several properties and how to use them, and how CSS grid differs from flexbox." - ] - }, - "workshop-magazine": { - "title": "Build a Magazine", - "intro": [ - "CSS Grid gives you control over the rows and columns of your webpage design.", - "In this workshop, you'll build a magazine article. You'll practice how to use CSS Grid, including concepts like grid rows and grid columns." - ] - }, - "lab-newspaper-layout": { - "title": "Design a Newspaper Layout", - "intro": [ - "In this lab, you will design a newspaper layout using CSS Grid, including concepts like grid rows and grid columns." - ] - }, - "lecture-debugging-css": { - "title": "Debugging CSS", - "intro": [ - "In this lesson, you'll learn how to debug CSS using your browser's developer tools and CSS validators." - ] - }, - "lab-product-landing-page": { - "title": "Build a Product Landing Page", - "intro": [ - "In this project, you'll build a product landing page to market a product of your choice." - ] - }, - "review-css-grid": { - "title": "CSS Grid Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS Grid, you should review what you've learned.", - "Open up this page to review how to work with the different CSS Grid properties like grid-template-columns, grid-gap and more." - ] - }, - "quiz-css-grid": { - "title": "CSS Grid Quiz", - "intro": ["Test your knowledge of CSS Grid with this quiz."] - }, - "lecture-animations-and-accessibility": { - "title": "Animations and Accessibility", - "intro": [ - "In these lessons, you will learn about CSS animations and their accessibility concerns. You will also learn how prefers-reduced-motion can help address those accessibility concerns." - ] - }, - "workshop-ferris-wheel": { - "title": "Build an Animated Ferris Wheel", - "intro": [ - "You can use CSS animation to draw attention to specific sections of your webpage and make it more engaging.", - "In this workshop, you'll build a Ferris wheel. You'll practice how to use CSS to animate elements, transform them, and adjust their speed." - ] - }, - "lab-moon-orbit": { - "title": "Build a Moon Orbit", - "intro": [ - "In this lab, you'll create an animation of the moon orbiting the earth.", - "You'll practice animation properties like animation-name, animation-duration, animation-timing-function, and more." - ] - }, - "workshop-flappy-penguin": { - "title": "Build a Flappy Penguin", - "intro": [ - "You can transform HTML elements to create appealing designs that draw your reader's eye. You can use transforms to rotate elements, scale them, and more.", - "In this workshop, you'll build a penguin. You'll use CSS transforms to position and resize the parts of your penguin, create a background, and animate your work." - ] - }, - "lab-personal-portfolio": { - "title": "Build a Personal Portfolio", - "intro": [ - "In this project, you'll build your own personal portfolio page." - ] - }, - "review-css-animations": { - "title": "CSS Animations Review", - "intro": [ - "Before you're quizzed on working with CSS animations, you should review what you've learned about them.", - "Open up this page to review concepts including prefers-reduced-motion, the @keyframes rule and more." - ] - }, - "quiz-css-animations": { - "title": "CSS Animations Quiz", - "intro": ["Test your knowledge of CSS animations with this quiz."] - }, - "review-css": { - "title": "CSS Review", - "intro": [ - "Before you take the CSS prep exam, you first need to review the concepts taught in the previous modules.", - "Open up this page to review concepts around the basics of CSS, responsive web design, animations, accessibility and more." - ] - }, - "lecture-working-with-code-editors-and-ides": { - "title": "Working with Code Editors and IDEs", - "intro": [ - "In these lessons, you will learn how to work with code editors and IDEs. You will learn various concepts about the most popular code editor, VS Code such as its installation, how to create a project in it, keyboard shortcuts, and extensions." - ] - }, - "lecture-introduction-to-javascript": { - "title": "Introduction to JavaScript", - "intro": [ - "In these lessons, you will learn the fundamentals of JavaScript. Topics covered include, but are not limited to, variables, data types, how JavaScript interacts with HTML and CSS, and much more." - ] - }, - "lecture-introduction-to-strings": { - "title": "Introduction to Strings", - "intro": [ - "In these lessons, you will learn how to work with strings and string concatenation." - ] - }, - "lecture-understanding-code-clarity": { - "title": "Understanding Code Clarity", - "intro": [ - "In these lessons, you will learn about comments in JavaScript and the role of semicolons in programming." - ] - }, - "workshop-greeting-bot": { - "title": "Build a Greeting Bot", - "intro": [ - "In this workshop, you will learn JavaScript fundamentals by building a greeting bot.", - "You will learn about variables, let, const, console.log and basic string usage." - ] - }, - "lab-javascript-trivia-bot": { - "title": "Build a JavaScript Trivia Bot", - "intro": [ - "In this lab, you'll practice working with JavaScript variables and strings by building a trivia bot." - ] - }, - "lab-sentence-maker": { - "title": "Build a Sentence Maker", - "intro": [ - "In this lab, you will continue practicing with strings and concatenation by creating and customizing various stories." - ] - }, - "lecture-working-with-data-types": { - "title": "Working with Data Types", - "intro": [ - "In the following lessons, you will learn how to work with data types in JavaScript. You will also learn how dynamic typing differs from static typing, the typeof operator, and the typeof null bug." - ] - }, - "review-javascript-variables-and-data-types": { - "title": "JavaScript Variables and Data Types Review", - "intro": [ - "Before you are quizzed on JavaScript variables and data types you first need to review the concepts.", - "Open up this page to review variables, data types, logging and commenting." - ] - }, - "quiz-javascript-variables-and-data-types": { - "title": "JavaScript Variables and Data Types Quiz", - "intro": [ - "Test your knowledge of JavaScript variables and data types with this quiz." - ] - }, - "lecture-working-with-strings-in-javascript": { - "title": "Working with Strings in JavaScript", - "intro": [ - "In these lessons, you will learn how to work with strings in JavaScript. You will learn how to access characters from a string, how to use template literals and interpolation, how to create a new line in strings, and much more." - ] - }, - "workshop-teacher-chatbot": { - "title": "Build a Teacher Chatbot", - "intro": [ - "In this workshop, you will continue to learn more about JavaScript strings by building a chatbot.", - "You will learn how to work with template literals, and the indexOf method." - ] - }, - "lecture-working-with-string-character-methods": { - "title": "Working with String Character Methods", - "intro": [ - "In this lesson you will learn about ASCII character encoding and how to use JavaScript's charCodeAt() and fromCharCode() methods to convert between characters and their numerical ASCII values." - ] - }, - "lecture-working-with-string-search-and-slice-methods": { - "title": "Working with String Search and Slice Methods", - "intro": [ - "In this lesson you will learn how to search for substrings using the includes() method and how to extract portions of strings using the slice() method." - ] - }, - "workshop-string-inspector": { - "title": "Build a String Inspector", - "intro": [ - "In this workshop, you will practice working with the includes() and slice() methods by building a string inspector." - ] - }, - "lecture-working-with-string-formatting-methods": { - "title": "Working with String Formatting Methods", - "intro": [ - "In this lesson you will learn how to format strings by changing their case using toUpperCase() and toLowerCase() methods, and how to remove whitespace using trim(), trimStart(), and trimEnd() methods." - ] - }, - "workshop-string-formatter": { - "title": "Build a String Formatter", - "intro": [ - "In this workshop, you will practice working with various string methods including the trim(), toUpperCase() and toLowerCase() methods." - ] - }, - "lecture-working-with-string-modification-methods": { - "title": "Working with String Modification Methods", - "intro": [ - "In this lesson you will learn how to modify strings by replacing parts of them using the replace() method and how to repeat strings multiple times using the repeat() method." - ] - }, - "workshop-string-transformer": { - "title": "Build a String Transformer", - "intro": [ - "In this workshop, you will practice working with the replace(), replaceAll() and repeat() methods." - ] - }, - "review-javascript-strings": { - "title": "JavaScript Strings Review", - "intro": [ - "Before you are quizzed on working with JavaScript strings, you first need to review.", - "Open up this page to review how to work with template literals, the slice method, the includes method, the trim method and more." - ] - }, - "quiz-javascript-strings": { - "title": "JavaScript Strings Quiz", - "intro": ["Test your knowledge of JavaScript strings with this quiz."] - }, - "lecture-working-with-numbers-and-arithmetic-operators": { - "title": "Working with Numbers and Arithmetic Operators", - "intro": [ - "In these lessons you will learn about the number type, arithmetic operators, and using them with numbers and strings." - ] - }, - "lab-debug-type-coercion-errors": { - "title": "Debug Type Coercion Errors in a Buggy App", - "intro": [ - "In this lab, you will be working with a buggy app that contains several type coercion errors.", - "Your task is to identify and fix these errors to ensure the application functions correctly." - ] - }, - "lecture-working-with-operator-behavior": { - "title": "Working with Operator Behavior", - "intro": [ - "In these lessons you will learn about operator precedence, the increment and decrement operators, and compound assignment operators." - ] - }, - "lab-debug-increment-and-decrement-operator-errors": { - "title": "Debug Increment and Decrement Operator Errors in a Buggy App", - "intro": [ - "In this lab, you'll debug an application that has several errors related to the increment and decrement operators.", - "Your task is to identify and fix the errors so that the application works as intended." - ] - }, - "lecture-working-with-comparison-and-boolean-operators": { - "title": "Working with Comparison and Boolean Operators", - "intro": [ - "In these lessons you will learn about booleans, and equality and inequality operators, and other comparison operators." - ] - }, - "lecture-working-with-unary-and-bitwise-operators": { - "title": "Working with Unary and Bitwise Operators", - "intro": [ - "In these lessons you will learn about unary and bitwise operators." - ] - }, - "lecture-working-with-conditional-logic-and-math-methods": { - "title": "Working with Conditional Logic and Math Methods", - "intro": [ - "In these lessons you will learn about conditional statements, binary logical operators, and the Math object." - ] - }, - "workshop-mathbot": { - "title": "Build a Mathbot", - "intro": [ - "In this workshop, you will review how to work with the different Math object methods by building a Mathbot." - ] - }, - "lab-fortune-teller": { - "title": "Build a Fortune Teller", - "intro": [ - "In this lab, you'll build a fortune teller by randomly selecting a fortune from the available fortunes.", - "You'll practice how to work with the 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 lessons, you will learn about numbers and common number methods. These include isNaN(), parseInt(), parseFloat(), and toFixed()." - ] - }, - "review-javascript-math": { - "title": "JavaScript Math Review", - "intro": [ - "Before you're quizzed on working with the Math object, you should review what you've learned.", - "Open up this page to review how to work with the Math.random() method, the Math.floor() method and more." - ] - }, - "quiz-javascript-math": { - "title": "JavaScript Math Quiz", - "intro": [ - "Test your knowledge of the JavaScript Math object with this quiz." - ] - }, - "lecture-understanding-comparisons-and-conditionals": { - "title": "Understanding Comparisons and Conditionals", - "intro": [ - "In these lessons, you will learn about comparison operators and conditionals. You will learn how the various conditionals differ from one another, and how comparisons work with null and undefined." - ] - }, - "review-javascript-comparisons-and-conditionals": { - "title": "JavaScript Comparisons and Conditionals Review", - "intro": [ - "Before you're quizzed on working with conditionals, you should review what you've learned about them.", - "Open up this page to review how to work with switch statements, other types of conditionals and more." - ] - }, - "quiz-javascript-comparisons-and-conditionals": { - "title": "JavaScript Comparisons and Conditionals Quiz", - "intro": [ - "Test your knowledge of JavaScript Comparisons and Conditionals with this quiz." - ] - }, - "lecture-working-with-functions": { - "title": "Working with Functions", - "intro": [ - "In these lessons, you will learn how to reuse a block of code with functions. You will learn what the purpose of a function is and how they work, and how scope works in programming. " - ] - }, - "workshop-calculator": { - "title": "Build a Calculator", - "intro": [ - "In this workshop, you will review your knowledge of functions by building a calculator." - ] - }, - "lab-boolean-check": { - "title": "Build a Boolean Check Function", - "intro": [ - "In this lab, you'll implement a function that checks if a value is a boolean." - ] - }, - "lab-email-masker": { - "title": "Build an Email Masker", - "intro": [ - "In this lab, you'll build an email masker that will take an email address and obscure it.", - "You'll practice string slicing, concatenation, and using functions." - ] - }, - "workshop-loan-qualification-checker": { - "title": "Build a Loan Qualification Checker", - "intro": [ - "In this workshop, you will continue to learn how to work with conditionals by building a loan qualification checker app.", - "You will learn more about if statements, and how to use comparison operators and multiple conditions in an if statement." - ] - }, - "lab-celsius-to-fahrenheit-converter": { - "title": "Build a Celsius to Fahrenheit Converter", - "intro": [ - "In this lab you will implement a function that converts the temperature from Celsius to Fahrenheit." - ] - }, - "lab-counting-cards": { - "title": "Build a Card Counting Assistant", - "intro": ["In this lab you will use JavaScript to count dealt cards."] - }, - "lab-leap-year-calculator": { - "title": "Build a Leap Year Calculator ", - "intro": [ - "In this lab you'll use conditional statements and loops to determine if a year is a leap year." - ] - }, - "lab-truncate-string": { - "title": "Implement the Truncate String Algorithm", - "intro": [ - "In this lab, you will practice truncating a string at a certain length." - ] - }, - "lab-string-ending-checker": { - "title": "Build a Confirm the Ending Tool", - "intro": [ - "In this lab, you will implement a function that checks if a given string ends with a specified target string." - ] - }, - "review-javascript-functions": { - "title": "JavaScript Functions Review", - "intro": [ - "Before you're quizzed on JavaScript functions, you should review what you've learned about them.", - "Open up this page to review functions, arrow functions and scope." - ] - }, - "quiz-javascript-functions": { - "title": "JavaScript Functions Quiz", - "intro": ["Test your knowledge of JavaScript functions with this quiz."] - }, - "lecture-working-with-arrays": { - "title": "Working with Arrays", - "intro": [ - "In these lessons, you will learn how to work with JavaScript arrays. You will learn about what makes an array, one-dimensional and two-dimensional arrays, how to access and update the elements in an array, and much more." - ] - }, - "workshop-shopping-list": { - "title": "Build a Shopping List", - "intro": [ - "In this workshop, you will practice how to work with arrays by building a shopping list.", - "You will review how to add and remove elements from an array using methods like push, pop, shift, and unshift." - ] - }, - "lab-lunch-picker-program": { - "title": "Build a Lunch Picker Program", - "intro": [ - "In this lab, you'll review working with arrays and random numbers by building a lunch picker program." - ] - }, - "lab-golf-score-translator": { - "title": "Build a Golf Score Translator", - "intro": [ - "For this lab, you will use array methods to translate golf scores into their nickname." - ] - }, - "lab-reverse-a-string": { - "title": "Build a String Inverter", - "intro": [ - "In this lab, you create a function that reverses a given string." - ] - }, - "lecture-working-with-common-array-methods": { - "title": "Working with Common Array Methods", - "intro": [ - "In these lessons, you will learn about the array methods for performing more advanced operations like getting the position of an item in an array, checking if an array contains a certain element, copying an array, and lots more." - ] - }, - "review-javascript-arrays": { - "title": "JavaScript Arrays Review", - "intro": [ - "Before you're quizzed on JavaScript arrays, you should review what you've learned about them.", - "Open up this page to review concepts like array destructuring, how to add and remove elements from an array, and more." - ] - }, - "quiz-javascript-arrays": { - "title": "JavaScript Arrays Quiz", - "intro": ["Test your knowledge of JavaScript arrays with this quiz."] - }, - "lecture-introduction-to-javascript-objects-and-their-properties": { - "title": "Introduction to JavaScript Objects and Their Properties", - "intro": [ - "In these lessons, you will learn the fundamentals of JavaScript objects, including how to create them, access their properties, and understand the difference between primitive and non-primitive data types." - ] - }, - "lecture-working-with-optional-chaining-and-object-destructuring": { - "title": "Working with Optional Chaining and Object Destructuring", - "intro": [ - "In these lessons, you will learn about advanced object manipulation techniques in JavaScript, including the optional chaining operator and object destructuring syntax." - ] - }, - "lecture-working-with-json": { - "title": "Working with JSON", - "intro": [ - "In these lessons, you will learn about JavaScript Object Notation (JSON), including how to access JSON data and use the JSON.parse() and JSON.stringify() methods." - ] - }, - "workshop-recipe-tracker": { - "title": "Build a Recipe Tracker", - "intro": [ - "In this workshop, you will review working with JavaScript objects by building a recipe tracker." - ] - }, - "lab-quiz-game": { - "title": "Build a Quiz Game", - "intro": [ - "In this lab, you'll build a quiz game using JavaScript arrays and objects.", - "You'll also practice using functions to randomly select a question and an answer from an array and compare them." - ] - }, - "lab-record-collection": { - "title": "Build a Record Collection", - "intro": [ - "In this lab you will build a function to manage a record collection." - ] - }, - "review-javascript-objects": { - "title": "JavaScript Objects Review", - "intro": [ - "Before you're quizzed on JavaScript objects, you should review what you've learned about them.", - "Open up this page to review concepts including how to access information from objects, object destructuring, working with JSON, and more." - ] - }, - "quiz-javascript-objects": { - "title": "JavaScript Objects Quiz", - "intro": ["Test your knowledge of JavaScript objects with this quiz."] - }, - "lecture-working-with-loops": { - "title": "Working with Loops", - "intro": [ - "Loops are an essential part of JavaScript. That's why the following lessons have been prepared for you to learn about the different types of loops and how they work, and also how iteration works." - ] - }, - "workshop-sentence-analyzer": { - "title": "Build a Sentence Analyzer", - "intro": [ - "In this workshop, you'll review how to work with JavaScript loops by building a sentence analyzer app." - ] - }, - "lab-longest-word-in-a-string": { - "title": "Build a Longest Word Finder App", - "intro": [ - "In this lab, you will use JavaScript loops to find the length of the longest word in the given sentence." - ] - }, - "lab-factorial-calculator": { - "title": "Build a Factorial Calculator ", - "intro": [ - "In this lab, you'll build a factorial calculator.", - "You'll practice using loops and conditionals to calculate the factorial of a number." - ] - }, - "lab-mutations": { - "title": "Implement the Mutations Algorithm", - "intro": [ - "In this lab, you will practice iterating over two different strings to compare their characters." - ] - }, - "lab-chunky-monkey": { - "title": "Implement the Chunky Monkey Algorithm", - "intro": [ - "In this lab, you will practice dividing an array into smaller arrays with the technique of your choice." - ] - }, - "lab-profile-lookup": { - "title": "Build a Profile Lookup", - "intro": [ - "In this lab, you'll create a function that looks up profile information." - ] - }, - "lab-repeat-a-string": { - "title": "Build a String Repeating Function", - "intro": [ - "In this lab, you will implement loops to repeat a string a specified number of times." - ] - }, - "lab-missing-letter-detector": { - "title": "Build a Missing Letter Detector", - "intro": [ - "In this lab, you will build a function that finds the missing letter in a given range of consecutive letters and returns it." - ] - }, - "review-javascript-loops": { - "title": "JavaScript Loops Review", - "intro": [ - "Before you're quizzed on the different JavaScript loops, you should review them.", - "Open up this page to review the for...of loop, while loop, break and continue statements and more." - ] - }, - "quiz-javascript-loops": { - "title": "JavaScript Loops Quiz", - "intro": ["Test your knowledge of JavaScript loops with this quiz."] - }, - "lecture-working-with-types-and-objects": { - "title": "Working with Types and Objects", - "intro": [ - "In these lessons you will learn about string objects, the toString() method, the Number constructor and more." - ] - }, - "lecture-working-with-arrays-variables-and-naming-practices": { - "title": "Working with Arrays, Variables, and Naming Practices", - "intro": [ - "In these lessons you will learn about common practices for naming variables and functions, and how to work with arrays." - ] - }, - "lecture-working-with-code-quality-and-execution-concepts": { - "title": "Working with Code Quality and Execution Concepts", - "intro": [ - "In these lessons you will learn what are linters and formatters, what is memory management, and closures." - ] - }, - "lab-largest-number-finder": { - "title": "Build the Largest Number Finder", - "intro": [ - "In this lab, you will use JavaScript fundamentals to create a function that finds the largest number in each sub-array of a given array." - ] - }, - "lab-first-element-finder": { - "title": "Build a First Element Finder", - "intro": [ - "In this lab, you will create a function that looks through an array and returns the first element in it that passes a \"truth test\"." - ] - }, - "lab-slice-and-splice": { - "title": "Implement the Slice and Splice Algorithm", - "intro": [ - "In this lab, you will practice merging an array with another." - ] - }, - "lab-pyramid-generator": { - "title": "Build a Pyramid Generator", - "intro": [ - "In this lab you'll build a pyramid generator.", - "You'll take a number as input and generate a pyramid with that many levels using a loop." - ] - }, - "lab-gradebook-app": { - "title": "Build a Gradebook App", - "intro": [ - "For this lab, you'll create a gradebook app.", - "You'll practice conditionals to determine the student's grade based on their score." - ] - }, - "lecture-the-var-keyword-and-hoisting": { - "title": "The var Keyword and Hoisting", - "intro": [ - "In these lessons, you will learn about the 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-title-case-converter": { - "title": "Build a Title Case Converter", - "intro": [ - "In this lab, you will build a function that converts a string to title case." - ] - }, - "lab-falsy-remover": { - "title": "Implement a Falsy Remover", - "intro": [ - "In this lab, you will create a function that removes all falsy values from an array." - ] - }, - "lab-inventory-management-program": { - "title": "Build an Inventory Management Program", - "intro": [ - "For this lab, you'll build an inventory management program using JavaScript.", - "You'll use JavaScript array of objects to manage the inventory." - ] - }, - "lecture-understanding-modules-imports-and-exports": { - "title": "Understanding Modules, Imports, and Exports", - "intro": [ - "In this lesson, you will learn about modules, imports, and exports in JavaScript." - ] - }, - "lecture-working-with-the-arguments-object-and-rest-parameters": { - "title": "Working with the arguments Object and Rest Parameters", - "intro": [ - "In these lessons, you will learn how to work with the arguments object and rest parameter syntax." - ] - }, - "lab-unique-sorted-union": { - "title": "Implement a Unique Sorted Union", - "intro": [ - "In this lab, you will create a function that takes two or more arrays and returns a new array of unique values in the order of the original provided arrays." - ] - }, - "lab-password-generator": { - "title": "Build a Password Generator App", - "intro": [ - "In this lab, you'll build a password generator app based on the user's input." - ] - }, - "lab-sum-all-numbers-algorithm": { - "title": "Design a Sum All Numbers Algorithm", - "intro": [ - "In this lab, you will design a sum all numbers algorithm. This algorithm takes an array of two numbers and returns the sum of those two numbers plus the sum of all the numbers between them." - ] - }, - "lab-dna-pair-generator": { - "title": "Implement a DNA Pair Generator", - "intro": [ - "In this lab you will implement a DNA base pairing algorithm that converts a single DNA strand into complementary base pairs." - ] - }, - "lab-html-entitiy-converter": { - "title": "Implement an HTML Entity Converter", - "intro": [ - "In this lab, you will convert special characters in a string to their corresponding HTML entities." - ] - }, - "lab-odd-fibonacci-sum-calculator": { - "title": "Build an Odd Fibonacci Sum Calculator", - "intro": [ - "In this lab you will build an odd Fibonacci sum calculator that takes a number and returns the sum of all odd Fibonacci numbers that are less than or equal to that number." - ] - }, - "lab-element-skipper": { - "title": "Implement an Element Skipper", - "intro": [ - "In this lab you will create a function that skips elements in an array based on a specified step value." - ] - }, - "lab-optional-arguments-sum-function": { - "title": "Build an Optional Arguments Sum Function", - "intro": [ - "In this lab you will build a function that accepts up to two arguments, and sum them, but if there is only one argument returns a function that waits for the second number to sum." - ] - }, - "review-javascript-fundamentals": { - "title": "JavaScript Fundamentals Review", - "intro": [ - "Before you are quizzed on JavaScript fundamentals, you first need to review the concepts.", - "Open up this page to review concepts like closures, memory management, and more." - ] - }, - "quiz-javascript-fundamentals": { - "title": "JavaScript Fundamentals Quiz", - "intro": [ - "Test your knowledge of JavaScript fundamentals with this quiz." - ] - }, - "lecture-working-with-higher-order-functions-and-callbacks": { - "title": "Working with Higher Order Functions and Callbacks", - "intro": [ - "In these lessons, you will learn how to work with higher order functions and callbacks. The higher order functions you will learn include 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": { - "title": "Build a Library Manager", - "intro": [ - "In this workshop, you will learn higher order array methods by building a library manager." - ] - }, - "lab-book-organizer": { - "title": "Build a Book Organizer", - "intro": [ - "In this lab, you'll build a book organizer using higher order functions in JavaScript." - ] - }, - "lab-sorted-index-finder": { - "title": "Implement a Sorted Index Finder", - "intro": [ - "In this lab, you will create a function that finds the index at which a given number should be inserted into a sorted array to maintain the array's sorted order." - ] - }, - "lab-symmetric-difference": { - "title": "Build a Symmetric Difference Function", - "intro": [ - "In this lab, you will practice using higher order functions to find the symmetric difference between two arrays." - ] - }, - "lab-value-remover-function": { - "title": "Implement a Value Remover Function", - "intro": [ - "In this lab, you will create a function that removes all instances of a specified value from an array." - ] - }, - "lab-matching-object-filter": { - "title": "Implement a Matching Object Filter", - "intro": [ - "In this lab, you will create a function that looks through an array of objects and returns an array of all objects that have matching property and value pairs." - ] - }, - "lab-prime-number-sum-calculator": { - "title": "Build a Prime Number Sum Calculator", - "intro": [ - "In this lab you will build a prime number sum calculator that takes a number and returns the sum of all prime numbers that are less than or equal to that number." - ] - }, - "lab-range-based-lcm-calculator": { - "title": "Implement a Range-Based LCM Calculator", - "intro": [ - "In this lab, you will create a function that takes an array of two numbers and returns the least common multiple (LCM) of those two numbers and all the numbers between them." - ] - }, - "lab-deep-flattening-tool": { - "title": "Create a Deep Flattening Tool", - "intro": [ - "In this lab you will create a function that can flatten deeply nested arrays, handling any level of nesting without using built-in flat methods." - ] - }, - "lab-all-true-property-validator": { - "title": "Build an All-True Property Validator", - "intro": [ - "In this lab you will build a function that checks if all objects in an array have a truthy value for a specific property." - ] - }, - "review-javascript-higher-order-functions": { - "title": "JavaScript Higher Order Functions Review", - "intro": [ - "Before you're quizzed on JavaScript higher order functions, you should review them.", - "Open up this page to review concepts including how to work with the map(), filter(), and reduce() methods." - ] - }, - "quiz-javascript-higher-order-functions": { - "title": "JavaScript Higher Order Functions Quiz", - "intro": [ - "Test your knowledge of JavaScript higher order functions with this quiz." - ] - }, - "lecture-working-with-the-dom-click-events-and-web-apis": { - "title": "Working with the DOM, Click Events, and Web APIs", - "intro": [ - "In these lessons, you will learn how to work with the Document Object Model (DOM), the addEventListener() method and events, and web APIs." - ] - }, - "workshop-storytelling-app": { - "title": "Build a Storytelling App", - "intro": [ - "In this workshop, you will build a storytelling app that will allow you to list different stories based on genre." - ] - }, - "workshop-emoji-reactor": { - "title": "Build an Emoji Reactor", - "intro": [ - "In this workshop, you will build an emoji reactor to practice querySelector and querySelectorAll." - ] - }, - "lab-favorite-icon-toggler": { - "title": "Build a Favorite Icon Toggler", - "intro": [ - "In this lab, you'll build a favorite icon toggler by utilizing JavaScript click events." - ] - }, - "lecture-understanding-the-event-object-and-event-delegation": { - "title": "Understanding the Event Object and Event Delegation", - "intro": [ - "In these lessons, you will learn about the event object, the change event, event bubbling, and event delegation." - ] - }, - "workshop-music-instrument-filter": { - "title": "Build a Music Instrument Filter", - "intro": [ - "In this workshop, you will build a music instrument filter with JavaScript." - ] - }, - "lab-real-time-counter": { - "title": "Build a Real Time Counter", - "intro": [ - "In this lab, you'll build a real-time character counter", - "You'll practice how to work with the input event when the user types in the input field." - ] - }, - "lab-lightbox-viewer": { - "title": "Build a Lightbox Viewer", - "intro": [ - "In this lab, you'll build a lightbox viewer for viewing images in a focused mode.", - "You'll practice click events and toggling classes." - ] - }, - "workshop-rps-game": { - "title": "Build a Rock, Paper, Scissors Game", - "intro": [ - "In this workshop, you will review DOM manipulation and events by building a Rock, Paper, Scissors Game." - ] - }, - "lab-football-team-cards": { - "title": "Build a Set of Football Team Cards", - "intro": [ - "In this lab, you'll use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards." - ] - }, - "review-dom-manipulation-and-click-events-with-javascript": { - "title": "DOM Manipulation and Click Events with JavaScript Review", - "intro": [ - "Before you're quizzed on the DOM, you should review what you've learned about it.", - "Open up this page to review concepts including how to work with the DOM, Web APIs, the addEventListener() method, change events, event bubbling and more." - ] - }, - "quiz-dom-manipulation-and-click-event-with-javascript": { - "title": "DOM Manipulation and Click Events with JavaScript Quiz", - "intro": [ - "Test your knowledge of DOM manipulation and click events in JavaScript with this quiz." - ] - }, - "lecture-understanding-aria-expanded-aria-live-and-common-aria-states": { - "title": "Understanding aria-expanded, aria-live, and Common ARIA States", - "intro": [ - "In these lessons you will learn more about ARIA attributes like aria-expanded, aria-live, and common ARIA states." - ] - }, - "workshop-planets-tablist": { - "title": "Build a Planets Tablist", - "intro": [ - "In this workshop, you will build a dynamic tabbed interface that showcases facts about the planets in the solar system." - ] - }, - "workshop-note-taking-app": { - "title": "Build a Note Taking App", - "intro": [ - "In this workshop, you are going to build an accessible note taking app.", - "This will provide you with the opportunity to practice working with aria-live attribute." - ] - }, - "lab-theme-switcher": { - "title": "Build a Theme Switcher", - "intro": [ - "In this lab, you will build a theme switcher and practice working with the aria-haspopup, aria-expanded, and aria-controls attributes." - ] - }, - "review-js-a11y": { - "title": "JavaScript and Accessibility Review", - "intro": [ - "Before you're quizzed on JavaScript and accessibility, you should review what you've learned about it.", - "Open up this page to review concepts including how to work with the aria-expanded, aria-live, and aria-controls attributes." - ] - }, - "quiz-js-a11y": { - "title": "JavaScript and Accessibility Quiz", - "intro": [ - "Test your knowledge of JavaScript and accessibility best practices with this quiz." - ] - }, - "lecture-debugging-techniques": { - "title": "Debugging Techniques", - "intro": [ - "In these lessons, you will learn about the common errors in JavaScript and the techniques you can use to fix them – a process called debugging." - ] - }, - "lab-random-background-color-changer": { - "title": "Debug a Random Background Color Changer", - "intro": [ - "In this lab, you'll debug a random background color changer and fix the errors to make it work properly." - ] - }, - "review-debugging-javascript": { - "title": "Debugging JavaScript Review", - "intro": [ - "Before you're quizzed on common debugging techniques, you should review what you've learned.", - "Open up this page to review concepts including how to work with the throw statement, try...catch...finally and more." - ] - }, - "quiz-debugging-javascript": { - "title": "Debugging JavaScript Quiz", - "intro": ["Test your knowledge of JavaScript debugging with this quiz."] - }, - "lecture-working-with-regular-expressions": { - "title": "Working with Regular Expressions", - "intro": [ - "In these lessons, you will learn about regular expressions in JavaScript. You will learn about the methods for working with regular expressions, modifiers, character classes, lookaheads, lookbehinds, back-references, quantifiers, and more." - ] - }, - "workshop-spam-filter": { - "title": "Build a Spam Filter", - "intro": [ - "Regular expressions, often shortened to \"regex\" or \"regexp\", are patterns that help programmers match, search, and replace text. Regular expressions are powerful, but can be difficult to understand because they use so many special characters.", - "In this workshop, you'll use capture groups, positive lookaheads, negative lookaheads, and other techniques to match any text you want." - ] - }, - "lab-palindrome-checker": { - "title": "Build a Palindrome Checker", - "intro": [ - "For this lab, you'll build an application that checks whether a given word is a palindrome." - ] - }, - "lab-markdown-to-html-converter": { - "title": "Build a Markdown to HTML Converter", - "intro": [ - "For this lab, you'll build a Markdown to HTML converter using JavaScript.", - "You'll practice regular expressions, string manipulation, and more." - ] - }, - "lab-regex-sandbox": { - "title": "Build a RegEx Sandbox", - "intro": ["In this lab you'll build a regex sandbox."] - }, - "lab-spinal-case-converter": { - "title": "Implement a Spinal Case Converter", - "intro": [ - "In this lab, you will create a function that converts a given string to spinal case which is a style of writing where all letters are lowercase and separated by hyphens." - ] - }, - "lab-pig-latin": { - "title": "Implement a Pig Latin Translator", - "intro": [ - "In this lab, you'll implement a Pig Latin translator using JavaScript.", - "You'll practice string manipulation, conditional logic, and regular expressions." - ] - }, - "lab-smart-word-replacement": { - "title": "Build a Smart Word Replacement Function", - "intro": [ - "In this lab, you will use regex to create a function that performs a search and replace operation on a given string." - ] - }, - "review-javascript-regular-expressions": { - "title": "JavaScript Regular Expressions Review", - "intro": [ - "Before you're quizzed on Regular Expressions, you should review what you've learned.", - "Open up this page to review concepts like lookaheads, lookbehinds, common regex modifiers and more." - ] - }, - "quiz-javascript-regular-expressions": { - "title": "JavaScript Regular Expressions Quiz", - "intro": [ - "Test your knowledge of JavaScript Regular Expressions with this quiz." - ] - }, - "lecture-understanding-form-validation": { - "title": "Understanding Form Validation", - "intro": [ - "In these lessons, you will learn about form validation in JavaScript. You will learn about the various ways to validate forms, how the preventDefault() method works, and how the submit event works." - ] - }, - "workshop-calorie-counter": { - "title": "Build a Calorie Counter", - "intro": [ - "Sometimes when you're coding a web application, you'll need to be able to accept input from a user. In this calorie counter workshop, you'll practice how to validate user input, perform calculations based on that input, and dynamically update your interface to display the results.", - "You'll also practice basic regular expressions, template literals, the addEventListener() method, and more." - ] - }, - "lab-customer-complaint-form": { - "title": "Build a Customer Complaint Form", - "intro": [ - "For this lab, you'll use JavaScript to validate a customer complaint form.", - "You'll practice how to validate form inputs, display error messages, and prevent the form from submitting if there are errors." - ] - }, - "review-form-validation-with-javascript": { - "title": "Form Validation with JavaScript Review", - "intro": [ - "Before you're quizzed on form validation, you should review what you've learned.", - "Open up this page to review concepts including the preventDefault() method, the submit event and more." - ] - }, - "quiz-form-validation-with-javascript": { - "title": "Form Validation with JavaScript Quiz", - "intro": [ - "Test what you've learned about JavaScript form validation with this quiz." - ] - }, - "lecture-working-with-dates": { - "title": "Working with Dates", - "intro": [ - "In these lessons, you will learn about the JavaScript date object. You will learn about the methods for working with dates and how to format dates." - ] - }, - "lab-date-conversion": { - "title": "Build a Date Conversion Program", - "intro": [ - "In this lab, you'll build a program to convert a date from one format to another." - ] - }, - "review-javascript-dates": { - "title": "JavaScript Dates Review", - "intro": [ - "Before you're quizzed on working with dates, you should review what you've learned.", - "Open up this page to review the Date() object and common methods." - ] - }, - "quiz-javascript-dates": { - "title": "JavaScript Dates Quiz", - "intro": [ - "Test what you've learned about JavaScript Dates with this quiz." - ] - }, - "lecture-working-with-audio-and-video": { - "title": "Working with Audio and Video", - "intro": [ - "In these lessons, you will learn how to work with audio and video files using JavaScript. You will learn about the Audio and Video constructors, their methods and properties, audio and video formats, codecs, the HTMLMediaElement API, and much more." - ] - }, - "workshop-music-player": { - "title": "Build a Music Player", - "intro": [ - "In this workshop, you'll code a basic MP3 player using HTML, CSS, and JavaScript.", - "The project covers fundamental concepts such as handling audio playback, managing a playlist, implementing play, pause, next, and previous functionalities and dynamically update your user interface based on the current song." - ] - }, - "lab-drum-machine": { - "title": "Build a Drum Machine", - "intro": [ - "For this lab you will use the audio element to build a drum machine." - ] - }, - "review-javascript-audio-and-video": { - "title": "JavaScript Audio and Video Review", - "intro": [ - "Before you're quizzed on working with audio and video in JavaScript, you should review what you've learned about them.", - "Open up this page to review concepts including the Audio constructor, the HTMLMediaElement API and more." - ] - }, - "quiz-javascript-audio-and-video": { - "title": "JavaScript Audio and Video Quiz", - "intro": [ - "Test what you've learned about JavaScript audio and video with this quiz." - ] - }, - "lecture-working-with-maps-and-sets": { - "title": "Working with Maps and Sets", - "intro": [ - "In these lessons, you will learn about JavaScript Map and Set. You will also learn how they both differ from WeakSets and WeakMaps." - ] - }, - "workshop-plant-nursery-catalog": { - "title": "Build a Plant Nursery Catalog", - "intro": [ - "In this workshop, you will practice using Maps and Sets by building a plant nursery catalog." - ] - }, - "lab-voting-system": { - "title": "Build a Voting System", - "intro": [ - "In this lab, you'll build a voting system using Maps and Sets.", - "You'll practice how to use the Map object to store key-value pairs and the Set object to store unique values." - ] - }, - "review-javascript-maps-and-sets": { - "title": "JavaScript Maps and Sets Review", - "intro": [ - "Before you're quizzed on JavaScript Maps and Sets, you should review what you've learned about them.", - "Open up this page to review concepts such as the Map and Set objects, as well as WeakSet and WeakMap." - ] - }, - "quiz-javascript-maps-and-sets": { - "title": "JavaScript Maps and Sets Quiz", - "intro": [ - "Test what you've learned about JavaScript Maps and Sets with this quiz." - ] - }, - "lecture-working-with-client-side-storage-and-crud-operations": { - "title": "Working with Client-Side Storage and CRUD Operations", - "intro": [ - "In these lessons, you will learn about client-side storage and CRUD operations in JavaScript. You will learn about localStorage and sessionStorage alongside their methods and properties, cookies, the Cache API, IndexDB, and much more." - ] - }, - "workshop-todo-app": { - "title": "Build a Todo App using Local Storage", - "intro": [ - "Local storage is a web browser feature that lets web applications store key-value pairs persistently within a user's browser. This allows web apps to save data during one session, then retrieve it in a later page session.", - "In this workshop, you'll learn how to handle form inputs, manage local storage, perform CRUD (Create, Read, Update, Delete) operations on tasks, implement event listeners, and toggle UI elements." - ] - }, - "lab-bookmark-manager-app": { - "title": "Build a Bookmark Manager App", - "intro": [ - "For this lab, you'll build a bookmark manager app.", - "You'll utilize local storage to store bookmarks, and practice how to add, remove, and display bookmarks." - ] - }, - "review-local-storage-and-crud": { - "title": "Local Storage and CRUD Review", - "intro": [ - "Before you are quizzed on working with localStorage, you first need to review the concepts.", - "Open up this page to review the localStorage property, sessionStorage property and more." - ] - }, - "quiz-local-storage-and-crud": { - "title": "Local Storage and CRUD Quiz", - "intro": [ - "Test what you've learned about local storage and CRUD with this quiz." - ] - }, - "lecture-understanding-how-to-work-with-classes-in-javascript": { - "title": "Understanding How to Work with Classes in JavaScript", - "intro": [ - "In these lessons, you will learn about classes in JavaScript. You will learn about inheritance, the this keyword, static properties and methods, and more." - ] - }, - "workshop-shopping-cart": { - "title": "Build a Shopping Cart", - "intro": [ - "In this workshop you'll create a shopping cart using JavaScript classes.", - "You will practice how to use the this keyword, create class instances, implement methods for data manipulation and more." - ] - }, - "lab-project-idea-board": { - "title": "Build a Project Idea Board", - "intro": [ - "In this lab, you'll build a project idea board using OOP in JavaScript.", - "You'll practice how to create classes, add methods to classes, and create instances of classes." - ] - }, - "lab-bank-account-manager": { - "title": "Build a Bank Account Management Program", - "intro": [ - "In this lab, you'll build a simple transaction management system for a bank account." - ] - }, - "review-javascript-classes": { - "title": "JavaScript Classes Review", - "intro": [ - "Before you're quizzed on how to work with classes, you should review what you've learned about them.", - "Open up this page to review concepts including the this keyword, class inheritance and more." - ] - }, - "quiz-javascript-classes": { - "title": "JavaScript Classes Quiz", - "intro": [ - "Test what you've learned about JavaScript classes with this quiz." - ] - }, - "lecture-understanding-recursion-and-the-call-stack": { - "title": "Understanding Recursion and the Call Stack", - "intro": [ - "In this lesson, you will learn about recursion and the call stack." - ] - }, - "workshop-decimal-to-binary-converter": { - "title": "Build a Decimal to Binary Converter", - "intro": [ - "Recursion is a programming concept where a function calls itself. This can reduce a complex problem into simpler sub-problems, until they become straightforward to solve.", - "In this workshop, you’ll build a decimal-to-binary converter using JavaScript. You’ll practice the fundamental concepts of recursion, explore the call stack, and build out a visual representation of the recursion process through an animation." - ] - }, - "lab-permutation-generator": { - "title": "Build a Permutation Generator", - "intro": [ - "For this lab, you'll build a permutation generator that produces all possible permutations of a given string." - ] - }, - "review-recursion": { - "title": "Recursion Review", - "intro": [ - "Before you're quizzed on recursion, you should review what you've learned.", - "Open up this page to review what is recursion and what is it used for." - ] - }, - "quiz-recursion": { - "title": "Recursion Quiz", - "intro": ["Test your knowledge of Recursion with this quiz."] - }, - "lecture-understanding-functional-programming": { - "title": "Understanding Functional Programming", - "intro": [ - "In these lessons, you will learn about functional programming and how to nest functions using a technique called currying." - ] - }, - "workshop-recipe-ingredient-converter": { - "title": "Build a Recipe Ingredient Converter", - "intro": [ - "In the previous lessons, you learned the core concepts behind functional programming and currying.", - "Now you will be able to apply what you have learned about currying and functional programming by building a recipe ingredient converter application." - ] - }, - "lab-sorting-visualizer": { - "title": "Build a Sorting Visualizer", - "intro": [ - "For this lab, you'll use JavaScript to visualize the steps that the Bubble Sort algorithm takes to reorder an array of integers." - ] - }, - "review-javascript-functional-programming": { - "title": "JavaScript Functional Programming Review", - "intro": [ - "Before you're quizzed on functional programming, you should review what you've learned.", - "Open up this page to review concepts on functional programming, currying and more." - ] - }, - "quiz-javascript-functional-programming": { - "title": "JavaScript Functional Programming Quiz", - "intro": [ - "Test what you've learned about JavaScript functional programming with this quiz." - ] - }, - "lecture-understanding-asynchronous-programming": { - "title": "Understanding Asynchronous Programming", - "intro": [ - "In these lessons, you will learn about asynchronous programming in JavaScript. You will learn about the differences between synchronous and asynchronous programming, how the async keyword works, the Fetch API, promises, async/await, the Geolocation API, and much more." - ] - }, - "workshop-fcc-authors-page": { - "title": "Build an fCC Authors Page", - "intro": [ - "One common aspect of web development is learning how to fetch data from an external API, then work with asynchronous JavaScript.", - "In this workshop you will practice how to use the fetch method, dynamically update the DOM to display the fetched data and paginate your data so you can load results in batches." - ] - }, - "lab-fcc-forum-leaderboard": { - "title": "Build an fCC Forum Leaderboard", - "intro": [ - "For this lab you'll practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard." - ] - }, - "lab-weather-app": { - "title": "Build a Weather App", - "intro": [ - "In this lab you'll build a Weather App using an API", - "You'll practice how to fetch data from the API, store and display it on your app." - ] - }, - "review-asynchronous-javascript": { - "title": "Asynchronous JavaScript Review", - "intro": [ - "Review asynchronous JavaScript concepts to prepare for the upcoming quiz." - ] - }, - "quiz-asynchronous-javascript": { - "title": "Asynchronous JavaScript Quiz", - "intro": [ - "Test what you've learned about asynchronous JavaScript with this quiz." - ] - }, - "review-javascript": { - "title": "JavaScript Review", - "intro": [ - "Before you take the JavaScript prep exam, you should review everything you've learned about JavaScript.", - "Open up this page to review all of the concepts taught including variables, strings, booleans, functions, objects, arrays, debugging, working with the DOM and more." - ] - }, - "kagw": { - "title": "258", - "intro": [] - }, - "lecture-introduction-to-javascript-libraries-and-frameworks": { - "title": "Introduction to JavaScript Libraries and Frameworks", - "intro": [ - "In these lessons, you will get an introduction to JavaScript libraries and frameworks. You will learn about the roles of JavaScript libraries and frameworks, single page applications (SPAs) and the issue surrounding them, and React, the most popular frontend JavaScript library." - ] - }, - "workshop-reusable-mega-navbar": { - "title": "Build a Reusable Mega Navbar", - "intro": [ - "In the previous lessons, you learned how to work with components in React.", - "In this workshop, you will build a reusable Navbar component using React." - ] - }, - "lab-reusable-footer": { - "title": "Build a Reusable Footer", - "intro": ["In this lab, you'll use React to build a reusable footer."] - }, - "lecture-working-with-data-in-react": { - "title": "Working with Data in React", - "intro": [ - "In these lessons, you will learn how to work with data in React. You will learn about props and how to pass them around, conditional rendering, how to render lists, and how to use inline styles." - ] - }, - "workshop-reusable-profile-card-component": { - "title": "Build a Reusable Profile Card Component", - "intro": [ - "In this workshop, you will learn how to work with props by building a reusable profile card component." - ] - }, - "lab-mood-board": { - "title": "Build a Mood Board", - "intro": [ - "In this lab, you'll create a mood board using React.", - "You'll practice how to pass data from a parent component to a child component using props." - ] - }, - "review-react-basics": { - "title": "React Basics Review", - "intro": [ - "Review basic React concepts to prepare for the upcoming quiz." - ] - }, - "quiz-react-basics": { - "title": "React Basics Quiz", - "intro": ["Test your knowledge of React basics with this quiz."] - }, - "lecture-working-with-state-and-responding-to-events-in-react": { - "title": "Working with State and Responding to Events in React", - "intro": [ - "In these lessons, you will learn about working with state and responding to events with React." - ] - }, - "workshop-toggle-text-app": { - "title": "Toggle Text App", - "intro": [ - "In this workshop, you will continue to learn about the useState() hook by building an application that hides and shows a piece of text on the screen." - ] - }, - "lab-color-picker": { - "title": "Build a Color Picker App", - "intro": [ - "In this lab you'll build a Color Picker.", - "You'll practice using state and hooks to manage the properties of an element." - ] - }, - "lecture-understanding-effects-and-referencing-values-in-react": { - "title": "Understanding Effects and Referencing Values in React", - "intro": [ - "In these lessons, you will learn about effects and referencing values with React." - ] - }, - "workshop-fruit-search-app": { - "title": "Build a Fruit Search App", - "intro": [ - "In this workshop, you will continue to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically." - ] - }, - "lab-one-time-password-generator": { - "title": "Build a One-Time Password Generator", - "intro": [ - "In this lab you'll build a one-time password generator.", - "You'll practice using the useEffect hooks to create a timer and generate a random OTP." - ] - }, - "review-react-state-and-hooks": { - "title": "React State and Hooks Review", - "intro": [ - "Before you're quizzed on React state and hooks, you should review what you've learned.", - "Open up this page to review working with state, custom hooks and more." - ] - }, - "quiz-react-state-and-hooks": { - "title": "React State and Hooks Quiz", - "intro": [ - "Test what you've learned about React's useState and useEffect hooks with this quiz." - ] - }, - "lecture-working-with-forms-in-react": { - "title": "Working with Forms in React", - "intro": [ - "In these lessons, you will learn about working with forms in React." - ] - }, - "workshop-superhero-application-form": { - "title": "Build a Superhero Application Form", - "intro": [ - "In this workshop, you will build a superhero application form." - ] - }, - "lab-event-rsvp": { - "title": "Build an Event RSVP", - "intro": [ - "In this lab, you'll build an Event RSVP form using React.", - "You'll practice using the useState hook to manage form input and display user responses." - ] - }, - "lecture-working-with-data-fetching-and-memoization-in-react": { - "title": "Working with Data Fetching and Memoization in React", - "intro": [ - "In these lessons, you will learn about data fetching and memoization in React." - ] - }, - "workshop-shopping-list-app": { - "title": "Build a Shopping List App", - "intro": [ - "In this workshop, you'll use the useMemo() and useCallback() hooks in React to build a simple shopping list app. You'll learn more about state and the lifecycle of React components, and how to use memoization to reduce re-renders and make your apps more efficient." - ] - }, - "lab-currency-converter": { - "title": "Build a Currency Converter", - "intro": [ - "For this lab, you'll build a currency converter app.", - "You'll use React state, memoization, and controlled components to convert between currencies." - ] - }, - "lecture-routing-react-frameworks-and-dependency-management-tools": { - "title": "Routing, React Frameworks, and Dependency Management Tools", - "intro": [ - "In these lessons, you will learn about routing in React, React frameworks, and dependency management tools." - ] - }, - "lab-tic-tac-toe": { - "title": "Build a Tic-Tac-Toe Game", - "intro": [ - "In this lab, you'll build a Tic-Tac-Toe game using React.", - "You'll practice managing state, handling user interactions, and updating the UI dynamically." - ] - }, - "lecture-react-strategies-and-debugging": { - "title": "React Strategies and Debugging", - "intro": [ - "In these lessons, you will learn about different strategies and debugging in React." - ] - }, - "review-react-forms-data-fetching-and-routing": { - "title": "React Forms, Data Fetching and Routing Review", - "intro": [ - "Before you take the React forms, data fetching and routing quiz, you should review everything you've learned so far.", - "Open up this page, to review all of the concepts taught including routing, forms, state management, prop drilling, data fetching and more." - ] - }, - "quiz-react-forms-data-fetching-and-routing": { - "title": "React Forms, Data Fetching and Routing Quiz", - "intro": [ - "Test what you've learned about routing, forms, and data fetching with this quiz." - ] - }, - "lecture-understanding-performance-in-web-applications": { - "title": "Understanding Performance in Web Applications", - "intro": [ - "In these lessons, you will learn performance in web applications." - ] - }, - "review-web-performance": { - "title": "Web Performance Review", - "intro": [ - "Before you take the web performance quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including INP, key metrics for measuring performance, Performance Web APIs and more." - ] - }, - "quiz-web-performance": { - "title": "Web Performance Quiz", - "intro": [ - "Test what you've learned about Web Performance with this quiz." - ] - }, - "lecture-understanding-the-different-types-of-testing": { - "title": "Understanding the Different Types of Testing", - "intro": [ - "In these lessons, you will learn about the different types of testing." - ] - }, - "review-testing": { - "title": "Testing Review", - "intro": [ - "Before you take the testing quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including unit testing, end-to-end testing, functional testing and more." - ] - }, - "quiz-testing": { - "title": "Testing Quiz", - "intro": ["Test what you've learned on testing with this quiz."] - }, - "lecture-working-with-css-libraries-and-frameworks": { - "title": "Working with CSS Libraries and Frameworks", - "intro": [ - "In these lessons, you will learn how to work with CSS libraries and frameworks." - ] - }, - "workshop-error-message-component": { - "title": "Build an Error Message Component", - "intro": [ - "In this workshop, you will learn the basics of Tailwind CSS by building out an error message component." - ] - }, - "workshop-tailwind-cta-component": { - "title": "Build a CTA Component", - "intro": [ - "In this workshop, you will build a call to action (CTA) component using Tailwind CSS." - ] - }, - "workshop-tailwind-pricing-component": { - "title": "Build a Pricing Component", - "intro": [ - "In this workshop, you will build a pricing component using Tailwind CSS.", - "You will practice working with Tailwind CSS grid utility classes." - ] - }, - "lab-music-shopping-cart-page": { - "title": "Build a Music Shopping Cart Page", - "intro": [ - "In this lab, you will build a music shopping cart page with Tailwind CSS.", - "You will practice working with Tailwind CSS utility classes for flexbox layouts, colors, breakpoints and more." - ] - }, - "lab-photography-exhibit": { - "title": "Design a Photography Exhibit", - "intro": [ - "In this lab, you will practice working with Tailwind CSS by designing a photography exhibit webpage." - ] - }, - "review-css-libraries-and-frameworks": { - "title": "CSS Libraries and Frameworks Review", - "intro": [ - "Before you take the CSS libraries and frameworks quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including CSS frameworks, CSS preprocessors, Sass and more." - ] - }, - "quiz-css-libraries-and-frameworks": { - "title": "CSS Libraries and Frameworks Quiz", - "intro": [ - "Test what you've learned about CSS Libraries and Frameworks with this quiz." - ] - }, - "lecture-introduction-to-typescript": { - "title": "Introduction to TypeScript", - "intro": [ - "In these lessons, you will learn what TypeScript is and how to use it." - ] - }, - "lecture-working-with-generics-and-type-narrowing": { - "title": "Working with Generics and Type Narrowing", - "intro": [ - "In these lessons, you will learn about generics and type narrowing in TypeScript." - ] - }, - "lecture-working-with-typescript-configuration-files": { - "title": "Working with TypeScript Configuration Files", - "intro": [ - "In this lesson, you will learn about TypeScript configuration files and how to use them." - ] - }, - "trvf": { - "title": "293", - "intro": [] - }, - "kwmg": { - "title": "294", - "intro": [] - }, - "nodx": { - "title": "295", - "intro": [] - }, - "erfj": { - "title": "296", - "intro": [] - }, - "muyw": { - "title": "297", - "intro": [] - }, - "review-typescript": { - "title": "Typescript Review", - "intro": [ - "Before you take the TypeScript quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including data types in TypeScript, generics, type narrowing and more." - ] - }, - "quiz-typescript": { - "title": "TypeScript Quiz", - "intro": ["Test what you've learned on Typescript with this quiz."] - }, - "review-front-end-libraries": { - "title": "Front End Libraries Review", - "intro": [ - "Review the Front End Libraries concepts to prepare for the upcoming quiz." - ] - }, - "rdzk": { - "title": "301", - "intro": [] - }, - "vtpz": { - "title": "302", - "intro": [] - }, - "lecture-introduction-to-python": { - "title": "Introduction to Python", - "intro": [ - "In these lessons, you will learn the fundamentals of Python. You'll learn about variables, data types, operators, control flow, functions, and more." - ] - }, - "workshop-caesar-cipher": { - "title": "Build a Caesar Cipher", - "intro": [ - "In this workshop, you'll build a Caesar cipher using basic Python concepts such as strings, conditionals, functions, and more." - ] - }, - "lab-rpg-character": { - "title": "Build an RPG Character", - "intro": [ - "In this lab you will practice basic python by building an RPG character." - ] - }, - "review-python-basics": { - "title": "Python Basics Review", - "intro": [ - "Before you're quizzed on Python basics, you should review what you've learned about it.", - "In this review page, you will review working with strings, functions, comparison operators and more." - ] - }, - "quiz-python-basics": { - "title": "Python Basics Quiz", - "intro": [ - "Test what you've learned about Python basics with this quiz." - ] - }, - "lecture-working-with-loops-and-sequences": { - "title": "Working with Loops and Sequences", - "intro": [ - "Learn about Working with Loops and Sequences in these lessons." - ] - }, - "workshop-pin-extractor": { - "title": "Build a Pin Extractor", - "intro": [ - "In this workshop you will build a function to extract secret pins hidden in poems." - ] - }, - "lab-number-pattern-generator": { - "title": "Build a Number Pattern Generator", - "intro": ["In this lab you will build a number pattern generator."] - }, - "review-loops-and-sequences": { - "title": "Loops and Sequences Review", - "intro": [ - "Before you're quizzed on loops and sequences, you should review what you've learned about them.", - "Open up this page to review concepts around loops, lists, tuples and some of their common methods." - ] - }, - "quiz-loops-and-sequences": { - "title": "Loops and Sequences Quiz", - "intro": [ - "Test what you've learned about loops and sequences in Python with this quiz." - ] - }, - "lecture-working-with-dictionaries-and-sets": { - "title": "Working with Dictionaries and Sets", - "intro": [ - "Learn about working with dictionaries and sets in these lessons." - ] - }, - "lecture-working-with-modules": { - "title": "Working with Modules", - "intro": ["Learn about working with modules in these lessons."] - }, - "workshop-medical-data-validator": { - "title": "Build a Medical Data Validator", - "intro": [ - "In this workshop, you'll practice working with dictionaries and sets while validating a collection of medical data." - ] - }, - "lab-user-configuration-manager": { - "title": "Build a User Configuration Manager", - "intro": [ - "In this lab, you will practice working with dictionaries in Python." - ] - }, - "review-dictionaries-and-sets": { - "title": "Dictionaries and Sets review", - "intro": [ - "Before you're quizzed on dictionaries and sets, you should review what you've learned about them.", - "Open up this page to review concepts around dictionaries, sets, and how to import modules." - ] - }, - "quiz-dictionaries-and-sets": { - "title": "Dictionaries and Sets Quiz", - "intro": [ - "Test what you've learned about dictionaries and sets in Python with this quiz." - ] - }, - "lecture-understanding-error-handling": { - "title": "Understanding Error Handling", - "intro": [ - "In these lessons, you will learn about error handling in Python. You will learn about the different types of errors, some good debugging practices, what exceptions are, and how to handle them." - ] - }, - "lab-isbn-validator": { - "title": "Debug an ISBN Validator", - "intro": [ - "In this lab, you will start with a bugged app, and you will need to debug and fix the bugs until it is working properly." - ] - }, - "review-error-handling": { - "title": "Error Handling Review", - "intro": [ - "Before you're quizzed on error handling, you should review what you've learned about it." - ] - }, - "quiz-error-handling": { - "title": "Error Handling Quiz", - "intro": [ - "Test what you've learned about Error Handling in Python with this quiz." - ] - }, - "lecture-classes-and-objects": { - "title": "Classes and Objects", - "intro": ["Learn about Classes and Objects in these lessons."] - }, - "workshop-musical-instrument-inventory": { - "title": "Build a Musical Instrument Inventory", - "intro": [ - "In this workshop, you will learn about classes, objects, and methods in Python by building a simple musical instrument inventory." - ] - }, - "lab-planet-class": { - "title": "Build a Planet Class", - "intro": [ - "In this lab you will create a class that represents a planet." - ] - }, - "workshop-email-simulator": { - "title": "Build an Email Simulator", - "intro": [ - "In this workshop you will implement classes and objects by building an email simulator that simulates sending, receiving, and managing emails between different users." - ] - }, - "lab-budget-app": { - "title": "Build a Budget App", - "intro": [ - "In this lab you will build a budget app and practice creating a class and methods for that class." - ] - }, - "review-classes-and-objects": { - "title": "Classes and Objects Review", - "intro": [ - "Before you're quizzed on classes and objects, you should review what you've learned about them.", - "Open up this page to review concepts like how classes work, what are objects, methods, attributes, special methods and more." - ] - }, - "quiz-classes-and-objects": { - "title": "Classes and Objects Quiz", - "intro": [ - "Test what you've learned about classes and objects in Python with this quiz." - ] - }, - "lecture-understanding-object-oriented-programming-and-encapsulation": { - "title": "Understanding Object Oriented Programming and Encapsulation", - "intro": [ - "Learn about Understanding Object Oriented Programming and Encapsulation in these lessons." - ] - }, - "workshop-salary-tracker": { - "title": "Build a Salary Tracker", - "intro": [ - "In this workshop, you'll practice encapsulation, properties, and other OOP concepts by building a salary tracking system for employees." - ] - }, - "lab-game-character-stats": { - "title": "Build a Game Character Stats Tracker", - "intro": [ - "In this lab, you will build a game character with different stats using object-oriented programming." - ] - }, - "lecture-understanding-inheritance-and-polymorphism": { - "title": "Understanding Inheritance and Polymorphism", - "intro": [ - "Learn about Understanding Inheritance and Polymorphism in these lessons." - ] - }, - "workshop-media-catalogue": { - "title": "Build a Media Catalogue", - "intro": [ - "In this workshop, you will create a media catalogue application using object-oriented programming principles." - ] - }, - "lab-polygon-area-calculator": { - "title": "Build a Polygon Area Calculator", - "intro": [ - "In this lab, you will use object-oriented programming to calculate the areas of different polygons like squares and rectangles." - ] - }, - "lecture-understanding-abstraction": { - "title": "Understanding Abstraction", - "intro": ["Learn about Understanding Abstraction in these lessons."] - }, - "workshop-discount-calculator": { - "title": "Build a Discount Calculator", - "intro": [ - "In this workshop you will build a flexible discount pricing calculator through abstract base classes, allowing multiple discount algorithms to be applied interchangeably without modifying the core logic." - ] - }, - "lab-player-interface": { - "title": "Build a Player Interface", - "intro": [ - "In this lab, you'll use the abc module to build a player interface." - ] - }, - "review-object-oriented-programming": { - "title": "Object Oriented Programming Review", - "intro": [ - "Before you're quizzed on object oriented programming, you should review what you've learned about it." - ] - }, - "quiz-object-oriented-programming": { - "title": "Object Oriented Programming Quiz", - "intro": [ - "Test what you've learned about object oriented programming in python with this quiz." - ] - }, - "lecture-working-with-common-data-structures": { - "title": "Working with Common Data Structures", - "intro": [ - "Learn about Working with Common Data Structures in these lessons." - ] - }, - "workshop-linked-list-class": { - "title": "Build a Linked List", - "intro": [ - "In this workshop, you'll practice working with data structures by building a linked list." - ] - }, - "lab-hash-table": { - "title": "Build a Hash Table", - "intro": [ - "A hash table is a data structure that is used to store key-value pairs and is optimized for quick lookups.", - "In this lab, you will use your knowledge about data structures to build a hash table." - ] - }, - "review-data-structures": { - "title": "Data Structures Review", - "intro": [ - "Before you're quizzed on data structures, you should review what you've learned about them.", - "Open up this page to review concepts like the different data structures, algorithms, time and space complexity, and big O notation." - ] - }, - "quiz-data-structures": { - "title": "Data Structures Quiz", - "intro": [ - "Test what you've learned about data structures in Python with this quiz." - ] - }, - "lecture-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms", - "intro": [ - "Learn about fundamental searching and sorting algorithms, including linear search, binary search, and merge sort.", - "These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm." - ] - }, - "workshop-binary-search": { - "title": "Implement the Binary Search Algorithm", - "intro": [ - "The binary search algorithm is a searching algorithm used to find a target item in a sorted list.", - "In this workshop, you'll implement the binary search algorithm and return the path it took to find the target or return 'Value not found'." - ] - }, - "lab-bisection-method": { - "title": "Implement the Bisection Method", - "intro": [ - "In this lab, you will implement the bisection method to find the square root of a number." - ] - }, - "workshop-merge-sort": { - "title": "Implement the Merge Sort Algorithm", - "intro": [ - "The merge sort algorithm is a sorting algorithm based on the divide and conquer principle.", - "In this workshop, you'll implement the merge sort algorithm to sort a list of random numbers." - ] - }, - "lab-quicksort": { - "title": "Implement the Quicksort Algorithm", - "intro": [ - "In this lab you will implement the quicksort algorithm to sort a list of integers." - ] - }, - "lab-selection-sort": { - "title": "Implement the Selection Sort Algorithm", - "intro": [ - "In this lab you will implement the selection sort algorithm." - ] - }, - "lab-luhn-algorithm": { - "title": "Implement the Luhn Algorithm", - "intro": [ - "In this lab, you will implement the Luhn algorithm to validate identification numbers such as credit card numbers." - ] - }, - "lab-tower-of-hanoi": { - "title": "Implement the Tower of Hanoi Algorithm", - "intro": [ - "In this lab, you will implement an algorithm to solve the Tower of Hanoi puzzle." - ] - }, - "review-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms Review", - "intro": [ - "Before you're quizzed on searching and sorting algorithms, you should review what you've learned about them." - ] - }, - "quiz-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms Quiz", - "intro": [ - "Test what you've learned about searching and sorting algorithms in Python with this quiz." - ] - }, - "lecture-understanding-graphs-and-trees": { - "title": "Understanding Graphs and Trees", - "intro": [ - "In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science." - ] - }, - "workshop-shortest-path-algorithm": { - "title": "Implement the Shortest Path Algorithm", - "intro": [ - "In this workshop you will implement the shortest path algorithm to find the shortest path between two nodes in a graph." - ] - }, - "lab-adjacency-list-to-matrix-converter": { - "title": "Build an Adjacency List to Matrix Converter", - "intro": [ - "In this lab, you will implement a function that converts an adjacency list representation of a graph into an adjacency matrix representation." - ] - }, - "workshop-breadth-first-search": { - "title": "Implement the Breadth-First Search Algorithm", - "intro": [ - "In this workshop, you will use the bread-first search algorithm to generate all valid combinations of parentheses." - ] - }, - "lab-depth-first-search": { - "title": "Implement the Depth-First Search Algorithm", - "intro": [ - "In this lab, you will implement the Depth-First Search Algorithm." - ] - }, - "lab-n-queens-problem": { - "title": "Implement the N-Queens Problem", - "intro": [ - "In this lab, you will implement a solution for the N-Queens problem." - ] - }, - "review-graphs-and-trees": { - "title": "Graphs and Trees Review", - "intro": [ - "Before you're quizzed on graphs and trees, you should review what you've learned about them." - ] - }, - "quiz-graphs-and-trees": { - "title": "Graphs and Trees Quiz", - "intro": [ - "Test what you've learned about graphs and trees in Python with this quiz." - ] - }, - "lecture-understanding-dynamic-programming": { - "title": "Understanding Dynamic Programming", - "intro": [ - "In this lesson, you will learn about dynamic programming, an algorithmic technique used to solve complex problems efficiently by breaking them down into simpler subproblems." - ] - }, - "lab-nth-fibonacci-number": { - "title": "Build an Nth Fibonacci Number Calculator", - "intro": [ - "In this lab you will implement a Fibonacci sequence calculator using a dynamic programming approach." - ] - }, - "review-dynamic-programming": { - "title": "Dynamic Programming Review", - "intro": [ - "Before you're quizzed on dynamic programming, you should review what you've learned about it." - ] - }, - "quiz-dynamic-programming": { - "title": "Dynamic Programming Quiz", - "intro": [ - "Test what you've learned about dynamic programming in python with this quiz." - ] - }, - "review-python": { - "title": "Python Review", - "intro": ["Review Python concepts to prepare for the upcoming exam."] - }, - "lecture-understanding-the-command-line-and-working-with-bash": { - "title": "Understanding the Command Line and Working with Bash", - "intro": [ - "Learn about the Command Line and Working with Bash in these lessons." - ] - }, - "workshop-bash-boilerplate": { - "title": "Build a Boilerplate", - "intro": [ - "The terminal allows you to send text commands to your computer that can manipulate the file system, run programs, automate tasks, and much more.", - "In this 170-lesson workshop, you will learn terminal commands by creating a website boilerplate using only the command line." - ] - }, - "review-bash-commands": { - "title": "Bash Commands Review", - "intro": [ - "Review the Bash Commands concepts to prepare for the upcoming quiz." - ] - }, - "quiz-bash-commands": { - "title": "Bash Commands Quiz", - "intro": ["Test what you've learned bash commands with this quiz."] - }, - "lecture-working-with-relational-databases": { - "title": "Working with Relational Databases", - "intro": [ - "Learn how to work with Relational Databases in these lessons." - ] - }, - "workshop-database-of-video-game-characters": { - "title": "Build a Database of Video Game Characters", - "intro": [ - "A relational database organizes data into tables that are linked together through relationships.", - "In this 165-lesson workshop, you will learn the basics of a relational database by creating a PostgreSQL database filled with video game characters." - ] - }, - "lab-celestial-bodies-database": { - "title": "Build a Celestial Bodies Database", - "intro": [ - "For this project, you will build a database of celestial bodies using PostgreSQL." - ] - }, - "review-sql-and-postgresql": { - "title": "SQL and PostgreSQL Review", - "intro": [ - "Review SQL and PostgreSQL concepts to prepare for the upcoming quiz." - ] - }, - "quiz-sql-and-postgresql": { - "title": "SQL and PostgreSQL Quiz", - "intro": [ - "Test what you've learned about SQL and PostgreSQL with this quiz." - ] - }, - "lecture-understanding-bash-scripting": { - "title": "Understanding Bash Scripting", - "intro": ["Learn about Bash Scripting in these lessons."] - }, - "workshop-bash-five-programs": { - "title": "Build Five Programs", - "intro": [ - "Bash scripts combine terminal commands and logic into programs that can execute or automate tasks, and much more.", - "In this 220-lesson workshop, you will learn more terminal commands and how to use them within Bash scripts by creating five small programs." - ] - }, - "review-bash-scripting": { - "title": "Bash Scripting Review", - "intro": [ - "Review the bash scripting concepts you've learned to prepare for the upcoming quiz." - ] - }, - "quiz-bash-scripting": { - "title": "Bash Scripting Quiz", - "intro": ["Test what you've learned on bash scripting in this quiz."] - }, - "lecture-working-with-sql": { - "title": "Working With SQL", - "intro": [ - "In these lessons, you will learn about SQL injection, normalization, and the N+1 problem." - ] - }, - "workshop-sql-student-database-part-1": { - "title": "Build a Student Database: Part 1", - "intro": [ - "SQL, or Structured Query Language, is the language for communicating with a relational database.", - "In this 140-lesson workshop, you will create a Bash script that uses SQL to enter information about your computer science students into PostgreSQL." - ] - }, - "workshop-sql-student-database-part-2": { - "title": "Build a Student Database: Part 2", - "intro": [ - "SQL join commands are used to combine information from multiple tables in a relational database", - "In this 140-lesson workshop, you will complete your student database while diving deeper into SQL commands." - ] - }, - "lab-world-cup-database": { - "title": "Build a World Cup Database", - "intro": [ - "For this project, you will create a Bash script that enters information from World Cup games into PostgreSQL, then query the database for useful statistics." - ] - }, - "workshop-kitty-ipsum-translator": { - "title": "Build a Kitty Ipsum Translator", - "intro": [ - "There's more to Bash commands than you might think.", - "In this 140-lesson workshop, you will learn some more complex commands, and the details of how commands work." - ] - }, - "workshop-bike-rental-shop": { - "title": "Build a Bike Rental Shop", - "intro": [ - "In this 210-lesson workshop, you will build an interactive Bash program that stores rental information for your bike rental shop using PostgreSQL." - ] - }, - "lab-salon-appointment-scheduler": { - "title": "Build a Salon Appointment Scheduler", - "intro": [ - "For this lab, you will create an interactive Bash program that uses PostgreSQL to track the customers and appointments for your salon." - ] - }, - "review-bash-and-sql": { - "title": "Bash and SQL Review", - "intro": [ - "Review the Bash and SQL concepts to prepare for the upcoming quiz." - ] - }, - "quiz-bash-and-sql": { - "title": "Bash and SQL Quiz", - "intro": ["Test what you've learned in this quiz on Bash and SQL."] - }, - "lecture-working-with-nano": { - "title": "Working With Nano", - "intro": ["Learn about Nano in this lesson."] - }, - "workshop-castle": { - "title": "Build a Castle", - "intro": [ - "Nano is a program that allows you to edit files right in the terminal.", - "In this 40-lesson workshop, you will learn how to edit files in the terminal with Nano while building a castle." - ] - }, - "lecture-introduction-to-git-and-github": { - "title": "Introduction to Git and GitHub", - "intro": ["Learn how to work with Git and GitHub in these lessons."] - }, - "lecture-working-with-code-reviews-branching-deployment-and-ci-cd": { - "title": "Working With Code Reviews, Branching, Deployment, and CI/CD", - "intro": [ - "Learn about code reviews, branching, deployment, and CI/CD in these lessons." - ] - }, - "workshop-sql-reference-object": { - "title": "Build an SQL Reference Object", - "intro": [ - "Git is a version control system that keeps track of all the changes you make to your codebase.", - "In this 240-lesson workshop, you will learn how Git keeps track of your code by creating an object containing commonly used SQL commands." - ] - }, - "lab-periodic-table-database": { - "title": "Build a Periodic Table Database", - "intro": [ - "For this lab, you will create a Bash script to get information about chemical elements from a periodic table database." - ] - }, - "lab-number-guessing-game": { - "title": "Build a Number Guessing Game", - "intro": [ - "For this lab, you will use Bash scripting, PostgreSQL, and Git to create a number guessing game that runs in the terminal and saves user information." - ] - }, - "review-git": { - "title": "Git Review", - "intro": ["Review Git concepts to prepare for the upcoming quiz."] - }, - "quiz-git": { - "title": "Git Quiz", - "intro": ["Test what you've learned on Git with this quiz."] - }, - "review-relational-databases": { - "title": "Relational Databases Review", - "intro": [ - "Review relational databases concepts to prepare for the exam." - ] - }, - "lecture-understanding-the-http-request-response-model": { - "title": "Understanding the HTTP Request-Response Model", - "intro": [ - "Learn the fundamentals of how web communication works through the HTTP request-response model, explore different types of web assets and responses, and understand how forms handle data submission using various HTTP methods." - ] - }, - "exam-certified-full-stack-developer": { - "title": "Certified Full Stack Developer Exam", - "intro": ["Pass this exam to become a Certified Full Stack Developer."] - } - } - }, "javascript-v9": { "title": "JavaScript Certification", "intro": [ @@ -6434,6 +3094,12 @@ "In this lecture, you will learn about recursion and the call stack." ] }, + "workshop-countup": { + "title": "Build a Countup", + "intro": [ + "In this workshop you will build a countdown function that returns an array of numbers counting up from 1 to a given number." + ] + }, "lab-countdown": { "title": "Build a Countdown", "intro": [ @@ -6447,6 +3113,13 @@ "In this workshop, you'll build a decimal-to-binary converter using JavaScript. You'll practice the fundamental concepts of recursion, explore the call stack, and build out a visual representation of the recursion process through an animation." ] }, + "lab-range-of-numbers": { + "title": "Build a Range of Numbers Generator", + "intro": [ + "In this lab, you'll use recursion to generate an array of numbers within a specified range.", + "You'll practice recursive function calls, base cases, and building arrays through recursion." + ] + }, "lab-permutation-generator": { "title": "Build a Permutation Generator", "intro": [ @@ -6471,6 +3144,12 @@ "These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm." ] }, + "lecture-understanding-graphs-and-trees-js": { + "title": "Understanding Graphs and Trees", + "intro": [ + "In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science." + ] + }, "lecture-understanding-functional-programming": { "title": "Understanding Functional Programming", "intro": [ @@ -7172,6 +3851,12 @@ "In this lab, you will use object-oriented programming to calculate the areas of different polygons like squares and rectangles." ] }, + "lab-discount-calculator": { + "title": "Build a Discount Calculator", + "intro": [ + "In this lab, you will practice basic Python by building a calculator to apply a discount to a price." + ] + }, "lecture-understanding-abstraction": { "title": "Understanding Abstraction", "intro": ["Learn about Understanding Abstraction in these lessons."] diff --git a/client/i18n/locales/chinese-traditional/translations.json b/client/i18n/locales/chinese-traditional/translations.json index 308546189a7..57273d3601d 100644 --- a/client/i18n/locales/chinese-traditional/translations.json +++ b/client/i18n/locales/chinese-traditional/translations.json @@ -291,7 +291,7 @@ "reset-editor-layout": "重置編輯器佈局", "shortcuts-explained": "在一項挑戰中,按 ESC 鍵和問號可顯示可用的快捷方式列表。", "username": { - "contains invalid characters": "用戶名 \"{{username}}\" 含有無效字符", + "contains invalid characters": "Username \"{{username}}\" contains invalid characters. Use only alphanumeric values like 'camperbot', or 'camperbot123'.", "is too short": "用戶名 \"{{username}}\" 太短", "is a reserved error code": "\"{{username}}\" 是錯誤代碼,不可用作用戶名", "must be lowercase": "用戶名 \"{{username}}\" 必須是小寫的", diff --git a/client/i18n/locales/chinese/intro.json b/client/i18n/locales/chinese/intro.json index 77214b49913..35bf98336f7 100644 --- a/client/i18n/locales/chinese/intro.json +++ b/client/i18n/locales/chinese/intro.json @@ -1940,3346 +1940,6 @@ } } }, - "full-stack-developer": { - "title": "Certified Full Stack Developer Curriculum", - "intro": [ - "This course provides a comprehensive pathway to becoming a Certified Full Stack Developer, covering all the essential technologies required to build modern, scalable web applications from start to finish.", - "Through a blend of interactive lessons, coding exercises, and real-world projects, you will master both frontend and backend development. You'll work with HTML, CSS, and JavaScript to build responsive user interfaces, explore React and TypeScript for advanced web applications, and learn to manage data with relational databases - and on the backend, you'll use Git, Npm, Node.js, and Python to create powerful server-side solutions.", - "By the end of this course, you'll have the practical skills and experience to confidently develop complete web applications, preparing you for a successful career as a Full Stack Developer.", - "This certification will take you a substantial amount of time and effort to complete. If you start now, you may be ready to start the remaining material and final exam when we launch it in the coming months." - ], - "chapters": { - "html": "HTML", - "css": "CSS", - "javascript": "JavaScript", - "frontend-libraries": "Front End Libraries", - "relational-databases": "Relational Databases", - "backend-javascript": "Backend JavaScript", - "python": "Python", - "career": "Career" - }, - "modules": { - "basic-html": "Basic HTML", - "semantic-html": "Semantic HTML", - "html-forms-and-tables": "Forms and Tables", - "html-and-accessibility": "Accessibility", - "review-html": "HTML Review", - "exam-html": "HTML Exam", - "computer-basics": "Computer Basics", - "basic-css": "Basic CSS", - "design-for-developers": "Design", - "absolute-and-relative-units": "Absolute and Relative Units", - "pseudo-classes-and-elements": "Pseudo Classes and Elements", - "css-colors": "Colors", - "styling-forms": "Styling Forms", - "css-box-model": "The Box Model", - "css-flexbox": "Flexbox", - "css-typography": "Typography", - "css-and-accessibility": "Accessibility", - "attribute-selectors": "Attribute Selectors", - "css-positioning": "Positioning", - "responsive-design": "Responsive Design", - "css-variables": "Variables", - "css-grid": "Grid", - "css-animations": "Animations", - "review-css": "CSS Review", - "exam-css": "CSS Exam", - "code-editors": "Code Editors", - "javascript-variables-and-strings": "Variables and Strings", - "javascript-booleans-and-numbers": "Booleans and Numbers", - "javascript-functions": "Functions", - "javascript-arrays": "Arrays", - "javascript-objects": "Objects", - "javascript-loops": "Loops", - "review-javascript-fundamentals": "JavaScript Fundamentals Review", - "higher-order-functions-and-callbacks": "Higher Order Functions and Callbacks", - "dom-manipulation-and-events": "DOM Manipulation and Events", - "js-a11y": "JavaScript and Accessibility", - "debugging-javascript": "Debugging", - "basic-regex": "Basic Regex", - "form-validation": "Form Validation", - "javascript-dates": "Dates", - "audio-and-video-events": "Audio and Video Events", - "maps-and-sets": "Maps and Sets", - "localstorage-and-crud-operations": "localStorage and CRUD Operations", - "classes-and-the-this-keyword": "Classes", - "recursion": "Recursion", - "functional-programming": "Functional Programming", - "asynchronous-javascript": "Asynchronous JavaScript", - "review-javascript": "JavaScript Review", - "exam-javascript": "JavaScript Exam", - "react-fundamentals": "React Fundamentals", - "react-state-hooks-and-routing": "React State, Hooks, and Routing", - "performance": "Performance", - "testing": "Testing", - "css-libraries-and-frameworks": "CSS Libraries and Frameworks", - "data-visualization": "Data Visualization and D3", - "typescript-fundamentals": "TypeScript Fundamentals", - "review-front-end-libraries": "Front End Libraries Review", - "exam-front-end-libraries": "Front End Libraries Exam", - "python-basics": "Python Basics", - "python-loops-and-sequences": "Loops and Sequences", - "python-dictionaries-and-sets": "Dictionaries and Sets", - "python-error-handling": "Error Handling", - "python-classes-and-objects": "Classes and Objects", - "python-object-oriented-programming": "Object-Oriented Programming (OOP)", - "python-linear-data-structures": "Linear Data Structures", - "python-algorithms": "Algorithms", - "python-graphs-and-trees": "Graphs and Trees", - "python-dynamic-programming": "Dynamic Programming", - "review-python": "Python Review", - "exam-python": "Python Exam", - "bash-fundamentals": "Bash Fundamentals", - "sql-and-postgresql": "SQL and PostgreSQL", - "bash-scripting": "Bash Scripting", - "sql-and-bash": "SQL and Bash", - "git": "Git", - "review-relational-databases": "Relational Databases Review", - "exam-relational-databases": "Relational Databases Exam", - "nodejs-core-libraries": "Node.js Core Libraries", - "node-package-manager": "Node Package Manager", - "http-and-the-web-standards-model": "HTTP and the Web Standards Model", - "rest-api-and-web-services": "REST API and Web Services", - "introduction-to-express": "Introduction to Express", - "express-middleware": "Express Middleware", - "error-handling-in-express": "Error Handling in Express", - "websockets": "WebSockets", - "node-and-sql": "Node and SQL", - "security-and-privacy": "Security and Privacy", - "authentication": "Authentication", - "tooling-and-deployment": "Tooling and Deployment", - "how-to-get-a-developer-job": "How to Get a Developer Job", - "capstone-project": "Capstone Project", - "certified-full-stack-developer-exam": "Certified Full Stack Developer Exam" - }, - "module-intros": { - "data-visualization": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will be introduced to data visualization and learn how to work with the D3 library." - ] - }, - "typescript-fundamentals": { - "note": "Coming Fall 2025", - "intro": [ - "In this module, you will be introduced to TypeScript, which is a superset of JavaScript that allows you to add static typing to your JavaScript code. You will build several workshops and labs that will give you practice in working with generics, type narrowing, TSX, and more. Then you will test your knowledge of TypeScript fundamentals with a short quiz." - ] - }, - "python-classes-and-objects": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to work with classes, methods, attributes and properties. Then, you will build out workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-object-oriented-programming": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about Object-oriented programming concepts like encapsulation, inheritance, polymorphism, and more. You will build out workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-linear-data-structures": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about data structures including stacks, queues, linked lists, and more. You will build out a workshop and lab to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-algorithms": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about common algorithms including binary search, merge sort, selection sort, and more. You will build workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-graphs-and-trees": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about graphs in computer science as well as adjacency lists, trees, tries, and more. You will build workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-dynamic-programming": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about dynamic programming and practice these concepts by building a fibonacci sequence lab. Then you will take a short quiz to test your knowledge." - ] - }, - "bash-fundamentals": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about the command line and common Bash commands. Then you will practice your skills with a workshop and take a short quiz to test your knowledge." - ] - }, - "sql-and-postgresql": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to work with relational databases which store data as collections in tables. Some of the concepts you will learn about include inserting and viewing table data, primary and foreign keys in SQL, and more. Then you will build out a workshop and lab to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "bash-scripting": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about bash scripting and practice those skills by building five programs. Then you will be able to test your knowledge of these concepts by taking a short quiz." - ] - }, - "sql-and-bash": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about normalization, SQL injection, and the N+1 problem. Then you will get to practice working with SQL and Bash by building several workshops and labs. Then you will be able to test your knowledge of these concepts by taking a short quiz." - ] - }, - "git": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to use Git, Nano, and GitHub. Then you will get to practice working with Git by building several workshops and labs. You will be able to test your knowledge of these concepts by taking a short quiz." - ] - }, - "introduction-to-nodejs": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to Node.js, which is a JavaScript runtime environment that allows you to build backend applications using JavaScript. You will get to practice fundamental concepts by building a small workshop and test your knowledge with a short quiz." - ] - }, - "nodejs-core-libraries": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about common Node.js core libraries including the fs, os, path and more. Then you will get to practice what you have learned through workshops and labs and test your knowledge through a short quiz." - ] - }, - "node-package-manager": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to the Node Package Manager, which developers use to manage project dependencies and scripts. Then you will get to practice what you have learned through workshops and labs and test your knowledge with a short quiz." - ] - }, - "http-and-the-web-standards-model": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about HTTP (Hypertext Transfer Protocol) and other important concepts including the request-response model, common response codes, DNS, TCP/IP, and more. Then you will get to practice what you have learned through a build your own web server workshop and test your knowledge with a short quiz." - ] - }, - "rest-api-and-web-services": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about the REST API (Representational State Transfer Application Programming Interface) and how microservices work. Then you will take a short quiz to test your knowledge." - ] - }, - "introduction-to-express": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to Express.js, which is a framework used to build RESTful APIs. Then you will practice your skills through workshops and labs and test your knowledge with a short quiz." - ] - }, - "express-middleware": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about middleware in Express.js, which is used to handle requests and responses between the client and server. You will then practice your skills through a workshop and lab and test your knowledge with a short quiz." - ] - }, - "error-handling-in-express": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about how error handling, debugging, and health checks work in Express.js. You will then practice what you have learned in a lab and test your knowledge with a short quiz." - ] - }, - "websockets": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to websockets, which is a protocol used for real time communication with the client and server. You will then practice what you have learned in labs and workshops and test your knowledge with a short quiz." - ] - }, - "node-and-sql": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will practice building applications with Node and SQL. Then you will take a short quiz to test your knowledge." - ] - }, - "security-and-privacy": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about the differences between security and privacy as well as other concepts including CSPs, Permissions-Policies, PII, working with CORS, and more. Then you will take a short quiz to test your knowledge." - ] - }, - "authentication": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about how authentication works in web applications along with other important concepts including JWTs, CSRFs, Passport, Helmet, cryptography and encryption, and more. You will then practice what you have learned in labs and workshops and test your knowledge with a short quiz." - ] - }, - "tooling-and-deployment": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about common tools used in the industry for deploying your full stack applications. Then you will take a short quiz to test your knowledge." - ] - }, - "how-to-get-a-developer-job": { - "note": "Coming Late 2026", - "intro": [ - "In this module, Quincy Larson (Founder and teacher of freeCodeCamp) will talk about strategies you can use to prepare for getting a developer job. Quincy will cover key subjects including résumés, portfolios, researching the market, preparing for technical interviews, and more." - ] - }, - "capstone-project": { - "note": "Coming Late 2026", - "intro": [ - "This will be your opportunity to build out a full stack application encompassing what you have learned throughout this certification." - ] - }, - "certified-full-stack-developer-exam": { - "note": "Coming Late 2026", - "intro": [ - "This will be a 90 question exam testing what you have learned throughout this certification." - ] - } - }, - "blocks": { - "workshop-curriculum-outline": { - "title": "Build a Curriculum Outline", - "intro": [ - "Welcome to freeCodeCamp!", - "This workshop will serve as your introduction to HTML and coding in general. You will learn about headings and paragraph elements." - ] - }, - "lab-debug-camperbots-profile-page": { - "title": "Debug Camperbot's Profile Page", - "intro": [ - "Camperbot is learning how to code too and needs some help with their HTML.", - "In this lab, you will help Camperbot find and fix the errors in their code." - ] - }, - "lecture-understanding-html-attributes": { - "title": "Understanding HTML Attributes", - "intro": [ - "In these lessons, you will learn more about HTML (HyperText Markup Language), a markup language for creating web pages.", - "You will learn about HTML's role on the web, and what HTML attributes are." - ] - }, - "lab-debug-pet-adoption-page": { - "title": "Debug a Pet Adoption Page", - "intro": [ - "In this lab, you will need to find and fix the errors in this pet adoption page." - ] - }, - "lecture-understanding-the-html-boilerplate": { - "title": "Understanding the HTML Boilerplate", - "intro": [ - "In these lessons, you will learn about the HTML boilerplate which is a ready-made template for your webpages.", - "You will learn how to work with the link element, meta element and more." - ] - }, - "workshop-cat-photo-app": { - "title": "Build a Cat Photo App", - "intro": [ - "HTML stands for HyperText Markup Language and it represents the content and structure of a web page.", - "In this workshop, you will learn how to work with basic HTML elements such as headings, paragraphs, images, links, and lists." - ] - }, - "lab-recipe-page": { - "title": "Build a Recipe Page", - "intro": [ - "In this lab, you'll review HTML basics by creating a web page of your favorite recipe. You'll create an HTML boilerplate and work with headings, lists, images, and more." - ] - }, - "lecture-html-fundamentals": { - "title": "HTML Fundamentals", - "intro": [ - "In these lessons, you will learn about HTML fundamentals like the div element, the id and class attributes, the HTML boilerplate, HTML entities, and more." - ] - }, - "workshop-bookstore-page": { - "title": "Build a Bookstore Page", - "intro": [ - "In this workshop, you will practice working with classes, ids and the div element by building a bookstore page." - ] - }, - "lecture-understanding-how-html-affects-seo": { - "title": "Understanding How HTML Affects SEO", - "intro": [ - "In these lessons, you will learn how your HTML code impacts search engine optimization." - ] - }, - "lab-travel-agency-page": { - "title": "Build a Travel Agency Page", - "intro": [ - "In this lab, you'll review working with HTML fundamentals by creating a web page for a travel agency. You'll work with images, the figure element, the figcaption element, the anchor element, and more." - ] - }, - "lecture-working-with-audio-and-video-elements": { - "title": "Working with Audio and Video Elements", - "intro": [ - "In these lessons, you will learn how to work with the audio and video elements." - ] - }, - "lab-html-audio-and-video-player": { - "title": "Build an HTML Audio and Video Player", - "intro": [ - "In this lab, you will build an HTML audio and video player using the video and audio elements with controls and source attributes." - ] - }, - "lecture-working-with-images-and-svgs": { - "title": "Working with Images and SVGs", - "intro": [ - "In these lessons, you will learn how to work with SVGs and learn about techniques for optimizing your images." - ] - }, - "workshop-build-a-heart-icon": { - "title": "Build a Heart Icon", - "intro": [ - "In this workshop, you will practice working with SVGs by building a heart icon" - ] - }, - "lecture-working-with-media": { - "title": "Working with the iframe Element", - "intro": [ - "In these lessons, you will learn how to work with the iframe element which is used to embed an external site on your web page." - ] - }, - "workshop-build-a-video-display-using-iframe": { - "title": "Build a Video Display Using iframe", - "intro": [ - "In this workshop, you'll learn how to work with the iframe element by building a video display." - ] - }, - "lab-video-compilation-page": { - "title": "Build a Video Compilation Page", - "intro": [ - "In this lab, you'll create a video compilation web page. You'll practice working with the iframe element." - ] - }, - "lecture-working-with-links": { - "title": "Working with Links", - "intro": [ - "In these lessons, you will learn about links, the target attribute, different link states, absolute, and relative paths, and more." - ] - }, - "review-basic-html": { - "title": "Basic HTML Review", - "intro": [ - "Before you are quizzed on the HTML knowledge you have gained so far, you first need to review the concepts.", - "Open up this page to review the HTML boilerplate, audio and video elements, the different target attribute values and more." - ] - }, - "quiz-basic-html": { - "title": "Basic HTML Quiz", - "intro": [ - "The following quiz will test your knowledge of the basic HTML concepts you have learned so far.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "lecture-importance-of-semantic-html": { - "title": "Importance of Semantic HTML", - "intro": [ - "In these lessons, you will learn about semantic HTML and why you should care about it, semantic elements, how semantic HTML differs from presentational HTML, and more." - ] - }, - "lecture-understanding-nuanced-semantic-elements": { - "title": "Understanding Nuanced Semantic Elements", - "intro": [ - "In these lessons, you will learn when you should use certain semantic elements like the em element over the i element, description lists, and more." - ] - }, - "workshop-major-browsers-list": { - "title": "Build a List of Major Web Browsers", - "intro": [ - "In this workshop, you will build a description list and work with the dl, dt, and dd elements." - ] - }, - "lecture-working-with-text-and-time-semantic-elements": { - "title": "Working with Text and Time Semantic Elements ", - "intro": [ - "In this lesson, you will learn about the importance of semantics in conveying meaning for text and time-related content including the time, blockquote elements and more." - ] - }, - "workshop-quincys-job-tips": { - "title": "Build Quincy's Job Tips Page", - "intro": [ - "In this workshop, you will practice working with semantic HTML by using the q, blockquote and cite elements." - ] - }, - "lecture-working-with-specialized-semantic-elements": { - "title": "Working with Specialized Semantic Elements", - "intro": [ - "In this lesson, you will learn about specialized semantic elements like u, s, code elements and more." - ] - }, - "workshop-blog-page": { - "title": "Build a Cat Blog Page", - "intro": [ - "In this workshop, you will build an HTML only blog page using semantic elements including the main, nav, article and footer elements." - ] - }, - "lab-event-hub": { - "title": "Build an Event Hub", - "intro": [ - "In this lab, you'll build an event hub and review semantic elements like header, nav, article, and more." - ] - }, - "review-semantic-html": { - "title": "Semantic HTML Review", - "intro": [ - "Before you are quizzed on semantic HTML, you first need to review the concepts.", - "Open up this page to review the em, strong, blockquote, address and more semantic HTML elements." - ] - }, - "quiz-semantic-html": { - "title": "Semantic HTML Quiz", - "intro": [ - "The following quiz will test your knowledge on semantic HTML concepts you have learned so far.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "lecture-working-with-forms": { - "title": "Working with Forms", - "intro": [ - "In these lessons, you will learn about forms, the role of labels, inputs and buttons in creating forms, client-side form validation, and form states." - ] - }, - "workshop-hotel-feedback-form": { - "title": "Build a Hotel Feedback Form", - "intro": [ - "In this workshop, you will build a Hotel Feedback Form.", - "You will practice working with labels, inputs, fieldsets, legends, textareas and buttons." - ] - }, - "lab-survey-form": { - "title": "Build a Survey Form", - "intro": [ - "In this lab, you'll review HTML forms by creating a survey form.", - "You'll practice working with the label element, the different input elements, the required attribute, and more. " - ] - }, - "lecture-working-with-tables": { - "title": "Working with Tables", - "intro": [ - "In these lessons, you will learn about HTML tables, how to create them, and when to use them." - ] - }, - "workshop-final-exams-table": { - "title": "Build a Final Exams Table", - "intro": [ - "In this workshop, you will practice working with HTML tables by building a table of final exams." - ] - }, - "lab-book-catalog-table": { - "title": "Build a Book Catalog Table", - "intro": [ - "In this lab, you'll review HTML tables by building a book information table.", - "You'll practice the different table components like the thead, tbody, th, tr, and td elements." - ] - }, - "lecture-working-with-html-tools": { - "title": "Working with HTML Tools", - "intro": [ - "In these lessons, you will learn about HTML tools and how they let you write better code. These tools include HTML validators, DOM Inspector, and the browser developer tools." - ] - }, - "review-html-tables-and-forms": { - "title": "HTML Tables and Forms Review", - "intro": [ - "Before you are quizzed on HTML forms, tables and tools, you first need to review the concepts.", - "Open up this page to review the table, input, and button elements as well as commonly used tools like the HTML validator and more." - ] - }, - "quiz-html-tables-and-forms": { - "title": "HTML Tables and Forms Quiz", - "intro": [ - "The following quiz will test your knowledge of HTML tables, forms and commonly used HTML tools.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "lecture-importance-of-accessibility-and-good-html-structure": { - "title": "Importance of Accessibility and Good HTML Structure", - "intro": [ - "In these lessons, you will learn about accessibility and its importance, assistive tools for people with disabilities, HTML attributes that let you create inclusive websites, accessibility best practices, and much more." - ] - }, - "workshop-debug-coding-journey-blog-page": { - "title": "Debug a Coding Journey Blog Page", - "intro": [ - "In this workshop, you will debug and fix accessibility errors in a coding blog page." - ] - }, - "lecture-accessible-tables-forms": { - "title": "Working with Accessible Tables and Forms", - "intro": [ - "In these lessons, you will learn about how to create accessible tables and forms." - ] - }, - "workshop-tech-conference-schedule": { - "title": "Build a Tech Conference Schedule Table", - "intro": [ - "In this workshop, you will build an accessible tech conference schedule table." - ] - }, - "lecture-introduction-to-aria": { - "title": "Introduction to ARIA", - "intro": [ - "In these lessons, you will learn about working with ARIA roles." - ] - }, - "workshop-accessible-audio-controller": { - "title": "Build an Accessible Audio Controller", - "intro": [ - "In this workshop, you will practice accessible HTML by building an audio controller that uses the aria-labelledby attribute." - ] - }, - "lecture-accessible-media-elements": { - "title": "Working with Accessible Media Elements", - "intro": [ - "In these lessons, you will learn about how to create accessible links, audio and video content." - ] - }, - "lab-checkout-page": { - "title": "Build a Checkout Page", - "intro": [ - "In this lab, you'll create an accessible checkout page.", - "You'll practice concepts like alt attributes and ARIA roles." - ] - }, - "lab-movie-review-page": { - "title": "Design a Movie Review Page", - "intro": [ - "In this lab, you'll create a movie review page.", - "You'll practice concepts like semantic HTML, alt attributes, accessible lists, and hiding decorative content from screen readers using aria-hidden." - ] - }, - "lab-multimedia-player": { - "title": "Build a Multimedia Player", - "intro": [ - "In this lab, you'll build a multimedia player.", - "You will practice working with the audio and video elements, the controls attribute, and the aria-label attribute." - ] - }, - "review-html-accessibility": { - "title": "HTML Accessibility Review", - "intro": [ - "Before you are quizzed on HTML and accessibility, you first need to review the concepts.", - "Open up this page to review concepts including the aria-hidden, aria-describedby, tabindex attributes and more." - ] - }, - "quiz-html-accessibility": { - "title": "HTML Accessibility Quiz", - "intro": [ - "The following quiz will test your knowledge on the accessibility concepts you have learned so far.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "review-html": { - "title": "HTML Review", - "intro": [ - "Before you take the HTML prep exam, you first need to review the concepts taught in the previous modules.", - "Open up this page to review concepts around the basics of HTML elements, semantic HTML, tables, forms and accessibility." - ] - }, - "qpra": { - "title": "30", - "intro": [] - }, - "lecture-understanding-computer-internet-and-tooling-basics": { - "title": "Understanding Computer, Internet, and Tooling Basics", - "intro": [ - "In these lessons, you will learn about the computer, its different parts, internet service providers (ISPs), and the tools professional developers use." - ] - }, - "lecture-working-with-file-systems": { - "title": "Working with File Systems", - "intro": [ - "In these lessons, you will learn how to work with file and folder systems on your computers. You will learn how to create, move, and delete files and folders, the best practices for naming and organizing files and folders, and more." - ] - }, - "lecture-browsing-the-web-effectively": { - "title": "Browsing the Web Effectively", - "intro": [ - "In these lessons, you will learn about what websites, search engine, and web browsers are, the different browsers available, and how to get the best out of a search engine." - ] - }, - "review-computer-basics": { - "title": "Computer Basics Review", - "intro": [ - "Before you are quizzed on basic computer and internet concepts, you first need to review.", - "Open up this page to review concepts like RAM, Internet service providers, common web browsers, search engines and more." - ] - }, - "quiz-computer-basics": { - "title": "Computer Basics Quiz", - "intro": [ - "Test what you've learned in this quiz of basic computer knowledge." - ] - }, - "lecture-what-is-css": { - "title": "What Is CSS?", - "intro": [ - "The following lessons are all about CSS. You will learn what CSS is and its role on the web, a CSS rule and its anatomy, the three ways to write CSS and when to use each, inline and block elements, and many more." - ] - }, - "workshop-cafe-menu": { - "title": "Design a Cafe Menu", - "intro": [ - "CSS tells the browser how to display your webpage. You can use CSS to set the color, font, size, and other aspects of HTML elements.", - "In this workshop, you'll learn CSS by designing a menu page for a cafe webpage." - ] - }, - "lab-business-card": { - "title": "Design a Business Card", - "intro": [ - "In this lab, you'll create a business card and style it using CSS.", - "You'll practice style properties like 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 lessons, you will learn about CSS specificity, the common selectors and their specificities, the cascade algorithm, inheritance, and more." - ] - }, - "review-basic-css": { - "title": "CSS Fundamentals Review", - "intro": [ - "Before you are quizzed on basic CSS concepts, you first need to review.", - "Open up this page to review concepts including margin, padding, CSS combinators, CSS specificity and more." - ] - }, - "quiz-basic-css": { - "title": "CSS Fundamentals Quiz", - "intro": [ - "Test what you've learned in this quiz of basic CSS knowledge." - ] - }, - "lecture-styling-lists-and-links": { - "title": "Styling Lists and Links", - "intro": [ - "In these lessons, you will learn the properties you need to know to effectively style lists and links, including link states like 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", - "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 lessons, you will learn about the properties and values you need to know to style backgrounds and borders of elements, alongside the accessibility considerations for backgrounds." - ] - }, - "lab-blog-post-card": { - "title": "Design a Blog Post Card", - "intro": [ - "In this lab, you'll design a blog post card using HTML and CSS", - "You'll practice concepts like background-color, border-radius, margins, paddings, and more." - ] - }, - "review-css-backgrounds-and-borders": { - "title": "Lists, Links, CSS Background and Borders Review", - "intro": [ - "Before you are quizzed on CSS backgrounds and borders, you first need to review.", - "Open up this page to review concepts including the background-image property, border property and more." - ] - }, - "quiz-css-backgrounds-and-borders": { - "title": "CSS Backgrounds and Borders Quiz", - "intro": [ - "Test what you've learned in this quiz of backgrounds and borders in CSS." - ] - }, - "lecture-user-interface-design-fundamentals": { - "title": "User Interface Design Fundamentals", - "intro": [ - "In these lessons, you will learn about the fundamentals of user interface (UI) design. You will learn about the terms you need to know to communicate with designers, visual hierarchy, scaling, alignment, whitespace, and much more." - ] - }, - "lecture-user-centered-design": { - "title": "User-Centered Design", - "intro": [ - "In these lessons, you will learn about best practices for designing user-facing features like dark mode, breadcrumbs, modal dialogs, and much more. You will also learn how to conduct user research, user requirements and testing." - ] - }, - "lecture-common-design-tools": { - "title": "Common Design Tools", - "intro": [ - "In these lessons, you will learn about the common design tools developers should know. You will also learn about design briefs and how developers work with them." - ] - }, - "review-design-fundamentals": { - "title": "Design Fundamentals Review", - "intro": [ - "Before you are quizzed on the design fundamentals you have learned so far, you first need to review.", - "Open up this page to review concepts like user-centered design, scale, alignment, good visual hierarchy and more." - ] - }, - "quiz-design-fundamentals": { - "title": "Design Fundamentals Quiz", - "intro": [ - "Test what you've learned in this quiz of UI design fundamentals." - ] - }, - "lecture-working-with-relative-and-absolute-units": { - "title": "Working with Relative and Absolute Units", - "intro": [ - "In these lessons, you will learn about relative and absolute units, and how they both impact what you see in the browser." - ] - }, - "lab-event-flyer-page": { - "title": "Build an Event Flyer Page", - "intro": [ - "In this lab, you'll create an event flyer page.", - "You will practice aligning elements using absolute and relative CSS." - ] - }, - "review-css-relative-and-absolute-units": { - "title": "CSS Relative and Absolute Units Review", - "intro": [ - "Before you are quizzed on relative and absolute units, you first need to review.", - "Open up this page to review concepts like percentages, px, rem, em, and more." - ] - }, - "quiz-css-relative-and-absolute-units": { - "title": "CSS Relative and Absolute Units Quiz", - "intro": [ - "Test what you've learned in this quiz of relative and absolute units in CSS." - ] - }, - "lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": { - "title": "Working with Pseudo-Classes and Pseudo-Elements in CSS", - "intro": [ - "In these lessons, you will learn about pseudo-classes and pseudo-elements, alongside their examples and how they work." - ] - }, - "workshop-greeting-card": { - "title": "Design a Greeting Card", - "intro": [ - "In the previous lessons, you learned how to work with the different types of pseudo-classes.", - "In this workshop, you will have a chance to practice what you have learned by designing a greeting card." - ] - }, - "lab-job-application-form": { - "title": "Build a Job Application Form", - "intro": [ - "In this lab you'll build a job application form and style it using pseudo-classes.", - "You'll practice concepts like :hover, :active, :focus, and more." - ] - }, - "review-css-pseudo-classes": { - "title": "CSS Pseudo-classes Review", - "intro": [ - "Before you're quizzed on CSS pseudo-classes and pseudo-elements, you should review what you've learned about them.", - "Open up this page to review concepts like the ::before and ::after pseudo-elements as well as the :hover, :active pseudo-classes and more." - ] - }, - "quiz-css-pseudo-classes": { - "title": "CSS Pseudo-classes Quiz", - "intro": ["Test your knowledge of CSS pseudo-classes with this quiz."] - }, - "lecture-working-with-colors-in-css": { - "title": "Working with Colors in CSS", - "intro": [ - "In these lessons, you will learn about linear and radial gradients, the color theory, different kinds of colors like named, RGB, Hex, and HSL colors. You will learn how these colors work, and which to use in specific cases." - ] - }, - "workshop-colored-markers": { - "title": "Build a Set of Colored Markers", - "intro": [ - "In this workshop, you'll build a set of colored markers. You'll practice different ways to set color values and how to pair colors with each other." - ] - }, - "lab-colored-boxes": { - "title": "Design a Set of Colored Boxes", - "intro": [ - "In this lab, you'll create a color grid and practice adding background colors to the grid items using hex codes, RGB, and predefined color names." - ] - }, - "review-css-colors": { - "title": "CSS Colors Review", - "intro": [ - "Before you're quizzed on CSS colors, you should review what you've learned about them.", - "Open up this page to review concepts like the rgb() function, hsl() function, hex codes, and more." - ] - }, - "quiz-css-colors": { - "title": "CSS Colors Quiz", - "intro": ["Test your knowledge of CSS colors with this quiz."] - }, - "lecture-best-practices-for-styling-forms": { - "title": "Best Practices for Styling Forms", - "intro": [ - "In these lessons, you will learn about the best practices for styling forms and issues you can encounter while styling special inputs like color and datetime-local." - ] - }, - "workshop-registration-form": { - "title": "Design a Registration Form", - "intro": [ - "In this workshop, you'll learn how to design HTML forms by designing a signup page. You'll learn how to control what types of data people can type into your form, and some new CSS tools for styling your page." - ] - }, - "lab-contact-form": { - "title": "Design a Contact Form", - "intro": [ - "In this lab, you'll design a contact form in HTML and style it using CSS." - ] - }, - "workshop-game-settings-panel": { - "title": "Build a Game Settings Panel", - "intro": [ - "In this workshop, you will practice styling checkboxes by building a game settings panel." - ] - }, - "lab-feature-selection": { - "title": "Design a Feature Selection Page", - "intro": [ - "In this lab, you'll build a feature selection page with custom-styled checkboxes.", - "You'll create feature cards with labels and checkboxes, then give custom styling to the checkboxes." - ] - }, - "review-styling-forms": { - "title": "Styling Forms Review", - "intro": [ - "Before you're quizzed on styling forms, you should review what you've learned.", - "Open up this page to review how to style form inputs, working with appearance: none and more." - ] - }, - "quiz-styling-forms": { - "title": "Styling Forms Quiz", - "intro": [ - "In this quiz, you will test your knowledge of how to style forms." - ] - }, - "lecture-working-with-css-transforms-overflow-and-filters": { - "title": "Working with CSS Transforms, Overflow, and Filters", - "intro": [ - "In these lessons, you will learn about working with CSS transforms, overflow, and filters. You will also learn about the box model and how it works." - ] - }, - "workshop-rothko-painting": { - "title": "Design a Rothko Painting", - "intro": [ - "Every HTML element is its own box – with its own spacing and a border. This is called the Box Model.", - "In this workshop, you'll use CSS and the Box Model to create your own Rothko-style rectangular art pieces." - ] - }, - "lab-confidential-email-page": { - "title": "Build a Confidential Email Page", - "intro": [ - "In this lab, you'll create a web page using HTML and mask the content using CSS properties." - ] - }, - "review-css-layout-and-effects": { - "title": "CSS Layouts and Effects Review", - "intro": [ - "Before you are quizzed on CSS Layouts and Effects, you first need to review.", - "Open up this page to review concepts like the transform property, the box model, the overflow property and more." - ] - }, - "quiz-css-layout-and-effects": { - "title": "CSS Layout and Effects Quiz", - "intro": [ - "In this quiz, you will test your knowledge of the box model, transforms, filters, and overflow in CSS." - ] - }, - "lecture-working-with-css-flexbox": { - "title": "Working with CSS Flexbox", - "intro": [ - "In these lessons, you will learn how CSS flexbox works, its properties, and when you should use it." - ] - }, - "workshop-flexbox-photo-gallery": { - "title": "Build a Flexbox Photo Gallery", - "intro": [ - "In this workshop, you'll use Flexbox to build a responsive photo gallery webpage." - ] - }, - "lab-page-of-playing-cards": { - "title": "Build a Page of Playing Cards", - "intro": [ - "In this lab, you'll use flexbox to create a webpage of playing cards.", - "You'll practice aligning elements using flexbox properties like flex-direction, justify-content, align-self, and more." - ] - }, - "review-css-flexbox": { - "title": "CSS Flexbox Review", - "intro": [ - "Before you're quizzed on CSS flexbox, you should review what you've learned.", - "Open up this page to review concepts like the flex-direction, justify-content, align-items, flex-wrap properties, and more." - ] - }, - "quiz-css-flexbox": { - "title": "CSS Flexbox Quiz", - "intro": ["Test what you've learned on CSS flexbox with this quiz."] - }, - "lecture-working-with-css-fonts": { - "title": "Working with CSS Fonts", - "intro": [ - "In these lessons, you will learn about typography and its best practices, fonts, and the text-shadow property." - ] - }, - "workshop-nutritional-label": { - "title": "Build a Nutritional Label", - "intro": [ - "Typography is the art of styling your text to be easily readable and suit its purpose.", - "In this workshop, you'll use typography to build a nutrition label webpage. You'll practice how to style text, adjust line height, and position your text using CSS." - ] - }, - "lab-newspaper-article": { - "title": "Build a Newspaper Article", - "intro": [ - "In this lab, you'll build a newspaper article page using HTML and CSS.", - "You'll style the fonts using properties like font-family, font-size, font-weight, and more." - ] - }, - "review-css-typography": { - "title": "CSS Typography Review", - "intro": [ - "Before you're quizzed on the fundamentals of typography, you should review what you've learned.", - "Open up this page to review concepts like web safe fonts, the font-family property and more." - ] - }, - "quiz-css-typography": { - "title": "CSS Typography Quiz", - "intro": ["Test your knowledge of typography with this quiz."] - }, - "lecture-best-practices-for-accessibility-and-css": { - "title": "Best Practices for Accessibility and CSS", - "intro": [ - "In these lessons, you will learn about best practices for accessibility in CSS, and the tools for checking good color contrast on websites." - ] - }, - "workshop-accessibility-quiz": { - "title": "Build a Quiz Webpage", - "intro": [ - "Accessibility is the process of making your webpages usable for everyone, including people with disabilities.", - "In this workshop, you'll build a quiz webpage. You'll learn accessibility tools such as keyboard shortcuts, ARIA attributes, and design best practices." - ] - }, - "lab-tribute-page": { - "title": "Build a Tribute Page", - "intro": [ - "In this lab, you'll build a tribute page for a subject of your choosing, fictional or real." - ] - }, - "review-css-accessibility": { - "title": "CSS Accessibility Review", - "intro": [ - "Before you're quizzed on CSS and accessibility, you should review what you've learned.", - "Open up this page to review concepts like color contrast tools and accessibility best practices." - ] - }, - "quiz-css-accessibility": { - "title": "CSS Accessibility Quiz", - "intro": [ - "In this quiz, you'll test what you've learned about making your webpages accessible with CSS." - ] - }, - "lecture-understanding-how-to-work-with-floats-and-positioning-in-css": { - "title": "Understanding How to Work with Floats and Positioning in CSS", - "intro": [ - "In these lessons, you will learn how to use CSS positioning and floats. You will learn about absolute, relative, fixed, and sticky positioning. You will also use the z-index property." - ] - }, - "workshop-cat-painting": { - "title": "Build a Cat Painting", - "intro": [ - "Mastering CSS positioning is essential for creating visually appealing and responsive web layouts.", - "In this workshop, you will build a cat painting. You'll learn about how to work with absolute positioning, the z-index property, and the transform property." - ] - }, - "lab-house-painting": { - "title": "Build a House Painting", - "intro": [ - "In this lab, you'll build a house painting using CSS.", - "You'll design individual elements of the house and position them using CSS properties like position, top, left, and more." - ] - }, - "review-css-positioning": { - "title": "CSS Positioning Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS positioning, you should review what you've learned.", - "Open up this page to review concepts like floats, relative positioning, absolute positioning and more." - ] - }, - "quiz-css-positioning": { - "title": "CSS Positioning Quiz", - "intro": ["Test your knowledge of CSS positioning with this quiz."] - }, - "lecture-working-with-attribute-selectors": { - "title": "Working with Attribute Selectors", - "intro": [ - "In these lessons, you will learn about attribute selectors and how to use them to target elements like links and lists." - ] - }, - "workshop-balance-sheet": { - "title": "Build a Balance Sheet", - "intro": [ - "In this workshop, you'll build a balance sheet using pseudo selectors. You'll learn how to change the style of an element when you hover over it with your mouse, and trigger other events on your webpage." - ] - }, - "lab-book-inventory-app": { - "title": "Build a Book Inventory App", - "intro": [ - "In this lab, you'll create a book inventory app.", - "You'll practice CSS attribute selectors like [attribute], [attribute=value], [attribute~=value], and more." - ] - }, - "review-css-attribute-selectors": { - "title": "CSS Attribute Selectors Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS attribute selectors, you should review what you've learned about them.", - "Open up this page to review concepts like how to work with different attribute selectors that target links with the href and title attributes." - ] - }, - "quiz-css-attribute-selectors": { - "title": "CSS Attribute Selectors Quiz", - "intro": [ - "Test your knowledge of CSS attribute selectors with this quiz." - ] - }, - "lecture-best-practices-for-responsive-web-design": { - "title": "Best Practices for Responsive Web Design", - "intro": [ - "In these lessons, you will learn about the best practices for responsive web design, the roles concepts like grid, flexbox, media queries, and media breakpoints play in responsive design, and more." - ] - }, - "workshop-piano": { - "title": "Design a Piano", - "intro": [ - "Responsive Design tells your webpage how it should look on different-sized screens.", - "In this workshop, you'll use CSS and responsive design to code a piano. You'll also practice media queries and pseudo selectors." - ] - }, - "lab-technical-documentation-page": { - "title": "Build a Technical Documentation Page", - "intro": [ - "In this lab, you'll build a technical documentation page to serve as instruction or reference for a topic.", - "You'll also practice media queries to create a responsive design." - ] - }, - "review-responsive-web-design": { - "title": "Responsive Web Design Review", - "intro": [ - "Before you're quizzed on the fundamentals of responsive design, you should review what you've learned.", - "Open up this page to review concepts like media queries, media breakpoints and mobile first approach design." - ] - }, - "quiz-responsive-web-design": { - "title": "Responsive Web Design Quiz", - "intro": [ - "Test what you've learned about making your webpages responsive with this quiz." - ] - }, - "lecture-working-with-css-variables": { - "title": "Working with CSS Variables", - "intro": [ - "In these lessons, you will learn how to define and use custom properties (also known as CSS variables). You will also learn about the @property rule and how it works." - ] - }, - "workshop-city-skyline": { - "title": "Build a City Skyline", - "intro": [ - "CSS variables help you organize your styles and reuse them.", - "In this workshop, you'll build a city skyline. You'll practice how to configure CSS variables so you can reuse them whenever you want." - ] - }, - "lab-availability-table": { - "title": "Build an Availability Table", - "intro": [ - "For this lab, you'll create an availability table that shows the availability of people for a meeting.", - "You'll practice using CSS variables to store and reuse colors, fonts, and other styles." - ] - }, - "review-css-variables": { - "title": "CSS Variables Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS variables, you should review what you've learned.", - "Open up this page to review how to work with CSS custom properties (CSS variables) and the @property rule." - ] - }, - "quiz-css-variables": { - "title": "CSS Variables Quiz", - "intro": ["Test your knowledge of CSS variables with this quiz."] - }, - "lecture-working-with-css-grid": { - "title": "Working with CSS Grid", - "intro": [ - "In these lessons, you will learn about CSS grid, its several properties and how to use them, and how CSS grid differs from flexbox." - ] - }, - "workshop-magazine": { - "title": "Build a Magazine", - "intro": [ - "CSS Grid gives you control over the rows and columns of your webpage design.", - "In this workshop, you'll build a magazine article. You'll practice how to use CSS Grid, including concepts like grid rows and grid columns." - ] - }, - "lab-newspaper-layout": { - "title": "Design a Newspaper Layout", - "intro": [ - "In this lab, you will design a newspaper layout using CSS Grid, including concepts like grid rows and grid columns." - ] - }, - "lecture-debugging-css": { - "title": "Debugging CSS", - "intro": [ - "In this lesson, you'll learn how to debug CSS using your browser's developer tools and CSS validators." - ] - }, - "lab-product-landing-page": { - "title": "Build a Product Landing Page", - "intro": [ - "In this project, you'll build a product landing page to market a product of your choice." - ] - }, - "review-css-grid": { - "title": "CSS Grid Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS Grid, you should review what you've learned.", - "Open up this page to review how to work with the different CSS Grid properties like grid-template-columns, grid-gap and more." - ] - }, - "quiz-css-grid": { - "title": "CSS Grid Quiz", - "intro": ["Test your knowledge of CSS Grid with this quiz."] - }, - "lecture-animations-and-accessibility": { - "title": "Animations and Accessibility", - "intro": [ - "In these lessons, you will learn about CSS animations and their accessibility concerns. You will also learn how prefers-reduced-motion can help address those accessibility concerns." - ] - }, - "workshop-ferris-wheel": { - "title": "Build an Animated Ferris Wheel", - "intro": [ - "You can use CSS animation to draw attention to specific sections of your webpage and make it more engaging.", - "In this workshop, you'll build a Ferris wheel. You'll practice how to use CSS to animate elements, transform them, and adjust their speed." - ] - }, - "lab-moon-orbit": { - "title": "Build a Moon Orbit", - "intro": [ - "In this lab, you'll create an animation of the moon orbiting the earth.", - "You'll practice animation properties like animation-name, animation-duration, animation-timing-function, and more." - ] - }, - "workshop-flappy-penguin": { - "title": "Build a Flappy Penguin", - "intro": [ - "You can transform HTML elements to create appealing designs that draw your reader's eye. You can use transforms to rotate elements, scale them, and more.", - "In this workshop, you'll build a penguin. You'll use CSS transforms to position and resize the parts of your penguin, create a background, and animate your work." - ] - }, - "lab-personal-portfolio": { - "title": "Build a Personal Portfolio", - "intro": [ - "In this project, you'll build your own personal portfolio page." - ] - }, - "review-css-animations": { - "title": "CSS Animations Review", - "intro": [ - "Before you're quizzed on working with CSS animations, you should review what you've learned about them.", - "Open up this page to review concepts including prefers-reduced-motion, the @keyframes rule and more." - ] - }, - "quiz-css-animations": { - "title": "CSS Animations Quiz", - "intro": ["Test your knowledge of CSS animations with this quiz."] - }, - "review-css": { - "title": "CSS Review", - "intro": [ - "Before you take the CSS prep exam, you first need to review the concepts taught in the previous modules.", - "Open up this page to review concepts around the basics of CSS, responsive web design, animations, accessibility and more." - ] - }, - "lecture-working-with-code-editors-and-ides": { - "title": "Working with Code Editors and IDEs", - "intro": [ - "In these lessons, you will learn how to work with code editors and IDEs. You will learn various concepts about the most popular code editor, VS Code such as its installation, how to create a project in it, keyboard shortcuts, and extensions." - ] - }, - "lecture-introduction-to-javascript": { - "title": "Introduction to JavaScript", - "intro": [ - "In these lessons, you will learn the fundamentals of JavaScript. Topics covered include, but are not limited to, variables, data types, how JavaScript interacts with HTML and CSS, and much more." - ] - }, - "lecture-introduction-to-strings": { - "title": "Introduction to Strings", - "intro": [ - "In these lessons, you will learn how to work with strings and string concatenation." - ] - }, - "lecture-understanding-code-clarity": { - "title": "Understanding Code Clarity", - "intro": [ - "In these lessons, you will learn about comments in JavaScript and the role of semicolons in programming." - ] - }, - "workshop-greeting-bot": { - "title": "Build a Greeting Bot", - "intro": [ - "In this workshop, you will learn JavaScript fundamentals by building a greeting bot.", - "You will learn about variables, let, const, console.log and basic string usage." - ] - }, - "lab-javascript-trivia-bot": { - "title": "Build a JavaScript Trivia Bot", - "intro": [ - "In this lab, you'll practice working with JavaScript variables and strings by building a trivia bot." - ] - }, - "lab-sentence-maker": { - "title": "Build a Sentence Maker", - "intro": [ - "In this lab, you will continue practicing with strings and concatenation by creating and customizing various stories." - ] - }, - "lecture-working-with-data-types": { - "title": "Working with Data Types", - "intro": [ - "In the following lessons, you will learn how to work with data types in JavaScript. You will also learn how dynamic typing differs from static typing, the typeof operator, and the typeof null bug." - ] - }, - "review-javascript-variables-and-data-types": { - "title": "JavaScript Variables and Data Types Review", - "intro": [ - "Before you are quizzed on JavaScript variables and data types you first need to review the concepts.", - "Open up this page to review variables, data types, logging and commenting." - ] - }, - "quiz-javascript-variables-and-data-types": { - "title": "JavaScript Variables and Data Types Quiz", - "intro": [ - "Test your knowledge of JavaScript variables and data types with this quiz." - ] - }, - "lecture-working-with-strings-in-javascript": { - "title": "Working with Strings in JavaScript", - "intro": [ - "In these lessons, you will learn how to work with strings in JavaScript. You will learn how to access characters from a string, how to use template literals and interpolation, how to create a new line in strings, and much more." - ] - }, - "workshop-teacher-chatbot": { - "title": "Build a Teacher Chatbot", - "intro": [ - "In this workshop, you will continue to learn more about JavaScript strings by building a chatbot.", - "You will learn how to work with template literals, and the indexOf method." - ] - }, - "lecture-working-with-string-character-methods": { - "title": "Working with String Character Methods", - "intro": [ - "In this lesson you will learn about ASCII character encoding and how to use JavaScript's charCodeAt() and fromCharCode() methods to convert between characters and their numerical ASCII values." - ] - }, - "lecture-working-with-string-search-and-slice-methods": { - "title": "Working with String Search and Slice Methods", - "intro": [ - "In this lesson you will learn how to search for substrings using the includes() method and how to extract portions of strings using the slice() method." - ] - }, - "workshop-string-inspector": { - "title": "Build a String Inspector", - "intro": [ - "In this workshop, you will practice working with the includes() and slice() methods by building a string inspector." - ] - }, - "lecture-working-with-string-formatting-methods": { - "title": "Working with String Formatting Methods", - "intro": [ - "In this lesson you will learn how to format strings by changing their case using toUpperCase() and toLowerCase() methods, and how to remove whitespace using trim(), trimStart(), and trimEnd() methods." - ] - }, - "workshop-string-formatter": { - "title": "Build a String Formatter", - "intro": [ - "In this workshop, you will practice working with various string methods including the trim(), toUpperCase() and toLowerCase() methods." - ] - }, - "lecture-working-with-string-modification-methods": { - "title": "Working with String Modification Methods", - "intro": [ - "In this lesson you will learn how to modify strings by replacing parts of them using the replace() method and how to repeat strings multiple times using the repeat() method." - ] - }, - "workshop-string-transformer": { - "title": "Build a String Transformer", - "intro": [ - "In this workshop, you will practice working with the replace(), replaceAll() and repeat() methods." - ] - }, - "review-javascript-strings": { - "title": "JavaScript Strings Review", - "intro": [ - "Before you are quizzed on working with JavaScript strings, you first need to review.", - "Open up this page to review how to work with template literals, the slice method, the includes method, the trim method and more." - ] - }, - "quiz-javascript-strings": { - "title": "JavaScript Strings Quiz", - "intro": ["Test your knowledge of JavaScript strings with this quiz."] - }, - "lecture-working-with-numbers-and-arithmetic-operators": { - "title": "Working with Numbers and Arithmetic Operators", - "intro": [ - "In these lessons you will learn about the number type, arithmetic operators, and using them with numbers and strings." - ] - }, - "lab-debug-type-coercion-errors": { - "title": "Debug Type Coercion Errors in a Buggy App", - "intro": [ - "In this lab, you will be working with a buggy app that contains several type coercion errors.", - "Your task is to identify and fix these errors to ensure the application functions correctly." - ] - }, - "lecture-working-with-operator-behavior": { - "title": "Working with Operator Behavior", - "intro": [ - "In these lessons you will learn about operator precedence, the increment and decrement operators, and compound assignment operators." - ] - }, - "lab-debug-increment-and-decrement-operator-errors": { - "title": "Debug Increment and Decrement Operator Errors in a Buggy App", - "intro": [ - "In this lab, you'll debug an application that has several errors related to the increment and decrement operators.", - "Your task is to identify and fix the errors so that the application works as intended." - ] - }, - "lecture-working-with-comparison-and-boolean-operators": { - "title": "Working with Comparison and Boolean Operators", - "intro": [ - "In these lessons you will learn about booleans, and equality and inequality operators, and other comparison operators." - ] - }, - "lecture-working-with-unary-and-bitwise-operators": { - "title": "Working with Unary and Bitwise Operators", - "intro": [ - "In these lessons you will learn about unary and bitwise operators." - ] - }, - "lecture-working-with-conditional-logic-and-math-methods": { - "title": "Working with Conditional Logic and Math Methods", - "intro": [ - "In these lessons you will learn about conditional statements, binary logical operators, and the Math object." - ] - }, - "workshop-mathbot": { - "title": "Build a Mathbot", - "intro": [ - "In this workshop, you will review how to work with the different Math object methods by building a Mathbot." - ] - }, - "lab-fortune-teller": { - "title": "Build a Fortune Teller", - "intro": [ - "In this lab, you'll build a fortune teller by randomly selecting a fortune from the available fortunes.", - "You'll practice how to work with the 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 lessons, you will learn about numbers and common number methods. These include isNaN(), parseInt(), parseFloat(), and toFixed()." - ] - }, - "review-javascript-math": { - "title": "JavaScript Math Review", - "intro": [ - "Before you're quizzed on working with the Math object, you should review what you've learned.", - "Open up this page to review how to work with the Math.random() method, the Math.floor() method and more." - ] - }, - "quiz-javascript-math": { - "title": "JavaScript Math Quiz", - "intro": [ - "Test your knowledge of the JavaScript Math object with this quiz." - ] - }, - "lecture-understanding-comparisons-and-conditionals": { - "title": "Understanding Comparisons and Conditionals", - "intro": [ - "In these lessons, you will learn about comparison operators and conditionals. You will learn how the various conditionals differ from one another, and how comparisons work with null and undefined." - ] - }, - "review-javascript-comparisons-and-conditionals": { - "title": "JavaScript Comparisons and Conditionals Review", - "intro": [ - "Before you're quizzed on working with conditionals, you should review what you've learned about them.", - "Open up this page to review how to work with switch statements, other types of conditionals and more." - ] - }, - "quiz-javascript-comparisons-and-conditionals": { - "title": "JavaScript Comparisons and Conditionals Quiz", - "intro": [ - "Test your knowledge of JavaScript Comparisons and Conditionals with this quiz." - ] - }, - "lecture-working-with-functions": { - "title": "Working with Functions", - "intro": [ - "In these lessons, you will learn how to reuse a block of code with functions. You will learn what the purpose of a function is and how they work, and how scope works in programming. " - ] - }, - "workshop-calculator": { - "title": "Build a Calculator", - "intro": [ - "In this workshop, you will review your knowledge of functions by building a calculator." - ] - }, - "lab-boolean-check": { - "title": "Build a Boolean Check Function", - "intro": [ - "In this lab, you'll implement a function that checks if a value is a boolean." - ] - }, - "lab-email-masker": { - "title": "Build an Email Masker", - "intro": [ - "In this lab, you'll build an email masker that will take an email address and obscure it.", - "You'll practice string slicing, concatenation, and using functions." - ] - }, - "workshop-loan-qualification-checker": { - "title": "Build a Loan Qualification Checker", - "intro": [ - "In this workshop, you will continue to learn how to work with conditionals by building a loan qualification checker app.", - "You will learn more about if statements, and how to use comparison operators and multiple conditions in an if statement." - ] - }, - "lab-celsius-to-fahrenheit-converter": { - "title": "Build a Celsius to Fahrenheit Converter", - "intro": [ - "In this lab you will implement a function that converts the temperature from Celsius to Fahrenheit." - ] - }, - "lab-counting-cards": { - "title": "Build a Card Counting Assistant", - "intro": ["In this lab you will use JavaScript to count dealt cards."] - }, - "lab-leap-year-calculator": { - "title": "Build a Leap Year Calculator ", - "intro": [ - "In this lab you'll use conditional statements and loops to determine if a year is a leap year." - ] - }, - "lab-truncate-string": { - "title": "Implement the Truncate String Algorithm", - "intro": [ - "In this lab, you will practice truncating a string at a certain length." - ] - }, - "lab-string-ending-checker": { - "title": "Build a Confirm the Ending Tool", - "intro": [ - "In this lab, you will implement a function that checks if a given string ends with a specified target string." - ] - }, - "review-javascript-functions": { - "title": "JavaScript Functions Review", - "intro": [ - "Before you're quizzed on JavaScript functions, you should review what you've learned about them.", - "Open up this page to review functions, arrow functions and scope." - ] - }, - "quiz-javascript-functions": { - "title": "JavaScript Functions Quiz", - "intro": ["Test your knowledge of JavaScript functions with this quiz."] - }, - "lecture-working-with-arrays": { - "title": "Working with Arrays", - "intro": [ - "In these lessons, you will learn how to work with JavaScript arrays. You will learn about what makes an array, one-dimensional and two-dimensional arrays, how to access and update the elements in an array, and much more." - ] - }, - "workshop-shopping-list": { - "title": "Build a Shopping List", - "intro": [ - "In this workshop, you will practice how to work with arrays by building a shopping list.", - "You will review how to add and remove elements from an array using methods like push, pop, shift, and unshift." - ] - }, - "lab-lunch-picker-program": { - "title": "Build a Lunch Picker Program", - "intro": [ - "In this lab, you'll review working with arrays and random numbers by building a lunch picker program." - ] - }, - "lab-golf-score-translator": { - "title": "Build a Golf Score Translator", - "intro": [ - "For this lab, you will use array methods to translate golf scores into their nickname." - ] - }, - "lab-reverse-a-string": { - "title": "Build a String Inverter", - "intro": [ - "In this lab, you create a function that reverses a given string." - ] - }, - "lecture-working-with-common-array-methods": { - "title": "Working with Common Array Methods", - "intro": [ - "In these lessons, you will learn about the array methods for performing more advanced operations like getting the position of an item in an array, checking if an array contains a certain element, copying an array, and lots more." - ] - }, - "review-javascript-arrays": { - "title": "JavaScript Arrays Review", - "intro": [ - "Before you're quizzed on JavaScript arrays, you should review what you've learned about them.", - "Open up this page to review concepts like array destructuring, how to add and remove elements from an array, and more." - ] - }, - "quiz-javascript-arrays": { - "title": "JavaScript Arrays Quiz", - "intro": ["Test your knowledge of JavaScript arrays with this quiz."] - }, - "lecture-introduction-to-javascript-objects-and-their-properties": { - "title": "Introduction to JavaScript Objects and Their Properties", - "intro": [ - "In these lessons, you will learn the fundamentals of JavaScript objects, including how to create them, access their properties, and understand the difference between primitive and non-primitive data types." - ] - }, - "lecture-working-with-optional-chaining-and-object-destructuring": { - "title": "Working with Optional Chaining and Object Destructuring", - "intro": [ - "In these lessons, you will learn about advanced object manipulation techniques in JavaScript, including the optional chaining operator and object destructuring syntax." - ] - }, - "lecture-working-with-json": { - "title": "Working with JSON", - "intro": [ - "In these lessons, you will learn about JavaScript Object Notation (JSON), including how to access JSON data and use the JSON.parse() and JSON.stringify() methods." - ] - }, - "workshop-recipe-tracker": { - "title": "Build a Recipe Tracker", - "intro": [ - "In this workshop, you will review working with JavaScript objects by building a recipe tracker." - ] - }, - "lab-quiz-game": { - "title": "Build a Quiz Game", - "intro": [ - "In this lab, you'll build a quiz game using JavaScript arrays and objects.", - "You'll also practice using functions to randomly select a question and an answer from an array and compare them." - ] - }, - "lab-record-collection": { - "title": "Build a Record Collection", - "intro": [ - "In this lab you will build a function to manage a record collection." - ] - }, - "review-javascript-objects": { - "title": "JavaScript Objects Review", - "intro": [ - "Before you're quizzed on JavaScript objects, you should review what you've learned about them.", - "Open up this page to review concepts including how to access information from objects, object destructuring, working with JSON, and more." - ] - }, - "quiz-javascript-objects": { - "title": "JavaScript Objects Quiz", - "intro": ["Test your knowledge of JavaScript objects with this quiz."] - }, - "lecture-working-with-loops": { - "title": "Working with Loops", - "intro": [ - "Loops are an essential part of JavaScript. That's why the following lessons have been prepared for you to learn about the different types of loops and how they work, and also how iteration works." - ] - }, - "workshop-sentence-analyzer": { - "title": "Build a Sentence Analyzer", - "intro": [ - "In this workshop, you'll review how to work with JavaScript loops by building a sentence analyzer app." - ] - }, - "lab-longest-word-in-a-string": { - "title": "Build a Longest Word Finder App", - "intro": [ - "In this lab, you will use JavaScript loops to find the length of the longest word in the given sentence." - ] - }, - "lab-factorial-calculator": { - "title": "Build a Factorial Calculator ", - "intro": [ - "In this lab, you'll build a factorial calculator.", - "You'll practice using loops and conditionals to calculate the factorial of a number." - ] - }, - "lab-mutations": { - "title": "Implement the Mutations Algorithm", - "intro": [ - "In this lab, you will practice iterating over two different strings to compare their characters." - ] - }, - "lab-chunky-monkey": { - "title": "Implement the Chunky Monkey Algorithm", - "intro": [ - "In this lab, you will practice dividing an array into smaller arrays with the technique of your choice." - ] - }, - "lab-profile-lookup": { - "title": "Build a Profile Lookup", - "intro": [ - "In this lab, you'll create a function that looks up profile information." - ] - }, - "lab-repeat-a-string": { - "title": "Build a String Repeating Function", - "intro": [ - "In this lab, you will implement loops to repeat a string a specified number of times." - ] - }, - "lab-missing-letter-detector": { - "title": "Build a Missing Letter Detector", - "intro": [ - "In this lab, you will build a function that finds the missing letter in a given range of consecutive letters and returns it." - ] - }, - "review-javascript-loops": { - "title": "JavaScript Loops Review", - "intro": [ - "Before you're quizzed on the different JavaScript loops, you should review them.", - "Open up this page to review the for...of loop, while loop, break and continue statements and more." - ] - }, - "quiz-javascript-loops": { - "title": "JavaScript Loops Quiz", - "intro": ["Test your knowledge of JavaScript loops with this quiz."] - }, - "lecture-working-with-types-and-objects": { - "title": "Working with Types and Objects", - "intro": [ - "In these lessons you will learn about string objects, the toString() method, the Number constructor and more." - ] - }, - "lecture-working-with-arrays-variables-and-naming-practices": { - "title": "Working with Arrays, Variables, and Naming Practices", - "intro": [ - "In these lessons you will learn about common practices for naming variables and functions, and how to work with arrays." - ] - }, - "lecture-working-with-code-quality-and-execution-concepts": { - "title": "Working with Code Quality and Execution Concepts", - "intro": [ - "In these lessons you will learn what are linters and formatters, what is memory management, and closures." - ] - }, - "lab-largest-number-finder": { - "title": "Build the Largest Number Finder", - "intro": [ - "In this lab, you will use JavaScript fundamentals to create a function that finds the largest number in each sub-array of a given array." - ] - }, - "lab-first-element-finder": { - "title": "Build a First Element Finder", - "intro": [ - "In this lab, you will create a function that looks through an array and returns the first element in it that passes a \"truth test\"." - ] - }, - "lab-slice-and-splice": { - "title": "Implement the Slice and Splice Algorithm", - "intro": [ - "In this lab, you will practice merging an array with another." - ] - }, - "lab-pyramid-generator": { - "title": "Build a Pyramid Generator", - "intro": [ - "In this lab you'll build a pyramid generator.", - "You'll take a number as input and generate a pyramid with that many levels using a loop." - ] - }, - "lab-gradebook-app": { - "title": "Build a Gradebook App", - "intro": [ - "For this lab, you'll create a gradebook app.", - "You'll practice conditionals to determine the student's grade based on their score." - ] - }, - "lecture-the-var-keyword-and-hoisting": { - "title": "The var Keyword and Hoisting", - "intro": [ - "In these lessons, you will learn about the 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-title-case-converter": { - "title": "Build a Title Case Converter", - "intro": [ - "In this lab, you will build a function that converts a string to title case." - ] - }, - "lab-falsy-remover": { - "title": "Implement a Falsy Remover", - "intro": [ - "In this lab, you will create a function that removes all falsy values from an array." - ] - }, - "lab-inventory-management-program": { - "title": "Build an Inventory Management Program", - "intro": [ - "For this lab, you'll build an inventory management program using JavaScript.", - "You'll use JavaScript array of objects to manage the inventory." - ] - }, - "lecture-understanding-modules-imports-and-exports": { - "title": "Understanding Modules, Imports, and Exports", - "intro": [ - "In this lesson, you will learn about modules, imports, and exports in JavaScript." - ] - }, - "lecture-working-with-the-arguments-object-and-rest-parameters": { - "title": "Working with the arguments Object and Rest Parameters", - "intro": [ - "In these lessons, you will learn how to work with the arguments object and rest parameter syntax." - ] - }, - "lab-unique-sorted-union": { - "title": "Implement a Unique Sorted Union", - "intro": [ - "In this lab, you will create a function that takes two or more arrays and returns a new array of unique values in the order of the original provided arrays." - ] - }, - "lab-password-generator": { - "title": "Build a Password Generator App", - "intro": [ - "In this lab, you'll build a password generator app based on the user's input." - ] - }, - "lab-sum-all-numbers-algorithm": { - "title": "Design a Sum All Numbers Algorithm", - "intro": [ - "In this lab, you will design a sum all numbers algorithm. This algorithm takes an array of two numbers and returns the sum of those two numbers plus the sum of all the numbers between them." - ] - }, - "lab-dna-pair-generator": { - "title": "Implement a DNA Pair Generator", - "intro": [ - "In this lab you will implement a DNA base pairing algorithm that converts a single DNA strand into complementary base pairs." - ] - }, - "lab-html-entitiy-converter": { - "title": "Implement an HTML Entity Converter", - "intro": [ - "In this lab, you will convert special characters in a string to their corresponding HTML entities." - ] - }, - "lab-odd-fibonacci-sum-calculator": { - "title": "Build an Odd Fibonacci Sum Calculator", - "intro": [ - "In this lab you will build an odd Fibonacci sum calculator that takes a number and returns the sum of all odd Fibonacci numbers that are less than or equal to that number." - ] - }, - "lab-element-skipper": { - "title": "Implement an Element Skipper", - "intro": [ - "In this lab you will create a function that skips elements in an array based on a specified step value." - ] - }, - "lab-optional-arguments-sum-function": { - "title": "Build an Optional Arguments Sum Function", - "intro": [ - "In this lab you will build a function that accepts up to two arguments, and sum them, but if there is only one argument returns a function that waits for the second number to sum." - ] - }, - "review-javascript-fundamentals": { - "title": "JavaScript Fundamentals Review", - "intro": [ - "Before you are quizzed on JavaScript fundamentals, you first need to review the concepts.", - "Open up this page to review concepts like closures, memory management, and more." - ] - }, - "quiz-javascript-fundamentals": { - "title": "JavaScript Fundamentals Quiz", - "intro": [ - "Test your knowledge of JavaScript fundamentals with this quiz." - ] - }, - "lecture-working-with-higher-order-functions-and-callbacks": { - "title": "Working with Higher Order Functions and Callbacks", - "intro": [ - "In these lessons, you will learn how to work with higher order functions and callbacks. The higher order functions you will learn include 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": { - "title": "Build a Library Manager", - "intro": [ - "In this workshop, you will learn higher order array methods by building a library manager." - ] - }, - "lab-book-organizer": { - "title": "Build a Book Organizer", - "intro": [ - "In this lab, you'll build a book organizer using higher order functions in JavaScript." - ] - }, - "lab-sorted-index-finder": { - "title": "Implement a Sorted Index Finder", - "intro": [ - "In this lab, you will create a function that finds the index at which a given number should be inserted into a sorted array to maintain the array's sorted order." - ] - }, - "lab-symmetric-difference": { - "title": "Build a Symmetric Difference Function", - "intro": [ - "In this lab, you will practice using higher order functions to find the symmetric difference between two arrays." - ] - }, - "lab-value-remover-function": { - "title": "Implement a Value Remover Function", - "intro": [ - "In this lab, you will create a function that removes all instances of a specified value from an array." - ] - }, - "lab-matching-object-filter": { - "title": "Implement a Matching Object Filter", - "intro": [ - "In this lab, you will create a function that looks through an array of objects and returns an array of all objects that have matching property and value pairs." - ] - }, - "lab-prime-number-sum-calculator": { - "title": "Build a Prime Number Sum Calculator", - "intro": [ - "In this lab you will build a prime number sum calculator that takes a number and returns the sum of all prime numbers that are less than or equal to that number." - ] - }, - "lab-range-based-lcm-calculator": { - "title": "Implement a Range-Based LCM Calculator", - "intro": [ - "In this lab, you will create a function that takes an array of two numbers and returns the least common multiple (LCM) of those two numbers and all the numbers between them." - ] - }, - "lab-deep-flattening-tool": { - "title": "Create a Deep Flattening Tool", - "intro": [ - "In this lab you will create a function that can flatten deeply nested arrays, handling any level of nesting without using built-in flat methods." - ] - }, - "lab-all-true-property-validator": { - "title": "Build an All-True Property Validator", - "intro": [ - "In this lab you will build a function that checks if all objects in an array have a truthy value for a specific property." - ] - }, - "review-javascript-higher-order-functions": { - "title": "JavaScript Higher Order Functions Review", - "intro": [ - "Before you're quizzed on JavaScript higher order functions, you should review them.", - "Open up this page to review concepts including how to work with the map(), filter(), and reduce() methods." - ] - }, - "quiz-javascript-higher-order-functions": { - "title": "JavaScript Higher Order Functions Quiz", - "intro": [ - "Test your knowledge of JavaScript higher order functions with this quiz." - ] - }, - "lecture-working-with-the-dom-click-events-and-web-apis": { - "title": "Working with the DOM, Click Events, and Web APIs", - "intro": [ - "In these lessons, you will learn how to work with the Document Object Model (DOM), the addEventListener() method and events, and web APIs." - ] - }, - "workshop-storytelling-app": { - "title": "Build a Storytelling App", - "intro": [ - "In this workshop, you will build a storytelling app that will allow you to list different stories based on genre." - ] - }, - "workshop-emoji-reactor": { - "title": "Build an Emoji Reactor", - "intro": [ - "In this workshop, you will build an emoji reactor to practice querySelector and querySelectorAll." - ] - }, - "lab-favorite-icon-toggler": { - "title": "Build a Favorite Icon Toggler", - "intro": [ - "In this lab, you'll build a favorite icon toggler by utilizing JavaScript click events." - ] - }, - "lecture-understanding-the-event-object-and-event-delegation": { - "title": "Understanding the Event Object and Event Delegation", - "intro": [ - "In these lessons, you will learn about the event object, the change event, event bubbling, and event delegation." - ] - }, - "workshop-music-instrument-filter": { - "title": "Build a Music Instrument Filter", - "intro": [ - "In this workshop, you will build a music instrument filter with JavaScript." - ] - }, - "lab-real-time-counter": { - "title": "Build a Real Time Counter", - "intro": [ - "In this lab, you'll build a real-time character counter", - "You'll practice how to work with the input event when the user types in the input field." - ] - }, - "lab-lightbox-viewer": { - "title": "Build a Lightbox Viewer", - "intro": [ - "In this lab, you'll build a lightbox viewer for viewing images in a focused mode.", - "You'll practice click events and toggling classes." - ] - }, - "workshop-rps-game": { - "title": "Build a Rock, Paper, Scissors Game", - "intro": [ - "In this workshop, you will review DOM manipulation and events by building a Rock, Paper, Scissors Game." - ] - }, - "lab-football-team-cards": { - "title": "Build a Set of Football Team Cards", - "intro": [ - "In this lab, you'll use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards." - ] - }, - "review-dom-manipulation-and-click-events-with-javascript": { - "title": "DOM Manipulation and Click Events with JavaScript Review", - "intro": [ - "Before you're quizzed on the DOM, you should review what you've learned about it.", - "Open up this page to review concepts including how to work with the DOM, Web APIs, the addEventListener() method, change events, event bubbling and more." - ] - }, - "quiz-dom-manipulation-and-click-event-with-javascript": { - "title": "DOM Manipulation and Click Events with JavaScript Quiz", - "intro": [ - "Test your knowledge of DOM manipulation and click events in JavaScript with this quiz." - ] - }, - "lecture-understanding-aria-expanded-aria-live-and-common-aria-states": { - "title": "Understanding aria-expanded, aria-live, and Common ARIA States", - "intro": [ - "In these lessons you will learn more about ARIA attributes like aria-expanded, aria-live, and common ARIA states." - ] - }, - "workshop-planets-tablist": { - "title": "Build a Planets Tablist", - "intro": [ - "In this workshop, you will build a dynamic tabbed interface that showcases facts about the planets in the solar system." - ] - }, - "workshop-note-taking-app": { - "title": "Build a Note Taking App", - "intro": [ - "In this workshop, you are going to build an accessible note taking app.", - "This will provide you with the opportunity to practice working with aria-live attribute." - ] - }, - "lab-theme-switcher": { - "title": "Build a Theme Switcher", - "intro": [ - "In this lab, you will build a theme switcher and practice working with the aria-haspopup, aria-expanded, and aria-controls attributes." - ] - }, - "review-js-a11y": { - "title": "JavaScript and Accessibility Review", - "intro": [ - "Before you're quizzed on JavaScript and accessibility, you should review what you've learned about it.", - "Open up this page to review concepts including how to work with the aria-expanded, aria-live, and aria-controls attributes." - ] - }, - "quiz-js-a11y": { - "title": "JavaScript and Accessibility Quiz", - "intro": [ - "Test your knowledge of JavaScript and accessibility best practices with this quiz." - ] - }, - "lecture-debugging-techniques": { - "title": "Debugging Techniques", - "intro": [ - "In these lessons, you will learn about the common errors in JavaScript and the techniques you can use to fix them – a process called debugging." - ] - }, - "lab-random-background-color-changer": { - "title": "Debug a Random Background Color Changer", - "intro": [ - "In this lab, you'll debug a random background color changer and fix the errors to make it work properly." - ] - }, - "review-debugging-javascript": { - "title": "Debugging JavaScript Review", - "intro": [ - "Before you're quizzed on common debugging techniques, you should review what you've learned.", - "Open up this page to review concepts including how to work with the throw statement, try...catch...finally and more." - ] - }, - "quiz-debugging-javascript": { - "title": "Debugging JavaScript Quiz", - "intro": ["Test your knowledge of JavaScript debugging with this quiz."] - }, - "lecture-working-with-regular-expressions": { - "title": "Working with Regular Expressions", - "intro": [ - "In these lessons, you will learn about regular expressions in JavaScript. You will learn about the methods for working with regular expressions, modifiers, character classes, lookaheads, lookbehinds, back-references, quantifiers, and more." - ] - }, - "workshop-spam-filter": { - "title": "Build a Spam Filter", - "intro": [ - "Regular expressions, often shortened to \"regex\" or \"regexp\", are patterns that help programmers match, search, and replace text. Regular expressions are powerful, but can be difficult to understand because they use so many special characters.", - "In this workshop, you'll use capture groups, positive lookaheads, negative lookaheads, and other techniques to match any text you want." - ] - }, - "lab-palindrome-checker": { - "title": "Build a Palindrome Checker", - "intro": [ - "For this lab, you'll build an application that checks whether a given word is a palindrome." - ] - }, - "lab-markdown-to-html-converter": { - "title": "Build a Markdown to HTML Converter", - "intro": [ - "For this lab, you'll build a Markdown to HTML converter using JavaScript.", - "You'll practice regular expressions, string manipulation, and more." - ] - }, - "lab-regex-sandbox": { - "title": "Build a RegEx Sandbox", - "intro": ["In this lab you'll build a regex sandbox."] - }, - "lab-spinal-case-converter": { - "title": "Implement a Spinal Case Converter", - "intro": [ - "In this lab, you will create a function that converts a given string to spinal case which is a style of writing where all letters are lowercase and separated by hyphens." - ] - }, - "lab-pig-latin": { - "title": "Implement a Pig Latin Translator", - "intro": [ - "In this lab, you'll implement a Pig Latin translator using JavaScript.", - "You'll practice string manipulation, conditional logic, and regular expressions." - ] - }, - "lab-smart-word-replacement": { - "title": "Build a Smart Word Replacement Function", - "intro": [ - "In this lab, you will use regex to create a function that performs a search and replace operation on a given string." - ] - }, - "review-javascript-regular-expressions": { - "title": "JavaScript Regular Expressions Review", - "intro": [ - "Before you're quizzed on Regular Expressions, you should review what you've learned.", - "Open up this page to review concepts like lookaheads, lookbehinds, common regex modifiers and more." - ] - }, - "quiz-javascript-regular-expressions": { - "title": "JavaScript Regular Expressions Quiz", - "intro": [ - "Test your knowledge of JavaScript Regular Expressions with this quiz." - ] - }, - "lecture-understanding-form-validation": { - "title": "Understanding Form Validation", - "intro": [ - "In these lessons, you will learn about form validation in JavaScript. You will learn about the various ways to validate forms, how the preventDefault() method works, and how the submit event works." - ] - }, - "workshop-calorie-counter": { - "title": "Build a Calorie Counter", - "intro": [ - "Sometimes when you're coding a web application, you'll need to be able to accept input from a user. In this calorie counter workshop, you'll practice how to validate user input, perform calculations based on that input, and dynamically update your interface to display the results.", - "You'll also practice basic regular expressions, template literals, the addEventListener() method, and more." - ] - }, - "lab-customer-complaint-form": { - "title": "Build a Customer Complaint Form", - "intro": [ - "For this lab, you'll use JavaScript to validate a customer complaint form.", - "You'll practice how to validate form inputs, display error messages, and prevent the form from submitting if there are errors." - ] - }, - "review-form-validation-with-javascript": { - "title": "Form Validation with JavaScript Review", - "intro": [ - "Before you're quizzed on form validation, you should review what you've learned.", - "Open up this page to review concepts including the preventDefault() method, the submit event and more." - ] - }, - "quiz-form-validation-with-javascript": { - "title": "Form Validation with JavaScript Quiz", - "intro": [ - "Test what you've learned about JavaScript form validation with this quiz." - ] - }, - "lecture-working-with-dates": { - "title": "Working with Dates", - "intro": [ - "In these lessons, you will learn about the JavaScript date object. You will learn about the methods for working with dates and how to format dates." - ] - }, - "lab-date-conversion": { - "title": "Build a Date Conversion Program", - "intro": [ - "In this lab, you'll build a program to convert a date from one format to another." - ] - }, - "review-javascript-dates": { - "title": "JavaScript Dates Review", - "intro": [ - "Before you're quizzed on working with dates, you should review what you've learned.", - "Open up this page to review the Date() object and common methods." - ] - }, - "quiz-javascript-dates": { - "title": "JavaScript Dates Quiz", - "intro": [ - "Test what you've learned about JavaScript Dates with this quiz." - ] - }, - "lecture-working-with-audio-and-video": { - "title": "Working with Audio and Video", - "intro": [ - "In these lessons, you will learn how to work with audio and video files using JavaScript. You will learn about the Audio and Video constructors, their methods and properties, audio and video formats, codecs, the HTMLMediaElement API, and much more." - ] - }, - "workshop-music-player": { - "title": "Build a Music Player", - "intro": [ - "In this workshop, you'll code a basic MP3 player using HTML, CSS, and JavaScript.", - "The project covers fundamental concepts such as handling audio playback, managing a playlist, implementing play, pause, next, and previous functionalities and dynamically update your user interface based on the current song." - ] - }, - "lab-drum-machine": { - "title": "Build a Drum Machine", - "intro": [ - "For this lab you will use the audio element to build a drum machine." - ] - }, - "review-javascript-audio-and-video": { - "title": "JavaScript Audio and Video Review", - "intro": [ - "Before you're quizzed on working with audio and video in JavaScript, you should review what you've learned about them.", - "Open up this page to review concepts including the Audio constructor, the HTMLMediaElement API and more." - ] - }, - "quiz-javascript-audio-and-video": { - "title": "JavaScript Audio and Video Quiz", - "intro": [ - "Test what you've learned about JavaScript audio and video with this quiz." - ] - }, - "lecture-working-with-maps-and-sets": { - "title": "Working with Maps and Sets", - "intro": [ - "In these lessons, you will learn about JavaScript Map and Set. You will also learn how they both differ from WeakSets and WeakMaps." - ] - }, - "workshop-plant-nursery-catalog": { - "title": "Build a Plant Nursery Catalog", - "intro": [ - "In this workshop, you will practice using Maps and Sets by building a plant nursery catalog." - ] - }, - "lab-voting-system": { - "title": "Build a Voting System", - "intro": [ - "In this lab, you'll build a voting system using Maps and Sets.", - "You'll practice how to use the Map object to store key-value pairs and the Set object to store unique values." - ] - }, - "review-javascript-maps-and-sets": { - "title": "JavaScript Maps and Sets Review", - "intro": [ - "Before you're quizzed on JavaScript Maps and Sets, you should review what you've learned about them.", - "Open up this page to review concepts such as the Map and Set objects, as well as WeakSet and WeakMap." - ] - }, - "quiz-javascript-maps-and-sets": { - "title": "JavaScript Maps and Sets Quiz", - "intro": [ - "Test what you've learned about JavaScript Maps and Sets with this quiz." - ] - }, - "lecture-working-with-client-side-storage-and-crud-operations": { - "title": "Working with Client-Side Storage and CRUD Operations", - "intro": [ - "In these lessons, you will learn about client-side storage and CRUD operations in JavaScript. You will learn about localStorage and sessionStorage alongside their methods and properties, cookies, the Cache API, IndexDB, and much more." - ] - }, - "workshop-todo-app": { - "title": "Build a Todo App using Local Storage", - "intro": [ - "Local storage is a web browser feature that lets web applications store key-value pairs persistently within a user's browser. This allows web apps to save data during one session, then retrieve it in a later page session.", - "In this workshop, you'll learn how to handle form inputs, manage local storage, perform CRUD (Create, Read, Update, Delete) operations on tasks, implement event listeners, and toggle UI elements." - ] - }, - "lab-bookmark-manager-app": { - "title": "Build a Bookmark Manager App", - "intro": [ - "For this lab, you'll build a bookmark manager app.", - "You'll utilize local storage to store bookmarks, and practice how to add, remove, and display bookmarks." - ] - }, - "review-local-storage-and-crud": { - "title": "Local Storage and CRUD Review", - "intro": [ - "Before you are quizzed on working with localStorage, you first need to review the concepts.", - "Open up this page to review the localStorage property, sessionStorage property and more." - ] - }, - "quiz-local-storage-and-crud": { - "title": "Local Storage and CRUD Quiz", - "intro": [ - "Test what you've learned about local storage and CRUD with this quiz." - ] - }, - "lecture-understanding-how-to-work-with-classes-in-javascript": { - "title": "Understanding How to Work with Classes in JavaScript", - "intro": [ - "In these lessons, you will learn about classes in JavaScript. You will learn about inheritance, the this keyword, static properties and methods, and more." - ] - }, - "workshop-shopping-cart": { - "title": "Build a Shopping Cart", - "intro": [ - "In this workshop you'll create a shopping cart using JavaScript classes.", - "You will practice how to use the this keyword, create class instances, implement methods for data manipulation and more." - ] - }, - "lab-project-idea-board": { - "title": "Build a Project Idea Board", - "intro": [ - "In this lab, you'll build a project idea board using OOP in JavaScript.", - "You'll practice how to create classes, add methods to classes, and create instances of classes." - ] - }, - "lab-bank-account-manager": { - "title": "Build a Bank Account Management Program", - "intro": [ - "In this lab, you'll build a simple transaction management system for a bank account." - ] - }, - "review-javascript-classes": { - "title": "JavaScript Classes Review", - "intro": [ - "Before you're quizzed on how to work with classes, you should review what you've learned about them.", - "Open up this page to review concepts including the this keyword, class inheritance and more." - ] - }, - "quiz-javascript-classes": { - "title": "JavaScript Classes Quiz", - "intro": [ - "Test what you've learned about JavaScript classes with this quiz." - ] - }, - "lecture-understanding-recursion-and-the-call-stack": { - "title": "Understanding Recursion and the Call Stack", - "intro": [ - "In this lesson, you will learn about recursion and the call stack." - ] - }, - "workshop-decimal-to-binary-converter": { - "title": "Build a Decimal to Binary Converter", - "intro": [ - "Recursion is a programming concept where a function calls itself. This can reduce a complex problem into simpler sub-problems, until they become straightforward to solve.", - "In this workshop, you’ll build a decimal-to-binary converter using JavaScript. You’ll practice the fundamental concepts of recursion, explore the call stack, and build out a visual representation of the recursion process through an animation." - ] - }, - "lab-permutation-generator": { - "title": "Build a Permutation Generator", - "intro": [ - "For this lab, you'll build a permutation generator that produces all possible permutations of a given string." - ] - }, - "review-recursion": { - "title": "Recursion Review", - "intro": [ - "Before you're quizzed on recursion, you should review what you've learned.", - "Open up this page to review what is recursion and what is it used for." - ] - }, - "quiz-recursion": { - "title": "Recursion Quiz", - "intro": ["Test your knowledge of Recursion with this quiz."] - }, - "lecture-understanding-functional-programming": { - "title": "Understanding Functional Programming", - "intro": [ - "In these lessons, you will learn about functional programming and how to nest functions using a technique called currying." - ] - }, - "workshop-recipe-ingredient-converter": { - "title": "Build a Recipe Ingredient Converter", - "intro": [ - "In the previous lessons, you learned the core concepts behind functional programming and currying.", - "Now you will be able to apply what you have learned about currying and functional programming by building a recipe ingredient converter application." - ] - }, - "lab-sorting-visualizer": { - "title": "Build a Sorting Visualizer", - "intro": [ - "For this lab, you'll use JavaScript to visualize the steps that the Bubble Sort algorithm takes to reorder an array of integers." - ] - }, - "review-javascript-functional-programming": { - "title": "JavaScript Functional Programming Review", - "intro": [ - "Before you're quizzed on functional programming, you should review what you've learned.", - "Open up this page to review concepts on functional programming, currying and more." - ] - }, - "quiz-javascript-functional-programming": { - "title": "JavaScript Functional Programming Quiz", - "intro": [ - "Test what you've learned about JavaScript functional programming with this quiz." - ] - }, - "lecture-understanding-asynchronous-programming": { - "title": "Understanding Asynchronous Programming", - "intro": [ - "In these lessons, you will learn about asynchronous programming in JavaScript. You will learn about the differences between synchronous and asynchronous programming, how the async keyword works, the Fetch API, promises, async/await, the Geolocation API, and much more." - ] - }, - "workshop-fcc-authors-page": { - "title": "Build an fCC Authors Page", - "intro": [ - "One common aspect of web development is learning how to fetch data from an external API, then work with asynchronous JavaScript.", - "In this workshop you will practice how to use the fetch method, dynamically update the DOM to display the fetched data and paginate your data so you can load results in batches." - ] - }, - "lab-fcc-forum-leaderboard": { - "title": "Build an fCC Forum Leaderboard", - "intro": [ - "For this lab you'll practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard." - ] - }, - "lab-weather-app": { - "title": "Build a Weather App", - "intro": [ - "In this lab you'll build a Weather App using an API", - "You'll practice how to fetch data from the API, store and display it on your app." - ] - }, - "review-asynchronous-javascript": { - "title": "Asynchronous JavaScript Review", - "intro": [ - "Review asynchronous JavaScript concepts to prepare for the upcoming quiz." - ] - }, - "quiz-asynchronous-javascript": { - "title": "Asynchronous JavaScript Quiz", - "intro": [ - "Test what you've learned about asynchronous JavaScript with this quiz." - ] - }, - "review-javascript": { - "title": "JavaScript Review", - "intro": [ - "Before you take the JavaScript prep exam, you should review everything you've learned about JavaScript.", - "Open up this page to review all of the concepts taught including variables, strings, booleans, functions, objects, arrays, debugging, working with the DOM and more." - ] - }, - "kagw": { - "title": "258", - "intro": [] - }, - "lecture-introduction-to-javascript-libraries-and-frameworks": { - "title": "Introduction to JavaScript Libraries and Frameworks", - "intro": [ - "In these lessons, you will get an introduction to JavaScript libraries and frameworks. You will learn about the roles of JavaScript libraries and frameworks, single page applications (SPAs) and the issue surrounding them, and React, the most popular frontend JavaScript library." - ] - }, - "workshop-reusable-mega-navbar": { - "title": "Build a Reusable Mega Navbar", - "intro": [ - "In the previous lessons, you learned how to work with components in React.", - "In this workshop, you will build a reusable Navbar component using React." - ] - }, - "lab-reusable-footer": { - "title": "Build a Reusable Footer", - "intro": ["In this lab, you'll use React to build a reusable footer."] - }, - "lecture-working-with-data-in-react": { - "title": "Working with Data in React", - "intro": [ - "In these lessons, you will learn how to work with data in React. You will learn about props and how to pass them around, conditional rendering, how to render lists, and how to use inline styles." - ] - }, - "workshop-reusable-profile-card-component": { - "title": "Build a Reusable Profile Card Component", - "intro": [ - "In this workshop, you will learn how to work with props by building a reusable profile card component." - ] - }, - "lab-mood-board": { - "title": "Build a Mood Board", - "intro": [ - "In this lab, you'll create a mood board using React.", - "You'll practice how to pass data from a parent component to a child component using props." - ] - }, - "review-react-basics": { - "title": "React Basics Review", - "intro": [ - "Review basic React concepts to prepare for the upcoming quiz." - ] - }, - "quiz-react-basics": { - "title": "React Basics Quiz", - "intro": ["Test your knowledge of React basics with this quiz."] - }, - "lecture-working-with-state-and-responding-to-events-in-react": { - "title": "Working with State and Responding to Events in React", - "intro": [ - "In these lessons, you will learn about working with state and responding to events with React." - ] - }, - "workshop-toggle-text-app": { - "title": "Toggle Text App", - "intro": [ - "In this workshop, you will continue to learn about the useState() hook by building an application that hides and shows a piece of text on the screen." - ] - }, - "lab-color-picker": { - "title": "Build a Color Picker App", - "intro": [ - "In this lab you'll build a Color Picker.", - "You'll practice using state and hooks to manage the properties of an element." - ] - }, - "lecture-understanding-effects-and-referencing-values-in-react": { - "title": "Understanding Effects and Referencing Values in React", - "intro": [ - "In these lessons, you will learn about effects and referencing values with React." - ] - }, - "workshop-fruit-search-app": { - "title": "Build a Fruit Search App", - "intro": [ - "In this workshop, you will continue to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically." - ] - }, - "lab-one-time-password-generator": { - "title": "Build a One-Time Password Generator", - "intro": [ - "In this lab you'll build a one-time password generator.", - "You'll practice using the useEffect hooks to create a timer and generate a random OTP." - ] - }, - "review-react-state-and-hooks": { - "title": "React State and Hooks Review", - "intro": [ - "Before you're quizzed on React state and hooks, you should review what you've learned.", - "Open up this page to review working with state, custom hooks and more." - ] - }, - "quiz-react-state-and-hooks": { - "title": "React State and Hooks Quiz", - "intro": [ - "Test what you've learned about React's useState and useEffect hooks with this quiz." - ] - }, - "lecture-working-with-forms-in-react": { - "title": "Working with Forms in React", - "intro": [ - "In these lessons, you will learn about working with forms in React." - ] - }, - "workshop-superhero-application-form": { - "title": "Build a Superhero Application Form", - "intro": [ - "In this workshop, you will build a superhero application form." - ] - }, - "lab-event-rsvp": { - "title": "Build an Event RSVP", - "intro": [ - "In this lab, you'll build an Event RSVP form using React.", - "You'll practice using the useState hook to manage form input and display user responses." - ] - }, - "lecture-working-with-data-fetching-and-memoization-in-react": { - "title": "Working with Data Fetching and Memoization in React", - "intro": [ - "In these lessons, you will learn about data fetching and memoization in React." - ] - }, - "workshop-shopping-list-app": { - "title": "Build a Shopping List App", - "intro": [ - "In this workshop, you'll use the useMemo() and useCallback() hooks in React to build a simple shopping list app. You'll learn more about state and the lifecycle of React components, and how to use memoization to reduce re-renders and make your apps more efficient." - ] - }, - "lab-currency-converter": { - "title": "Build a Currency Converter", - "intro": [ - "For this lab, you'll build a currency converter app.", - "You'll use React state, memoization, and controlled components to convert between currencies." - ] - }, - "lecture-routing-react-frameworks-and-dependency-management-tools": { - "title": "Routing, React Frameworks, and Dependency Management Tools", - "intro": [ - "In these lessons, you will learn about routing in React, React frameworks, and dependency management tools." - ] - }, - "lab-tic-tac-toe": { - "title": "Build a Tic-Tac-Toe Game", - "intro": [ - "In this lab, you'll build a Tic-Tac-Toe game using React.", - "You'll practice managing state, handling user interactions, and updating the UI dynamically." - ] - }, - "lecture-react-strategies-and-debugging": { - "title": "React Strategies and Debugging", - "intro": [ - "In these lessons, you will learn about different strategies and debugging in React." - ] - }, - "review-react-forms-data-fetching-and-routing": { - "title": "React Forms, Data Fetching and Routing Review", - "intro": [ - "Before you take the React forms, data fetching and routing quiz, you should review everything you've learned so far.", - "Open up this page, to review all of the concepts taught including routing, forms, state management, prop drilling, data fetching and more." - ] - }, - "quiz-react-forms-data-fetching-and-routing": { - "title": "React Forms, Data Fetching and Routing Quiz", - "intro": [ - "Test what you've learned about routing, forms, and data fetching with this quiz." - ] - }, - "lecture-understanding-performance-in-web-applications": { - "title": "Understanding Performance in Web Applications", - "intro": [ - "In these lessons, you will learn performance in web applications." - ] - }, - "review-web-performance": { - "title": "Web Performance Review", - "intro": [ - "Before you take the web performance quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including INP, key metrics for measuring performance, Performance Web APIs and more." - ] - }, - "quiz-web-performance": { - "title": "Web Performance Quiz", - "intro": [ - "Test what you've learned about Web Performance with this quiz." - ] - }, - "lecture-understanding-the-different-types-of-testing": { - "title": "Understanding the Different Types of Testing", - "intro": [ - "In these lessons, you will learn about the different types of testing." - ] - }, - "review-testing": { - "title": "Testing Review", - "intro": [ - "Before you take the testing quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including unit testing, end-to-end testing, functional testing and more." - ] - }, - "quiz-testing": { - "title": "Testing Quiz", - "intro": ["Test what you've learned on testing with this quiz."] - }, - "lecture-working-with-css-libraries-and-frameworks": { - "title": "Working with CSS Libraries and Frameworks", - "intro": [ - "In these lessons, you will learn how to work with CSS libraries and frameworks." - ] - }, - "workshop-error-message-component": { - "title": "Build an Error Message Component", - "intro": [ - "In this workshop, you will learn the basics of Tailwind CSS by building out an error message component." - ] - }, - "workshop-tailwind-cta-component": { - "title": "Build a CTA Component", - "intro": [ - "In this workshop, you will build a call to action (CTA) component using Tailwind CSS." - ] - }, - "workshop-tailwind-pricing-component": { - "title": "Build a Pricing Component", - "intro": [ - "In this workshop, you will build a pricing component using Tailwind CSS.", - "You will practice working with Tailwind CSS grid utility classes." - ] - }, - "lab-music-shopping-cart-page": { - "title": "Build a Music Shopping Cart Page", - "intro": [ - "In this lab, you will build a music shopping cart page with Tailwind CSS.", - "You will practice working with Tailwind CSS utility classes for flexbox layouts, colors, breakpoints and more." - ] - }, - "lab-photography-exhibit": { - "title": "Design a Photography Exhibit", - "intro": [ - "In this lab, you will practice working with Tailwind CSS by designing a photography exhibit webpage." - ] - }, - "review-css-libraries-and-frameworks": { - "title": "CSS Libraries and Frameworks Review", - "intro": [ - "Before you take the CSS libraries and frameworks quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including CSS frameworks, CSS preprocessors, Sass and more." - ] - }, - "quiz-css-libraries-and-frameworks": { - "title": "CSS Libraries and Frameworks Quiz", - "intro": [ - "Test what you've learned about CSS Libraries and Frameworks with this quiz." - ] - }, - "lecture-introduction-to-typescript": { - "title": "Introduction to TypeScript", - "intro": [ - "In these lessons, you will learn what TypeScript is and how to use it." - ] - }, - "lecture-working-with-generics-and-type-narrowing": { - "title": "Working with Generics and Type Narrowing", - "intro": [ - "In these lessons, you will learn about generics and type narrowing in TypeScript." - ] - }, - "lecture-working-with-typescript-configuration-files": { - "title": "Working with TypeScript Configuration Files", - "intro": [ - "In this lesson, you will learn about TypeScript configuration files and how to use them." - ] - }, - "trvf": { - "title": "293", - "intro": [] - }, - "kwmg": { - "title": "294", - "intro": [] - }, - "nodx": { - "title": "295", - "intro": [] - }, - "erfj": { - "title": "296", - "intro": [] - }, - "muyw": { - "title": "297", - "intro": [] - }, - "review-typescript": { - "title": "Typescript Review", - "intro": [ - "Before you take the TypeScript quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including data types in TypeScript, generics, type narrowing and more." - ] - }, - "quiz-typescript": { - "title": "TypeScript Quiz", - "intro": ["Test what you've learned on Typescript with this quiz."] - }, - "review-front-end-libraries": { - "title": "Front End Libraries Review", - "intro": [ - "Review the Front End Libraries concepts to prepare for the upcoming quiz." - ] - }, - "rdzk": { - "title": "301", - "intro": [] - }, - "vtpz": { - "title": "302", - "intro": [] - }, - "lecture-introduction-to-python": { - "title": "Introduction to Python", - "intro": [ - "In these lessons, you will learn the fundamentals of Python. You'll learn about variables, data types, operators, control flow, functions, and more." - ] - }, - "workshop-caesar-cipher": { - "title": "Build a Caesar Cipher", - "intro": [ - "In this workshop, you'll build a Caesar cipher using basic Python concepts such as strings, conditionals, functions, and more." - ] - }, - "lab-rpg-character": { - "title": "Build an RPG Character", - "intro": [ - "In this lab you will practice basic python by building an RPG character." - ] - }, - "review-python-basics": { - "title": "Python Basics Review", - "intro": [ - "Before you're quizzed on Python basics, you should review what you've learned about it.", - "In this review page, you will review working with strings, functions, comparison operators and more." - ] - }, - "quiz-python-basics": { - "title": "Python Basics Quiz", - "intro": [ - "Test what you've learned about Python basics with this quiz." - ] - }, - "lecture-working-with-loops-and-sequences": { - "title": "Working with Loops and Sequences", - "intro": [ - "Learn about Working with Loops and Sequences in these lessons." - ] - }, - "workshop-pin-extractor": { - "title": "Build a Pin Extractor", - "intro": [ - "In this workshop you will build a function to extract secret pins hidden in poems." - ] - }, - "lab-number-pattern-generator": { - "title": "Build a Number Pattern Generator", - "intro": ["In this lab you will build a number pattern generator."] - }, - "review-loops-and-sequences": { - "title": "Loops and Sequences Review", - "intro": [ - "Before you're quizzed on loops and sequences, you should review what you've learned about them.", - "Open up this page to review concepts around loops, lists, tuples and some of their common methods." - ] - }, - "quiz-loops-and-sequences": { - "title": "Loops and Sequences Quiz", - "intro": [ - "Test what you've learned about loops and sequences in Python with this quiz." - ] - }, - "lecture-working-with-dictionaries-and-sets": { - "title": "Working with Dictionaries and Sets", - "intro": [ - "Learn about working with dictionaries and sets in these lessons." - ] - }, - "lecture-working-with-modules": { - "title": "Working with Modules", - "intro": ["Learn about working with modules in these lessons."] - }, - "workshop-medical-data-validator": { - "title": "Build a Medical Data Validator", - "intro": [ - "In this workshop, you'll practice working with dictionaries and sets while validating a collection of medical data." - ] - }, - "lab-user-configuration-manager": { - "title": "Build a User Configuration Manager", - "intro": [ - "In this lab, you will practice working with dictionaries in Python." - ] - }, - "review-dictionaries-and-sets": { - "title": "Dictionaries and Sets review", - "intro": [ - "Before you're quizzed on dictionaries and sets, you should review what you've learned about them.", - "Open up this page to review concepts around dictionaries, sets, and how to import modules." - ] - }, - "quiz-dictionaries-and-sets": { - "title": "Dictionaries and Sets Quiz", - "intro": [ - "Test what you've learned about dictionaries and sets in Python with this quiz." - ] - }, - "lecture-understanding-error-handling": { - "title": "Understanding Error Handling", - "intro": [ - "In these lessons, you will learn about error handling in Python. You will learn about the different types of errors, some good debugging practices, what exceptions are, and how to handle them." - ] - }, - "lab-isbn-validator": { - "title": "Debug an ISBN Validator", - "intro": [ - "In this lab, you will start with a bugged app, and you will need to debug and fix the bugs until it is working properly." - ] - }, - "review-error-handling": { - "title": "Error Handling Review", - "intro": [ - "Before you're quizzed on error handling, you should review what you've learned about it." - ] - }, - "quiz-error-handling": { - "title": "Error Handling Quiz", - "intro": [ - "Test what you've learned about Error Handling in Python with this quiz." - ] - }, - "lecture-classes-and-objects": { - "title": "Classes and Objects", - "intro": ["Learn about Classes and Objects in these lessons."] - }, - "workshop-musical-instrument-inventory": { - "title": "Build a Musical Instrument Inventory", - "intro": [ - "In this workshop, you will learn about classes, objects, and methods in Python by building a simple musical instrument inventory." - ] - }, - "lab-planet-class": { - "title": "Build a Planet Class", - "intro": [ - "In this lab you will create a class that represents a planet." - ] - }, - "workshop-email-simulator": { - "title": "Build an Email Simulator", - "intro": [ - "In this workshop you will implement classes and objects by building an email simulator that simulates sending, receiving, and managing emails between different users." - ] - }, - "lab-budget-app": { - "title": "Build a Budget App", - "intro": [ - "In this lab you will build a budget app and practice creating a class and methods for that class." - ] - }, - "review-classes-and-objects": { - "title": "Classes and Objects Review", - "intro": [ - "Before you're quizzed on classes and objects, you should review what you've learned about them.", - "Open up this page to review concepts like how classes work, what are objects, methods, attributes, special methods and more." - ] - }, - "quiz-classes-and-objects": { - "title": "Classes and Objects Quiz", - "intro": [ - "Test what you've learned about classes and objects in Python with this quiz." - ] - }, - "lecture-understanding-object-oriented-programming-and-encapsulation": { - "title": "Understanding Object Oriented Programming and Encapsulation", - "intro": [ - "Learn about Understanding Object Oriented Programming and Encapsulation in these lessons." - ] - }, - "workshop-salary-tracker": { - "title": "Build a Salary Tracker", - "intro": [ - "In this workshop, you'll practice encapsulation, properties, and other OOP concepts by building a salary tracking system for employees." - ] - }, - "lab-game-character-stats": { - "title": "Build a Game Character Stats Tracker", - "intro": [ - "In this lab, you will build a game character with different stats using object-oriented programming." - ] - }, - "lecture-understanding-inheritance-and-polymorphism": { - "title": "Understanding Inheritance and Polymorphism", - "intro": [ - "Learn about Understanding Inheritance and Polymorphism in these lessons." - ] - }, - "workshop-media-catalogue": { - "title": "Build a Media Catalogue", - "intro": [ - "In this workshop, you will create a media catalogue application using object-oriented programming principles." - ] - }, - "lab-polygon-area-calculator": { - "title": "Build a Polygon Area Calculator", - "intro": [ - "In this lab, you will use object-oriented programming to calculate the areas of different polygons like squares and rectangles." - ] - }, - "lecture-understanding-abstraction": { - "title": "Understanding Abstraction", - "intro": ["Learn about Understanding Abstraction in these lessons."] - }, - "workshop-discount-calculator": { - "title": "Build a Discount Calculator", - "intro": [ - "In this workshop you will build a flexible discount pricing calculator through abstract base classes, allowing multiple discount algorithms to be applied interchangeably without modifying the core logic." - ] - }, - "lab-player-interface": { - "title": "Build a Player Interface", - "intro": [ - "In this lab, you'll use the abc module to build a player interface." - ] - }, - "review-object-oriented-programming": { - "title": "Object Oriented Programming Review", - "intro": [ - "Before you're quizzed on object oriented programming, you should review what you've learned about it." - ] - }, - "quiz-object-oriented-programming": { - "title": "Object Oriented Programming Quiz", - "intro": [ - "Test what you've learned about object oriented programming in python with this quiz." - ] - }, - "lecture-working-with-common-data-structures": { - "title": "Working with Common Data Structures", - "intro": [ - "Learn about Working with Common Data Structures in these lessons." - ] - }, - "workshop-linked-list-class": { - "title": "Build a Linked List", - "intro": [ - "In this workshop, you'll practice working with data structures by building a linked list." - ] - }, - "lab-hash-table": { - "title": "Build a Hash Table", - "intro": [ - "A hash table is a data structure that is used to store key-value pairs and is optimized for quick lookups.", - "In this lab, you will use your knowledge about data structures to build a hash table." - ] - }, - "review-data-structures": { - "title": "Data Structures Review", - "intro": [ - "Before you're quizzed on data structures, you should review what you've learned about them.", - "Open up this page to review concepts like the different data structures, algorithms, time and space complexity, and big O notation." - ] - }, - "quiz-data-structures": { - "title": "Data Structures Quiz", - "intro": [ - "Test what you've learned about data structures in Python with this quiz." - ] - }, - "lecture-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms", - "intro": [ - "Learn about fundamental searching and sorting algorithms, including linear search, binary search, and merge sort.", - "These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm." - ] - }, - "workshop-binary-search": { - "title": "Implement the Binary Search Algorithm", - "intro": [ - "The binary search algorithm is a searching algorithm used to find a target item in a sorted list.", - "In this workshop, you'll implement the binary search algorithm and return the path it took to find the target or return 'Value not found'." - ] - }, - "lab-bisection-method": { - "title": "Implement the Bisection Method", - "intro": [ - "In this lab, you will implement the bisection method to find the square root of a number." - ] - }, - "workshop-merge-sort": { - "title": "Implement the Merge Sort Algorithm", - "intro": [ - "The merge sort algorithm is a sorting algorithm based on the divide and conquer principle.", - "In this workshop, you'll implement the merge sort algorithm to sort a list of random numbers." - ] - }, - "lab-quicksort": { - "title": "Implement the Quicksort Algorithm", - "intro": [ - "In this lab you will implement the quicksort algorithm to sort a list of integers." - ] - }, - "lab-selection-sort": { - "title": "Implement the Selection Sort Algorithm", - "intro": [ - "In this lab you will implement the selection sort algorithm." - ] - }, - "lab-luhn-algorithm": { - "title": "Implement the Luhn Algorithm", - "intro": [ - "In this lab, you will implement the Luhn algorithm to validate identification numbers such as credit card numbers." - ] - }, - "lab-tower-of-hanoi": { - "title": "Implement the Tower of Hanoi Algorithm", - "intro": [ - "In this lab, you will implement an algorithm to solve the Tower of Hanoi puzzle." - ] - }, - "review-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms Review", - "intro": [ - "Before you're quizzed on searching and sorting algorithms, you should review what you've learned about them." - ] - }, - "quiz-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms Quiz", - "intro": [ - "Test what you've learned about searching and sorting algorithms in Python with this quiz." - ] - }, - "lecture-understanding-graphs-and-trees": { - "title": "Understanding Graphs and Trees", - "intro": [ - "In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science." - ] - }, - "workshop-shortest-path-algorithm": { - "title": "Implement the Shortest Path Algorithm", - "intro": [ - "In this workshop you will implement the shortest path algorithm to find the shortest path between two nodes in a graph." - ] - }, - "lab-adjacency-list-to-matrix-converter": { - "title": "Build an Adjacency List to Matrix Converter", - "intro": [ - "In this lab, you will implement a function that converts an adjacency list representation of a graph into an adjacency matrix representation." - ] - }, - "workshop-breadth-first-search": { - "title": "Implement the Breadth-First Search Algorithm", - "intro": [ - "In this workshop, you will use the bread-first search algorithm to generate all valid combinations of parentheses." - ] - }, - "lab-depth-first-search": { - "title": "Implement the Depth-First Search Algorithm", - "intro": [ - "In this lab, you will implement the Depth-First Search Algorithm." - ] - }, - "lab-n-queens-problem": { - "title": "Implement the N-Queens Problem", - "intro": [ - "In this lab, you will implement a solution for the N-Queens problem." - ] - }, - "review-graphs-and-trees": { - "title": "Graphs and Trees Review", - "intro": [ - "Before you're quizzed on graphs and trees, you should review what you've learned about them." - ] - }, - "quiz-graphs-and-trees": { - "title": "Graphs and Trees Quiz", - "intro": [ - "Test what you've learned about graphs and trees in Python with this quiz." - ] - }, - "lecture-understanding-dynamic-programming": { - "title": "Understanding Dynamic Programming", - "intro": [ - "In this lesson, you will learn about dynamic programming, an algorithmic technique used to solve complex problems efficiently by breaking them down into simpler subproblems." - ] - }, - "lab-nth-fibonacci-number": { - "title": "Build an Nth Fibonacci Number Calculator", - "intro": [ - "In this lab you will implement a Fibonacci sequence calculator using a dynamic programming approach." - ] - }, - "review-dynamic-programming": { - "title": "Dynamic Programming Review", - "intro": [ - "Before you're quizzed on dynamic programming, you should review what you've learned about it." - ] - }, - "quiz-dynamic-programming": { - "title": "Dynamic Programming Quiz", - "intro": [ - "Test what you've learned about dynamic programming in python with this quiz." - ] - }, - "review-python": { - "title": "Python Review", - "intro": ["Review Python concepts to prepare for the upcoming exam."] - }, - "lecture-understanding-the-command-line-and-working-with-bash": { - "title": "Understanding the Command Line and Working with Bash", - "intro": [ - "Learn about the Command Line and Working with Bash in these lessons." - ] - }, - "workshop-bash-boilerplate": { - "title": "Build a Boilerplate", - "intro": [ - "The terminal allows you to send text commands to your computer that can manipulate the file system, run programs, automate tasks, and much more.", - "In this 170-lesson workshop, you will learn terminal commands by creating a website boilerplate using only the command line." - ] - }, - "review-bash-commands": { - "title": "Bash Commands Review", - "intro": [ - "Review the Bash Commands concepts to prepare for the upcoming quiz." - ] - }, - "quiz-bash-commands": { - "title": "Bash Commands Quiz", - "intro": ["Test what you've learned bash commands with this quiz."] - }, - "lecture-working-with-relational-databases": { - "title": "Working with Relational Databases", - "intro": [ - "Learn how to work with Relational Databases in these lessons." - ] - }, - "workshop-database-of-video-game-characters": { - "title": "Build a Database of Video Game Characters", - "intro": [ - "A relational database organizes data into tables that are linked together through relationships.", - "In this 165-lesson workshop, you will learn the basics of a relational database by creating a PostgreSQL database filled with video game characters." - ] - }, - "lab-celestial-bodies-database": { - "title": "Build a Celestial Bodies Database", - "intro": [ - "For this project, you will build a database of celestial bodies using PostgreSQL." - ] - }, - "review-sql-and-postgresql": { - "title": "SQL and PostgreSQL Review", - "intro": [ - "Review SQL and PostgreSQL concepts to prepare for the upcoming quiz." - ] - }, - "quiz-sql-and-postgresql": { - "title": "SQL and PostgreSQL Quiz", - "intro": [ - "Test what you've learned about SQL and PostgreSQL with this quiz." - ] - }, - "lecture-understanding-bash-scripting": { - "title": "Understanding Bash Scripting", - "intro": ["Learn about Bash Scripting in these lessons."] - }, - "workshop-bash-five-programs": { - "title": "Build Five Programs", - "intro": [ - "Bash scripts combine terminal commands and logic into programs that can execute or automate tasks, and much more.", - "In this 220-lesson workshop, you will learn more terminal commands and how to use them within Bash scripts by creating five small programs." - ] - }, - "review-bash-scripting": { - "title": "Bash Scripting Review", - "intro": [ - "Review the bash scripting concepts you've learned to prepare for the upcoming quiz." - ] - }, - "quiz-bash-scripting": { - "title": "Bash Scripting Quiz", - "intro": ["Test what you've learned on bash scripting in this quiz."] - }, - "lecture-working-with-sql": { - "title": "Working With SQL", - "intro": [ - "In these lessons, you will learn about SQL injection, normalization, and the N+1 problem." - ] - }, - "workshop-sql-student-database-part-1": { - "title": "Build a Student Database: Part 1", - "intro": [ - "SQL, or Structured Query Language, is the language for communicating with a relational database.", - "In this 140-lesson workshop, you will create a Bash script that uses SQL to enter information about your computer science students into PostgreSQL." - ] - }, - "workshop-sql-student-database-part-2": { - "title": "Build a Student Database: Part 2", - "intro": [ - "SQL join commands are used to combine information from multiple tables in a relational database", - "In this 140-lesson workshop, you will complete your student database while diving deeper into SQL commands." - ] - }, - "lab-world-cup-database": { - "title": "Build a World Cup Database", - "intro": [ - "For this project, you will create a Bash script that enters information from World Cup games into PostgreSQL, then query the database for useful statistics." - ] - }, - "workshop-kitty-ipsum-translator": { - "title": "Build a Kitty Ipsum Translator", - "intro": [ - "There's more to Bash commands than you might think.", - "In this 140-lesson workshop, you will learn some more complex commands, and the details of how commands work." - ] - }, - "workshop-bike-rental-shop": { - "title": "Build a Bike Rental Shop", - "intro": [ - "In this 210-lesson workshop, you will build an interactive Bash program that stores rental information for your bike rental shop using PostgreSQL." - ] - }, - "lab-salon-appointment-scheduler": { - "title": "Build a Salon Appointment Scheduler", - "intro": [ - "For this lab, you will create an interactive Bash program that uses PostgreSQL to track the customers and appointments for your salon." - ] - }, - "review-bash-and-sql": { - "title": "Bash and SQL Review", - "intro": [ - "Review the Bash and SQL concepts to prepare for the upcoming quiz." - ] - }, - "quiz-bash-and-sql": { - "title": "Bash and SQL Quiz", - "intro": ["Test what you've learned in this quiz on Bash and SQL."] - }, - "lecture-working-with-nano": { - "title": "Working With Nano", - "intro": ["Learn about Nano in this lesson."] - }, - "workshop-castle": { - "title": "Build a Castle", - "intro": [ - "Nano is a program that allows you to edit files right in the terminal.", - "In this 40-lesson workshop, you will learn how to edit files in the terminal with Nano while building a castle." - ] - }, - "lecture-introduction-to-git-and-github": { - "title": "Introduction to Git and GitHub", - "intro": ["Learn how to work with Git and GitHub in these lessons."] - }, - "lecture-working-with-code-reviews-branching-deployment-and-ci-cd": { - "title": "Working With Code Reviews, Branching, Deployment, and CI/CD", - "intro": [ - "Learn about code reviews, branching, deployment, and CI/CD in these lessons." - ] - }, - "workshop-sql-reference-object": { - "title": "Build an SQL Reference Object", - "intro": [ - "Git is a version control system that keeps track of all the changes you make to your codebase.", - "In this 240-lesson workshop, you will learn how Git keeps track of your code by creating an object containing commonly used SQL commands." - ] - }, - "lab-periodic-table-database": { - "title": "Build a Periodic Table Database", - "intro": [ - "For this lab, you will create a Bash script to get information about chemical elements from a periodic table database." - ] - }, - "lab-number-guessing-game": { - "title": "Build a Number Guessing Game", - "intro": [ - "For this lab, you will use Bash scripting, PostgreSQL, and Git to create a number guessing game that runs in the terminal and saves user information." - ] - }, - "review-git": { - "title": "Git Review", - "intro": ["Review Git concepts to prepare for the upcoming quiz."] - }, - "quiz-git": { - "title": "Git Quiz", - "intro": ["Test what you've learned on Git with this quiz."] - }, - "review-relational-databases": { - "title": "Relational Databases Review", - "intro": [ - "Review relational databases concepts to prepare for the exam." - ] - }, - "lecture-understanding-the-http-request-response-model": { - "title": "Understanding the HTTP Request-Response Model", - "intro": [ - "Learn the fundamentals of how web communication works through the HTTP request-response model, explore different types of web assets and responses, and understand how forms handle data submission using various HTTP methods." - ] - }, - "exam-certified-full-stack-developer": { - "title": "Certified Full Stack Developer Exam", - "intro": ["Pass this exam to become a Certified Full Stack Developer."] - } - } - }, "javascript-v9": { "title": "JavaScript Certification", "intro": [ @@ -6434,6 +3094,12 @@ "In this lecture, you will learn about recursion and the call stack." ] }, + "workshop-countup": { + "title": "Build a Countup", + "intro": [ + "In this workshop you will build a countdown function that returns an array of numbers counting up from 1 to a given number." + ] + }, "lab-countdown": { "title": "Build a Countdown", "intro": [ @@ -6447,6 +3113,13 @@ "In this workshop, you'll build a decimal-to-binary converter using JavaScript. You'll practice the fundamental concepts of recursion, explore the call stack, and build out a visual representation of the recursion process through an animation." ] }, + "lab-range-of-numbers": { + "title": "Build a Range of Numbers Generator", + "intro": [ + "In this lab, you'll use recursion to generate an array of numbers within a specified range.", + "You'll practice recursive function calls, base cases, and building arrays through recursion." + ] + }, "lab-permutation-generator": { "title": "Build a Permutation Generator", "intro": [ @@ -6471,6 +3144,12 @@ "These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm." ] }, + "lecture-understanding-graphs-and-trees-js": { + "title": "Understanding Graphs and Trees", + "intro": [ + "In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science." + ] + }, "lecture-understanding-functional-programming": { "title": "Understanding Functional Programming", "intro": [ @@ -7172,6 +3851,12 @@ "In this lab, you will use object-oriented programming to calculate the areas of different polygons like squares and rectangles." ] }, + "lab-discount-calculator": { + "title": "Build a Discount Calculator", + "intro": [ + "In this lab, you will practice basic Python by building a calculator to apply a discount to a price." + ] + }, "lecture-understanding-abstraction": { "title": "Understanding Abstraction", "intro": ["Learn about Understanding Abstraction in these lessons."] diff --git a/client/i18n/locales/chinese/translations.json b/client/i18n/locales/chinese/translations.json index 174988dba43..d9ce898b57a 100644 --- a/client/i18n/locales/chinese/translations.json +++ b/client/i18n/locales/chinese/translations.json @@ -291,7 +291,7 @@ "reset-editor-layout": "重置编辑器布局", "shortcuts-explained": "在一项挑战中,按 ESC 键和问号可显示可用的快捷方式列表。", "username": { - "contains invalid characters": "用户名 \"{{username}}\" 含有无效字符", + "contains invalid characters": "Username \"{{username}}\" contains invalid characters. Use only alphanumeric values like 'camperbot', or 'camperbot123'.", "is too short": "用户名 \"{{username}}\" 太短", "is a reserved error code": "\"{{username}}\" 是错误代码,不可用作用户名", "must be lowercase": "用户名 \"{{username}}\" 必须是小写的", diff --git a/client/i18n/locales/espanol/intro.json b/client/i18n/locales/espanol/intro.json index 83072c349f0..f0675a345b0 100644 --- a/client/i18n/locales/espanol/intro.json +++ b/client/i18n/locales/espanol/intro.json @@ -1954,3402 +1954,6 @@ } } }, - "full-stack-developer": { - "title": "Plan de estudio de desarrollador certificado Full Stack", - "intro": [ - "Este curso ofrece un camino integral para convertirse en un desarrollador Full Stack certificado, cubriendo todas las tecnologías esenciales necesarias para crear aplicaciones web modernas y escalables de principio a fin.", - "A través de una combinación de lecciones interactivas, ejercicios de codificación y proyectos del mundo real, dominarás el desarrollo frontend y backend. Trabajarás con HTML, CSS y JavaScript para crear interfaces de usuario responsivas, explorarás React y TypeScript para aplicaciones web avanzadas y aprenderás a administrar datos con bases de datos relacionales. Y en el backend, usarás Git, Npm, Node.js y Python para crear soluciones potentes del lado del servidor.", - "Al finalizar este curso, tendrás las habilidades prácticas y la experiencia para desarrollar con confianza aplicaciones web completas, preparándote para una carrera exitosa como desarrollador Full Stack.", - "Esta certificación te tomará una cantidad considerable de tiempo y esfuerzo para completarla. Si comienzas ahora, podrías estar listo para iniciar el material restante y el examen final cuando lo lancemos en los próximos meses." - ], - "chapters": { - "html": "HTML", - "css": "CSS", - "javascript": "JavaScript", - "frontend-libraries": "Librerias Front End", - "relational-databases": "Bases de datos relacionales", - "backend-javascript": "JavaScript de back-end", - "python": "Python", - "career": "Carrera" - }, - "modules": { - "basic-html": "HTML básico", - "semantic-html": "Semántica de HTML", - "html-forms-and-tables": "Formularios y tablas", - "html-and-accessibility": "Accesibilidad", - "review-html": "Revisión de HTML", - "exam-html": "Examen de HTML", - "computer-basics": "Conceptos básicos de informática", - "basic-css": "CSS básico", - "design-for-developers": "Diseño", - "absolute-and-relative-units": "Unidades absolutas y relativas", - "pseudo-classes-and-elements": "Pseudoclases y elementos", - "css-colors": "Colores", - "styling-forms": "Formas de estilo", - "css-box-model": "El modelo de caja", - "css-flexbox": "Caja flexible", - "css-typography": "Tipografía", - "css-and-accessibility": "Accesibilidad", - "attribute-selectors": "Selector de atributos", - "css-positioning": "Posicionamiento", - "responsive-design": "Diseño responsivo", - "css-variables": "Variables", - "css-grid": "Gría", - "css-animations": "Animaciones", - "review-css": "Revisión de CSS", - "exam-css": "Examen de CSS", - "code-editors": "Editores de código", - "javascript-variables-and-strings": "Variables y cadenas", - "javascript-booleans-and-numbers": "Booleanos y números", - "javascript-functions": "Funciones", - "javascript-arrays": "Arreglos", - "javascript-objects": "Objetos", - "javascript-loops": "Bucles", - "review-javascript-fundamentals": "Repaso de los fundamentos de JavaScript", - "higher-order-functions-and-callbacks": "Funciones de orden superior y devoluciones de llamadas", - "dom-manipulation-and-events": "Manipulación y eventos del DOM", - "js-a11y": "JavaScript y Accesibilidad", - "debugging-javascript": "Depuración", - "basic-regex": "Regex básico", - "form-validation": "Validación de formulario", - "javascript-dates": "Datos", - "audio-and-video-events": "Eventos de audio y video", - "maps-and-sets": "Mapas y conjuntos", - "localstorage-and-crud-operations": "operaciones CRUD y de almacenamiento local", - "classes-and-the-this-keyword": "Clases", - "recursion": "Recursión", - "functional-programming": "Programación funcional", - "asynchronous-javascript": "JavaScript asincrónico", - "review-javascript": "Revisión de JavaScript", - "exam-javascript": "Examen de JavaScript", - "react-fundamentals": "Fundamentos de React", - "react-state-hooks-and-routing": "React Estado, ganchos y enrutamiento", - "performance": "Actuación", - "testing": "Pruebas", - "css-libraries-and-frameworks": "Bibliotecas y Frameworks CSS", - "data-visualization": "Visualización de Datos y D3", - "typescript-fundamentals": "Fundamentos de TypeScript", - "review-front-end-libraries": "Revisión de bibliotecas Front End", - "exam-front-end-libraries": "Examen de bibliotecas Front End", - "python-basics": "Conceptos Básicos de Python", - "python-loops-and-sequences": "Bucles y Secuencias", - "python-dictionaries-and-sets": "Diccionarios y Conjuntos", - "python-error-handling": "Manejo de Errores", - "python-classes-and-objects": "Clases y objetos", - "python-object-oriented-programming": "Programación Orientada a Objetos (OOP)", - "python-linear-data-structures": "Estructuras de datos lineales", - "python-algorithms": "Algoritmos", - "python-graphs-and-trees": "Gráficas y Árboles", - "python-dynamic-programming": "Programación Dinámica", - "review-python": "Revisión de Python", - "exam-python": "Examen de Python", - "bash-fundamentals": "Fundamentos de Bash", - "sql-and-postgresql": "SQL y PostgreSQL", - "bash-scripting": "Scripting en Bash", - "sql-and-bash": "SQL y Bash", - "git": "Git", - "review-relational-databases": "Revisión de Bases de Datos Relacionales", - "exam-relational-databases": "Examen de Bases de Datos Relacionales", - "nodejs-core-libraries": "Bibliotecas Core de Node.js", - "node-package-manager": "Nodo Package Manager", - "http-and-the-web-standards-model": "HTTP y el Modelo de Estándares Web", - "rest-api-and-web-services": "REST API y Servicios Web", - "introduction-to-express": "Introducción a Express", - "express-middleware": "Middleware de Express", - "error-handling-in-express": "Manejo de Errores en Express", - "websockets": "WebSockets", - "node-and-sql": "Node y SQL", - "security-and-privacy": "Seguridad y Privacidad", - "authentication": "Autenticación", - "tooling-and-deployment": "Herramientas de Implementación", - "how-to-get-a-developer-job": "Cómo obtener un trabajo como desarrollador", - "capstone-project": "Proyecto Final", - "certified-full-stack-developer-exam": "Examen de Desarrollador Full Stack Certificado" - }, - "module-intros": { - "data-visualization": { - "note": "Próximamente en invierno de 2025", - "intro": [ - "En este módulo, serás introducido a la visualización de datos y aprenderás cómo trabajar con la librería D3." - ] - }, - "typescript-fundamentals": { - "note": "Próximamente en otoño de 2025", - "intro": [ - "En este módulo, serás introducido a TypeScript, que es un superconjunto de JavaScript que te permite agregar tipado estático a tu código JavaScript. Construirás varios talleres y laboratorios que te darán práctica trabajando con genéricos, ajuste de tipos, TSX, y más. Luego, pondrás a prueba tus conocimientos sobre los fundamentos de TypeScript con un breve cuestionario." - ] - }, - "python-classes-and-objects": { - "note": "Próximamente en invierno de 2025", - "intro": [ - "En este módulo, aprenderás cómo trabajar con clases, métodos, atributos y propiedades. Luego, construirás talleres y laboratorios para practicar estos conceptos y tomar un breve cuestionario para probar tus conocimientos." - ] - }, - "python-object-oriented-programming": { - "note": "Próximamente en invierno de 2025", - "intro": [ - "En este módulo, aprenderás sobre conceptos de programación orientada a objetos como encapsulación, herencia, polimorfismo, y más. Construirás talleres y laboratorios para practicar estos conceptos y tomar un breve cuestionario para probar tus conocimientos." - ] - }, - "python-linear-data-structures": { - "note": "Próximamente en invierno de 2025", - "intro": [ - "En este módulo, aprenderás sobre estructuras de datos incluyendo pilas, colas, listas enlazadas, y más. Construirás un taller y un laboratorio para practicar estos conceptos y tomar un breve cuestionario para probar tus conocimientos." - ] - }, - "python-algorithms": { - "note": "Próximamente en invierno de 2025", - "intro": [ - "En este módulo, aprenderás sobre algoritmos comunes incluyendo búsqueda binaria, mezcla y ordenación, ordenación por selección, y más. Construirás talleres y laboratorios para practicar estos conceptos y tomar un breve cuestionario para probar tus conocimientos." - ] - }, - "python-graphs-and-trees": { - "note": "Próximamente en invierno de 2025", - "intro": [ - "En este módulo, aprenderás sobre gráficos en ciencias de la computación así como listas de adyacencia, árboles, tries, y más. Construirás talleres y laboratorios para practicar estos conceptos y tomar un breve cuestionario para probar tus conocimientos." - ] - }, - "python-dynamic-programming": { - "note": "Próximamente en invierno de 2025", - "intro": [ - "En este módulo, aprenderás sobre programación dinámica y practicarás estos conceptos construyendo un laboratorio de secuencia de Fibonacci. Luego tomarás un breve cuestionario para probar tus conocimientos." - ] - }, - "bash-fundamentals": { - "note": "Próximamente en invierno de 2025", - "intro": [ - "En este módulo, aprenderás sobre la línea de comandos y comandos comunes de Bash. Luego practicarás tus habilidades con un taller y tomarás un breve cuestionario para probar tus conocimientos." - ] - }, - "sql-and-postgresql": { - "note": "Próximamente en invierno de 2025", - "intro": [ - "En este módulo, aprenderás a trabajar con bases de datos relacionales que almacenan datos como colecciones en tablas. Algunos de los conceptos que aprenderás incluyen insertar y ver datos de tablas, claves primarias y externas en SQL, y más. Luego construirás un taller y un laboratorio para practicar estos conceptos y tomar un breve cuestionario para poner a prueba tus conocimientos." - ] - }, - "bash-scripting": { - "note": "Próximamente en invierno de 2025", - "intro": [ - "En este módulo, aprenderás sobre scripting en bash y practicarás esas habilidades construyendo cinco programas. Luego podrás probar tus conocimientos de estos conceptos tomando un breve cuestionario." - ] - }, - "sql-and-bash": { - "note": "Próximamente en invierno de 2025", - "intro": [ - "En este módulo, aprenderás sobre normalización, inyección SQL, y el problema N+1. Luego podrás practicar trabajando con SQL y Bash construyendo varios talleres y laboratorios. Podrás probar tus conocimientos de estos conceptos tomando un breve cuestionario." - ] - }, - "git": { - "note": "Próximamente en invierno de 2025", - "intro": [ - "En este módulo, aprenderás cómo usar Git, Nano, y GitHub. Luego podrás practicar trabajando con Git construyendo varios talleres y laboratorios. Podrás probar tus conocimientos de estos conceptos tomando un breve cuestionario." - ] - }, - "introduction-to-nodejs": { - "note": "Próximamente a finales de 2026", - "intro": [ - "En este módulo, serás introducido a Node.js, que es un entorno de ejecución JavaScript que te permite construir aplicaciones backend usando JavaScript. Podrás practicar conceptos fundamentales construyendo un pequeño taller y probar tus conocimientos con un breve cuestionario." - ] - }, - "nodejs-core-libraries": { - "note": "Próximamente a finales de 2026", - "intro": [ - "En este módulo, aprenderás sobre bibliotecas core comunes de Node.js incluyendo fs, os, path y más. Luego podrás practicar lo que has aprendido a través de talleres y laboratorios y probar tus conocimientos a través de un breve cuestionario." - ] - }, - "node-package-manager": { - "note": "Próximamente a finales de 2026", - "intro": [ - "En este módulo, serás introducido al Node Package Manager, que los desarrolladores usan para gestionar dependencias y scripts de proyectos. Luego podrás practicar lo que has aprendido a través de talleres y laboratorios y probar tus conocimientos con un breve cuestionario." - ] - }, - "http-and-the-web-standards-model": { - "note": "Próximamente a finales de 2026", - "intro": [ - "En este módulo, aprenderás sobre HTTP (Protocolo de Transferencia de Hipertexto) y otros conceptos importantes incluyendo el modelo de request-response, códigos de respuesta comunes, DNS, TCP/IP, y más. Luego podrás practicar lo que has aprendido a través de un taller para construir tu propio servidor web y probar tus conocimientos con un breve cuestionario." - ] - }, - "rest-api-and-web-services": { - "note": "Próximamente a finales de 2026", - "intro": [ - "En este módulo, aprenderás sobre la API REST (Interfaz de Programación de Aplicaciones de Transferencia de Estado Representacional) y cómo funcionan los microservicios. Luego tomarás un breve cuestionario para probar tus conocimientos." - ] - }, - "introduction-to-express": { - "note": "Próximamente a finales de 2026", - "intro": [ - "En este módulo, serás introducido a Express.js, que es un framework usado para construir APIs RESTful. Luego practicarás tus habilidades a través de talleres y laboratorios y probarás tus conocimientos con un breve cuestionario." - ] - }, - "express-middleware": { - "note": "Próximamente a finales de 2026", - "intro": [ - "En este módulo, aprenderás sobre middleware en Express.js, que se utiliza para manejar requests y responses entre el cliente y el servidor. Luego practicarás tus habilidades a través de un taller y laboratorio y probarás tus conocimientos con un breve cuestionario." - ] - }, - "error-handling-in-express": { - "note": "Próximamente a finales de 2026", - "intro": [ - "En este módulo, aprenderás sobre cómo funcionan el manejo de errores, la depuración y las comprobaciones de salud en Express.js. Luego practicarás lo que has aprendido en un laboratorio y probarás tus conocimientos con un breve cuestionario." - ] - }, - "websockets": { - "note": "Próximamente a finales de 2026", - "intro": [ - "En este módulo, serás introducido a los websockets, que es un protocolo utilizado para la comunicación en tiempo real con el cliente y el servidor. Luego practicarás lo que has aprendido en laboratorios y talleres y probarás tus conocimientos con un breve cuestionario." - ] - }, - "node-and-sql": { - "note": "Próximamente a finales de 2026", - "intro": [ - "En este módulo, practicarás la construcción de aplicaciones con Node y SQL. Luego tomarás un breve cuestionario para probar tus conocimientos." - ] - }, - "security-and-privacy": { - "note": "Próximamente a finales de 2026", - "intro": [ - "En este módulo, aprenderás sobre las diferencias entre seguridad y privacidad, así como otros conceptos incluyendo CSPs, Políticas de Permisos, PII, trabajando con CORS, y más. Luego tomarás un breve cuestionario para probar tus conocimientos." - ] - }, - "authentication": { - "note": "Próximamente a finales de 2026", - "intro": [ - "En este módulo, aprenderás sobre cómo funciona la autenticación en aplicaciones web junto con otros conceptos importantes, incluyendo JWTs, CSRFs, Passport, Helmet, criptografía y encriptación, y más. Luego practicarás lo que has aprendido en laboratorios y talleres y probarás tus conocimientos con un breve cuestionario." - ] - }, - "tooling-and-deployment": { - "note": "Próximamente a finales de 2026", - "intro": [ - "En este módulo, aprenderás sobre herramientas comunes utilizadas en la industria para implementar tus aplicaciones full stack. Luego tomarás un breve cuestionario para probar tus conocimientos." - ] - }, - "how-to-get-a-developer-job": { - "note": "Próximamente a finales de 2026", - "intro": [ - "En este módulo, Quincy Larson (Fundador y profesor de freeCodeCamp) hablará sobre estrategias que puedes utilizar para prepararte para conseguir un trabajo de desarrollador. Quincy cubrirá temas clave incluyen currículums, portafolios, investigar el mercado, prepararse para entrevistas técnicas, y más." - ] - }, - "capstone-project": { - "note": "Próximamente a finales de 2026", - "intro": [ - "Esta será tu oportunidad para construir una aplicación full stack que abarque lo que has aprendido a lo largo de esta certificación." - ] - }, - "certified-full-stack-developer-exam": { - "note": "Próximamente a finales de 2026", - "intro": [ - "Este será un examen de 90 preguntas que evaluará lo que has aprendido a lo largo de esta certificación." - ] - } - }, - "blocks": { - "workshop-curriculum-outline": { - "title": "Construir un Esquema Curricular", - "intro": [ - "¡Bienvenid@ a freeCodeCamp!", - "Este taller servirá como tu introducción a HTML y la programación en general. Aprenderás sobre elementos de títulos y párrafos." - ] - }, - "lab-debug-camperbots-profile-page": { - "title": "Depurar la Página de Perfil de Camperbot", - "intro": [ - "Camperbot también está aprendiendo a programar y necesita algo de ayuda con su HTML.", - "En este laboratorio, ayudarás a Camperbot a encontrar y corregir los errores en su código." - ] - }, - "lecture-understanding-html-attributes": { - "title": "Entendiendo los Atributos de HTML", - "intro": [ - "En estas lecciones, aprenderás más sobre HTML (Lenguaje de Marcado de Hipertexto), un lenguaje de marcado para crear páginas web.", - "Aprenderás sobre el papel del HTML en la web y qué son los atributos de HTML." - ] - }, - "lab-debug-pet-adoption-page": { - "title": "Depurar una Página de Adopción de Mascotas", - "intro": [ - "En este laboratorio, necesitarás encontrar y corregir los errores en esta página de adopción de mascotas." - ] - }, - "lecture-understanding-the-html-boilerplate": { - "title": "Entendiendo el HTML Boilerplate", - "intro": [ - "En estas lecciones, aprenderás sobre la plantilla HTML que es una plantilla lista para usar para tus páginas web.", - "Aprenderás a trabajar con el elemento link, el elemento meta y más." - ] - }, - "workshop-cat-photo-app": { - "title": "Crea una aplicación para tomar fotografías de gatos", - "intro": [ - "HTML significa lenguaje de marcado de hipertexto y representa el contenido y la estructura de una página web.", - "En este taller, aprenderá a trabajar con elementos HTML básicos como encabezados, párrafos, imágenes, enlaces y listas." - ] - }, - "lab-recipe-page": { - "title": "Crea una página de recetas", - "intro": [ - "En este laboratorio, revisará los conceptos básicos de HTML creando una página web de su receta favorita. Creará un código HTML estándar y trabajará con encabezados, listas, imágenes y más." - ] - }, - "lecture-html-fundamentals": { - "title": "Fundamentos de HTML", - "intro": [ - "En estas lecciones, aprenderás sobre los fundamentos de HTML, como el elemento div, los atributos id y class, la plantilla HTML, las entidades HTML y más." - ] - }, - "workshop-bookstore-page": { - "title": "Construir una página de librería.", - "intro": [ - "En este taller, practicarás trabajando con clases, identificadores y el elemento div mediante la construcción de una página de librería." - ] - }, - "lecture-understanding-how-html-affects-seo": { - "title": "Entendiendo Cómo HTML Afecta al SEO.", - "intro": [ - "En estas lecciones, aprenderás cómo tu código HTML impacta en la optimización para motores de búsqueda." - ] - }, - "lab-travel-agency-page": { - "title": "Crea una página de agencia de viajes", - "intro": [ - "En estos videos de lecciones, aprenderá sobre los fundamentos de HTML, como el elemento div, los atributos id y class, el código HTML, las entidades HTML y más." - ] - }, - "lecture-working-with-audio-and-video-elements": { - "title": "Trabajando con Elementos de Audio y Video", - "intro": [ - "En estas lecciones, aprenderás cómo trabajar con los elementos audio y video." - ] - }, - "lab-html-audio-and-video-player": { - "title": "Construir un Reproductor de Audio y Video en HTML", - "intro": [ - "En este laboratorio, construirás un reproductor de audio y video en HTML utilizando los elementos video y audio con controles y atributos fuente." - ] - }, - "lecture-working-with-images-and-svgs": { - "title": "Trabajando con Imágenes y SVGs", - "intro": [ - "En estas lecciones, aprenderás a trabajar con SVGs y sobre técnicas para optimizar tus imágenes." - ] - }, - "workshop-build-a-heart-icon": { - "title": "Construir un Ícono de Corazón", - "intro": [ - "En este taller, practicarás trabajando con SVGs construyendo un ícono de corazón" - ] - }, - "lecture-working-with-media": { - "title": "Trabajando con el Elemento iframe", - "intro": [ - "En estas lecciones, aprenderás a trabajar con el elemento iframe, que se utiliza para insertar un sitio externo en tu página web." - ] - }, - "workshop-build-a-video-display-using-iframe": { - "title": "Construir una Visualización de Video Usando iframe.", - "intro": [ - "En este taller, aprenderás a trabajar con el elemento iframe creando una visualización de video." - ] - }, - "lab-video-compilation-page": { - "title": "Crea una página de compilación de videos", - "intro": [ - "En este laboratorio, creará una página web de compilación de videos. Practicará el trabajo con el elemento iframe." - ] - }, - "lecture-working-with-links": { - "title": "Trabajar con enlaces", - "intro": [ - "En estas lecciones, aprenderás sobre enlaces, el atributo target, diferentes estados de enlace, rutas absolutas y relativas, y más." - ] - }, - "review-basic-html": { - "title": "Revisión básica de HTML", - "intro": [ - "Antes de que le evalúen sobre los conocimientos de HTML que ha adquirido hasta ahora, primero debe repasar los conceptos.", - "Abra esta página para revisar el código HTML, los elementos audio y video, los diferentes valores del atributo target y más." - ] - }, - "quiz-basic-html": { - "title": "Cuestionario básico de HTML", - "intro": [ - "El siguiente cuestionario pondrá a prueba tus conocimientos de los conceptos básicos de HTML que has aprendido hasta ahora.", - "Si te estás preparando para el examen, hay varios conjuntos de cuestionarios disponibles para practicar. Después de completar un cuestionario, puedes volver a esta página para acceder a un nuevo conjunto de preguntas." - ] - }, - "lecture-importance-of-semantic-html": { - "title": "Importancia del HTML semántico", - "intro": [ - "En estas lecciones, aprenderás sobre HTML semántico y por qué debería importarte, elementos semánticos, cómo el HTML semántico difiere del HTML de presentación, y más." - ] - }, - "lecture-understanding-nuanced-semantic-elements": { - "title": "Entendiendo Elementos Semánticos Sutiles", - "intro": [ - "En estas lecciones, aprenderás cuándo debes usar ciertos elementos semánticos como el elemento em sobre el elemento i, listas de descripciones y más." - ] - }, - "workshop-major-browsers-list": { - "title": "Cree una lista de navegadores web importantes.", - "intro": [ - "En este taller, construirás una lista de descripción y trabajarás con los elementos dl, dt, y dd." - ] - }, - "lecture-working-with-text-and-time-semantic-elements": { - "title": "Trabajando con Elementos Semánticos de Texto y Tiempo", - "intro": [ - "En esta lección, aprenderás sobre la importancia de la semántica en la transmisión de significado para contenido de texto y relacionado con el tiempo, incluidos los elementos time, blockquote y más." - ] - }, - "workshop-quincys-job-tips": { - "title": "Crea la página de consejos de empleo de Quincy.", - "intro": [ - "En este taller, practicarás trabajando con HTML semántico utilizando los elementos q, blockquote y cite." - ] - }, - "lecture-working-with-specialized-semantic-elements": { - "title": "Trabajando con Elementos Semánticos Especializados", - "intro": [ - "En esta lección, aprenderás sobre elementos semánticos especializados como los elementos u, s, code y más." - ] - }, - "workshop-blog-page": { - "title": "Crea una página de blog sobre gatos", - "intro": [ - "En este taller, creará una página de blog solo en HTML utilizando elementos semánticos, incluidos los elementos main, nav, article y footer." - ] - }, - "lab-event-hub": { - "title": "Construya un centro de eventos", - "intro": [ - "En este laboratorio, creará un centro de eventos y revisará elementos semánticos como header, nav, article y más." - ] - }, - "review-semantic-html": { - "title": "Revisión de HTML semántico", - "intro": [ - "Antes de que te evaluen sobre HTML semántico, primero debes repasar los conceptos.", - "Abra esta página para revisar em, strong, blockquote, address y más elementos HTML semánticos." - ] - }, - "quiz-semantic-html": { - "title": "Cuestionario de HTML semántico", - "intro": [ - "El siguiente cuestionario pondrá a prueba tus conocimientos sobre los conceptos semánticos de HTML que has aprendido hasta ahora.", - "Si te estás preparando para el examen, hay varios conjuntos de cuestionarios disponibles para practicar. Después de completar un cuestionario, puedes volver a esta página para acceder a un nuevo conjunto de preguntas." - ] - }, - "lecture-working-with-forms": { - "title": "Trabajar con formularios", - "intro": [ - "En estas lecciones, aprenderás sobre formularios, el papel de las etiquetas, entradas y botones en la creación de formularios, la validación de formularios del lado del cliente y los estados de formularios." - ] - }, - "workshop-hotel-feedback-form": { - "title": "Cree un formulario de comentarios sobre el hotel", - "intro": [ - "En este taller, creará un formulario de comentarios del hotel.", - "Practicarás el trabajo con etiquetas, entradas, conjuntos de campos, leyendas, áreas de texto y botones." - ] - }, - "lab-survey-form": { - "title": "Crear un formulario de encuesta", - "intro": [ - "En este laboratorio, revisará formularios HTML creando un formulario de encuesta.", - "Practicarás el trabajo con el elemento label, los diferentes elementos input, el atributo required y más. " - ] - }, - "lecture-working-with-tables": { - "title": "Trabajar con tablas", - "intro": [ - "En estas lecciones, aprenderás sobre tablas HTML, cómo crearlas y cuándo usarlas." - ] - }, - "workshop-final-exams-table": { - "title": "Construir una mesa de exámenes finales", - "intro": [ - "En este taller practicarás el trabajo con tablas HTML construyendo una tabla de exámenes finales." - ] - }, - "lab-book-catalog-table": { - "title": "Construir una tabla de catálogo de libros", - "intro": [ - "En este laboratorio, revisará las tablas HTML creando una tabla de información de libros.", - "Practicarás los diferentes componentes de la tabla, como los elementos thead, tbody, th, tr y td." - ] - }, - "lecture-working-with-html-tools": { - "title": "Trabajar con herramientas HTML", - "intro": [ - "En estas lecciones, aprenderás sobre las herramientas HTML y cómo te permiten escribir mejor código. Estas herramientas incluyen validadores HTML, Inspector DOM y herramientas de desarrollador del navegador." - ] - }, - "review-html-tables-and-forms": { - "title": "Revisión de tablas y formularios HTML", - "intro": [ - "Antes de que le pregunten sobre formularios, tablas y herramientas HTML, primero debe repasar los conceptos.", - "Abra esta página para revisar los elementos table, input y button, así como herramientas de uso común como el validador HTML y más." - ] - }, - "quiz-html-tables-and-forms": { - "title": "Cuestionario sobre tablas y formularios HTML", - "intro": [ - "El siguiente cuestionario pondrá a prueba sus conocimientos sobre tablas HTML, formularios y herramientas HTML de uso común.", - "Si te estás preparando para el examen, hay varios conjuntos de cuestionarios disponibles para practicar. Después de completar un cuestionario, puedes volver a esta página para acceder a un nuevo conjunto de preguntas." - ] - }, - "lecture-importance-of-accessibility-and-good-html-structure": { - "title": "Importancia de la accesibilidad y una buena estructura HTML", - "intro": [ - "En estas lecciones, aprenderás sobre accesibilidad y su importancia, herramientas asistivas para personas con discapacidades, atributos HTML que te permiten crear sitios web inclusivos, mejores prácticas de accesibilidad y mucho más." - ] - }, - "workshop-debug-coding-journey-blog-page": { - "title": "Depurar una Página de Blog de Viaje de Codificación.", - "intro": [ - "En este taller, depurarás y corregirás errores de accesibilidad en una página de blog de codificación." - ] - }, - "lecture-accessible-tables-forms": { - "title": "Trabajando con Tablas y Formularios Accesibles", - "intro": [ - "En estas lecciones, aprenderás a crear tablas y formularios accesibles." - ] - }, - "workshop-tech-conference-schedule": { - "title": "Construir una Tabla de Horarios para una Conferencia Tecnológica", - "intro": [ - "En este taller, construirás una tabla de horarios accesible para una conferencia tecnológica." - ] - }, - "lecture-introduction-to-aria": { - "title": "Introducción a ARIA", - "intro": ["En estas lecciones, aprenderás a trabajar con roles ARIA."] - }, - "workshop-accessible-audio-controller": { - "title": "Cree un control de audio accesible.", - "intro": [ - "En este taller, practicarás HTML accesible construyendo un control de audio que utilice el atributo aria-labelledby." - ] - }, - "lecture-accessible-media-elements": { - "title": "Trabajando con Elementos de Medios Accesibles", - "intro": [ - "En estas lecciones, aprenderás a crear enlaces accesibles, contenido de audio y video." - ] - }, - "lab-checkout-page": { - "title": "Crear una página de pago", - "intro": [ - "En este laboratorio, creará una página de pago accesible.", - "Practicarás conceptos como los atributos alt y los roles ARIA." - ] - }, - "lab-movie-review-page": { - "title": "Diseñar una Página de Reseñas de Películas", - "intro": [ - "En este laboratorio, crearás una página de reseña de películas.", - "Practicarás conceptos como HTML semántico, atributos alt, listas accesibles y ocultar contenido decorativo de lectores de pantalla usando aria-hidden." - ] - }, - "lab-multimedia-player": { - "title": "Construir un reproductor multimedia", - "intro": [ - "En este laboratorio, construirás un reproductor multimedia.", - "Practicarás trabajar con los elementos audio y video, el atributo controls y el atributo aria-label." - ] - }, - "review-html-accessibility": { - "title": "Revisión de accesibilidad HTML", - "intro": [ - "Antes de que te examinen sobre HTML y accesibilidad, primero debes repasar los conceptos.", - "Abra esta página para revisar conceptos, incluidos los atributos aria-hidden, aria-describedby, tabindex y más." - ] - }, - "quiz-html-accessibility": { - "title": "Cuestionario de accesibilidad HTML", - "intro": [ - "El siguiente cuestionario pondrá a prueba tus conocimientos sobre los conceptos de accesibilidad que has aprendido hasta ahora.", - "Si te estás preparando para el examen, hay varios conjuntos de cuestionarios disponibles para practicar. Después de completar un cuestionario, puedes volver a esta página para acceder a un nuevo conjunto de preguntas." - ] - }, - "review-html": { - "title": "Revisión de HTML", - "intro": [ - "Antes de tomar el examen de preparación de HTML, primero debes revisar los conceptos enseñados en los módulos anteriores.", - "Abra esta página para revisar conceptos sobre los conceptos básicos de elementos HTML, HTML semántico, tablas, formularios y accesibilidad." - ] - }, - "qpra": { - "title": "30", - "intro": [] - }, - "lecture-understanding-computer-internet-and-tooling-basics": { - "title": "Comprensión de los conceptos básicos de computadoras, Internet y herramientas", - "intro": [ - "En estas lecciones, aprenderás sobre la computadora, sus diferentes partes, proveedores de servicios de Internet (ISP) y las herramientas que usan los desarrolladores profesionales." - ] - }, - "lecture-working-with-file-systems": { - "title": "Trabajar con sistemas de archivos", - "intro": [ - "En estas lecciones, aprenderás cómo trabajar con sistemas de archivos y carpetas en tus computadoras. Aprenderás cómo crear, mover y eliminar archivos y carpetas, las mejores prácticas para nombrar y organizar archivos y carpetas, y más." - ] - }, - "lecture-browsing-the-web-effectively": { - "title": "Navegar por la Web de manera eficaz", - "intro": [ - "En estas lecciones, aprenderás sobre qué son los sitios web, los motores de búsqueda y los navegadores web, los diferentes navegadores disponibles y cómo sacar el máximo provecho de un motor de búsqueda." - ] - }, - "review-computer-basics": { - "title": "Repaso de conceptos básicos de informática", - "intro": [ - "Antes de que le hagan una prueba sobre conceptos básicos de computadoras e Internet, primero debe repasar", - "Abra esta página para revisar conceptos como RAM, proveedores de servicios de Internet, navegadores web comunes, motores de búsqueda y más." - ] - }, - "quiz-computer-basics": { - "title": "Cuestionario sobre conceptos básicos de informática", - "intro": [ - "Pon a prueba lo que has aprendido en este cuestionario de conocimientos básicos de informática." - ] - }, - "lecture-what-is-css": { - "title": "Que es CSS", - "intro": [ - "Las siguientes lecciones tratan sobre CSS. Aprenderás qué es CSS y su función en la web, una regla CSS y su anatomía, las tres maneras de escribir CSS y cuándo usar cada una, elementos en línea y en bloque, y muchos más." - ] - }, - "workshop-cafe-menu": { - "title": "Diseñar un menú de una cafetería", - "intro": [ - "CSS le dice al navegador cómo presentar tu página web. Puedes usar CSS para definir el color, fuente, tamaño, y otros aspectos de los elementos HTML.", - "En este taller, aprenderás CSS diseñando una página de un menú para una página web de una cafeteria." - ] - }, - "lab-business-card": { - "title": "Diseña una tarjeta de presentación", - "intro": [ - "En este laboratorio, creará una tarjeta de presentación y le dará estilo usando CSS.", - "Practicarás propiedades de estilo como color, font-size, text-align y más." - ] - }, - "lecture-css-specificity-the-cascade-algorithm-and-inheritance": { - "title": "Especificidad de CSS, algoritmo en cascada y herencia", - "intro": [ - "En estas lecciones, aprenderás sobre la especificidad de CSS, los selectores comunes y sus especificidades, el algoritmo en cascada, la herencia y más." - ] - }, - "review-basic-css": { - "title": "Revisión de fundamentos de CSS", - "intro": [ - "Antes de que te examinen sobre conceptos básicos de CSS, primero debes repasar.", - "Abra esta página para revisar conceptos que incluyen margin, padding, combinadores CSS, especificidad CSS y más." - ] - }, - "quiz-basic-css": { - "title": "Cuestionario sobre fundamentos de CSS", - "intro": [ - "Pon a prueba lo que has aprendido en este cuestionario de conocimientos básicos de CSS." - ] - }, - "lecture-styling-lists-and-links": { - "title": "Listas y enlaces de estilos", - "intro": [ - "En estas lecciones, aprenderás las propiedades que necesitas saber para diseñar listas y enlaces de manera efectiva, incluyendo estados de enlace como link, visited, hover y active." - ] - }, - "lab-stylized-to-do-list": { - "title": "Crea una lista de tareas estilizada", - "intro": [ - "En este laboratorio, creará una lista de tareas pendientes y aplicará diferentes estilos a los enlaces", - "Practicarás propiedades de estilo como text-decoration, list-style-type y cómo cambiar estilos al pasar el mouse o hacer clic." - ] - }, - "lecture-working-with-backgrounds-and-borders": { - "title": "Trabajar con fondos y bordes", - "intro": [ - "En estas lecciones, aprenderás sobre las propiedades y valores que necesitas conocer para diseñar los fondos y bordes de los elementos, junto con las consideraciones de accesibilidad para los fondos." - ] - }, - "lab-blog-post-card": { - "title": "Diseña una tarjeta para una publicación de blog", - "intro": [ - "En este laboratorio, diseñará una tarjeta de publicación de blog utilizando HTML y CSS", - "Practicarás conceptos como background-color, border-radius, márgenes, rellenos y más." - ] - }, - "review-css-backgrounds-and-borders": { - "title": "Revisión de listas, enlaces, fondos CSS y bordes", - "intro": [ - "Antes de que te pregunten sobre fondos y bordes CSS, primero debes repasar.", - "Abra esta página para revisar conceptos, incluida la propiedad background-image, la propiedad border y más." - ] - }, - "quiz-css-backgrounds-and-borders": { - "title": "Cuestionario sobre fondos y bordes CSS", - "intro": [ - "Pon a prueba lo que has aprendido en este cuestionario sobre fondos y bordes en CSS." - ] - }, - "lecture-user-interface-design-fundamentals": { - "title": "Fundamentos del diseño de la interfaz de usuario", - "intro": [ - "En estas lecciones, aprenderás sobre los fundamentos del diseño de interfaces de usuario (UI). Aprenderás sobre los términos que necesitas conocer para comunicarte con los diseñadores, jerarquía visual, escalado, alineación, espacio en blanco y mucho más." - ] - }, - "lecture-user-centered-design": { - "title": "Diseño centrado en el usuario", - "intro": [ - "En estas lecciones, aprenderás sobre las mejores prácticas para diseñar funciones orientadas al usuario, como el modo oscuro, las migas de pan, los cuadros de diálogo modales y mucho más. También aprenderás a realizar investigaciones de usuarios, requisitos de usuarios y pruebas." - ] - }, - "lecture-common-design-tools": { - "title": "Herramientas de diseño comunes", - "intro": [ - "En estas lecciones, aprenderás sobre las herramientas de diseño comunes que los desarrolladores deben conocer. También aprenderás sobre los briefs de diseño y cómo los desarrolladores trabajan con ellos." - ] - }, - "review-design-fundamentals": { - "title": "Revisión de los fundamentos del diseño", - "intro": [ - "Antes de que te cuestionen sobre los conceptos básicos de diseño que has aprendido hasta ahora, primero debes repasarlos.", - "Abra esta página para revisar conceptos como diseño centrado en el usuario, escala, alineación, buena jerarquía visual y más." - ] - }, - "quiz-design-fundamentals": { - "title": "Cuestionario sobre los fundamentos del diseño", - "intro": [ - "Pon a prueba lo que has aprendido en este cuestionario sobre los fundamentos del diseño de UI." - ] - }, - "lecture-working-with-relative-and-absolute-units": { - "title": "Trabajar con unidades relativas y absolutas", - "intro": [ - "En estas lecciones, aprenderás sobre las unidades relativas y absolutas, y cómo estas influyen en lo que ves en el navegador." - ] - }, - "lab-event-flyer-page": { - "title": "Crea una página de volante de evento", - "intro": [ - "En este laboratorio, creará una página de volante de evento.", - "Practicarás la alineación de elementos usando CSS absoluto y relativo." - ] - }, - "review-css-relative-and-absolute-units": { - "title": "Revisión de unidades relativas y absolutas de CSS", - "intro": [ - "Antes de que te examinen sobre unidades relativas y absolutas, primero debes repasar.", - "Abra esta página para revisar conceptos como porcentajes, px, rem, em y más." - ] - }, - "quiz-css-relative-and-absolute-units": { - "title": "Cuestionario sobre unidades relativas y absolutas de CSS", - "intro": [ - "Pon a prueba lo que has aprendido en este cuestionario de unidades relativas y absolutas en CSS." - ] - }, - "lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": { - "title": "Trabajar con pseudoclases y pseudoelementos en CSS", - "intro": [ - "En estas lecciones, aprenderás sobre pseudoclases y pseudoelementos, junto con sus ejemplos y cómo funcionan." - ] - }, - "workshop-greeting-card": { - "title": "Diseña una tarjeta de felicitación", - "intro": [ - "En las lecciones anteriores, aprendiste a trabajar con los diferentes tipos de pseudoclases.", - "En este taller tendrás la oportunidad de practicar lo aprendido diseñando una tarjeta de felicitación." - ] - }, - "lab-job-application-form": { - "title": "Crear un formulario de solicitud de empleo", - "intro": [ - "En este laboratorio, creará un formulario de solicitud de empleo y le dará estilo utilizando pseudoclases.", - "Practicarás conceptos como :hover, :active, :focus y más." - ] - }, - "review-css-pseudo-classes": { - "title": "Revisión de pseudoclases CSS", - "intro": [ - "Antes de que te pregunten sobre las pseudoclases y pseudoelementos CSS, debes repasar lo que has aprendido sobre ellos.", - "Abra esta página para revisar conceptos como los pseudoelementos ::before y ::after, así como las pseudoclases :hover, :active y más." - ] - }, - "quiz-css-pseudo-classes": { - "title": "Cuestionario sobre pseudoclases CSS", - "intro": [ - "Pon a prueba tus conocimientos sobre las pseudoclases CSS con este cuestionario." - ] - }, - "lecture-working-with-colors-in-css": { - "title": "Trabajar con colores en CSS", - "intro": [ - "En estas lecciones, aprenderás sobre gradientes lineales y radiales, la teoría del color, diferentes tipos de colores como los colores con nombre, RGB, Hex y HSL. Aprenderás cómo funcionan estos colores y cuáles usar en casos específicos." - ] - }, - "workshop-colored-markers": { - "title": "Construye un conjunto de marcadores de colores", - "intro": [ - "En este taller, crearás un conjunto de marcadores de colores. Practicarás distintas formas de establecer valores de color y cómo combinar colores entre sí." - ] - }, - "lab-colored-boxes": { - "title": "Diseñar un conjunto de cajas de colores", - "intro": [ - "En este laboratorio, creará una cuadrícula de colores y practicará cómo agregar colores de fondo a los elementos de la cuadrícula usando códigos hexadecimales, RGB y nombres de colores predefinidos." - ] - }, - "review-css-colors": { - "title": "Revisión de colores CSS", - "intro": [ - "Antes de que te pregunten sobre los colores CSS, debes repasar lo que has aprendido sobre ellos.", - "Abra esta página para revisar conceptos como la función rgb(), la función hsl(), los códigos hexadecimales y más." - ] - }, - "quiz-css-colors": { - "title": "Cuestionario sobre colores CSS", - "intro": [ - "Pon a prueba tus conocimientos sobre los colores CSS con este cuestionario." - ] - }, - "lecture-best-practices-for-styling-forms": { - "title": "Mejores prácticas para aplicar estilo a los formularios", - "intro": [ - "En estas lecciones, aprenderás sobre las mejores prácticas para diseñar formularios y los problemas que puedes encontrar al diseñar entradas especiales como color y datetime-local." - ] - }, - "workshop-registration-form": { - "title": "Diseñar un formulario de registro", - "intro": [ - "En este taller, aprenderá a diseñar formularios HTML mediante el diseño de una página de registro. Aprenderá a controlar qué tipos de datos pueden ingresar las personas en su formulario y algunas herramientas CSS nuevas para diseñar su página." - ] - }, - "lab-contact-form": { - "title": "Diseñar un formulario de contacto", - "intro": [ - "En este laboratorio, diseñará un formulario de contacto en HTML y le dará estilo usando CSS." - ] - }, - "workshop-game-settings-panel": { - "title": "Construir un Panel de Configuración de Juego", - "intro": [ - "En este taller, practicarás el estilo de las cajas de verificación mediante la construcción de un panel de configuración del juego." - ] - }, - "lab-feature-selection": { - "title": "Diseñar una Página de Selección de Funciones", - "intro": [ - "En este laboratorio, construirás una página de selección de funciones con casillas de verificación personalizadas.", - "Crearás tarjetas de funciones con etiquetas y casillas de verificación, luego darás estilo personalizado a las casillas de verificación." - ] - }, - "review-styling-forms": { - "title": "Revisión de formas de estilismo", - "intro": [ - "Antes de que te pregunten sobre cómo diseñar formularios, debes repasar lo que has aprendido.", - "Abra esta página para revisar cómo diseñar entradas de formulario, trabajar con appearance: none y más." - ] - }, - "quiz-styling-forms": { - "title": "Cuestionario sobre formas de estilismo", - "intro": [ - "En este cuestionario, usted pondrá a prueba su conocimiento de cómo estilizar formularios." - ] - }, - "lecture-working-with-css-transforms-overflow-and-filters": { - "title": "Trabajando con transformaciones CSS, Overflow, y Filtros", - "intro": [ - "En estas lecciones, aprenderás a trabajar con transformaciones CSS, desbordamientos y filtros. También aprenderás sobre el modelo de caja y cómo funciona." - ] - }, - "workshop-rothko-painting": { - "title": "Diseña un cuadro de Rothko", - "intro": [ - "Cada elemento HTML es su propio cuadro, con su propio espacio y borde. Esto se denomina modelo de cuadro.", - "En este taller, utilizarás CSS y el modelo de caja para crear tus propias piezas de arte rectangulares estilo Rothko." - ] - }, - "lab-confidential-email-page": { - "title": "Cree una página de correo electrónico confidencial", - "intro": [ - "En este laboratorio, creará una página web utilizando HTML y enmascarará el contenido mediante propiedades CSS." - ] - }, - "review-css-layout-and-effects": { - "title": "Revisión de efectos y diseños CSS", - "intro": [ - "Antes de que te examinen sobre diseños y efectos CSS, primero debes repasar.", - "Abra esta página para revisar conceptos como la propiedad transform, el modelo de caja, la propiedad overflow y más." - ] - }, - "quiz-css-layout-and-effects": { - "title": "Cuestionario sobre efectos y diseño CSS", - "intro": [ - "En este cuestionario, pondrá a prueba sus conocimientos sobre el modelo de caja, las transformaciones, los filtros y el desbordamiento en CSS." - ] - }, - "lecture-working-with-css-flexbox": { - "title": "Trabajar con CSS Flexbox", - "intro": [ - "En estas lecciones, aprenderás cómo funciona CSS flexbox, sus propiedades y cuándo deberías usarlo." - ] - }, - "workshop-flexbox-photo-gallery": { - "title": "Crea una galería de fotos de Flexbox", - "intro": [ - "En este taller, utilizará Flexbox para crear una página web de galería de fotos responsiva." - ] - }, - "lab-page-of-playing-cards": { - "title": "Crea una página de naipes", - "intro": [ - "En este laboratorio, utilizará flexbox para crear una página web de naipes.", - "Practicarás la alineación de elementos usando propiedades de flexbox como flex-direction, justify-content, align-self y más." - ] - }, - "review-css-flexbox": { - "title": "Reseña de CSS Flexbox", - "intro": [ - "Antes de que te examinen sobre CSS flexbox, debes repasar lo que has aprendido.", - "Abra esta página para revisar conceptos como las propiedades flex-direction, justify-content, align-items, flex-wrap y más." - ] - }, - "quiz-css-flexbox": { - "title": "Cuestionario sobre CSS Flexbox", - "intro": [ - "Pon a prueba lo que has aprendido sobre CSS flexbox con este cuestionario." - ] - }, - "lecture-working-with-css-fonts": { - "title": "Trabajar con fuentes CSS", - "intro": [ - "En estas lecciones, aprenderás sobre tipografía y sus mejores prácticas, fuentes y la propiedad text-shadow." - ] - }, - "workshop-nutritional-label": { - "title": "Construir una etiqueta nutricional", - "intro": [ - "La tipografía es el arte de diseñar un texto para que sea fácilmente legible y se adapte a su propósito.", - "En este taller, utilizarás tipografía para crear una página web con etiquetas nutricionales. Practicarás cómo aplicar estilo al texto, ajustar la altura de las líneas y posicionar el texto con CSS." - ] - }, - "lab-newspaper-article": { - "title": "Crear un artículo de periódico", - "intro": [ - "En este laboratorio, creará una página de artículo de periódico utilizando HTML y CSS.", - "Diseñarás las fuentes usando propiedades como font-family, font-size, font-weight y más." - ] - }, - "review-css-typography": { - "title": "Revisión de tipografía CSS", - "intro": [ - "Antes de que te pregunten sobre los fundamentos de la tipografía, debes repasar lo que has aprendido.", - "Abra esta página para revisar conceptos como fuentes web seguras, la propiedad font-family y más" - ] - }, - "quiz-css-typography": { - "title": "Cuestionario de tipografía CSS", - "intro": ["Pon a prueba tus conocimientos de tipografía con este test"] - }, - "lecture-best-practices-for-accessibility-and-css": { - "title": "Mejores prácticas para la accesibilidad y CSS", - "intro": [ - "En estas lecciones, aprenderás sobre las mejores prácticas para la accesibilidad en CSS y las herramientas para verificar un buen contraste de color en los sitios web." - ] - }, - "workshop-accessibility-quiz": { - "title": "Crear una página web de cuestionario", - "intro": [ - "La accesibilidad es el proceso de hacer que sus páginas web sean utilizables para todos, incluidas las personas con discapacidades.", - "En este taller, crearás una página web de cuestionario. Aprenderás a usar herramientas de accesibilidad, como atajos de teclado, atributos ARIA y prácticas recomendadas de diseño." - ] - }, - "lab-tribute-page": { - "title": "Crea una página de homenaje", - "intro": [ - "En este laboratorio, crearás una página de homenaje a un tema de tu elección, ficticio o real." - ] - }, - "review-css-accessibility": { - "title": "Revisión de accesibilidad CSS", - "intro": [ - "Antes de que te examinen sobre CSS y accesibilidad, debes repasar lo que has aprendido.", - "Abra esta página para revisar conceptos como herramientas de contraste de color y mejores prácticas de accesibilidad." - ] - }, - "quiz-css-accessibility": { - "title": "Cuestionario de accesibilidad CSS", - "intro": [ - "En este cuestionario, pondrás a prueba lo que has aprendido sobre cómo hacer que tus páginas web sean accesibles con CSS." - ] - }, - "lecture-understanding-how-to-work-with-floats-and-positioning-in-css": { - "title": "Cómo trabajar con flotantes y posicionamiento en CSS", - "intro": [ - "En estas lecciones, aprenderás a usar el posicionamiento CSS y los flotantes. Aprenderás sobre el posicionamiento absolute, relative, fixed y sticky. También usarás la propiedad z-index." - ] - }, - "workshop-cat-painting": { - "title": "Construye un cuadro de gato", - "intro": [ - "Dominar el posicionamiento CSS es esencial para crear diseños web visualmente atractivos y responsivos.", - "En este taller, crearás una pintura de un gato. Aprenderás a trabajar con posicionamiento absoluto, la propiedad z-index y la propiedad transform." - ] - }, - "lab-house-painting": { - "title": "Construir una casa pintando", - "intro": [ - "En este laboratorio, crearás una pintura de casa usando CSS.", - "Diseñarás elementos individuales de la casa y los posicionarás usando propiedades CSS como position, top, left y más." - ] - }, - "review-css-positioning": { - "title": "Revisión del posicionamiento CSS", - "intro": [ - "Antes de que te pregunten sobre los conceptos básicos del posicionamiento CSS, debes repasar lo que has aprendido.", - "Abra esta página para revisar conceptos como flotadores, posicionamiento relativo, posicionamiento absoluto y más." - ] - }, - "quiz-css-positioning": { - "title": "Cuestionario de posicionamiento CSS", - "intro": [ - "Pon a prueba tus conocimientos sobre posicionamiento CSS con este cuestionario." - ] - }, - "lecture-working-with-attribute-selectors": { - "title": "Trabajar con selectores de atributos", - "intro": [ - "En estas lecciones, aprenderás sobre los selectores de atributos y cómo usarlos para orientar elementos como enlaces y listas." - ] - }, - "workshop-balance-sheet": { - "title": "Construir un balance general", - "intro": [ - "En este taller, crearás un balance general utilizando pseudoselectores. Aprenderás a cambiar el estilo de un elemento cuando pasas el mouse sobre él y a activar otros eventos en tu página web." - ] - }, - "lab-book-inventory-app": { - "title": "Cree una aplicación de inventario de libros", - "intro": [ - "En este laboratorio, creará una aplicación de inventario de libros.", - "Practicarás selectores de atributos CSS como [attribute], [attribute=value], [attribute~=value] y más." - ] - }, - "review-css-attribute-selectors": { - "title": "Revisión de los selectores de atributos CSS", - "intro": [ - "Antes de que te pregunten sobre los conceptos básicos de los selectores de atributos CSS, debes repasar lo que has aprendido sobre ellos.", - "Abra esta página para revisar conceptos como cómo trabajar con diferentes selectores de atributos que apuntan a enlaces con los atributos href y title." - ] - }, - "quiz-css-attribute-selectors": { - "title": "Cuestionario sobre selectores de atributos CSS", - "intro": [ - "Pon a prueba tus conocimientos sobre los selectores de atributos CSS con este cuestionario." - ] - }, - "lecture-best-practices-for-responsive-web-design": { - "title": "Mejores prácticas para el diseño web responsivo", - "intro": [ - "En estas lecciones, aprenderás sobre las mejores prácticas para el diseño web responsivo, los roles de conceptos como cuadrícula, flexbox, consultas de medios y puntos de interrupción de medios en el diseño responsivo, y más." - ] - }, - "workshop-piano": { - "title": "Diseña un Piano", - "intro": [ - "El diseño responsivo le dice a su página web cómo debe verse en pantallas de diferentes tamaños.", - "En este taller, utilizarás CSS y diseño responsivo para codificar un piano. También practicarás consultas de medios y pseudoselectores." - ] - }, - "lab-technical-documentation-page": { - "title": "Crear una página de documentación técnica", - "intro": [ - "En este laboratorio, creará una página de documentación técnica que sirva como instrucción o referencia para un tema.", - "También practicarás consultas de medios para crear un diseño responsivo." - ] - }, - "review-responsive-web-design": { - "title": "Reseña de diseño web responsivo", - "intro": [ - "Antes de que te pregunten sobre los conceptos básicos del diseño responsivo, debes repasar lo que has aprendido.", - "Abra esta página para revisar conceptos como consultas de medios, puntos de interrupción de medios y diseño con enfoque móvil primero." - ] - }, - "quiz-responsive-web-design": { - "title": "Cuestionario sobre diseño web responsivo", - "intro": [ - "Pon a prueba lo que has aprendido sobre cómo hacer que tus páginas web sean responsivas con este cuestionario." - ] - }, - "lecture-working-with-css-variables": { - "title": "Trabajar con variables CSS", - "intro": [ - "En estas lecciones, aprenderás a definir y usar propiedades personalizadas (también conocidas como variables CSS). También aprenderás sobre la regla @property y cómo funciona." - ] - }, - "workshop-city-skyline": { - "title": "Construye un horizonte de ciudad", - "intro": [ - "Las variables CSS te ayudan a organizar tus estilos y reutilizarlos.", - "En este taller, crearás el perfil de una ciudad. Practicarás cómo configurar variables CSS para poder reutilizarlas cuando quieras." - ] - }, - "lab-availability-table": { - "title": "Crear una tabla de disponibilidad", - "intro": [ - "Para este laboratorio, creará una tabla de disponibilidad que muestre la disponibilidad de las personas para una reunión.", - "Practicarás el uso de variables CSS para almacenar y reutilizar colores, fuentes y otros estilos." - ] - }, - "review-css-variables": { - "title": "Revisión de variables CSS", - "intro": [ - "Antes de que te pregunten sobre los conceptos básicos de las variables CSS, debes repasar lo que has aprendido.", - "Abra esta página para revisar cómo trabajar con propiedades personalizadas CSS (variables CSS) y la regla @property." - ] - }, - "quiz-css-variables": { - "title": "Cuestionario sobre variables CSS", - "intro": [ - "Pon a prueba tus conocimientos sobre las variables CSS con este cuestionario." - ] - }, - "lecture-working-with-css-grid": { - "title": "Trabajar con CSS Grid", - "intro": [ - "En estas lecciones, aprenderás sobre el CSS grid, sus diversas propiedades y cómo usarlas, y en qué se diferencia del flexbox." - ] - }, - "workshop-magazine": { - "title": "Construir una revista", - "intro": [ - "CSS Grid le brinda control sobre las filas y columnas del diseño de su página web.", - "En este taller, crearás un artículo para una revista. Practicarás cómo usar CSS Grid, incluidos conceptos como filas y columnas de cuadrícula." - ] - }, - "lab-newspaper-layout": { - "title": "Diseñar un Diseño de Periódico.", - "intro": [ - "En este laboratorio, diseñarás un diseño de periódico usando CSS Grid, incluyendo conceptos como filas de cuadrícula y columnas de cuadrícula." - ] - }, - "lecture-debugging-css": { - "title": "Depuración de CSS", - "intro": [ - "En esta lección, aprenderás cómo depurar CSS usando las herramientas de desarrollo de tu navegador y validadores de CSS." - ] - }, - "lab-product-landing-page": { - "title": "Cree una página de destino del producto", - "intro": [ - "En este proyecto, creará una página de destino de producto para comercializar un producto de su elección." - ] - }, - "review-css-grid": { - "title": "Revisión de CSS Grid", - "intro": [ - "Antes de que te pregunten sobre los conceptos básicos de CSS Grid, debes repasar lo que has aprendido.", - "Abra esta página para revisar cómo trabajar con las diferentes propiedades de CSS Grid como grid-template-columns, grid-gap y más." - ] - }, - "quiz-css-grid": { - "title": "Cuestionario sobre Grid CSS", - "intro": [ - "Pon a prueba tus conocimientos sobre CSS Grid con este cuestionario." - ] - }, - "lecture-animations-and-accessibility": { - "title": "Animaciones y accesibilidad", - "intro": [ - "En estas lecciones, aprenderás sobre las animaciones CSS y sus problemas de accesibilidad. También aprenderás cómo prefers-reduced-motion puede ayudar a abordar esos problemas de accesibilidad." - ] - }, - "workshop-ferris-wheel": { - "title": "Construye una noria animada", - "intro": [ - "Puede utilizar la animación CSS para llamar la atención sobre secciones específicas de su página web y hacerla más atractiva.", - "En este taller, construirás una rueda de la fortuna. Practicarás cómo usar CSS para animar elementos, transformarlos y ajustar su velocidad." - ] - }, - "lab-moon-orbit": { - "title": "Construir una órbita lunar", - "intro": [ - "En este laboratorio, crearás una animación de la luna orbitando la Tierra.", - "Practicarás propiedades de animación como animation-name, animation-duration, animation-timing-function y más." - ] - }, - "workshop-flappy-penguin": { - "title": "Construye un pingüino Flappy", - "intro": [ - "Puedes transformar elementos HTML para crear diseños atractivos que llamen la atención del lector. Puedes usar transformaciones para rotar elementos, escalarlos y más.", - "En este taller, crearás un pingüino. Utilizarás transformaciones CSS para posicionar y cambiar el tamaño de las partes de tu pingüino, crear un fondo y animar tu trabajo." - ] - }, - "lab-personal-portfolio": { - "title": "Construye un portafolio personal", - "intro": [ - "En este proyecto, crearás tu propia página de portafolio personal." - ] - }, - "review-css-animations": { - "title": "Revisión de animaciones CSS", - "intro": [ - "Antes de que te pregunten cómo trabajar con animaciones CSS, debes repasar lo que has aprendido sobre ellas.", - "Abra esta página para revisar conceptos que incluyen prefers-reduced-motion, la regla @keyframes y más." - ] - }, - "quiz-css-animations": { - "title": "Cuestionario sobre animaciones CSS", - "intro": [ - "Pon a prueba tus conocimientos sobre animaciones CSS con este cuestionario." - ] - }, - "review-css": { - "title": "Revisión de CSS", - "intro": [ - "Antes de tomar el examen de preparación de CSS, primero debes revisar los conceptos enseñados en los módulos anteriores.", - "Abra esta página para revisar conceptos sobre los conceptos básicos de CSS, diseño web responsivo, animaciones, accesibilidad y más." - ] - }, - "lecture-working-with-code-editors-and-ides": { - "title": "Trabajar con editores de código e IDE", - "intro": [ - "En estas lecciones, aprenderás a trabajar con editores de código e IDE. Aprenderás varios conceptos sobre el editor de código más popular, VS Code, como su instalación, cómo crear un proyecto en él, atajos de teclado y extensiones." - ] - }, - "lecture-introduction-to-javascript": { - "title": "Introducción a JavaScript", - "intro": [ - "En estas lecciones, aprenderás los fundamentos de JavaScript. Los temas abarcan, pero no se limitan a, variables, tipos de datos, cómo interactúa JavaScript con HTML y CSS, y mucho más." - ] - }, - "lecture-introduction-to-strings": { - "title": "Introducción a las Cadenas.", - "intro": [ - "En estas lecciones, aprenderás a trabajar con cadenas y concatenación de cadenas." - ] - }, - "lecture-understanding-code-clarity": { - "title": "Comprendiendo la Claridad del Código.", - "intro": [ - "En estas lecciones, aprenderás sobre los comentarios en JavaScript y el papel de los puntos y comas en la programación." - ] - }, - "workshop-greeting-bot": { - "title": "Construye un robot de saludo", - "intro": [ - "En este taller, aprenderá los fundamentos de JavaScript mediante la creación de un bot de saludo.", - "Aprenderá sobre variables, let, const, console.log y el uso básico de cadenas." - ] - }, - "lab-javascript-trivia-bot": { - "title": "Crea un bot de trivia con JavaScript", - "intro": [ - "En este laboratorio, practicarás el trabajo con variables y cadenas de JavaScript mediante la creación de un bot de trivia." - ] - }, - "lab-sentence-maker": { - "title": "Construye un generador de oraciones", - "intro": [ - "En este laboratorio, seguirá practicando con cadenas y concatenaciones creando y personalizando varias historias." - ] - }, - "lecture-working-with-data-types": { - "title": "Trabajar con tipos de datos", - "intro": [ - "En las siguientes lecciones, aprenderás a trabajar con tipos de datos en JavaScript. También aprenderás en qué se diferencian la tipificación dinámica de la estática, el operador typeof y el error typeof null." - ] - }, - "review-javascript-variables-and-data-types": { - "title": "Revisión de variables y tipos de datos de JavaScript", - "intro": [ - "Antes de que le pregunten sobre las variables y los tipos de datos de JavaScript, primero debe repasar los conceptos.", - "Abra esta página para revisar variables, tipos de datos, registros y comentarios." - ] - }, - "quiz-javascript-variables-and-data-types": { - "title": "Cuestionario sobre variables y tipos de datos en JavaScript", - "intro": [ - "Pon a prueba tus conocimientos sobre las variables y los tipos de datos de JavaScript con este cuestionario." - ] - }, - "lecture-working-with-strings-in-javascript": { - "title": "Trabajar con cadenas en JavaScript", - "intro": [ - "En estas lecciones, aprenderás a trabajar con cadenas en JavaScript. Aprenderás cómo acceder a caracteres de una cadena, cómo usar literales de plantilla e interpolación, cómo crear una nueva línea en cadenas, y mucho más." - ] - }, - "workshop-teacher-chatbot": { - "title": "Construye un chatbot para profesores", - "intro": [ - "En este taller, continuará aprendiendo más sobre las cadenas de JavaScript mediante la creación de un chatbot.", - "Aprenderá a trabajar con literales de plantilla y el método indexOf." - ] - }, - "lecture-working-with-string-character-methods": { - "title": "Trabajando con Métodos de Caracteres de Cadena", - "intro": [ - "En esta lección aprenderás sobre la codificación de caracteres ASCII y cómo usar los métodos charCodeAt() y fromCharCode() de JavaScript para convertir entre caracteres y sus valores numéricos ASCII." - ] - }, - "lecture-working-with-string-search-and-slice-methods": { - "title": "Trabajando con Métodos de Búsqueda y Corte de Cadenas", - "intro": [ - "En esta lección aprenderás cómo buscar subcadenas usando el método includes() y cómo extraer porciones de cadenas usando el método slice()." - ] - }, - "workshop-string-inspector": { - "title": "Construir un Inspector de Cadenas.", - "intro": [ - "En este taller, practicarás trabajar con los métodos includes() y slice() construyendo un inspector de cadenas." - ] - }, - "lecture-working-with-string-formatting-methods": { - "title": "Trabajando con Métodos de Formateo de Cadena", - "intro": [ - "En esta lección aprenderás cómo formatear cadenas cambiando su caso utilizando los métodos toUpperCase() y toLowerCase(), y cómo eliminar espacios en blanco usando trim(), trimStart() y trimEnd()." - ] - }, - "workshop-string-formatter": { - "title": "Construir un Formateador de Cadenas.", - "intro": [ - "En este taller, practicarás trabajar con varios métodos de cadenas, incluidos los métodos trim(), toUpperCase() y toLowerCase()." - ] - }, - "lecture-working-with-string-modification-methods": { - "title": "Trabajando con Métodos de Modificación de Cadena", - "intro": [ - "En esta lección aprenderás cómo modificar cadenas reemplazando partes de ellas utilizando el método replace() y cómo repetir cadenas varias veces utilizando el método repeat()." - ] - }, - "workshop-string-transformer": { - "title": "Construye un Transformador de Cadenas", - "intro": [ - "En este taller, practicarás trabajar con los métodos replace(), replaceAll() y repeat()." - ] - }, - "review-javascript-strings": { - "title": "Revisión de cadenas de JavaScript", - "intro": [ - "Antes de que te pregunten cómo trabajar con cadenas de JavaScript, primero debes repasar.", - "Abra esta página para revisar cómo trabajar con literales de plantilla, el método slice, el método includes, el método trim y más." - ] - }, - "quiz-javascript-strings": { - "title": "Cuestionario sobre cadenas de JavaScript", - "intro": [ - "Pon a prueba tus conocimientos sobre cadenas de JavaScript con este cuestionario." - ] - }, - "lecture-working-with-numbers-and-arithmetic-operators": { - "title": "Trabajando con Números y Operadores Aritméticos", - "intro": [ - "En estas lecciones aprenderás sobre el tipo de número, operadores aritméticos, y su uso con números y cadenas." - ] - }, - "lab-debug-type-coercion-errors": { - "title": "Depura errores de coerción de tipos en una aplicación con errores.", - "intro": [ - "En este laboratorio, trabajarás con una aplicación con errores que contiene varios errores de coerción de tipos.", - "Tu tarea es identificar y corregir estos errores para asegurar que la aplicación funcione correctamente." - ] - }, - "lecture-working-with-operator-behavior": { - "title": "Trabajando con el Comportamiento del Operador", - "intro": [ - "En estas lecciones aprenderás sobre la precedencia de operadores, los operadores de incremento y decremento, y los operadores de asignación compuesta." - ] - }, - "lab-debug-increment-and-decrement-operator-errors": { - "title": "Depura errores de operadores de incremento y decremento en una aplicación con errores.", - "intro": [ - "En este laboratorio, depurarás una aplicación que tiene varios errores relacionados con los operadores de incremento y decremento.", - "Tu tarea es identificar y corregir estos errores para que la aplicación funcione como concebido." - ] - }, - "lecture-working-with-comparison-and-boolean-operators": { - "title": "Trabajando con Operadores de Comparación y Booleanos", - "intro": [ - "En estas lecciones aprenderás sobre booleanos, operadores de igualdad y desigualdad, y otros operadores de comparación." - ] - }, - "lecture-working-with-unary-and-bitwise-operators": { - "title": "Trabajando con Operadores Unarios y de Bits", - "intro": [ - "En estas lecciones, aprenderás sobre operadores unarios y de bits." - ] - }, - "lecture-working-with-conditional-logic-and-math-methods": { - "title": "Trabajando con Lógica Condicional y Métodos Matemáticos", - "intro": [ - "En estas lecciones, aprenderás sobre sentencias condicionales, operadores lógicos binarios y el objeto Math." - ] - }, - "workshop-mathbot": { - "title": "Construye un Mathbot", - "intro": [ - "En este taller, revisará cómo trabajar con los diferentes métodos de objetos matemáticos mediante la construcción de un Mathbot." - ] - }, - "lab-fortune-teller": { - "title": "Construir un adivino", - "intro": [ - "En este laboratorio, construirás un adivino seleccionando al azar una fortuna entre las fortunas disponibles.", - "Practicarás cómo trabajar con el método Math.random() y el método Math.floor() para generar números aleatorios." - ] - }, - "lecture-working-with-numbers-and-common-number-methods": { - "title": "Trabajar con números y métodos de números comunes", - "intro": [ - "En estas lecciones, aprenderás sobre números y métodos numéricos comunes. Estos incluyen isNaN(), parseInt(), parseFloat() y toFixed()." - ] - }, - "review-javascript-math": { - "title": "Revisión de matemáticas de JavaScript", - "intro": [ - "Antes de que te pregunten cómo trabajar con el objeto Math, debes repasar lo que has aprendido.", - "Abra esta página para revisar cómo trabajar con el método Math.random(), el método Math.floor() y más." - ] - }, - "quiz-javascript-math": { - "title": "Cuestionario de matemáticas sobre JavaScript", - "intro": [ - "Pon a prueba tus conocimientos sobre el objeto Math de JavaScript con este cuestionario." - ] - }, - "lecture-understanding-comparisons-and-conditionals": { - "title": "Comprensión de comparaciones y condicionales", - "intro": [ - "En estas lecciones, aprenderás sobre operadores de comparación y condicionales. Aprenderás cómo se diferencian los distintos condicionales y cómo funcionan las comparaciones con null y undefined." - ] - }, - "review-javascript-comparisons-and-conditionals": { - "title": "Comparaciones y repaso de condicionales en JavaScript", - "intro": [ - "Antes de que te pregunten sobre cómo trabajar con condicionales, debes repasar lo que has aprendido sobre ellos.", - "Abra esta página para revisar cómo trabajar con declaraciones switch, otros tipos de condicionales y más." - ] - }, - "quiz-javascript-comparisons-and-conditionals": { - "title": "Cuestionario sobre comparaciones y condiciones en JavaScript", - "intro": [ - "Pon a prueba tus conocimientos sobre comparaciones y condicionales de JavaScript con este cuestionario." - ] - }, - "lecture-working-with-functions": { - "title": "Trabajar con funciones", - "intro": [ - "En estas lecciones, aprenderás a reutilizar un bloque de código con funciones. Aprenderás cuál es el propósito de una función, cómo funcionan y cómo funciona el alcance en programación. " - ] - }, - "workshop-calculator": { - "title": "Construir una calculadora", - "intro": [ - "En este taller revisarás tus conocimientos sobre funciones construyendo una calculadora." - ] - }, - "lab-boolean-check": { - "title": "Construir una Función de Verificación de Booleanos", - "intro": [ - "En este laboratorio, implementarás una función que verifica si un valor es booleano." - ] - }, - "lab-email-masker": { - "title": "Crea un enmascarador de correo electrónico", - "intro": [ - "En este laboratorio, creará un enmascarador de correo electrónico que tomará una dirección de correo electrónico y la ocultará.", - "Practicarás la segmentación de cadenas, la concatenación y el uso de funciones." - ] - }, - "workshop-loan-qualification-checker": { - "title": "Cree un verificador de calificación de préstamos", - "intro": [ - "En este taller, continuará aprendiendo cómo trabajar con condicionales mediante la creación de una aplicación de verificación de calificación de préstamos.", - "Aprenderá más sobre las declaraciones if y cómo usar operadores de comparación y condiciones múltiples en una declaración if." - ] - }, - "lab-celsius-to-fahrenheit-converter": { - "title": "Construir un Convertidor de Celsius a Fahrenheit", - "intro": [ - "En este laboratorio implementarás una función que convierte la temperatura de Celsius a Fahrenheit." - ] - }, - "lab-counting-cards": { - "title": "Construir un Asistente para Contar Tarjetas", - "intro": [ - "En este laboratorio usarás JavaScript para contar cartas repartidas." - ] - }, - "lab-leap-year-calculator": { - "title": "Construya una calculadora de años bisiestos ", - "intro": [ - "En este laboratorio, utilizará declaraciones condicionales y bucles para determinar si un año es bisiesto." - ] - }, - "lab-truncate-string": { - "title": "Implementar el Algoritmo de Truncar Cadenas", - "intro": [ - "En este laboratorio, practicarás truncar una cadena a una cierta longitud." - ] - }, - "lab-string-ending-checker": { - "title": "Construir una Herramienta para Confirmar el Final", - "intro": [ - "En este laboratorio, implementarás una función que verifica si una cadena dada termina con una cadena objetivo especificada." - ] - }, - "review-javascript-functions": { - "title": "Revisión de funciones de JavaScript", - "intro": [ - "Antes de que te pregunten sobre las funciones de JavaScript, debes repasar lo que has aprendido sobre ellas.", - "Abra esta página para revisar funciones, funciones de flecha y alcance." - ] - }, - "quiz-javascript-functions": { - "title": "Cuestionario sobre funciones de JavaScript", - "intro": [ - "Pon a prueba tus conocimientos de las funciones de JavaScript con este cuestionario." - ] - }, - "lecture-working-with-arrays": { - "title": "Trabajar con matrices", - "intro": [ - "En estas lecciones, aprenderás a trabajar con arreglos en JavaScript. Aprenderás qué constituye un arreglo, arreglos unidimensionales y bidimensionales, cómo acceder y actualizar los elementos en un arreglo, y mucho más." - ] - }, - "workshop-shopping-list": { - "title": "Crea una lista de compras", - "intro": [ - "En este taller practicarás cómo trabajar con matrices creando una lista de compras.", - "Revisará cómo agregar y eliminar elementos de una matriz usando métodos como push, pop, shift y unshift." - ] - }, - "lab-lunch-picker-program": { - "title": "Cree un programa de recolección de almuerzos", - "intro": [ - "En este laboratorio, revisará el trabajo con matrices y números aleatorios mediante la creación de un programa de selección de almuerzos." - ] - }, - "lab-golf-score-translator": { - "title": "Construir un Traductor de Puntuación de Golf", - "intro": [ - "Para este laboratorio, usarás métodos de arreglo para traducir puntuaciones de golf a su apodo." - ] - }, - "lab-reverse-a-string": { - "title": "Construir un Inversor de Cadenas", - "intro": [ - "En este laboratorio, crearás una función que invierte una cadena dada." - ] - }, - "lecture-working-with-common-array-methods": { - "title": "Cómo trabajar con métodos de matriz comunes", - "intro": [ - "En estas lecciones, aprenderás sobre los métodos de arreglos para realizar operaciones más avanzadas como obtener la posición de un elemento en un arreglo, verificar si un arreglo contiene un determinado elemento, copiar un arreglo y mucho más." - ] - }, - "review-javascript-arrays": { - "title": "Revisión de matrices de JavaScript", - "intro": [ - "Antes de que te pregunten sobre las matrices de JavaScript, debes repasar lo que has aprendido sobre ellas.", - "Abra esta página para revisar conceptos como la desestructuración de matrices, cómo agregar y eliminar elementos de una matriz y más." - ] - }, - "quiz-javascript-arrays": { - "title": "Cuestionario sobre matrices en JavaScript", - "intro": [ - "Pon a prueba tus conocimientos sobre matrices de JavaScript con este cuestionario" - ] - }, - "lecture-introduction-to-javascript-objects-and-their-properties": { - "title": "Introducción a Objetos JavaScript y Sus Propiedades.", - "intro": [ - "En estas lecciones, aprenderás los fundamentos de los objetos en JavaScript, incluyendo cómo crearlos, acceder a sus propiedades y entender la diferencia entre tipos de datos primitivos y no primitivos." - ] - }, - "lecture-working-with-optional-chaining-and-object-destructuring": { - "title": "Trabajando con Encadenamiento Opcional y Desestructuración de Objetos.", - "intro": [ - "En estas lecciones, aprenderás sobre técnicas avanzadas de manipulación de objetos en JavaScript, incluyendo el operador de encadenamiento opcional y la sintaxis de desestructuración de objetos." - ] - }, - "lecture-working-with-json": { - "title": "Trabajando con JSON.", - "intro": [ - "En estas lecciones, aprenderás sobre JavaScript Object Notation (JSON), incluyendo cómo acceder a los datos en JSON y usar los métodos JSON.parse() y JSON.stringify()." - ] - }, - "workshop-recipe-tracker": { - "title": "Crea un rastreador de recetas", - "intro": [ - "En este taller, revisará cómo trabajar con objetos JavaScript mediante la creación de un rastreador de recetas." - ] - }, - "lab-quiz-game": { - "title": "Crea un juego de preguntas y respuestas", - "intro": [ - "En este laboratorio, crearás un juego de preguntas y respuestas utilizando matrices y objetos de JavaScript.", - "También practicarás el uso de funciones para seleccionar aleatoriamente una pregunta y una respuesta de una matriz y compararlas." - ] - }, - "lab-record-collection": { - "title": "Construir una Colección de Registros", - "intro": [ - "En este laboratorio construirás una función para gestionar una colección de registros." - ] - }, - "review-javascript-objects": { - "title": "Revisión de objetos de JavaScript", - "intro": [ - "Antes de que te examinen sobre los objetos de JavaScript, debes repasar lo que has aprendido sobre ellos.", - "Abra esta página para revisar conceptos que incluyen cómo acceder a la información de los objetos, la desestructuración de objetos, cómo trabajar con JSON y más." - ] - }, - "quiz-javascript-objects": { - "title": "Cuestionario sobre objetos de JavaScript", - "intro": [ - "Pon a prueba tus conocimientos sobre objetos JavaScript con este cuestionario" - ] - }, - "lecture-working-with-loops": { - "title": "Trabajar con bucles", - "intro": [ - "Los bucles son una parte esencial de JavaScript. Por eso, las siguientes lecciones han sido preparadas para que aprendas sobre los diferentes tipos de bucles y cómo funcionan, y también cómo funciona la iteración." - ] - }, - "workshop-sentence-analyzer": { - "title": "Construir un analizador de oraciones", - "intro": [ - "En este taller, revisará cómo trabajar con bucles de JavaScript mediante la creación de una aplicación analizadora de oraciones." - ] - }, - "lab-longest-word-in-a-string": { - "title": "Construir una Aplicación de Buscador de la Palabra Más Larga", - "intro": [ - "En este laboratorio, usarás bucles de JavaScript para encontrar la longitud de la palabra más larga en la oración dada." - ] - }, - "lab-factorial-calculator": { - "title": "Construir una calculadora factorial", - "intro": [ - "En este laboratorio, construirás una calculadora factorial.", - "Practicarás el uso de bucles y condicionales para calcular el factorial de un número." - ] - }, - "lab-mutations": { - "title": "Implementar el Algoritmo de Mutaciones", - "intro": [ - "En este laboratorio, practicarás iterar sobre dos cadenas diferentes para comparar sus caracteres." - ] - }, - "lab-chunky-monkey": { - "title": "Implementar el Algoritmo Chunky Monkey", - "intro": [ - "En este laboratorio, practicarás dividir un arreglo en arreglos más pequeños con la técnica de tu elección." - ] - }, - "lab-profile-lookup": { - "title": "Construir una Búsqueda de Perfiles", - "intro": [ - "En este laboratorio, crearás una función que busca información de perfiles." - ] - }, - "lab-repeat-a-string": { - "title": "Construir una Función de Repetición de Cadena", - "intro": [ - "En este laboratorio, implementarás bucles para repetir una cadena un número especificado de veces." - ] - }, - "lab-missing-letter-detector": { - "title": "Construir un Detector de Letras Faltantes.", - "intro": [ - "En este laboratorio, construirás una función que encuentra la letra faltante en un rango dado de letras consecutivas y la devuelve." - ] - }, - "review-javascript-loops": { - "title": "Revisión de bucles de JavaScript", - "intro": [ - "Antes de que te pregunten sobre los diferentes bucles de JavaScript, debes revisarlos.", - "Abra esta página para revisar el bucle for...of, el bucle while, las instrucciones break y continue y más." - ] - }, - "quiz-javascript-loops": { - "title": "Cuestionario sobre bucles en JavaScript", - "intro": [ - "Pon a prueba tus conocimientos sobre bucles de JavaScript con este cuestionario." - ] - }, - "lecture-working-with-types-and-objects": { - "title": "Trabajando con Tipos y Objetos", - "intro": [ - "En estas lecciones, aprenderás sobre objetos de cadena, el método toString(), el constructor Number y más." - ] - }, - "lecture-working-with-arrays-variables-and-naming-practices": { - "title": "Trabajando con Arreglos, Variables y Prácticas de Nombres", - "intro": [ - "En estas lecciones, aprenderás sobre prácticas comunes para nombrar variables y funciones, y cómo trabajar con arreglos." - ] - }, - "lecture-working-with-code-quality-and-execution-concepts": { - "title": "Trabajando con Calidad de Código y Conceptos de Ejecución", - "intro": [ - "En estas lecciones, aprenderás qué son los linters y formateadores, qué es la gestión de memoria y clausuras." - ] - }, - "lab-largest-number-finder": { - "title": "Construir un Buscador del Número Más Grande", - "intro": [ - "En este laboratorio, usarás fundamentos de JavaScript para crear una función que encuentre el número más grande en cada sub-arreglo de un arreglo dado." - ] - }, - "lab-first-element-finder": { - "title": "Construir un Buscador del Primer Elemento", - "intro": [ - "En este laboratorio, crearás una función que recorra un arreglo y devuelva el primer elemento que pase una \"prueba de verdad\"." - ] - }, - "lab-slice-and-splice": { - "title": "Implementar el Algoritmo de Cortar y Raspadura", - "intro": [ - "En este laboratorio, practicarás fusionar un arreglo con otro." - ] - }, - "lab-pyramid-generator": { - "title": "Construye un generador de pirámides", - "intro": [ - "En este laboratorio construirás un generador piramidal.", - "Tomarás un número como entrada y generarás una pirámide con esa cantidad de niveles usando un bucle." - ] - }, - "lab-gradebook-app": { - "title": "Crear una aplicación de libro de calificaciones", - "intro": [ - "Para este laboratorio, creará una aplicación de libro de calificaciones.", - "Practicarás condicionales para determinar la calificación del estudiante en función de su puntaje." - ] - }, - "lecture-the-var-keyword-and-hoisting": { - "title": "La palabra clave var y la elevación", - "intro": [ - "En estas lecciones, aprenderás sobre la palabra clave var y por qué ya no se recomienda su uso. También aprenderás sobre el hoisting en JavaScript para evitar errores sutiles en tu código." - ] - }, - "lab-title-case-converter": { - "title": "Construir un Convertidor de Mayúsculas en Título.", - "intro": [ - "En este laboratorio, construirás una función que convierte una cadena a mayúsculas en título." - ] - }, - "lab-falsy-remover": { - "title": "Implementar un Removedor de Falsos.", - "intro": [ - "En este laboratorio, crearás una función que elimina todos los valores falsos de un arreglo." - ] - }, - "lab-inventory-management-program": { - "title": "Desarrollar un programa de gestión de inventario", - "intro": [ - "En este laboratorio, creará un programa de gestión de inventario utilizando JavaScript.", - "Utilizará una matriz de objetos JavaScript para administrar el inventario." - ] - }, - "lecture-understanding-modules-imports-and-exports": { - "title": "Comprensión de módulos, importaciones y exportaciones", - "intro": [ - "En esta lección, aprenderás sobre los módulos, importaciones y exportaciones en JavaScript." - ] - }, - "lecture-working-with-the-arguments-object-and-rest-parameters": { - "title": "Trabajando con el Objeto arguments y Parámetros Rest.", - "intro": [ - "En estas lecciones, aprenderás cómo trabajar con el objeto arguments y la sintaxis de parámetros rest." - ] - }, - "lab-unique-sorted-union": { - "title": "Implementar una Unión Única Ordenada.", - "intro": [ - "En este laboratorio, crearás una función que toma dos o más arreglos y devuelve un nuevo arreglo de valores únicos en el orden de los arreglos originales proporcionados." - ] - }, - "lab-password-generator": { - "title": "Cree una aplicación generadora de contraseñas", - "intro": [ - "En este laboratorio, creará una aplicación generadora de contraseñas basada en la entrada del usuario." - ] - }, - "lab-sum-all-numbers-algorithm": { - "title": "Diseñar un Algoritmo para Sumar Todos los Números", - "intro": [ - "En este laboratorio, diseñarás un algoritmo para sumar todos los números. Este algoritmo toma un arreglo de dos números y devuelve la suma de esos dos números más la suma de todos los números entre ellos." - ] - }, - "lab-dna-pair-generator": { - "title": "Implementar un Generador de Pares de ADN.", - "intro": [ - "En este laboratorio, implementarás un algoritmo de apareamiento de bases de ADN que convierte un solo filamento de ADN en pares de bases complementarias." - ] - }, - "lab-html-entitiy-converter": { - "title": "Implementar un Convertidor de Entidades HTML", - "intro": [ - "En este laboratorio, convertirás caracteres especiales de una cadena a sus correspondientes entidades HTML." - ] - }, - "lab-odd-fibonacci-sum-calculator": { - "title": "Construir una Calculadora de Suma de Fibonacci Impares.", - "intro": [ - "En este laboratorio, construirás una calculadora de suma de Fibonacci impares que toma un número y devuelve la suma de todos los números de Fibonacci impares que son menores o iguales a ese número." - ] - }, - "lab-element-skipper": { - "title": "Implementar un Ocriptor de Elementos", - "intro": [ - "En este laboratorio crearás una función que omita elementos en un arreglo basado en un valor de paso especificado." - ] - }, - "lab-optional-arguments-sum-function": { - "title": "Construir una Función de Suma con Argumentos Opcionales", - "intro": [ - "En este laboratorio construirás una función que acepte hasta dos argumentos y los sume, pero si hay solo un argumento, devuelve una función que espera el segundo número para sumar." - ] - }, - "review-javascript-fundamentals": { - "title": "Repaso de los fundamentos de JavaScript", - "intro": [ - "Antes de que te examinen sobre los fundamentos de JavaScript, primero debes repasar los conceptos.", - "Abra esta página para revisar conceptos como cierres, gestión de memoria y más." - ] - }, - "quiz-javascript-fundamentals": { - "title": "Cuestionario sobre los fundamentos de JavaScript", - "intro": [ - "Pon a prueba tus conocimientos de los fundamentos de JavaScript con este cuestionario." - ] - }, - "lecture-working-with-higher-order-functions-and-callbacks": { - "title": "Trabajar con funciones de orden superior y devoluciones de llamadas", - "intro": [ - "En estas lecciones, aprenderás a trabajar con funciones de orden superior y callbacks. Las funciones de orden superior que aprenderás incluyen map(), filter(), reduce(), sort(), every() y some(). También aprenderás a encadenar estos métodos para lograr los resultados deseados." - ] - }, - "workshop-library-manager": { - "title": "Crear un administrador de biblioteca", - "intro": [ - "En este taller, aprenderás métodos de arreglos de orden superior al construir un administrador de bibliotecas." - ] - }, - "lab-book-organizer": { - "title": "Construye un organizador de libros", - "intro": [ - "En este laboratorio, creará un organizador de libros utilizando funciones de orden superior en JavaScript." - ] - }, - "lab-sorted-index-finder": { - "title": "Implementar un Buscador de Índices Ordenados", - "intro": [ - "En este laboratorio, crearás una función que encuentra el índice en el que un número dado debería ser insertado en un arreglo ordenado para mantener el orden del arreglo." - ] - }, - "lab-symmetric-difference": { - "title": "Construir una Función de Diferencia Simétrica.", - "intro": [ - "En este laboratorio, practicarás usando funciones de orden superior para encontrar la diferencia simétrica entre dos arreglos." - ] - }, - "lab-value-remover-function": { - "title": "Implementar una Función Removedora de Valores.", - "intro": [ - "En este laboratorio, crearás una función que elimina todas las instancias de un valor especificado de un arreglo." - ] - }, - "lab-matching-object-filter": { - "title": "Implementar un Filtro de Objeto Coincidente.", - "intro": [ - "En este laboratorio, crearás una función que mira a través de un arreglo de objetos y devuelve un arreglo de todos los objetos que tienen pares de propiedad y valor coincidentes." - ] - }, - "lab-prime-number-sum-calculator": { - "title": "Construir un Calculador de Suma de Números Primos", - "intro": [ - "En este laboratorio crearás un calculador de suma de números primos que toma un número y devuelve la suma de todos los números primos que son menores o iguales a ese número." - ] - }, - "lab-range-based-lcm-calculator": { - "title": "Implementar una Calculadora de MCM Basada en Rango.", - "intro": [ - "En este laboratorio, crearás una función que toma un arreglo de dos números y devuelve el mínimo común múltiplo (MCM) de esos dos números y todos los números entre ellos." - ] - }, - "lab-deep-flattening-tool": { - "title": "Crear una Herramienta de Aplanamiento Profundo.", - "intro": [ - "En este laboratorio crearás una función que puede aplanar arreglos anidados profundamente, manejando cualquier nivel de anidación sin usar métodos planos incorporados." - ] - }, - "lab-all-true-property-validator": { - "title": "Construir un Validador de Propiedades Verdaderas.", - "intro": [ - "En este laboratorio, construirás una función que verifica si todos los objetos en un arreglo tienen un valor verdadero para una propiedad específica." - ] - }, - "review-javascript-higher-order-functions": { - "title": "Revisión de funciones de orden superior de JavaScript", - "intro": [ - "Antes de que te pregunten sobre las funciones de orden superior de JavaScript, deberías repasarlas.", - "Abra esta página para revisar conceptos que incluyen cómo trabajar con los métodos map(), filter() y reduce()." - ] - }, - "quiz-javascript-higher-order-functions": { - "title": "Cuestionario sobre funciones de orden superior en JavaScript", - "intro": [ - "Pon a prueba tus conocimientos sobre las funciones de orden superior de JavaScript con este cuestionario" - ] - }, - "lecture-working-with-the-dom-click-events-and-web-apis": { - "title": "Trabajar con DOM, eventos de clic y API web", - "intro": [ - "En estas lecciones, aprenderás a trabajar con el Modelo de Objetos del Documento (DOM), el método addEventListener() y eventos, y las APIs web." - ] - }, - "workshop-storytelling-app": { - "title": "Crea una aplicación para contar historias", - "intro": [ - "En este taller, crearás una aplicación de narración de historias que te permitirá enumerar diferentes historias según el género." - ] - }, - "workshop-emoji-reactor": { - "title": "Construir un Reactor de Emoji.", - "intro": [ - "En este taller, construirás un reactor de emoji para practicar querySelector y querySelectorAll." - ] - }, - "lab-favorite-icon-toggler": { - "title": "Crea un conmutador de iconos favoritos", - "intro": [ - "En este laboratorio, creará un conmutador de íconos favoritos utilizando eventos de clic de JavaScript." - ] - }, - "lecture-understanding-the-event-object-and-event-delegation": { - "title": "Comprensión del objeto de evento y la delegación de eventos", - "intro": [ - "En estas lecciones, aprenderás sobre el objeto de evento, el evento de cambio, la propagación de eventos y la delegación de eventos." - ] - }, - "workshop-music-instrument-filter": { - "title": "Construir un filtro de instrumento musical", - "intro": [ - "En este taller, construirás un filtro de instrumento musical con JavaScript." - ] - }, - "lab-real-time-counter": { - "title": "Construir un contador en tiempo real", - "intro": [ - "En este laboratorio, construirás un contador de personajes en tiempo real.", - "Practicarás cómo trabajar con el evento input cuando el usuario escribe en el campo de entrada." - ] - }, - "lab-lightbox-viewer": { - "title": "Construir un visor Lightbox", - "intro": [ - "En este laboratorio, construirás un visor tipo lightbox para ver imágenes en un modo enfocado.", - "Practicarás eventos de clic y alternancia de clases." - ] - }, - "workshop-rps-game": { - "title": "Construye un juego de piedra, papel y tijera", - "intro": [ - "En este taller, revisará la manipulación y los eventos del DOM mediante la construcción de un juego de piedra, papel y tijera." - ] - }, - "lab-football-team-cards": { - "title": "Construye un conjunto de tarjetas de equipo de fútbol", - "intro": [ - "En este laboratorio, utilizará la manipulación de DOM, la desestructuración de objetos, el manejo de eventos y el filtrado de datos para crear un conjunto de tarjetas de equipo de fútbol." - ] - }, - "review-dom-manipulation-and-click-events-with-javascript": { - "title": "Revisión de manipulación de DOM y eventos de clic con JavaScript", - "intro": [ - "Antes de que te examinen sobre el DOM, debes repasar lo que has aprendido sobre él.", - "Abre esta página para repasar conceptos que incluyen cómo trabajar con el DOM, las Web APIs, el método addEventListener(), los eventos de cambio, la propagación de eventos y más." - ] - }, - "quiz-dom-manipulation-and-click-event-with-javascript": { - "title": "Manipulación del DOM y eventos de clic con JavaScript", - "intro": [ - "Pon a prueba tus conocimientos sobre la manipulación del DOM y los eventos de clic en JavaScript con este cuestionario." - ] - }, - "lecture-understanding-aria-expanded-aria-live-and-common-aria-states": { - "title": "Entendiendo aria-expanded, aria-live y Estados ARIA Comunes", - "intro": [ - "En estas lecciones, aprenderás más sobre los atributos ARIA como aria-expanded, aria-live y los estados ARIA comunes." - ] - }, - "workshop-planets-tablist": { - "title": "Construir una Lista con Pestañas de Planetas", - "intro": [ - "En este taller, construirás una interfaz con pestañas dinámicas que muestra hechos sobre los planetas del sistema solar." - ] - }, - "workshop-note-taking-app": { - "title": "Construir una Aplicación de Toma de Notas", - "intro": [ - "En este taller, crearás una aplicación de toma de notas accesible.", - "Esto te brindará la oportunidad de practicar trabajando con el atributo aria-live." - ] - }, - "lab-theme-switcher": { - "title": "Construir un Interruptor de Tema", - "intro": [ - "En este laboratorio, construirás un interruptor de tema y practicarás trabajando con los atributos aria-haspopup, aria-expanded y aria-controls." - ] - }, - "review-js-a11y": { - "title": "Revisión de JavaScript y Accesibilidad", - "intro": [ - "Antes de que te interroguen sobre JavaScript y accesibilidad, deberías repasar lo que has aprendido al respecto.", - "Abre esta página para repasar conceptos incluyendo cómo trabajar con los atributos aria-expanded, aria-live, y aria-controls." - ] - }, - "quiz-js-a11y": { - "title": "Cuestionario de JavaScript y Accesibilidad", - "intro": [ - "Pon a prueba tus conocimientos sobre JavaScript y las mejores prácticas de accesibilidad con este cuestionario." - ] - }, - "lecture-debugging-techniques": { - "title": "Técnicas de depuración", - "intro": [ - "En estas lecciones, aprenderás sobre los errores comunes en JavaScript y las técnicas que puedes usar para corregirlos: un proceso llamado depuración." - ] - }, - "lab-random-background-color-changer": { - "title": "Depurar un cambiador de color de fondo aleatorio", - "intro": [ - "En este laboratorio, depurará un cambiador de color de fondo aleatorio y corregirá los errores para que funcione correctamente." - ] - }, - "review-debugging-javascript": { - "title": "Revisión de depuración de JavaScript", - "intro": [ - "Antes de que te pregunten sobre técnicas de depuración comunes, debes repasar lo que has aprendido.", - "Abra esta página para revisar conceptos que incluyen cómo trabajar con la declaración throw, try...catch...finally/code> y más.finalmente y más." - ] - }, - "quiz-debugging-javascript": { - "title": "Cuestionario sobre depuración de JavaScript", - "intro": [ - "Pon a prueba tus conocimientos de depuración de JavaScript con este cuestionario." - ] - }, - "lecture-working-with-regular-expressions": { - "title": "Trabajar con expresiones regulares", - "intro": [ - "En estas lecciones, aprenderás sobre expresiones regulares en JavaScript. Aprenderás sobre los métodos para trabajar con expresiones regulares, modificadores, clases de caracteres, búsquedas anticipadas, búsquedas retrospectivas, referencias posteriores, cuantificadores y más." - ] - }, - "workshop-spam-filter": { - "title": "Construir un filtro antispam", - "intro": [ - "Las expresiones regulares, a menudo abreviadas como \"regex\" o \"regexp\", son patrones que ayudan a los programadores a encontrar, buscar y reemplazar texto. Las expresiones regulares son potentes, pero pueden resultar difíciles de entender porque utilizan muchos caracteres especiales.", - "En este taller, utilizarás grupos de captura, anticipaciones positivas, anticipaciones negativas y otras técnicas para hacer coincidir cualquier texto que desees." - ] - }, - "lab-palindrome-checker": { - "title": "Construir un verificador de palíndromos", - "intro": [ - "En este laboratorio, crearás una aplicación que verifique si una palabra determinada es un palíndromo." - ] - }, - "lab-markdown-to-html-converter": { - "title": "Cree un convertidor de Markdown a HTML", - "intro": [ - "En este laboratorio, crearás un convertidor de Markdown a HTML usando JavaScript.", - "Practicarás expresiones regulares, manipulación de cadenas y más." - ] - }, - "lab-regex-sandbox": { - "title": "Construir un Sandbox de RegEx", - "intro": [ - "En este laboratorio construirás un entorno sandbox de expresiones regulares." - ] - }, - "lab-spinal-case-converter": { - "title": "Implementar un Convertidor de Caso Espinal.", - "intro": [ - "En este laboratorio, crearás una función que convierte una cadena dada a caso espinal, que es un estilo de escritura donde todas las letras están en minúsculas y separadas por guiones." - ] - }, - "lab-pig-latin": { - "title": "Implementar un Traductor de Latín de Cerdo.", - "intro": [ - "En este laboratorio, implementarás un traductor de latín de cerdo usando JavaScript.", - "Practicarás la manipulación de cadenas, la lógica condicional y las expresiones regulares." - ] - }, - "lab-smart-word-replacement": { - "title": "Construir una Función de Reemplazo de Palabras Inteligente.", - "intro": [ - "En este laboratorio, usarás regex para crear una función que realice una operación de búsqueda y reemplazo en una cadena dada." - ] - }, - "review-javascript-regular-expressions": { - "title": "Reviso de expreciones regulares de JavaScript", - "intro": [ - "Antes de que te examinen sobre expresiones regulares, debes repasar lo que has aprendido.", - "Abra esta página para revisar conceptos como lookaheads, lookbehinds, modificadores de expresiones regulares comunes y más." - ] - }, - "quiz-javascript-regular-expressions": { - "title": "Quiz de expresiones regulares de JavaScript", - "intro": [ - "Pon a prueba tus conocimientos de expresiones regulares de JavaScript con este cuestionario." - ] - }, - "lecture-understanding-form-validation": { - "title": "Comprensión de la validación de formularios", - "intro": [ - "En estas lecciones, aprenderás sobre la validación de formularios en JavaScript. Aprenderás las diferentes formas de validar formularios, cómo funciona el método preventDefault() y cómo funciona el evento de envío." - ] - }, - "workshop-calorie-counter": { - "title": "Construye un contador de calorías", - "intro": [ - "A veces, cuando estás codificando una aplicación web, necesitarás poder aceptar la entrada de un usuario. En este taller de contador de calorías, practicarás cómo validar la entrada del usuario, realizar cálculos basados ​​en esa entrada y actualizar dinámicamente tu interfaz para mostrar los resultados.", - "También practicarás expresiones regulares básicas, literales de plantilla, el método addEventListener() y más." - ] - }, - "lab-customer-complaint-form": { - "title": "Cree un formulario de quejas de clientes", - "intro": [ - "En este laboratorio, utilizará JavaScript para validar un formulario de queja de un cliente.", - "Practicará cómo validar las entradas del formulario, mostrar mensajes de error y evitar que el formulario se envíe si hay errores." - ] - }, - "review-form-validation-with-javascript": { - "title": "Revisión de la validación de formularios con JavaScript", - "intro": [ - "Antes de que te cuestionen sobre la validación de formularios, debes repasar lo que has aprendido.", - "Abra esta página para revisar conceptos, incluido el método preventDefault(), el evento de envío y más." - ] - }, - "quiz-form-validation-with-javascript": { - "title": "Cuestionario sobre validación de formularios con JavaScript", - "intro": [ - "Pon a prueba lo que has aprendido sobre la validación de formularios de JavaScript con este cuestionario." - ] - }, - "lecture-working-with-dates": { - "title": "Trabajar con fechas", - "intro": [ - "En estas lecciones, aprenderás sobre el objeto de fecha de JavaScript. Aprenderás sobre los métodos para trabajar con fechas y cómo darles formato." - ] - }, - "lab-date-conversion": { - "title": "Cree un programa de conversión de fechas", - "intro": [ - "En este laboratorio, creará un programa para convertir una fecha de un formato a otro." - ] - }, - "review-javascript-dates": { - "title": "Revisión de fechas de JavaScript", - "intro": [ - "Antes de que te pregunten sobre cómo trabajar con fechas, debes repasar lo que has aprendido.", - "Abra esta página para revisar el objeto Date() y los métodos comunes." - ] - }, - "quiz-javascript-dates": { - "title": "Cuestionario sobre fechas en JavaScript", - "intro": [ - "Pon a prueba lo que has aprendido sobre fechas de JavaScript con este cuestionario." - ] - }, - "lecture-working-with-audio-and-video": { - "title": "Trabajar con audio y vídeo", - "intro": [ - "En estas lecciones, aprenderás cómo trabajar con archivos de audio y vídeo usando JavaScript. Aprenderás sobre los constructores Audio y Video, sus métodos y propiedades, formatos de audio y vídeo, códecs, la API HTMLMediaElement y mucho más." - ] - }, - "workshop-music-player": { - "title": "Construir un reproductor de música", - "intro": [ - "En este taller, codificará un reproductor de MP3 básico utilizando HTML, CSS y JavaScript.", - "El proyecto cubre conceptos fundamentales como el manejo de la reproducción de audio, la gestión de una lista de reproducción, la implementación de funcionalidades de reproducción, pausa, siguiente y anterior y la actualización dinámica de su interfaz de usuario en función de la canción actual." - ] - }, - "lab-drum-machine": { - "title": "Construir una caja de ritmos", - "intro": [ - "En este laboratorio, utilizará el elemento audio para construir una caja de ritmos." - ] - }, - "review-javascript-audio-and-video": { - "title": "Reseña de audio y video de JavaScript", - "intro": [ - "Antes de que te pregunten sobre cómo trabajar con audio y video en JavaScript, debes repasar lo que has aprendido sobre ellos.", - "Abra esta página para revisar conceptos, incluido el constructor Audio, la API HTMLMediaElement y más." - ] - }, - "quiz-javascript-audio-and-video": { - "title": "Cuestionario de audio y video sobre JavaScript", - "intro": [ - "Pon a prueba lo que has aprendido sobre audio y vídeo en JavaScript con este cuestionario." - ] - }, - "lecture-working-with-maps-and-sets": { - "title": "Trabajar con mapas y conjuntos", - "intro": [ - "En estas lecciones, aprenderás sobre Map y Set en JavaScript. También aprenderás cómo ambos difieren de WeakSets y WeakMaps." - ] - }, - "workshop-plant-nursery-catalog": { - "title": "Construya un catálogo de vivero de plantas", - "intro": [ - "En este taller, practicarás el uso de mapas y conjuntos mediante la creación de un catálogo de vivero de plantas." - ] - }, - "lab-voting-system": { - "title": "Construir un sistema de votación", - "intro": [ - "En este laboratorio, construirá un sistema de votación utilizando mapas y conjuntos.", - "Practicará cómo utilizar el objeto Map para almacenar pares clave-valor y el objeto Set para almacenar valores únicos." - ] - }, - "review-javascript-maps-and-sets": { - "title": "Revisión de mapas y conjuntos de JavaScript", - "intro": [ - "Antes de que te examinen sobre mapas y conjuntos de JavaScript, debes repasar lo que has aprendido sobre ellos.", - "Abra esta página para revisar conceptos como los objetos Map y Set, así como WeakSet y WeakMap." - ] - }, - "quiz-javascript-maps-and-sets": { - "title": "Cuestionario sobre mapas y conjuntos de JavaScript", - "intro": [ - "Pon a prueba lo que has aprendido sobre mapas y conjuntos de JavaScript con este cuestionario." - ] - }, - "lecture-working-with-client-side-storage-and-crud-operations": { - "title": "Trabajar con operaciones CRUD y almacenamiento del lado del cliente", - "intro": [ - "En estas lecciones, aprenderás sobre el almacenamiento del lado del cliente y las operaciones CRUD en JavaScript. Aprenderás sobre localStorage y sessionStorage junto con sus métodos y propiedades, cookies, la API de caché, IndexDB y mucho más." - ] - }, - "workshop-todo-app": { - "title": "Cree una aplicación de tareas pendientes utilizando el almacenamiento local", - "intro": [ - "El almacenamiento local es una función del navegador web que permite que las aplicaciones web almacenen pares clave-valor de forma persistente en el navegador de un usuario. Esto permite que las aplicaciones web guarden datos durante una sesión y luego los recuperen en una sesión de página posterior.", - "En este taller, aprenderá cómo manejar entradas de formulario, administrar el almacenamiento local, realizar operaciones CRUD (Crear, Leer, Actualizar, Eliminar) en tareas, implementar escuchas de eventos y alternar elementos de la interfaz de usuario." - ] - }, - "lab-bookmark-manager-app": { - "title": "Cree una aplicación de gestión de marcadores", - "intro": [ - "Para este laboratorio, creará una aplicación de administración de marcadores.", - "Utilizará el almacenamiento local para guardar marcadores y practicará cómo agregar, eliminar y mostrar marcadores." - ] - }, - "review-local-storage-and-crud": { - "title": "Revisión de almacenamiento local y CRUD", - "intro": [ - "Antes de que le pregunten cómo trabajar con localStorage, primero debe repasar los conceptos.", - "Abra esta página para revisar la propiedad localStorage, la propiedad sessionStorage y más." - ] - }, - "quiz-local-storage-and-crud": { - "title": "Cuestionario sobre almacenamiento local y CRUD", - "intro": [ - "Pon a prueba lo que has aprendido sobre almacenamiento local y CRUD con este cuestionario." - ] - }, - "lecture-understanding-how-to-work-with-classes-in-javascript": { - "title": "Entendiendo cómo trabajar con clases en JavaScript", - "intro": [ - "En estas lecciones, aprenderás sobre clases en JavaScript. Aprenderás sobre la herencia, la palabra clave this, las propiedades y métodos estáticos y más." - ] - }, - "workshop-shopping-cart": { - "title": "Crea un carrito de compras", - "intro": [ - "En este taller crearás un carrito de compras utilizando clases de JavaScript.", - "Practicará cómo usar la palabra clave this, crear instancias de clase, implementar métodos para la manipulación de datos y más." - ] - }, - "lab-project-idea-board": { - "title": "Construir un tablero de ideas para proyectos", - "intro": [ - "En este laboratorio, creará un tablero de ideas de proyecto utilizando OOP en JavaScript.", - "Practicarás cómo crear clases, agregar métodos a clases y crear instancias de clases." - ] - }, - "lab-bank-account-manager": { - "title": "Desarrollar un programa de gestión de cuentas bancarias", - "intro": [ - "En este laboratorio, construirá un sistema simple de gestión de transacciones para una cuenta bancaria." - ] - }, - "review-javascript-classes": { - "title": "Revisión de clases de JavaScript", - "intro": [ - "Antes de que te pregunten cómo trabajar con clases, debes repasar lo que has aprendido sobre ellas.", - "Abra esta página para revisar conceptos que incluyen la palabra clave this, herencia de clases y más." - ] - }, - "quiz-javascript-classes": { - "title": "Cuestionario sobre clases de JavaScript", - "intro": [ - "Pon a prueba lo que has aprendido sobre las clases de JavaScript con este cuestionario." - ] - }, - "lecture-understanding-recursion-and-the-call-stack": { - "title": "Comprender la recursión y la pila de llamadas", - "intro": [ - "En esta lección, aprenderás sobre la recursión y la pila de llamadas." - ] - }, - "workshop-decimal-to-binary-converter": { - "title": "Construya un convertidor de decimal a binario", - "intro": [ - "La recursión es un concepto de programación en el que una función se llama a sí misma. Esto puede reducir un problema complejo a subproblemas más simples, hasta que se vuelven fáciles de resolver.", - "En este taller, crearás un conversor de decimal a binario con JavaScript. Practicarás los conceptos fundamentales de la recursión, explorarás la pila de llamadas y crearás una representación visual del proceso de recursión mediante una animación." - ] - }, - "lab-permutation-generator": { - "title": "Construir un generador de permutaciones", - "intro": [ - "En este laboratorio, construirás un generador de permutaciones que produzca todas las permutaciones posibles de una cadena determinada." - ] - }, - "review-recursion": { - "title": "Revisión de recursión", - "intro": [ - "Antes de que te examinen sobre la recursión, debes repasar lo que has aprendido.", - "Abra esta página para revisar qué es la recursión y para qué se utiliza." - ] - }, - "quiz-recursion": { - "title": "Cuestionario de recursión", - "intro": [ - "Pon a prueba tus conocimientos de recursión con este cuestionario." - ] - }, - "lecture-understanding-functional-programming": { - "title": "Entendiendo la programación funcional", - "intro": [ - "En estas lecciones, aprenderás sobre la programación funcional y cómo anidar funciones utilizando una técnica llamada currying." - ] - }, - "workshop-recipe-ingredient-converter": { - "title": "Crea un convertidor de ingredientes de recetas", - "intro": [ - "En las lecciones anteriores, aprendiste los conceptos básicos detrás de la programación funcional y currying.", - "Ahora podrás aplicar lo que has aprendido sobre curry y programación funcional creando una aplicación de conversión de ingredientes de recetas." - ] - }, - "lab-sorting-visualizer": { - "title": "Construir un visualizador de ordenamiento", - "intro": [ - "En este laboratorio, utilizará JavaScript para visualizar los pasos que realiza el algoritmo Bubble Sort para reordenar una matriz de números enteros." - ] - }, - "review-javascript-functional-programming": { - "title": "Revisión de programación funcional en JavaScript", - "intro": [ - "Antes de que te examinen sobre programación funcional, debes repasar lo que has aprendido.", - "Abra esta página para revisar conceptos sobre programación funcional, currificación y más." - ] - }, - "quiz-javascript-functional-programming": { - "title": "Cuestionario de programación funcional en JavaScript", - "intro": [ - "Pon a prueba lo que has aprendido sobre la programación funcional de JavaScript con este cuestionario." - ] - }, - "lecture-understanding-asynchronous-programming": { - "title": "Entendiendo la programación asincrónica", - "intro": [ - "En estas lecciones, aprenderás sobre programación asíncrona en JavaScript. Aprenderás sobre las diferencias entre la programación síncrona y asíncrona, cómo funciona la palabra clave async, la API Fetch, promesas, async/await, la API Geolocation y mucho más." - ] - }, - "workshop-fcc-authors-page": { - "title": "Crear una página de autores de fCC", - "intro": [ - "Un aspecto común del desarrollo web es aprender a obtener datos de una API externa y luego trabajar con JavaScript asincrónico.", - "En este taller practicará cómo usar el método fetch, actualizar dinámicamente el DOM para mostrar los datos obtenidos y paginar sus datos para poder cargar resultados en lotes." - ] - }, - "lab-fcc-forum-leaderboard": { - "title": "Crear una tabla de clasificación del foro fCC", - "intro": [ - "En este laboratorio, practicarás JavaScript asincrónico codificando tu propia tabla de clasificación del foro freeCodeCamp." - ] - }, - "lab-weather-app": { - "title": "Crea una aplicación meteorológica", - "intro": [ - "En este laboratorio crearás una aplicación meteorológica usando una API", - "Practicarás cómo obtener datos de la API, almacenarlos y mostrarlos en tu aplicación." - ] - }, - "review-asynchronous-javascript": { - "title": "Revisión de JavaScript asincrónico", - "intro": [ - "Revise los conceptos de JavaScript asincrónico para prepararse para el próximo examen." - ] - }, - "quiz-asynchronous-javascript": { - "title": "Cuestionario sobre JavaScript asincrónico", - "intro": [ - "Pon a prueba lo que has aprendido sobre JavaScript asincrónico con este cuestionario." - ] - }, - "review-javascript": { - "title": "Revisión de JavaScript", - "intro": [ - "Antes de tomar el examen de preparación de JavaScript, debes repasar todo lo que has aprendido sobre JavaScript.", - "Abra esta página para repasar todos los conceptos enseñados, incluidas variables, cadenas, valores booleanos, funciones, objetos, arreglos, depuración, trabajo con el DOM y más." - ] - }, - "kagw": { - "title": "258", - "intro": [] - }, - "lecture-introduction-to-javascript-libraries-and-frameworks": { - "title": "Introducción a las librerías y estructuras JavaScript", - "intro": [ - "En estas lecciones, recibirás una introducción a las bibliotecas y marcos de JavaScript. Aprenderás sobre las funciones de las bibliotecas y marcos de JavaScript, las aplicaciones de página única (SPA) y los problemas que las rodean, y React, la biblioteca de interfaz de JavaScript más popular." - ] - }, - "workshop-reusable-mega-navbar": { - "title": "Construya una mega barra de navegación reutilizable", - "intro": [ - "En las lecciones anteriores, aprendiste a trabajar con componentes en React.", - "In this workshop, you will build a reusable Navbar component using React." - ] - }, - "lab-reusable-footer": { - "title": "Crea un pie de página reutilizable", - "intro": [ - "En este laboratorio, utilizará React para crear un pie de página reutilizable." - ] - }, - "lecture-working-with-data-in-react": { - "title": "Trabajar con datos en React", - "intro": [ - "En estas lecciones, aprenderás a trabajar con datos en React. Aprenderás sobre props y cómo pasar datos, representación condicional, cómo representar listas y cómo usar estilos en línea." - ] - }, - "workshop-reusable-profile-card-component": { - "title": "Construya un componente de tarjeta de perfil reutilizable", - "intro": [ - "En este taller, aprenderá a trabajar con accesorios mediante la construcción de un componente de tarjeta de perfil reutilizable." - ] - }, - "lab-mood-board": { - "title": "Crea un tablero de estado de ánimo", - "intro": [ - "En este laboratorio, crearás un tablero de estado de ánimo usando React", - "Practicarás cómo pasar datos de un componente principal a un componente secundario usando propiedades." - ] - }, - "review-react-basics": { - "title": "Revisión de los conceptos básicos de React", - "intro": [ - "Revise los conceptos básicos de React para prepararse para el próximo examen." - ] - }, - "quiz-react-basics": { - "title": "Cuestionario sobre los conceptos básicos de React", - "intro": [ - "Pon a prueba tus conocimientos de los conceptos básicos de React con este cuestionario." - ] - }, - "lecture-working-with-state-and-responding-to-events-in-react": { - "title": "Trabajando con Estado y Respondiendo a Eventos en React", - "intro": [ - "En estas lecciones, aprenderás a trabajar con estados y responder a eventos con React." - ] - }, - "workshop-toggle-text-app": { - "title": "Aplicación de Texto Toggle", - "intro": [ - "En este taller, continuarás aprendiendo sobre el hook useState() construyendo una aplicación que oculta y muestra un texto en la pantalla." - ] - }, - "lab-color-picker": { - "title": "Construir una aplicación selector de color", - "intro": [ - "En este laboratorio construirás un selector de colores.", - "Practicarás el uso del estado y hooks para gestionar las propiedades de un elemento." - ] - }, - "lecture-understanding-effects-and-referencing-values-in-react": { - "title": "Entendiendo los Efectos y Referencias de Valores en React", - "intro": [ - "En estas lecciones, aprenderás sobre efectos y referencias de valores con React." - ] - }, - "workshop-fruit-search-app": { - "title": "Construir una Aplicación de Búsqueda de Frutas", - "intro": [ - "En este taller, continuarás aprendiendo sobre el hook useEffect() construyendo una aplicación que obtiene datos de frutas de una API basada en la entrada del usuario y muestra los resultados dinámicamente." - ] - }, - "lab-one-time-password-generator": { - "title": "Construir un Generador de Contraseñas de Un Solo Uso", - "intro": [ - "En este laboratorio construirás un generador de contraseñas de un solo uso.", - "Practicarás usando los ganchos useEffect para crear un temporizador y generar un OTP aleatorio." - ] - }, - "review-react-state-and-hooks": { - "title": "Revisión de Estado y Hooks de React", - "intro": [ - "Antes de ser examinado sobre el estado y los hooks de React, debes repasar lo que has aprendido.", - "Abra esta página para revisar cómo trabajar con el estado, los hooks personalizados y más." - ] - }, - "quiz-react-state-and-hooks": { - "title": "Cuestionario sobre estados y ganchos de React", - "intro": [ - "Pon a prueba lo que has aprendido sobre los hooks useState y useEffect de React con este cuestionario." - ] - }, - "lecture-working-with-forms-in-react": { - "title": "Trabajando con Formularios en React", - "intro": [ - "En estas lecciones, aprenderás a trabajar con formularios en React." - ] - }, - "workshop-superhero-application-form": { - "title": "Construir un Formulario de Aplicación de Superhéroe", - "intro": [ - "En este taller, crearás un formulario de aplicación de superhéroes." - ] - }, - "lab-event-rsvp": { - "title": "Crear una RSVP para un Evento", - "intro": [ - "En este laboratorio, crearás un formulario RSVP para un evento usando React.", - "Practicarás usando el hook useState para gestionar la entrada del formulario y mostrar las respuestas del usuario." - ] - }, - "lecture-working-with-data-fetching-and-memoization-in-react": { - "title": "Trabajando con Obtención de Datos y Memoización en React", - "intro": [ - "En estas lecciones, aprenderás sobre la obtención de datos y la memoización en React." - ] - }, - "workshop-shopping-list-app": { - "title": "Construir una Aplicación de Lista de compras", - "intro": [ - "En este taller, utilizarás los hooks useMemo() y useCallback() en React para construir una aplicación simple de lista de compras. Aprenderás más sobre estado y el ciclo de vida de los componentes de React, y cómo usar la memorización para reducir las re-renderizaciones y hacer que tus aplicaciones sean más eficientes." - ] - }, - "lab-currency-converter": { - "title": "Crea un Convertidor de Moneda", - "intro": [ - "Para este laboratorio, crearás una aplicación de convertidor de monedas.", - "Usarás el estado de React, la memoización y componentes controlados para convertir entre monedas." - ] - }, - "lecture-routing-react-frameworks-and-dependency-management-tools": { - "title": "Enrutamiento, Frameworks de React y Herramientas de Gestión de Dependencias", - "intro": [ - "En estas lecciones, aprenderás sobre el enrutamiento en React, los frameworks de React y las herramientas de gestión de dependencias." - ] - }, - "lab-tic-tac-toe": { - "title": "Construir un juego de Tic-Tac-Toe", - "intro": [ - "En este laboratorio, construirás un juego de Tic-Tac-Toe usando React.", - "Practicarás el manejo del estado, la interacción con el usuario y la actualización dinámica de la interfaz." - ] - }, - "lecture-react-strategies-and-debugging": { - "title": "Estrategias de React y Depuración", - "intro": [ - "En estas lecciones, aprenderás sobre diferentes estrategias y depuración en React." - ] - }, - "review-react-forms-data-fetching-and-routing": { - "title": "Revisión de Formularios, Obtención de Datos y Enrutamiento en React", - "intro": [ - "Antes de realizar el cuestionario sobre formularios de React, obtención de datos y enrutamiento, debes repasar todo lo que has aprendido hasta ahora.", - "Abra esta página para repasar todos los conceptos enseñados, incluyendo enrutamiento, formularios, gestión de estado, perforación de propiedades, obtención de datos y más." - ] - }, - "quiz-react-forms-data-fetching-and-routing": { - "title": "Cuestionario sobre Formularios de React, Obtención de Datos y Enrutamiento", - "intro": [ - "Pon a prueba lo que has aprendido sobre el enrutamiento, los formularios y la obtención de datos con este cuestionario." - ] - }, - "lecture-understanding-performance-in-web-applications": { - "title": "Comprendiendo el Rendimiento en Aplicaciones Web", - "intro": [ - "En estas lecciones, aprenderás sobre el rendimiento en aplicaciones web." - ] - }, - "review-web-performance": { - "title": "Revisión del rendimiento web", - "intro": [ - "Antes de realizar el cuestionario sobre rendimiento web, debes repasar todo lo que has aprendido hasta ahora.", - "Abra esta página para revisar todos los conceptos enseñados, incluidos los INP, las métricas clave para medir el rendimiento, las APIs de rendimiento web y más." - ] - }, - "quiz-web-performance": { - "title": "Cuestionario sobre rendimiento web", - "intro": [ - "Pon a prueba lo que has aprendido sobre rendimiento web con este cuestionario." - ] - }, - "lecture-understanding-the-different-types-of-testing": { - "title": "Comprendiendo los Diferentes Tipos de Pruebas", - "intro": [ - "En estas lecciones, aprenderás sobre los diferentes tipos de pruebas." - ] - }, - "review-testing": { - "title": "Revisión de pruebas", - "intro": [ - "Antes de realizar el cuestionario sobre pruebas, debes repasar todo lo que has aprendido hasta ahora.", - "Abra esta página para revisar todos los conceptos enseñados, incluidas las pruebas unitarias, pruebas end-to-end, pruebas funcionales y más." - ] - }, - "quiz-testing": { - "title": "Prueba de prueba", - "intro": [ - "Pon a prueba lo que has aprendido en las pruebas con este cuestionario." - ] - }, - "lecture-working-with-css-libraries-and-frameworks": { - "title": "Trabajando con Bibliotecas y Frameworks de CSS", - "intro": [ - "En estas lecciones, aprenderás a trabajar con bibliotecas y frameworks CSS." - ] - }, - "workshop-error-message-component": { - "title": "Construir un Componente de Mensaje de Error", - "intro": [ - "En este taller, aprenderás los conceptos básicos de Tailwind CSS construyendo un componente de mensaje de error." - ] - }, - "workshop-tailwind-cta-component": { - "title": "Construir un Componente CTA", - "intro": [ - "En este taller, construirás un componente de llamada a la acción (CTA) usando Tailwind CSS." - ] - }, - "workshop-tailwind-pricing-component": { - "title": "Construir un Componente de Precio", - "intro": [ - "En este taller, construirás un componente de precios usando Tailwind CSS.", - "Practicarás trabajando con clases de utilidad de cuadrícula de Tailwind CSS." - ] - }, - "lab-music-shopping-cart-page": { - "title": "Construir una Página de Carrito de Compras de Música", - "intro": [ - "En este laboratorio, construirás una página de carrito de compras de música con Tailwind CSS.", - "Practicarás trabajando con clases de utilidad de Tailwind CSS para layouts de flexbox, colores, puntos de interrupción y más." - ] - }, - "lab-photography-exhibit": { - "title": "Diseñar una Exhibición de Fotografía", - "intro": [ - "En este laboratorio, practicarás trabajando con Tailwind CSS diseñando una página web de exhibición de fotografía." - ] - }, - "review-css-libraries-and-frameworks": { - "title": "Revisión de bibliotecas y marcos de CSS", - "intro": [ - "Antes de realizar el cuestionario sobre bibliotecas y frameworks de CSS, debes repasar todo lo que has aprendido hasta ahora.", - "Abra esta página para repasar todos los conceptos enseñados, incluidos los frameworks CSS, preprocesadores CSS, Sass y más." - ] - }, - "quiz-css-libraries-and-frameworks": { - "title": "Cuestionario sobre bibliotecas y marcos de CSS", - "intro": [ - "Pon a prueba lo que has aprendido sobre bibliotecas y marcos CSS con este cuestionario." - ] - }, - "lecture-introduction-to-typescript": { - "title": "Introducción a TypeScript", - "intro": [ - "En estas lecciones, aprenderás qué es TypeScript y cómo usarlo." - ] - }, - "lecture-working-with-generics-and-type-narrowing": { - "title": "Trabajando con Genéricos y Estrechamiento de Tipos.", - "intro": [ - "En estas lecciones, aprenderás sobre genéricos y estrechamiento de tipos en TypeScript." - ] - }, - "lecture-working-with-typescript-configuration-files": { - "title": "Trabajando con Archivos de Configuración de TypeScript.", - "intro": [ - "En esta lección, aprenderás sobre los archivos de configuración de TypeScript y cómo usarlos." - ] - }, - "trvf": { - "title": "293", - "intro": [] - }, - "kwmg": { - "title": "294", - "intro": [] - }, - "nodx": { - "title": "295", - "intro": [] - }, - "erfj": { - "title": "296", - "intro": [] - }, - "muyw": { - "title": "297", - "intro": [] - }, - "review-typescript": { - "title": "Revisión de Typescript", - "intro": [ - "Antes de hacer el cuestionario sobre TypeScript, debes repasar todo lo que has aprendido hasta ahora.", - "Abra esta página para revisar todos los conceptos enseñados, incluidos los tipos de datos en TypeScript, los genéricos, el estrechamiento de tipos y más." - ] - }, - "quiz-typescript": { - "title": "Cuestionario sobre TypeScript", - "intro": [ - "Pon a prueba lo que has aprendido sobre Typescript con este cuestionario." - ] - }, - "review-front-end-libraries": { - "title": "Revisión de bibliotecas de interfaz de usuario", - "intro": [ - "Revise los conceptos de las bibliotecas front-end para prepararse para el próximo examen." - ] - }, - "rdzk": { - "title": "301", - "intro": [] - }, - "vtpz": { - "title": "302", - "intro": [] - }, - "lecture-introduction-to-python": { - "title": "Introducción a Python", - "intro": [ - "En estas lecciones, aprenderás los fundamentos de Python. Aprenderás sobre variables, tipos de datos, operadores, flujo de control, funciones y más." - ] - }, - "workshop-caesar-cipher": { - "title": "Construye un Cifrado César", - "intro": [ - "En este taller, construirás un cifrado César usando conceptos básicos de Python como cadenas, condicionales, funciones, y más." - ] - }, - "lab-rpg-character": { - "title": "Construir un Personaje de RPG.", - "intro": [ - "En este laboratorio practicarás el básico de Python construyendo un personaje del RPG." - ] - }, - "review-python-basics": { - "title": "Revisión de conceptos básicos de Python", - "intro": [ - "Antes de que te pregunten sobre los conceptos básicos de Python, debes repasar lo que has aprendido sobre él.", - "En esta página de revisión, repasarás trabajando con cadenas, funciones, operadores de comparación y más." - ] - }, - "quiz-python-basics": { - "title": "Cuestionario sobre Conceptos Básicos de Python", - "intro": [ - "Pon a prueba lo que has aprendido sobre los conceptos básicos de Python con este cuestionario." - ] - }, - "lecture-working-with-loops-and-sequences": { - "title": "Trabajando con Bucles y Secuencias", - "intro": [ - "Aprenderás sobre el trabajo con bucles y secuencias en estas lecciones." - ] - }, - "workshop-pin-extractor": { - "title": "Construir un Extractor de PIN", - "intro": [ - "En este taller construirás una función para extraer pines secretos ocultos en poemas." - ] - }, - "lab-number-pattern-generator": { - "title": "Construir un Generador de Patrones Numéricos", - "intro": [ - "En este laboratorio construirás un generador de patrones numéricos." - ] - }, - "review-loops-and-sequences": { - "title": "Revisión de Bucles y Secuencias", - "intro": [ - "Antes de que te pregunten sobre bucles y secuencias, debes repasar lo que has aprendido sobre ellos.", - "Abra esta página para revisar conceptos sobre bucles, listas, tuplas y algunos de sus métodos comunes." - ] - }, - "quiz-loops-and-sequences": { - "title": "Cuestionario de Bucles y Secuencias", - "intro": [ - "Pon a prueba lo que has aprendido sobre bucles y secuencias en Python con este cuestionario." - ] - }, - "lecture-working-with-dictionaries-and-sets": { - "title": "Trabajando con Diccionarios y Conjuntos", - "intro": [ - "Aprenderás sobre el trabajo con diccionarios y conjuntos en estas lecciones." - ] - }, - "lecture-working-with-modules": { - "title": "Trabajando con Módulos", - "intro": ["Aprenderás sobre el trabajo con módulos en estas lecciones."] - }, - "workshop-medical-data-validator": { - "title": "Construir un Validador de Datos Médicos", - "intro": [ - "En este taller, practicarás trabajando con diccionarios y conjuntos validando una colección de datos médicos." - ] - }, - "lab-user-configuration-manager": { - "title": "Construir un Gestor de Configuración de Usuario", - "intro": [ - "En este laboratorio, practicarás trabajando con diccionarios en Python." - ] - }, - "review-dictionaries-and-sets": { - "title": "Revisión de Diccionarios y Conjuntos", - "intro": [ - "Antes de que te pregunten sobre diccionarios y conjuntos, debes repasar lo que has aprendido sobre ellos.", - "Abre esta página para revisar conceptos sobre diccionarios, conjuntos y cómo importar módulos." - ] - }, - "quiz-dictionaries-and-sets": { - "title": "Cuestionario de Diccionarios y Conjuntos", - "intro": [ - "Pon a prueba lo que has aprendido sobre diccionarios y conjuntos en Python con este cuestionario." - ] - }, - "lecture-understanding-error-handling": { - "title": "Entendiendo el Manejo de Errores", - "intro": [ - "En estas lecciones, aprenderás sobre el manejo de errores en Python. Aprenderás sobre los diferentes tipos de errores, algunas buenas prácticas de depuración, qué son las excepciones y cómo manejarlas." - ] - }, - "lab-isbn-validator": { - "title": "Depurar un Validador de ISBN", - "intro": [ - "En este laboratorio, comenzarás con una aplicación con errores, y necesitarás depurar y corregir los errores hasta que funcione correctamente." - ] - }, - "review-error-handling": { - "title": "Revisión del Manejo de Errores", - "intro": [ - "Antes de que te pregunten sobre manejo de errores, debes repasar lo que has aprendido sobre eso." - ] - }, - "quiz-error-handling": { - "title": "Cuestionario de Manejo de Errores", - "intro": [ - "Pon a prueba lo que has aprendido sobre el Manejo de Errores en Python con este cuestionario." - ] - }, - "lecture-classes-and-objects": { - "title": "Clases y Objetos", - "intro": ["Aprenderás sobre clases y objetos en estas lecciones."] - }, - "workshop-musical-instrument-inventory": { - "title": "Construir un Inventario de Instrumentos Musicales.", - "intro": [ - "En este taller, aprenderás sobre clases, objetos y métodos en Python construyendo un simple inventario de instrumentos musicales." - ] - }, - "lab-planet-class": { - "title": "Construir una Clase de Planeta", - "intro": [ - "En este laboratorio crearás una clase que representa un planeta." - ] - }, - "workshop-email-simulator": { - "title": "Construir un Simulador de Correos Electrónicos", - "intro": [ - "En este taller implementarás clases y objetos creando un simulador de correos electrónicos que simula el envío, recepción y gestión de correos entre diferentes usuarios." - ] - }, - "lab-budget-app": { - "title": "Construir una Aplicación de Presupuesto", - "intro": [ - "En este laboratorio construirás una aplicación de presupuesto y practicarás creando una clase y métodos para esa clase." - ] - }, - "review-classes-and-objects": { - "title": "Revisión de Clases y Objetos", - "intro": [ - "Antes de que te pregunten sobre clases y objetos, debes repasar lo que has aprendido sobre ellos.", - "Abre esta página para revisar conceptos como cómo funcionan las clases, qué son los objetos, métodos, atributos, métodos especiales y más." - ] - }, - "quiz-classes-and-objects": { - "title": "Cuestionario de Clases y Objetos", - "intro": [ - "Pon a prueba lo que has aprendido sobre clases y objetos en Python con este cuestionario." - ] - }, - "lecture-understanding-object-oriented-programming-and-encapsulation": { - "title": "Comprendiendo la Programación Orientada a Objetos y la Encapsulación", - "intro": [ - "Aprende sobre la Comprensión de la Programación Orientada a Objetos y la Encapsulación en estas lecciones." - ] - }, - "workshop-salary-tracker": { - "title": "Construir un Rastreador de Sueldos", - "intro": [ - "En este taller, practicarás la encapsulación, propiedades y otros conceptos de POO construyendo un sistema de seguimiento de sueldos para empleados." - ] - }, - "lab-game-character-stats": { - "title": "Construir un Rastreador de Estadísticas de Personajes de Juego.", - "intro": [ - "En este laboratorio, construirás un personaje de juego con diferentes estadísticas utilizando programación orientada a objetos." - ] - }, - "lecture-understanding-inheritance-and-polymorphism": { - "title": "Entendiendo la Herencia y el Polimorfismo", - "intro": [ - "Aprende sobre la Comprensión de la Herencia y el Polimorfismo en estas lecciones." - ] - }, - "workshop-media-catalogue": { - "title": "Construir un Catálogo de Medios.", - "intro": [ - "En este taller, crearás una aplicación de catálogo de medios usando principios de programación orientada a objetos." - ] - }, - "lab-polygon-area-calculator": { - "title": "Desarrolla un Calculador de Área de Polígonos", - "intro": [ - "En este laboratorio, utilizarás la programación orientada a objetos para calcular las áreas de diferentes polígonos como cuadrados y rectángulos." - ] - }, - "lecture-understanding-abstraction": { - "title": "Entendiendo la Abstracción", - "intro": [ - "Aprende sobre la Comprensión de la Abstracción en estas lecciones." - ] - }, - "workshop-discount-calculator": { - "title": "Construir una Calculadora de Descuentos.", - "intro": [ - "En este taller, construirás una calculadora de precios de descuento flexible a través de clases base abstractas, lo que permite que se apliquen múltiplos algoritmos de descuento de manera intercambiable sin modificar la lógica central." - ] - }, - "lab-player-interface": { - "title": "Cree una Interfaz de Jugador.", - "intro": [ - "En este laboratorio, utilizarás el módulo abc para crear una interfaz de jugador." - ] - }, - "review-object-oriented-programming": { - "title": "Revisión de la Programación Orientada a Objetos", - "intro": [ - "Antes de que te pregunten sobre programación orientada a objetos, debes repasar lo que has aprendido sobre eso." - ] - }, - "quiz-object-oriented-programming": { - "title": "Cuestionario de Programación Orientada a Objetos", - "intro": [ - "Pon a prueba lo que has aprendido sobre programación orientada a objetos en Python con este cuestionario." - ] - }, - "lecture-working-with-common-data-structures": { - "title": "Trabajando con Estructuras de Datos Comunes", - "intro": [ - "Aprende sobre Trabajar con Estructuras de Datos Comunes en estas lecciones." - ] - }, - "workshop-linked-list-class": { - "title": "Construir una Lista Enlazada", - "intro": [ - "En este taller, practicarás con estructuras de datos construyendo una lista enlazada." - ] - }, - "lab-hash-table": { - "title": "Construir una Tabla Hash", - "intro": [ - "Una tabla hash es una estructura de datos que se utiliza para almacenar pares clave-valor y está optimizada para búsquedas rápidas.", - "En este laboratorio, utilizarás tu conocimiento sobre estructuras de datos para construir una tabla hash." - ] - }, - "review-data-structures": { - "title": "Revisión de Estructuras de Datos", - "intro": [ - "Antes de que te pregunten sobre estructuras de datos, debes repasar lo que has aprendido sobre ellas.", - "Abre esta página para revisar conceptos como las diferentes estructuras de datos, algoritmos, complejidad de tiempo y espacio, y notación big O." - ] - }, - "quiz-data-structures": { - "title": "Cuestionario de Estructuras de Datos", - "intro": [ - "Pon a prueba lo que has aprendido sobre estructuras de datos en Python con este cuestionario." - ] - }, - "lecture-searching-and-sorting-algorithms": { - "title": "Buscando y Ordenando Algoritmos", - "intro": [ - "Aprende sobre los algoritmos fundamentales de búsqueda y ordenamiento, incluidos el de búsqueda lineal, búsqueda binaria y ordenación por fusión.", - "Estas lecciones cubren implementaciones de algoritmos, análisis de complejidad temporal y espacial, y el paradigma de programación dividir y conquistar." - ] - }, - "workshop-binary-search": { - "title": "Implementar el Algoritmo de Búsqueda Binaria", - "intro": [ - "El algoritmo de búsqueda binaria es un algoritmo de búsqueda utilizado para encontrar un elemento objetivo en una lista ordenada.", - "En este taller, implementarás el algoritmo de búsqueda binaria y devolverás el camino tomado para encontrar el objetivo o retornar \"Valor no encontrado\"." - ] - }, - "lab-bisection-method": { - "title": "Implementar el Método de Bisección", - "intro": [ - "En este laboratorio, implementarás el método de bisección para encontrar la raíz cuadrada de un número." - ] - }, - "workshop-merge-sort": { - "title": "Implementar el Algoritmo de Mezcla y Ordenación", - "intro": [ - "El algoritmo de mezcla y ordenación es un algoritmo de ordenación basado en el principio de dividir y conquistar.", - "En este taller, implementarás el algoritmo de mezcla y ordenación para ordenar una lista de números aleatorios." - ] - }, - "lab-quicksort": { - "title": "Implementar el Algoritmo de Quicksort", - "intro": [ - "En este laboratorio implementarás el algoritmo de quicksort para ordenar una lista de enteros." - ] - }, - "lab-selection-sort": { - "title": "Implementar el Algoritmo de Ordenación por Selección", - "intro": [ - "En este laboratorio, implementarás el algoritmo de ordenación por selección." - ] - }, - "lab-luhn-algorithm": { - "title": "Implementar el Algoritmo de Luhn", - "intro": [ - "En este laboratorio, implementarás el algoritmo de Luhn para validar números de identificación como los números de tarjetas de crédito." - ] - }, - "lab-tower-of-hanoi": { - "title": "Implementar el Algoritmo de la Torre de Hanoi", - "intro": [ - "En este laboratorio, implementarás un algoritmo para resolver el rompecabezas de la Torre de Hanoi." - ] - }, - "review-searching-and-sorting-algorithms": { - "title": "Revisión de Algoritmos de Búsqueda y Ordenamiento", - "intro": [ - "Antes de que te pregunten sobre algoritmos de búsqueda y ordenación, debes repasar lo que has aprendido sobre ellos." - ] - }, - "quiz-searching-and-sorting-algorithms": { - "title": "Cuestionario de Algoritmos de Búsqueda y Ordenación", - "intro": [ - "Pon a prueba lo que has aprendido sobre algoritmos de búsqueda y ordenación en Python con este cuestionario." - ] - }, - "lecture-understanding-graphs-and-trees": { - "title": "Comprensión de Gráficas y Árboles", - "intro": [ - "En esta lección, aprenderás sobre estructuras de datos fundamentales como gráficos, árboles y sus aplicaciones prácticas en la informática." - ] - }, - "workshop-shortest-path-algorithm": { - "title": "Implementar el Algoritmo de Ruta más Corta.", - "intro": [ - "En este taller implementarás el algoritmo de la ruta más corta para encontrar la ruta más corta entre dos nodos en un grafo." - ] - }, - "lab-adjacency-list-to-matrix-converter": { - "title": "Construir un Convertidor de Lista de Adyacencia a Matriz", - "intro": [ - "En este laboratorio, implementarás una función que convierte una representación de lista de adyacencia de un grafo en una representación de matriz de adyacencia." - ] - }, - "workshop-breadth-first-search": { - "title": "Implementar el Algoritmo de Búsqueda por Amplitud", - "intro": [ - "En este taller, usarás el algoritmo de búsqueda por amplitud para generar todas las combinaciones válidas de paréntesis." - ] - }, - "lab-depth-first-search": { - "title": "Implementar el Algoritmo de Búsqueda en Profundidad.", - "intro": [ - "En este laboratorio, implementarás el Algoritmo de Búsqueda en Profundidad." - ] - }, - "lab-n-queens-problem": { - "title": "Implementar el Problema de las N-Reinas", - "intro": [ - "En este laboratorio, implementarás una solución para el problema de las N-Reinas." - ] - }, - "review-graphs-and-trees": { - "title": "Revisión de Gráficas y Árboles", - "intro": [ - "Antes de que te pregunten sobre gráficas y árboles, debes repasar lo que has aprendido sobre ellos." - ] - }, - "quiz-graphs-and-trees": { - "title": "Cuestionario de Gráficas y Árboles", - "intro": [ - "Pon a prueba lo que has aprendido sobre gráficas y árboles en Python con este cuestionario." - ] - }, - "lecture-understanding-dynamic-programming": { - "title": "Comprendiendo la Programación Dinámica", - "intro": [ - "En esta lección, aprenderás sobre la programación dinámica, una técnica algorítmica que se utiliza para resolver problemas complejos de manera eficiente al desglosarlos en subproblemas más simples." - ] - }, - "lab-nth-fibonacci-number": { - "title": "Construye el Generador de Números de Fibonacci enésimos", - "intro": [ - "En este laboratorio implementarás una calculadora de la secuencia de Fibonacci utilizando un enfoque de programación dinámica." - ] - }, - "review-dynamic-programming": { - "title": "Revisión de Programación Dinámica", - "intro": [ - "Antes de que te pregunten sobre programación dinámica, debes repasar lo que has aprendido sobre eso." - ] - }, - "quiz-dynamic-programming": { - "title": "Cuestionario de Programación Dinámica", - "intro": [ - "Pon a prueba lo que has aprendido sobre programación dinámica en Python con este cuestionario." - ] - }, - "review-python": { - "title": "Revisión de Python", - "intro": [ - "Revise los conceptos de Python para prepararse para el próximo examen." - ] - }, - "lecture-understanding-the-command-line-and-working-with-bash": { - "title": "Entendiendo la Línea de Comandos y Trabajando con Bash", - "intro": [ - "Aprende sobre la Línea de Comandos y Trabajar con Bash en estas lecciones." - ] - }, - "workshop-bash-boilerplate": { - "title": "Construir un texto estándar", - "intro": [ - "La terminal le permite enviar comandos de texto a su computadora que pueden manipular el sistema de archivos, ejecutar programas, automatizar tareas y mucho más.", - "En este taller de 170 lecciones, aprenderá comandos de terminal creando un código repetitivo de sitio web usando solo la línea de comandos." - ] - }, - "review-bash-commands": { - "title": "Revisión de comandos Bash", - "intro": [ - "Revise los conceptos de los comandos Bash para prepararse para el próximo examen." - ] - }, - "quiz-bash-commands": { - "title": "Cuestionario sobre comandos Bash", - "intro": [ - "Pon a prueba lo que has aprendido sobre los comandos bash con este cuestionario." - ] - }, - "lecture-working-with-relational-databases": { - "title": "Trabajando con Bases de Datos Relacionales", - "intro": [ - "Aprende cómo trabajar con Bases de Datos Relacionales en estas lecciones." - ] - }, - "workshop-database-of-video-game-characters": { - "title": "Construir una base de datos de personajes de videojuegos", - "intro": [ - "Una base de datos relacional organiza datos en tablas que están vinculadas entre sí a través de relaciones.", - "En este taller de 165 lecciones, aprenderás los fundamentos de una base de datos relacional creando una base de datos de PostgreSQL llena de personajes de videojuegos." - ] - }, - "lab-celestial-bodies-database": { - "title": "Construir una base de datos de cuerpos celestes", - "intro": [ - "Para este proyecto, construirá una base de datos de cuerpos celestes utilizando PostgreSQL." - ] - }, - "review-sql-and-postgresql": { - "title": "Revisión de SQL y PostgreSQL", - "intro": [ - "Revise los conceptos de SQL y PostgreSQL para prepararse para el próximo cuestionario." - ] - }, - "quiz-sql-and-postgresql": { - "title": "Cuestionario de SQL y PostgreSQL", - "intro": [ - "Pruebe lo que ha aprendido sobre SQL y PostgreSQL con este cuestionario." - ] - }, - "lecture-understanding-bash-scripting": { - "title": "Entendiendo el Scripting de Bash", - "intro": ["Aprende sobre Scripts Bash en estas lecciones."] - }, - "workshop-bash-five-programs": { - "title": "Construir cinco programas", - "intro": [ - "Los scripts Bash combinan comandos de terminal y lógica en programas que pueden ejecutar o automatizar tareas y mucho más.", - "En este taller de 220 lecciones, aprenderá más comandos de terminal y cómo usarlos dentro de scripts Bash creando cinco programas pequeños." - ] - }, - "review-bash-scripting": { - "title": "Revisión de scripts de Bash", - "intro": [ - "Revise los conceptos de scripts de bash que ha aprendido para prepararse para el próximo examen." - ] - }, - "quiz-bash-scripting": { - "title": "Cuestionario sobre scripts en Bash", - "intro": [ - "Pon a prueba lo que has aprendido sobre scripts de bash en este cuestionario" - ] - }, - "lecture-working-with-sql": { - "title": "Trabajando con SQL", - "intro": [ - "En estas lecciones, aprenderás sobre inyección de SQL, normalización y el problema N+1." - ] - }, - "workshop-sql-student-database-part-1": { - "title": "Crear una base de datos de estudiantes: Parte 1", - "intro": [ - "SQL, o lenguaje de consulta estructurado, es el lenguaje para comunicarse con una base de datos relacional.", - "En este taller de 140 lecciones, creará un script Bash que usa SQL para ingresar información sobre sus estudiantes de informática en PostgreSQL." - ] - }, - "workshop-sql-student-database-part-2": { - "title": "Construir una base de datos de estudiantes: Parte 2", - "intro": [ - "Los comandos de unión SQL se utilizan para combinar información de varias tablas en una base de datos relacional", - "En este taller de 140 lecciones, completará su base de datos de estudiantes mientras profundiza en los comandos SQL." - ] - }, - "lab-world-cup-database": { - "title": "Crear una base de datos de la Copa del Mundo", - "intro": [ - "Para este proyecto, creará un script Bash que ingrese información de los juegos de la Copa del Mundo en PostgreSQL y luego consultará la base de datos para obtener estadísticas útiles." - ] - }, - "workshop-kitty-ipsum-translator": { - "title": "Construya un traductor Kitty Ipsum", - "intro": [ - "Los comandos Bash implican mucho más de lo que te imaginas.", - "En este taller de 140 lecciones, aprenderá algunos comandos más complejos y los detalles de cómo funcionan los comandos." - ] - }, - "workshop-bike-rental-shop": { - "title": "Construir una tienda de alquiler de bicicletas", - "intro": [ - "En este taller de 210 lecciones, creará un programa Bash interactivo que almacena información de alquiler para su tienda de alquiler de bicicletas utilizando PostgreSQL." - ] - }, - "lab-salon-appointment-scheduler": { - "title": "Cree un programador de citas para el salón", - "intro": [ - "Para este laboratorio, creará un programa Bash interactivo que utiliza PostgreSQL para realizar un seguimiento de los clientes y las citas de su salón." - ] - }, - "review-bash-and-sql": { - "title": "Revisión de Bash y SQL", - "intro": [ - "Revise los conceptos de Bash y SQL para prepararse para el próximo examen." - ] - }, - "quiz-bash-and-sql": { - "title": "Cuestionario sobre Bash y SQL", - "intro": [ - "Pon a prueba lo que has aprendido en este cuestionario sobre Bash y SQL" - ] - }, - "lecture-working-with-nano": { - "title": "Trabajando con Nano", - "intro": ["Aprende sobre Nano en esta lección."] - }, - "workshop-castle": { - "title": "Construir un castillo", - "intro": [ - "Nano es un programa que te permite editar archivos directamente en la terminal.", - "En este taller de 40 lecciones, aprenderá a editar archivos en la terminal con Nano mientras construye un castillo." - ] - }, - "lecture-introduction-to-git-and-github": { - "title": "Introducción a Git y GitHub.", - "intro": ["Aprende cómo trabajar con Git y GitHub en estas lecciones."] - }, - "lecture-working-with-code-reviews-branching-deployment-and-ci-cd": { - "title": "Trabajando con Revisiones de Código, Ramificación, Despliegue y CI/CD.", - "intro": [ - "Aprende sobre revisiones de código, branch, implementación y CI/CD en estas lecciones." - ] - }, - "workshop-sql-reference-object": { - "title": "Crear un objeto de referencia SQL", - "intro": [ - "Git es un sistema de control de versiones que realiza un seguimiento de todos los cambios que realiza en su base de código.", - "En este taller de 240 lecciones, aprenderá cómo Git realiza un seguimiento de su código al crear un objeto que contiene comandos SQL de uso común." - ] - }, - "lab-periodic-table-database": { - "title": "Construir una base de datos de la tabla periódica", - "intro": [ - "Para este laboratorio, creará un script Bash para obtener información sobre elementos químicos de una base de datos de tabla periódica." - ] - }, - "lab-number-guessing-game": { - "title": "Construye un juego de adivinanzas de números", - "intro": [ - "En este laboratorio, utilizará scripts de Bash, PostgreSQL y Git para crear un juego de adivinanzas de números que se ejecuta en la terminal y guarda la información del usuario." - ] - }, - "review-git": { - "title": "Revisión de Git", - "intro": [ - "Revise los conceptos de Git para prepararse para el próximo examen." - ] - }, - "quiz-git": { - "title": "Quiz de Git", - "intro": [ - "Pon a prueba lo que has aprendido sobre Git con este cuestionario." - ] - }, - "review-relational-databases": { - "title": "Reviso en base de datos relacionales", - "intro": [ - "Revise los conceptos de bases de datos relacionales para prepararse para el examen." - ] - }, - "lecture-understanding-the-http-request-response-model": { - "title": "Comprender el Modelo de Solicitud-Respuesta HTTP", - "intro": [ - "Aprende los conceptos básicos de cómo funciona la comunicación web a través del modelo de solicitud-respuesta HTTP, explora diferentes tipos de activos y respuestas web, y comprende cómo los formularios manejan el envío de datos utilizando varios métodos HTTP." - ] - }, - "exam-certified-full-stack-developer": { - "title": "Examen de desarollador Full-Stack certificado", - "intro": [ - "Pasa este examen para volverse en un desarrollador Full-Stack certificado." - ] - } - } - }, "javascript-v9": { "title": "Certificación de JavaScript", "intro": [ @@ -6518,6 +3122,12 @@ "En esta conferencia, aprenderás sobre la recursión y la pila de llamadas." ] }, + "workshop-countup": { + "title": "Build a Countup", + "intro": [ + "In this workshop you will build a countdown function that returns an array of numbers counting up from 1 to a given number." + ] + }, "lab-countdown": { "title": "Construye una cuenta regresiva", "intro": [ @@ -6531,6 +3141,13 @@ "En este taller, crearás un conversor de decimal a binario usando JavaScript. Practicarás los conceptos fundamentales de la recursión, explorarás la pila de llamadas y crearás una representación visual del proceso de recursión a través de una animación." ] }, + "lab-range-of-numbers": { + "title": "Build a Range of Numbers Generator", + "intro": [ + "In this lab, you'll use recursion to generate an array of numbers within a specified range.", + "You'll practice recursive function calls, base cases, and building arrays through recursion." + ] + }, "lab-permutation-generator": { "title": "Construir un Generador de Permutaciones", "intro": [ @@ -6557,6 +3174,12 @@ "These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm." ] }, + "lecture-understanding-graphs-and-trees-js": { + "title": "Understanding Graphs and Trees", + "intro": [ + "In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science." + ] + }, "lecture-understanding-functional-programming": { "title": "Entender la Programación Funcional", "intro": [ @@ -7270,6 +3893,12 @@ "En este laboratorio, utilizarás programación orientada a objetos para calcular las áreas de diferentes polígonos como los cuadrados y rectángulos." ] }, + "lab-discount-calculator": { + "title": "Build a Discount Calculator", + "intro": [ + "In this lab, you will practice basic Python by building a calculator to apply a discount to a price." + ] + }, "lecture-understanding-abstraction": { "title": "Comprensión de la Abstracción", "intro": [ diff --git a/client/i18n/locales/espanol/translations.json b/client/i18n/locales/espanol/translations.json index e9929af2377..0aa0f5f3fd7 100644 --- a/client/i18n/locales/espanol/translations.json +++ b/client/i18n/locales/espanol/translations.json @@ -291,7 +291,7 @@ "reset-editor-layout": "Restablecer el diseño del editor", "shortcuts-explained": "Dentro de un desafío, pulse ESC seguido del signo de interrogación para mostrar una lista de atajos disponibles.", "username": { - "contains invalid characters": "El nombre de usuario \"{{username}}\" contiene caracteres inválidos", + "contains invalid characters": "Username \"{{username}}\" contains invalid characters. Use only alphanumeric values like 'camperbot', or 'camperbot123'.", "is too short": "El nombre de usuario \"{{username}}\" es demasiado corto", "is a reserved error code": "El nombre de usuario \"{{username}}\" es un código de error reservado", "must be lowercase": "El nombre de usuario \"{{username}}\" debe estar en minúscula", diff --git a/client/i18n/locales/german/intro.json b/client/i18n/locales/german/intro.json index 7bbec86b747..5feeecf224f 100644 --- a/client/i18n/locales/german/intro.json +++ b/client/i18n/locales/german/intro.json @@ -1954,3346 +1954,6 @@ } } }, - "full-stack-developer": { - "title": "Certified Full Stack Developer Curriculum", - "intro": [ - "This course provides a comprehensive pathway to becoming a Certified Full Stack Developer, covering all the essential technologies required to build modern, scalable web applications from start to finish.", - "Through a blend of interactive lessons, coding exercises, and real-world projects, you will master both frontend and backend development. You'll work with HTML, CSS, and JavaScript to build responsive user interfaces, explore React and TypeScript for advanced web applications, and learn to manage data with relational databases - and on the backend, you'll use Git, Npm, Node.js, and Python to create powerful server-side solutions.", - "By the end of this course, you'll have the practical skills and experience to confidently develop complete web applications, preparing you for a successful career as a Full Stack Developer.", - "This certification will take you a substantial amount of time and effort to complete. If you start now, you may be ready to start the remaining material and final exam when we launch it in the coming months." - ], - "chapters": { - "html": "HTML", - "css": "CSS", - "javascript": "JavaScript", - "frontend-libraries": "Front End Libraries", - "relational-databases": "Relational Databases", - "backend-javascript": "Backend JavaScript", - "python": "Python", - "career": "Career" - }, - "modules": { - "basic-html": "Basic HTML", - "semantic-html": "Semantic HTML", - "html-forms-and-tables": "Forms and Tables", - "html-and-accessibility": "Accessibility", - "review-html": "HTML Review", - "exam-html": "HTML Exam", - "computer-basics": "Computer Basics", - "basic-css": "Basic CSS", - "design-for-developers": "Design", - "absolute-and-relative-units": "Absolute and Relative Units", - "pseudo-classes-and-elements": "Pseudo Classes and Elements", - "css-colors": "Colors", - "styling-forms": "Styling Forms", - "css-box-model": "The Box Model", - "css-flexbox": "Flexbox", - "css-typography": "Typography", - "css-and-accessibility": "Accessibility", - "attribute-selectors": "Attribute Selectors", - "css-positioning": "Positioning", - "responsive-design": "Responsive Design", - "css-variables": "Variables", - "css-grid": "Grid", - "css-animations": "Animations", - "review-css": "CSS Review", - "exam-css": "CSS Exam", - "code-editors": "Code Editors", - "javascript-variables-and-strings": "Variables and Strings", - "javascript-booleans-and-numbers": "Booleans and Numbers", - "javascript-functions": "Functions", - "javascript-arrays": "Arrays", - "javascript-objects": "Objects", - "javascript-loops": "Loops", - "review-javascript-fundamentals": "JavaScript Fundamentals Review", - "higher-order-functions-and-callbacks": "Higher Order Functions and Callbacks", - "dom-manipulation-and-events": "DOM Manipulation and Events", - "js-a11y": "JavaScript and Accessibility", - "debugging-javascript": "Debugging", - "basic-regex": "Basic Regex", - "form-validation": "Form Validation", - "javascript-dates": "Dates", - "audio-and-video-events": "Audio and Video Events", - "maps-and-sets": "Maps and Sets", - "localstorage-and-crud-operations": "localStorage and CRUD Operations", - "classes-and-the-this-keyword": "Classes", - "recursion": "Recursion", - "functional-programming": "Functional Programming", - "asynchronous-javascript": "Asynchronous JavaScript", - "review-javascript": "JavaScript Review", - "exam-javascript": "JavaScript Exam", - "react-fundamentals": "React Fundamentals", - "react-state-hooks-and-routing": "React State, Hooks, and Routing", - "performance": "Performance", - "testing": "Testing", - "css-libraries-and-frameworks": "CSS Libraries and Frameworks", - "data-visualization": "Data Visualization and D3", - "typescript-fundamentals": "TypeScript Fundamentals", - "review-front-end-libraries": "Front End Libraries Review", - "exam-front-end-libraries": "Front End Libraries Exam", - "python-basics": "Python Basics", - "python-loops-and-sequences": "Loops and Sequences", - "python-dictionaries-and-sets": "Dictionaries and Sets", - "python-error-handling": "Error Handling", - "python-classes-and-objects": "Classes and Objects", - "python-object-oriented-programming": "Object-Oriented Programming (OOP)", - "python-linear-data-structures": "Linear Data Structures", - "python-algorithms": "Algorithms", - "python-graphs-and-trees": "Graphs and Trees", - "python-dynamic-programming": "Dynamic Programming", - "review-python": "Python Review", - "exam-python": "Python Exam", - "bash-fundamentals": "Bash Fundamentals", - "sql-and-postgresql": "SQL and PostgreSQL", - "bash-scripting": "Bash Scripting", - "sql-and-bash": "SQL and Bash", - "git": "Git", - "review-relational-databases": "Relational Databases Review", - "exam-relational-databases": "Relational Databases Exam", - "nodejs-core-libraries": "Node.js Core Libraries", - "node-package-manager": "Node Package Manager", - "http-and-the-web-standards-model": "HTTP and the Web Standards Model", - "rest-api-and-web-services": "REST API and Web Services", - "introduction-to-express": "Introduction to Express", - "express-middleware": "Express Middleware", - "error-handling-in-express": "Error Handling in Express", - "websockets": "WebSockets", - "node-and-sql": "Node and SQL", - "security-and-privacy": "Security and Privacy", - "authentication": "Authentication", - "tooling-and-deployment": "Tooling and Deployment", - "how-to-get-a-developer-job": "How to Get a Developer Job", - "capstone-project": "Capstone Project", - "certified-full-stack-developer-exam": "Certified Full Stack Developer Exam" - }, - "module-intros": { - "data-visualization": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will be introduced to data visualization and learn how to work with the D3 library." - ] - }, - "typescript-fundamentals": { - "note": "Coming Fall 2025", - "intro": [ - "In this module, you will be introduced to TypeScript, which is a superset of JavaScript that allows you to add static typing to your JavaScript code. You will build several workshops and labs that will give you practice in working with generics, type narrowing, TSX, and more. Then you will test your knowledge of TypeScript fundamentals with a short quiz." - ] - }, - "python-classes-and-objects": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to work with classes, methods, attributes and properties. Then, you will build out workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-object-oriented-programming": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about Object-oriented programming concepts like encapsulation, inheritance, polymorphism, and more. You will build out workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-linear-data-structures": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about data structures including stacks, queues, linked lists, and more. You will build out a workshop and lab to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-algorithms": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about common algorithms including binary search, merge sort, selection sort, and more. You will build workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-graphs-and-trees": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about graphs in computer science as well as adjacency lists, trees, tries, and more. You will build workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-dynamic-programming": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about dynamic programming and practice these concepts by building a fibonacci sequence lab. Then you will take a short quiz to test your knowledge." - ] - }, - "bash-fundamentals": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about the command line and common Bash commands. Then you will practice your skills with a workshop and take a short quiz to test your knowledge." - ] - }, - "sql-and-postgresql": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to work with relational databases which store data as collections in tables. Some of the concepts you will learn about include inserting and viewing table data, primary and foreign keys in SQL, and more. Then you will build out a workshop and lab to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "bash-scripting": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about bash scripting and practice those skills by building five programs. Then you will be able to test your knowledge of these concepts by taking a short quiz." - ] - }, - "sql-and-bash": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about normalization, SQL injection, and the N+1 problem. Then you will get to practice working with SQL and Bash by building several workshops and labs. Then you will be able to test your knowledge of these concepts by taking a short quiz." - ] - }, - "git": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to use Git, Nano, and GitHub. Then you will get to practice working with Git by building several workshops and labs. You will be able to test your knowledge of these concepts by taking a short quiz." - ] - }, - "introduction-to-nodejs": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to Node.js, which is a JavaScript runtime environment that allows you to build backend applications using JavaScript. You will get to practice fundamental concepts by building a small workshop and test your knowledge with a short quiz." - ] - }, - "nodejs-core-libraries": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about common Node.js core libraries including the fs, os, path and more. Then you will get to practice what you have learned through workshops and labs and test your knowledge through a short quiz." - ] - }, - "node-package-manager": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to the Node Package Manager, which developers use to manage project dependencies and scripts. Then you will get to practice what you have learned through workshops and labs and test your knowledge with a short quiz." - ] - }, - "http-and-the-web-standards-model": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about HTTP (Hypertext Transfer Protocol) and other important concepts including the request-response model, common response codes, DNS, TCP/IP, and more. Then you will get to practice what you have learned through a build your own web server workshop and test your knowledge with a short quiz." - ] - }, - "rest-api-and-web-services": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about the REST API (Representational State Transfer Application Programming Interface) and how microservices work. Then you will take a short quiz to test your knowledge." - ] - }, - "introduction-to-express": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to Express.js, which is a framework used to build RESTful APIs. Then you will practice your skills through workshops and labs and test your knowledge with a short quiz." - ] - }, - "express-middleware": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about middleware in Express.js, which is used to handle requests and responses between the client and server. You will then practice your skills through a workshop and lab and test your knowledge with a short quiz." - ] - }, - "error-handling-in-express": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about how error handling, debugging, and health checks work in Express.js. You will then practice what you have learned in a lab and test your knowledge with a short quiz." - ] - }, - "websockets": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to websockets, which is a protocol used for real time communication with the client and server. You will then practice what you have learned in labs and workshops and test your knowledge with a short quiz." - ] - }, - "node-and-sql": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will practice building applications with Node and SQL. Then you will take a short quiz to test your knowledge." - ] - }, - "security-and-privacy": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about the differences between security and privacy as well as other concepts including CSPs, Permissions-Policies, PII, working with CORS, and more. Then you will take a short quiz to test your knowledge." - ] - }, - "authentication": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about how authentication works in web applications along with other important concepts including JWTs, CSRFs, Passport, Helmet, cryptography and encryption, and more. You will then practice what you have learned in labs and workshops and test your knowledge with a short quiz." - ] - }, - "tooling-and-deployment": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about common tools used in the industry for deploying your full stack applications. Then you will take a short quiz to test your knowledge." - ] - }, - "how-to-get-a-developer-job": { - "note": "Coming Late 2026", - "intro": [ - "In this module, Quincy Larson (Founder and teacher of freeCodeCamp) will talk about strategies you can use to prepare for getting a developer job. Quincy will cover key subjects including résumés, portfolios, researching the market, preparing for technical interviews, and more." - ] - }, - "capstone-project": { - "note": "Coming Late 2026", - "intro": [ - "This will be your opportunity to build out a full stack application encompassing what you have learned throughout this certification." - ] - }, - "certified-full-stack-developer-exam": { - "note": "Coming Late 2026", - "intro": [ - "This will be a 90 question exam testing what you have learned throughout this certification." - ] - } - }, - "blocks": { - "workshop-curriculum-outline": { - "title": "Build a Curriculum Outline", - "intro": [ - "Welcome to freeCodeCamp!", - "This workshop will serve as your introduction to HTML and coding in general. You will learn about headings and paragraph elements." - ] - }, - "lab-debug-camperbots-profile-page": { - "title": "Debug Camperbot's Profile Page", - "intro": [ - "Camperbot is learning how to code too and needs some help with their HTML.", - "In this lab, you will help Camperbot find and fix the errors in their code." - ] - }, - "lecture-understanding-html-attributes": { - "title": "Understanding HTML Attributes", - "intro": [ - "In these lessons, you will learn more about HTML (HyperText Markup Language), a markup language for creating web pages.", - "You will learn about HTML's role on the web, and what HTML attributes are." - ] - }, - "lab-debug-pet-adoption-page": { - "title": "Debug a Pet Adoption Page", - "intro": [ - "In this lab, you will need to find and fix the errors in this pet adoption page." - ] - }, - "lecture-understanding-the-html-boilerplate": { - "title": "Understanding the HTML Boilerplate", - "intro": [ - "In these lessons, you will learn about the HTML boilerplate which is a ready-made template for your webpages.", - "You will learn how to work with the link element, meta element and more." - ] - }, - "workshop-cat-photo-app": { - "title": "Build a Cat Photo App", - "intro": [ - "HTML stands for HyperText Markup Language and it represents the content and structure of a web page.", - "In this workshop, you will learn how to work with basic HTML elements such as headings, paragraphs, images, links, and lists." - ] - }, - "lab-recipe-page": { - "title": "Build a Recipe Page", - "intro": [ - "In this lab, you'll review HTML basics by creating a web page of your favorite recipe. You'll create an HTML boilerplate and work with headings, lists, images, and more." - ] - }, - "lecture-html-fundamentals": { - "title": "HTML Fundamentals", - "intro": [ - "In these lessons, you will learn about HTML fundamentals like the div element, the id and class attributes, the HTML boilerplate, HTML entities, and more." - ] - }, - "workshop-bookstore-page": { - "title": "Build a Bookstore Page", - "intro": [ - "In this workshop, you will practice working with classes, ids and the div element by building a bookstore page." - ] - }, - "lecture-understanding-how-html-affects-seo": { - "title": "Understanding How HTML Affects SEO", - "intro": [ - "In these lessons, you will learn how your HTML code impacts search engine optimization." - ] - }, - "lab-travel-agency-page": { - "title": "Build a Travel Agency Page", - "intro": [ - "In this lab, you'll review working with HTML fundamentals by creating a web page for a travel agency. You'll work with images, the figure element, the figcaption element, the anchor element, and more." - ] - }, - "lecture-working-with-audio-and-video-elements": { - "title": "Working with Audio and Video Elements", - "intro": [ - "In these lessons, you will learn how to work with the audio and video elements." - ] - }, - "lab-html-audio-and-video-player": { - "title": "Build an HTML Audio and Video Player", - "intro": [ - "In this lab, you will build an HTML audio and video player using the video and audio elements with controls and source attributes." - ] - }, - "lecture-working-with-images-and-svgs": { - "title": "Working with Images and SVGs", - "intro": [ - "In these lessons, you will learn how to work with SVGs and learn about techniques for optimizing your images." - ] - }, - "workshop-build-a-heart-icon": { - "title": "Build a Heart Icon", - "intro": [ - "In this workshop, you will practice working with SVGs by building a heart icon" - ] - }, - "lecture-working-with-media": { - "title": "Working with the iframe Element", - "intro": [ - "In these lessons, you will learn how to work with the iframe element which is used to embed an external site on your web page." - ] - }, - "workshop-build-a-video-display-using-iframe": { - "title": "Build a Video Display Using iframe", - "intro": [ - "In this workshop, you'll learn how to work with the iframe element by building a video display." - ] - }, - "lab-video-compilation-page": { - "title": "Build a Video Compilation Page", - "intro": [ - "In this lab, you'll create a video compilation web page. You'll practice working with the iframe element." - ] - }, - "lecture-working-with-links": { - "title": "Working with Links", - "intro": [ - "In these lessons, you will learn about links, the target attribute, different link states, absolute, and relative paths, and more." - ] - }, - "review-basic-html": { - "title": "Basic HTML Review", - "intro": [ - "Before you are quizzed on the HTML knowledge you have gained so far, you first need to review the concepts.", - "Open up this page to review the HTML boilerplate, audio and video elements, the different target attribute values and more." - ] - }, - "quiz-basic-html": { - "title": "Basic HTML Quiz", - "intro": [ - "The following quiz will test your knowledge of the basic HTML concepts you have learned so far.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "lecture-importance-of-semantic-html": { - "title": "Importance of Semantic HTML", - "intro": [ - "In these lessons, you will learn about semantic HTML and why you should care about it, semantic elements, how semantic HTML differs from presentational HTML, and more." - ] - }, - "lecture-understanding-nuanced-semantic-elements": { - "title": "Understanding Nuanced Semantic Elements", - "intro": [ - "In these lessons, you will learn when you should use certain semantic elements like the em element over the i element, description lists, and more." - ] - }, - "workshop-major-browsers-list": { - "title": "Build a List of Major Web Browsers", - "intro": [ - "In this workshop, you will build a description list and work with the dl, dt, and dd elements." - ] - }, - "lecture-working-with-text-and-time-semantic-elements": { - "title": "Working with Text and Time Semantic Elements ", - "intro": [ - "In this lesson, you will learn about the importance of semantics in conveying meaning for text and time-related content including the time, blockquote elements and more." - ] - }, - "workshop-quincys-job-tips": { - "title": "Build Quincy's Job Tips Page", - "intro": [ - "In this workshop, you will practice working with semantic HTML by using the q, blockquote and cite elements." - ] - }, - "lecture-working-with-specialized-semantic-elements": { - "title": "Working with Specialized Semantic Elements", - "intro": [ - "In this lesson, you will learn about specialized semantic elements like u, s, code elements and more." - ] - }, - "workshop-blog-page": { - "title": "Build a Cat Blog Page", - "intro": [ - "In this workshop, you will build an HTML only blog page using semantic elements including the main, nav, article and footer elements." - ] - }, - "lab-event-hub": { - "title": "Build an Event Hub", - "intro": [ - "In this lab, you'll build an event hub and review semantic elements like header, nav, article, and more." - ] - }, - "review-semantic-html": { - "title": "Semantic HTML Review", - "intro": [ - "Before you are quizzed on semantic HTML, you first need to review the concepts.", - "Open up this page to review the em, strong, blockquote, address and more semantic HTML elements." - ] - }, - "quiz-semantic-html": { - "title": "Semantic HTML Quiz", - "intro": [ - "The following quiz will test your knowledge on semantic HTML concepts you have learned so far.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "lecture-working-with-forms": { - "title": "Working with Forms", - "intro": [ - "In these lessons, you will learn about forms, the role of labels, inputs and buttons in creating forms, client-side form validation, and form states." - ] - }, - "workshop-hotel-feedback-form": { - "title": "Build a Hotel Feedback Form", - "intro": [ - "In this workshop, you will build a Hotel Feedback Form.", - "You will practice working with labels, inputs, fieldsets, legends, textareas and buttons." - ] - }, - "lab-survey-form": { - "title": "Build a Survey Form", - "intro": [ - "In this lab, you'll review HTML forms by creating a survey form.", - "You'll practice working with the label element, the different input elements, the required attribute, and more. " - ] - }, - "lecture-working-with-tables": { - "title": "Working with Tables", - "intro": [ - "In these lessons, you will learn about HTML tables, how to create them, and when to use them." - ] - }, - "workshop-final-exams-table": { - "title": "Build a Final Exams Table", - "intro": [ - "In this workshop, you will practice working with HTML tables by building a table of final exams." - ] - }, - "lab-book-catalog-table": { - "title": "Build a Book Catalog Table", - "intro": [ - "In this lab, you'll review HTML tables by building a book information table.", - "You'll practice the different table components like the thead, tbody, th, tr, and td elements." - ] - }, - "lecture-working-with-html-tools": { - "title": "Working with HTML Tools", - "intro": [ - "In these lessons, you will learn about HTML tools and how they let you write better code. These tools include HTML validators, DOM Inspector, and the browser developer tools." - ] - }, - "review-html-tables-and-forms": { - "title": "HTML Tables and Forms Review", - "intro": [ - "Before you are quizzed on HTML forms, tables and tools, you first need to review the concepts.", - "Open up this page to review the table, input, and button elements as well as commonly used tools like the HTML validator and more." - ] - }, - "quiz-html-tables-and-forms": { - "title": "HTML Tables and Forms Quiz", - "intro": [ - "The following quiz will test your knowledge of HTML tables, forms and commonly used HTML tools.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "lecture-importance-of-accessibility-and-good-html-structure": { - "title": "Importance of Accessibility and Good HTML Structure", - "intro": [ - "In these lessons, you will learn about accessibility and its importance, assistive tools for people with disabilities, HTML attributes that let you create inclusive websites, accessibility best practices, and much more." - ] - }, - "workshop-debug-coding-journey-blog-page": { - "title": "Debug a Coding Journey Blog Page", - "intro": [ - "In this workshop, you will debug and fix accessibility errors in a coding blog page." - ] - }, - "lecture-accessible-tables-forms": { - "title": "Working with Accessible Tables and Forms", - "intro": [ - "In these lessons, you will learn about how to create accessible tables and forms." - ] - }, - "workshop-tech-conference-schedule": { - "title": "Build a Tech Conference Schedule Table", - "intro": [ - "In this workshop, you will build an accessible tech conference schedule table." - ] - }, - "lecture-introduction-to-aria": { - "title": "Introduction to ARIA", - "intro": [ - "In these lessons, you will learn about working with ARIA roles." - ] - }, - "workshop-accessible-audio-controller": { - "title": "Build an Accessible Audio Controller", - "intro": [ - "In this workshop, you will practice accessible HTML by building an audio controller that uses the aria-labelledby attribute." - ] - }, - "lecture-accessible-media-elements": { - "title": "Working with Accessible Media Elements", - "intro": [ - "In these lessons, you will learn about how to create accessible links, audio and video content." - ] - }, - "lab-checkout-page": { - "title": "Build a Checkout Page", - "intro": [ - "In this lab, you'll create an accessible checkout page.", - "You'll practice concepts like alt attributes and ARIA roles." - ] - }, - "lab-movie-review-page": { - "title": "Design a Movie Review Page", - "intro": [ - "In this lab, you'll create a movie review page.", - "You'll practice concepts like semantic HTML, alt attributes, accessible lists, and hiding decorative content from screen readers using aria-hidden." - ] - }, - "lab-multimedia-player": { - "title": "Build a Multimedia Player", - "intro": [ - "In this lab, you'll build a multimedia player.", - "You will practice working with the audio and video elements, the controls attribute, and the aria-label attribute." - ] - }, - "review-html-accessibility": { - "title": "HTML Accessibility Review", - "intro": [ - "Before you are quizzed on HTML and accessibility, you first need to review the concepts.", - "Open up this page to review concepts including the aria-hidden, aria-describedby, tabindex attributes and more." - ] - }, - "quiz-html-accessibility": { - "title": "HTML Accessibility Quiz", - "intro": [ - "The following quiz will test your knowledge on the accessibility concepts you have learned so far.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "review-html": { - "title": "HTML Review", - "intro": [ - "Before you take the HTML prep exam, you first need to review the concepts taught in the previous modules.", - "Open up this page to review concepts around the basics of HTML elements, semantic HTML, tables, forms and accessibility." - ] - }, - "qpra": { - "title": "30", - "intro": [] - }, - "lecture-understanding-computer-internet-and-tooling-basics": { - "title": "Understanding Computer, Internet, and Tooling Basics", - "intro": [ - "In these lessons, you will learn about the computer, its different parts, internet service providers (ISPs), and the tools professional developers use." - ] - }, - "lecture-working-with-file-systems": { - "title": "Working with File Systems", - "intro": [ - "In these lessons, you will learn how to work with file and folder systems on your computers. You will learn how to create, move, and delete files and folders, the best practices for naming and organizing files and folders, and more." - ] - }, - "lecture-browsing-the-web-effectively": { - "title": "Browsing the Web Effectively", - "intro": [ - "In these lessons, you will learn about what websites, search engine, and web browsers are, the different browsers available, and how to get the best out of a search engine." - ] - }, - "review-computer-basics": { - "title": "Computer Basics Review", - "intro": [ - "Before you are quizzed on basic computer and internet concepts, you first need to review.", - "Open up this page to review concepts like RAM, Internet service providers, common web browsers, search engines and more." - ] - }, - "quiz-computer-basics": { - "title": "Computer Basics Quiz", - "intro": [ - "Test what you've learned in this quiz of basic computer knowledge." - ] - }, - "lecture-what-is-css": { - "title": "What Is CSS?", - "intro": [ - "The following lessons are all about CSS. You will learn what CSS is and its role on the web, a CSS rule and its anatomy, the three ways to write CSS and when to use each, inline and block elements, and many more." - ] - }, - "workshop-cafe-menu": { - "title": "Design a Cafe Menu", - "intro": [ - "CSS tells the browser how to display your webpage. You can use CSS to set the color, font, size, and other aspects of HTML elements.", - "In this workshop, you'll learn CSS by designing a menu page for a cafe webpage." - ] - }, - "lab-business-card": { - "title": "Design a Business Card", - "intro": [ - "In this lab, you'll create a business card and style it using CSS.", - "You'll practice style properties like 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 lessons, you will learn about CSS specificity, the common selectors and their specificities, the cascade algorithm, inheritance, and more." - ] - }, - "review-basic-css": { - "title": "CSS Fundamentals Review", - "intro": [ - "Before you are quizzed on basic CSS concepts, you first need to review.", - "Open up this page to review concepts including margin, padding, CSS combinators, CSS specificity and more." - ] - }, - "quiz-basic-css": { - "title": "CSS Fundamentals Quiz", - "intro": [ - "Test what you've learned in this quiz of basic CSS knowledge." - ] - }, - "lecture-styling-lists-and-links": { - "title": "Styling Lists and Links", - "intro": [ - "In these lessons, you will learn the properties you need to know to effectively style lists and links, including link states like 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", - "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 lessons, you will learn about the properties and values you need to know to style backgrounds and borders of elements, alongside the accessibility considerations for backgrounds." - ] - }, - "lab-blog-post-card": { - "title": "Design a Blog Post Card", - "intro": [ - "In this lab, you'll design a blog post card using HTML and CSS", - "You'll practice concepts like background-color, border-radius, margins, paddings, and more." - ] - }, - "review-css-backgrounds-and-borders": { - "title": "Lists, Links, CSS Background and Borders Review", - "intro": [ - "Before you are quizzed on CSS backgrounds and borders, you first need to review.", - "Open up this page to review concepts including the background-image property, border property and more." - ] - }, - "quiz-css-backgrounds-and-borders": { - "title": "CSS Backgrounds and Borders Quiz", - "intro": [ - "Test what you've learned in this quiz of backgrounds and borders in CSS." - ] - }, - "lecture-user-interface-design-fundamentals": { - "title": "User Interface Design Fundamentals", - "intro": [ - "In these lessons, you will learn about the fundamentals of user interface (UI) design. You will learn about the terms you need to know to communicate with designers, visual hierarchy, scaling, alignment, whitespace, and much more." - ] - }, - "lecture-user-centered-design": { - "title": "User-Centered Design", - "intro": [ - "In these lessons, you will learn about best practices for designing user-facing features like dark mode, breadcrumbs, modal dialogs, and much more. You will also learn how to conduct user research, user requirements and testing." - ] - }, - "lecture-common-design-tools": { - "title": "Common Design Tools", - "intro": [ - "In these lessons, you will learn about the common design tools developers should know. You will also learn about design briefs and how developers work with them." - ] - }, - "review-design-fundamentals": { - "title": "Design Fundamentals Review", - "intro": [ - "Before you are quizzed on the design fundamentals you have learned so far, you first need to review.", - "Open up this page to review concepts like user-centered design, scale, alignment, good visual hierarchy and more." - ] - }, - "quiz-design-fundamentals": { - "title": "Design Fundamentals Quiz", - "intro": [ - "Test what you've learned in this quiz of UI design fundamentals." - ] - }, - "lecture-working-with-relative-and-absolute-units": { - "title": "Working with Relative and Absolute Units", - "intro": [ - "In these lessons, you will learn about relative and absolute units, and how they both impact what you see in the browser." - ] - }, - "lab-event-flyer-page": { - "title": "Build an Event Flyer Page", - "intro": [ - "In this lab, you'll create an event flyer page.", - "You will practice aligning elements using absolute and relative CSS." - ] - }, - "review-css-relative-and-absolute-units": { - "title": "CSS Relative and Absolute Units Review", - "intro": [ - "Before you are quizzed on relative and absolute units, you first need to review.", - "Open up this page to review concepts like percentages, px, rem, em, and more." - ] - }, - "quiz-css-relative-and-absolute-units": { - "title": "CSS Relative and Absolute Units Quiz", - "intro": [ - "Test what you've learned in this quiz of relative and absolute units in CSS." - ] - }, - "lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": { - "title": "Working with Pseudo-Classes and Pseudo-Elements in CSS", - "intro": [ - "In these lessons, you will learn about pseudo-classes and pseudo-elements, alongside their examples and how they work." - ] - }, - "workshop-greeting-card": { - "title": "Design a Greeting Card", - "intro": [ - "In the previous lessons, you learned how to work with the different types of pseudo-classes.", - "In this workshop, you will have a chance to practice what you have learned by designing a greeting card." - ] - }, - "lab-job-application-form": { - "title": "Build a Job Application Form", - "intro": [ - "In this lab you'll build a job application form and style it using pseudo-classes.", - "You'll practice concepts like :hover, :active, :focus, and more." - ] - }, - "review-css-pseudo-classes": { - "title": "CSS Pseudo-classes Review", - "intro": [ - "Before you're quizzed on CSS pseudo-classes and pseudo-elements, you should review what you've learned about them.", - "Open up this page to review concepts like the ::before and ::after pseudo-elements as well as the :hover, :active pseudo-classes and more." - ] - }, - "quiz-css-pseudo-classes": { - "title": "CSS Pseudo-classes Quiz", - "intro": ["Test your knowledge of CSS pseudo-classes with this quiz."] - }, - "lecture-working-with-colors-in-css": { - "title": "Working with Colors in CSS", - "intro": [ - "In these lessons, you will learn about linear and radial gradients, the color theory, different kinds of colors like named, RGB, Hex, and HSL colors. You will learn how these colors work, and which to use in specific cases." - ] - }, - "workshop-colored-markers": { - "title": "Build a Set of Colored Markers", - "intro": [ - "In this workshop, you'll build a set of colored markers. You'll practice different ways to set color values and how to pair colors with each other." - ] - }, - "lab-colored-boxes": { - "title": "Design a Set of Colored Boxes", - "intro": [ - "In this lab, you'll create a color grid and practice adding background colors to the grid items using hex codes, RGB, and predefined color names." - ] - }, - "review-css-colors": { - "title": "CSS Colors Review", - "intro": [ - "Before you're quizzed on CSS colors, you should review what you've learned about them.", - "Open up this page to review concepts like the rgb() function, hsl() function, hex codes, and more." - ] - }, - "quiz-css-colors": { - "title": "CSS Colors Quiz", - "intro": ["Test your knowledge of CSS colors with this quiz."] - }, - "lecture-best-practices-for-styling-forms": { - "title": "Best Practices for Styling Forms", - "intro": [ - "In these lessons, you will learn about the best practices for styling forms and issues you can encounter while styling special inputs like color and datetime-local." - ] - }, - "workshop-registration-form": { - "title": "Design a Registration Form", - "intro": [ - "In this workshop, you'll learn how to design HTML forms by designing a signup page. You'll learn how to control what types of data people can type into your form, and some new CSS tools for styling your page." - ] - }, - "lab-contact-form": { - "title": "Design a Contact Form", - "intro": [ - "In this lab, you'll design a contact form in HTML and style it using CSS." - ] - }, - "workshop-game-settings-panel": { - "title": "Build a Game Settings Panel", - "intro": [ - "In this workshop, you will practice styling checkboxes by building a game settings panel." - ] - }, - "lab-feature-selection": { - "title": "Design a Feature Selection Page", - "intro": [ - "In this lab, you'll build a feature selection page with custom-styled checkboxes.", - "You'll create feature cards with labels and checkboxes, then give custom styling to the checkboxes." - ] - }, - "review-styling-forms": { - "title": "Styling Forms Review", - "intro": [ - "Before you're quizzed on styling forms, you should review what you've learned.", - "Open up this page to review how to style form inputs, working with appearance: none and more." - ] - }, - "quiz-styling-forms": { - "title": "Styling Forms Quiz", - "intro": [ - "In this quiz, you will test your knowledge of how to style forms." - ] - }, - "lecture-working-with-css-transforms-overflow-and-filters": { - "title": "Working with CSS Transforms, Overflow, and Filters", - "intro": [ - "In these lessons, you will learn about working with CSS transforms, overflow, and filters. You will also learn about the box model and how it works." - ] - }, - "workshop-rothko-painting": { - "title": "Design a Rothko Painting", - "intro": [ - "Every HTML element is its own box – with its own spacing and a border. This is called the Box Model.", - "In this workshop, you'll use CSS and the Box Model to create your own Rothko-style rectangular art pieces." - ] - }, - "lab-confidential-email-page": { - "title": "Build a Confidential Email Page", - "intro": [ - "In this lab, you'll create a web page using HTML and mask the content using CSS properties." - ] - }, - "review-css-layout-and-effects": { - "title": "CSS Layouts and Effects Review", - "intro": [ - "Before you are quizzed on CSS Layouts and Effects, you first need to review.", - "Open up this page to review concepts like the transform property, the box model, the overflow property and more." - ] - }, - "quiz-css-layout-and-effects": { - "title": "CSS Layout and Effects Quiz", - "intro": [ - "In this quiz, you will test your knowledge of the box model, transforms, filters, and overflow in CSS." - ] - }, - "lecture-working-with-css-flexbox": { - "title": "Working with CSS Flexbox", - "intro": [ - "In these lessons, you will learn how CSS flexbox works, its properties, and when you should use it." - ] - }, - "workshop-flexbox-photo-gallery": { - "title": "Build a Flexbox Photo Gallery", - "intro": [ - "In this workshop, you'll use Flexbox to build a responsive photo gallery webpage." - ] - }, - "lab-page-of-playing-cards": { - "title": "Build a Page of Playing Cards", - "intro": [ - "In this lab, you'll use flexbox to create a webpage of playing cards.", - "You'll practice aligning elements using flexbox properties like flex-direction, justify-content, align-self, and more." - ] - }, - "review-css-flexbox": { - "title": "CSS Flexbox Review", - "intro": [ - "Before you're quizzed on CSS flexbox, you should review what you've learned.", - "Open up this page to review concepts like the flex-direction, justify-content, align-items, flex-wrap properties, and more." - ] - }, - "quiz-css-flexbox": { - "title": "CSS Flexbox Quiz", - "intro": ["Test what you've learned on CSS flexbox with this quiz."] - }, - "lecture-working-with-css-fonts": { - "title": "Working with CSS Fonts", - "intro": [ - "In these lessons, you will learn about typography and its best practices, fonts, and the text-shadow property." - ] - }, - "workshop-nutritional-label": { - "title": "Build a Nutritional Label", - "intro": [ - "Typography is the art of styling your text to be easily readable and suit its purpose.", - "In this workshop, you'll use typography to build a nutrition label webpage. You'll practice how to style text, adjust line height, and position your text using CSS." - ] - }, - "lab-newspaper-article": { - "title": "Build a Newspaper Article", - "intro": [ - "In this lab, you'll build a newspaper article page using HTML and CSS.", - "You'll style the fonts using properties like font-family, font-size, font-weight, and more." - ] - }, - "review-css-typography": { - "title": "CSS Typography Review", - "intro": [ - "Before you're quizzed on the fundamentals of typography, you should review what you've learned.", - "Open up this page to review concepts like web safe fonts, the font-family property and more." - ] - }, - "quiz-css-typography": { - "title": "CSS Typography Quiz", - "intro": ["Test your knowledge of typography with this quiz."] - }, - "lecture-best-practices-for-accessibility-and-css": { - "title": "Best Practices for Accessibility and CSS", - "intro": [ - "In these lessons, you will learn about best practices for accessibility in CSS, and the tools for checking good color contrast on websites." - ] - }, - "workshop-accessibility-quiz": { - "title": "Build a Quiz Webpage", - "intro": [ - "Accessibility is the process of making your webpages usable for everyone, including people with disabilities.", - "In this workshop, you'll build a quiz webpage. You'll learn accessibility tools such as keyboard shortcuts, ARIA attributes, and design best practices." - ] - }, - "lab-tribute-page": { - "title": "Build a Tribute Page", - "intro": [ - "In this lab, you'll build a tribute page for a subject of your choosing, fictional or real." - ] - }, - "review-css-accessibility": { - "title": "CSS Accessibility Review", - "intro": [ - "Before you're quizzed on CSS and accessibility, you should review what you've learned.", - "Open up this page to review concepts like color contrast tools and accessibility best practices." - ] - }, - "quiz-css-accessibility": { - "title": "CSS Accessibility Quiz", - "intro": [ - "In this quiz, you'll test what you've learned about making your webpages accessible with CSS." - ] - }, - "lecture-understanding-how-to-work-with-floats-and-positioning-in-css": { - "title": "Understanding How to Work with Floats and Positioning in CSS", - "intro": [ - "In these lessons, you will learn how to use CSS positioning and floats. You will learn about absolute, relative, fixed, and sticky positioning. You will also use the z-index property." - ] - }, - "workshop-cat-painting": { - "title": "Build a Cat Painting", - "intro": [ - "Mastering CSS positioning is essential for creating visually appealing and responsive web layouts.", - "In this workshop, you will build a cat painting. You'll learn about how to work with absolute positioning, the z-index property, and the transform property." - ] - }, - "lab-house-painting": { - "title": "Build a House Painting", - "intro": [ - "In this lab, you'll build a house painting using CSS.", - "You'll design individual elements of the house and position them using CSS properties like position, top, left, and more." - ] - }, - "review-css-positioning": { - "title": "CSS Positioning Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS positioning, you should review what you've learned.", - "Open up this page to review concepts like floats, relative positioning, absolute positioning and more." - ] - }, - "quiz-css-positioning": { - "title": "CSS Positioning Quiz", - "intro": ["Test your knowledge of CSS positioning with this quiz."] - }, - "lecture-working-with-attribute-selectors": { - "title": "Working with Attribute Selectors", - "intro": [ - "In these lessons, you will learn about attribute selectors and how to use them to target elements like links and lists." - ] - }, - "workshop-balance-sheet": { - "title": "Build a Balance Sheet", - "intro": [ - "In this workshop, you'll build a balance sheet using pseudo selectors. You'll learn how to change the style of an element when you hover over it with your mouse, and trigger other events on your webpage." - ] - }, - "lab-book-inventory-app": { - "title": "Build a Book Inventory App", - "intro": [ - "In this lab, you'll create a book inventory app.", - "You'll practice CSS attribute selectors like [attribute], [attribute=value], [attribute~=value], and more." - ] - }, - "review-css-attribute-selectors": { - "title": "CSS Attribute Selectors Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS attribute selectors, you should review what you've learned about them.", - "Open up this page to review concepts like how to work with different attribute selectors that target links with the href and title attributes." - ] - }, - "quiz-css-attribute-selectors": { - "title": "CSS Attribute Selectors Quiz", - "intro": [ - "Test your knowledge of CSS attribute selectors with this quiz." - ] - }, - "lecture-best-practices-for-responsive-web-design": { - "title": "Best Practices for Responsive Web Design", - "intro": [ - "In these lessons, you will learn about the best practices for responsive web design, the roles concepts like grid, flexbox, media queries, and media breakpoints play in responsive design, and more." - ] - }, - "workshop-piano": { - "title": "Design a Piano", - "intro": [ - "Responsive Design tells your webpage how it should look on different-sized screens.", - "In this workshop, you'll use CSS and responsive design to code a piano. You'll also practice media queries and pseudo selectors." - ] - }, - "lab-technical-documentation-page": { - "title": "Build a Technical Documentation Page", - "intro": [ - "In this lab, you'll build a technical documentation page to serve as instruction or reference for a topic.", - "You'll also practice media queries to create a responsive design." - ] - }, - "review-responsive-web-design": { - "title": "Responsive Web Design Review", - "intro": [ - "Before you're quizzed on the fundamentals of responsive design, you should review what you've learned.", - "Open up this page to review concepts like media queries, media breakpoints and mobile first approach design." - ] - }, - "quiz-responsive-web-design": { - "title": "Responsive Web Design Quiz", - "intro": [ - "Test what you've learned about making your webpages responsive with this quiz." - ] - }, - "lecture-working-with-css-variables": { - "title": "Working with CSS Variables", - "intro": [ - "In these lessons, you will learn how to define and use custom properties (also known as CSS variables). You will also learn about the @property rule and how it works." - ] - }, - "workshop-city-skyline": { - "title": "Build a City Skyline", - "intro": [ - "CSS variables help you organize your styles and reuse them.", - "In this workshop, you'll build a city skyline. You'll practice how to configure CSS variables so you can reuse them whenever you want." - ] - }, - "lab-availability-table": { - "title": "Build an Availability Table", - "intro": [ - "For this lab, you'll create an availability table that shows the availability of people for a meeting.", - "You'll practice using CSS variables to store and reuse colors, fonts, and other styles." - ] - }, - "review-css-variables": { - "title": "CSS Variables Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS variables, you should review what you've learned.", - "Open up this page to review how to work with CSS custom properties (CSS variables) and the @property rule." - ] - }, - "quiz-css-variables": { - "title": "CSS Variables Quiz", - "intro": ["Test your knowledge of CSS variables with this quiz."] - }, - "lecture-working-with-css-grid": { - "title": "Working with CSS Grid", - "intro": [ - "In these lessons, you will learn about CSS grid, its several properties and how to use them, and how CSS grid differs from flexbox." - ] - }, - "workshop-magazine": { - "title": "Build a Magazine", - "intro": [ - "CSS Grid gives you control over the rows and columns of your webpage design.", - "In this workshop, you'll build a magazine article. You'll practice how to use CSS Grid, including concepts like grid rows and grid columns." - ] - }, - "lab-newspaper-layout": { - "title": "Design a Newspaper Layout", - "intro": [ - "In this lab, you will design a newspaper layout using CSS Grid, including concepts like grid rows and grid columns." - ] - }, - "lecture-debugging-css": { - "title": "Debugging CSS", - "intro": [ - "In this lesson, you'll learn how to debug CSS using your browser's developer tools and CSS validators." - ] - }, - "lab-product-landing-page": { - "title": "Build a Product Landing Page", - "intro": [ - "In this project, you'll build a product landing page to market a product of your choice." - ] - }, - "review-css-grid": { - "title": "CSS Grid Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS Grid, you should review what you've learned.", - "Open up this page to review how to work with the different CSS Grid properties like grid-template-columns, grid-gap and more." - ] - }, - "quiz-css-grid": { - "title": "CSS Grid Quiz", - "intro": ["Test your knowledge of CSS Grid with this quiz."] - }, - "lecture-animations-and-accessibility": { - "title": "Animations and Accessibility", - "intro": [ - "In these lessons, you will learn about CSS animations and their accessibility concerns. You will also learn how prefers-reduced-motion can help address those accessibility concerns." - ] - }, - "workshop-ferris-wheel": { - "title": "Build an Animated Ferris Wheel", - "intro": [ - "You can use CSS animation to draw attention to specific sections of your webpage and make it more engaging.", - "In this workshop, you'll build a Ferris wheel. You'll practice how to use CSS to animate elements, transform them, and adjust their speed." - ] - }, - "lab-moon-orbit": { - "title": "Build a Moon Orbit", - "intro": [ - "In this lab, you'll create an animation of the moon orbiting the earth.", - "You'll practice animation properties like animation-name, animation-duration, animation-timing-function, and more." - ] - }, - "workshop-flappy-penguin": { - "title": "Build a Flappy Penguin", - "intro": [ - "You can transform HTML elements to create appealing designs that draw your reader's eye. You can use transforms to rotate elements, scale them, and more.", - "In this workshop, you'll build a penguin. You'll use CSS transforms to position and resize the parts of your penguin, create a background, and animate your work." - ] - }, - "lab-personal-portfolio": { - "title": "Build a Personal Portfolio", - "intro": [ - "In this project, you'll build your own personal portfolio page." - ] - }, - "review-css-animations": { - "title": "CSS Animations Review", - "intro": [ - "Before you're quizzed on working with CSS animations, you should review what you've learned about them.", - "Open up this page to review concepts including prefers-reduced-motion, the @keyframes rule and more." - ] - }, - "quiz-css-animations": { - "title": "CSS Animations Quiz", - "intro": ["Test your knowledge of CSS animations with this quiz."] - }, - "review-css": { - "title": "CSS Review", - "intro": [ - "Before you take the CSS prep exam, you first need to review the concepts taught in the previous modules.", - "Open up this page to review concepts around the basics of CSS, responsive web design, animations, accessibility and more." - ] - }, - "lecture-working-with-code-editors-and-ides": { - "title": "Working with Code Editors and IDEs", - "intro": [ - "In these lessons, you will learn how to work with code editors and IDEs. You will learn various concepts about the most popular code editor, VS Code such as its installation, how to create a project in it, keyboard shortcuts, and extensions." - ] - }, - "lecture-introduction-to-javascript": { - "title": "Introduction to JavaScript", - "intro": [ - "In these lessons, you will learn the fundamentals of JavaScript. Topics covered include, but are not limited to, variables, data types, how JavaScript interacts with HTML and CSS, and much more." - ] - }, - "lecture-introduction-to-strings": { - "title": "Introduction to Strings", - "intro": [ - "In these lessons, you will learn how to work with strings and string concatenation." - ] - }, - "lecture-understanding-code-clarity": { - "title": "Understanding Code Clarity", - "intro": [ - "In these lessons, you will learn about comments in JavaScript and the role of semicolons in programming." - ] - }, - "workshop-greeting-bot": { - "title": "Build a Greeting Bot", - "intro": [ - "In this workshop, you will learn JavaScript fundamentals by building a greeting bot.", - "You will learn about variables, let, const, console.log and basic string usage." - ] - }, - "lab-javascript-trivia-bot": { - "title": "Build a JavaScript Trivia Bot", - "intro": [ - "In this lab, you'll practice working with JavaScript variables and strings by building a trivia bot." - ] - }, - "lab-sentence-maker": { - "title": "Build a Sentence Maker", - "intro": [ - "In this lab, you will continue practicing with strings and concatenation by creating and customizing various stories." - ] - }, - "lecture-working-with-data-types": { - "title": "Working with Data Types", - "intro": [ - "In the following lessons, you will learn how to work with data types in JavaScript. You will also learn how dynamic typing differs from static typing, the typeof operator, and the typeof null bug." - ] - }, - "review-javascript-variables-and-data-types": { - "title": "JavaScript Variables and Data Types Review", - "intro": [ - "Before you are quizzed on JavaScript variables and data types you first need to review the concepts.", - "Open up this page to review variables, data types, logging and commenting." - ] - }, - "quiz-javascript-variables-and-data-types": { - "title": "JavaScript Variables and Data Types Quiz", - "intro": [ - "Test your knowledge of JavaScript variables and data types with this quiz." - ] - }, - "lecture-working-with-strings-in-javascript": { - "title": "Working with Strings in JavaScript", - "intro": [ - "In these lessons, you will learn how to work with strings in JavaScript. You will learn how to access characters from a string, how to use template literals and interpolation, how to create a new line in strings, and much more." - ] - }, - "workshop-teacher-chatbot": { - "title": "Build a Teacher Chatbot", - "intro": [ - "In this workshop, you will continue to learn more about JavaScript strings by building a chatbot.", - "You will learn how to work with template literals, and the indexOf method." - ] - }, - "lecture-working-with-string-character-methods": { - "title": "Working with String Character Methods", - "intro": [ - "In this lesson you will learn about ASCII character encoding and how to use JavaScript's charCodeAt() and fromCharCode() methods to convert between characters and their numerical ASCII values." - ] - }, - "lecture-working-with-string-search-and-slice-methods": { - "title": "Working with String Search and Slice Methods", - "intro": [ - "In this lesson you will learn how to search for substrings using the includes() method and how to extract portions of strings using the slice() method." - ] - }, - "workshop-string-inspector": { - "title": "Build a String Inspector", - "intro": [ - "In this workshop, you will practice working with the includes() and slice() methods by building a string inspector." - ] - }, - "lecture-working-with-string-formatting-methods": { - "title": "Working with String Formatting Methods", - "intro": [ - "In this lesson you will learn how to format strings by changing their case using toUpperCase() and toLowerCase() methods, and how to remove whitespace using trim(), trimStart(), and trimEnd() methods." - ] - }, - "workshop-string-formatter": { - "title": "Build a String Formatter", - "intro": [ - "In this workshop, you will practice working with various string methods including the trim(), toUpperCase() and toLowerCase() methods." - ] - }, - "lecture-working-with-string-modification-methods": { - "title": "Working with String Modification Methods", - "intro": [ - "In this lesson you will learn how to modify strings by replacing parts of them using the replace() method and how to repeat strings multiple times using the repeat() method." - ] - }, - "workshop-string-transformer": { - "title": "Build a String Transformer", - "intro": [ - "In this workshop, you will practice working with the replace(), replaceAll() and repeat() methods." - ] - }, - "review-javascript-strings": { - "title": "JavaScript Strings Review", - "intro": [ - "Before you are quizzed on working with JavaScript strings, you first need to review.", - "Open up this page to review how to work with template literals, the slice method, the includes method, the trim method and more." - ] - }, - "quiz-javascript-strings": { - "title": "JavaScript Strings Quiz", - "intro": ["Test your knowledge of JavaScript strings with this quiz."] - }, - "lecture-working-with-numbers-and-arithmetic-operators": { - "title": "Working with Numbers and Arithmetic Operators", - "intro": [ - "In these lessons you will learn about the number type, arithmetic operators, and using them with numbers and strings." - ] - }, - "lab-debug-type-coercion-errors": { - "title": "Debug Type Coercion Errors in a Buggy App", - "intro": [ - "In this lab, you will be working with a buggy app that contains several type coercion errors.", - "Your task is to identify and fix these errors to ensure the application functions correctly." - ] - }, - "lecture-working-with-operator-behavior": { - "title": "Working with Operator Behavior", - "intro": [ - "In these lessons you will learn about operator precedence, the increment and decrement operators, and compound assignment operators." - ] - }, - "lab-debug-increment-and-decrement-operator-errors": { - "title": "Debug Increment and Decrement Operator Errors in a Buggy App", - "intro": [ - "In this lab, you'll debug an application that has several errors related to the increment and decrement operators.", - "Your task is to identify and fix the errors so that the application works as intended." - ] - }, - "lecture-working-with-comparison-and-boolean-operators": { - "title": "Working with Comparison and Boolean Operators", - "intro": [ - "In these lessons you will learn about booleans, and equality and inequality operators, and other comparison operators." - ] - }, - "lecture-working-with-unary-and-bitwise-operators": { - "title": "Working with Unary and Bitwise Operators", - "intro": [ - "In these lessons you will learn about unary and bitwise operators." - ] - }, - "lecture-working-with-conditional-logic-and-math-methods": { - "title": "Working with Conditional Logic and Math Methods", - "intro": [ - "In these lessons you will learn about conditional statements, binary logical operators, and the Math object." - ] - }, - "workshop-mathbot": { - "title": "Build a Mathbot", - "intro": [ - "In this workshop, you will review how to work with the different Math object methods by building a Mathbot." - ] - }, - "lab-fortune-teller": { - "title": "Build a Fortune Teller", - "intro": [ - "In this lab, you'll build a fortune teller by randomly selecting a fortune from the available fortunes.", - "You'll practice how to work with the 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 lessons, you will learn about numbers and common number methods. These include isNaN(), parseInt(), parseFloat(), and toFixed()." - ] - }, - "review-javascript-math": { - "title": "JavaScript Math Review", - "intro": [ - "Before you're quizzed on working with the Math object, you should review what you've learned.", - "Open up this page to review how to work with the Math.random() method, the Math.floor() method and more." - ] - }, - "quiz-javascript-math": { - "title": "JavaScript Math Quiz", - "intro": [ - "Test your knowledge of the JavaScript Math object with this quiz." - ] - }, - "lecture-understanding-comparisons-and-conditionals": { - "title": "Understanding Comparisons and Conditionals", - "intro": [ - "In these lessons, you will learn about comparison operators and conditionals. You will learn how the various conditionals differ from one another, and how comparisons work with null and undefined." - ] - }, - "review-javascript-comparisons-and-conditionals": { - "title": "JavaScript Comparisons and Conditionals Review", - "intro": [ - "Before you're quizzed on working with conditionals, you should review what you've learned about them.", - "Open up this page to review how to work with switch statements, other types of conditionals and more." - ] - }, - "quiz-javascript-comparisons-and-conditionals": { - "title": "JavaScript Comparisons and Conditionals Quiz", - "intro": [ - "Test your knowledge of JavaScript Comparisons and Conditionals with this quiz." - ] - }, - "lecture-working-with-functions": { - "title": "Working with Functions", - "intro": [ - "In these lessons, you will learn how to reuse a block of code with functions. You will learn what the purpose of a function is and how they work, and how scope works in programming. " - ] - }, - "workshop-calculator": { - "title": "Build a Calculator", - "intro": [ - "In this workshop, you will review your knowledge of functions by building a calculator." - ] - }, - "lab-boolean-check": { - "title": "Build a Boolean Check Function", - "intro": [ - "In this lab, you'll implement a function that checks if a value is a boolean." - ] - }, - "lab-email-masker": { - "title": "Build an Email Masker", - "intro": [ - "In this lab, you'll build an email masker that will take an email address and obscure it.", - "You'll practice string slicing, concatenation, and using functions." - ] - }, - "workshop-loan-qualification-checker": { - "title": "Build a Loan Qualification Checker", - "intro": [ - "In this workshop, you will continue to learn how to work with conditionals by building a loan qualification checker app.", - "You will learn more about if statements, and how to use comparison operators and multiple conditions in an if statement." - ] - }, - "lab-celsius-to-fahrenheit-converter": { - "title": "Build a Celsius to Fahrenheit Converter", - "intro": [ - "In this lab you will implement a function that converts the temperature from Celsius to Fahrenheit." - ] - }, - "lab-counting-cards": { - "title": "Build a Card Counting Assistant", - "intro": ["In this lab you will use JavaScript to count dealt cards."] - }, - "lab-leap-year-calculator": { - "title": "Build a Leap Year Calculator ", - "intro": [ - "In this lab you'll use conditional statements and loops to determine if a year is a leap year." - ] - }, - "lab-truncate-string": { - "title": "Implement the Truncate String Algorithm", - "intro": [ - "In this lab, you will practice truncating a string at a certain length." - ] - }, - "lab-string-ending-checker": { - "title": "Build a Confirm the Ending Tool", - "intro": [ - "In this lab, you will implement a function that checks if a given string ends with a specified target string." - ] - }, - "review-javascript-functions": { - "title": "JavaScript Functions Review", - "intro": [ - "Before you're quizzed on JavaScript functions, you should review what you've learned about them.", - "Open up this page to review functions, arrow functions and scope." - ] - }, - "quiz-javascript-functions": { - "title": "JavaScript Functions Quiz", - "intro": ["Test your knowledge of JavaScript functions with this quiz."] - }, - "lecture-working-with-arrays": { - "title": "Working with Arrays", - "intro": [ - "In these lessons, you will learn how to work with JavaScript arrays. You will learn about what makes an array, one-dimensional and two-dimensional arrays, how to access and update the elements in an array, and much more." - ] - }, - "workshop-shopping-list": { - "title": "Build a Shopping List", - "intro": [ - "In this workshop, you will practice how to work with arrays by building a shopping list.", - "You will review how to add and remove elements from an array using methods like push, pop, shift, and unshift." - ] - }, - "lab-lunch-picker-program": { - "title": "Build a Lunch Picker Program", - "intro": [ - "In this lab, you'll review working with arrays and random numbers by building a lunch picker program." - ] - }, - "lab-golf-score-translator": { - "title": "Build a Golf Score Translator", - "intro": [ - "For this lab, you will use array methods to translate golf scores into their nickname." - ] - }, - "lab-reverse-a-string": { - "title": "Build a String Inverter", - "intro": [ - "In this lab, you create a function that reverses a given string." - ] - }, - "lecture-working-with-common-array-methods": { - "title": "Working with Common Array Methods", - "intro": [ - "In these lessons, you will learn about the array methods for performing more advanced operations like getting the position of an item in an array, checking if an array contains a certain element, copying an array, and lots more." - ] - }, - "review-javascript-arrays": { - "title": "JavaScript Arrays Review", - "intro": [ - "Before you're quizzed on JavaScript arrays, you should review what you've learned about them.", - "Open up this page to review concepts like array destructuring, how to add and remove elements from an array, and more." - ] - }, - "quiz-javascript-arrays": { - "title": "JavaScript Arrays Quiz", - "intro": ["Test your knowledge of JavaScript arrays with this quiz."] - }, - "lecture-introduction-to-javascript-objects-and-their-properties": { - "title": "Introduction to JavaScript Objects and Their Properties", - "intro": [ - "In these lessons, you will learn the fundamentals of JavaScript objects, including how to create them, access their properties, and understand the difference between primitive and non-primitive data types." - ] - }, - "lecture-working-with-optional-chaining-and-object-destructuring": { - "title": "Working with Optional Chaining and Object Destructuring", - "intro": [ - "In these lessons, you will learn about advanced object manipulation techniques in JavaScript, including the optional chaining operator and object destructuring syntax." - ] - }, - "lecture-working-with-json": { - "title": "Working with JSON", - "intro": [ - "In these lessons, you will learn about JavaScript Object Notation (JSON), including how to access JSON data and use the JSON.parse() and JSON.stringify() methods." - ] - }, - "workshop-recipe-tracker": { - "title": "Build a Recipe Tracker", - "intro": [ - "In this workshop, you will review working with JavaScript objects by building a recipe tracker." - ] - }, - "lab-quiz-game": { - "title": "Build a Quiz Game", - "intro": [ - "In this lab, you'll build a quiz game using JavaScript arrays and objects.", - "You'll also practice using functions to randomly select a question and an answer from an array and compare them." - ] - }, - "lab-record-collection": { - "title": "Build a Record Collection", - "intro": [ - "In this lab you will build a function to manage a record collection." - ] - }, - "review-javascript-objects": { - "title": "JavaScript Objects Review", - "intro": [ - "Before you're quizzed on JavaScript objects, you should review what you've learned about them.", - "Open up this page to review concepts including how to access information from objects, object destructuring, working with JSON, and more." - ] - }, - "quiz-javascript-objects": { - "title": "JavaScript Objects Quiz", - "intro": ["Test your knowledge of JavaScript objects with this quiz."] - }, - "lecture-working-with-loops": { - "title": "Working with Loops", - "intro": [ - "Loops are an essential part of JavaScript. That's why the following lessons have been prepared for you to learn about the different types of loops and how they work, and also how iteration works." - ] - }, - "workshop-sentence-analyzer": { - "title": "Build a Sentence Analyzer", - "intro": [ - "In this workshop, you'll review how to work with JavaScript loops by building a sentence analyzer app." - ] - }, - "lab-longest-word-in-a-string": { - "title": "Build a Longest Word Finder App", - "intro": [ - "In this lab, you will use JavaScript loops to find the length of the longest word in the given sentence." - ] - }, - "lab-factorial-calculator": { - "title": "Build a Factorial Calculator ", - "intro": [ - "In this lab, you'll build a factorial calculator.", - "You'll practice using loops and conditionals to calculate the factorial of a number." - ] - }, - "lab-mutations": { - "title": "Implement the Mutations Algorithm", - "intro": [ - "In this lab, you will practice iterating over two different strings to compare their characters." - ] - }, - "lab-chunky-monkey": { - "title": "Implement the Chunky Monkey Algorithm", - "intro": [ - "In this lab, you will practice dividing an array into smaller arrays with the technique of your choice." - ] - }, - "lab-profile-lookup": { - "title": "Build a Profile Lookup", - "intro": [ - "In this lab, you'll create a function that looks up profile information." - ] - }, - "lab-repeat-a-string": { - "title": "Build a String Repeating Function", - "intro": [ - "In this lab, you will implement loops to repeat a string a specified number of times." - ] - }, - "lab-missing-letter-detector": { - "title": "Build a Missing Letter Detector", - "intro": [ - "In this lab, you will build a function that finds the missing letter in a given range of consecutive letters and returns it." - ] - }, - "review-javascript-loops": { - "title": "JavaScript Loops Review", - "intro": [ - "Before you're quizzed on the different JavaScript loops, you should review them.", - "Open up this page to review the for...of loop, while loop, break and continue statements and more." - ] - }, - "quiz-javascript-loops": { - "title": "JavaScript Loops Quiz", - "intro": ["Test your knowledge of JavaScript loops with this quiz."] - }, - "lecture-working-with-types-and-objects": { - "title": "Working with Types and Objects", - "intro": [ - "In these lessons you will learn about string objects, the toString() method, the Number constructor and more." - ] - }, - "lecture-working-with-arrays-variables-and-naming-practices": { - "title": "Working with Arrays, Variables, and Naming Practices", - "intro": [ - "In these lessons you will learn about common practices for naming variables and functions, and how to work with arrays." - ] - }, - "lecture-working-with-code-quality-and-execution-concepts": { - "title": "Working with Code Quality and Execution Concepts", - "intro": [ - "In these lessons you will learn what are linters and formatters, what is memory management, and closures." - ] - }, - "lab-largest-number-finder": { - "title": "Build the Largest Number Finder", - "intro": [ - "In this lab, you will use JavaScript fundamentals to create a function that finds the largest number in each sub-array of a given array." - ] - }, - "lab-first-element-finder": { - "title": "Build a First Element Finder", - "intro": [ - "In this lab, you will create a function that looks through an array and returns the first element in it that passes a \"truth test\"." - ] - }, - "lab-slice-and-splice": { - "title": "Implement the Slice and Splice Algorithm", - "intro": [ - "In this lab, you will practice merging an array with another." - ] - }, - "lab-pyramid-generator": { - "title": "Build a Pyramid Generator", - "intro": [ - "In this lab you'll build a pyramid generator.", - "You'll take a number as input and generate a pyramid with that many levels using a loop." - ] - }, - "lab-gradebook-app": { - "title": "Build a Gradebook App", - "intro": [ - "For this lab, you'll create a gradebook app.", - "You'll practice conditionals to determine the student's grade based on their score." - ] - }, - "lecture-the-var-keyword-and-hoisting": { - "title": "The var Keyword and Hoisting", - "intro": [ - "In these lessons, you will learn about the 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-title-case-converter": { - "title": "Build a Title Case Converter", - "intro": [ - "In this lab, you will build a function that converts a string to title case." - ] - }, - "lab-falsy-remover": { - "title": "Implement a Falsy Remover", - "intro": [ - "In this lab, you will create a function that removes all falsy values from an array." - ] - }, - "lab-inventory-management-program": { - "title": "Build an Inventory Management Program", - "intro": [ - "For this lab, you'll build an inventory management program using JavaScript.", - "You'll use JavaScript array of objects to manage the inventory." - ] - }, - "lecture-understanding-modules-imports-and-exports": { - "title": "Understanding Modules, Imports, and Exports", - "intro": [ - "In this lesson, you will learn about modules, imports, and exports in JavaScript." - ] - }, - "lecture-working-with-the-arguments-object-and-rest-parameters": { - "title": "Working with the arguments Object and Rest Parameters", - "intro": [ - "In these lessons, you will learn how to work with the arguments object and rest parameter syntax." - ] - }, - "lab-unique-sorted-union": { - "title": "Implement a Unique Sorted Union", - "intro": [ - "In this lab, you will create a function that takes two or more arrays and returns a new array of unique values in the order of the original provided arrays." - ] - }, - "lab-password-generator": { - "title": "Build a Password Generator App", - "intro": [ - "In this lab, you'll build a password generator app based on the user's input." - ] - }, - "lab-sum-all-numbers-algorithm": { - "title": "Design a Sum All Numbers Algorithm", - "intro": [ - "In this lab, you will design a sum all numbers algorithm. This algorithm takes an array of two numbers and returns the sum of those two numbers plus the sum of all the numbers between them." - ] - }, - "lab-dna-pair-generator": { - "title": "Implement a DNA Pair Generator", - "intro": [ - "In this lab you will implement a DNA base pairing algorithm that converts a single DNA strand into complementary base pairs." - ] - }, - "lab-html-entitiy-converter": { - "title": "Implement an HTML Entity Converter", - "intro": [ - "In this lab, you will convert special characters in a string to their corresponding HTML entities." - ] - }, - "lab-odd-fibonacci-sum-calculator": { - "title": "Build an Odd Fibonacci Sum Calculator", - "intro": [ - "In this lab you will build an odd Fibonacci sum calculator that takes a number and returns the sum of all odd Fibonacci numbers that are less than or equal to that number." - ] - }, - "lab-element-skipper": { - "title": "Implement an Element Skipper", - "intro": [ - "In this lab you will create a function that skips elements in an array based on a specified step value." - ] - }, - "lab-optional-arguments-sum-function": { - "title": "Build an Optional Arguments Sum Function", - "intro": [ - "In this lab you will build a function that accepts up to two arguments, and sum them, but if there is only one argument returns a function that waits for the second number to sum." - ] - }, - "review-javascript-fundamentals": { - "title": "JavaScript Fundamentals Review", - "intro": [ - "Before you are quizzed on JavaScript fundamentals, you first need to review the concepts.", - "Open up this page to review concepts like closures, memory management, and more." - ] - }, - "quiz-javascript-fundamentals": { - "title": "JavaScript Fundamentals Quiz", - "intro": [ - "Test your knowledge of JavaScript fundamentals with this quiz." - ] - }, - "lecture-working-with-higher-order-functions-and-callbacks": { - "title": "Working with Higher Order Functions and Callbacks", - "intro": [ - "In these lessons, you will learn how to work with higher order functions and callbacks. The higher order functions you will learn include 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": { - "title": "Build a Library Manager", - "intro": [ - "In this workshop, you will learn higher order array methods by building a library manager." - ] - }, - "lab-book-organizer": { - "title": "Build a Book Organizer", - "intro": [ - "In this lab, you'll build a book organizer using higher order functions in JavaScript." - ] - }, - "lab-sorted-index-finder": { - "title": "Implement a Sorted Index Finder", - "intro": [ - "In this lab, you will create a function that finds the index at which a given number should be inserted into a sorted array to maintain the array's sorted order." - ] - }, - "lab-symmetric-difference": { - "title": "Build a Symmetric Difference Function", - "intro": [ - "In this lab, you will practice using higher order functions to find the symmetric difference between two arrays." - ] - }, - "lab-value-remover-function": { - "title": "Implement a Value Remover Function", - "intro": [ - "In this lab, you will create a function that removes all instances of a specified value from an array." - ] - }, - "lab-matching-object-filter": { - "title": "Implement a Matching Object Filter", - "intro": [ - "In this lab, you will create a function that looks through an array of objects and returns an array of all objects that have matching property and value pairs." - ] - }, - "lab-prime-number-sum-calculator": { - "title": "Build a Prime Number Sum Calculator", - "intro": [ - "In this lab you will build a prime number sum calculator that takes a number and returns the sum of all prime numbers that are less than or equal to that number." - ] - }, - "lab-range-based-lcm-calculator": { - "title": "Implement a Range-Based LCM Calculator", - "intro": [ - "In this lab, you will create a function that takes an array of two numbers and returns the least common multiple (LCM) of those two numbers and all the numbers between them." - ] - }, - "lab-deep-flattening-tool": { - "title": "Create a Deep Flattening Tool", - "intro": [ - "In this lab you will create a function that can flatten deeply nested arrays, handling any level of nesting without using built-in flat methods." - ] - }, - "lab-all-true-property-validator": { - "title": "Build an All-True Property Validator", - "intro": [ - "In this lab you will build a function that checks if all objects in an array have a truthy value for a specific property." - ] - }, - "review-javascript-higher-order-functions": { - "title": "JavaScript Higher Order Functions Review", - "intro": [ - "Before you're quizzed on JavaScript higher order functions, you should review them.", - "Open up this page to review concepts including how to work with the map(), filter(), and reduce() methods." - ] - }, - "quiz-javascript-higher-order-functions": { - "title": "JavaScript Higher Order Functions Quiz", - "intro": [ - "Test your knowledge of JavaScript higher order functions with this quiz." - ] - }, - "lecture-working-with-the-dom-click-events-and-web-apis": { - "title": "Working with the DOM, Click Events, and Web APIs", - "intro": [ - "In these lessons, you will learn how to work with the Document Object Model (DOM), the addEventListener() method and events, and web APIs." - ] - }, - "workshop-storytelling-app": { - "title": "Build a Storytelling App", - "intro": [ - "In this workshop, you will build a storytelling app that will allow you to list different stories based on genre." - ] - }, - "workshop-emoji-reactor": { - "title": "Build an Emoji Reactor", - "intro": [ - "In this workshop, you will build an emoji reactor to practice querySelector and querySelectorAll." - ] - }, - "lab-favorite-icon-toggler": { - "title": "Build a Favorite Icon Toggler", - "intro": [ - "In this lab, you'll build a favorite icon toggler by utilizing JavaScript click events." - ] - }, - "lecture-understanding-the-event-object-and-event-delegation": { - "title": "Understanding the Event Object and Event Delegation", - "intro": [ - "In these lessons, you will learn about the event object, the change event, event bubbling, and event delegation." - ] - }, - "workshop-music-instrument-filter": { - "title": "Build a Music Instrument Filter", - "intro": [ - "In this workshop, you will build a music instrument filter with JavaScript." - ] - }, - "lab-real-time-counter": { - "title": "Build a Real Time Counter", - "intro": [ - "In this lab, you'll build a real-time character counter", - "You'll practice how to work with the input event when the user types in the input field." - ] - }, - "lab-lightbox-viewer": { - "title": "Build a Lightbox Viewer", - "intro": [ - "In this lab, you'll build a lightbox viewer for viewing images in a focused mode.", - "You'll practice click events and toggling classes." - ] - }, - "workshop-rps-game": { - "title": "Build a Rock, Paper, Scissors Game", - "intro": [ - "In this workshop, you will review DOM manipulation and events by building a Rock, Paper, Scissors Game." - ] - }, - "lab-football-team-cards": { - "title": "Build a Set of Football Team Cards", - "intro": [ - "In this lab, you'll use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards." - ] - }, - "review-dom-manipulation-and-click-events-with-javascript": { - "title": "DOM Manipulation and Click Events with JavaScript Review", - "intro": [ - "Before you're quizzed on the DOM, you should review what you've learned about it.", - "Open up this page to review concepts including how to work with the DOM, Web APIs, the addEventListener() method, change events, event bubbling and more." - ] - }, - "quiz-dom-manipulation-and-click-event-with-javascript": { - "title": "DOM Manipulation and Click Events with JavaScript Quiz", - "intro": [ - "Test your knowledge of DOM manipulation and click events in JavaScript with this quiz." - ] - }, - "lecture-understanding-aria-expanded-aria-live-and-common-aria-states": { - "title": "Understanding aria-expanded, aria-live, and Common ARIA States", - "intro": [ - "In these lessons you will learn more about ARIA attributes like aria-expanded, aria-live, and common ARIA states." - ] - }, - "workshop-planets-tablist": { - "title": "Build a Planets Tablist", - "intro": [ - "In this workshop, you will build a dynamic tabbed interface that showcases facts about the planets in the solar system." - ] - }, - "workshop-note-taking-app": { - "title": "Build a Note Taking App", - "intro": [ - "In this workshop, you are going to build an accessible note taking app.", - "This will provide you with the opportunity to practice working with aria-live attribute." - ] - }, - "lab-theme-switcher": { - "title": "Build a Theme Switcher", - "intro": [ - "In this lab, you will build a theme switcher and practice working with the aria-haspopup, aria-expanded, and aria-controls attributes." - ] - }, - "review-js-a11y": { - "title": "JavaScript and Accessibility Review", - "intro": [ - "Before you're quizzed on JavaScript and accessibility, you should review what you've learned about it.", - "Open up this page to review concepts including how to work with the aria-expanded, aria-live, and aria-controls attributes." - ] - }, - "quiz-js-a11y": { - "title": "JavaScript and Accessibility Quiz", - "intro": [ - "Test your knowledge of JavaScript and accessibility best practices with this quiz." - ] - }, - "lecture-debugging-techniques": { - "title": "Debugging Techniques", - "intro": [ - "In these lessons, you will learn about the common errors in JavaScript and the techniques you can use to fix them – a process called debugging." - ] - }, - "lab-random-background-color-changer": { - "title": "Debug a Random Background Color Changer", - "intro": [ - "In this lab, you'll debug a random background color changer and fix the errors to make it work properly." - ] - }, - "review-debugging-javascript": { - "title": "Debugging JavaScript Review", - "intro": [ - "Before you're quizzed on common debugging techniques, you should review what you've learned.", - "Open up this page to review concepts including how to work with the throw statement, try...catch...finally and more." - ] - }, - "quiz-debugging-javascript": { - "title": "Debugging JavaScript Quiz", - "intro": ["Test your knowledge of JavaScript debugging with this quiz."] - }, - "lecture-working-with-regular-expressions": { - "title": "Working with Regular Expressions", - "intro": [ - "In these lessons, you will learn about regular expressions in JavaScript. You will learn about the methods for working with regular expressions, modifiers, character classes, lookaheads, lookbehinds, back-references, quantifiers, and more." - ] - }, - "workshop-spam-filter": { - "title": "Build a Spam Filter", - "intro": [ - "Regular expressions, often shortened to \"regex\" or \"regexp\", are patterns that help programmers match, search, and replace text. Regular expressions are powerful, but can be difficult to understand because they use so many special characters.", - "In this workshop, you'll use capture groups, positive lookaheads, negative lookaheads, and other techniques to match any text you want." - ] - }, - "lab-palindrome-checker": { - "title": "Build a Palindrome Checker", - "intro": [ - "For this lab, you'll build an application that checks whether a given word is a palindrome." - ] - }, - "lab-markdown-to-html-converter": { - "title": "Build a Markdown to HTML Converter", - "intro": [ - "For this lab, you'll build a Markdown to HTML converter using JavaScript.", - "You'll practice regular expressions, string manipulation, and more." - ] - }, - "lab-regex-sandbox": { - "title": "Build a RegEx Sandbox", - "intro": ["In this lab you'll build a regex sandbox."] - }, - "lab-spinal-case-converter": { - "title": "Implement a Spinal Case Converter", - "intro": [ - "In this lab, you will create a function that converts a given string to spinal case which is a style of writing where all letters are lowercase and separated by hyphens." - ] - }, - "lab-pig-latin": { - "title": "Implement a Pig Latin Translator", - "intro": [ - "In this lab, you'll implement a Pig Latin translator using JavaScript.", - "You'll practice string manipulation, conditional logic, and regular expressions." - ] - }, - "lab-smart-word-replacement": { - "title": "Build a Smart Word Replacement Function", - "intro": [ - "In this lab, you will use regex to create a function that performs a search and replace operation on a given string." - ] - }, - "review-javascript-regular-expressions": { - "title": "JavaScript Regular Expressions Review", - "intro": [ - "Before you're quizzed on Regular Expressions, you should review what you've learned.", - "Open up this page to review concepts like lookaheads, lookbehinds, common regex modifiers and more." - ] - }, - "quiz-javascript-regular-expressions": { - "title": "JavaScript Regular Expressions Quiz", - "intro": [ - "Test your knowledge of JavaScript Regular Expressions with this quiz." - ] - }, - "lecture-understanding-form-validation": { - "title": "Understanding Form Validation", - "intro": [ - "In these lessons, you will learn about form validation in JavaScript. You will learn about the various ways to validate forms, how the preventDefault() method works, and how the submit event works." - ] - }, - "workshop-calorie-counter": { - "title": "Build a Calorie Counter", - "intro": [ - "Sometimes when you're coding a web application, you'll need to be able to accept input from a user. In this calorie counter workshop, you'll practice how to validate user input, perform calculations based on that input, and dynamically update your interface to display the results.", - "You'll also practice basic regular expressions, template literals, the addEventListener() method, and more." - ] - }, - "lab-customer-complaint-form": { - "title": "Build a Customer Complaint Form", - "intro": [ - "For this lab, you'll use JavaScript to validate a customer complaint form.", - "You'll practice how to validate form inputs, display error messages, and prevent the form from submitting if there are errors." - ] - }, - "review-form-validation-with-javascript": { - "title": "Form Validation with JavaScript Review", - "intro": [ - "Before you're quizzed on form validation, you should review what you've learned.", - "Open up this page to review concepts including the preventDefault() method, the submit event and more." - ] - }, - "quiz-form-validation-with-javascript": { - "title": "Form Validation with JavaScript Quiz", - "intro": [ - "Test what you've learned about JavaScript form validation with this quiz." - ] - }, - "lecture-working-with-dates": { - "title": "Working with Dates", - "intro": [ - "In these lessons, you will learn about the JavaScript date object. You will learn about the methods for working with dates and how to format dates." - ] - }, - "lab-date-conversion": { - "title": "Build a Date Conversion Program", - "intro": [ - "In this lab, you'll build a program to convert a date from one format to another." - ] - }, - "review-javascript-dates": { - "title": "JavaScript Dates Review", - "intro": [ - "Before you're quizzed on working with dates, you should review what you've learned.", - "Open up this page to review the Date() object and common methods." - ] - }, - "quiz-javascript-dates": { - "title": "JavaScript Dates Quiz", - "intro": [ - "Test what you've learned about JavaScript Dates with this quiz." - ] - }, - "lecture-working-with-audio-and-video": { - "title": "Working with Audio and Video", - "intro": [ - "In these lessons, you will learn how to work with audio and video files using JavaScript. You will learn about the Audio and Video constructors, their methods and properties, audio and video formats, codecs, the HTMLMediaElement API, and much more." - ] - }, - "workshop-music-player": { - "title": "Build a Music Player", - "intro": [ - "In this workshop, you'll code a basic MP3 player using HTML, CSS, and JavaScript.", - "The project covers fundamental concepts such as handling audio playback, managing a playlist, implementing play, pause, next, and previous functionalities and dynamically update your user interface based on the current song." - ] - }, - "lab-drum-machine": { - "title": "Build a Drum Machine", - "intro": [ - "For this lab you will use the audio element to build a drum machine." - ] - }, - "review-javascript-audio-and-video": { - "title": "JavaScript Audio and Video Review", - "intro": [ - "Before you're quizzed on working with audio and video in JavaScript, you should review what you've learned about them.", - "Open up this page to review concepts including the Audio constructor, the HTMLMediaElement API and more." - ] - }, - "quiz-javascript-audio-and-video": { - "title": "JavaScript Audio and Video Quiz", - "intro": [ - "Test what you've learned about JavaScript audio and video with this quiz." - ] - }, - "lecture-working-with-maps-and-sets": { - "title": "Working with Maps and Sets", - "intro": [ - "In these lessons, you will learn about JavaScript Map and Set. You will also learn how they both differ from WeakSets and WeakMaps." - ] - }, - "workshop-plant-nursery-catalog": { - "title": "Build a Plant Nursery Catalog", - "intro": [ - "In this workshop, you will practice using Maps and Sets by building a plant nursery catalog." - ] - }, - "lab-voting-system": { - "title": "Build a Voting System", - "intro": [ - "In this lab, you'll build a voting system using Maps and Sets.", - "You'll practice how to use the Map object to store key-value pairs and the Set object to store unique values." - ] - }, - "review-javascript-maps-and-sets": { - "title": "JavaScript Maps and Sets Review", - "intro": [ - "Before you're quizzed on JavaScript Maps and Sets, you should review what you've learned about them.", - "Open up this page to review concepts such as the Map and Set objects, as well as WeakSet and WeakMap." - ] - }, - "quiz-javascript-maps-and-sets": { - "title": "JavaScript Maps and Sets Quiz", - "intro": [ - "Test what you've learned about JavaScript Maps and Sets with this quiz." - ] - }, - "lecture-working-with-client-side-storage-and-crud-operations": { - "title": "Working with Client-Side Storage and CRUD Operations", - "intro": [ - "In these lessons, you will learn about client-side storage and CRUD operations in JavaScript. You will learn about localStorage and sessionStorage alongside their methods and properties, cookies, the Cache API, IndexDB, and much more." - ] - }, - "workshop-todo-app": { - "title": "Build a Todo App using Local Storage", - "intro": [ - "Local storage is a web browser feature that lets web applications store key-value pairs persistently within a user's browser. This allows web apps to save data during one session, then retrieve it in a later page session.", - "In this workshop, you'll learn how to handle form inputs, manage local storage, perform CRUD (Create, Read, Update, Delete) operations on tasks, implement event listeners, and toggle UI elements." - ] - }, - "lab-bookmark-manager-app": { - "title": "Build a Bookmark Manager App", - "intro": [ - "For this lab, you'll build a bookmark manager app.", - "You'll utilize local storage to store bookmarks, and practice how to add, remove, and display bookmarks." - ] - }, - "review-local-storage-and-crud": { - "title": "Local Storage and CRUD Review", - "intro": [ - "Before you are quizzed on working with localStorage, you first need to review the concepts.", - "Open up this page to review the localStorage property, sessionStorage property and more." - ] - }, - "quiz-local-storage-and-crud": { - "title": "Local Storage and CRUD Quiz", - "intro": [ - "Test what you've learned about local storage and CRUD with this quiz." - ] - }, - "lecture-understanding-how-to-work-with-classes-in-javascript": { - "title": "Understanding How to Work with Classes in JavaScript", - "intro": [ - "In these lessons, you will learn about classes in JavaScript. You will learn about inheritance, the this keyword, static properties and methods, and more." - ] - }, - "workshop-shopping-cart": { - "title": "Build a Shopping Cart", - "intro": [ - "In this workshop you'll create a shopping cart using JavaScript classes.", - "You will practice how to use the this keyword, create class instances, implement methods for data manipulation and more." - ] - }, - "lab-project-idea-board": { - "title": "Build a Project Idea Board", - "intro": [ - "In this lab, you'll build a project idea board using OOP in JavaScript.", - "You'll practice how to create classes, add methods to classes, and create instances of classes." - ] - }, - "lab-bank-account-manager": { - "title": "Build a Bank Account Management Program", - "intro": [ - "In this lab, you'll build a simple transaction management system for a bank account." - ] - }, - "review-javascript-classes": { - "title": "JavaScript Classes Review", - "intro": [ - "Before you're quizzed on how to work with classes, you should review what you've learned about them.", - "Open up this page to review concepts including the this keyword, class inheritance and more." - ] - }, - "quiz-javascript-classes": { - "title": "JavaScript Classes Quiz", - "intro": [ - "Test what you've learned about JavaScript classes with this quiz." - ] - }, - "lecture-understanding-recursion-and-the-call-stack": { - "title": "Understanding Recursion and the Call Stack", - "intro": [ - "In this lesson, you will learn about recursion and the call stack." - ] - }, - "workshop-decimal-to-binary-converter": { - "title": "Build a Decimal to Binary Converter", - "intro": [ - "Recursion is a programming concept where a function calls itself. This can reduce a complex problem into simpler sub-problems, until they become straightforward to solve.", - "In this workshop, you’ll build a decimal-to-binary converter using JavaScript. You’ll practice the fundamental concepts of recursion, explore the call stack, and build out a visual representation of the recursion process through an animation." - ] - }, - "lab-permutation-generator": { - "title": "Build a Permutation Generator", - "intro": [ - "For this lab, you'll build a permutation generator that produces all possible permutations of a given string." - ] - }, - "review-recursion": { - "title": "Recursion Review", - "intro": [ - "Before you're quizzed on recursion, you should review what you've learned.", - "Open up this page to review what is recursion and what is it used for." - ] - }, - "quiz-recursion": { - "title": "Recursion Quiz", - "intro": ["Test your knowledge of Recursion with this quiz."] - }, - "lecture-understanding-functional-programming": { - "title": "Understanding Functional Programming", - "intro": [ - "In these lessons, you will learn about functional programming and how to nest functions using a technique called currying." - ] - }, - "workshop-recipe-ingredient-converter": { - "title": "Build a Recipe Ingredient Converter", - "intro": [ - "In the previous lessons, you learned the core concepts behind functional programming and currying.", - "Now you will be able to apply what you have learned about currying and functional programming by building a recipe ingredient converter application." - ] - }, - "lab-sorting-visualizer": { - "title": "Build a Sorting Visualizer", - "intro": [ - "For this lab, you'll use JavaScript to visualize the steps that the Bubble Sort algorithm takes to reorder an array of integers." - ] - }, - "review-javascript-functional-programming": { - "title": "JavaScript Functional Programming Review", - "intro": [ - "Before you're quizzed on functional programming, you should review what you've learned.", - "Open up this page to review concepts on functional programming, currying and more." - ] - }, - "quiz-javascript-functional-programming": { - "title": "JavaScript Functional Programming Quiz", - "intro": [ - "Test what you've learned about JavaScript functional programming with this quiz." - ] - }, - "lecture-understanding-asynchronous-programming": { - "title": "Understanding Asynchronous Programming", - "intro": [ - "In these lessons, you will learn about asynchronous programming in JavaScript. You will learn about the differences between synchronous and asynchronous programming, how the async keyword works, the Fetch API, promises, async/await, the Geolocation API, and much more." - ] - }, - "workshop-fcc-authors-page": { - "title": "Build an fCC Authors Page", - "intro": [ - "One common aspect of web development is learning how to fetch data from an external API, then work with asynchronous JavaScript.", - "In this workshop you will practice how to use the fetch method, dynamically update the DOM to display the fetched data and paginate your data so you can load results in batches." - ] - }, - "lab-fcc-forum-leaderboard": { - "title": "Build an fCC Forum Leaderboard", - "intro": [ - "For this lab you'll practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard." - ] - }, - "lab-weather-app": { - "title": "Build a Weather App", - "intro": [ - "In this lab you'll build a Weather App using an API", - "You'll practice how to fetch data from the API, store and display it on your app." - ] - }, - "review-asynchronous-javascript": { - "title": "Asynchronous JavaScript Review", - "intro": [ - "Review asynchronous JavaScript concepts to prepare for the upcoming quiz." - ] - }, - "quiz-asynchronous-javascript": { - "title": "Asynchronous JavaScript Quiz", - "intro": [ - "Test what you've learned about asynchronous JavaScript with this quiz." - ] - }, - "review-javascript": { - "title": "JavaScript Review", - "intro": [ - "Before you take the JavaScript prep exam, you should review everything you've learned about JavaScript.", - "Open up this page to review all of the concepts taught including variables, strings, booleans, functions, objects, arrays, debugging, working with the DOM and more." - ] - }, - "kagw": { - "title": "258", - "intro": [] - }, - "lecture-introduction-to-javascript-libraries-and-frameworks": { - "title": "Introduction to JavaScript Libraries and Frameworks", - "intro": [ - "In these lessons, you will get an introduction to JavaScript libraries and frameworks. You will learn about the roles of JavaScript libraries and frameworks, single page applications (SPAs) and the issue surrounding them, and React, the most popular frontend JavaScript library." - ] - }, - "workshop-reusable-mega-navbar": { - "title": "Build a Reusable Mega Navbar", - "intro": [ - "In the previous lessons, you learned how to work with components in React.", - "In this workshop, you will build a reusable Navbar component using React." - ] - }, - "lab-reusable-footer": { - "title": "Build a Reusable Footer", - "intro": ["In this lab, you'll use React to build a reusable footer."] - }, - "lecture-working-with-data-in-react": { - "title": "Working with Data in React", - "intro": [ - "In these lessons, you will learn how to work with data in React. You will learn about props and how to pass them around, conditional rendering, how to render lists, and how to use inline styles." - ] - }, - "workshop-reusable-profile-card-component": { - "title": "Build a Reusable Profile Card Component", - "intro": [ - "In this workshop, you will learn how to work with props by building a reusable profile card component." - ] - }, - "lab-mood-board": { - "title": "Build a Mood Board", - "intro": [ - "In this lab, you'll create a mood board using React.", - "You'll practice how to pass data from a parent component to a child component using props." - ] - }, - "review-react-basics": { - "title": "React Basics Review", - "intro": [ - "Review basic React concepts to prepare for the upcoming quiz." - ] - }, - "quiz-react-basics": { - "title": "React Basics Quiz", - "intro": ["Test your knowledge of React basics with this quiz."] - }, - "lecture-working-with-state-and-responding-to-events-in-react": { - "title": "Working with State and Responding to Events in React", - "intro": [ - "In these lessons, you will learn about working with state and responding to events with React." - ] - }, - "workshop-toggle-text-app": { - "title": "Toggle Text App", - "intro": [ - "In this workshop, you will continue to learn about the useState() hook by building an application that hides and shows a piece of text on the screen." - ] - }, - "lab-color-picker": { - "title": "Build a Color Picker App", - "intro": [ - "In this lab you'll build a Color Picker.", - "You'll practice using state and hooks to manage the properties of an element." - ] - }, - "lecture-understanding-effects-and-referencing-values-in-react": { - "title": "Understanding Effects and Referencing Values in React", - "intro": [ - "In these lessons, you will learn about effects and referencing values with React." - ] - }, - "workshop-fruit-search-app": { - "title": "Build a Fruit Search App", - "intro": [ - "In this workshop, you will continue to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically." - ] - }, - "lab-one-time-password-generator": { - "title": "Build a One-Time Password Generator", - "intro": [ - "In this lab you'll build a one-time password generator.", - "You'll practice using the useEffect hooks to create a timer and generate a random OTP." - ] - }, - "review-react-state-and-hooks": { - "title": "React State and Hooks Review", - "intro": [ - "Before you're quizzed on React state and hooks, you should review what you've learned.", - "Open up this page to review working with state, custom hooks and more." - ] - }, - "quiz-react-state-and-hooks": { - "title": "React State and Hooks Quiz", - "intro": [ - "Test what you've learned about React's useState and useEffect hooks with this quiz." - ] - }, - "lecture-working-with-forms-in-react": { - "title": "Working with Forms in React", - "intro": [ - "In these lessons, you will learn about working with forms in React." - ] - }, - "workshop-superhero-application-form": { - "title": "Build a Superhero Application Form", - "intro": [ - "In this workshop, you will build a superhero application form." - ] - }, - "lab-event-rsvp": { - "title": "Build an Event RSVP", - "intro": [ - "In this lab, you'll build an Event RSVP form using React.", - "You'll practice using the useState hook to manage form input and display user responses." - ] - }, - "lecture-working-with-data-fetching-and-memoization-in-react": { - "title": "Working with Data Fetching and Memoization in React", - "intro": [ - "In these lessons, you will learn about data fetching and memoization in React." - ] - }, - "workshop-shopping-list-app": { - "title": "Build a Shopping List App", - "intro": [ - "In this workshop, you'll use the useMemo() and useCallback() hooks in React to build a simple shopping list app. You'll learn more about state and the lifecycle of React components, and how to use memoization to reduce re-renders and make your apps more efficient." - ] - }, - "lab-currency-converter": { - "title": "Build a Currency Converter", - "intro": [ - "For this lab, you'll build a currency converter app.", - "You'll use React state, memoization, and controlled components to convert between currencies." - ] - }, - "lecture-routing-react-frameworks-and-dependency-management-tools": { - "title": "Routing, React Frameworks, and Dependency Management Tools", - "intro": [ - "In these lessons, you will learn about routing in React, React frameworks, and dependency management tools." - ] - }, - "lab-tic-tac-toe": { - "title": "Build a Tic-Tac-Toe Game", - "intro": [ - "In this lab, you'll build a Tic-Tac-Toe game using React.", - "You'll practice managing state, handling user interactions, and updating the UI dynamically." - ] - }, - "lecture-react-strategies-and-debugging": { - "title": "React Strategies and Debugging", - "intro": [ - "In these lessons, you will learn about different strategies and debugging in React." - ] - }, - "review-react-forms-data-fetching-and-routing": { - "title": "React Forms, Data Fetching and Routing Review", - "intro": [ - "Before you take the React forms, data fetching and routing quiz, you should review everything you've learned so far.", - "Open up this page, to review all of the concepts taught including routing, forms, state management, prop drilling, data fetching and more." - ] - }, - "quiz-react-forms-data-fetching-and-routing": { - "title": "React Forms, Data Fetching and Routing Quiz", - "intro": [ - "Test what you've learned about routing, forms, and data fetching with this quiz." - ] - }, - "lecture-understanding-performance-in-web-applications": { - "title": "Understanding Performance in Web Applications", - "intro": [ - "In these lessons, you will learn performance in web applications." - ] - }, - "review-web-performance": { - "title": "Web Performance Review", - "intro": [ - "Before you take the web performance quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including INP, key metrics for measuring performance, Performance Web APIs and more." - ] - }, - "quiz-web-performance": { - "title": "Web Performance Quiz", - "intro": [ - "Test what you've learned about Web Performance with this quiz." - ] - }, - "lecture-understanding-the-different-types-of-testing": { - "title": "Understanding the Different Types of Testing", - "intro": [ - "In these lessons, you will learn about the different types of testing." - ] - }, - "review-testing": { - "title": "Testing Review", - "intro": [ - "Before you take the testing quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including unit testing, end-to-end testing, functional testing and more." - ] - }, - "quiz-testing": { - "title": "Testing Quiz", - "intro": ["Test what you've learned on testing with this quiz."] - }, - "lecture-working-with-css-libraries-and-frameworks": { - "title": "Working with CSS Libraries and Frameworks", - "intro": [ - "In these lessons, you will learn how to work with CSS libraries and frameworks." - ] - }, - "workshop-error-message-component": { - "title": "Build an Error Message Component", - "intro": [ - "In this workshop, you will learn the basics of Tailwind CSS by building out an error message component." - ] - }, - "workshop-tailwind-cta-component": { - "title": "Build a CTA Component", - "intro": [ - "In this workshop, you will build a call to action (CTA) component using Tailwind CSS." - ] - }, - "workshop-tailwind-pricing-component": { - "title": "Build a Pricing Component", - "intro": [ - "In this workshop, you will build a pricing component using Tailwind CSS.", - "You will practice working with Tailwind CSS grid utility classes." - ] - }, - "lab-music-shopping-cart-page": { - "title": "Build a Music Shopping Cart Page", - "intro": [ - "In this lab, you will build a music shopping cart page with Tailwind CSS.", - "You will practice working with Tailwind CSS utility classes for flexbox layouts, colors, breakpoints and more." - ] - }, - "lab-photography-exhibit": { - "title": "Design a Photography Exhibit", - "intro": [ - "In this lab, you will practice working with Tailwind CSS by designing a photography exhibit webpage." - ] - }, - "review-css-libraries-and-frameworks": { - "title": "CSS Libraries and Frameworks Review", - "intro": [ - "Before you take the CSS libraries and frameworks quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including CSS frameworks, CSS preprocessors, Sass and more." - ] - }, - "quiz-css-libraries-and-frameworks": { - "title": "CSS Libraries and Frameworks Quiz", - "intro": [ - "Test what you've learned about CSS Libraries and Frameworks with this quiz." - ] - }, - "lecture-introduction-to-typescript": { - "title": "Introduction to TypeScript", - "intro": [ - "In these lessons, you will learn what TypeScript is and how to use it." - ] - }, - "lecture-working-with-generics-and-type-narrowing": { - "title": "Working with Generics and Type Narrowing", - "intro": [ - "In these lessons, you will learn about generics and type narrowing in TypeScript." - ] - }, - "lecture-working-with-typescript-configuration-files": { - "title": "Working with TypeScript Configuration Files", - "intro": [ - "In this lesson, you will learn about TypeScript configuration files and how to use them." - ] - }, - "trvf": { - "title": "293", - "intro": [] - }, - "kwmg": { - "title": "294", - "intro": [] - }, - "nodx": { - "title": "295", - "intro": [] - }, - "erfj": { - "title": "296", - "intro": [] - }, - "muyw": { - "title": "297", - "intro": [] - }, - "review-typescript": { - "title": "Typescript Review", - "intro": [ - "Before you take the TypeScript quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including data types in TypeScript, generics, type narrowing and more." - ] - }, - "quiz-typescript": { - "title": "TypeScript Quiz", - "intro": ["Test what you've learned on Typescript with this quiz."] - }, - "review-front-end-libraries": { - "title": "Front End Libraries Review", - "intro": [ - "Review the Front End Libraries concepts to prepare for the upcoming quiz." - ] - }, - "rdzk": { - "title": "301", - "intro": [] - }, - "vtpz": { - "title": "302", - "intro": [] - }, - "lecture-introduction-to-python": { - "title": "Introduction to Python", - "intro": [ - "In these lessons, you will learn the fundamentals of Python. You'll learn about variables, data types, operators, control flow, functions, and more." - ] - }, - "workshop-caesar-cipher": { - "title": "Build a Caesar Cipher", - "intro": [ - "In this workshop, you'll build a Caesar cipher using basic Python concepts such as strings, conditionals, functions, and more." - ] - }, - "lab-rpg-character": { - "title": "Build an RPG Character", - "intro": [ - "In this lab you will practice basic python by building an RPG character." - ] - }, - "review-python-basics": { - "title": "Python Basics Review", - "intro": [ - "Before you're quizzed on Python basics, you should review what you've learned about it.", - "In this review page, you will review working with strings, functions, comparison operators and more." - ] - }, - "quiz-python-basics": { - "title": "Python Basics Quiz", - "intro": [ - "Test what you've learned about Python basics with this quiz." - ] - }, - "lecture-working-with-loops-and-sequences": { - "title": "Working with Loops and Sequences", - "intro": [ - "Learn about Working with Loops and Sequences in these lessons." - ] - }, - "workshop-pin-extractor": { - "title": "Build a Pin Extractor", - "intro": [ - "In this workshop you will build a function to extract secret pins hidden in poems." - ] - }, - "lab-number-pattern-generator": { - "title": "Build a Number Pattern Generator", - "intro": ["In this lab you will build a number pattern generator."] - }, - "review-loops-and-sequences": { - "title": "Loops and Sequences Review", - "intro": [ - "Before you're quizzed on loops and sequences, you should review what you've learned about them.", - "Open up this page to review concepts around loops, lists, tuples and some of their common methods." - ] - }, - "quiz-loops-and-sequences": { - "title": "Loops and Sequences Quiz", - "intro": [ - "Test what you've learned about loops and sequences in Python with this quiz." - ] - }, - "lecture-working-with-dictionaries-and-sets": { - "title": "Working with Dictionaries and Sets", - "intro": [ - "Learn about working with dictionaries and sets in these lessons." - ] - }, - "lecture-working-with-modules": { - "title": "Working with Modules", - "intro": ["Learn about working with modules in these lessons."] - }, - "workshop-medical-data-validator": { - "title": "Build a Medical Data Validator", - "intro": [ - "In this workshop, you'll practice working with dictionaries and sets while validating a collection of medical data." - ] - }, - "lab-user-configuration-manager": { - "title": "Build a User Configuration Manager", - "intro": [ - "In this lab, you will practice working with dictionaries in Python." - ] - }, - "review-dictionaries-and-sets": { - "title": "Dictionaries and Sets review", - "intro": [ - "Before you're quizzed on dictionaries and sets, you should review what you've learned about them.", - "Open up this page to review concepts around dictionaries, sets, and how to import modules." - ] - }, - "quiz-dictionaries-and-sets": { - "title": "Dictionaries and Sets Quiz", - "intro": [ - "Test what you've learned about dictionaries and sets in Python with this quiz." - ] - }, - "lecture-understanding-error-handling": { - "title": "Understanding Error Handling", - "intro": [ - "In these lessons, you will learn about error handling in Python. You will learn about the different types of errors, some good debugging practices, what exceptions are, and how to handle them." - ] - }, - "lab-isbn-validator": { - "title": "Debug an ISBN Validator", - "intro": [ - "In this lab, you will start with a bugged app, and you will need to debug and fix the bugs until it is working properly." - ] - }, - "review-error-handling": { - "title": "Error Handling Review", - "intro": [ - "Before you're quizzed on error handling, you should review what you've learned about it." - ] - }, - "quiz-error-handling": { - "title": "Error Handling Quiz", - "intro": [ - "Test what you've learned about Error Handling in Python with this quiz." - ] - }, - "lecture-classes-and-objects": { - "title": "Classes and Objects", - "intro": ["Learn about Classes and Objects in these lessons."] - }, - "workshop-musical-instrument-inventory": { - "title": "Build a Musical Instrument Inventory", - "intro": [ - "In this workshop, you will learn about classes, objects, and methods in Python by building a simple musical instrument inventory." - ] - }, - "lab-planet-class": { - "title": "Build a Planet Class", - "intro": [ - "In this lab you will create a class that represents a planet." - ] - }, - "workshop-email-simulator": { - "title": "Build an Email Simulator", - "intro": [ - "In this workshop you will implement classes and objects by building an email simulator that simulates sending, receiving, and managing emails between different users." - ] - }, - "lab-budget-app": { - "title": "Build a Budget App", - "intro": [ - "In this lab you will build a budget app and practice creating a class and methods for that class." - ] - }, - "review-classes-and-objects": { - "title": "Classes and Objects Review", - "intro": [ - "Before you're quizzed on classes and objects, you should review what you've learned about them.", - "Open up this page to review concepts like how classes work, what are objects, methods, attributes, special methods and more." - ] - }, - "quiz-classes-and-objects": { - "title": "Classes and Objects Quiz", - "intro": [ - "Test what you've learned about classes and objects in Python with this quiz." - ] - }, - "lecture-understanding-object-oriented-programming-and-encapsulation": { - "title": "Understanding Object Oriented Programming and Encapsulation", - "intro": [ - "Learn about Understanding Object Oriented Programming and Encapsulation in these lessons." - ] - }, - "workshop-salary-tracker": { - "title": "Build a Salary Tracker", - "intro": [ - "In this workshop, you'll practice encapsulation, properties, and other OOP concepts by building a salary tracking system for employees." - ] - }, - "lab-game-character-stats": { - "title": "Build a Game Character Stats Tracker", - "intro": [ - "In this lab, you will build a game character with different stats using object-oriented programming." - ] - }, - "lecture-understanding-inheritance-and-polymorphism": { - "title": "Understanding Inheritance and Polymorphism", - "intro": [ - "Learn about Understanding Inheritance and Polymorphism in these lessons." - ] - }, - "workshop-media-catalogue": { - "title": "Build a Media Catalogue", - "intro": [ - "In this workshop, you will create a media catalogue application using object-oriented programming principles." - ] - }, - "lab-polygon-area-calculator": { - "title": "Build a Polygon Area Calculator", - "intro": [ - "In this lab, you will use object-oriented programming to calculate the areas of different polygons like squares and rectangles." - ] - }, - "lecture-understanding-abstraction": { - "title": "Understanding Abstraction", - "intro": ["Learn about Understanding Abstraction in these lessons."] - }, - "workshop-discount-calculator": { - "title": "Build a Discount Calculator", - "intro": [ - "In this workshop you will build a flexible discount pricing calculator through abstract base classes, allowing multiple discount algorithms to be applied interchangeably without modifying the core logic." - ] - }, - "lab-player-interface": { - "title": "Build a Player Interface", - "intro": [ - "In this lab, you'll use the abc module to build a player interface." - ] - }, - "review-object-oriented-programming": { - "title": "Object Oriented Programming Review", - "intro": [ - "Before you're quizzed on object oriented programming, you should review what you've learned about it." - ] - }, - "quiz-object-oriented-programming": { - "title": "Object Oriented Programming Quiz", - "intro": [ - "Test what you've learned about object oriented programming in python with this quiz." - ] - }, - "lecture-working-with-common-data-structures": { - "title": "Working with Common Data Structures", - "intro": [ - "Learn about Working with Common Data Structures in these lessons." - ] - }, - "workshop-linked-list-class": { - "title": "Build a Linked List", - "intro": [ - "In this workshop, you'll practice working with data structures by building a linked list." - ] - }, - "lab-hash-table": { - "title": "Build a Hash Table", - "intro": [ - "A hash table is a data structure that is used to store key-value pairs and is optimized for quick lookups.", - "In this lab, you will use your knowledge about data structures to build a hash table." - ] - }, - "review-data-structures": { - "title": "Data Structures Review", - "intro": [ - "Before you're quizzed on data structures, you should review what you've learned about them.", - "Open up this page to review concepts like the different data structures, algorithms, time and space complexity, and big O notation." - ] - }, - "quiz-data-structures": { - "title": "Data Structures Quiz", - "intro": [ - "Test what you've learned about data structures in Python with this quiz." - ] - }, - "lecture-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms", - "intro": [ - "Learn about fundamental searching and sorting algorithms, including linear search, binary search, and merge sort.", - "These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm." - ] - }, - "workshop-binary-search": { - "title": "Implement the Binary Search Algorithm", - "intro": [ - "The binary search algorithm is a searching algorithm used to find a target item in a sorted list.", - "In this workshop, you'll implement the binary search algorithm and return the path it took to find the target or return 'Value not found'." - ] - }, - "lab-bisection-method": { - "title": "Implement the Bisection Method", - "intro": [ - "In this lab, you will implement the bisection method to find the square root of a number." - ] - }, - "workshop-merge-sort": { - "title": "Implement the Merge Sort Algorithm", - "intro": [ - "The merge sort algorithm is a sorting algorithm based on the divide and conquer principle.", - "In this workshop, you'll implement the merge sort algorithm to sort a list of random numbers." - ] - }, - "lab-quicksort": { - "title": "Implement the Quicksort Algorithm", - "intro": [ - "In this lab you will implement the quicksort algorithm to sort a list of integers." - ] - }, - "lab-selection-sort": { - "title": "Implement the Selection Sort Algorithm", - "intro": [ - "In this lab you will implement the selection sort algorithm." - ] - }, - "lab-luhn-algorithm": { - "title": "Implement the Luhn Algorithm", - "intro": [ - "In this lab, you will implement the Luhn algorithm to validate identification numbers such as credit card numbers." - ] - }, - "lab-tower-of-hanoi": { - "title": "Implement the Tower of Hanoi Algorithm", - "intro": [ - "In this lab, you will implement an algorithm to solve the Tower of Hanoi puzzle." - ] - }, - "review-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms Review", - "intro": [ - "Before you're quizzed on searching and sorting algorithms, you should review what you've learned about them." - ] - }, - "quiz-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms Quiz", - "intro": [ - "Test what you've learned about searching and sorting algorithms in Python with this quiz." - ] - }, - "lecture-understanding-graphs-and-trees": { - "title": "Understanding Graphs and Trees", - "intro": [ - "In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science." - ] - }, - "workshop-shortest-path-algorithm": { - "title": "Implement the Shortest Path Algorithm", - "intro": [ - "In this workshop you will implement the shortest path algorithm to find the shortest path between two nodes in a graph." - ] - }, - "lab-adjacency-list-to-matrix-converter": { - "title": "Build an Adjacency List to Matrix Converter", - "intro": [ - "In this lab, you will implement a function that converts an adjacency list representation of a graph into an adjacency matrix representation." - ] - }, - "workshop-breadth-first-search": { - "title": "Implement the Breadth-First Search Algorithm", - "intro": [ - "In this workshop, you will use the bread-first search algorithm to generate all valid combinations of parentheses." - ] - }, - "lab-depth-first-search": { - "title": "Implement the Depth-First Search Algorithm", - "intro": [ - "In this lab, you will implement the Depth-First Search Algorithm." - ] - }, - "lab-n-queens-problem": { - "title": "Implement the N-Queens Problem", - "intro": [ - "In this lab, you will implement a solution for the N-Queens problem." - ] - }, - "review-graphs-and-trees": { - "title": "Graphs and Trees Review", - "intro": [ - "Before you're quizzed on graphs and trees, you should review what you've learned about them." - ] - }, - "quiz-graphs-and-trees": { - "title": "Graphs and Trees Quiz", - "intro": [ - "Test what you've learned about graphs and trees in Python with this quiz." - ] - }, - "lecture-understanding-dynamic-programming": { - "title": "Understanding Dynamic Programming", - "intro": [ - "In this lesson, you will learn about dynamic programming, an algorithmic technique used to solve complex problems efficiently by breaking them down into simpler subproblems." - ] - }, - "lab-nth-fibonacci-number": { - "title": "Build an Nth Fibonacci Number Calculator", - "intro": [ - "In this lab you will implement a Fibonacci sequence calculator using a dynamic programming approach." - ] - }, - "review-dynamic-programming": { - "title": "Dynamic Programming Review", - "intro": [ - "Before you're quizzed on dynamic programming, you should review what you've learned about it." - ] - }, - "quiz-dynamic-programming": { - "title": "Dynamic Programming Quiz", - "intro": [ - "Test what you've learned about dynamic programming in python with this quiz." - ] - }, - "review-python": { - "title": "Python Review", - "intro": ["Review Python concepts to prepare for the upcoming exam."] - }, - "lecture-understanding-the-command-line-and-working-with-bash": { - "title": "Understanding the Command Line and Working with Bash", - "intro": [ - "Learn about the Command Line and Working with Bash in these lessons." - ] - }, - "workshop-bash-boilerplate": { - "title": "Build a Boilerplate", - "intro": [ - "The terminal allows you to send text commands to your computer that can manipulate the file system, run programs, automate tasks, and much more.", - "In this 170-lesson workshop, you will learn terminal commands by creating a website boilerplate using only the command line." - ] - }, - "review-bash-commands": { - "title": "Bash Commands Review", - "intro": [ - "Review the Bash Commands concepts to prepare for the upcoming quiz." - ] - }, - "quiz-bash-commands": { - "title": "Bash Commands Quiz", - "intro": ["Test what you've learned bash commands with this quiz."] - }, - "lecture-working-with-relational-databases": { - "title": "Working with Relational Databases", - "intro": [ - "Learn how to work with Relational Databases in these lessons." - ] - }, - "workshop-database-of-video-game-characters": { - "title": "Build a Database of Video Game Characters", - "intro": [ - "A relational database organizes data into tables that are linked together through relationships.", - "In this 165-lesson workshop, you will learn the basics of a relational database by creating a PostgreSQL database filled with video game characters." - ] - }, - "lab-celestial-bodies-database": { - "title": "Build a Celestial Bodies Database", - "intro": [ - "For this project, you will build a database of celestial bodies using PostgreSQL." - ] - }, - "review-sql-and-postgresql": { - "title": "SQL and PostgreSQL Review", - "intro": [ - "Review SQL and PostgreSQL concepts to prepare for the upcoming quiz." - ] - }, - "quiz-sql-and-postgresql": { - "title": "SQL and PostgreSQL Quiz", - "intro": [ - "Test what you've learned about SQL and PostgreSQL with this quiz." - ] - }, - "lecture-understanding-bash-scripting": { - "title": "Understanding Bash Scripting", - "intro": ["Learn about Bash Scripting in these lessons."] - }, - "workshop-bash-five-programs": { - "title": "Build Five Programs", - "intro": [ - "Bash scripts combine terminal commands and logic into programs that can execute or automate tasks, and much more.", - "In this 220-lesson workshop, you will learn more terminal commands and how to use them within Bash scripts by creating five small programs." - ] - }, - "review-bash-scripting": { - "title": "Bash Scripting Review", - "intro": [ - "Review the bash scripting concepts you've learned to prepare for the upcoming quiz." - ] - }, - "quiz-bash-scripting": { - "title": "Bash Scripting Quiz", - "intro": ["Test what you've learned on bash scripting in this quiz."] - }, - "lecture-working-with-sql": { - "title": "Working With SQL", - "intro": [ - "In these lessons, you will learn about SQL injection, normalization, and the N+1 problem." - ] - }, - "workshop-sql-student-database-part-1": { - "title": "Build a Student Database: Part 1", - "intro": [ - "SQL, or Structured Query Language, is the language for communicating with a relational database.", - "In this 140-lesson workshop, you will create a Bash script that uses SQL to enter information about your computer science students into PostgreSQL." - ] - }, - "workshop-sql-student-database-part-2": { - "title": "Build a Student Database: Part 2", - "intro": [ - "SQL join commands are used to combine information from multiple tables in a relational database", - "In this 140-lesson workshop, you will complete your student database while diving deeper into SQL commands." - ] - }, - "lab-world-cup-database": { - "title": "Build a World Cup Database", - "intro": [ - "For this project, you will create a Bash script that enters information from World Cup games into PostgreSQL, then query the database for useful statistics." - ] - }, - "workshop-kitty-ipsum-translator": { - "title": "Build a Kitty Ipsum Translator", - "intro": [ - "There's more to Bash commands than you might think.", - "In this 140-lesson workshop, you will learn some more complex commands, and the details of how commands work." - ] - }, - "workshop-bike-rental-shop": { - "title": "Build a Bike Rental Shop", - "intro": [ - "In this 210-lesson workshop, you will build an interactive Bash program that stores rental information for your bike rental shop using PostgreSQL." - ] - }, - "lab-salon-appointment-scheduler": { - "title": "Build a Salon Appointment Scheduler", - "intro": [ - "For this lab, you will create an interactive Bash program that uses PostgreSQL to track the customers and appointments for your salon." - ] - }, - "review-bash-and-sql": { - "title": "Bash and SQL Review", - "intro": [ - "Review the Bash and SQL concepts to prepare for the upcoming quiz." - ] - }, - "quiz-bash-and-sql": { - "title": "Bash and SQL Quiz", - "intro": ["Test what you've learned in this quiz on Bash and SQL."] - }, - "lecture-working-with-nano": { - "title": "Working With Nano", - "intro": ["Learn about Nano in this lesson."] - }, - "workshop-castle": { - "title": "Build a Castle", - "intro": [ - "Nano is a program that allows you to edit files right in the terminal.", - "In this 40-lesson workshop, you will learn how to edit files in the terminal with Nano while building a castle." - ] - }, - "lecture-introduction-to-git-and-github": { - "title": "Introduction to Git and GitHub", - "intro": ["Learn how to work with Git and GitHub in these lessons."] - }, - "lecture-working-with-code-reviews-branching-deployment-and-ci-cd": { - "title": "Working With Code Reviews, Branching, Deployment, and CI/CD", - "intro": [ - "Learn about code reviews, branching, deployment, and CI/CD in these lessons." - ] - }, - "workshop-sql-reference-object": { - "title": "Build an SQL Reference Object", - "intro": [ - "Git is a version control system that keeps track of all the changes you make to your codebase.", - "In this 240-lesson workshop, you will learn how Git keeps track of your code by creating an object containing commonly used SQL commands." - ] - }, - "lab-periodic-table-database": { - "title": "Build a Periodic Table Database", - "intro": [ - "For this lab, you will create a Bash script to get information about chemical elements from a periodic table database." - ] - }, - "lab-number-guessing-game": { - "title": "Build a Number Guessing Game", - "intro": [ - "For this lab, you will use Bash scripting, PostgreSQL, and Git to create a number guessing game that runs in the terminal and saves user information." - ] - }, - "review-git": { - "title": "Git Review", - "intro": ["Review Git concepts to prepare for the upcoming quiz."] - }, - "quiz-git": { - "title": "Git Quiz", - "intro": ["Test what you've learned on Git with this quiz."] - }, - "review-relational-databases": { - "title": "Relational Databases Review", - "intro": [ - "Review relational databases concepts to prepare for the exam." - ] - }, - "lecture-understanding-the-http-request-response-model": { - "title": "Understanding the HTTP Request-Response Model", - "intro": [ - "Learn the fundamentals of how web communication works through the HTTP request-response model, explore different types of web assets and responses, and understand how forms handle data submission using various HTTP methods." - ] - }, - "exam-certified-full-stack-developer": { - "title": "Certified Full Stack Developer Exam", - "intro": ["Pass this exam to become a Certified Full Stack Developer."] - } - } - }, "javascript-v9": { "title": "JavaScript Certification", "intro": [ @@ -6448,6 +3108,12 @@ "In this lecture, you will learn about recursion and the call stack." ] }, + "workshop-countup": { + "title": "Build a Countup", + "intro": [ + "In this workshop you will build a countdown function that returns an array of numbers counting up from 1 to a given number." + ] + }, "lab-countdown": { "title": "Build a Countdown", "intro": [ @@ -6461,6 +3127,13 @@ "In this workshop, you'll build a decimal-to-binary converter using JavaScript. You'll practice the fundamental concepts of recursion, explore the call stack, and build out a visual representation of the recursion process through an animation." ] }, + "lab-range-of-numbers": { + "title": "Build a Range of Numbers Generator", + "intro": [ + "In this lab, you'll use recursion to generate an array of numbers within a specified range.", + "You'll practice recursive function calls, base cases, and building arrays through recursion." + ] + }, "lab-permutation-generator": { "title": "Build a Permutation Generator", "intro": [ @@ -6485,6 +3158,12 @@ "These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm." ] }, + "lecture-understanding-graphs-and-trees-js": { + "title": "Understanding Graphs and Trees", + "intro": [ + "In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science." + ] + }, "lecture-understanding-functional-programming": { "title": "Understanding Functional Programming", "intro": [ @@ -7186,6 +3865,12 @@ "In this lab, you will use object-oriented programming to calculate the areas of different polygons like squares and rectangles." ] }, + "lab-discount-calculator": { + "title": "Build a Discount Calculator", + "intro": [ + "In this lab, you will practice basic Python by building a calculator to apply a discount to a price." + ] + }, "lecture-understanding-abstraction": { "title": "Understanding Abstraction", "intro": ["Learn about Understanding Abstraction in these lessons."] diff --git a/client/i18n/locales/german/translations.json b/client/i18n/locales/german/translations.json index 923d8dc5840..5f84d7f7f62 100644 --- a/client/i18n/locales/german/translations.json +++ b/client/i18n/locales/german/translations.json @@ -291,7 +291,7 @@ "reset-editor-layout": "Reset Editor Layout", "shortcuts-explained": "Within a challenge, press ESC followed by the question mark to show a list of available shortcuts.", "username": { - "contains invalid characters": "Der Benutzername \"{{username}}\" enthält ungültige Zeichen", + "contains invalid characters": "Username \"{{username}}\" contains invalid characters. Use only alphanumeric values like 'camperbot', or 'camperbot123'.", "is too short": "Der Benutzername \"{{username}}\" ist zu kurz", "is a reserved error code": "Der Benutzername \"{{username}}\" ist ein reservierter Fehlercode", "must be lowercase": "Benutzername \"{{username}}\" muss in Kleinbuchstaben geschrieben sein", diff --git a/client/i18n/locales/italian/intro.json b/client/i18n/locales/italian/intro.json index 375552db43d..5c8bd02e80e 100644 --- a/client/i18n/locales/italian/intro.json +++ b/client/i18n/locales/italian/intro.json @@ -1954,3346 +1954,6 @@ } } }, - "full-stack-developer": { - "title": "Certified Full Stack Developer Curriculum", - "intro": [ - "This course provides a comprehensive pathway to becoming a Certified Full Stack Developer, covering all the essential technologies required to build modern, scalable web applications from start to finish.", - "Through a blend of interactive lessons, coding exercises, and real-world projects, you will master both frontend and backend development. You'll work with HTML, CSS, and JavaScript to build responsive user interfaces, explore React and TypeScript for advanced web applications, and learn to manage data with relational databases - and on the backend, you'll use Git, Npm, Node.js, and Python to create powerful server-side solutions.", - "By the end of this course, you'll have the practical skills and experience to confidently develop complete web applications, preparing you for a successful career as a Full Stack Developer.", - "This certification will take you a substantial amount of time and effort to complete. If you start now, you may be ready to start the remaining material and final exam when we launch it in the coming months." - ], - "chapters": { - "html": "HTML", - "css": "CSS", - "javascript": "JavaScript", - "frontend-libraries": "Front End Libraries", - "relational-databases": "Relational Databases", - "backend-javascript": "Backend JavaScript", - "python": "Python", - "career": "Career" - }, - "modules": { - "basic-html": "Basic HTML", - "semantic-html": "Semantic HTML", - "html-forms-and-tables": "Forms and Tables", - "html-and-accessibility": "Accessibility", - "review-html": "HTML Review", - "exam-html": "HTML Exam", - "computer-basics": "Computer Basics", - "basic-css": "Basic CSS", - "design-for-developers": "Design", - "absolute-and-relative-units": "Absolute and Relative Units", - "pseudo-classes-and-elements": "Pseudo Classes and Elements", - "css-colors": "Colors", - "styling-forms": "Styling Forms", - "css-box-model": "The Box Model", - "css-flexbox": "Flexbox", - "css-typography": "Typography", - "css-and-accessibility": "Accessibility", - "attribute-selectors": "Attribute Selectors", - "css-positioning": "Positioning", - "responsive-design": "Responsive Design", - "css-variables": "Variables", - "css-grid": "Grid", - "css-animations": "Animations", - "review-css": "CSS Review", - "exam-css": "CSS Exam", - "code-editors": "Code Editors", - "javascript-variables-and-strings": "Variables and Strings", - "javascript-booleans-and-numbers": "Booleans and Numbers", - "javascript-functions": "Functions", - "javascript-arrays": "Arrays", - "javascript-objects": "Objects", - "javascript-loops": "Loops", - "review-javascript-fundamentals": "JavaScript Fundamentals Review", - "higher-order-functions-and-callbacks": "Higher Order Functions and Callbacks", - "dom-manipulation-and-events": "DOM Manipulation and Events", - "js-a11y": "JavaScript and Accessibility", - "debugging-javascript": "Debugging", - "basic-regex": "Basic Regex", - "form-validation": "Form Validation", - "javascript-dates": "Dates", - "audio-and-video-events": "Audio and Video Events", - "maps-and-sets": "Maps and Sets", - "localstorage-and-crud-operations": "localStorage and CRUD Operations", - "classes-and-the-this-keyword": "Classes", - "recursion": "Recursion", - "functional-programming": "Functional Programming", - "asynchronous-javascript": "Asynchronous JavaScript", - "review-javascript": "JavaScript Review", - "exam-javascript": "JavaScript Exam", - "react-fundamentals": "React Fundamentals", - "react-state-hooks-and-routing": "React State, Hooks, and Routing", - "performance": "Performance", - "testing": "Testing", - "css-libraries-and-frameworks": "CSS Libraries and Frameworks", - "data-visualization": "Data Visualization and D3", - "typescript-fundamentals": "TypeScript Fundamentals", - "review-front-end-libraries": "Front End Libraries Review", - "exam-front-end-libraries": "Front End Libraries Exam", - "python-basics": "Python Basics", - "python-loops-and-sequences": "Loops and Sequences", - "python-dictionaries-and-sets": "Dictionaries and Sets", - "python-error-handling": "Error Handling", - "python-classes-and-objects": "Classes and Objects", - "python-object-oriented-programming": "Programmazione Orientata agli Oggetti", - "python-linear-data-structures": "Linear Data Structures", - "python-algorithms": "Algorithms", - "python-graphs-and-trees": "Graphs and Trees", - "python-dynamic-programming": "Dynamic Programming", - "review-python": "Python Review", - "exam-python": "Python Exam", - "bash-fundamentals": "Bash Fundamentals", - "sql-and-postgresql": "SQL and PostgreSQL", - "bash-scripting": "Bash Scripting", - "sql-and-bash": "SQL and Bash", - "git": "Git", - "review-relational-databases": "Relational Databases Review", - "exam-relational-databases": "Relational Databases Exam", - "nodejs-core-libraries": "Node.js Core Libraries", - "node-package-manager": "Node Package Manager", - "http-and-the-web-standards-model": "HTTP and the Web Standards Model", - "rest-api-and-web-services": "REST API and Web Services", - "introduction-to-express": "Introduction to Express", - "express-middleware": "Express Middleware", - "error-handling-in-express": "Error Handling in Express", - "websockets": "WebSockets", - "node-and-sql": "Node and SQL", - "security-and-privacy": "Security and Privacy", - "authentication": "Authentication", - "tooling-and-deployment": "Tooling and Deployment", - "how-to-get-a-developer-job": "How to Get a Developer Job", - "capstone-project": "Capstone Project", - "certified-full-stack-developer-exam": "Certified Full Stack Developer Exam" - }, - "module-intros": { - "data-visualization": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will be introduced to data visualization and learn how to work with the D3 library." - ] - }, - "typescript-fundamentals": { - "note": "Coming Fall 2025", - "intro": [ - "In this module, you will be introduced to TypeScript, which is a superset of JavaScript that allows you to add static typing to your JavaScript code. You will build several workshops and labs that will give you practice in working with generics, type narrowing, TSX, and more. Then you will test your knowledge of TypeScript fundamentals with a short quiz." - ] - }, - "python-classes-and-objects": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to work with classes, methods, attributes and properties. Then, you will build out workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-object-oriented-programming": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about Object-oriented programming concepts like encapsulation, inheritance, polymorphism, and more. You will build out workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-linear-data-structures": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about data structures including stacks, queues, linked lists, and more. You will build out a workshop and lab to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-algorithms": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about common algorithms including binary search, merge sort, selection sort, and more. You will build workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-graphs-and-trees": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about graphs in computer science as well as adjacency lists, trees, tries, and more. You will build workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-dynamic-programming": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about dynamic programming and practice these concepts by building a fibonacci sequence lab. Then you will take a short quiz to test your knowledge." - ] - }, - "bash-fundamentals": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about the command line and common Bash commands. Then you will practice your skills with a workshop and take a short quiz to test your knowledge." - ] - }, - "sql-and-postgresql": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to work with relational databases which store data as collections in tables. Some of the concepts you will learn about include inserting and viewing table data, primary and foreign keys in SQL, and more. Then you will build out a workshop and lab to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "bash-scripting": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about bash scripting and practice those skills by building five programs. Then you will be able to test your knowledge of these concepts by taking a short quiz." - ] - }, - "sql-and-bash": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about normalization, SQL injection, and the N+1 problem. Then you will get to practice working with SQL and Bash by building several workshops and labs. Then you will be able to test your knowledge of these concepts by taking a short quiz." - ] - }, - "git": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to use Git, Nano, and GitHub. Then you will get to practice working with Git by building several workshops and labs. You will be able to test your knowledge of these concepts by taking a short quiz." - ] - }, - "introduction-to-nodejs": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to Node.js, which is a JavaScript runtime environment that allows you to build backend applications using JavaScript. You will get to practice fundamental concepts by building a small workshop and test your knowledge with a short quiz." - ] - }, - "nodejs-core-libraries": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about common Node.js core libraries including the fs, os, path and more. Then you will get to practice what you have learned through workshops and labs and test your knowledge through a short quiz." - ] - }, - "node-package-manager": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to the Node Package Manager, which developers use to manage project dependencies and scripts. Then you will get to practice what you have learned through workshops and labs and test your knowledge with a short quiz." - ] - }, - "http-and-the-web-standards-model": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about HTTP (Hypertext Transfer Protocol) and other important concepts including the request-response model, common response codes, DNS, TCP/IP, and more. Then you will get to practice what you have learned through a build your own web server workshop and test your knowledge with a short quiz." - ] - }, - "rest-api-and-web-services": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about the REST API (Representational State Transfer Application Programming Interface) and how microservices work. Then you will take a short quiz to test your knowledge." - ] - }, - "introduction-to-express": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to Express.js, which is a framework used to build RESTful APIs. Then you will practice your skills through workshops and labs and test your knowledge with a short quiz." - ] - }, - "express-middleware": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about middleware in Express.js, which is used to handle requests and responses between the client and server. You will then practice your skills through a workshop and lab and test your knowledge with a short quiz." - ] - }, - "error-handling-in-express": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about how error handling, debugging, and health checks work in Express.js. You will then practice what you have learned in a lab and test your knowledge with a short quiz." - ] - }, - "websockets": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to websockets, which is a protocol used for real time communication with the client and server. You will then practice what you have learned in labs and workshops and test your knowledge with a short quiz." - ] - }, - "node-and-sql": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will practice building applications with Node and SQL. Then you will take a short quiz to test your knowledge." - ] - }, - "security-and-privacy": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about the differences between security and privacy as well as other concepts including CSPs, Permissions-Policies, PII, working with CORS, and more. Then you will take a short quiz to test your knowledge." - ] - }, - "authentication": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about how authentication works in web applications along with other important concepts including JWTs, CSRFs, Passport, Helmet, cryptography and encryption, and more. You will then practice what you have learned in labs and workshops and test your knowledge with a short quiz." - ] - }, - "tooling-and-deployment": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about common tools used in the industry for deploying your full stack applications. Then you will take a short quiz to test your knowledge." - ] - }, - "how-to-get-a-developer-job": { - "note": "Coming Late 2026", - "intro": [ - "In this module, Quincy Larson (Founder and teacher of freeCodeCamp) will talk about strategies you can use to prepare for getting a developer job. Quincy will cover key subjects including résumés, portfolios, researching the market, preparing for technical interviews, and more." - ] - }, - "capstone-project": { - "note": "Coming Late 2026", - "intro": [ - "This will be your opportunity to build out a full stack application encompassing what you have learned throughout this certification." - ] - }, - "certified-full-stack-developer-exam": { - "note": "Coming Late 2026", - "intro": [ - "This will be a 90 question exam testing what you have learned throughout this certification." - ] - } - }, - "blocks": { - "workshop-curriculum-outline": { - "title": "Build a Curriculum Outline", - "intro": [ - "Welcome to freeCodeCamp!", - "This workshop will serve as your introduction to HTML and coding in general. You will learn about headings and paragraph elements." - ] - }, - "lab-debug-camperbots-profile-page": { - "title": "Debug Camperbot's Profile Page", - "intro": [ - "Camperbot is learning how to code too and needs some help with their HTML.", - "In this lab, you will help Camperbot find and fix the errors in their code." - ] - }, - "lecture-understanding-html-attributes": { - "title": "Understanding HTML Attributes", - "intro": [ - "In these lessons, you will learn more about HTML (HyperText Markup Language), a markup language for creating web pages.", - "You will learn about HTML's role on the web, and what HTML attributes are." - ] - }, - "lab-debug-pet-adoption-page": { - "title": "Debug a Pet Adoption Page", - "intro": [ - "In this lab, you will need to find and fix the errors in this pet adoption page." - ] - }, - "lecture-understanding-the-html-boilerplate": { - "title": "Understanding the HTML Boilerplate", - "intro": [ - "In these lessons, you will learn about the HTML boilerplate which is a ready-made template for your webpages.", - "You will learn how to work with the link element, meta element and more." - ] - }, - "workshop-cat-photo-app": { - "title": "Build a Cat Photo App", - "intro": [ - "HTML stands for HyperText Markup Language and it represents the content and structure of a web page.", - "In this workshop, you will learn how to work with basic HTML elements such as headings, paragraphs, images, links, and lists." - ] - }, - "lab-recipe-page": { - "title": "Build a Recipe Page", - "intro": [ - "In this lab, you'll review HTML basics by creating a web page of your favorite recipe. You'll create an HTML boilerplate and work with headings, lists, images, and more." - ] - }, - "lecture-html-fundamentals": { - "title": "HTML Fundamentals", - "intro": [ - "In these lessons, you will learn about HTML fundamentals like the div element, the id and class attributes, the HTML boilerplate, HTML entities, and more." - ] - }, - "workshop-bookstore-page": { - "title": "Build a Bookstore Page", - "intro": [ - "In this workshop, you will practice working with classes, ids and the div element by building a bookstore page." - ] - }, - "lecture-understanding-how-html-affects-seo": { - "title": "Understanding How HTML Affects SEO", - "intro": [ - "In these lessons, you will learn how your HTML code impacts search engine optimization." - ] - }, - "lab-travel-agency-page": { - "title": "Build a Travel Agency Page", - "intro": [ - "In this lab, you'll review working with HTML fundamentals by creating a web page for a travel agency. You'll work with images, the figure element, the figcaption element, the anchor element, and more." - ] - }, - "lecture-working-with-audio-and-video-elements": { - "title": "Working with Audio and Video Elements", - "intro": [ - "In these lessons, you will learn how to work with the audio and video elements." - ] - }, - "lab-html-audio-and-video-player": { - "title": "Build an HTML Audio and Video Player", - "intro": [ - "In this lab, you will build an HTML audio and video player using the video and audio elements with controls and source attributes." - ] - }, - "lecture-working-with-images-and-svgs": { - "title": "Working with Images and SVGs", - "intro": [ - "In these lessons, you will learn how to work with SVGs and learn about techniques for optimizing your images." - ] - }, - "workshop-build-a-heart-icon": { - "title": "Build a Heart Icon", - "intro": [ - "In this workshop, you will practice working with SVGs by building a heart icon" - ] - }, - "lecture-working-with-media": { - "title": "Working with the iframe Element", - "intro": [ - "In these lessons, you will learn how to work with the iframe element which is used to embed an external site on your web page." - ] - }, - "workshop-build-a-video-display-using-iframe": { - "title": "Build a Video Display Using iframe", - "intro": [ - "In this workshop, you'll learn how to work with the iframe element by building a video display." - ] - }, - "lab-video-compilation-page": { - "title": "Build a Video Compilation Page", - "intro": [ - "In this lab, you'll create a video compilation web page. You'll practice working with the iframe element." - ] - }, - "lecture-working-with-links": { - "title": "Working with Links", - "intro": [ - "In these lessons, you will learn about links, the target attribute, different link states, absolute, and relative paths, and more." - ] - }, - "review-basic-html": { - "title": "Basic HTML Review", - "intro": [ - "Before you are quizzed on the HTML knowledge you have gained so far, you first need to review the concepts.", - "Open up this page to review the HTML boilerplate, audio and video elements, the different target attribute values and more." - ] - }, - "quiz-basic-html": { - "title": "Basic HTML Quiz", - "intro": [ - "The following quiz will test your knowledge of the basic HTML concepts you have learned so far.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "lecture-importance-of-semantic-html": { - "title": "Importance of Semantic HTML", - "intro": [ - "In these lessons, you will learn about semantic HTML and why you should care about it, semantic elements, how semantic HTML differs from presentational HTML, and more." - ] - }, - "lecture-understanding-nuanced-semantic-elements": { - "title": "Understanding Nuanced Semantic Elements", - "intro": [ - "In these lessons, you will learn when you should use certain semantic elements like the em element over the i element, description lists, and more." - ] - }, - "workshop-major-browsers-list": { - "title": "Build a List of Major Web Browsers", - "intro": [ - "In this workshop, you will build a description list and work with the dl, dt, and dd elements." - ] - }, - "lecture-working-with-text-and-time-semantic-elements": { - "title": "Working with Text and Time Semantic Elements ", - "intro": [ - "In this lesson, you will learn about the importance of semantics in conveying meaning for text and time-related content including the time, blockquote elements and more." - ] - }, - "workshop-quincys-job-tips": { - "title": "Build Quincy's Job Tips Page", - "intro": [ - "In this workshop, you will practice working with semantic HTML by using the q, blockquote and cite elements." - ] - }, - "lecture-working-with-specialized-semantic-elements": { - "title": "Working with Specialized Semantic Elements", - "intro": [ - "In this lesson, you will learn about specialized semantic elements like u, s, code elements and more." - ] - }, - "workshop-blog-page": { - "title": "Build a Cat Blog Page", - "intro": [ - "In this workshop, you will build an HTML only blog page using semantic elements including the main, nav, article and footer elements." - ] - }, - "lab-event-hub": { - "title": "Build an Event Hub", - "intro": [ - "In this lab, you'll build an event hub and review semantic elements like header, nav, article, and more." - ] - }, - "review-semantic-html": { - "title": "Semantic HTML Review", - "intro": [ - "Before you are quizzed on semantic HTML, you first need to review the concepts.", - "Open up this page to review the em, strong, blockquote, address and more semantic HTML elements." - ] - }, - "quiz-semantic-html": { - "title": "Semantic HTML Quiz", - "intro": [ - "The following quiz will test your knowledge on semantic HTML concepts you have learned so far.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "lecture-working-with-forms": { - "title": "Working with Forms", - "intro": [ - "In these lessons, you will learn about forms, the role of labels, inputs and buttons in creating forms, client-side form validation, and form states." - ] - }, - "workshop-hotel-feedback-form": { - "title": "Build a Hotel Feedback Form", - "intro": [ - "In this workshop, you will build a Hotel Feedback Form.", - "You will practice working with labels, inputs, fieldsets, legends, textareas and buttons." - ] - }, - "lab-survey-form": { - "title": "Build a Survey Form", - "intro": [ - "In this lab, you'll review HTML forms by creating a survey form.", - "You'll practice working with the label element, the different input elements, the required attribute, and more. " - ] - }, - "lecture-working-with-tables": { - "title": "Working with Tables", - "intro": [ - "In these lessons, you will learn about HTML tables, how to create them, and when to use them." - ] - }, - "workshop-final-exams-table": { - "title": "Build a Final Exams Table", - "intro": [ - "In this workshop, you will practice working with HTML tables by building a table of final exams." - ] - }, - "lab-book-catalog-table": { - "title": "Build a Book Catalog Table", - "intro": [ - "In this lab, you'll review HTML tables by building a book information table.", - "You'll practice the different table components like the thead, tbody, th, tr, and td elements." - ] - }, - "lecture-working-with-html-tools": { - "title": "Working with HTML Tools", - "intro": [ - "In these lessons, you will learn about HTML tools and how they let you write better code. These tools include HTML validators, DOM Inspector, and the browser developer tools." - ] - }, - "review-html-tables-and-forms": { - "title": "HTML Tables and Forms Review", - "intro": [ - "Before you are quizzed on HTML forms, tables and tools, you first need to review the concepts.", - "Open up this page to review the table, input, and button elements as well as commonly used tools like the HTML validator and more." - ] - }, - "quiz-html-tables-and-forms": { - "title": "HTML Tables and Forms Quiz", - "intro": [ - "The following quiz will test your knowledge of HTML tables, forms and commonly used HTML tools.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "lecture-importance-of-accessibility-and-good-html-structure": { - "title": "Importance of Accessibility and Good HTML Structure", - "intro": [ - "In these lessons, you will learn about accessibility and its importance, assistive tools for people with disabilities, HTML attributes that let you create inclusive websites, accessibility best practices, and much more." - ] - }, - "workshop-debug-coding-journey-blog-page": { - "title": "Debug a Coding Journey Blog Page", - "intro": [ - "In this workshop, you will debug and fix accessibility errors in a coding blog page." - ] - }, - "lecture-accessible-tables-forms": { - "title": "Working with Accessible Tables and Forms", - "intro": [ - "In these lessons, you will learn about how to create accessible tables and forms." - ] - }, - "workshop-tech-conference-schedule": { - "title": "Build a Tech Conference Schedule Table", - "intro": [ - "In this workshop, you will build an accessible tech conference schedule table." - ] - }, - "lecture-introduction-to-aria": { - "title": "Introduction to ARIA", - "intro": [ - "In these lessons, you will learn about working with ARIA roles." - ] - }, - "workshop-accessible-audio-controller": { - "title": "Build an Accessible Audio Controller", - "intro": [ - "In this workshop, you will practice accessible HTML by building an audio controller that uses the aria-labelledby attribute." - ] - }, - "lecture-accessible-media-elements": { - "title": "Working with Accessible Media Elements", - "intro": [ - "In these lessons, you will learn about how to create accessible links, audio and video content." - ] - }, - "lab-checkout-page": { - "title": "Build a Checkout Page", - "intro": [ - "In this lab, you'll create an accessible checkout page.", - "You'll practice concepts like alt attributes and ARIA roles." - ] - }, - "lab-movie-review-page": { - "title": "Design a Movie Review Page", - "intro": [ - "In this lab, you'll create a movie review page.", - "You'll practice concepts like semantic HTML, alt attributes, accessible lists, and hiding decorative content from screen readers using aria-hidden." - ] - }, - "lab-multimedia-player": { - "title": "Build a Multimedia Player", - "intro": [ - "In this lab, you'll build a multimedia player.", - "You will practice working with the audio and video elements, the controls attribute, and the aria-label attribute." - ] - }, - "review-html-accessibility": { - "title": "HTML Accessibility Review", - "intro": [ - "Before you are quizzed on HTML and accessibility, you first need to review the concepts.", - "Open up this page to review concepts including the aria-hidden, aria-describedby, tabindex attributes and more." - ] - }, - "quiz-html-accessibility": { - "title": "HTML Accessibility Quiz", - "intro": [ - "The following quiz will test your knowledge on the accessibility concepts you have learned so far.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "review-html": { - "title": "HTML Review", - "intro": [ - "Before you take the HTML prep exam, you first need to review the concepts taught in the previous modules.", - "Open up this page to review concepts around the basics of HTML elements, semantic HTML, tables, forms and accessibility." - ] - }, - "qpra": { - "title": "30", - "intro": [] - }, - "lecture-understanding-computer-internet-and-tooling-basics": { - "title": "Understanding Computer, Internet, and Tooling Basics", - "intro": [ - "In these lessons, you will learn about the computer, its different parts, internet service providers (ISPs), and the tools professional developers use." - ] - }, - "lecture-working-with-file-systems": { - "title": "Working with File Systems", - "intro": [ - "In these lessons, you will learn how to work with file and folder systems on your computers. You will learn how to create, move, and delete files and folders, the best practices for naming and organizing files and folders, and more." - ] - }, - "lecture-browsing-the-web-effectively": { - "title": "Browsing the Web Effectively", - "intro": [ - "In these lessons, you will learn about what websites, search engine, and web browsers are, the different browsers available, and how to get the best out of a search engine." - ] - }, - "review-computer-basics": { - "title": "Computer Basics Review", - "intro": [ - "Before you are quizzed on basic computer and internet concepts, you first need to review.", - "Open up this page to review concepts like RAM, Internet service providers, common web browsers, search engines and more." - ] - }, - "quiz-computer-basics": { - "title": "Computer Basics Quiz", - "intro": [ - "Test what you've learned in this quiz of basic computer knowledge." - ] - }, - "lecture-what-is-css": { - "title": "What Is CSS?", - "intro": [ - "The following lessons are all about CSS. You will learn what CSS is and its role on the web, a CSS rule and its anatomy, the three ways to write CSS and when to use each, inline and block elements, and many more." - ] - }, - "workshop-cafe-menu": { - "title": "Design a Cafe Menu", - "intro": [ - "CSS tells the browser how to display your webpage. You can use CSS to set the color, font, size, and other aspects of HTML elements.", - "In this workshop, you'll learn CSS by designing a menu page for a cafe webpage." - ] - }, - "lab-business-card": { - "title": "Design a Business Card", - "intro": [ - "In this lab, you'll create a business card and style it using CSS.", - "You'll practice style properties like 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 lessons, you will learn about CSS specificity, the common selectors and their specificities, the cascade algorithm, inheritance, and more." - ] - }, - "review-basic-css": { - "title": "CSS Fundamentals Review", - "intro": [ - "Before you are quizzed on basic CSS concepts, you first need to review.", - "Open up this page to review concepts including margin, padding, CSS combinators, CSS specificity and more." - ] - }, - "quiz-basic-css": { - "title": "CSS Fundamentals Quiz", - "intro": [ - "Test what you've learned in this quiz of basic CSS knowledge." - ] - }, - "lecture-styling-lists-and-links": { - "title": "Styling Lists and Links", - "intro": [ - "In these lessons, you will learn the properties you need to know to effectively style lists and links, including link states like 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", - "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 lessons, you will learn about the properties and values you need to know to style backgrounds and borders of elements, alongside the accessibility considerations for backgrounds." - ] - }, - "lab-blog-post-card": { - "title": "Design a Blog Post Card", - "intro": [ - "In this lab, you'll design a blog post card using HTML and CSS", - "You'll practice concepts like background-color, border-radius, margins, paddings, and more." - ] - }, - "review-css-backgrounds-and-borders": { - "title": "Lists, Links, CSS Background and Borders Review", - "intro": [ - "Before you are quizzed on CSS backgrounds and borders, you first need to review.", - "Open up this page to review concepts including the background-image property, border property and more." - ] - }, - "quiz-css-backgrounds-and-borders": { - "title": "CSS Backgrounds and Borders Quiz", - "intro": [ - "Test what you've learned in this quiz of backgrounds and borders in CSS." - ] - }, - "lecture-user-interface-design-fundamentals": { - "title": "User Interface Design Fundamentals", - "intro": [ - "In these lessons, you will learn about the fundamentals of user interface (UI) design. You will learn about the terms you need to know to communicate with designers, visual hierarchy, scaling, alignment, whitespace, and much more." - ] - }, - "lecture-user-centered-design": { - "title": "User-Centered Design", - "intro": [ - "In these lessons, you will learn about best practices for designing user-facing features like dark mode, breadcrumbs, modal dialogs, and much more. You will also learn how to conduct user research, user requirements and testing." - ] - }, - "lecture-common-design-tools": { - "title": "Common Design Tools", - "intro": [ - "In these lessons, you will learn about the common design tools developers should know. You will also learn about design briefs and how developers work with them." - ] - }, - "review-design-fundamentals": { - "title": "Design Fundamentals Review", - "intro": [ - "Before you are quizzed on the design fundamentals you have learned so far, you first need to review.", - "Open up this page to review concepts like user-centered design, scale, alignment, good visual hierarchy and more." - ] - }, - "quiz-design-fundamentals": { - "title": "Design Fundamentals Quiz", - "intro": [ - "Test what you've learned in this quiz of UI design fundamentals." - ] - }, - "lecture-working-with-relative-and-absolute-units": { - "title": "Working with Relative and Absolute Units", - "intro": [ - "In these lessons, you will learn about relative and absolute units, and how they both impact what you see in the browser." - ] - }, - "lab-event-flyer-page": { - "title": "Build an Event Flyer Page", - "intro": [ - "In this lab, you'll create an event flyer page.", - "You will practice aligning elements using absolute and relative CSS." - ] - }, - "review-css-relative-and-absolute-units": { - "title": "CSS Relative and Absolute Units Review", - "intro": [ - "Before you are quizzed on relative and absolute units, you first need to review.", - "Open up this page to review concepts like percentages, px, rem, em, and more." - ] - }, - "quiz-css-relative-and-absolute-units": { - "title": "CSS Relative and Absolute Units Quiz", - "intro": [ - "Test what you've learned in this quiz of relative and absolute units in CSS." - ] - }, - "lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": { - "title": "Working with Pseudo-Classes and Pseudo-Elements in CSS", - "intro": [ - "In these lessons, you will learn about pseudo-classes and pseudo-elements, alongside their examples and how they work." - ] - }, - "workshop-greeting-card": { - "title": "Design a Greeting Card", - "intro": [ - "In the previous lessons, you learned how to work with the different types of pseudo-classes.", - "In this workshop, you will have a chance to practice what you have learned by designing a greeting card." - ] - }, - "lab-job-application-form": { - "title": "Build a Job Application Form", - "intro": [ - "In this lab you'll build a job application form and style it using pseudo-classes.", - "You'll practice concepts like :hover, :active, :focus, and more." - ] - }, - "review-css-pseudo-classes": { - "title": "CSS Pseudo-classes Review", - "intro": [ - "Before you're quizzed on CSS pseudo-classes and pseudo-elements, you should review what you've learned about them.", - "Open up this page to review concepts like the ::before and ::after pseudo-elements as well as the :hover, :active pseudo-classes and more." - ] - }, - "quiz-css-pseudo-classes": { - "title": "CSS Pseudo-classes Quiz", - "intro": ["Test your knowledge of CSS pseudo-classes with this quiz."] - }, - "lecture-working-with-colors-in-css": { - "title": "Working with Colors in CSS", - "intro": [ - "In these lessons, you will learn about linear and radial gradients, the color theory, different kinds of colors like named, RGB, Hex, and HSL colors. You will learn how these colors work, and which to use in specific cases." - ] - }, - "workshop-colored-markers": { - "title": "Build a Set of Colored Markers", - "intro": [ - "In this workshop, you'll build a set of colored markers. You'll practice different ways to set color values and how to pair colors with each other." - ] - }, - "lab-colored-boxes": { - "title": "Design a Set of Colored Boxes", - "intro": [ - "In this lab, you'll create a color grid and practice adding background colors to the grid items using hex codes, RGB, and predefined color names." - ] - }, - "review-css-colors": { - "title": "CSS Colors Review", - "intro": [ - "Before you're quizzed on CSS colors, you should review what you've learned about them.", - "Open up this page to review concepts like the rgb() function, hsl() function, hex codes, and more." - ] - }, - "quiz-css-colors": { - "title": "CSS Colors Quiz", - "intro": ["Test your knowledge of CSS colors with this quiz."] - }, - "lecture-best-practices-for-styling-forms": { - "title": "Best Practices for Styling Forms", - "intro": [ - "In these lessons, you will learn about the best practices for styling forms and issues you can encounter while styling special inputs like color and datetime-local." - ] - }, - "workshop-registration-form": { - "title": "Design a Registration Form", - "intro": [ - "In this workshop, you'll learn how to design HTML forms by designing a signup page. You'll learn how to control what types of data people can type into your form, and some new CSS tools for styling your page." - ] - }, - "lab-contact-form": { - "title": "Design a Contact Form", - "intro": [ - "In this lab, you'll design a contact form in HTML and style it using CSS." - ] - }, - "workshop-game-settings-panel": { - "title": "Build a Game Settings Panel", - "intro": [ - "In this workshop, you will practice styling checkboxes by building a game settings panel." - ] - }, - "lab-feature-selection": { - "title": "Design a Feature Selection Page", - "intro": [ - "In this lab, you'll build a feature selection page with custom-styled checkboxes.", - "You'll create feature cards with labels and checkboxes, then give custom styling to the checkboxes." - ] - }, - "review-styling-forms": { - "title": "Styling Forms Review", - "intro": [ - "Before you're quizzed on styling forms, you should review what you've learned.", - "Open up this page to review how to style form inputs, working with appearance: none and more." - ] - }, - "quiz-styling-forms": { - "title": "Styling Forms Quiz", - "intro": [ - "In this quiz, you will test your knowledge of how to style forms." - ] - }, - "lecture-working-with-css-transforms-overflow-and-filters": { - "title": "Working with CSS Transforms, Overflow, and Filters", - "intro": [ - "In these lessons, you will learn about working with CSS transforms, overflow, and filters. You will also learn about the box model and how it works." - ] - }, - "workshop-rothko-painting": { - "title": "Design a Rothko Painting", - "intro": [ - "Every HTML element is its own box – with its own spacing and a border. This is called the Box Model.", - "In this workshop, you'll use CSS and the Box Model to create your own Rothko-style rectangular art pieces." - ] - }, - "lab-confidential-email-page": { - "title": "Build a Confidential Email Page", - "intro": [ - "In this lab, you'll create a web page using HTML and mask the content using CSS properties." - ] - }, - "review-css-layout-and-effects": { - "title": "CSS Layouts and Effects Review", - "intro": [ - "Before you are quizzed on CSS Layouts and Effects, you first need to review.", - "Open up this page to review concepts like the transform property, the box model, the overflow property and more." - ] - }, - "quiz-css-layout-and-effects": { - "title": "CSS Layout and Effects Quiz", - "intro": [ - "In this quiz, you will test your knowledge of the box model, transforms, filters, and overflow in CSS." - ] - }, - "lecture-working-with-css-flexbox": { - "title": "Working with CSS Flexbox", - "intro": [ - "In these lessons, you will learn how CSS flexbox works, its properties, and when you should use it." - ] - }, - "workshop-flexbox-photo-gallery": { - "title": "Build a Flexbox Photo Gallery", - "intro": [ - "In this workshop, you'll use Flexbox to build a responsive photo gallery webpage." - ] - }, - "lab-page-of-playing-cards": { - "title": "Build a Page of Playing Cards", - "intro": [ - "In this lab, you'll use flexbox to create a webpage of playing cards.", - "You'll practice aligning elements using flexbox properties like flex-direction, justify-content, align-self, and more." - ] - }, - "review-css-flexbox": { - "title": "CSS Flexbox Review", - "intro": [ - "Before you're quizzed on CSS flexbox, you should review what you've learned.", - "Open up this page to review concepts like the flex-direction, justify-content, align-items, flex-wrap properties, and more." - ] - }, - "quiz-css-flexbox": { - "title": "CSS Flexbox Quiz", - "intro": ["Test what you've learned on CSS flexbox with this quiz."] - }, - "lecture-working-with-css-fonts": { - "title": "Working with CSS Fonts", - "intro": [ - "In these lessons, you will learn about typography and its best practices, fonts, and the text-shadow property." - ] - }, - "workshop-nutritional-label": { - "title": "Build a Nutritional Label", - "intro": [ - "Typography is the art of styling your text to be easily readable and suit its purpose.", - "In this workshop, you'll use typography to build a nutrition label webpage. You'll practice how to style text, adjust line height, and position your text using CSS." - ] - }, - "lab-newspaper-article": { - "title": "Build a Newspaper Article", - "intro": [ - "In this lab, you'll build a newspaper article page using HTML and CSS.", - "You'll style the fonts using properties like font-family, font-size, font-weight, and more." - ] - }, - "review-css-typography": { - "title": "CSS Typography Review", - "intro": [ - "Before you're quizzed on the fundamentals of typography, you should review what you've learned.", - "Open up this page to review concepts like web safe fonts, the font-family property and more." - ] - }, - "quiz-css-typography": { - "title": "CSS Typography Quiz", - "intro": ["Test your knowledge of typography with this quiz."] - }, - "lecture-best-practices-for-accessibility-and-css": { - "title": "Best Practices for Accessibility and CSS", - "intro": [ - "In these lessons, you will learn about best practices for accessibility in CSS, and the tools for checking good color contrast on websites." - ] - }, - "workshop-accessibility-quiz": { - "title": "Build a Quiz Webpage", - "intro": [ - "Accessibility is the process of making your webpages usable for everyone, including people with disabilities.", - "In this workshop, you'll build a quiz webpage. You'll learn accessibility tools such as keyboard shortcuts, ARIA attributes, and design best practices." - ] - }, - "lab-tribute-page": { - "title": "Build a Tribute Page", - "intro": [ - "In this lab, you'll build a tribute page for a subject of your choosing, fictional or real." - ] - }, - "review-css-accessibility": { - "title": "CSS Accessibility Review", - "intro": [ - "Before you're quizzed on CSS and accessibility, you should review what you've learned.", - "Open up this page to review concepts like color contrast tools and accessibility best practices." - ] - }, - "quiz-css-accessibility": { - "title": "CSS Accessibility Quiz", - "intro": [ - "In this quiz, you'll test what you've learned about making your webpages accessible with CSS." - ] - }, - "lecture-understanding-how-to-work-with-floats-and-positioning-in-css": { - "title": "Understanding How to Work with Floats and Positioning in CSS", - "intro": [ - "In these lessons, you will learn how to use CSS positioning and floats. You will learn about absolute, relative, fixed, and sticky positioning. You will also use the z-index property." - ] - }, - "workshop-cat-painting": { - "title": "Build a Cat Painting", - "intro": [ - "Mastering CSS positioning is essential for creating visually appealing and responsive web layouts.", - "In this workshop, you will build a cat painting. You'll learn about how to work with absolute positioning, the z-index property, and the transform property." - ] - }, - "lab-house-painting": { - "title": "Build a House Painting", - "intro": [ - "In this lab, you'll build a house painting using CSS.", - "You'll design individual elements of the house and position them using CSS properties like position, top, left, and more." - ] - }, - "review-css-positioning": { - "title": "CSS Positioning Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS positioning, you should review what you've learned.", - "Open up this page to review concepts like floats, relative positioning, absolute positioning and more." - ] - }, - "quiz-css-positioning": { - "title": "CSS Positioning Quiz", - "intro": ["Test your knowledge of CSS positioning with this quiz."] - }, - "lecture-working-with-attribute-selectors": { - "title": "Working with Attribute Selectors", - "intro": [ - "In these lessons, you will learn about attribute selectors and how to use them to target elements like links and lists." - ] - }, - "workshop-balance-sheet": { - "title": "Build a Balance Sheet", - "intro": [ - "In this workshop, you'll build a balance sheet using pseudo selectors. You'll learn how to change the style of an element when you hover over it with your mouse, and trigger other events on your webpage." - ] - }, - "lab-book-inventory-app": { - "title": "Build a Book Inventory App", - "intro": [ - "In this lab, you'll create a book inventory app.", - "You'll practice CSS attribute selectors like [attribute], [attribute=value], [attribute~=value], and more." - ] - }, - "review-css-attribute-selectors": { - "title": "CSS Attribute Selectors Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS attribute selectors, you should review what you've learned about them.", - "Open up this page to review concepts like how to work with different attribute selectors that target links with the href and title attributes." - ] - }, - "quiz-css-attribute-selectors": { - "title": "CSS Attribute Selectors Quiz", - "intro": [ - "Test your knowledge of CSS attribute selectors with this quiz." - ] - }, - "lecture-best-practices-for-responsive-web-design": { - "title": "Best Practices for Responsive Web Design", - "intro": [ - "In these lessons, you will learn about the best practices for responsive web design, the roles concepts like grid, flexbox, media queries, and media breakpoints play in responsive design, and more." - ] - }, - "workshop-piano": { - "title": "Design a Piano", - "intro": [ - "Responsive Design tells your webpage how it should look on different-sized screens.", - "In this workshop, you'll use CSS and responsive design to code a piano. You'll also practice media queries and pseudo selectors." - ] - }, - "lab-technical-documentation-page": { - "title": "Build a Technical Documentation Page", - "intro": [ - "In this lab, you'll build a technical documentation page to serve as instruction or reference for a topic.", - "You'll also practice media queries to create a responsive design." - ] - }, - "review-responsive-web-design": { - "title": "Responsive Web Design Review", - "intro": [ - "Before you're quizzed on the fundamentals of responsive design, you should review what you've learned.", - "Open up this page to review concepts like media queries, media breakpoints and mobile first approach design." - ] - }, - "quiz-responsive-web-design": { - "title": "Responsive Web Design Quiz", - "intro": [ - "Test what you've learned about making your webpages responsive with this quiz." - ] - }, - "lecture-working-with-css-variables": { - "title": "Working with CSS Variables", - "intro": [ - "In these lessons, you will learn how to define and use custom properties (also known as CSS variables). You will also learn about the @property rule and how it works." - ] - }, - "workshop-city-skyline": { - "title": "Build a City Skyline", - "intro": [ - "CSS variables help you organize your styles and reuse them.", - "In this workshop, you'll build a city skyline. You'll practice how to configure CSS variables so you can reuse them whenever you want." - ] - }, - "lab-availability-table": { - "title": "Build an Availability Table", - "intro": [ - "For this lab, you'll create an availability table that shows the availability of people for a meeting.", - "You'll practice using CSS variables to store and reuse colors, fonts, and other styles." - ] - }, - "review-css-variables": { - "title": "CSS Variables Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS variables, you should review what you've learned.", - "Open up this page to review how to work with CSS custom properties (CSS variables) and the @property rule." - ] - }, - "quiz-css-variables": { - "title": "CSS Variables Quiz", - "intro": ["Test your knowledge of CSS variables with this quiz."] - }, - "lecture-working-with-css-grid": { - "title": "Working with CSS Grid", - "intro": [ - "In these lessons, you will learn about CSS grid, its several properties and how to use them, and how CSS grid differs from flexbox." - ] - }, - "workshop-magazine": { - "title": "Build a Magazine", - "intro": [ - "CSS Grid gives you control over the rows and columns of your webpage design.", - "In this workshop, you'll build a magazine article. You'll practice how to use CSS Grid, including concepts like grid rows and grid columns." - ] - }, - "lab-newspaper-layout": { - "title": "Design a Newspaper Layout", - "intro": [ - "In this lab, you will design a newspaper layout using CSS Grid, including concepts like grid rows and grid columns." - ] - }, - "lecture-debugging-css": { - "title": "Debugging CSS", - "intro": [ - "In this lesson, you'll learn how to debug CSS using your browser's developer tools and CSS validators." - ] - }, - "lab-product-landing-page": { - "title": "Build a Product Landing Page", - "intro": [ - "In this project, you'll build a product landing page to market a product of your choice." - ] - }, - "review-css-grid": { - "title": "CSS Grid Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS Grid, you should review what you've learned.", - "Open up this page to review how to work with the different CSS Grid properties like grid-template-columns, grid-gap and more." - ] - }, - "quiz-css-grid": { - "title": "CSS Grid Quiz", - "intro": ["Test your knowledge of CSS Grid with this quiz."] - }, - "lecture-animations-and-accessibility": { - "title": "Animations and Accessibility", - "intro": [ - "In these lessons, you will learn about CSS animations and their accessibility concerns. You will also learn how prefers-reduced-motion can help address those accessibility concerns." - ] - }, - "workshop-ferris-wheel": { - "title": "Build an Animated Ferris Wheel", - "intro": [ - "You can use CSS animation to draw attention to specific sections of your webpage and make it more engaging.", - "In this workshop, you'll build a Ferris wheel. You'll practice how to use CSS to animate elements, transform them, and adjust their speed." - ] - }, - "lab-moon-orbit": { - "title": "Build a Moon Orbit", - "intro": [ - "In this lab, you'll create an animation of the moon orbiting the earth.", - "You'll practice animation properties like animation-name, animation-duration, animation-timing-function, and more." - ] - }, - "workshop-flappy-penguin": { - "title": "Build a Flappy Penguin", - "intro": [ - "You can transform HTML elements to create appealing designs that draw your reader's eye. You can use transforms to rotate elements, scale them, and more.", - "In this workshop, you'll build a penguin. You'll use CSS transforms to position and resize the parts of your penguin, create a background, and animate your work." - ] - }, - "lab-personal-portfolio": { - "title": "Build a Personal Portfolio", - "intro": [ - "In this project, you'll build your own personal portfolio page." - ] - }, - "review-css-animations": { - "title": "CSS Animations Review", - "intro": [ - "Before you're quizzed on working with CSS animations, you should review what you've learned about them.", - "Open up this page to review concepts including prefers-reduced-motion, the @keyframes rule and more." - ] - }, - "quiz-css-animations": { - "title": "CSS Animations Quiz", - "intro": ["Test your knowledge of CSS animations with this quiz."] - }, - "review-css": { - "title": "CSS Review", - "intro": [ - "Before you take the CSS prep exam, you first need to review the concepts taught in the previous modules.", - "Open up this page to review concepts around the basics of CSS, responsive web design, animations, accessibility and more." - ] - }, - "lecture-working-with-code-editors-and-ides": { - "title": "Working with Code Editors and IDEs", - "intro": [ - "In these lessons, you will learn how to work with code editors and IDEs. You will learn various concepts about the most popular code editor, VS Code such as its installation, how to create a project in it, keyboard shortcuts, and extensions." - ] - }, - "lecture-introduction-to-javascript": { - "title": "Introduction to JavaScript", - "intro": [ - "In these lessons, you will learn the fundamentals of JavaScript. Topics covered include, but are not limited to, variables, data types, how JavaScript interacts with HTML and CSS, and much more." - ] - }, - "lecture-introduction-to-strings": { - "title": "Introduction to Strings", - "intro": [ - "In these lessons, you will learn how to work with strings and string concatenation." - ] - }, - "lecture-understanding-code-clarity": { - "title": "Understanding Code Clarity", - "intro": [ - "In these lessons, you will learn about comments in JavaScript and the role of semicolons in programming." - ] - }, - "workshop-greeting-bot": { - "title": "Build a Greeting Bot", - "intro": [ - "In this workshop, you will learn JavaScript fundamentals by building a greeting bot.", - "You will learn about variables, let, const, console.log and basic string usage." - ] - }, - "lab-javascript-trivia-bot": { - "title": "Build a JavaScript Trivia Bot", - "intro": [ - "In this lab, you'll practice working with JavaScript variables and strings by building a trivia bot." - ] - }, - "lab-sentence-maker": { - "title": "Build a Sentence Maker", - "intro": [ - "In this lab, you will continue practicing with strings and concatenation by creating and customizing various stories." - ] - }, - "lecture-working-with-data-types": { - "title": "Working with Data Types", - "intro": [ - "In the following lessons, you will learn how to work with data types in JavaScript. You will also learn how dynamic typing differs from static typing, the typeof operator, and the typeof null bug." - ] - }, - "review-javascript-variables-and-data-types": { - "title": "JavaScript Variables and Data Types Review", - "intro": [ - "Before you are quizzed on JavaScript variables and data types you first need to review the concepts.", - "Open up this page to review variables, data types, logging and commenting." - ] - }, - "quiz-javascript-variables-and-data-types": { - "title": "JavaScript Variables and Data Types Quiz", - "intro": [ - "Test your knowledge of JavaScript variables and data types with this quiz." - ] - }, - "lecture-working-with-strings-in-javascript": { - "title": "Working with Strings in JavaScript", - "intro": [ - "In these lessons, you will learn how to work with strings in JavaScript. You will learn how to access characters from a string, how to use template literals and interpolation, how to create a new line in strings, and much more." - ] - }, - "workshop-teacher-chatbot": { - "title": "Build a Teacher Chatbot", - "intro": [ - "In this workshop, you will continue to learn more about JavaScript strings by building a chatbot.", - "You will learn how to work with template literals, and the indexOf method." - ] - }, - "lecture-working-with-string-character-methods": { - "title": "Working with String Character Methods", - "intro": [ - "In this lesson you will learn about ASCII character encoding and how to use JavaScript's charCodeAt() and fromCharCode() methods to convert between characters and their numerical ASCII values." - ] - }, - "lecture-working-with-string-search-and-slice-methods": { - "title": "Working with String Search and Slice Methods", - "intro": [ - "In this lesson you will learn how to search for substrings using the includes() method and how to extract portions of strings using the slice() method." - ] - }, - "workshop-string-inspector": { - "title": "Build a String Inspector", - "intro": [ - "In this workshop, you will practice working with the includes() and slice() methods by building a string inspector." - ] - }, - "lecture-working-with-string-formatting-methods": { - "title": "Working with String Formatting Methods", - "intro": [ - "In this lesson you will learn how to format strings by changing their case using toUpperCase() and toLowerCase() methods, and how to remove whitespace using trim(), trimStart(), and trimEnd() methods." - ] - }, - "workshop-string-formatter": { - "title": "Build a String Formatter", - "intro": [ - "In this workshop, you will practice working with various string methods including the trim(), toUpperCase() and toLowerCase() methods." - ] - }, - "lecture-working-with-string-modification-methods": { - "title": "Working with String Modification Methods", - "intro": [ - "In this lesson you will learn how to modify strings by replacing parts of them using the replace() method and how to repeat strings multiple times using the repeat() method." - ] - }, - "workshop-string-transformer": { - "title": "Build a String Transformer", - "intro": [ - "In this workshop, you will practice working with the replace(), replaceAll() and repeat() methods." - ] - }, - "review-javascript-strings": { - "title": "JavaScript Strings Review", - "intro": [ - "Before you are quizzed on working with JavaScript strings, you first need to review.", - "Open up this page to review how to work with template literals, the slice method, the includes method, the trim method and more." - ] - }, - "quiz-javascript-strings": { - "title": "JavaScript Strings Quiz", - "intro": ["Test your knowledge of JavaScript strings with this quiz."] - }, - "lecture-working-with-numbers-and-arithmetic-operators": { - "title": "Working with Numbers and Arithmetic Operators", - "intro": [ - "In these lessons you will learn about the number type, arithmetic operators, and using them with numbers and strings." - ] - }, - "lab-debug-type-coercion-errors": { - "title": "Debug Type Coercion Errors in a Buggy App", - "intro": [ - "In this lab, you will be working with a buggy app that contains several type coercion errors.", - "Your task is to identify and fix these errors to ensure the application functions correctly." - ] - }, - "lecture-working-with-operator-behavior": { - "title": "Working with Operator Behavior", - "intro": [ - "In these lessons you will learn about operator precedence, the increment and decrement operators, and compound assignment operators." - ] - }, - "lab-debug-increment-and-decrement-operator-errors": { - "title": "Debug Increment and Decrement Operator Errors in a Buggy App", - "intro": [ - "In this lab, you'll debug an application that has several errors related to the increment and decrement operators.", - "Your task is to identify and fix the errors so that the application works as intended." - ] - }, - "lecture-working-with-comparison-and-boolean-operators": { - "title": "Working with Comparison and Boolean Operators", - "intro": [ - "In these lessons you will learn about booleans, and equality and inequality operators, and other comparison operators." - ] - }, - "lecture-working-with-unary-and-bitwise-operators": { - "title": "Working with Unary and Bitwise Operators", - "intro": [ - "In these lessons you will learn about unary and bitwise operators." - ] - }, - "lecture-working-with-conditional-logic-and-math-methods": { - "title": "Working with Conditional Logic and Math Methods", - "intro": [ - "In these lessons you will learn about conditional statements, binary logical operators, and the Math object." - ] - }, - "workshop-mathbot": { - "title": "Build a Mathbot", - "intro": [ - "In this workshop, you will review how to work with the different Math object methods by building a Mathbot." - ] - }, - "lab-fortune-teller": { - "title": "Build a Fortune Teller", - "intro": [ - "In this lab, you'll build a fortune teller by randomly selecting a fortune from the available fortunes.", - "You'll practice how to work with the 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 lessons, you will learn about numbers and common number methods. These include isNaN(), parseInt(), parseFloat(), and toFixed()." - ] - }, - "review-javascript-math": { - "title": "JavaScript Math Review", - "intro": [ - "Before you're quizzed on working with the Math object, you should review what you've learned.", - "Open up this page to review how to work with the Math.random() method, the Math.floor() method and more." - ] - }, - "quiz-javascript-math": { - "title": "JavaScript Math Quiz", - "intro": [ - "Test your knowledge of the JavaScript Math object with this quiz." - ] - }, - "lecture-understanding-comparisons-and-conditionals": { - "title": "Understanding Comparisons and Conditionals", - "intro": [ - "In these lessons, you will learn about comparison operators and conditionals. You will learn how the various conditionals differ from one another, and how comparisons work with null and undefined." - ] - }, - "review-javascript-comparisons-and-conditionals": { - "title": "JavaScript Comparisons and Conditionals Review", - "intro": [ - "Before you're quizzed on working with conditionals, you should review what you've learned about them.", - "Open up this page to review how to work with switch statements, other types of conditionals and more." - ] - }, - "quiz-javascript-comparisons-and-conditionals": { - "title": "JavaScript Comparisons and Conditionals Quiz", - "intro": [ - "Test your knowledge of JavaScript Comparisons and Conditionals with this quiz." - ] - }, - "lecture-working-with-functions": { - "title": "Working with Functions", - "intro": [ - "In these lessons, you will learn how to reuse a block of code with functions. You will learn what the purpose of a function is and how they work, and how scope works in programming. " - ] - }, - "workshop-calculator": { - "title": "Build a Calculator", - "intro": [ - "In this workshop, you will review your knowledge of functions by building a calculator." - ] - }, - "lab-boolean-check": { - "title": "Build a Boolean Check Function", - "intro": [ - "In this lab, you'll implement a function that checks if a value is a boolean." - ] - }, - "lab-email-masker": { - "title": "Build an Email Masker", - "intro": [ - "In this lab, you'll build an email masker that will take an email address and obscure it.", - "You'll practice string slicing, concatenation, and using functions." - ] - }, - "workshop-loan-qualification-checker": { - "title": "Build a Loan Qualification Checker", - "intro": [ - "In this workshop, you will continue to learn how to work with conditionals by building a loan qualification checker app.", - "You will learn more about if statements, and how to use comparison operators and multiple conditions in an if statement." - ] - }, - "lab-celsius-to-fahrenheit-converter": { - "title": "Build a Celsius to Fahrenheit Converter", - "intro": [ - "In this lab you will implement a function that converts the temperature from Celsius to Fahrenheit." - ] - }, - "lab-counting-cards": { - "title": "Build a Card Counting Assistant", - "intro": ["In this lab you will use JavaScript to count dealt cards."] - }, - "lab-leap-year-calculator": { - "title": "Build a Leap Year Calculator ", - "intro": [ - "In this lab you'll use conditional statements and loops to determine if a year is a leap year." - ] - }, - "lab-truncate-string": { - "title": "Implement the Truncate String Algorithm", - "intro": [ - "In this lab, you will practice truncating a string at a certain length." - ] - }, - "lab-string-ending-checker": { - "title": "Build a Confirm the Ending Tool", - "intro": [ - "In this lab, you will implement a function that checks if a given string ends with a specified target string." - ] - }, - "review-javascript-functions": { - "title": "JavaScript Functions Review", - "intro": [ - "Before you're quizzed on JavaScript functions, you should review what you've learned about them.", - "Open up this page to review functions, arrow functions and scope." - ] - }, - "quiz-javascript-functions": { - "title": "JavaScript Functions Quiz", - "intro": ["Test your knowledge of JavaScript functions with this quiz."] - }, - "lecture-working-with-arrays": { - "title": "Working with Arrays", - "intro": [ - "In these lessons, you will learn how to work with JavaScript arrays. You will learn about what makes an array, one-dimensional and two-dimensional arrays, how to access and update the elements in an array, and much more." - ] - }, - "workshop-shopping-list": { - "title": "Build a Shopping List", - "intro": [ - "In this workshop, you will practice how to work with arrays by building a shopping list.", - "You will review how to add and remove elements from an array using methods like push, pop, shift, and unshift." - ] - }, - "lab-lunch-picker-program": { - "title": "Build a Lunch Picker Program", - "intro": [ - "In this lab, you'll review working with arrays and random numbers by building a lunch picker program." - ] - }, - "lab-golf-score-translator": { - "title": "Build a Golf Score Translator", - "intro": [ - "For this lab, you will use array methods to translate golf scores into their nickname." - ] - }, - "lab-reverse-a-string": { - "title": "Build a String Inverter", - "intro": [ - "In this lab, you create a function that reverses a given string." - ] - }, - "lecture-working-with-common-array-methods": { - "title": "Working with Common Array Methods", - "intro": [ - "In these lessons, you will learn about the array methods for performing more advanced operations like getting the position of an item in an array, checking if an array contains a certain element, copying an array, and lots more." - ] - }, - "review-javascript-arrays": { - "title": "JavaScript Arrays Review", - "intro": [ - "Before you're quizzed on JavaScript arrays, you should review what you've learned about them.", - "Open up this page to review concepts like array destructuring, how to add and remove elements from an array, and more." - ] - }, - "quiz-javascript-arrays": { - "title": "JavaScript Arrays Quiz", - "intro": ["Test your knowledge of JavaScript arrays with this quiz."] - }, - "lecture-introduction-to-javascript-objects-and-their-properties": { - "title": "Introduction to JavaScript Objects and Their Properties", - "intro": [ - "In these lessons, you will learn the fundamentals of JavaScript objects, including how to create them, access their properties, and understand the difference between primitive and non-primitive data types." - ] - }, - "lecture-working-with-optional-chaining-and-object-destructuring": { - "title": "Working with Optional Chaining and Object Destructuring", - "intro": [ - "In these lessons, you will learn about advanced object manipulation techniques in JavaScript, including the optional chaining operator and object destructuring syntax." - ] - }, - "lecture-working-with-json": { - "title": "Working with JSON", - "intro": [ - "In these lessons, you will learn about JavaScript Object Notation (JSON), including how to access JSON data and use the JSON.parse() and JSON.stringify() methods." - ] - }, - "workshop-recipe-tracker": { - "title": "Build a Recipe Tracker", - "intro": [ - "In this workshop, you will review working with JavaScript objects by building a recipe tracker." - ] - }, - "lab-quiz-game": { - "title": "Build a Quiz Game", - "intro": [ - "In this lab, you'll build a quiz game using JavaScript arrays and objects.", - "You'll also practice using functions to randomly select a question and an answer from an array and compare them." - ] - }, - "lab-record-collection": { - "title": "Build a Record Collection", - "intro": [ - "In this lab you will build a function to manage a record collection." - ] - }, - "review-javascript-objects": { - "title": "JavaScript Objects Review", - "intro": [ - "Before you're quizzed on JavaScript objects, you should review what you've learned about them.", - "Open up this page to review concepts including how to access information from objects, object destructuring, working with JSON, and more." - ] - }, - "quiz-javascript-objects": { - "title": "JavaScript Objects Quiz", - "intro": ["Test your knowledge of JavaScript objects with this quiz."] - }, - "lecture-working-with-loops": { - "title": "Working with Loops", - "intro": [ - "Loops are an essential part of JavaScript. That's why the following lessons have been prepared for you to learn about the different types of loops and how they work, and also how iteration works." - ] - }, - "workshop-sentence-analyzer": { - "title": "Build a Sentence Analyzer", - "intro": [ - "In this workshop, you'll review how to work with JavaScript loops by building a sentence analyzer app." - ] - }, - "lab-longest-word-in-a-string": { - "title": "Build a Longest Word Finder App", - "intro": [ - "In this lab, you will use JavaScript loops to find the length of the longest word in the given sentence." - ] - }, - "lab-factorial-calculator": { - "title": "Build a Factorial Calculator ", - "intro": [ - "In this lab, you'll build a factorial calculator.", - "You'll practice using loops and conditionals to calculate the factorial of a number." - ] - }, - "lab-mutations": { - "title": "Implement the Mutations Algorithm", - "intro": [ - "In this lab, you will practice iterating over two different strings to compare their characters." - ] - }, - "lab-chunky-monkey": { - "title": "Implement the Chunky Monkey Algorithm", - "intro": [ - "In this lab, you will practice dividing an array into smaller arrays with the technique of your choice." - ] - }, - "lab-profile-lookup": { - "title": "Build a Profile Lookup", - "intro": [ - "In this lab, you'll create a function that looks up profile information." - ] - }, - "lab-repeat-a-string": { - "title": "Build a String Repeating Function", - "intro": [ - "In this lab, you will implement loops to repeat a string a specified number of times." - ] - }, - "lab-missing-letter-detector": { - "title": "Build a Missing Letter Detector", - "intro": [ - "In this lab, you will build a function that finds the missing letter in a given range of consecutive letters and returns it." - ] - }, - "review-javascript-loops": { - "title": "JavaScript Loops Review", - "intro": [ - "Before you're quizzed on the different JavaScript loops, you should review them.", - "Open up this page to review the for...of loop, while loop, break and continue statements and more." - ] - }, - "quiz-javascript-loops": { - "title": "JavaScript Loops Quiz", - "intro": ["Test your knowledge of JavaScript loops with this quiz."] - }, - "lecture-working-with-types-and-objects": { - "title": "Working with Types and Objects", - "intro": [ - "In these lessons you will learn about string objects, the toString() method, the Number constructor and more." - ] - }, - "lecture-working-with-arrays-variables-and-naming-practices": { - "title": "Working with Arrays, Variables, and Naming Practices", - "intro": [ - "In these lessons you will learn about common practices for naming variables and functions, and how to work with arrays." - ] - }, - "lecture-working-with-code-quality-and-execution-concepts": { - "title": "Working with Code Quality and Execution Concepts", - "intro": [ - "In these lessons you will learn what are linters and formatters, what is memory management, and closures." - ] - }, - "lab-largest-number-finder": { - "title": "Build the Largest Number Finder", - "intro": [ - "In this lab, you will use JavaScript fundamentals to create a function that finds the largest number in each sub-array of a given array." - ] - }, - "lab-first-element-finder": { - "title": "Build a First Element Finder", - "intro": [ - "In this lab, you will create a function that looks through an array and returns the first element in it that passes a \"truth test\"." - ] - }, - "lab-slice-and-splice": { - "title": "Implement the Slice and Splice Algorithm", - "intro": [ - "In this lab, you will practice merging an array with another." - ] - }, - "lab-pyramid-generator": { - "title": "Build a Pyramid Generator", - "intro": [ - "In this lab you'll build a pyramid generator.", - "You'll take a number as input and generate a pyramid with that many levels using a loop." - ] - }, - "lab-gradebook-app": { - "title": "Build a Gradebook App", - "intro": [ - "For this lab, you'll create a gradebook app.", - "You'll practice conditionals to determine the student's grade based on their score." - ] - }, - "lecture-the-var-keyword-and-hoisting": { - "title": "The var Keyword and Hoisting", - "intro": [ - "In these lessons, you will learn about the 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-title-case-converter": { - "title": "Build a Title Case Converter", - "intro": [ - "In this lab, you will build a function that converts a string to title case." - ] - }, - "lab-falsy-remover": { - "title": "Implement a Falsy Remover", - "intro": [ - "In this lab, you will create a function that removes all falsy values from an array." - ] - }, - "lab-inventory-management-program": { - "title": "Build an Inventory Management Program", - "intro": [ - "For this lab, you'll build an inventory management program using JavaScript.", - "You'll use JavaScript array of objects to manage the inventory." - ] - }, - "lecture-understanding-modules-imports-and-exports": { - "title": "Understanding Modules, Imports, and Exports", - "intro": [ - "In this lesson, you will learn about modules, imports, and exports in JavaScript." - ] - }, - "lecture-working-with-the-arguments-object-and-rest-parameters": { - "title": "Working with the arguments Object and Rest Parameters", - "intro": [ - "In these lessons, you will learn how to work with the arguments object and rest parameter syntax." - ] - }, - "lab-unique-sorted-union": { - "title": "Implement a Unique Sorted Union", - "intro": [ - "In this lab, you will create a function that takes two or more arrays and returns a new array of unique values in the order of the original provided arrays." - ] - }, - "lab-password-generator": { - "title": "Build a Password Generator App", - "intro": [ - "In this lab, you'll build a password generator app based on the user's input." - ] - }, - "lab-sum-all-numbers-algorithm": { - "title": "Design a Sum All Numbers Algorithm", - "intro": [ - "In this lab, you will design a sum all numbers algorithm. This algorithm takes an array of two numbers and returns the sum of those two numbers plus the sum of all the numbers between them." - ] - }, - "lab-dna-pair-generator": { - "title": "Implement a DNA Pair Generator", - "intro": [ - "In this lab you will implement a DNA base pairing algorithm that converts a single DNA strand into complementary base pairs." - ] - }, - "lab-html-entitiy-converter": { - "title": "Implement an HTML Entity Converter", - "intro": [ - "In this lab, you will convert special characters in a string to their corresponding HTML entities." - ] - }, - "lab-odd-fibonacci-sum-calculator": { - "title": "Build an Odd Fibonacci Sum Calculator", - "intro": [ - "In this lab you will build an odd Fibonacci sum calculator that takes a number and returns the sum of all odd Fibonacci numbers that are less than or equal to that number." - ] - }, - "lab-element-skipper": { - "title": "Implement an Element Skipper", - "intro": [ - "In this lab you will create a function that skips elements in an array based on a specified step value." - ] - }, - "lab-optional-arguments-sum-function": { - "title": "Build an Optional Arguments Sum Function", - "intro": [ - "In this lab you will build a function that accepts up to two arguments, and sum them, but if there is only one argument returns a function that waits for the second number to sum." - ] - }, - "review-javascript-fundamentals": { - "title": "JavaScript Fundamentals Review", - "intro": [ - "Before you are quizzed on JavaScript fundamentals, you first need to review the concepts.", - "Open up this page to review concepts like closures, memory management, and more." - ] - }, - "quiz-javascript-fundamentals": { - "title": "JavaScript Fundamentals Quiz", - "intro": [ - "Test your knowledge of JavaScript fundamentals with this quiz." - ] - }, - "lecture-working-with-higher-order-functions-and-callbacks": { - "title": "Working with Higher Order Functions and Callbacks", - "intro": [ - "In these lessons, you will learn how to work with higher order functions and callbacks. The higher order functions you will learn include 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": { - "title": "Build a Library Manager", - "intro": [ - "In this workshop, you will learn higher order array methods by building a library manager." - ] - }, - "lab-book-organizer": { - "title": "Build a Book Organizer", - "intro": [ - "In this lab, you'll build a book organizer using higher order functions in JavaScript." - ] - }, - "lab-sorted-index-finder": { - "title": "Implement a Sorted Index Finder", - "intro": [ - "In this lab, you will create a function that finds the index at which a given number should be inserted into a sorted array to maintain the array's sorted order." - ] - }, - "lab-symmetric-difference": { - "title": "Build a Symmetric Difference Function", - "intro": [ - "In this lab, you will practice using higher order functions to find the symmetric difference between two arrays." - ] - }, - "lab-value-remover-function": { - "title": "Implement a Value Remover Function", - "intro": [ - "In this lab, you will create a function that removes all instances of a specified value from an array." - ] - }, - "lab-matching-object-filter": { - "title": "Implement a Matching Object Filter", - "intro": [ - "In this lab, you will create a function that looks through an array of objects and returns an array of all objects that have matching property and value pairs." - ] - }, - "lab-prime-number-sum-calculator": { - "title": "Build a Prime Number Sum Calculator", - "intro": [ - "In this lab you will build a prime number sum calculator that takes a number and returns the sum of all prime numbers that are less than or equal to that number." - ] - }, - "lab-range-based-lcm-calculator": { - "title": "Implement a Range-Based LCM Calculator", - "intro": [ - "In this lab, you will create a function that takes an array of two numbers and returns the least common multiple (LCM) of those two numbers and all the numbers between them." - ] - }, - "lab-deep-flattening-tool": { - "title": "Create a Deep Flattening Tool", - "intro": [ - "In this lab you will create a function that can flatten deeply nested arrays, handling any level of nesting without using built-in flat methods." - ] - }, - "lab-all-true-property-validator": { - "title": "Build an All-True Property Validator", - "intro": [ - "In this lab you will build a function that checks if all objects in an array have a truthy value for a specific property." - ] - }, - "review-javascript-higher-order-functions": { - "title": "JavaScript Higher Order Functions Review", - "intro": [ - "Before you're quizzed on JavaScript higher order functions, you should review them.", - "Open up this page to review concepts including how to work with the map(), filter(), and reduce() methods." - ] - }, - "quiz-javascript-higher-order-functions": { - "title": "JavaScript Higher Order Functions Quiz", - "intro": [ - "Test your knowledge of JavaScript higher order functions with this quiz." - ] - }, - "lecture-working-with-the-dom-click-events-and-web-apis": { - "title": "Working with the DOM, Click Events, and Web APIs", - "intro": [ - "In these lessons, you will learn how to work with the Document Object Model (DOM), the addEventListener() method and events, and web APIs." - ] - }, - "workshop-storytelling-app": { - "title": "Build a Storytelling App", - "intro": [ - "In this workshop, you will build a storytelling app that will allow you to list different stories based on genre." - ] - }, - "workshop-emoji-reactor": { - "title": "Build an Emoji Reactor", - "intro": [ - "In this workshop, you will build an emoji reactor to practice querySelector and querySelectorAll." - ] - }, - "lab-favorite-icon-toggler": { - "title": "Build a Favorite Icon Toggler", - "intro": [ - "In this lab, you'll build a favorite icon toggler by utilizing JavaScript click events." - ] - }, - "lecture-understanding-the-event-object-and-event-delegation": { - "title": "Understanding the Event Object and Event Delegation", - "intro": [ - "In these lessons, you will learn about the event object, the change event, event bubbling, and event delegation." - ] - }, - "workshop-music-instrument-filter": { - "title": "Build a Music Instrument Filter", - "intro": [ - "In this workshop, you will build a music instrument filter with JavaScript." - ] - }, - "lab-real-time-counter": { - "title": "Build a Real Time Counter", - "intro": [ - "In this lab, you'll build a real-time character counter", - "You'll practice how to work with the input event when the user types in the input field." - ] - }, - "lab-lightbox-viewer": { - "title": "Build a Lightbox Viewer", - "intro": [ - "In this lab, you'll build a lightbox viewer for viewing images in a focused mode.", - "You'll practice click events and toggling classes." - ] - }, - "workshop-rps-game": { - "title": "Build a Rock, Paper, Scissors Game", - "intro": [ - "In this workshop, you will review DOM manipulation and events by building a Rock, Paper, Scissors Game." - ] - }, - "lab-football-team-cards": { - "title": "Build a Set of Football Team Cards", - "intro": [ - "In this lab, you'll use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards." - ] - }, - "review-dom-manipulation-and-click-events-with-javascript": { - "title": "DOM Manipulation and Click Events with JavaScript Review", - "intro": [ - "Before you're quizzed on the DOM, you should review what you've learned about it.", - "Open up this page to review concepts including how to work with the DOM, Web APIs, the addEventListener() method, change events, event bubbling and more." - ] - }, - "quiz-dom-manipulation-and-click-event-with-javascript": { - "title": "DOM Manipulation and Click Events with JavaScript Quiz", - "intro": [ - "Test your knowledge of DOM manipulation and click events in JavaScript with this quiz." - ] - }, - "lecture-understanding-aria-expanded-aria-live-and-common-aria-states": { - "title": "Understanding aria-expanded, aria-live, and Common ARIA States", - "intro": [ - "In these lessons you will learn more about ARIA attributes like aria-expanded, aria-live, and common ARIA states." - ] - }, - "workshop-planets-tablist": { - "title": "Build a Planets Tablist", - "intro": [ - "In this workshop, you will build a dynamic tabbed interface that showcases facts about the planets in the solar system." - ] - }, - "workshop-note-taking-app": { - "title": "Build a Note Taking App", - "intro": [ - "In this workshop, you are going to build an accessible note taking app.", - "This will provide you with the opportunity to practice working with aria-live attribute." - ] - }, - "lab-theme-switcher": { - "title": "Build a Theme Switcher", - "intro": [ - "In this lab, you will build a theme switcher and practice working with the aria-haspopup, aria-expanded, and aria-controls attributes." - ] - }, - "review-js-a11y": { - "title": "JavaScript and Accessibility Review", - "intro": [ - "Before you're quizzed on JavaScript and accessibility, you should review what you've learned about it.", - "Open up this page to review concepts including how to work with the aria-expanded, aria-live, and aria-controls attributes." - ] - }, - "quiz-js-a11y": { - "title": "JavaScript and Accessibility Quiz", - "intro": [ - "Test your knowledge of JavaScript and accessibility best practices with this quiz." - ] - }, - "lecture-debugging-techniques": { - "title": "Debugging Techniques", - "intro": [ - "In these lessons, you will learn about the common errors in JavaScript and the techniques you can use to fix them – a process called debugging." - ] - }, - "lab-random-background-color-changer": { - "title": "Debug a Random Background Color Changer", - "intro": [ - "In this lab, you'll debug a random background color changer and fix the errors to make it work properly." - ] - }, - "review-debugging-javascript": { - "title": "Debugging JavaScript Review", - "intro": [ - "Before you're quizzed on common debugging techniques, you should review what you've learned.", - "Open up this page to review concepts including how to work with the throw statement, try...catch...finally and more." - ] - }, - "quiz-debugging-javascript": { - "title": "Debugging JavaScript Quiz", - "intro": ["Test your knowledge of JavaScript debugging with this quiz."] - }, - "lecture-working-with-regular-expressions": { - "title": "Working with Regular Expressions", - "intro": [ - "In these lessons, you will learn about regular expressions in JavaScript. You will learn about the methods for working with regular expressions, modifiers, character classes, lookaheads, lookbehinds, back-references, quantifiers, and more." - ] - }, - "workshop-spam-filter": { - "title": "Build a Spam Filter", - "intro": [ - "Regular expressions, often shortened to \"regex\" or \"regexp\", are patterns that help programmers match, search, and replace text. Regular expressions are powerful, but can be difficult to understand because they use so many special characters.", - "In this workshop, you'll use capture groups, positive lookaheads, negative lookaheads, and other techniques to match any text you want." - ] - }, - "lab-palindrome-checker": { - "title": "Build a Palindrome Checker", - "intro": [ - "For this lab, you'll build an application that checks whether a given word is a palindrome." - ] - }, - "lab-markdown-to-html-converter": { - "title": "Build a Markdown to HTML Converter", - "intro": [ - "For this lab, you'll build a Markdown to HTML converter using JavaScript.", - "You'll practice regular expressions, string manipulation, and more." - ] - }, - "lab-regex-sandbox": { - "title": "Build a RegEx Sandbox", - "intro": ["In this lab you'll build a regex sandbox."] - }, - "lab-spinal-case-converter": { - "title": "Implement a Spinal Case Converter", - "intro": [ - "In this lab, you will create a function that converts a given string to spinal case which is a style of writing where all letters are lowercase and separated by hyphens." - ] - }, - "lab-pig-latin": { - "title": "Implement a Pig Latin Translator", - "intro": [ - "In this lab, you'll implement a Pig Latin translator using JavaScript.", - "You'll practice string manipulation, conditional logic, and regular expressions." - ] - }, - "lab-smart-word-replacement": { - "title": "Build a Smart Word Replacement Function", - "intro": [ - "In this lab, you will use regex to create a function that performs a search and replace operation on a given string." - ] - }, - "review-javascript-regular-expressions": { - "title": "JavaScript Regular Expressions Review", - "intro": [ - "Before you're quizzed on Regular Expressions, you should review what you've learned.", - "Open up this page to review concepts like lookaheads, lookbehinds, common regex modifiers and more." - ] - }, - "quiz-javascript-regular-expressions": { - "title": "JavaScript Regular Expressions Quiz", - "intro": [ - "Test your knowledge of JavaScript Regular Expressions with this quiz." - ] - }, - "lecture-understanding-form-validation": { - "title": "Understanding Form Validation", - "intro": [ - "In these lessons, you will learn about form validation in JavaScript. You will learn about the various ways to validate forms, how the preventDefault() method works, and how the submit event works." - ] - }, - "workshop-calorie-counter": { - "title": "Build a Calorie Counter", - "intro": [ - "Sometimes when you're coding a web application, you'll need to be able to accept input from a user. In this calorie counter workshop, you'll practice how to validate user input, perform calculations based on that input, and dynamically update your interface to display the results.", - "You'll also practice basic regular expressions, template literals, the addEventListener() method, and more." - ] - }, - "lab-customer-complaint-form": { - "title": "Build a Customer Complaint Form", - "intro": [ - "For this lab, you'll use JavaScript to validate a customer complaint form.", - "You'll practice how to validate form inputs, display error messages, and prevent the form from submitting if there are errors." - ] - }, - "review-form-validation-with-javascript": { - "title": "Form Validation with JavaScript Review", - "intro": [ - "Before you're quizzed on form validation, you should review what you've learned.", - "Open up this page to review concepts including the preventDefault() method, the submit event and more." - ] - }, - "quiz-form-validation-with-javascript": { - "title": "Form Validation with JavaScript Quiz", - "intro": [ - "Test what you've learned about JavaScript form validation with this quiz." - ] - }, - "lecture-working-with-dates": { - "title": "Working with Dates", - "intro": [ - "In these lessons, you will learn about the JavaScript date object. You will learn about the methods for working with dates and how to format dates." - ] - }, - "lab-date-conversion": { - "title": "Build a Date Conversion Program", - "intro": [ - "In this lab, you'll build a program to convert a date from one format to another." - ] - }, - "review-javascript-dates": { - "title": "JavaScript Dates Review", - "intro": [ - "Before you're quizzed on working with dates, you should review what you've learned.", - "Open up this page to review the Date() object and common methods." - ] - }, - "quiz-javascript-dates": { - "title": "JavaScript Dates Quiz", - "intro": [ - "Test what you've learned about JavaScript Dates with this quiz." - ] - }, - "lecture-working-with-audio-and-video": { - "title": "Working with Audio and Video", - "intro": [ - "In these lessons, you will learn how to work with audio and video files using JavaScript. You will learn about the Audio and Video constructors, their methods and properties, audio and video formats, codecs, the HTMLMediaElement API, and much more." - ] - }, - "workshop-music-player": { - "title": "Build a Music Player", - "intro": [ - "In this workshop, you'll code a basic MP3 player using HTML, CSS, and JavaScript.", - "The project covers fundamental concepts such as handling audio playback, managing a playlist, implementing play, pause, next, and previous functionalities and dynamically update your user interface based on the current song." - ] - }, - "lab-drum-machine": { - "title": "Build a Drum Machine", - "intro": [ - "For this lab you will use the audio element to build a drum machine." - ] - }, - "review-javascript-audio-and-video": { - "title": "JavaScript Audio and Video Review", - "intro": [ - "Before you're quizzed on working with audio and video in JavaScript, you should review what you've learned about them.", - "Open up this page to review concepts including the Audio constructor, the HTMLMediaElement API and more." - ] - }, - "quiz-javascript-audio-and-video": { - "title": "JavaScript Audio and Video Quiz", - "intro": [ - "Test what you've learned about JavaScript audio and video with this quiz." - ] - }, - "lecture-working-with-maps-and-sets": { - "title": "Working with Maps and Sets", - "intro": [ - "In these lessons, you will learn about JavaScript Map and Set. You will also learn how they both differ from WeakSets and WeakMaps." - ] - }, - "workshop-plant-nursery-catalog": { - "title": "Build a Plant Nursery Catalog", - "intro": [ - "In this workshop, you will practice using Maps and Sets by building a plant nursery catalog." - ] - }, - "lab-voting-system": { - "title": "Build a Voting System", - "intro": [ - "In this lab, you'll build a voting system using Maps and Sets.", - "You'll practice how to use the Map object to store key-value pairs and the Set object to store unique values." - ] - }, - "review-javascript-maps-and-sets": { - "title": "JavaScript Maps and Sets Review", - "intro": [ - "Before you're quizzed on JavaScript Maps and Sets, you should review what you've learned about them.", - "Open up this page to review concepts such as the Map and Set objects, as well as WeakSet and WeakMap." - ] - }, - "quiz-javascript-maps-and-sets": { - "title": "JavaScript Maps and Sets Quiz", - "intro": [ - "Test what you've learned about JavaScript Maps and Sets with this quiz." - ] - }, - "lecture-working-with-client-side-storage-and-crud-operations": { - "title": "Working with Client-Side Storage and CRUD Operations", - "intro": [ - "In these lessons, you will learn about client-side storage and CRUD operations in JavaScript. You will learn about localStorage and sessionStorage alongside their methods and properties, cookies, the Cache API, IndexDB, and much more." - ] - }, - "workshop-todo-app": { - "title": "Build a Todo App using Local Storage", - "intro": [ - "Local storage is a web browser feature that lets web applications store key-value pairs persistently within a user's browser. This allows web apps to save data during one session, then retrieve it in a later page session.", - "In this workshop, you'll learn how to handle form inputs, manage local storage, perform CRUD (Create, Read, Update, Delete) operations on tasks, implement event listeners, and toggle UI elements." - ] - }, - "lab-bookmark-manager-app": { - "title": "Build a Bookmark Manager App", - "intro": [ - "For this lab, you'll build a bookmark manager app.", - "You'll utilize local storage to store bookmarks, and practice how to add, remove, and display bookmarks." - ] - }, - "review-local-storage-and-crud": { - "title": "Local Storage and CRUD Review", - "intro": [ - "Before you are quizzed on working with localStorage, you first need to review the concepts.", - "Open up this page to review the localStorage property, sessionStorage property and more." - ] - }, - "quiz-local-storage-and-crud": { - "title": "Local Storage and CRUD Quiz", - "intro": [ - "Test what you've learned about local storage and CRUD with this quiz." - ] - }, - "lecture-understanding-how-to-work-with-classes-in-javascript": { - "title": "Understanding How to Work with Classes in JavaScript", - "intro": [ - "In these lessons, you will learn about classes in JavaScript. You will learn about inheritance, the this keyword, static properties and methods, and more." - ] - }, - "workshop-shopping-cart": { - "title": "Build a Shopping Cart", - "intro": [ - "In this workshop you'll create a shopping cart using JavaScript classes.", - "You will practice how to use the this keyword, create class instances, implement methods for data manipulation and more." - ] - }, - "lab-project-idea-board": { - "title": "Build a Project Idea Board", - "intro": [ - "In this lab, you'll build a project idea board using OOP in JavaScript.", - "You'll practice how to create classes, add methods to classes, and create instances of classes." - ] - }, - "lab-bank-account-manager": { - "title": "Build a Bank Account Management Program", - "intro": [ - "In this lab, you'll build a simple transaction management system for a bank account." - ] - }, - "review-javascript-classes": { - "title": "JavaScript Classes Review", - "intro": [ - "Before you're quizzed on how to work with classes, you should review what you've learned about them.", - "Open up this page to review concepts including the this keyword, class inheritance and more." - ] - }, - "quiz-javascript-classes": { - "title": "JavaScript Classes Quiz", - "intro": [ - "Test what you've learned about JavaScript classes with this quiz." - ] - }, - "lecture-understanding-recursion-and-the-call-stack": { - "title": "Understanding Recursion and the Call Stack", - "intro": [ - "In this lesson, you will learn about recursion and the call stack." - ] - }, - "workshop-decimal-to-binary-converter": { - "title": "Build a Decimal to Binary Converter", - "intro": [ - "Recursion is a programming concept where a function calls itself. This can reduce a complex problem into simpler sub-problems, until they become straightforward to solve.", - "In this workshop, you’ll build a decimal-to-binary converter using JavaScript. You’ll practice the fundamental concepts of recursion, explore the call stack, and build out a visual representation of the recursion process through an animation." - ] - }, - "lab-permutation-generator": { - "title": "Build a Permutation Generator", - "intro": [ - "For this lab, you'll build a permutation generator that produces all possible permutations of a given string." - ] - }, - "review-recursion": { - "title": "Recursion Review", - "intro": [ - "Before you're quizzed on recursion, you should review what you've learned.", - "Open up this page to review what is recursion and what is it used for." - ] - }, - "quiz-recursion": { - "title": "Recursion Quiz", - "intro": ["Test your knowledge of Recursion with this quiz."] - }, - "lecture-understanding-functional-programming": { - "title": "Understanding Functional Programming", - "intro": [ - "In these lessons, you will learn about functional programming and how to nest functions using a technique called currying." - ] - }, - "workshop-recipe-ingredient-converter": { - "title": "Build a Recipe Ingredient Converter", - "intro": [ - "In the previous lessons, you learned the core concepts behind functional programming and currying.", - "Now you will be able to apply what you have learned about currying and functional programming by building a recipe ingredient converter application." - ] - }, - "lab-sorting-visualizer": { - "title": "Build a Sorting Visualizer", - "intro": [ - "For this lab, you'll use JavaScript to visualize the steps that the Bubble Sort algorithm takes to reorder an array of integers." - ] - }, - "review-javascript-functional-programming": { - "title": "JavaScript Functional Programming Review", - "intro": [ - "Before you're quizzed on functional programming, you should review what you've learned.", - "Open up this page to review concepts on functional programming, currying and more." - ] - }, - "quiz-javascript-functional-programming": { - "title": "JavaScript Functional Programming Quiz", - "intro": [ - "Test what you've learned about JavaScript functional programming with this quiz." - ] - }, - "lecture-understanding-asynchronous-programming": { - "title": "Understanding Asynchronous Programming", - "intro": [ - "In these lessons, you will learn about asynchronous programming in JavaScript. You will learn about the differences between synchronous and asynchronous programming, how the async keyword works, the Fetch API, promises, async/await, the Geolocation API, and much more." - ] - }, - "workshop-fcc-authors-page": { - "title": "Build an fCC Authors Page", - "intro": [ - "One common aspect of web development is learning how to fetch data from an external API, then work with asynchronous JavaScript.", - "In this workshop you will practice how to use the fetch method, dynamically update the DOM to display the fetched data and paginate your data so you can load results in batches." - ] - }, - "lab-fcc-forum-leaderboard": { - "title": "Build an fCC Forum Leaderboard", - "intro": [ - "For this lab you'll practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard." - ] - }, - "lab-weather-app": { - "title": "Build a Weather App", - "intro": [ - "In this lab you'll build a Weather App using an API", - "You'll practice how to fetch data from the API, store and display it on your app." - ] - }, - "review-asynchronous-javascript": { - "title": "Asynchronous JavaScript Review", - "intro": [ - "Review asynchronous JavaScript concepts to prepare for the upcoming quiz." - ] - }, - "quiz-asynchronous-javascript": { - "title": "Asynchronous JavaScript Quiz", - "intro": [ - "Test what you've learned about asynchronous JavaScript with this quiz." - ] - }, - "review-javascript": { - "title": "JavaScript Review", - "intro": [ - "Before you take the JavaScript prep exam, you should review everything you've learned about JavaScript.", - "Open up this page to review all of the concepts taught including variables, strings, booleans, functions, objects, arrays, debugging, working with the DOM and more." - ] - }, - "kagw": { - "title": "258", - "intro": [] - }, - "lecture-introduction-to-javascript-libraries-and-frameworks": { - "title": "Introduction to JavaScript Libraries and Frameworks", - "intro": [ - "In these lessons, you will get an introduction to JavaScript libraries and frameworks. You will learn about the roles of JavaScript libraries and frameworks, single page applications (SPAs) and the issue surrounding them, and React, the most popular frontend JavaScript library." - ] - }, - "workshop-reusable-mega-navbar": { - "title": "Build a Reusable Mega Navbar", - "intro": [ - "In the previous lessons, you learned how to work with components in React.", - "In this workshop, you will build a reusable Navbar component using React." - ] - }, - "lab-reusable-footer": { - "title": "Build a Reusable Footer", - "intro": ["In this lab, you'll use React to build a reusable footer."] - }, - "lecture-working-with-data-in-react": { - "title": "Working with Data in React", - "intro": [ - "In these lessons, you will learn how to work with data in React. You will learn about props and how to pass them around, conditional rendering, how to render lists, and how to use inline styles." - ] - }, - "workshop-reusable-profile-card-component": { - "title": "Build a Reusable Profile Card Component", - "intro": [ - "In this workshop, you will learn how to work with props by building a reusable profile card component." - ] - }, - "lab-mood-board": { - "title": "Build a Mood Board", - "intro": [ - "In this lab, you'll create a mood board using React.", - "You'll practice how to pass data from a parent component to a child component using props." - ] - }, - "review-react-basics": { - "title": "React Basics Review", - "intro": [ - "Review basic React concepts to prepare for the upcoming quiz." - ] - }, - "quiz-react-basics": { - "title": "React Basics Quiz", - "intro": ["Test your knowledge of React basics with this quiz."] - }, - "lecture-working-with-state-and-responding-to-events-in-react": { - "title": "Working with State and Responding to Events in React", - "intro": [ - "In these lessons, you will learn about working with state and responding to events with React." - ] - }, - "workshop-toggle-text-app": { - "title": "Toggle Text App", - "intro": [ - "In this workshop, you will continue to learn about the useState() hook by building an application that hides and shows a piece of text on the screen." - ] - }, - "lab-color-picker": { - "title": "Build a Color Picker App", - "intro": [ - "In this lab you'll build a Color Picker.", - "You'll practice using state and hooks to manage the properties of an element." - ] - }, - "lecture-understanding-effects-and-referencing-values-in-react": { - "title": "Understanding Effects and Referencing Values in React", - "intro": [ - "In these lessons, you will learn about effects and referencing values with React." - ] - }, - "workshop-fruit-search-app": { - "title": "Build a Fruit Search App", - "intro": [ - "In this workshop, you will continue to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically." - ] - }, - "lab-one-time-password-generator": { - "title": "Build a One-Time Password Generator", - "intro": [ - "In this lab you'll build a one-time password generator.", - "You'll practice using the useEffect hooks to create a timer and generate a random OTP." - ] - }, - "review-react-state-and-hooks": { - "title": "React State and Hooks Review", - "intro": [ - "Before you're quizzed on React state and hooks, you should review what you've learned.", - "Open up this page to review working with state, custom hooks and more." - ] - }, - "quiz-react-state-and-hooks": { - "title": "React State and Hooks Quiz", - "intro": [ - "Test what you've learned about React's useState and useEffect hooks with this quiz." - ] - }, - "lecture-working-with-forms-in-react": { - "title": "Working with Forms in React", - "intro": [ - "In these lessons, you will learn about working with forms in React." - ] - }, - "workshop-superhero-application-form": { - "title": "Build a Superhero Application Form", - "intro": [ - "In this workshop, you will build a superhero application form." - ] - }, - "lab-event-rsvp": { - "title": "Build an Event RSVP", - "intro": [ - "In this lab, you'll build an Event RSVP form using React.", - "You'll practice using the useState hook to manage form input and display user responses." - ] - }, - "lecture-working-with-data-fetching-and-memoization-in-react": { - "title": "Working with Data Fetching and Memoization in React", - "intro": [ - "In these lessons, you will learn about data fetching and memoization in React." - ] - }, - "workshop-shopping-list-app": { - "title": "Build a Shopping List App", - "intro": [ - "In this workshop, you'll use the useMemo() and useCallback() hooks in React to build a simple shopping list app. You'll learn more about state and the lifecycle of React components, and how to use memoization to reduce re-renders and make your apps more efficient." - ] - }, - "lab-currency-converter": { - "title": "Build a Currency Converter", - "intro": [ - "For this lab, you'll build a currency converter app.", - "You'll use React state, memoization, and controlled components to convert between currencies." - ] - }, - "lecture-routing-react-frameworks-and-dependency-management-tools": { - "title": "Routing, React Frameworks, and Dependency Management Tools", - "intro": [ - "In these lessons, you will learn about routing in React, React frameworks, and dependency management tools." - ] - }, - "lab-tic-tac-toe": { - "title": "Build a Tic-Tac-Toe Game", - "intro": [ - "In this lab, you'll build a Tic-Tac-Toe game using React.", - "You'll practice managing state, handling user interactions, and updating the UI dynamically." - ] - }, - "lecture-react-strategies-and-debugging": { - "title": "React Strategies and Debugging", - "intro": [ - "In these lessons, you will learn about different strategies and debugging in React." - ] - }, - "review-react-forms-data-fetching-and-routing": { - "title": "React Forms, Data Fetching and Routing Review", - "intro": [ - "Before you take the React forms, data fetching and routing quiz, you should review everything you've learned so far.", - "Open up this page, to review all of the concepts taught including routing, forms, state management, prop drilling, data fetching and more." - ] - }, - "quiz-react-forms-data-fetching-and-routing": { - "title": "React Forms, Data Fetching and Routing Quiz", - "intro": [ - "Test what you've learned about routing, forms, and data fetching with this quiz." - ] - }, - "lecture-understanding-performance-in-web-applications": { - "title": "Understanding Performance in Web Applications", - "intro": [ - "In these lessons, you will learn performance in web applications." - ] - }, - "review-web-performance": { - "title": "Web Performance Review", - "intro": [ - "Before you take the web performance quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including INP, key metrics for measuring performance, Performance Web APIs and more." - ] - }, - "quiz-web-performance": { - "title": "Web Performance Quiz", - "intro": [ - "Test what you've learned about Web Performance with this quiz." - ] - }, - "lecture-understanding-the-different-types-of-testing": { - "title": "Understanding the Different Types of Testing", - "intro": [ - "In these lessons, you will learn about the different types of testing." - ] - }, - "review-testing": { - "title": "Testing Review", - "intro": [ - "Before you take the testing quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including unit testing, end-to-end testing, functional testing and more." - ] - }, - "quiz-testing": { - "title": "Testing Quiz", - "intro": ["Test what you've learned on testing with this quiz."] - }, - "lecture-working-with-css-libraries-and-frameworks": { - "title": "Working with CSS Libraries and Frameworks", - "intro": [ - "In these lessons, you will learn how to work with CSS libraries and frameworks." - ] - }, - "workshop-error-message-component": { - "title": "Build an Error Message Component", - "intro": [ - "In this workshop, you will learn the basics of Tailwind CSS by building out an error message component." - ] - }, - "workshop-tailwind-cta-component": { - "title": "Build a CTA Component", - "intro": [ - "In this workshop, you will build a call to action (CTA) component using Tailwind CSS." - ] - }, - "workshop-tailwind-pricing-component": { - "title": "Build a Pricing Component", - "intro": [ - "In this workshop, you will build a pricing component using Tailwind CSS.", - "You will practice working with Tailwind CSS grid utility classes." - ] - }, - "lab-music-shopping-cart-page": { - "title": "Build a Music Shopping Cart Page", - "intro": [ - "In this lab, you will build a music shopping cart page with Tailwind CSS.", - "You will practice working with Tailwind CSS utility classes for flexbox layouts, colors, breakpoints and more." - ] - }, - "lab-photography-exhibit": { - "title": "Design a Photography Exhibit", - "intro": [ - "In this lab, you will practice working with Tailwind CSS by designing a photography exhibit webpage." - ] - }, - "review-css-libraries-and-frameworks": { - "title": "CSS Libraries and Frameworks Review", - "intro": [ - "Before you take the CSS libraries and frameworks quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including CSS frameworks, CSS preprocessors, Sass and more." - ] - }, - "quiz-css-libraries-and-frameworks": { - "title": "CSS Libraries and Frameworks Quiz", - "intro": [ - "Test what you've learned about CSS Libraries and Frameworks with this quiz." - ] - }, - "lecture-introduction-to-typescript": { - "title": "Introduction to TypeScript", - "intro": [ - "In these lessons, you will learn what TypeScript is and how to use it." - ] - }, - "lecture-working-with-generics-and-type-narrowing": { - "title": "Working with Generics and Type Narrowing", - "intro": [ - "In these lessons, you will learn about generics and type narrowing in TypeScript." - ] - }, - "lecture-working-with-typescript-configuration-files": { - "title": "Working with TypeScript Configuration Files", - "intro": [ - "In this lesson, you will learn about TypeScript configuration files and how to use them." - ] - }, - "trvf": { - "title": "293", - "intro": [] - }, - "kwmg": { - "title": "294", - "intro": [] - }, - "nodx": { - "title": "295", - "intro": [] - }, - "erfj": { - "title": "296", - "intro": [] - }, - "muyw": { - "title": "297", - "intro": [] - }, - "review-typescript": { - "title": "Typescript Review", - "intro": [ - "Before you take the TypeScript quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including data types in TypeScript, generics, type narrowing and more." - ] - }, - "quiz-typescript": { - "title": "TypeScript Quiz", - "intro": ["Test what you've learned on Typescript with this quiz."] - }, - "review-front-end-libraries": { - "title": "Front End Libraries Review", - "intro": [ - "Review the Front End Libraries concepts to prepare for the upcoming quiz." - ] - }, - "rdzk": { - "title": "301", - "intro": [] - }, - "vtpz": { - "title": "302", - "intro": [] - }, - "lecture-introduction-to-python": { - "title": "Introduction to Python", - "intro": [ - "In these lessons, you will learn the fundamentals of Python. You'll learn about variables, data types, operators, control flow, functions, and more." - ] - }, - "workshop-caesar-cipher": { - "title": "Build a Caesar Cipher", - "intro": [ - "In this workshop, you'll build a Caesar cipher using basic Python concepts such as strings, conditionals, functions, and more." - ] - }, - "lab-rpg-character": { - "title": "Build an RPG Character", - "intro": [ - "In this lab you will practice basic python by building an RPG character." - ] - }, - "review-python-basics": { - "title": "Python Basics Review", - "intro": [ - "Before you're quizzed on Python basics, you should review what you've learned about it.", - "In this review page, you will review working with strings, functions, comparison operators and more." - ] - }, - "quiz-python-basics": { - "title": "Python Basics Quiz", - "intro": [ - "Test what you've learned about Python basics with this quiz." - ] - }, - "lecture-working-with-loops-and-sequences": { - "title": "Working with Loops and Sequences", - "intro": [ - "Learn about Working with Loops and Sequences in these lessons." - ] - }, - "workshop-pin-extractor": { - "title": "Build a Pin Extractor", - "intro": [ - "In this workshop you will build a function to extract secret pins hidden in poems." - ] - }, - "lab-number-pattern-generator": { - "title": "Build a Number Pattern Generator", - "intro": ["In this lab you will build a number pattern generator."] - }, - "review-loops-and-sequences": { - "title": "Loops and Sequences Review", - "intro": [ - "Before you're quizzed on loops and sequences, you should review what you've learned about them.", - "Open up this page to review concepts around loops, lists, tuples and some of their common methods." - ] - }, - "quiz-loops-and-sequences": { - "title": "Loops and Sequences Quiz", - "intro": [ - "Test what you've learned about loops and sequences in Python with this quiz." - ] - }, - "lecture-working-with-dictionaries-and-sets": { - "title": "Working with Dictionaries and Sets", - "intro": [ - "Learn about working with dictionaries and sets in these lessons." - ] - }, - "lecture-working-with-modules": { - "title": "Working with Modules", - "intro": ["Learn about working with modules in these lessons."] - }, - "workshop-medical-data-validator": { - "title": "Build a Medical Data Validator", - "intro": [ - "In this workshop, you'll practice working with dictionaries and sets while validating a collection of medical data." - ] - }, - "lab-user-configuration-manager": { - "title": "Build a User Configuration Manager", - "intro": [ - "In this lab, you will practice working with dictionaries in Python." - ] - }, - "review-dictionaries-and-sets": { - "title": "Dictionaries and Sets review", - "intro": [ - "Before you're quizzed on dictionaries and sets, you should review what you've learned about them.", - "Open up this page to review concepts around dictionaries, sets, and how to import modules." - ] - }, - "quiz-dictionaries-and-sets": { - "title": "Dictionaries and Sets Quiz", - "intro": [ - "Test what you've learned about dictionaries and sets in Python with this quiz." - ] - }, - "lecture-understanding-error-handling": { - "title": "Understanding Error Handling", - "intro": [ - "In these lessons, you will learn about error handling in Python. You will learn about the different types of errors, some good debugging practices, what exceptions are, and how to handle them." - ] - }, - "lab-isbn-validator": { - "title": "Debug an ISBN Validator", - "intro": [ - "In this lab, you will start with a bugged app, and you will need to debug and fix the bugs until it is working properly." - ] - }, - "review-error-handling": { - "title": "Error Handling Review", - "intro": [ - "Before you're quizzed on error handling, you should review what you've learned about it." - ] - }, - "quiz-error-handling": { - "title": "Error Handling Quiz", - "intro": [ - "Test what you've learned about Error Handling in Python with this quiz." - ] - }, - "lecture-classes-and-objects": { - "title": "Classes and Objects", - "intro": ["Learn about Classes and Objects in these lessons."] - }, - "workshop-musical-instrument-inventory": { - "title": "Build a Musical Instrument Inventory", - "intro": [ - "In this workshop, you will learn about classes, objects, and methods in Python by building a simple musical instrument inventory." - ] - }, - "lab-planet-class": { - "title": "Build a Planet Class", - "intro": [ - "In this lab you will create a class that represents a planet." - ] - }, - "workshop-email-simulator": { - "title": "Build an Email Simulator", - "intro": [ - "In this workshop you will implement classes and objects by building an email simulator that simulates sending, receiving, and managing emails between different users." - ] - }, - "lab-budget-app": { - "title": "Build a Budget App", - "intro": [ - "In this lab you will build a budget app and practice creating a class and methods for that class." - ] - }, - "review-classes-and-objects": { - "title": "Classes and Objects Review", - "intro": [ - "Before you're quizzed on classes and objects, you should review what you've learned about them.", - "Open up this page to review concepts like how classes work, what are objects, methods, attributes, special methods and more." - ] - }, - "quiz-classes-and-objects": { - "title": "Classes and Objects Quiz", - "intro": [ - "Test what you've learned about classes and objects in Python with this quiz." - ] - }, - "lecture-understanding-object-oriented-programming-and-encapsulation": { - "title": "Understanding Object Oriented Programming and Encapsulation", - "intro": [ - "Learn about Understanding Object Oriented Programming and Encapsulation in these lessons." - ] - }, - "workshop-salary-tracker": { - "title": "Build a Salary Tracker", - "intro": [ - "In this workshop, you'll practice encapsulation, properties, and other OOP concepts by building a salary tracking system for employees." - ] - }, - "lab-game-character-stats": { - "title": "Build a Game Character Stats Tracker", - "intro": [ - "In this lab, you will build a game character with different stats using object-oriented programming." - ] - }, - "lecture-understanding-inheritance-and-polymorphism": { - "title": "Understanding Inheritance and Polymorphism", - "intro": [ - "Learn about Understanding Inheritance and Polymorphism in these lessons." - ] - }, - "workshop-media-catalogue": { - "title": "Build a Media Catalogue", - "intro": [ - "In this workshop, you will create a media catalogue application using object-oriented programming principles." - ] - }, - "lab-polygon-area-calculator": { - "title": "Build a Polygon Area Calculator", - "intro": [ - "In this lab, you will use object-oriented programming to calculate the areas of different polygons like squares and rectangles." - ] - }, - "lecture-understanding-abstraction": { - "title": "Understanding Abstraction", - "intro": ["Learn about Understanding Abstraction in these lessons."] - }, - "workshop-discount-calculator": { - "title": "Build a Discount Calculator", - "intro": [ - "In this workshop you will build a flexible discount pricing calculator through abstract base classes, allowing multiple discount algorithms to be applied interchangeably without modifying the core logic." - ] - }, - "lab-player-interface": { - "title": "Build a Player Interface", - "intro": [ - "In this lab, you'll use the abc module to build a player interface." - ] - }, - "review-object-oriented-programming": { - "title": "Object Oriented Programming Review", - "intro": [ - "Before you're quizzed on object oriented programming, you should review what you've learned about it." - ] - }, - "quiz-object-oriented-programming": { - "title": "Object Oriented Programming Quiz", - "intro": [ - "Test what you've learned about object oriented programming in python with this quiz." - ] - }, - "lecture-working-with-common-data-structures": { - "title": "Working with Common Data Structures", - "intro": [ - "Learn about Working with Common Data Structures in these lessons." - ] - }, - "workshop-linked-list-class": { - "title": "Build a Linked List", - "intro": [ - "In this workshop, you'll practice working with data structures by building a linked list." - ] - }, - "lab-hash-table": { - "title": "Build a Hash Table", - "intro": [ - "A hash table is a data structure that is used to store key-value pairs and is optimized for quick lookups.", - "In this lab, you will use your knowledge about data structures to build a hash table." - ] - }, - "review-data-structures": { - "title": "Data Structures Review", - "intro": [ - "Before you're quizzed on data structures, you should review what you've learned about them.", - "Open up this page to review concepts like the different data structures, algorithms, time and space complexity, and big O notation." - ] - }, - "quiz-data-structures": { - "title": "Data Structures Quiz", - "intro": [ - "Test what you've learned about data structures in Python with this quiz." - ] - }, - "lecture-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms", - "intro": [ - "Learn about fundamental searching and sorting algorithms, including linear search, binary search, and merge sort.", - "These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm." - ] - }, - "workshop-binary-search": { - "title": "Implement the Binary Search Algorithm", - "intro": [ - "The binary search algorithm is a searching algorithm used to find a target item in a sorted list.", - "In this workshop, you'll implement the binary search algorithm and return the path it took to find the target or return 'Value not found'." - ] - }, - "lab-bisection-method": { - "title": "Implement the Bisection Method", - "intro": [ - "In this lab, you will implement the bisection method to find the square root of a number." - ] - }, - "workshop-merge-sort": { - "title": "Implement the Merge Sort Algorithm", - "intro": [ - "The merge sort algorithm is a sorting algorithm based on the divide and conquer principle.", - "In this workshop, you'll implement the merge sort algorithm to sort a list of random numbers." - ] - }, - "lab-quicksort": { - "title": "Implement the Quicksort Algorithm", - "intro": [ - "In this lab you will implement the quicksort algorithm to sort a list of integers." - ] - }, - "lab-selection-sort": { - "title": "Implement the Selection Sort Algorithm", - "intro": [ - "In this lab you will implement the selection sort algorithm." - ] - }, - "lab-luhn-algorithm": { - "title": "Implement the Luhn Algorithm", - "intro": [ - "In this lab, you will implement the Luhn algorithm to validate identification numbers such as credit card numbers." - ] - }, - "lab-tower-of-hanoi": { - "title": "Implement the Tower of Hanoi Algorithm", - "intro": [ - "In this lab, you will implement an algorithm to solve the Tower of Hanoi puzzle." - ] - }, - "review-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms Review", - "intro": [ - "Before you're quizzed on searching and sorting algorithms, you should review what you've learned about them." - ] - }, - "quiz-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms Quiz", - "intro": [ - "Test what you've learned about searching and sorting algorithms in Python with this quiz." - ] - }, - "lecture-understanding-graphs-and-trees": { - "title": "Understanding Graphs and Trees", - "intro": [ - "In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science." - ] - }, - "workshop-shortest-path-algorithm": { - "title": "Implement the Shortest Path Algorithm", - "intro": [ - "In this workshop you will implement the shortest path algorithm to find the shortest path between two nodes in a graph." - ] - }, - "lab-adjacency-list-to-matrix-converter": { - "title": "Build an Adjacency List to Matrix Converter", - "intro": [ - "In this lab, you will implement a function that converts an adjacency list representation of a graph into an adjacency matrix representation." - ] - }, - "workshop-breadth-first-search": { - "title": "Implement the Breadth-First Search Algorithm", - "intro": [ - "In this workshop, you will use the bread-first search algorithm to generate all valid combinations of parentheses." - ] - }, - "lab-depth-first-search": { - "title": "Implement the Depth-First Search Algorithm", - "intro": [ - "In this lab, you will implement the Depth-First Search Algorithm." - ] - }, - "lab-n-queens-problem": { - "title": "Implement the N-Queens Problem", - "intro": [ - "In this lab, you will implement a solution for the N-Queens problem." - ] - }, - "review-graphs-and-trees": { - "title": "Graphs and Trees Review", - "intro": [ - "Before you're quizzed on graphs and trees, you should review what you've learned about them." - ] - }, - "quiz-graphs-and-trees": { - "title": "Graphs and Trees Quiz", - "intro": [ - "Test what you've learned about graphs and trees in Python with this quiz." - ] - }, - "lecture-understanding-dynamic-programming": { - "title": "Understanding Dynamic Programming", - "intro": [ - "In this lesson, you will learn about dynamic programming, an algorithmic technique used to solve complex problems efficiently by breaking them down into simpler subproblems." - ] - }, - "lab-nth-fibonacci-number": { - "title": "Build an Nth Fibonacci Number Calculator", - "intro": [ - "In this lab you will implement a Fibonacci sequence calculator using a dynamic programming approach." - ] - }, - "review-dynamic-programming": { - "title": "Dynamic Programming Review", - "intro": [ - "Before you're quizzed on dynamic programming, you should review what you've learned about it." - ] - }, - "quiz-dynamic-programming": { - "title": "Dynamic Programming Quiz", - "intro": [ - "Test what you've learned about dynamic programming in python with this quiz." - ] - }, - "review-python": { - "title": "Python Review", - "intro": ["Review Python concepts to prepare for the upcoming exam."] - }, - "lecture-understanding-the-command-line-and-working-with-bash": { - "title": "Understanding the Command Line and Working with Bash", - "intro": [ - "Learn about the Command Line and Working with Bash in these lessons." - ] - }, - "workshop-bash-boilerplate": { - "title": "Build a Boilerplate", - "intro": [ - "The terminal allows you to send text commands to your computer that can manipulate the file system, run programs, automate tasks, and much more.", - "In this 170-lesson workshop, you will learn terminal commands by creating a website boilerplate using only the command line." - ] - }, - "review-bash-commands": { - "title": "Bash Commands Review", - "intro": [ - "Review the Bash Commands concepts to prepare for the upcoming quiz." - ] - }, - "quiz-bash-commands": { - "title": "Bash Commands Quiz", - "intro": ["Test what you've learned bash commands with this quiz."] - }, - "lecture-working-with-relational-databases": { - "title": "Working with Relational Databases", - "intro": [ - "Learn how to work with Relational Databases in these lessons." - ] - }, - "workshop-database-of-video-game-characters": { - "title": "Build a Database of Video Game Characters", - "intro": [ - "A relational database organizes data into tables that are linked together through relationships.", - "In this 165-lesson workshop, you will learn the basics of a relational database by creating a PostgreSQL database filled with video game characters." - ] - }, - "lab-celestial-bodies-database": { - "title": "Build a Celestial Bodies Database", - "intro": [ - "For this project, you will build a database of celestial bodies using PostgreSQL." - ] - }, - "review-sql-and-postgresql": { - "title": "SQL and PostgreSQL Review", - "intro": [ - "Review SQL and PostgreSQL concepts to prepare for the upcoming quiz." - ] - }, - "quiz-sql-and-postgresql": { - "title": "SQL and PostgreSQL Quiz", - "intro": [ - "Test what you've learned about SQL and PostgreSQL with this quiz." - ] - }, - "lecture-understanding-bash-scripting": { - "title": "Understanding Bash Scripting", - "intro": ["Learn about Bash Scripting in these lessons."] - }, - "workshop-bash-five-programs": { - "title": "Build Five Programs", - "intro": [ - "Bash scripts combine terminal commands and logic into programs that can execute or automate tasks, and much more.", - "In this 220-lesson workshop, you will learn more terminal commands and how to use them within Bash scripts by creating five small programs." - ] - }, - "review-bash-scripting": { - "title": "Bash Scripting Review", - "intro": [ - "Review the bash scripting concepts you've learned to prepare for the upcoming quiz." - ] - }, - "quiz-bash-scripting": { - "title": "Bash Scripting Quiz", - "intro": ["Test what you've learned on bash scripting in this quiz."] - }, - "lecture-working-with-sql": { - "title": "Working With SQL", - "intro": [ - "In these lessons, you will learn about SQL injection, normalization, and the N+1 problem." - ] - }, - "workshop-sql-student-database-part-1": { - "title": "Build a Student Database: Part 1", - "intro": [ - "SQL, or Structured Query Language, is the language for communicating with a relational database.", - "In this 140-lesson workshop, you will create a Bash script that uses SQL to enter information about your computer science students into PostgreSQL." - ] - }, - "workshop-sql-student-database-part-2": { - "title": "Build a Student Database: Part 2", - "intro": [ - "SQL join commands are used to combine information from multiple tables in a relational database", - "In this 140-lesson workshop, you will complete your student database while diving deeper into SQL commands." - ] - }, - "lab-world-cup-database": { - "title": "Build a World Cup Database", - "intro": [ - "For this project, you will create a Bash script that enters information from World Cup games into PostgreSQL, then query the database for useful statistics." - ] - }, - "workshop-kitty-ipsum-translator": { - "title": "Build a Kitty Ipsum Translator", - "intro": [ - "There's more to Bash commands than you might think.", - "In this 140-lesson workshop, you will learn some more complex commands, and the details of how commands work." - ] - }, - "workshop-bike-rental-shop": { - "title": "Build a Bike Rental Shop", - "intro": [ - "In this 210-lesson workshop, you will build an interactive Bash program that stores rental information for your bike rental shop using PostgreSQL." - ] - }, - "lab-salon-appointment-scheduler": { - "title": "Build a Salon Appointment Scheduler", - "intro": [ - "For this lab, you will create an interactive Bash program that uses PostgreSQL to track the customers and appointments for your salon." - ] - }, - "review-bash-and-sql": { - "title": "Bash and SQL Review", - "intro": [ - "Review the Bash and SQL concepts to prepare for the upcoming quiz." - ] - }, - "quiz-bash-and-sql": { - "title": "Bash and SQL Quiz", - "intro": ["Test what you've learned in this quiz on Bash and SQL."] - }, - "lecture-working-with-nano": { - "title": "Working With Nano", - "intro": ["Learn about Nano in this lesson."] - }, - "workshop-castle": { - "title": "Build a Castle", - "intro": [ - "Nano is a program that allows you to edit files right in the terminal.", - "In this 40-lesson workshop, you will learn how to edit files in the terminal with Nano while building a castle." - ] - }, - "lecture-introduction-to-git-and-github": { - "title": "Introduction to Git and GitHub", - "intro": ["Learn how to work with Git and GitHub in these lessons."] - }, - "lecture-working-with-code-reviews-branching-deployment-and-ci-cd": { - "title": "Working With Code Reviews, Branching, Deployment, and CI/CD", - "intro": [ - "Learn about code reviews, branching, deployment, and CI/CD in these lessons." - ] - }, - "workshop-sql-reference-object": { - "title": "Build an SQL Reference Object", - "intro": [ - "Git is a version control system that keeps track of all the changes you make to your codebase.", - "In this 240-lesson workshop, you will learn how Git keeps track of your code by creating an object containing commonly used SQL commands." - ] - }, - "lab-periodic-table-database": { - "title": "Build a Periodic Table Database", - "intro": [ - "For this lab, you will create a Bash script to get information about chemical elements from a periodic table database." - ] - }, - "lab-number-guessing-game": { - "title": "Build a Number Guessing Game", - "intro": [ - "For this lab, you will use Bash scripting, PostgreSQL, and Git to create a number guessing game that runs in the terminal and saves user information." - ] - }, - "review-git": { - "title": "Git Review", - "intro": ["Review Git concepts to prepare for the upcoming quiz."] - }, - "quiz-git": { - "title": "Git Quiz", - "intro": ["Test what you've learned on Git with this quiz."] - }, - "review-relational-databases": { - "title": "Relational Databases Review", - "intro": [ - "Review relational databases concepts to prepare for the exam." - ] - }, - "lecture-understanding-the-http-request-response-model": { - "title": "Understanding the HTTP Request-Response Model", - "intro": [ - "Learn the fundamentals of how web communication works through the HTTP request-response model, explore different types of web assets and responses, and understand how forms handle data submission using various HTTP methods." - ] - }, - "exam-certified-full-stack-developer": { - "title": "Certified Full Stack Developer Exam", - "intro": ["Pass this exam to become a Certified Full Stack Developer."] - } - } - }, "javascript-v9": { "title": "JavaScript Certification", "intro": [ @@ -6448,6 +3108,12 @@ "In this lecture, you will learn about recursion and the call stack." ] }, + "workshop-countup": { + "title": "Build a Countup", + "intro": [ + "In this workshop you will build a countdown function that returns an array of numbers counting up from 1 to a given number." + ] + }, "lab-countdown": { "title": "Build a Countdown", "intro": [ @@ -6461,6 +3127,13 @@ "In this workshop, you'll build a decimal-to-binary converter using JavaScript. You'll practice the fundamental concepts of recursion, explore the call stack, and build out a visual representation of the recursion process through an animation." ] }, + "lab-range-of-numbers": { + "title": "Build a Range of Numbers Generator", + "intro": [ + "In this lab, you'll use recursion to generate an array of numbers within a specified range.", + "You'll practice recursive function calls, base cases, and building arrays through recursion." + ] + }, "lab-permutation-generator": { "title": "Build a Permutation Generator", "intro": [ @@ -6485,6 +3158,12 @@ "These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm." ] }, + "lecture-understanding-graphs-and-trees-js": { + "title": "Understanding Graphs and Trees", + "intro": [ + "In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science." + ] + }, "lecture-understanding-functional-programming": { "title": "Understanding Functional Programming", "intro": [ @@ -7186,6 +3865,12 @@ "In this lab, you will use object-oriented programming to calculate the areas of different polygons like squares and rectangles." ] }, + "lab-discount-calculator": { + "title": "Build a Discount Calculator", + "intro": [ + "In this lab, you will practice basic Python by building a calculator to apply a discount to a price." + ] + }, "lecture-understanding-abstraction": { "title": "Understanding Abstraction", "intro": ["Learn about Understanding Abstraction in these lessons."] diff --git a/client/i18n/locales/italian/translations.json b/client/i18n/locales/italian/translations.json index 4bb3b853c2c..5bd6328798c 100644 --- a/client/i18n/locales/italian/translations.json +++ b/client/i18n/locales/italian/translations.json @@ -291,7 +291,7 @@ "reset-editor-layout": "Reset Editor Layout", "shortcuts-explained": "Within a challenge, press ESC followed by the question mark to show a list of available shortcuts.", "username": { - "contains invalid characters": "Il nome utente \"{{username}}\" contiene caratteri non validi", + "contains invalid characters": "Username \"{{username}}\" contains invalid characters. Use only alphanumeric values like 'camperbot', or 'camperbot123'.", "is too short": "Il nome utente \"{{username}}\" è troppo corto", "is a reserved error code": "Il nome utente \"{{username}}\" ha un codice di errore riservato", "must be lowercase": "Il nome utente \"{{username}}\" deve essere in minuscolo", diff --git a/client/i18n/locales/japanese/intro.json b/client/i18n/locales/japanese/intro.json index 2b6e45c65c7..43ee930c88c 100644 --- a/client/i18n/locales/japanese/intro.json +++ b/client/i18n/locales/japanese/intro.json @@ -1954,3346 +1954,6 @@ } } }, - "full-stack-developer": { - "title": "Certified Full Stack Developer Curriculum", - "intro": [ - "This course provides a comprehensive pathway to becoming a Certified Full Stack Developer, covering all the essential technologies required to build modern, scalable web applications from start to finish.", - "Through a blend of interactive lessons, coding exercises, and real-world projects, you will master both frontend and backend development. You'll work with HTML, CSS, and JavaScript to build responsive user interfaces, explore React and TypeScript for advanced web applications, and learn to manage data with relational databases - and on the backend, you'll use Git, Npm, Node.js, and Python to create powerful server-side solutions.", - "By the end of this course, you'll have the practical skills and experience to confidently develop complete web applications, preparing you for a successful career as a Full Stack Developer.", - "This certification will take you a substantial amount of time and effort to complete. If you start now, you may be ready to start the remaining material and final exam when we launch it in the coming months." - ], - "chapters": { - "html": "HTML", - "css": "CSS", - "javascript": "JavaScript", - "frontend-libraries": "Front End Libraries", - "relational-databases": "Relational Databases", - "backend-javascript": "Backend JavaScript", - "python": "Python", - "career": "Career" - }, - "modules": { - "basic-html": "Basic HTML", - "semantic-html": "Semantic HTML", - "html-forms-and-tables": "Forms and Tables", - "html-and-accessibility": "Accessibility", - "review-html": "HTML Review", - "exam-html": "HTML Exam", - "computer-basics": "Computer Basics", - "basic-css": "Basic CSS", - "design-for-developers": "Design", - "absolute-and-relative-units": "Absolute and Relative Units", - "pseudo-classes-and-elements": "Pseudo Classes and Elements", - "css-colors": "Colors", - "styling-forms": "Styling Forms", - "css-box-model": "The Box Model", - "css-flexbox": "Flexbox", - "css-typography": "Typography", - "css-and-accessibility": "Accessibility", - "attribute-selectors": "Attribute Selectors", - "css-positioning": "Positioning", - "responsive-design": "Responsive Design", - "css-variables": "Variables", - "css-grid": "Grid", - "css-animations": "Animations", - "review-css": "CSS Review", - "exam-css": "CSS Exam", - "code-editors": "Code Editors", - "javascript-variables-and-strings": "Variables and Strings", - "javascript-booleans-and-numbers": "Booleans and Numbers", - "javascript-functions": "Functions", - "javascript-arrays": "Arrays", - "javascript-objects": "Objects", - "javascript-loops": "Loops", - "review-javascript-fundamentals": "JavaScript Fundamentals Review", - "higher-order-functions-and-callbacks": "Higher Order Functions and Callbacks", - "dom-manipulation-and-events": "DOM Manipulation and Events", - "js-a11y": "JavaScript and Accessibility", - "debugging-javascript": "Debugging", - "basic-regex": "Basic Regex", - "form-validation": "Form Validation", - "javascript-dates": "Dates", - "audio-and-video-events": "Audio and Video Events", - "maps-and-sets": "Maps and Sets", - "localstorage-and-crud-operations": "localStorage and CRUD Operations", - "classes-and-the-this-keyword": "Classes", - "recursion": "Recursion", - "functional-programming": "Functional Programming", - "asynchronous-javascript": "Asynchronous JavaScript", - "review-javascript": "JavaScript Review", - "exam-javascript": "JavaScript Exam", - "react-fundamentals": "React Fundamentals", - "react-state-hooks-and-routing": "React State, Hooks, and Routing", - "performance": "Performance", - "testing": "Testing", - "css-libraries-and-frameworks": "CSS Libraries and Frameworks", - "data-visualization": "Data Visualization and D3", - "typescript-fundamentals": "TypeScript Fundamentals", - "review-front-end-libraries": "Front End Libraries Review", - "exam-front-end-libraries": "Front End Libraries Exam", - "python-basics": "Python Basics", - "python-loops-and-sequences": "Loops and Sequences", - "python-dictionaries-and-sets": "Dictionaries and Sets", - "python-error-handling": "Error Handling", - "python-classes-and-objects": "Classes and Objects", - "python-object-oriented-programming": "Object-Oriented Programming (OOP)", - "python-linear-data-structures": "Linear Data Structures", - "python-algorithms": "Algorithms", - "python-graphs-and-trees": "Graphs and Trees", - "python-dynamic-programming": "Dynamic Programming", - "review-python": "Python Review", - "exam-python": "Python Exam", - "bash-fundamentals": "Bash Fundamentals", - "sql-and-postgresql": "SQL and PostgreSQL", - "bash-scripting": "Bash Scripting", - "sql-and-bash": "SQL and Bash", - "git": "Git", - "review-relational-databases": "Relational Databases Review", - "exam-relational-databases": "Relational Databases Exam", - "nodejs-core-libraries": "Node.js Core Libraries", - "node-package-manager": "Node Package Manager", - "http-and-the-web-standards-model": "HTTP and the Web Standards Model", - "rest-api-and-web-services": "REST API and Web Services", - "introduction-to-express": "Introduction to Express", - "express-middleware": "Express Middleware", - "error-handling-in-express": "Error Handling in Express", - "websockets": "WebSockets", - "node-and-sql": "Node and SQL", - "security-and-privacy": "Security and Privacy", - "authentication": "Authentication", - "tooling-and-deployment": "Tooling and Deployment", - "how-to-get-a-developer-job": "How to Get a Developer Job", - "capstone-project": "Capstone Project", - "certified-full-stack-developer-exam": "Certified Full Stack Developer Exam" - }, - "module-intros": { - "data-visualization": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will be introduced to data visualization and learn how to work with the D3 library." - ] - }, - "typescript-fundamentals": { - "note": "Coming Fall 2025", - "intro": [ - "In this module, you will be introduced to TypeScript, which is a superset of JavaScript that allows you to add static typing to your JavaScript code. You will build several workshops and labs that will give you practice in working with generics, type narrowing, TSX, and more. Then you will test your knowledge of TypeScript fundamentals with a short quiz." - ] - }, - "python-classes-and-objects": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to work with classes, methods, attributes and properties. Then, you will build out workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-object-oriented-programming": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about Object-oriented programming concepts like encapsulation, inheritance, polymorphism, and more. You will build out workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-linear-data-structures": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about data structures including stacks, queues, linked lists, and more. You will build out a workshop and lab to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-algorithms": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about common algorithms including binary search, merge sort, selection sort, and more. You will build workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-graphs-and-trees": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about graphs in computer science as well as adjacency lists, trees, tries, and more. You will build workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-dynamic-programming": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about dynamic programming and practice these concepts by building a fibonacci sequence lab. Then you will take a short quiz to test your knowledge." - ] - }, - "bash-fundamentals": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about the command line and common Bash commands. Then you will practice your skills with a workshop and take a short quiz to test your knowledge." - ] - }, - "sql-and-postgresql": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to work with relational databases which store data as collections in tables. Some of the concepts you will learn about include inserting and viewing table data, primary and foreign keys in SQL, and more. Then you will build out a workshop and lab to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "bash-scripting": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about bash scripting and practice those skills by building five programs. Then you will be able to test your knowledge of these concepts by taking a short quiz." - ] - }, - "sql-and-bash": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about normalization, SQL injection, and the N+1 problem. Then you will get to practice working with SQL and Bash by building several workshops and labs. Then you will be able to test your knowledge of these concepts by taking a short quiz." - ] - }, - "git": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to use Git, Nano, and GitHub. Then you will get to practice working with Git by building several workshops and labs. You will be able to test your knowledge of these concepts by taking a short quiz." - ] - }, - "introduction-to-nodejs": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to Node.js, which is a JavaScript runtime environment that allows you to build backend applications using JavaScript. You will get to practice fundamental concepts by building a small workshop and test your knowledge with a short quiz." - ] - }, - "nodejs-core-libraries": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about common Node.js core libraries including the fs, os, path and more. Then you will get to practice what you have learned through workshops and labs and test your knowledge through a short quiz." - ] - }, - "node-package-manager": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to the Node Package Manager, which developers use to manage project dependencies and scripts. Then you will get to practice what you have learned through workshops and labs and test your knowledge with a short quiz." - ] - }, - "http-and-the-web-standards-model": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about HTTP (Hypertext Transfer Protocol) and other important concepts including the request-response model, common response codes, DNS, TCP/IP, and more. Then you will get to practice what you have learned through a build your own web server workshop and test your knowledge with a short quiz." - ] - }, - "rest-api-and-web-services": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about the REST API (Representational State Transfer Application Programming Interface) and how microservices work. Then you will take a short quiz to test your knowledge." - ] - }, - "introduction-to-express": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to Express.js, which is a framework used to build RESTful APIs. Then you will practice your skills through workshops and labs and test your knowledge with a short quiz." - ] - }, - "express-middleware": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about middleware in Express.js, which is used to handle requests and responses between the client and server. You will then practice your skills through a workshop and lab and test your knowledge with a short quiz." - ] - }, - "error-handling-in-express": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about how error handling, debugging, and health checks work in Express.js. You will then practice what you have learned in a lab and test your knowledge with a short quiz." - ] - }, - "websockets": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to websockets, which is a protocol used for real time communication with the client and server. You will then practice what you have learned in labs and workshops and test your knowledge with a short quiz." - ] - }, - "node-and-sql": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will practice building applications with Node and SQL. Then you will take a short quiz to test your knowledge." - ] - }, - "security-and-privacy": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about the differences between security and privacy as well as other concepts including CSPs, Permissions-Policies, PII, working with CORS, and more. Then you will take a short quiz to test your knowledge." - ] - }, - "authentication": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about how authentication works in web applications along with other important concepts including JWTs, CSRFs, Passport, Helmet, cryptography and encryption, and more. You will then practice what you have learned in labs and workshops and test your knowledge with a short quiz." - ] - }, - "tooling-and-deployment": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about common tools used in the industry for deploying your full stack applications. Then you will take a short quiz to test your knowledge." - ] - }, - "how-to-get-a-developer-job": { - "note": "Coming Late 2026", - "intro": [ - "In this module, Quincy Larson (Founder and teacher of freeCodeCamp) will talk about strategies you can use to prepare for getting a developer job. Quincy will cover key subjects including résumés, portfolios, researching the market, preparing for technical interviews, and more." - ] - }, - "capstone-project": { - "note": "Coming Late 2026", - "intro": [ - "This will be your opportunity to build out a full stack application encompassing what you have learned throughout this certification." - ] - }, - "certified-full-stack-developer-exam": { - "note": "Coming Late 2026", - "intro": [ - "This will be a 90 question exam testing what you have learned throughout this certification." - ] - } - }, - "blocks": { - "workshop-curriculum-outline": { - "title": "Build a Curriculum Outline", - "intro": [ - "Welcome to freeCodeCamp!", - "This workshop will serve as your introduction to HTML and coding in general. You will learn about headings and paragraph elements." - ] - }, - "lab-debug-camperbots-profile-page": { - "title": "Debug Camperbot's Profile Page", - "intro": [ - "Camperbot is learning how to code too and needs some help with their HTML.", - "In this lab, you will help Camperbot find and fix the errors in their code." - ] - }, - "lecture-understanding-html-attributes": { - "title": "Understanding HTML Attributes", - "intro": [ - "In these lessons, you will learn more about HTML (HyperText Markup Language), a markup language for creating web pages.", - "You will learn about HTML's role on the web, and what HTML attributes are." - ] - }, - "lab-debug-pet-adoption-page": { - "title": "Debug a Pet Adoption Page", - "intro": [ - "In this lab, you will need to find and fix the errors in this pet adoption page." - ] - }, - "lecture-understanding-the-html-boilerplate": { - "title": "Understanding the HTML Boilerplate", - "intro": [ - "In these lessons, you will learn about the HTML boilerplate which is a ready-made template for your webpages.", - "You will learn how to work with the link element, meta element and more." - ] - }, - "workshop-cat-photo-app": { - "title": "Build a Cat Photo App", - "intro": [ - "HTML stands for HyperText Markup Language and it represents the content and structure of a web page.", - "In this workshop, you will learn how to work with basic HTML elements such as headings, paragraphs, images, links, and lists." - ] - }, - "lab-recipe-page": { - "title": "Build a Recipe Page", - "intro": [ - "In this lab, you'll review HTML basics by creating a web page of your favorite recipe. You'll create an HTML boilerplate and work with headings, lists, images, and more." - ] - }, - "lecture-html-fundamentals": { - "title": "HTML Fundamentals", - "intro": [ - "In these lessons, you will learn about HTML fundamentals like the div element, the id and class attributes, the HTML boilerplate, HTML entities, and more." - ] - }, - "workshop-bookstore-page": { - "title": "Build a Bookstore Page", - "intro": [ - "In this workshop, you will practice working with classes, ids and the div element by building a bookstore page." - ] - }, - "lecture-understanding-how-html-affects-seo": { - "title": "Understanding How HTML Affects SEO", - "intro": [ - "In these lessons, you will learn how your HTML code impacts search engine optimization." - ] - }, - "lab-travel-agency-page": { - "title": "Build a Travel Agency Page", - "intro": [ - "In this lab, you'll review working with HTML fundamentals by creating a web page for a travel agency. You'll work with images, the figure element, the figcaption element, the anchor element, and more." - ] - }, - "lecture-working-with-audio-and-video-elements": { - "title": "Working with Audio and Video Elements", - "intro": [ - "In these lessons, you will learn how to work with the audio and video elements." - ] - }, - "lab-html-audio-and-video-player": { - "title": "Build an HTML Audio and Video Player", - "intro": [ - "In this lab, you will build an HTML audio and video player using the video and audio elements with controls and source attributes." - ] - }, - "lecture-working-with-images-and-svgs": { - "title": "Working with Images and SVGs", - "intro": [ - "In these lessons, you will learn how to work with SVGs and learn about techniques for optimizing your images." - ] - }, - "workshop-build-a-heart-icon": { - "title": "Build a Heart Icon", - "intro": [ - "In this workshop, you will practice working with SVGs by building a heart icon" - ] - }, - "lecture-working-with-media": { - "title": "Working with the iframe Element", - "intro": [ - "In these lessons, you will learn how to work with the iframe element which is used to embed an external site on your web page." - ] - }, - "workshop-build-a-video-display-using-iframe": { - "title": "Build a Video Display Using iframe", - "intro": [ - "In this workshop, you'll learn how to work with the iframe element by building a video display." - ] - }, - "lab-video-compilation-page": { - "title": "Build a Video Compilation Page", - "intro": [ - "In this lab, you'll create a video compilation web page. You'll practice working with the iframe element." - ] - }, - "lecture-working-with-links": { - "title": "Working with Links", - "intro": [ - "In these lessons, you will learn about links, the target attribute, different link states, absolute, and relative paths, and more." - ] - }, - "review-basic-html": { - "title": "Basic HTML Review", - "intro": [ - "Before you are quizzed on the HTML knowledge you have gained so far, you first need to review the concepts.", - "Open up this page to review the HTML boilerplate, audio and video elements, the different target attribute values and more." - ] - }, - "quiz-basic-html": { - "title": "Basic HTML Quiz", - "intro": [ - "The following quiz will test your knowledge of the basic HTML concepts you have learned so far.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "lecture-importance-of-semantic-html": { - "title": "Importance of Semantic HTML", - "intro": [ - "In these lessons, you will learn about semantic HTML and why you should care about it, semantic elements, how semantic HTML differs from presentational HTML, and more." - ] - }, - "lecture-understanding-nuanced-semantic-elements": { - "title": "Understanding Nuanced Semantic Elements", - "intro": [ - "In these lessons, you will learn when you should use certain semantic elements like the em element over the i element, description lists, and more." - ] - }, - "workshop-major-browsers-list": { - "title": "Build a List of Major Web Browsers", - "intro": [ - "In this workshop, you will build a description list and work with the dl, dt, and dd elements." - ] - }, - "lecture-working-with-text-and-time-semantic-elements": { - "title": "Working with Text and Time Semantic Elements ", - "intro": [ - "In this lesson, you will learn about the importance of semantics in conveying meaning for text and time-related content including the time, blockquote elements and more." - ] - }, - "workshop-quincys-job-tips": { - "title": "Build Quincy's Job Tips Page", - "intro": [ - "In this workshop, you will practice working with semantic HTML by using the q, blockquote and cite elements." - ] - }, - "lecture-working-with-specialized-semantic-elements": { - "title": "Working with Specialized Semantic Elements", - "intro": [ - "In this lesson, you will learn about specialized semantic elements like u, s, code elements and more." - ] - }, - "workshop-blog-page": { - "title": "Build a Cat Blog Page", - "intro": [ - "In this workshop, you will build an HTML only blog page using semantic elements including the main, nav, article and footer elements." - ] - }, - "lab-event-hub": { - "title": "Build an Event Hub", - "intro": [ - "In this lab, you'll build an event hub and review semantic elements like header, nav, article, and more." - ] - }, - "review-semantic-html": { - "title": "Semantic HTML Review", - "intro": [ - "Before you are quizzed on semantic HTML, you first need to review the concepts.", - "Open up this page to review the em, strong, blockquote, address and more semantic HTML elements." - ] - }, - "quiz-semantic-html": { - "title": "Semantic HTML Quiz", - "intro": [ - "The following quiz will test your knowledge on semantic HTML concepts you have learned so far.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "lecture-working-with-forms": { - "title": "Working with Forms", - "intro": [ - "In these lessons, you will learn about forms, the role of labels, inputs and buttons in creating forms, client-side form validation, and form states." - ] - }, - "workshop-hotel-feedback-form": { - "title": "Build a Hotel Feedback Form", - "intro": [ - "In this workshop, you will build a Hotel Feedback Form.", - "You will practice working with labels, inputs, fieldsets, legends, textareas and buttons." - ] - }, - "lab-survey-form": { - "title": "Build a Survey Form", - "intro": [ - "In this lab, you'll review HTML forms by creating a survey form.", - "You'll practice working with the label element, the different input elements, the required attribute, and more. " - ] - }, - "lecture-working-with-tables": { - "title": "Working with Tables", - "intro": [ - "In these lessons, you will learn about HTML tables, how to create them, and when to use them." - ] - }, - "workshop-final-exams-table": { - "title": "Build a Final Exams Table", - "intro": [ - "In this workshop, you will practice working with HTML tables by building a table of final exams." - ] - }, - "lab-book-catalog-table": { - "title": "Build a Book Catalog Table", - "intro": [ - "In this lab, you'll review HTML tables by building a book information table.", - "You'll practice the different table components like the thead, tbody, th, tr, and td elements." - ] - }, - "lecture-working-with-html-tools": { - "title": "Working with HTML Tools", - "intro": [ - "In these lessons, you will learn about HTML tools and how they let you write better code. These tools include HTML validators, DOM Inspector, and the browser developer tools." - ] - }, - "review-html-tables-and-forms": { - "title": "HTML Tables and Forms Review", - "intro": [ - "Before you are quizzed on HTML forms, tables and tools, you first need to review the concepts.", - "Open up this page to review the table, input, and button elements as well as commonly used tools like the HTML validator and more." - ] - }, - "quiz-html-tables-and-forms": { - "title": "HTML Tables and Forms Quiz", - "intro": [ - "The following quiz will test your knowledge of HTML tables, forms and commonly used HTML tools.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "lecture-importance-of-accessibility-and-good-html-structure": { - "title": "Importance of Accessibility and Good HTML Structure", - "intro": [ - "In these lessons, you will learn about accessibility and its importance, assistive tools for people with disabilities, HTML attributes that let you create inclusive websites, accessibility best practices, and much more." - ] - }, - "workshop-debug-coding-journey-blog-page": { - "title": "Debug a Coding Journey Blog Page", - "intro": [ - "In this workshop, you will debug and fix accessibility errors in a coding blog page." - ] - }, - "lecture-accessible-tables-forms": { - "title": "Working with Accessible Tables and Forms", - "intro": [ - "In these lessons, you will learn about how to create accessible tables and forms." - ] - }, - "workshop-tech-conference-schedule": { - "title": "Build a Tech Conference Schedule Table", - "intro": [ - "In this workshop, you will build an accessible tech conference schedule table." - ] - }, - "lecture-introduction-to-aria": { - "title": "Introduction to ARIA", - "intro": [ - "In these lessons, you will learn about working with ARIA roles." - ] - }, - "workshop-accessible-audio-controller": { - "title": "Build an Accessible Audio Controller", - "intro": [ - "In this workshop, you will practice accessible HTML by building an audio controller that uses the aria-labelledby attribute." - ] - }, - "lecture-accessible-media-elements": { - "title": "Working with Accessible Media Elements", - "intro": [ - "In these lessons, you will learn about how to create accessible links, audio and video content." - ] - }, - "lab-checkout-page": { - "title": "Build a Checkout Page", - "intro": [ - "In this lab, you'll create an accessible checkout page.", - "You'll practice concepts like alt attributes and ARIA roles." - ] - }, - "lab-movie-review-page": { - "title": "Design a Movie Review Page", - "intro": [ - "In this lab, you'll create a movie review page.", - "You'll practice concepts like semantic HTML, alt attributes, accessible lists, and hiding decorative content from screen readers using aria-hidden." - ] - }, - "lab-multimedia-player": { - "title": "Build a Multimedia Player", - "intro": [ - "In this lab, you'll build a multimedia player.", - "You will practice working with the audio and video elements, the controls attribute, and the aria-label attribute." - ] - }, - "review-html-accessibility": { - "title": "HTML Accessibility Review", - "intro": [ - "Before you are quizzed on HTML and accessibility, you first need to review the concepts.", - "Open up this page to review concepts including the aria-hidden, aria-describedby, tabindex attributes and more." - ] - }, - "quiz-html-accessibility": { - "title": "HTML Accessibility Quiz", - "intro": [ - "The following quiz will test your knowledge on the accessibility concepts you have learned so far.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "review-html": { - "title": "HTML Review", - "intro": [ - "Before you take the HTML prep exam, you first need to review the concepts taught in the previous modules.", - "Open up this page to review concepts around the basics of HTML elements, semantic HTML, tables, forms and accessibility." - ] - }, - "qpra": { - "title": "30", - "intro": [] - }, - "lecture-understanding-computer-internet-and-tooling-basics": { - "title": "Understanding Computer, Internet, and Tooling Basics", - "intro": [ - "In these lessons, you will learn about the computer, its different parts, internet service providers (ISPs), and the tools professional developers use." - ] - }, - "lecture-working-with-file-systems": { - "title": "Working with File Systems", - "intro": [ - "In these lessons, you will learn how to work with file and folder systems on your computers. You will learn how to create, move, and delete files and folders, the best practices for naming and organizing files and folders, and more." - ] - }, - "lecture-browsing-the-web-effectively": { - "title": "Browsing the Web Effectively", - "intro": [ - "In these lessons, you will learn about what websites, search engine, and web browsers are, the different browsers available, and how to get the best out of a search engine." - ] - }, - "review-computer-basics": { - "title": "Computer Basics Review", - "intro": [ - "Before you are quizzed on basic computer and internet concepts, you first need to review.", - "Open up this page to review concepts like RAM, Internet service providers, common web browsers, search engines and more." - ] - }, - "quiz-computer-basics": { - "title": "Computer Basics Quiz", - "intro": [ - "Test what you've learned in this quiz of basic computer knowledge." - ] - }, - "lecture-what-is-css": { - "title": "What Is CSS?", - "intro": [ - "The following lessons are all about CSS. You will learn what CSS is and its role on the web, a CSS rule and its anatomy, the three ways to write CSS and when to use each, inline and block elements, and many more." - ] - }, - "workshop-cafe-menu": { - "title": "Design a Cafe Menu", - "intro": [ - "CSS tells the browser how to display your webpage. You can use CSS to set the color, font, size, and other aspects of HTML elements.", - "In this workshop, you'll learn CSS by designing a menu page for a cafe webpage." - ] - }, - "lab-business-card": { - "title": "Design a Business Card", - "intro": [ - "In this lab, you'll create a business card and style it using CSS.", - "You'll practice style properties like 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 lessons, you will learn about CSS specificity, the common selectors and their specificities, the cascade algorithm, inheritance, and more." - ] - }, - "review-basic-css": { - "title": "CSS Fundamentals Review", - "intro": [ - "Before you are quizzed on basic CSS concepts, you first need to review.", - "Open up this page to review concepts including margin, padding, CSS combinators, CSS specificity and more." - ] - }, - "quiz-basic-css": { - "title": "CSS Fundamentals Quiz", - "intro": [ - "Test what you've learned in this quiz of basic CSS knowledge." - ] - }, - "lecture-styling-lists-and-links": { - "title": "Styling Lists and Links", - "intro": [ - "In these lessons, you will learn the properties you need to know to effectively style lists and links, including link states like 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", - "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 lessons, you will learn about the properties and values you need to know to style backgrounds and borders of elements, alongside the accessibility considerations for backgrounds." - ] - }, - "lab-blog-post-card": { - "title": "Design a Blog Post Card", - "intro": [ - "In this lab, you'll design a blog post card using HTML and CSS", - "You'll practice concepts like background-color, border-radius, margins, paddings, and more." - ] - }, - "review-css-backgrounds-and-borders": { - "title": "Lists, Links, CSS Background and Borders Review", - "intro": [ - "Before you are quizzed on CSS backgrounds and borders, you first need to review.", - "Open up this page to review concepts including the background-image property, border property and more." - ] - }, - "quiz-css-backgrounds-and-borders": { - "title": "CSS Backgrounds and Borders Quiz", - "intro": [ - "Test what you've learned in this quiz of backgrounds and borders in CSS." - ] - }, - "lecture-user-interface-design-fundamentals": { - "title": "User Interface Design Fundamentals", - "intro": [ - "In these lessons, you will learn about the fundamentals of user interface (UI) design. You will learn about the terms you need to know to communicate with designers, visual hierarchy, scaling, alignment, whitespace, and much more." - ] - }, - "lecture-user-centered-design": { - "title": "User-Centered Design", - "intro": [ - "In these lessons, you will learn about best practices for designing user-facing features like dark mode, breadcrumbs, modal dialogs, and much more. You will also learn how to conduct user research, user requirements and testing." - ] - }, - "lecture-common-design-tools": { - "title": "Common Design Tools", - "intro": [ - "In these lessons, you will learn about the common design tools developers should know. You will also learn about design briefs and how developers work with them." - ] - }, - "review-design-fundamentals": { - "title": "Design Fundamentals Review", - "intro": [ - "Before you are quizzed on the design fundamentals you have learned so far, you first need to review.", - "Open up this page to review concepts like user-centered design, scale, alignment, good visual hierarchy and more." - ] - }, - "quiz-design-fundamentals": { - "title": "Design Fundamentals Quiz", - "intro": [ - "Test what you've learned in this quiz of UI design fundamentals." - ] - }, - "lecture-working-with-relative-and-absolute-units": { - "title": "Working with Relative and Absolute Units", - "intro": [ - "In these lessons, you will learn about relative and absolute units, and how they both impact what you see in the browser." - ] - }, - "lab-event-flyer-page": { - "title": "Build an Event Flyer Page", - "intro": [ - "In this lab, you'll create an event flyer page.", - "You will practice aligning elements using absolute and relative CSS." - ] - }, - "review-css-relative-and-absolute-units": { - "title": "CSS Relative and Absolute Units Review", - "intro": [ - "Before you are quizzed on relative and absolute units, you first need to review.", - "Open up this page to review concepts like percentages, px, rem, em, and more." - ] - }, - "quiz-css-relative-and-absolute-units": { - "title": "CSS Relative and Absolute Units Quiz", - "intro": [ - "Test what you've learned in this quiz of relative and absolute units in CSS." - ] - }, - "lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": { - "title": "Working with Pseudo-Classes and Pseudo-Elements in CSS", - "intro": [ - "In these lessons, you will learn about pseudo-classes and pseudo-elements, alongside their examples and how they work." - ] - }, - "workshop-greeting-card": { - "title": "Design a Greeting Card", - "intro": [ - "In the previous lessons, you learned how to work with the different types of pseudo-classes.", - "In this workshop, you will have a chance to practice what you have learned by designing a greeting card." - ] - }, - "lab-job-application-form": { - "title": "Build a Job Application Form", - "intro": [ - "In this lab you'll build a job application form and style it using pseudo-classes.", - "You'll practice concepts like :hover, :active, :focus, and more." - ] - }, - "review-css-pseudo-classes": { - "title": "CSS Pseudo-classes Review", - "intro": [ - "Before you're quizzed on CSS pseudo-classes and pseudo-elements, you should review what you've learned about them.", - "Open up this page to review concepts like the ::before and ::after pseudo-elements as well as the :hover, :active pseudo-classes and more." - ] - }, - "quiz-css-pseudo-classes": { - "title": "CSS Pseudo-classes Quiz", - "intro": ["Test your knowledge of CSS pseudo-classes with this quiz."] - }, - "lecture-working-with-colors-in-css": { - "title": "Working with Colors in CSS", - "intro": [ - "In these lessons, you will learn about linear and radial gradients, the color theory, different kinds of colors like named, RGB, Hex, and HSL colors. You will learn how these colors work, and which to use in specific cases." - ] - }, - "workshop-colored-markers": { - "title": "Build a Set of Colored Markers", - "intro": [ - "In this workshop, you'll build a set of colored markers. You'll practice different ways to set color values and how to pair colors with each other." - ] - }, - "lab-colored-boxes": { - "title": "Design a Set of Colored Boxes", - "intro": [ - "In this lab, you'll create a color grid and practice adding background colors to the grid items using hex codes, RGB, and predefined color names." - ] - }, - "review-css-colors": { - "title": "CSS Colors Review", - "intro": [ - "Before you're quizzed on CSS colors, you should review what you've learned about them.", - "Open up this page to review concepts like the rgb() function, hsl() function, hex codes, and more." - ] - }, - "quiz-css-colors": { - "title": "CSS Colors Quiz", - "intro": ["Test your knowledge of CSS colors with this quiz."] - }, - "lecture-best-practices-for-styling-forms": { - "title": "Best Practices for Styling Forms", - "intro": [ - "In these lessons, you will learn about the best practices for styling forms and issues you can encounter while styling special inputs like color and datetime-local." - ] - }, - "workshop-registration-form": { - "title": "Design a Registration Form", - "intro": [ - "In this workshop, you'll learn how to design HTML forms by designing a signup page. You'll learn how to control what types of data people can type into your form, and some new CSS tools for styling your page." - ] - }, - "lab-contact-form": { - "title": "Design a Contact Form", - "intro": [ - "In this lab, you'll design a contact form in HTML and style it using CSS." - ] - }, - "workshop-game-settings-panel": { - "title": "Build a Game Settings Panel", - "intro": [ - "In this workshop, you will practice styling checkboxes by building a game settings panel." - ] - }, - "lab-feature-selection": { - "title": "Design a Feature Selection Page", - "intro": [ - "In this lab, you'll build a feature selection page with custom-styled checkboxes.", - "You'll create feature cards with labels and checkboxes, then give custom styling to the checkboxes." - ] - }, - "review-styling-forms": { - "title": "Styling Forms Review", - "intro": [ - "Before you're quizzed on styling forms, you should review what you've learned.", - "Open up this page to review how to style form inputs, working with appearance: none and more." - ] - }, - "quiz-styling-forms": { - "title": "Styling Forms Quiz", - "intro": [ - "In this quiz, you will test your knowledge of how to style forms." - ] - }, - "lecture-working-with-css-transforms-overflow-and-filters": { - "title": "Working with CSS Transforms, Overflow, and Filters", - "intro": [ - "In these lessons, you will learn about working with CSS transforms, overflow, and filters. You will also learn about the box model and how it works." - ] - }, - "workshop-rothko-painting": { - "title": "Design a Rothko Painting", - "intro": [ - "Every HTML element is its own box – with its own spacing and a border. This is called the Box Model.", - "In this workshop, you'll use CSS and the Box Model to create your own Rothko-style rectangular art pieces." - ] - }, - "lab-confidential-email-page": { - "title": "Build a Confidential Email Page", - "intro": [ - "In this lab, you'll create a web page using HTML and mask the content using CSS properties." - ] - }, - "review-css-layout-and-effects": { - "title": "CSS Layouts and Effects Review", - "intro": [ - "Before you are quizzed on CSS Layouts and Effects, you first need to review.", - "Open up this page to review concepts like the transform property, the box model, the overflow property and more." - ] - }, - "quiz-css-layout-and-effects": { - "title": "CSS Layout and Effects Quiz", - "intro": [ - "In this quiz, you will test your knowledge of the box model, transforms, filters, and overflow in CSS." - ] - }, - "lecture-working-with-css-flexbox": { - "title": "Working with CSS Flexbox", - "intro": [ - "In these lessons, you will learn how CSS flexbox works, its properties, and when you should use it." - ] - }, - "workshop-flexbox-photo-gallery": { - "title": "Build a Flexbox Photo Gallery", - "intro": [ - "In this workshop, you'll use Flexbox to build a responsive photo gallery webpage." - ] - }, - "lab-page-of-playing-cards": { - "title": "Build a Page of Playing Cards", - "intro": [ - "In this lab, you'll use flexbox to create a webpage of playing cards.", - "You'll practice aligning elements using flexbox properties like flex-direction, justify-content, align-self, and more." - ] - }, - "review-css-flexbox": { - "title": "CSS Flexbox Review", - "intro": [ - "Before you're quizzed on CSS flexbox, you should review what you've learned.", - "Open up this page to review concepts like the flex-direction, justify-content, align-items, flex-wrap properties, and more." - ] - }, - "quiz-css-flexbox": { - "title": "CSS Flexbox Quiz", - "intro": ["Test what you've learned on CSS flexbox with this quiz."] - }, - "lecture-working-with-css-fonts": { - "title": "Working with CSS Fonts", - "intro": [ - "In these lessons, you will learn about typography and its best practices, fonts, and the text-shadow property." - ] - }, - "workshop-nutritional-label": { - "title": "Build a Nutritional Label", - "intro": [ - "Typography is the art of styling your text to be easily readable and suit its purpose.", - "In this workshop, you'll use typography to build a nutrition label webpage. You'll practice how to style text, adjust line height, and position your text using CSS." - ] - }, - "lab-newspaper-article": { - "title": "Build a Newspaper Article", - "intro": [ - "In this lab, you'll build a newspaper article page using HTML and CSS.", - "You'll style the fonts using properties like font-family, font-size, font-weight, and more." - ] - }, - "review-css-typography": { - "title": "CSS Typography Review", - "intro": [ - "Before you're quizzed on the fundamentals of typography, you should review what you've learned.", - "Open up this page to review concepts like web safe fonts, the font-family property and more." - ] - }, - "quiz-css-typography": { - "title": "CSS Typography Quiz", - "intro": ["Test your knowledge of typography with this quiz."] - }, - "lecture-best-practices-for-accessibility-and-css": { - "title": "Best Practices for Accessibility and CSS", - "intro": [ - "In these lessons, you will learn about best practices for accessibility in CSS, and the tools for checking good color contrast on websites." - ] - }, - "workshop-accessibility-quiz": { - "title": "Build a Quiz Webpage", - "intro": [ - "Accessibility is the process of making your webpages usable for everyone, including people with disabilities.", - "In this workshop, you'll build a quiz webpage. You'll learn accessibility tools such as keyboard shortcuts, ARIA attributes, and design best practices." - ] - }, - "lab-tribute-page": { - "title": "Build a Tribute Page", - "intro": [ - "In this lab, you'll build a tribute page for a subject of your choosing, fictional or real." - ] - }, - "review-css-accessibility": { - "title": "CSS Accessibility Review", - "intro": [ - "Before you're quizzed on CSS and accessibility, you should review what you've learned.", - "Open up this page to review concepts like color contrast tools and accessibility best practices." - ] - }, - "quiz-css-accessibility": { - "title": "CSS Accessibility Quiz", - "intro": [ - "In this quiz, you'll test what you've learned about making your webpages accessible with CSS." - ] - }, - "lecture-understanding-how-to-work-with-floats-and-positioning-in-css": { - "title": "Understanding How to Work with Floats and Positioning in CSS", - "intro": [ - "In these lessons, you will learn how to use CSS positioning and floats. You will learn about absolute, relative, fixed, and sticky positioning. You will also use the z-index property." - ] - }, - "workshop-cat-painting": { - "title": "Build a Cat Painting", - "intro": [ - "Mastering CSS positioning is essential for creating visually appealing and responsive web layouts.", - "In this workshop, you will build a cat painting. You'll learn about how to work with absolute positioning, the z-index property, and the transform property." - ] - }, - "lab-house-painting": { - "title": "Build a House Painting", - "intro": [ - "In this lab, you'll build a house painting using CSS.", - "You'll design individual elements of the house and position them using CSS properties like position, top, left, and more." - ] - }, - "review-css-positioning": { - "title": "CSS Positioning Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS positioning, you should review what you've learned.", - "Open up this page to review concepts like floats, relative positioning, absolute positioning and more." - ] - }, - "quiz-css-positioning": { - "title": "CSS Positioning Quiz", - "intro": ["Test your knowledge of CSS positioning with this quiz."] - }, - "lecture-working-with-attribute-selectors": { - "title": "Working with Attribute Selectors", - "intro": [ - "In these lessons, you will learn about attribute selectors and how to use them to target elements like links and lists." - ] - }, - "workshop-balance-sheet": { - "title": "Build a Balance Sheet", - "intro": [ - "In this workshop, you'll build a balance sheet using pseudo selectors. You'll learn how to change the style of an element when you hover over it with your mouse, and trigger other events on your webpage." - ] - }, - "lab-book-inventory-app": { - "title": "Build a Book Inventory App", - "intro": [ - "In this lab, you'll create a book inventory app.", - "You'll practice CSS attribute selectors like [attribute], [attribute=value], [attribute~=value], and more." - ] - }, - "review-css-attribute-selectors": { - "title": "CSS Attribute Selectors Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS attribute selectors, you should review what you've learned about them.", - "Open up this page to review concepts like how to work with different attribute selectors that target links with the href and title attributes." - ] - }, - "quiz-css-attribute-selectors": { - "title": "CSS Attribute Selectors Quiz", - "intro": [ - "Test your knowledge of CSS attribute selectors with this quiz." - ] - }, - "lecture-best-practices-for-responsive-web-design": { - "title": "Best Practices for Responsive Web Design", - "intro": [ - "In these lessons, you will learn about the best practices for responsive web design, the roles concepts like grid, flexbox, media queries, and media breakpoints play in responsive design, and more." - ] - }, - "workshop-piano": { - "title": "Design a Piano", - "intro": [ - "Responsive Design tells your webpage how it should look on different-sized screens.", - "In this workshop, you'll use CSS and responsive design to code a piano. You'll also practice media queries and pseudo selectors." - ] - }, - "lab-technical-documentation-page": { - "title": "Build a Technical Documentation Page", - "intro": [ - "In this lab, you'll build a technical documentation page to serve as instruction or reference for a topic.", - "You'll also practice media queries to create a responsive design." - ] - }, - "review-responsive-web-design": { - "title": "Responsive Web Design Review", - "intro": [ - "Before you're quizzed on the fundamentals of responsive design, you should review what you've learned.", - "Open up this page to review concepts like media queries, media breakpoints and mobile first approach design." - ] - }, - "quiz-responsive-web-design": { - "title": "Responsive Web Design Quiz", - "intro": [ - "Test what you've learned about making your webpages responsive with this quiz." - ] - }, - "lecture-working-with-css-variables": { - "title": "Working with CSS Variables", - "intro": [ - "In these lessons, you will learn how to define and use custom properties (also known as CSS variables). You will also learn about the @property rule and how it works." - ] - }, - "workshop-city-skyline": { - "title": "Build a City Skyline", - "intro": [ - "CSS variables help you organize your styles and reuse them.", - "In this workshop, you'll build a city skyline. You'll practice how to configure CSS variables so you can reuse them whenever you want." - ] - }, - "lab-availability-table": { - "title": "Build an Availability Table", - "intro": [ - "For this lab, you'll create an availability table that shows the availability of people for a meeting.", - "You'll practice using CSS variables to store and reuse colors, fonts, and other styles." - ] - }, - "review-css-variables": { - "title": "CSS Variables Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS variables, you should review what you've learned.", - "Open up this page to review how to work with CSS custom properties (CSS variables) and the @property rule." - ] - }, - "quiz-css-variables": { - "title": "CSS Variables Quiz", - "intro": ["Test your knowledge of CSS variables with this quiz."] - }, - "lecture-working-with-css-grid": { - "title": "Working with CSS Grid", - "intro": [ - "In these lessons, you will learn about CSS grid, its several properties and how to use them, and how CSS grid differs from flexbox." - ] - }, - "workshop-magazine": { - "title": "Build a Magazine", - "intro": [ - "CSS Grid gives you control over the rows and columns of your webpage design.", - "In this workshop, you'll build a magazine article. You'll practice how to use CSS Grid, including concepts like grid rows and grid columns." - ] - }, - "lab-newspaper-layout": { - "title": "Design a Newspaper Layout", - "intro": [ - "In this lab, you will design a newspaper layout using CSS Grid, including concepts like grid rows and grid columns." - ] - }, - "lecture-debugging-css": { - "title": "Debugging CSS", - "intro": [ - "In this lesson, you'll learn how to debug CSS using your browser's developer tools and CSS validators." - ] - }, - "lab-product-landing-page": { - "title": "Build a Product Landing Page", - "intro": [ - "In this project, you'll build a product landing page to market a product of your choice." - ] - }, - "review-css-grid": { - "title": "CSS Grid Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS Grid, you should review what you've learned.", - "Open up this page to review how to work with the different CSS Grid properties like grid-template-columns, grid-gap and more." - ] - }, - "quiz-css-grid": { - "title": "CSS Grid Quiz", - "intro": ["Test your knowledge of CSS Grid with this quiz."] - }, - "lecture-animations-and-accessibility": { - "title": "Animations and Accessibility", - "intro": [ - "In these lessons, you will learn about CSS animations and their accessibility concerns. You will also learn how prefers-reduced-motion can help address those accessibility concerns." - ] - }, - "workshop-ferris-wheel": { - "title": "Build an Animated Ferris Wheel", - "intro": [ - "You can use CSS animation to draw attention to specific sections of your webpage and make it more engaging.", - "In this workshop, you'll build a Ferris wheel. You'll practice how to use CSS to animate elements, transform them, and adjust their speed." - ] - }, - "lab-moon-orbit": { - "title": "Build a Moon Orbit", - "intro": [ - "In this lab, you'll create an animation of the moon orbiting the earth.", - "You'll practice animation properties like animation-name, animation-duration, animation-timing-function, and more." - ] - }, - "workshop-flappy-penguin": { - "title": "Build a Flappy Penguin", - "intro": [ - "You can transform HTML elements to create appealing designs that draw your reader's eye. You can use transforms to rotate elements, scale them, and more.", - "In this workshop, you'll build a penguin. You'll use CSS transforms to position and resize the parts of your penguin, create a background, and animate your work." - ] - }, - "lab-personal-portfolio": { - "title": "Build a Personal Portfolio", - "intro": [ - "In this project, you'll build your own personal portfolio page." - ] - }, - "review-css-animations": { - "title": "CSS Animations Review", - "intro": [ - "Before you're quizzed on working with CSS animations, you should review what you've learned about them.", - "Open up this page to review concepts including prefers-reduced-motion, the @keyframes rule and more." - ] - }, - "quiz-css-animations": { - "title": "CSS Animations Quiz", - "intro": ["Test your knowledge of CSS animations with this quiz."] - }, - "review-css": { - "title": "CSS Review", - "intro": [ - "Before you take the CSS prep exam, you first need to review the concepts taught in the previous modules.", - "Open up this page to review concepts around the basics of CSS, responsive web design, animations, accessibility and more." - ] - }, - "lecture-working-with-code-editors-and-ides": { - "title": "Working with Code Editors and IDEs", - "intro": [ - "In these lessons, you will learn how to work with code editors and IDEs. You will learn various concepts about the most popular code editor, VS Code such as its installation, how to create a project in it, keyboard shortcuts, and extensions." - ] - }, - "lecture-introduction-to-javascript": { - "title": "Introduction to JavaScript", - "intro": [ - "In these lessons, you will learn the fundamentals of JavaScript. Topics covered include, but are not limited to, variables, data types, how JavaScript interacts with HTML and CSS, and much more." - ] - }, - "lecture-introduction-to-strings": { - "title": "Introduction to Strings", - "intro": [ - "In these lessons, you will learn how to work with strings and string concatenation." - ] - }, - "lecture-understanding-code-clarity": { - "title": "Understanding Code Clarity", - "intro": [ - "In these lessons, you will learn about comments in JavaScript and the role of semicolons in programming." - ] - }, - "workshop-greeting-bot": { - "title": "Build a Greeting Bot", - "intro": [ - "In this workshop, you will learn JavaScript fundamentals by building a greeting bot.", - "You will learn about variables, let, const, console.log and basic string usage." - ] - }, - "lab-javascript-trivia-bot": { - "title": "Build a JavaScript Trivia Bot", - "intro": [ - "In this lab, you'll practice working with JavaScript variables and strings by building a trivia bot." - ] - }, - "lab-sentence-maker": { - "title": "Build a Sentence Maker", - "intro": [ - "In this lab, you will continue practicing with strings and concatenation by creating and customizing various stories." - ] - }, - "lecture-working-with-data-types": { - "title": "Working with Data Types", - "intro": [ - "In the following lessons, you will learn how to work with data types in JavaScript. You will also learn how dynamic typing differs from static typing, the typeof operator, and the typeof null bug." - ] - }, - "review-javascript-variables-and-data-types": { - "title": "JavaScript Variables and Data Types Review", - "intro": [ - "Before you are quizzed on JavaScript variables and data types you first need to review the concepts.", - "Open up this page to review variables, data types, logging and commenting." - ] - }, - "quiz-javascript-variables-and-data-types": { - "title": "JavaScript Variables and Data Types Quiz", - "intro": [ - "Test your knowledge of JavaScript variables and data types with this quiz." - ] - }, - "lecture-working-with-strings-in-javascript": { - "title": "Working with Strings in JavaScript", - "intro": [ - "In these lessons, you will learn how to work with strings in JavaScript. You will learn how to access characters from a string, how to use template literals and interpolation, how to create a new line in strings, and much more." - ] - }, - "workshop-teacher-chatbot": { - "title": "Build a Teacher Chatbot", - "intro": [ - "In this workshop, you will continue to learn more about JavaScript strings by building a chatbot.", - "You will learn how to work with template literals, and the indexOf method." - ] - }, - "lecture-working-with-string-character-methods": { - "title": "Working with String Character Methods", - "intro": [ - "In this lesson you will learn about ASCII character encoding and how to use JavaScript's charCodeAt() and fromCharCode() methods to convert between characters and their numerical ASCII values." - ] - }, - "lecture-working-with-string-search-and-slice-methods": { - "title": "Working with String Search and Slice Methods", - "intro": [ - "In this lesson you will learn how to search for substrings using the includes() method and how to extract portions of strings using the slice() method." - ] - }, - "workshop-string-inspector": { - "title": "Build a String Inspector", - "intro": [ - "In this workshop, you will practice working with the includes() and slice() methods by building a string inspector." - ] - }, - "lecture-working-with-string-formatting-methods": { - "title": "Working with String Formatting Methods", - "intro": [ - "In this lesson you will learn how to format strings by changing their case using toUpperCase() and toLowerCase() methods, and how to remove whitespace using trim(), trimStart(), and trimEnd() methods." - ] - }, - "workshop-string-formatter": { - "title": "Build a String Formatter", - "intro": [ - "In this workshop, you will practice working with various string methods including the trim(), toUpperCase() and toLowerCase() methods." - ] - }, - "lecture-working-with-string-modification-methods": { - "title": "Working with String Modification Methods", - "intro": [ - "In this lesson you will learn how to modify strings by replacing parts of them using the replace() method and how to repeat strings multiple times using the repeat() method." - ] - }, - "workshop-string-transformer": { - "title": "Build a String Transformer", - "intro": [ - "In this workshop, you will practice working with the replace(), replaceAll() and repeat() methods." - ] - }, - "review-javascript-strings": { - "title": "JavaScript Strings Review", - "intro": [ - "Before you are quizzed on working with JavaScript strings, you first need to review.", - "Open up this page to review how to work with template literals, the slice method, the includes method, the trim method and more." - ] - }, - "quiz-javascript-strings": { - "title": "JavaScript Strings Quiz", - "intro": ["Test your knowledge of JavaScript strings with this quiz."] - }, - "lecture-working-with-numbers-and-arithmetic-operators": { - "title": "Working with Numbers and Arithmetic Operators", - "intro": [ - "In these lessons you will learn about the number type, arithmetic operators, and using them with numbers and strings." - ] - }, - "lab-debug-type-coercion-errors": { - "title": "Debug Type Coercion Errors in a Buggy App", - "intro": [ - "In this lab, you will be working with a buggy app that contains several type coercion errors.", - "Your task is to identify and fix these errors to ensure the application functions correctly." - ] - }, - "lecture-working-with-operator-behavior": { - "title": "Working with Operator Behavior", - "intro": [ - "In these lessons you will learn about operator precedence, the increment and decrement operators, and compound assignment operators." - ] - }, - "lab-debug-increment-and-decrement-operator-errors": { - "title": "Debug Increment and Decrement Operator Errors in a Buggy App", - "intro": [ - "In this lab, you'll debug an application that has several errors related to the increment and decrement operators.", - "Your task is to identify and fix the errors so that the application works as intended." - ] - }, - "lecture-working-with-comparison-and-boolean-operators": { - "title": "Working with Comparison and Boolean Operators", - "intro": [ - "In these lessons you will learn about booleans, and equality and inequality operators, and other comparison operators." - ] - }, - "lecture-working-with-unary-and-bitwise-operators": { - "title": "Working with Unary and Bitwise Operators", - "intro": [ - "In these lessons you will learn about unary and bitwise operators." - ] - }, - "lecture-working-with-conditional-logic-and-math-methods": { - "title": "Working with Conditional Logic and Math Methods", - "intro": [ - "In these lessons you will learn about conditional statements, binary logical operators, and the Math object." - ] - }, - "workshop-mathbot": { - "title": "Build a Mathbot", - "intro": [ - "In this workshop, you will review how to work with the different Math object methods by building a Mathbot." - ] - }, - "lab-fortune-teller": { - "title": "Build a Fortune Teller", - "intro": [ - "In this lab, you'll build a fortune teller by randomly selecting a fortune from the available fortunes.", - "You'll practice how to work with the 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 lessons, you will learn about numbers and common number methods. These include isNaN(), parseInt(), parseFloat(), and toFixed()." - ] - }, - "review-javascript-math": { - "title": "JavaScript Math Review", - "intro": [ - "Before you're quizzed on working with the Math object, you should review what you've learned.", - "Open up this page to review how to work with the Math.random() method, the Math.floor() method and more." - ] - }, - "quiz-javascript-math": { - "title": "JavaScript Math Quiz", - "intro": [ - "Test your knowledge of the JavaScript Math object with this quiz." - ] - }, - "lecture-understanding-comparisons-and-conditionals": { - "title": "Understanding Comparisons and Conditionals", - "intro": [ - "In these lessons, you will learn about comparison operators and conditionals. You will learn how the various conditionals differ from one another, and how comparisons work with null and undefined." - ] - }, - "review-javascript-comparisons-and-conditionals": { - "title": "JavaScript Comparisons and Conditionals Review", - "intro": [ - "Before you're quizzed on working with conditionals, you should review what you've learned about them.", - "Open up this page to review how to work with switch statements, other types of conditionals and more." - ] - }, - "quiz-javascript-comparisons-and-conditionals": { - "title": "JavaScript Comparisons and Conditionals Quiz", - "intro": [ - "Test your knowledge of JavaScript Comparisons and Conditionals with this quiz." - ] - }, - "lecture-working-with-functions": { - "title": "Working with Functions", - "intro": [ - "In these lessons, you will learn how to reuse a block of code with functions. You will learn what the purpose of a function is and how they work, and how scope works in programming. " - ] - }, - "workshop-calculator": { - "title": "Build a Calculator", - "intro": [ - "In this workshop, you will review your knowledge of functions by building a calculator." - ] - }, - "lab-boolean-check": { - "title": "Build a Boolean Check Function", - "intro": [ - "In this lab, you'll implement a function that checks if a value is a boolean." - ] - }, - "lab-email-masker": { - "title": "Build an Email Masker", - "intro": [ - "In this lab, you'll build an email masker that will take an email address and obscure it.", - "You'll practice string slicing, concatenation, and using functions." - ] - }, - "workshop-loan-qualification-checker": { - "title": "Build a Loan Qualification Checker", - "intro": [ - "In this workshop, you will continue to learn how to work with conditionals by building a loan qualification checker app.", - "You will learn more about if statements, and how to use comparison operators and multiple conditions in an if statement." - ] - }, - "lab-celsius-to-fahrenheit-converter": { - "title": "Build a Celsius to Fahrenheit Converter", - "intro": [ - "In this lab you will implement a function that converts the temperature from Celsius to Fahrenheit." - ] - }, - "lab-counting-cards": { - "title": "Build a Card Counting Assistant", - "intro": ["In this lab you will use JavaScript to count dealt cards."] - }, - "lab-leap-year-calculator": { - "title": "Build a Leap Year Calculator ", - "intro": [ - "In this lab you'll use conditional statements and loops to determine if a year is a leap year." - ] - }, - "lab-truncate-string": { - "title": "Implement the Truncate String Algorithm", - "intro": [ - "In this lab, you will practice truncating a string at a certain length." - ] - }, - "lab-string-ending-checker": { - "title": "Build a Confirm the Ending Tool", - "intro": [ - "In this lab, you will implement a function that checks if a given string ends with a specified target string." - ] - }, - "review-javascript-functions": { - "title": "JavaScript Functions Review", - "intro": [ - "Before you're quizzed on JavaScript functions, you should review what you've learned about them.", - "Open up this page to review functions, arrow functions and scope." - ] - }, - "quiz-javascript-functions": { - "title": "JavaScript Functions Quiz", - "intro": ["Test your knowledge of JavaScript functions with this quiz."] - }, - "lecture-working-with-arrays": { - "title": "Working with Arrays", - "intro": [ - "In these lessons, you will learn how to work with JavaScript arrays. You will learn about what makes an array, one-dimensional and two-dimensional arrays, how to access and update the elements in an array, and much more." - ] - }, - "workshop-shopping-list": { - "title": "Build a Shopping List", - "intro": [ - "In this workshop, you will practice how to work with arrays by building a shopping list.", - "You will review how to add and remove elements from an array using methods like push, pop, shift, and unshift." - ] - }, - "lab-lunch-picker-program": { - "title": "Build a Lunch Picker Program", - "intro": [ - "In this lab, you'll review working with arrays and random numbers by building a lunch picker program." - ] - }, - "lab-golf-score-translator": { - "title": "Build a Golf Score Translator", - "intro": [ - "For this lab, you will use array methods to translate golf scores into their nickname." - ] - }, - "lab-reverse-a-string": { - "title": "Build a String Inverter", - "intro": [ - "In this lab, you create a function that reverses a given string." - ] - }, - "lecture-working-with-common-array-methods": { - "title": "Working with Common Array Methods", - "intro": [ - "In these lessons, you will learn about the array methods for performing more advanced operations like getting the position of an item in an array, checking if an array contains a certain element, copying an array, and lots more." - ] - }, - "review-javascript-arrays": { - "title": "JavaScript Arrays Review", - "intro": [ - "Before you're quizzed on JavaScript arrays, you should review what you've learned about them.", - "Open up this page to review concepts like array destructuring, how to add and remove elements from an array, and more." - ] - }, - "quiz-javascript-arrays": { - "title": "JavaScript Arrays Quiz", - "intro": ["Test your knowledge of JavaScript arrays with this quiz."] - }, - "lecture-introduction-to-javascript-objects-and-their-properties": { - "title": "Introduction to JavaScript Objects and Their Properties", - "intro": [ - "In these lessons, you will learn the fundamentals of JavaScript objects, including how to create them, access their properties, and understand the difference between primitive and non-primitive data types." - ] - }, - "lecture-working-with-optional-chaining-and-object-destructuring": { - "title": "Working with Optional Chaining and Object Destructuring", - "intro": [ - "In these lessons, you will learn about advanced object manipulation techniques in JavaScript, including the optional chaining operator and object destructuring syntax." - ] - }, - "lecture-working-with-json": { - "title": "Working with JSON", - "intro": [ - "In these lessons, you will learn about JavaScript Object Notation (JSON), including how to access JSON data and use the JSON.parse() and JSON.stringify() methods." - ] - }, - "workshop-recipe-tracker": { - "title": "Build a Recipe Tracker", - "intro": [ - "In this workshop, you will review working with JavaScript objects by building a recipe tracker." - ] - }, - "lab-quiz-game": { - "title": "Build a Quiz Game", - "intro": [ - "In this lab, you'll build a quiz game using JavaScript arrays and objects.", - "You'll also practice using functions to randomly select a question and an answer from an array and compare them." - ] - }, - "lab-record-collection": { - "title": "Build a Record Collection", - "intro": [ - "In this lab you will build a function to manage a record collection." - ] - }, - "review-javascript-objects": { - "title": "JavaScript Objects Review", - "intro": [ - "Before you're quizzed on JavaScript objects, you should review what you've learned about them.", - "Open up this page to review concepts including how to access information from objects, object destructuring, working with JSON, and more." - ] - }, - "quiz-javascript-objects": { - "title": "JavaScript Objects Quiz", - "intro": ["Test your knowledge of JavaScript objects with this quiz."] - }, - "lecture-working-with-loops": { - "title": "Working with Loops", - "intro": [ - "Loops are an essential part of JavaScript. That's why the following lessons have been prepared for you to learn about the different types of loops and how they work, and also how iteration works." - ] - }, - "workshop-sentence-analyzer": { - "title": "Build a Sentence Analyzer", - "intro": [ - "In this workshop, you'll review how to work with JavaScript loops by building a sentence analyzer app." - ] - }, - "lab-longest-word-in-a-string": { - "title": "Build a Longest Word Finder App", - "intro": [ - "In this lab, you will use JavaScript loops to find the length of the longest word in the given sentence." - ] - }, - "lab-factorial-calculator": { - "title": "Build a Factorial Calculator ", - "intro": [ - "In this lab, you'll build a factorial calculator.", - "You'll practice using loops and conditionals to calculate the factorial of a number." - ] - }, - "lab-mutations": { - "title": "Implement the Mutations Algorithm", - "intro": [ - "In this lab, you will practice iterating over two different strings to compare their characters." - ] - }, - "lab-chunky-monkey": { - "title": "Implement the Chunky Monkey Algorithm", - "intro": [ - "In this lab, you will practice dividing an array into smaller arrays with the technique of your choice." - ] - }, - "lab-profile-lookup": { - "title": "Build a Profile Lookup", - "intro": [ - "In this lab, you'll create a function that looks up profile information." - ] - }, - "lab-repeat-a-string": { - "title": "Build a String Repeating Function", - "intro": [ - "In this lab, you will implement loops to repeat a string a specified number of times." - ] - }, - "lab-missing-letter-detector": { - "title": "Build a Missing Letter Detector", - "intro": [ - "In this lab, you will build a function that finds the missing letter in a given range of consecutive letters and returns it." - ] - }, - "review-javascript-loops": { - "title": "JavaScript Loops Review", - "intro": [ - "Before you're quizzed on the different JavaScript loops, you should review them.", - "Open up this page to review the for...of loop, while loop, break and continue statements and more." - ] - }, - "quiz-javascript-loops": { - "title": "JavaScript Loops Quiz", - "intro": ["Test your knowledge of JavaScript loops with this quiz."] - }, - "lecture-working-with-types-and-objects": { - "title": "Working with Types and Objects", - "intro": [ - "In these lessons you will learn about string objects, the toString() method, the Number constructor and more." - ] - }, - "lecture-working-with-arrays-variables-and-naming-practices": { - "title": "Working with Arrays, Variables, and Naming Practices", - "intro": [ - "In these lessons you will learn about common practices for naming variables and functions, and how to work with arrays." - ] - }, - "lecture-working-with-code-quality-and-execution-concepts": { - "title": "Working with Code Quality and Execution Concepts", - "intro": [ - "In these lessons you will learn what are linters and formatters, what is memory management, and closures." - ] - }, - "lab-largest-number-finder": { - "title": "Build the Largest Number Finder", - "intro": [ - "In this lab, you will use JavaScript fundamentals to create a function that finds the largest number in each sub-array of a given array." - ] - }, - "lab-first-element-finder": { - "title": "Build a First Element Finder", - "intro": [ - "In this lab, you will create a function that looks through an array and returns the first element in it that passes a \"truth test\"." - ] - }, - "lab-slice-and-splice": { - "title": "Implement the Slice and Splice Algorithm", - "intro": [ - "In this lab, you will practice merging an array with another." - ] - }, - "lab-pyramid-generator": { - "title": "Build a Pyramid Generator", - "intro": [ - "In this lab you'll build a pyramid generator.", - "You'll take a number as input and generate a pyramid with that many levels using a loop." - ] - }, - "lab-gradebook-app": { - "title": "Build a Gradebook App", - "intro": [ - "For this lab, you'll create a gradebook app.", - "You'll practice conditionals to determine the student's grade based on their score." - ] - }, - "lecture-the-var-keyword-and-hoisting": { - "title": "The var Keyword and Hoisting", - "intro": [ - "In these lessons, you will learn about the 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-title-case-converter": { - "title": "Build a Title Case Converter", - "intro": [ - "In this lab, you will build a function that converts a string to title case." - ] - }, - "lab-falsy-remover": { - "title": "Implement a Falsy Remover", - "intro": [ - "In this lab, you will create a function that removes all falsy values from an array." - ] - }, - "lab-inventory-management-program": { - "title": "Build an Inventory Management Program", - "intro": [ - "For this lab, you'll build an inventory management program using JavaScript.", - "You'll use JavaScript array of objects to manage the inventory." - ] - }, - "lecture-understanding-modules-imports-and-exports": { - "title": "Understanding Modules, Imports, and Exports", - "intro": [ - "In this lesson, you will learn about modules, imports, and exports in JavaScript." - ] - }, - "lecture-working-with-the-arguments-object-and-rest-parameters": { - "title": "Working with the arguments Object and Rest Parameters", - "intro": [ - "In these lessons, you will learn how to work with the arguments object and rest parameter syntax." - ] - }, - "lab-unique-sorted-union": { - "title": "Implement a Unique Sorted Union", - "intro": [ - "In this lab, you will create a function that takes two or more arrays and returns a new array of unique values in the order of the original provided arrays." - ] - }, - "lab-password-generator": { - "title": "Build a Password Generator App", - "intro": [ - "In this lab, you'll build a password generator app based on the user's input." - ] - }, - "lab-sum-all-numbers-algorithm": { - "title": "Design a Sum All Numbers Algorithm", - "intro": [ - "In this lab, you will design a sum all numbers algorithm. This algorithm takes an array of two numbers and returns the sum of those two numbers plus the sum of all the numbers between them." - ] - }, - "lab-dna-pair-generator": { - "title": "Implement a DNA Pair Generator", - "intro": [ - "In this lab you will implement a DNA base pairing algorithm that converts a single DNA strand into complementary base pairs." - ] - }, - "lab-html-entitiy-converter": { - "title": "Implement an HTML Entity Converter", - "intro": [ - "In this lab, you will convert special characters in a string to their corresponding HTML entities." - ] - }, - "lab-odd-fibonacci-sum-calculator": { - "title": "Build an Odd Fibonacci Sum Calculator", - "intro": [ - "In this lab you will build an odd Fibonacci sum calculator that takes a number and returns the sum of all odd Fibonacci numbers that are less than or equal to that number." - ] - }, - "lab-element-skipper": { - "title": "Implement an Element Skipper", - "intro": [ - "In this lab you will create a function that skips elements in an array based on a specified step value." - ] - }, - "lab-optional-arguments-sum-function": { - "title": "Build an Optional Arguments Sum Function", - "intro": [ - "In this lab you will build a function that accepts up to two arguments, and sum them, but if there is only one argument returns a function that waits for the second number to sum." - ] - }, - "review-javascript-fundamentals": { - "title": "JavaScript Fundamentals Review", - "intro": [ - "Before you are quizzed on JavaScript fundamentals, you first need to review the concepts.", - "Open up this page to review concepts like closures, memory management, and more." - ] - }, - "quiz-javascript-fundamentals": { - "title": "JavaScript Fundamentals Quiz", - "intro": [ - "Test your knowledge of JavaScript fundamentals with this quiz." - ] - }, - "lecture-working-with-higher-order-functions-and-callbacks": { - "title": "Working with Higher Order Functions and Callbacks", - "intro": [ - "In these lessons, you will learn how to work with higher order functions and callbacks. The higher order functions you will learn include 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": { - "title": "Build a Library Manager", - "intro": [ - "In this workshop, you will learn higher order array methods by building a library manager." - ] - }, - "lab-book-organizer": { - "title": "Build a Book Organizer", - "intro": [ - "In this lab, you'll build a book organizer using higher order functions in JavaScript." - ] - }, - "lab-sorted-index-finder": { - "title": "Implement a Sorted Index Finder", - "intro": [ - "In this lab, you will create a function that finds the index at which a given number should be inserted into a sorted array to maintain the array's sorted order." - ] - }, - "lab-symmetric-difference": { - "title": "Build a Symmetric Difference Function", - "intro": [ - "In this lab, you will practice using higher order functions to find the symmetric difference between two arrays." - ] - }, - "lab-value-remover-function": { - "title": "Implement a Value Remover Function", - "intro": [ - "In this lab, you will create a function that removes all instances of a specified value from an array." - ] - }, - "lab-matching-object-filter": { - "title": "Implement a Matching Object Filter", - "intro": [ - "In this lab, you will create a function that looks through an array of objects and returns an array of all objects that have matching property and value pairs." - ] - }, - "lab-prime-number-sum-calculator": { - "title": "Build a Prime Number Sum Calculator", - "intro": [ - "In this lab you will build a prime number sum calculator that takes a number and returns the sum of all prime numbers that are less than or equal to that number." - ] - }, - "lab-range-based-lcm-calculator": { - "title": "Implement a Range-Based LCM Calculator", - "intro": [ - "In this lab, you will create a function that takes an array of two numbers and returns the least common multiple (LCM) of those two numbers and all the numbers between them." - ] - }, - "lab-deep-flattening-tool": { - "title": "Create a Deep Flattening Tool", - "intro": [ - "In this lab you will create a function that can flatten deeply nested arrays, handling any level of nesting without using built-in flat methods." - ] - }, - "lab-all-true-property-validator": { - "title": "Build an All-True Property Validator", - "intro": [ - "In this lab you will build a function that checks if all objects in an array have a truthy value for a specific property." - ] - }, - "review-javascript-higher-order-functions": { - "title": "JavaScript Higher Order Functions Review", - "intro": [ - "Before you're quizzed on JavaScript higher order functions, you should review them.", - "Open up this page to review concepts including how to work with the map(), filter(), and reduce() methods." - ] - }, - "quiz-javascript-higher-order-functions": { - "title": "JavaScript Higher Order Functions Quiz", - "intro": [ - "Test your knowledge of JavaScript higher order functions with this quiz." - ] - }, - "lecture-working-with-the-dom-click-events-and-web-apis": { - "title": "Working with the DOM, Click Events, and Web APIs", - "intro": [ - "In these lessons, you will learn how to work with the Document Object Model (DOM), the addEventListener() method and events, and web APIs." - ] - }, - "workshop-storytelling-app": { - "title": "Build a Storytelling App", - "intro": [ - "In this workshop, you will build a storytelling app that will allow you to list different stories based on genre." - ] - }, - "workshop-emoji-reactor": { - "title": "Build an Emoji Reactor", - "intro": [ - "In this workshop, you will build an emoji reactor to practice querySelector and querySelectorAll." - ] - }, - "lab-favorite-icon-toggler": { - "title": "Build a Favorite Icon Toggler", - "intro": [ - "In this lab, you'll build a favorite icon toggler by utilizing JavaScript click events." - ] - }, - "lecture-understanding-the-event-object-and-event-delegation": { - "title": "Understanding the Event Object and Event Delegation", - "intro": [ - "In these lessons, you will learn about the event object, the change event, event bubbling, and event delegation." - ] - }, - "workshop-music-instrument-filter": { - "title": "Build a Music Instrument Filter", - "intro": [ - "In this workshop, you will build a music instrument filter with JavaScript." - ] - }, - "lab-real-time-counter": { - "title": "Build a Real Time Counter", - "intro": [ - "In this lab, you'll build a real-time character counter", - "You'll practice how to work with the input event when the user types in the input field." - ] - }, - "lab-lightbox-viewer": { - "title": "Build a Lightbox Viewer", - "intro": [ - "In this lab, you'll build a lightbox viewer for viewing images in a focused mode.", - "You'll practice click events and toggling classes." - ] - }, - "workshop-rps-game": { - "title": "Build a Rock, Paper, Scissors Game", - "intro": [ - "In this workshop, you will review DOM manipulation and events by building a Rock, Paper, Scissors Game." - ] - }, - "lab-football-team-cards": { - "title": "Build a Set of Football Team Cards", - "intro": [ - "In this lab, you'll use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards." - ] - }, - "review-dom-manipulation-and-click-events-with-javascript": { - "title": "DOM Manipulation and Click Events with JavaScript Review", - "intro": [ - "Before you're quizzed on the DOM, you should review what you've learned about it.", - "Open up this page to review concepts including how to work with the DOM, Web APIs, the addEventListener() method, change events, event bubbling and more." - ] - }, - "quiz-dom-manipulation-and-click-event-with-javascript": { - "title": "DOM Manipulation and Click Events with JavaScript Quiz", - "intro": [ - "Test your knowledge of DOM manipulation and click events in JavaScript with this quiz." - ] - }, - "lecture-understanding-aria-expanded-aria-live-and-common-aria-states": { - "title": "Understanding aria-expanded, aria-live, and Common ARIA States", - "intro": [ - "In these lessons you will learn more about ARIA attributes like aria-expanded, aria-live, and common ARIA states." - ] - }, - "workshop-planets-tablist": { - "title": "Build a Planets Tablist", - "intro": [ - "In this workshop, you will build a dynamic tabbed interface that showcases facts about the planets in the solar system." - ] - }, - "workshop-note-taking-app": { - "title": "Build a Note Taking App", - "intro": [ - "In this workshop, you are going to build an accessible note taking app.", - "This will provide you with the opportunity to practice working with aria-live attribute." - ] - }, - "lab-theme-switcher": { - "title": "Build a Theme Switcher", - "intro": [ - "In this lab, you will build a theme switcher and practice working with the aria-haspopup, aria-expanded, and aria-controls attributes." - ] - }, - "review-js-a11y": { - "title": "JavaScript and Accessibility Review", - "intro": [ - "Before you're quizzed on JavaScript and accessibility, you should review what you've learned about it.", - "Open up this page to review concepts including how to work with the aria-expanded, aria-live, and aria-controls attributes." - ] - }, - "quiz-js-a11y": { - "title": "JavaScript and Accessibility Quiz", - "intro": [ - "Test your knowledge of JavaScript and accessibility best practices with this quiz." - ] - }, - "lecture-debugging-techniques": { - "title": "Debugging Techniques", - "intro": [ - "In these lessons, you will learn about the common errors in JavaScript and the techniques you can use to fix them – a process called debugging." - ] - }, - "lab-random-background-color-changer": { - "title": "Debug a Random Background Color Changer", - "intro": [ - "In this lab, you'll debug a random background color changer and fix the errors to make it work properly." - ] - }, - "review-debugging-javascript": { - "title": "Debugging JavaScript Review", - "intro": [ - "Before you're quizzed on common debugging techniques, you should review what you've learned.", - "Open up this page to review concepts including how to work with the throw statement, try...catch...finally and more." - ] - }, - "quiz-debugging-javascript": { - "title": "Debugging JavaScript Quiz", - "intro": ["Test your knowledge of JavaScript debugging with this quiz."] - }, - "lecture-working-with-regular-expressions": { - "title": "Working with Regular Expressions", - "intro": [ - "In these lessons, you will learn about regular expressions in JavaScript. You will learn about the methods for working with regular expressions, modifiers, character classes, lookaheads, lookbehinds, back-references, quantifiers, and more." - ] - }, - "workshop-spam-filter": { - "title": "Build a Spam Filter", - "intro": [ - "Regular expressions, often shortened to \"regex\" or \"regexp\", are patterns that help programmers match, search, and replace text. Regular expressions are powerful, but can be difficult to understand because they use so many special characters.", - "In this workshop, you'll use capture groups, positive lookaheads, negative lookaheads, and other techniques to match any text you want." - ] - }, - "lab-palindrome-checker": { - "title": "Build a Palindrome Checker", - "intro": [ - "For this lab, you'll build an application that checks whether a given word is a palindrome." - ] - }, - "lab-markdown-to-html-converter": { - "title": "Build a Markdown to HTML Converter", - "intro": [ - "For this lab, you'll build a Markdown to HTML converter using JavaScript.", - "You'll practice regular expressions, string manipulation, and more." - ] - }, - "lab-regex-sandbox": { - "title": "Build a RegEx Sandbox", - "intro": ["In this lab you'll build a regex sandbox."] - }, - "lab-spinal-case-converter": { - "title": "Implement a Spinal Case Converter", - "intro": [ - "In this lab, you will create a function that converts a given string to spinal case which is a style of writing where all letters are lowercase and separated by hyphens." - ] - }, - "lab-pig-latin": { - "title": "Implement a Pig Latin Translator", - "intro": [ - "In this lab, you'll implement a Pig Latin translator using JavaScript.", - "You'll practice string manipulation, conditional logic, and regular expressions." - ] - }, - "lab-smart-word-replacement": { - "title": "Build a Smart Word Replacement Function", - "intro": [ - "In this lab, you will use regex to create a function that performs a search and replace operation on a given string." - ] - }, - "review-javascript-regular-expressions": { - "title": "JavaScript Regular Expressions Review", - "intro": [ - "Before you're quizzed on Regular Expressions, you should review what you've learned.", - "Open up this page to review concepts like lookaheads, lookbehinds, common regex modifiers and more." - ] - }, - "quiz-javascript-regular-expressions": { - "title": "JavaScript Regular Expressions Quiz", - "intro": [ - "Test your knowledge of JavaScript Regular Expressions with this quiz." - ] - }, - "lecture-understanding-form-validation": { - "title": "Understanding Form Validation", - "intro": [ - "In these lessons, you will learn about form validation in JavaScript. You will learn about the various ways to validate forms, how the preventDefault() method works, and how the submit event works." - ] - }, - "workshop-calorie-counter": { - "title": "Build a Calorie Counter", - "intro": [ - "Sometimes when you're coding a web application, you'll need to be able to accept input from a user. In this calorie counter workshop, you'll practice how to validate user input, perform calculations based on that input, and dynamically update your interface to display the results.", - "You'll also practice basic regular expressions, template literals, the addEventListener() method, and more." - ] - }, - "lab-customer-complaint-form": { - "title": "Build a Customer Complaint Form", - "intro": [ - "For this lab, you'll use JavaScript to validate a customer complaint form.", - "You'll practice how to validate form inputs, display error messages, and prevent the form from submitting if there are errors." - ] - }, - "review-form-validation-with-javascript": { - "title": "Form Validation with JavaScript Review", - "intro": [ - "Before you're quizzed on form validation, you should review what you've learned.", - "Open up this page to review concepts including the preventDefault() method, the submit event and more." - ] - }, - "quiz-form-validation-with-javascript": { - "title": "Form Validation with JavaScript Quiz", - "intro": [ - "Test what you've learned about JavaScript form validation with this quiz." - ] - }, - "lecture-working-with-dates": { - "title": "Working with Dates", - "intro": [ - "In these lessons, you will learn about the JavaScript date object. You will learn about the methods for working with dates and how to format dates." - ] - }, - "lab-date-conversion": { - "title": "Build a Date Conversion Program", - "intro": [ - "In this lab, you'll build a program to convert a date from one format to another." - ] - }, - "review-javascript-dates": { - "title": "JavaScript Dates Review", - "intro": [ - "Before you're quizzed on working with dates, you should review what you've learned.", - "Open up this page to review the Date() object and common methods." - ] - }, - "quiz-javascript-dates": { - "title": "JavaScript Dates Quiz", - "intro": [ - "Test what you've learned about JavaScript Dates with this quiz." - ] - }, - "lecture-working-with-audio-and-video": { - "title": "Working with Audio and Video", - "intro": [ - "In these lessons, you will learn how to work with audio and video files using JavaScript. You will learn about the Audio and Video constructors, their methods and properties, audio and video formats, codecs, the HTMLMediaElement API, and much more." - ] - }, - "workshop-music-player": { - "title": "Build a Music Player", - "intro": [ - "In this workshop, you'll code a basic MP3 player using HTML, CSS, and JavaScript.", - "The project covers fundamental concepts such as handling audio playback, managing a playlist, implementing play, pause, next, and previous functionalities and dynamically update your user interface based on the current song." - ] - }, - "lab-drum-machine": { - "title": "Build a Drum Machine", - "intro": [ - "For this lab you will use the audio element to build a drum machine." - ] - }, - "review-javascript-audio-and-video": { - "title": "JavaScript Audio and Video Review", - "intro": [ - "Before you're quizzed on working with audio and video in JavaScript, you should review what you've learned about them.", - "Open up this page to review concepts including the Audio constructor, the HTMLMediaElement API and more." - ] - }, - "quiz-javascript-audio-and-video": { - "title": "JavaScript Audio and Video Quiz", - "intro": [ - "Test what you've learned about JavaScript audio and video with this quiz." - ] - }, - "lecture-working-with-maps-and-sets": { - "title": "Working with Maps and Sets", - "intro": [ - "In these lessons, you will learn about JavaScript Map and Set. You will also learn how they both differ from WeakSets and WeakMaps." - ] - }, - "workshop-plant-nursery-catalog": { - "title": "Build a Plant Nursery Catalog", - "intro": [ - "In this workshop, you will practice using Maps and Sets by building a plant nursery catalog." - ] - }, - "lab-voting-system": { - "title": "Build a Voting System", - "intro": [ - "In this lab, you'll build a voting system using Maps and Sets.", - "You'll practice how to use the Map object to store key-value pairs and the Set object to store unique values." - ] - }, - "review-javascript-maps-and-sets": { - "title": "JavaScript Maps and Sets Review", - "intro": [ - "Before you're quizzed on JavaScript Maps and Sets, you should review what you've learned about them.", - "Open up this page to review concepts such as the Map and Set objects, as well as WeakSet and WeakMap." - ] - }, - "quiz-javascript-maps-and-sets": { - "title": "JavaScript Maps and Sets Quiz", - "intro": [ - "Test what you've learned about JavaScript Maps and Sets with this quiz." - ] - }, - "lecture-working-with-client-side-storage-and-crud-operations": { - "title": "Working with Client-Side Storage and CRUD Operations", - "intro": [ - "In these lessons, you will learn about client-side storage and CRUD operations in JavaScript. You will learn about localStorage and sessionStorage alongside their methods and properties, cookies, the Cache API, IndexDB, and much more." - ] - }, - "workshop-todo-app": { - "title": "Build a Todo App using Local Storage", - "intro": [ - "Local storage is a web browser feature that lets web applications store key-value pairs persistently within a user's browser. This allows web apps to save data during one session, then retrieve it in a later page session.", - "In this workshop, you'll learn how to handle form inputs, manage local storage, perform CRUD (Create, Read, Update, Delete) operations on tasks, implement event listeners, and toggle UI elements." - ] - }, - "lab-bookmark-manager-app": { - "title": "Build a Bookmark Manager App", - "intro": [ - "For this lab, you'll build a bookmark manager app.", - "You'll utilize local storage to store bookmarks, and practice how to add, remove, and display bookmarks." - ] - }, - "review-local-storage-and-crud": { - "title": "Local Storage and CRUD Review", - "intro": [ - "Before you are quizzed on working with localStorage, you first need to review the concepts.", - "Open up this page to review the localStorage property, sessionStorage property and more." - ] - }, - "quiz-local-storage-and-crud": { - "title": "Local Storage and CRUD Quiz", - "intro": [ - "Test what you've learned about local storage and CRUD with this quiz." - ] - }, - "lecture-understanding-how-to-work-with-classes-in-javascript": { - "title": "Understanding How to Work with Classes in JavaScript", - "intro": [ - "In these lessons, you will learn about classes in JavaScript. You will learn about inheritance, the this keyword, static properties and methods, and more." - ] - }, - "workshop-shopping-cart": { - "title": "Build a Shopping Cart", - "intro": [ - "In this workshop you'll create a shopping cart using JavaScript classes.", - "You will practice how to use the this keyword, create class instances, implement methods for data manipulation and more." - ] - }, - "lab-project-idea-board": { - "title": "Build a Project Idea Board", - "intro": [ - "In this lab, you'll build a project idea board using OOP in JavaScript.", - "You'll practice how to create classes, add methods to classes, and create instances of classes." - ] - }, - "lab-bank-account-manager": { - "title": "Build a Bank Account Management Program", - "intro": [ - "In this lab, you'll build a simple transaction management system for a bank account." - ] - }, - "review-javascript-classes": { - "title": "JavaScript Classes Review", - "intro": [ - "Before you're quizzed on how to work with classes, you should review what you've learned about them.", - "Open up this page to review concepts including the this keyword, class inheritance and more." - ] - }, - "quiz-javascript-classes": { - "title": "JavaScript Classes Quiz", - "intro": [ - "Test what you've learned about JavaScript classes with this quiz." - ] - }, - "lecture-understanding-recursion-and-the-call-stack": { - "title": "Understanding Recursion and the Call Stack", - "intro": [ - "In this lesson, you will learn about recursion and the call stack." - ] - }, - "workshop-decimal-to-binary-converter": { - "title": "Build a Decimal to Binary Converter", - "intro": [ - "Recursion is a programming concept where a function calls itself. This can reduce a complex problem into simpler sub-problems, until they become straightforward to solve.", - "In this workshop, you’ll build a decimal-to-binary converter using JavaScript. You’ll practice the fundamental concepts of recursion, explore the call stack, and build out a visual representation of the recursion process through an animation." - ] - }, - "lab-permutation-generator": { - "title": "Build a Permutation Generator", - "intro": [ - "For this lab, you'll build a permutation generator that produces all possible permutations of a given string." - ] - }, - "review-recursion": { - "title": "Recursion Review", - "intro": [ - "Before you're quizzed on recursion, you should review what you've learned.", - "Open up this page to review what is recursion and what is it used for." - ] - }, - "quiz-recursion": { - "title": "Recursion Quiz", - "intro": ["Test your knowledge of Recursion with this quiz."] - }, - "lecture-understanding-functional-programming": { - "title": "Understanding Functional Programming", - "intro": [ - "In these lessons, you will learn about functional programming and how to nest functions using a technique called currying." - ] - }, - "workshop-recipe-ingredient-converter": { - "title": "Build a Recipe Ingredient Converter", - "intro": [ - "In the previous lessons, you learned the core concepts behind functional programming and currying.", - "Now you will be able to apply what you have learned about currying and functional programming by building a recipe ingredient converter application." - ] - }, - "lab-sorting-visualizer": { - "title": "Build a Sorting Visualizer", - "intro": [ - "For this lab, you'll use JavaScript to visualize the steps that the Bubble Sort algorithm takes to reorder an array of integers." - ] - }, - "review-javascript-functional-programming": { - "title": "JavaScript Functional Programming Review", - "intro": [ - "Before you're quizzed on functional programming, you should review what you've learned.", - "Open up this page to review concepts on functional programming, currying and more." - ] - }, - "quiz-javascript-functional-programming": { - "title": "JavaScript Functional Programming Quiz", - "intro": [ - "Test what you've learned about JavaScript functional programming with this quiz." - ] - }, - "lecture-understanding-asynchronous-programming": { - "title": "Understanding Asynchronous Programming", - "intro": [ - "In these lessons, you will learn about asynchronous programming in JavaScript. You will learn about the differences between synchronous and asynchronous programming, how the async keyword works, the Fetch API, promises, async/await, the Geolocation API, and much more." - ] - }, - "workshop-fcc-authors-page": { - "title": "Build an fCC Authors Page", - "intro": [ - "One common aspect of web development is learning how to fetch data from an external API, then work with asynchronous JavaScript.", - "In this workshop you will practice how to use the fetch method, dynamically update the DOM to display the fetched data and paginate your data so you can load results in batches." - ] - }, - "lab-fcc-forum-leaderboard": { - "title": "Build an fCC Forum Leaderboard", - "intro": [ - "For this lab you'll practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard." - ] - }, - "lab-weather-app": { - "title": "Build a Weather App", - "intro": [ - "In this lab you'll build a Weather App using an API", - "You'll practice how to fetch data from the API, store and display it on your app." - ] - }, - "review-asynchronous-javascript": { - "title": "Asynchronous JavaScript Review", - "intro": [ - "Review asynchronous JavaScript concepts to prepare for the upcoming quiz." - ] - }, - "quiz-asynchronous-javascript": { - "title": "Asynchronous JavaScript Quiz", - "intro": [ - "Test what you've learned about asynchronous JavaScript with this quiz." - ] - }, - "review-javascript": { - "title": "JavaScript Review", - "intro": [ - "Before you take the JavaScript prep exam, you should review everything you've learned about JavaScript.", - "Open up this page to review all of the concepts taught including variables, strings, booleans, functions, objects, arrays, debugging, working with the DOM and more." - ] - }, - "kagw": { - "title": "258", - "intro": [] - }, - "lecture-introduction-to-javascript-libraries-and-frameworks": { - "title": "Introduction to JavaScript Libraries and Frameworks", - "intro": [ - "In these lessons, you will get an introduction to JavaScript libraries and frameworks. You will learn about the roles of JavaScript libraries and frameworks, single page applications (SPAs) and the issue surrounding them, and React, the most popular frontend JavaScript library." - ] - }, - "workshop-reusable-mega-navbar": { - "title": "Build a Reusable Mega Navbar", - "intro": [ - "In the previous lessons, you learned how to work with components in React.", - "In this workshop, you will build a reusable Navbar component using React." - ] - }, - "lab-reusable-footer": { - "title": "Build a Reusable Footer", - "intro": ["In this lab, you'll use React to build a reusable footer."] - }, - "lecture-working-with-data-in-react": { - "title": "Working with Data in React", - "intro": [ - "In these lessons, you will learn how to work with data in React. You will learn about props and how to pass them around, conditional rendering, how to render lists, and how to use inline styles." - ] - }, - "workshop-reusable-profile-card-component": { - "title": "Build a Reusable Profile Card Component", - "intro": [ - "In this workshop, you will learn how to work with props by building a reusable profile card component." - ] - }, - "lab-mood-board": { - "title": "Build a Mood Board", - "intro": [ - "In this lab, you'll create a mood board using React.", - "You'll practice how to pass data from a parent component to a child component using props." - ] - }, - "review-react-basics": { - "title": "React Basics Review", - "intro": [ - "Review basic React concepts to prepare for the upcoming quiz." - ] - }, - "quiz-react-basics": { - "title": "React Basics Quiz", - "intro": ["Test your knowledge of React basics with this quiz."] - }, - "lecture-working-with-state-and-responding-to-events-in-react": { - "title": "Working with State and Responding to Events in React", - "intro": [ - "In these lessons, you will learn about working with state and responding to events with React." - ] - }, - "workshop-toggle-text-app": { - "title": "Toggle Text App", - "intro": [ - "In this workshop, you will continue to learn about the useState() hook by building an application that hides and shows a piece of text on the screen." - ] - }, - "lab-color-picker": { - "title": "Build a Color Picker App", - "intro": [ - "In this lab you'll build a Color Picker.", - "You'll practice using state and hooks to manage the properties of an element." - ] - }, - "lecture-understanding-effects-and-referencing-values-in-react": { - "title": "Understanding Effects and Referencing Values in React", - "intro": [ - "In these lessons, you will learn about effects and referencing values with React." - ] - }, - "workshop-fruit-search-app": { - "title": "Build a Fruit Search App", - "intro": [ - "In this workshop, you will continue to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically." - ] - }, - "lab-one-time-password-generator": { - "title": "Build a One-Time Password Generator", - "intro": [ - "In this lab you'll build a one-time password generator.", - "You'll practice using the useEffect hooks to create a timer and generate a random OTP." - ] - }, - "review-react-state-and-hooks": { - "title": "React State and Hooks Review", - "intro": [ - "Before you're quizzed on React state and hooks, you should review what you've learned.", - "Open up this page to review working with state, custom hooks and more." - ] - }, - "quiz-react-state-and-hooks": { - "title": "React State and Hooks Quiz", - "intro": [ - "Test what you've learned about React's useState and useEffect hooks with this quiz." - ] - }, - "lecture-working-with-forms-in-react": { - "title": "Working with Forms in React", - "intro": [ - "In these lessons, you will learn about working with forms in React." - ] - }, - "workshop-superhero-application-form": { - "title": "Build a Superhero Application Form", - "intro": [ - "In this workshop, you will build a superhero application form." - ] - }, - "lab-event-rsvp": { - "title": "Build an Event RSVP", - "intro": [ - "In this lab, you'll build an Event RSVP form using React.", - "You'll practice using the useState hook to manage form input and display user responses." - ] - }, - "lecture-working-with-data-fetching-and-memoization-in-react": { - "title": "Working with Data Fetching and Memoization in React", - "intro": [ - "In these lessons, you will learn about data fetching and memoization in React." - ] - }, - "workshop-shopping-list-app": { - "title": "Build a Shopping List App", - "intro": [ - "In this workshop, you'll use the useMemo() and useCallback() hooks in React to build a simple shopping list app. You'll learn more about state and the lifecycle of React components, and how to use memoization to reduce re-renders and make your apps more efficient." - ] - }, - "lab-currency-converter": { - "title": "Build a Currency Converter", - "intro": [ - "For this lab, you'll build a currency converter app.", - "You'll use React state, memoization, and controlled components to convert between currencies." - ] - }, - "lecture-routing-react-frameworks-and-dependency-management-tools": { - "title": "Routing, React Frameworks, and Dependency Management Tools", - "intro": [ - "In these lessons, you will learn about routing in React, React frameworks, and dependency management tools." - ] - }, - "lab-tic-tac-toe": { - "title": "Build a Tic-Tac-Toe Game", - "intro": [ - "In this lab, you'll build a Tic-Tac-Toe game using React.", - "You'll practice managing state, handling user interactions, and updating the UI dynamically." - ] - }, - "lecture-react-strategies-and-debugging": { - "title": "React Strategies and Debugging", - "intro": [ - "In these lessons, you will learn about different strategies and debugging in React." - ] - }, - "review-react-forms-data-fetching-and-routing": { - "title": "React Forms, Data Fetching and Routing Review", - "intro": [ - "Before you take the React forms, data fetching and routing quiz, you should review everything you've learned so far.", - "Open up this page, to review all of the concepts taught including routing, forms, state management, prop drilling, data fetching and more." - ] - }, - "quiz-react-forms-data-fetching-and-routing": { - "title": "React Forms, Data Fetching and Routing Quiz", - "intro": [ - "Test what you've learned about routing, forms, and data fetching with this quiz." - ] - }, - "lecture-understanding-performance-in-web-applications": { - "title": "Understanding Performance in Web Applications", - "intro": [ - "In these lessons, you will learn performance in web applications." - ] - }, - "review-web-performance": { - "title": "Web Performance Review", - "intro": [ - "Before you take the web performance quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including INP, key metrics for measuring performance, Performance Web APIs and more." - ] - }, - "quiz-web-performance": { - "title": "Web Performance Quiz", - "intro": [ - "Test what you've learned about Web Performance with this quiz." - ] - }, - "lecture-understanding-the-different-types-of-testing": { - "title": "Understanding the Different Types of Testing", - "intro": [ - "In these lessons, you will learn about the different types of testing." - ] - }, - "review-testing": { - "title": "Testing Review", - "intro": [ - "Before you take the testing quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including unit testing, end-to-end testing, functional testing and more." - ] - }, - "quiz-testing": { - "title": "Testing Quiz", - "intro": ["Test what you've learned on testing with this quiz."] - }, - "lecture-working-with-css-libraries-and-frameworks": { - "title": "Working with CSS Libraries and Frameworks", - "intro": [ - "In these lessons, you will learn how to work with CSS libraries and frameworks." - ] - }, - "workshop-error-message-component": { - "title": "Build an Error Message Component", - "intro": [ - "In this workshop, you will learn the basics of Tailwind CSS by building out an error message component." - ] - }, - "workshop-tailwind-cta-component": { - "title": "Build a CTA Component", - "intro": [ - "In this workshop, you will build a call to action (CTA) component using Tailwind CSS." - ] - }, - "workshop-tailwind-pricing-component": { - "title": "Build a Pricing Component", - "intro": [ - "In this workshop, you will build a pricing component using Tailwind CSS.", - "You will practice working with Tailwind CSS grid utility classes." - ] - }, - "lab-music-shopping-cart-page": { - "title": "Build a Music Shopping Cart Page", - "intro": [ - "In this lab, you will build a music shopping cart page with Tailwind CSS.", - "You will practice working with Tailwind CSS utility classes for flexbox layouts, colors, breakpoints and more." - ] - }, - "lab-photography-exhibit": { - "title": "Design a Photography Exhibit", - "intro": [ - "In this lab, you will practice working with Tailwind CSS by designing a photography exhibit webpage." - ] - }, - "review-css-libraries-and-frameworks": { - "title": "CSS Libraries and Frameworks Review", - "intro": [ - "Before you take the CSS libraries and frameworks quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including CSS frameworks, CSS preprocessors, Sass and more." - ] - }, - "quiz-css-libraries-and-frameworks": { - "title": "CSS Libraries and Frameworks Quiz", - "intro": [ - "Test what you've learned about CSS Libraries and Frameworks with this quiz." - ] - }, - "lecture-introduction-to-typescript": { - "title": "Introduction to TypeScript", - "intro": [ - "In these lessons, you will learn what TypeScript is and how to use it." - ] - }, - "lecture-working-with-generics-and-type-narrowing": { - "title": "Working with Generics and Type Narrowing", - "intro": [ - "In these lessons, you will learn about generics and type narrowing in TypeScript." - ] - }, - "lecture-working-with-typescript-configuration-files": { - "title": "Working with TypeScript Configuration Files", - "intro": [ - "In this lesson, you will learn about TypeScript configuration files and how to use them." - ] - }, - "trvf": { - "title": "293", - "intro": [] - }, - "kwmg": { - "title": "294", - "intro": [] - }, - "nodx": { - "title": "295", - "intro": [] - }, - "erfj": { - "title": "296", - "intro": [] - }, - "muyw": { - "title": "297", - "intro": [] - }, - "review-typescript": { - "title": "Typescript Review", - "intro": [ - "Before you take the TypeScript quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including data types in TypeScript, generics, type narrowing and more." - ] - }, - "quiz-typescript": { - "title": "TypeScript Quiz", - "intro": ["Test what you've learned on Typescript with this quiz."] - }, - "review-front-end-libraries": { - "title": "Front End Libraries Review", - "intro": [ - "Review the Front End Libraries concepts to prepare for the upcoming quiz." - ] - }, - "rdzk": { - "title": "301", - "intro": [] - }, - "vtpz": { - "title": "302", - "intro": [] - }, - "lecture-introduction-to-python": { - "title": "Introduction to Python", - "intro": [ - "In these lessons, you will learn the fundamentals of Python. You'll learn about variables, data types, operators, control flow, functions, and more." - ] - }, - "workshop-caesar-cipher": { - "title": "Build a Caesar Cipher", - "intro": [ - "In this workshop, you'll build a Caesar cipher using basic Python concepts such as strings, conditionals, functions, and more." - ] - }, - "lab-rpg-character": { - "title": "Build an RPG Character", - "intro": [ - "In this lab you will practice basic python by building an RPG character." - ] - }, - "review-python-basics": { - "title": "Python Basics Review", - "intro": [ - "Before you're quizzed on Python basics, you should review what you've learned about it.", - "In this review page, you will review working with strings, functions, comparison operators and more." - ] - }, - "quiz-python-basics": { - "title": "Python Basics Quiz", - "intro": [ - "Test what you've learned about Python basics with this quiz." - ] - }, - "lecture-working-with-loops-and-sequences": { - "title": "Working with Loops and Sequences", - "intro": [ - "Learn about Working with Loops and Sequences in these lessons." - ] - }, - "workshop-pin-extractor": { - "title": "Build a Pin Extractor", - "intro": [ - "In this workshop you will build a function to extract secret pins hidden in poems." - ] - }, - "lab-number-pattern-generator": { - "title": "Build a Number Pattern Generator", - "intro": ["In this lab you will build a number pattern generator."] - }, - "review-loops-and-sequences": { - "title": "Loops and Sequences Review", - "intro": [ - "Before you're quizzed on loops and sequences, you should review what you've learned about them.", - "Open up this page to review concepts around loops, lists, tuples and some of their common methods." - ] - }, - "quiz-loops-and-sequences": { - "title": "Loops and Sequences Quiz", - "intro": [ - "Test what you've learned about loops and sequences in Python with this quiz." - ] - }, - "lecture-working-with-dictionaries-and-sets": { - "title": "Working with Dictionaries and Sets", - "intro": [ - "Learn about working with dictionaries and sets in these lessons." - ] - }, - "lecture-working-with-modules": { - "title": "Working with Modules", - "intro": ["Learn about working with modules in these lessons."] - }, - "workshop-medical-data-validator": { - "title": "Build a Medical Data Validator", - "intro": [ - "In this workshop, you'll practice working with dictionaries and sets while validating a collection of medical data." - ] - }, - "lab-user-configuration-manager": { - "title": "Build a User Configuration Manager", - "intro": [ - "In this lab, you will practice working with dictionaries in Python." - ] - }, - "review-dictionaries-and-sets": { - "title": "Dictionaries and Sets review", - "intro": [ - "Before you're quizzed on dictionaries and sets, you should review what you've learned about them.", - "Open up this page to review concepts around dictionaries, sets, and how to import modules." - ] - }, - "quiz-dictionaries-and-sets": { - "title": "Dictionaries and Sets Quiz", - "intro": [ - "Test what you've learned about dictionaries and sets in Python with this quiz." - ] - }, - "lecture-understanding-error-handling": { - "title": "Understanding Error Handling", - "intro": [ - "In these lessons, you will learn about error handling in Python. You will learn about the different types of errors, some good debugging practices, what exceptions are, and how to handle them." - ] - }, - "lab-isbn-validator": { - "title": "Debug an ISBN Validator", - "intro": [ - "In this lab, you will start with a bugged app, and you will need to debug and fix the bugs until it is working properly." - ] - }, - "review-error-handling": { - "title": "Error Handling Review", - "intro": [ - "Before you're quizzed on error handling, you should review what you've learned about it." - ] - }, - "quiz-error-handling": { - "title": "Error Handling Quiz", - "intro": [ - "Test what you've learned about Error Handling in Python with this quiz." - ] - }, - "lecture-classes-and-objects": { - "title": "Classes and Objects", - "intro": ["Learn about Classes and Objects in these lessons."] - }, - "workshop-musical-instrument-inventory": { - "title": "Build a Musical Instrument Inventory", - "intro": [ - "In this workshop, you will learn about classes, objects, and methods in Python by building a simple musical instrument inventory." - ] - }, - "lab-planet-class": { - "title": "Build a Planet Class", - "intro": [ - "In this lab you will create a class that represents a planet." - ] - }, - "workshop-email-simulator": { - "title": "Build an Email Simulator", - "intro": [ - "In this workshop you will implement classes and objects by building an email simulator that simulates sending, receiving, and managing emails between different users." - ] - }, - "lab-budget-app": { - "title": "Build a Budget App", - "intro": [ - "In this lab you will build a budget app and practice creating a class and methods for that class." - ] - }, - "review-classes-and-objects": { - "title": "Classes and Objects Review", - "intro": [ - "Before you're quizzed on classes and objects, you should review what you've learned about them.", - "Open up this page to review concepts like how classes work, what are objects, methods, attributes, special methods and more." - ] - }, - "quiz-classes-and-objects": { - "title": "Classes and Objects Quiz", - "intro": [ - "Test what you've learned about classes and objects in Python with this quiz." - ] - }, - "lecture-understanding-object-oriented-programming-and-encapsulation": { - "title": "Understanding Object Oriented Programming and Encapsulation", - "intro": [ - "Learn about Understanding Object Oriented Programming and Encapsulation in these lessons." - ] - }, - "workshop-salary-tracker": { - "title": "Build a Salary Tracker", - "intro": [ - "In this workshop, you'll practice encapsulation, properties, and other OOP concepts by building a salary tracking system for employees." - ] - }, - "lab-game-character-stats": { - "title": "Build a Game Character Stats Tracker", - "intro": [ - "In this lab, you will build a game character with different stats using object-oriented programming." - ] - }, - "lecture-understanding-inheritance-and-polymorphism": { - "title": "Understanding Inheritance and Polymorphism", - "intro": [ - "Learn about Understanding Inheritance and Polymorphism in these lessons." - ] - }, - "workshop-media-catalogue": { - "title": "Build a Media Catalogue", - "intro": [ - "In this workshop, you will create a media catalogue application using object-oriented programming principles." - ] - }, - "lab-polygon-area-calculator": { - "title": "Build a Polygon Area Calculator", - "intro": [ - "In this lab, you will use object-oriented programming to calculate the areas of different polygons like squares and rectangles." - ] - }, - "lecture-understanding-abstraction": { - "title": "Understanding Abstraction", - "intro": ["Learn about Understanding Abstraction in these lessons."] - }, - "workshop-discount-calculator": { - "title": "Build a Discount Calculator", - "intro": [ - "In this workshop you will build a flexible discount pricing calculator through abstract base classes, allowing multiple discount algorithms to be applied interchangeably without modifying the core logic." - ] - }, - "lab-player-interface": { - "title": "Build a Player Interface", - "intro": [ - "In this lab, you'll use the abc module to build a player interface." - ] - }, - "review-object-oriented-programming": { - "title": "Object Oriented Programming Review", - "intro": [ - "Before you're quizzed on object oriented programming, you should review what you've learned about it." - ] - }, - "quiz-object-oriented-programming": { - "title": "Object Oriented Programming Quiz", - "intro": [ - "Test what you've learned about object oriented programming in python with this quiz." - ] - }, - "lecture-working-with-common-data-structures": { - "title": "Working with Common Data Structures", - "intro": [ - "Learn about Working with Common Data Structures in these lessons." - ] - }, - "workshop-linked-list-class": { - "title": "Build a Linked List", - "intro": [ - "In this workshop, you'll practice working with data structures by building a linked list." - ] - }, - "lab-hash-table": { - "title": "Build a Hash Table", - "intro": [ - "A hash table is a data structure that is used to store key-value pairs and is optimized for quick lookups.", - "In this lab, you will use your knowledge about data structures to build a hash table." - ] - }, - "review-data-structures": { - "title": "Data Structures Review", - "intro": [ - "Before you're quizzed on data structures, you should review what you've learned about them.", - "Open up this page to review concepts like the different data structures, algorithms, time and space complexity, and big O notation." - ] - }, - "quiz-data-structures": { - "title": "Data Structures Quiz", - "intro": [ - "Test what you've learned about data structures in Python with this quiz." - ] - }, - "lecture-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms", - "intro": [ - "Learn about fundamental searching and sorting algorithms, including linear search, binary search, and merge sort.", - "These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm." - ] - }, - "workshop-binary-search": { - "title": "Implement the Binary Search Algorithm", - "intro": [ - "The binary search algorithm is a searching algorithm used to find a target item in a sorted list.", - "In this workshop, you'll implement the binary search algorithm and return the path it took to find the target or return 'Value not found'." - ] - }, - "lab-bisection-method": { - "title": "Implement the Bisection Method", - "intro": [ - "In this lab, you will implement the bisection method to find the square root of a number." - ] - }, - "workshop-merge-sort": { - "title": "Implement the Merge Sort Algorithm", - "intro": [ - "The merge sort algorithm is a sorting algorithm based on the divide and conquer principle.", - "In this workshop, you'll implement the merge sort algorithm to sort a list of random numbers." - ] - }, - "lab-quicksort": { - "title": "Implement the Quicksort Algorithm", - "intro": [ - "In this lab you will implement the quicksort algorithm to sort a list of integers." - ] - }, - "lab-selection-sort": { - "title": "Implement the Selection Sort Algorithm", - "intro": [ - "In this lab you will implement the selection sort algorithm." - ] - }, - "lab-luhn-algorithm": { - "title": "Implement the Luhn Algorithm", - "intro": [ - "In this lab, you will implement the Luhn algorithm to validate identification numbers such as credit card numbers." - ] - }, - "lab-tower-of-hanoi": { - "title": "Implement the Tower of Hanoi Algorithm", - "intro": [ - "In this lab, you will implement an algorithm to solve the Tower of Hanoi puzzle." - ] - }, - "review-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms Review", - "intro": [ - "Before you're quizzed on searching and sorting algorithms, you should review what you've learned about them." - ] - }, - "quiz-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms Quiz", - "intro": [ - "Test what you've learned about searching and sorting algorithms in Python with this quiz." - ] - }, - "lecture-understanding-graphs-and-trees": { - "title": "Understanding Graphs and Trees", - "intro": [ - "In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science." - ] - }, - "workshop-shortest-path-algorithm": { - "title": "Implement the Shortest Path Algorithm", - "intro": [ - "In this workshop you will implement the shortest path algorithm to find the shortest path between two nodes in a graph." - ] - }, - "lab-adjacency-list-to-matrix-converter": { - "title": "Build an Adjacency List to Matrix Converter", - "intro": [ - "In this lab, you will implement a function that converts an adjacency list representation of a graph into an adjacency matrix representation." - ] - }, - "workshop-breadth-first-search": { - "title": "Implement the Breadth-First Search Algorithm", - "intro": [ - "In this workshop, you will use the bread-first search algorithm to generate all valid combinations of parentheses." - ] - }, - "lab-depth-first-search": { - "title": "Implement the Depth-First Search Algorithm", - "intro": [ - "In this lab, you will implement the Depth-First Search Algorithm." - ] - }, - "lab-n-queens-problem": { - "title": "Implement the N-Queens Problem", - "intro": [ - "In this lab, you will implement a solution for the N-Queens problem." - ] - }, - "review-graphs-and-trees": { - "title": "Graphs and Trees Review", - "intro": [ - "Before you're quizzed on graphs and trees, you should review what you've learned about them." - ] - }, - "quiz-graphs-and-trees": { - "title": "Graphs and Trees Quiz", - "intro": [ - "Test what you've learned about graphs and trees in Python with this quiz." - ] - }, - "lecture-understanding-dynamic-programming": { - "title": "Understanding Dynamic Programming", - "intro": [ - "In this lesson, you will learn about dynamic programming, an algorithmic technique used to solve complex problems efficiently by breaking them down into simpler subproblems." - ] - }, - "lab-nth-fibonacci-number": { - "title": "Build an Nth Fibonacci Number Calculator", - "intro": [ - "In this lab you will implement a Fibonacci sequence calculator using a dynamic programming approach." - ] - }, - "review-dynamic-programming": { - "title": "Dynamic Programming Review", - "intro": [ - "Before you're quizzed on dynamic programming, you should review what you've learned about it." - ] - }, - "quiz-dynamic-programming": { - "title": "Dynamic Programming Quiz", - "intro": [ - "Test what you've learned about dynamic programming in python with this quiz." - ] - }, - "review-python": { - "title": "Python Review", - "intro": ["Review Python concepts to prepare for the upcoming exam."] - }, - "lecture-understanding-the-command-line-and-working-with-bash": { - "title": "Understanding the Command Line and Working with Bash", - "intro": [ - "Learn about the Command Line and Working with Bash in these lessons." - ] - }, - "workshop-bash-boilerplate": { - "title": "Build a Boilerplate", - "intro": [ - "The terminal allows you to send text commands to your computer that can manipulate the file system, run programs, automate tasks, and much more.", - "In this 170-lesson workshop, you will learn terminal commands by creating a website boilerplate using only the command line." - ] - }, - "review-bash-commands": { - "title": "Bash Commands Review", - "intro": [ - "Review the Bash Commands concepts to prepare for the upcoming quiz." - ] - }, - "quiz-bash-commands": { - "title": "Bash Commands Quiz", - "intro": ["Test what you've learned bash commands with this quiz."] - }, - "lecture-working-with-relational-databases": { - "title": "Working with Relational Databases", - "intro": [ - "Learn how to work with Relational Databases in these lessons." - ] - }, - "workshop-database-of-video-game-characters": { - "title": "Build a Database of Video Game Characters", - "intro": [ - "A relational database organizes data into tables that are linked together through relationships.", - "In this 165-lesson workshop, you will learn the basics of a relational database by creating a PostgreSQL database filled with video game characters." - ] - }, - "lab-celestial-bodies-database": { - "title": "Build a Celestial Bodies Database", - "intro": [ - "For this project, you will build a database of celestial bodies using PostgreSQL." - ] - }, - "review-sql-and-postgresql": { - "title": "SQL and PostgreSQL Review", - "intro": [ - "Review SQL and PostgreSQL concepts to prepare for the upcoming quiz." - ] - }, - "quiz-sql-and-postgresql": { - "title": "SQL and PostgreSQL Quiz", - "intro": [ - "Test what you've learned about SQL and PostgreSQL with this quiz." - ] - }, - "lecture-understanding-bash-scripting": { - "title": "Understanding Bash Scripting", - "intro": ["Learn about Bash Scripting in these lessons."] - }, - "workshop-bash-five-programs": { - "title": "Build Five Programs", - "intro": [ - "Bash scripts combine terminal commands and logic into programs that can execute or automate tasks, and much more.", - "In this 220-lesson workshop, you will learn more terminal commands and how to use them within Bash scripts by creating five small programs." - ] - }, - "review-bash-scripting": { - "title": "Bash Scripting Review", - "intro": [ - "Review the bash scripting concepts you've learned to prepare for the upcoming quiz." - ] - }, - "quiz-bash-scripting": { - "title": "Bash Scripting Quiz", - "intro": ["Test what you've learned on bash scripting in this quiz."] - }, - "lecture-working-with-sql": { - "title": "Working With SQL", - "intro": [ - "In these lessons, you will learn about SQL injection, normalization, and the N+1 problem." - ] - }, - "workshop-sql-student-database-part-1": { - "title": "Build a Student Database: Part 1", - "intro": [ - "SQL, or Structured Query Language, is the language for communicating with a relational database.", - "In this 140-lesson workshop, you will create a Bash script that uses SQL to enter information about your computer science students into PostgreSQL." - ] - }, - "workshop-sql-student-database-part-2": { - "title": "Build a Student Database: Part 2", - "intro": [ - "SQL join commands are used to combine information from multiple tables in a relational database", - "In this 140-lesson workshop, you will complete your student database while diving deeper into SQL commands." - ] - }, - "lab-world-cup-database": { - "title": "Build a World Cup Database", - "intro": [ - "For this project, you will create a Bash script that enters information from World Cup games into PostgreSQL, then query the database for useful statistics." - ] - }, - "workshop-kitty-ipsum-translator": { - "title": "Build a Kitty Ipsum Translator", - "intro": [ - "There's more to Bash commands than you might think.", - "In this 140-lesson workshop, you will learn some more complex commands, and the details of how commands work." - ] - }, - "workshop-bike-rental-shop": { - "title": "Build a Bike Rental Shop", - "intro": [ - "In this 210-lesson workshop, you will build an interactive Bash program that stores rental information for your bike rental shop using PostgreSQL." - ] - }, - "lab-salon-appointment-scheduler": { - "title": "Build a Salon Appointment Scheduler", - "intro": [ - "For this lab, you will create an interactive Bash program that uses PostgreSQL to track the customers and appointments for your salon." - ] - }, - "review-bash-and-sql": { - "title": "Bash and SQL Review", - "intro": [ - "Review the Bash and SQL concepts to prepare for the upcoming quiz." - ] - }, - "quiz-bash-and-sql": { - "title": "Bash and SQL Quiz", - "intro": ["Test what you've learned in this quiz on Bash and SQL."] - }, - "lecture-working-with-nano": { - "title": "Working With Nano", - "intro": ["Learn about Nano in this lesson."] - }, - "workshop-castle": { - "title": "Build a Castle", - "intro": [ - "Nano is a program that allows you to edit files right in the terminal.", - "In this 40-lesson workshop, you will learn how to edit files in the terminal with Nano while building a castle." - ] - }, - "lecture-introduction-to-git-and-github": { - "title": "Introduction to Git and GitHub", - "intro": ["Learn how to work with Git and GitHub in these lessons."] - }, - "lecture-working-with-code-reviews-branching-deployment-and-ci-cd": { - "title": "Working With Code Reviews, Branching, Deployment, and CI/CD", - "intro": [ - "Learn about code reviews, branching, deployment, and CI/CD in these lessons." - ] - }, - "workshop-sql-reference-object": { - "title": "Build an SQL Reference Object", - "intro": [ - "Git is a version control system that keeps track of all the changes you make to your codebase.", - "In this 240-lesson workshop, you will learn how Git keeps track of your code by creating an object containing commonly used SQL commands." - ] - }, - "lab-periodic-table-database": { - "title": "Build a Periodic Table Database", - "intro": [ - "For this lab, you will create a Bash script to get information about chemical elements from a periodic table database." - ] - }, - "lab-number-guessing-game": { - "title": "Build a Number Guessing Game", - "intro": [ - "For this lab, you will use Bash scripting, PostgreSQL, and Git to create a number guessing game that runs in the terminal and saves user information." - ] - }, - "review-git": { - "title": "Git Review", - "intro": ["Review Git concepts to prepare for the upcoming quiz."] - }, - "quiz-git": { - "title": "Git Quiz", - "intro": ["Test what you've learned on Git with this quiz."] - }, - "review-relational-databases": { - "title": "Relational Databases Review", - "intro": [ - "Review relational databases concepts to prepare for the exam." - ] - }, - "lecture-understanding-the-http-request-response-model": { - "title": "Understanding the HTTP Request-Response Model", - "intro": [ - "Learn the fundamentals of how web communication works through the HTTP request-response model, explore different types of web assets and responses, and understand how forms handle data submission using various HTTP methods." - ] - }, - "exam-certified-full-stack-developer": { - "title": "Certified Full Stack Developer Exam", - "intro": ["Pass this exam to become a Certified Full Stack Developer."] - } - } - }, "javascript-v9": { "title": "JavaScript Certification", "intro": [ @@ -6448,6 +3108,12 @@ "In this lecture, you will learn about recursion and the call stack." ] }, + "workshop-countup": { + "title": "Build a Countup", + "intro": [ + "In this workshop you will build a countdown function that returns an array of numbers counting up from 1 to a given number." + ] + }, "lab-countdown": { "title": "Build a Countdown", "intro": [ @@ -6461,6 +3127,13 @@ "In this workshop, you'll build a decimal-to-binary converter using JavaScript. You'll practice the fundamental concepts of recursion, explore the call stack, and build out a visual representation of the recursion process through an animation." ] }, + "lab-range-of-numbers": { + "title": "Build a Range of Numbers Generator", + "intro": [ + "In this lab, you'll use recursion to generate an array of numbers within a specified range.", + "You'll practice recursive function calls, base cases, and building arrays through recursion." + ] + }, "lab-permutation-generator": { "title": "Build a Permutation Generator", "intro": [ @@ -6485,6 +3158,12 @@ "These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm." ] }, + "lecture-understanding-graphs-and-trees-js": { + "title": "Understanding Graphs and Trees", + "intro": [ + "In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science." + ] + }, "lecture-understanding-functional-programming": { "title": "Understanding Functional Programming", "intro": [ @@ -7186,6 +3865,12 @@ "In this lab, you will use object-oriented programming to calculate the areas of different polygons like squares and rectangles." ] }, + "lab-discount-calculator": { + "title": "Build a Discount Calculator", + "intro": [ + "In this lab, you will practice basic Python by building a calculator to apply a discount to a price." + ] + }, "lecture-understanding-abstraction": { "title": "Understanding Abstraction", "intro": ["Learn about Understanding Abstraction in these lessons."] diff --git a/client/i18n/locales/japanese/translations.json b/client/i18n/locales/japanese/translations.json index f12e9c5c062..7405491ef88 100644 --- a/client/i18n/locales/japanese/translations.json +++ b/client/i18n/locales/japanese/translations.json @@ -291,7 +291,7 @@ "reset-editor-layout": "エディターレイアウトをリセット", "shortcuts-explained": "チャレンジの画面で、ESC キーを押した後、? キーを押すと、利用可能なショートカットキーの一覧が表示されます。", "username": { - "contains invalid characters": "ユーザー名 \"{{username}}\" に無効な文字が含まれています", + "contains invalid characters": "Username \"{{username}}\" contains invalid characters. Use only alphanumeric values like 'camperbot', or 'camperbot123'.", "is too short": "ユーザー名 \"{{username}}\" は短すぎます", "is a reserved error code": "ユーザー名 \"{{username}}\" は予約されたエラーコードです。", "must be lowercase": "ユーザー名 \"{{username}}\" は小文字にする必要があります", diff --git a/client/i18n/locales/korean/intro.json b/client/i18n/locales/korean/intro.json index 6099480bbce..3bafb130b0a 100644 --- a/client/i18n/locales/korean/intro.json +++ b/client/i18n/locales/korean/intro.json @@ -1954,3346 +1954,6 @@ } } }, - "full-stack-developer": { - "title": "Certified Full Stack Developer Curriculum", - "intro": [ - "This course provides a comprehensive pathway to becoming a Certified Full Stack Developer, covering all the essential technologies required to build modern, scalable web applications from start to finish.", - "Through a blend of interactive lessons, coding exercises, and real-world projects, you will master both frontend and backend development. You'll work with HTML, CSS, and JavaScript to build responsive user interfaces, explore React and TypeScript for advanced web applications, and learn to manage data with relational databases - and on the backend, you'll use Git, Npm, Node.js, and Python to create powerful server-side solutions.", - "By the end of this course, you'll have the practical skills and experience to confidently develop complete web applications, preparing you for a successful career as a Full Stack Developer.", - "This certification will take you a substantial amount of time and effort to complete. If you start now, you may be ready to start the remaining material and final exam when we launch it in the coming months." - ], - "chapters": { - "html": "HTML", - "css": "CSS", - "javascript": "JavaScript", - "frontend-libraries": "Front End Libraries", - "relational-databases": "Relational Databases", - "backend-javascript": "Backend JavaScript", - "python": "Python", - "career": "Career" - }, - "modules": { - "basic-html": "Basic HTML", - "semantic-html": "Semantic HTML", - "html-forms-and-tables": "Forms and Tables", - "html-and-accessibility": "Accessibility", - "review-html": "HTML Review", - "exam-html": "HTML Exam", - "computer-basics": "Computer Basics", - "basic-css": "Basic CSS", - "design-for-developers": "Design", - "absolute-and-relative-units": "Absolute and Relative Units", - "pseudo-classes-and-elements": "Pseudo Classes and Elements", - "css-colors": "Colors", - "styling-forms": "Styling Forms", - "css-box-model": "The Box Model", - "css-flexbox": "Flexbox", - "css-typography": "Typography", - "css-and-accessibility": "Accessibility", - "attribute-selectors": "Attribute Selectors", - "css-positioning": "Positioning", - "responsive-design": "Responsive Design", - "css-variables": "Variables", - "css-grid": "Grid", - "css-animations": "Animations", - "review-css": "CSS Review", - "exam-css": "CSS Exam", - "code-editors": "Code Editors", - "javascript-variables-and-strings": "Variables and Strings", - "javascript-booleans-and-numbers": "Booleans and Numbers", - "javascript-functions": "Functions", - "javascript-arrays": "Arrays", - "javascript-objects": "Objects", - "javascript-loops": "Loops", - "review-javascript-fundamentals": "JavaScript Fundamentals Review", - "higher-order-functions-and-callbacks": "Higher Order Functions and Callbacks", - "dom-manipulation-and-events": "DOM Manipulation and Events", - "js-a11y": "JavaScript and Accessibility", - "debugging-javascript": "Debugging", - "basic-regex": "Basic Regex", - "form-validation": "Form Validation", - "javascript-dates": "Dates", - "audio-and-video-events": "Audio and Video Events", - "maps-and-sets": "Maps and Sets", - "localstorage-and-crud-operations": "localStorage and CRUD Operations", - "classes-and-the-this-keyword": "Classes", - "recursion": "Recursion", - "functional-programming": "Functional Programming", - "asynchronous-javascript": "Asynchronous JavaScript", - "review-javascript": "JavaScript Review", - "exam-javascript": "JavaScript Exam", - "react-fundamentals": "React Fundamentals", - "react-state-hooks-and-routing": "React State, Hooks, and Routing", - "performance": "Performance", - "testing": "Testing", - "css-libraries-and-frameworks": "CSS Libraries and Frameworks", - "data-visualization": "Data Visualization and D3", - "typescript-fundamentals": "TypeScript Fundamentals", - "review-front-end-libraries": "Front End Libraries Review", - "exam-front-end-libraries": "Front End Libraries Exam", - "python-basics": "Python Basics", - "python-loops-and-sequences": "Loops and Sequences", - "python-dictionaries-and-sets": "Dictionaries and Sets", - "python-error-handling": "Error Handling", - "python-classes-and-objects": "Classes and Objects", - "python-object-oriented-programming": "Object-Oriented Programming (OOP)", - "python-linear-data-structures": "Linear Data Structures", - "python-algorithms": "Algorithms", - "python-graphs-and-trees": "Graphs and Trees", - "python-dynamic-programming": "Dynamic Programming", - "review-python": "Python Review", - "exam-python": "Python Exam", - "bash-fundamentals": "Bash Fundamentals", - "sql-and-postgresql": "SQL and PostgreSQL", - "bash-scripting": "Bash Scripting", - "sql-and-bash": "SQL and Bash", - "git": "Git", - "review-relational-databases": "Relational Databases Review", - "exam-relational-databases": "Relational Databases Exam", - "nodejs-core-libraries": "Node.js Core Libraries", - "node-package-manager": "Node Package Manager", - "http-and-the-web-standards-model": "HTTP and the Web Standards Model", - "rest-api-and-web-services": "REST API and Web Services", - "introduction-to-express": "Introduction to Express", - "express-middleware": "Express Middleware", - "error-handling-in-express": "Error Handling in Express", - "websockets": "WebSockets", - "node-and-sql": "Node and SQL", - "security-and-privacy": "Security and Privacy", - "authentication": "Authentication", - "tooling-and-deployment": "Tooling and Deployment", - "how-to-get-a-developer-job": "How to Get a Developer Job", - "capstone-project": "Capstone Project", - "certified-full-stack-developer-exam": "Certified Full Stack Developer Exam" - }, - "module-intros": { - "data-visualization": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will be introduced to data visualization and learn how to work with the D3 library." - ] - }, - "typescript-fundamentals": { - "note": "Coming Fall 2025", - "intro": [ - "In this module, you will be introduced to TypeScript, which is a superset of JavaScript that allows you to add static typing to your JavaScript code. You will build several workshops and labs that will give you practice in working with generics, type narrowing, TSX, and more. Then you will test your knowledge of TypeScript fundamentals with a short quiz." - ] - }, - "python-classes-and-objects": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to work with classes, methods, attributes and properties. Then, you will build out workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-object-oriented-programming": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about Object-oriented programming concepts like encapsulation, inheritance, polymorphism, and more. You will build out workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-linear-data-structures": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about data structures including stacks, queues, linked lists, and more. You will build out a workshop and lab to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-algorithms": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about common algorithms including binary search, merge sort, selection sort, and more. You will build workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-graphs-and-trees": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about graphs in computer science as well as adjacency lists, trees, tries, and more. You will build workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-dynamic-programming": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about dynamic programming and practice these concepts by building a fibonacci sequence lab. Then you will take a short quiz to test your knowledge." - ] - }, - "bash-fundamentals": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about the command line and common Bash commands. Then you will practice your skills with a workshop and take a short quiz to test your knowledge." - ] - }, - "sql-and-postgresql": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to work with relational databases which store data as collections in tables. Some of the concepts you will learn about include inserting and viewing table data, primary and foreign keys in SQL, and more. Then you will build out a workshop and lab to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "bash-scripting": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about bash scripting and practice those skills by building five programs. Then you will be able to test your knowledge of these concepts by taking a short quiz." - ] - }, - "sql-and-bash": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about normalization, SQL injection, and the N+1 problem. Then you will get to practice working with SQL and Bash by building several workshops and labs. Then you will be able to test your knowledge of these concepts by taking a short quiz." - ] - }, - "git": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to use Git, Nano, and GitHub. Then you will get to practice working with Git by building several workshops and labs. You will be able to test your knowledge of these concepts by taking a short quiz." - ] - }, - "introduction-to-nodejs": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to Node.js, which is a JavaScript runtime environment that allows you to build backend applications using JavaScript. You will get to practice fundamental concepts by building a small workshop and test your knowledge with a short quiz." - ] - }, - "nodejs-core-libraries": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about common Node.js core libraries including the fs, os, path and more. Then you will get to practice what you have learned through workshops and labs and test your knowledge through a short quiz." - ] - }, - "node-package-manager": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to the Node Package Manager, which developers use to manage project dependencies and scripts. Then you will get to practice what you have learned through workshops and labs and test your knowledge with a short quiz." - ] - }, - "http-and-the-web-standards-model": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about HTTP (Hypertext Transfer Protocol) and other important concepts including the request-response model, common response codes, DNS, TCP/IP, and more. Then you will get to practice what you have learned through a build your own web server workshop and test your knowledge with a short quiz." - ] - }, - "rest-api-and-web-services": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about the REST API (Representational State Transfer Application Programming Interface) and how microservices work. Then you will take a short quiz to test your knowledge." - ] - }, - "introduction-to-express": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to Express.js, which is a framework used to build RESTful APIs. Then you will practice your skills through workshops and labs and test your knowledge with a short quiz." - ] - }, - "express-middleware": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about middleware in Express.js, which is used to handle requests and responses between the client and server. You will then practice your skills through a workshop and lab and test your knowledge with a short quiz." - ] - }, - "error-handling-in-express": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about how error handling, debugging, and health checks work in Express.js. You will then practice what you have learned in a lab and test your knowledge with a short quiz." - ] - }, - "websockets": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to websockets, which is a protocol used for real time communication with the client and server. You will then practice what you have learned in labs and workshops and test your knowledge with a short quiz." - ] - }, - "node-and-sql": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will practice building applications with Node and SQL. Then you will take a short quiz to test your knowledge." - ] - }, - "security-and-privacy": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about the differences between security and privacy as well as other concepts including CSPs, Permissions-Policies, PII, working with CORS, and more. Then you will take a short quiz to test your knowledge." - ] - }, - "authentication": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about how authentication works in web applications along with other important concepts including JWTs, CSRFs, Passport, Helmet, cryptography and encryption, and more. You will then practice what you have learned in labs and workshops and test your knowledge with a short quiz." - ] - }, - "tooling-and-deployment": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about common tools used in the industry for deploying your full stack applications. Then you will take a short quiz to test your knowledge." - ] - }, - "how-to-get-a-developer-job": { - "note": "Coming Late 2026", - "intro": [ - "In this module, Quincy Larson (Founder and teacher of freeCodeCamp) will talk about strategies you can use to prepare for getting a developer job. Quincy will cover key subjects including résumés, portfolios, researching the market, preparing for technical interviews, and more." - ] - }, - "capstone-project": { - "note": "Coming Late 2026", - "intro": [ - "This will be your opportunity to build out a full stack application encompassing what you have learned throughout this certification." - ] - }, - "certified-full-stack-developer-exam": { - "note": "Coming Late 2026", - "intro": [ - "This will be a 90 question exam testing what you have learned throughout this certification." - ] - } - }, - "blocks": { - "workshop-curriculum-outline": { - "title": "Build a Curriculum Outline", - "intro": [ - "Welcome to freeCodeCamp!", - "This workshop will serve as your introduction to HTML and coding in general. You will learn about headings and paragraph elements." - ] - }, - "lab-debug-camperbots-profile-page": { - "title": "Debug Camperbot's Profile Page", - "intro": [ - "Camperbot is learning how to code too and needs some help with their HTML.", - "In this lab, you will help Camperbot find and fix the errors in their code." - ] - }, - "lecture-understanding-html-attributes": { - "title": "Understanding HTML Attributes", - "intro": [ - "In these lessons, you will learn more about HTML (HyperText Markup Language), a markup language for creating web pages.", - "You will learn about HTML's role on the web, and what HTML attributes are." - ] - }, - "lab-debug-pet-adoption-page": { - "title": "Debug a Pet Adoption Page", - "intro": [ - "In this lab, you will need to find and fix the errors in this pet adoption page." - ] - }, - "lecture-understanding-the-html-boilerplate": { - "title": "Understanding the HTML Boilerplate", - "intro": [ - "In these lessons, you will learn about the HTML boilerplate which is a ready-made template for your webpages.", - "You will learn how to work with the link element, meta element and more." - ] - }, - "workshop-cat-photo-app": { - "title": "Build a Cat Photo App", - "intro": [ - "HTML stands for HyperText Markup Language and it represents the content and structure of a web page.", - "In this workshop, you will learn how to work with basic HTML elements such as headings, paragraphs, images, links, and lists." - ] - }, - "lab-recipe-page": { - "title": "Build a Recipe Page", - "intro": [ - "In this lab, you'll review HTML basics by creating a web page of your favorite recipe. You'll create an HTML boilerplate and work with headings, lists, images, and more." - ] - }, - "lecture-html-fundamentals": { - "title": "HTML Fundamentals", - "intro": [ - "In these lessons, you will learn about HTML fundamentals like the div element, the id and class attributes, the HTML boilerplate, HTML entities, and more." - ] - }, - "workshop-bookstore-page": { - "title": "Build a Bookstore Page", - "intro": [ - "In this workshop, you will practice working with classes, ids and the div element by building a bookstore page." - ] - }, - "lecture-understanding-how-html-affects-seo": { - "title": "Understanding How HTML Affects SEO", - "intro": [ - "In these lessons, you will learn how your HTML code impacts search engine optimization." - ] - }, - "lab-travel-agency-page": { - "title": "Build a Travel Agency Page", - "intro": [ - "In this lab, you'll review working with HTML fundamentals by creating a web page for a travel agency. You'll work with images, the figure element, the figcaption element, the anchor element, and more." - ] - }, - "lecture-working-with-audio-and-video-elements": { - "title": "Working with Audio and Video Elements", - "intro": [ - "In these lessons, you will learn how to work with the audio and video elements." - ] - }, - "lab-html-audio-and-video-player": { - "title": "Build an HTML Audio and Video Player", - "intro": [ - "In this lab, you will build an HTML audio and video player using the video and audio elements with controls and source attributes." - ] - }, - "lecture-working-with-images-and-svgs": { - "title": "Working with Images and SVGs", - "intro": [ - "In these lessons, you will learn how to work with SVGs and learn about techniques for optimizing your images." - ] - }, - "workshop-build-a-heart-icon": { - "title": "Build a Heart Icon", - "intro": [ - "In this workshop, you will practice working with SVGs by building a heart icon" - ] - }, - "lecture-working-with-media": { - "title": "Working with the iframe Element", - "intro": [ - "In these lessons, you will learn how to work with the iframe element which is used to embed an external site on your web page." - ] - }, - "workshop-build-a-video-display-using-iframe": { - "title": "Build a Video Display Using iframe", - "intro": [ - "In this workshop, you'll learn how to work with the iframe element by building a video display." - ] - }, - "lab-video-compilation-page": { - "title": "Build a Video Compilation Page", - "intro": [ - "In this lab, you'll create a video compilation web page. You'll practice working with the iframe element." - ] - }, - "lecture-working-with-links": { - "title": "Working with Links", - "intro": [ - "In these lessons, you will learn about links, the target attribute, different link states, absolute, and relative paths, and more." - ] - }, - "review-basic-html": { - "title": "Basic HTML Review", - "intro": [ - "Before you are quizzed on the HTML knowledge you have gained so far, you first need to review the concepts.", - "Open up this page to review the HTML boilerplate, audio and video elements, the different target attribute values and more." - ] - }, - "quiz-basic-html": { - "title": "Basic HTML Quiz", - "intro": [ - "The following quiz will test your knowledge of the basic HTML concepts you have learned so far.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "lecture-importance-of-semantic-html": { - "title": "Importance of Semantic HTML", - "intro": [ - "In these lessons, you will learn about semantic HTML and why you should care about it, semantic elements, how semantic HTML differs from presentational HTML, and more." - ] - }, - "lecture-understanding-nuanced-semantic-elements": { - "title": "Understanding Nuanced Semantic Elements", - "intro": [ - "In these lessons, you will learn when you should use certain semantic elements like the em element over the i element, description lists, and more." - ] - }, - "workshop-major-browsers-list": { - "title": "Build a List of Major Web Browsers", - "intro": [ - "In this workshop, you will build a description list and work with the dl, dt, and dd elements." - ] - }, - "lecture-working-with-text-and-time-semantic-elements": { - "title": "Working with Text and Time Semantic Elements ", - "intro": [ - "In this lesson, you will learn about the importance of semantics in conveying meaning for text and time-related content including the time, blockquote elements and more." - ] - }, - "workshop-quincys-job-tips": { - "title": "Build Quincy's Job Tips Page", - "intro": [ - "In this workshop, you will practice working with semantic HTML by using the q, blockquote and cite elements." - ] - }, - "lecture-working-with-specialized-semantic-elements": { - "title": "Working with Specialized Semantic Elements", - "intro": [ - "In this lesson, you will learn about specialized semantic elements like u, s, code elements and more." - ] - }, - "workshop-blog-page": { - "title": "Build a Cat Blog Page", - "intro": [ - "In this workshop, you will build an HTML only blog page using semantic elements including the main, nav, article and footer elements." - ] - }, - "lab-event-hub": { - "title": "Build an Event Hub", - "intro": [ - "In this lab, you'll build an event hub and review semantic elements like header, nav, article, and more." - ] - }, - "review-semantic-html": { - "title": "Semantic HTML Review", - "intro": [ - "Before you are quizzed on semantic HTML, you first need to review the concepts.", - "Open up this page to review the em, strong, blockquote, address and more semantic HTML elements." - ] - }, - "quiz-semantic-html": { - "title": "Semantic HTML Quiz", - "intro": [ - "The following quiz will test your knowledge on semantic HTML concepts you have learned so far.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "lecture-working-with-forms": { - "title": "Working with Forms", - "intro": [ - "In these lessons, you will learn about forms, the role of labels, inputs and buttons in creating forms, client-side form validation, and form states." - ] - }, - "workshop-hotel-feedback-form": { - "title": "Build a Hotel Feedback Form", - "intro": [ - "In this workshop, you will build a Hotel Feedback Form.", - "You will practice working with labels, inputs, fieldsets, legends, textareas and buttons." - ] - }, - "lab-survey-form": { - "title": "Build a Survey Form", - "intro": [ - "In this lab, you'll review HTML forms by creating a survey form.", - "You'll practice working with the label element, the different input elements, the required attribute, and more. " - ] - }, - "lecture-working-with-tables": { - "title": "Working with Tables", - "intro": [ - "In these lessons, you will learn about HTML tables, how to create them, and when to use them." - ] - }, - "workshop-final-exams-table": { - "title": "Build a Final Exams Table", - "intro": [ - "In this workshop, you will practice working with HTML tables by building a table of final exams." - ] - }, - "lab-book-catalog-table": { - "title": "Build a Book Catalog Table", - "intro": [ - "In this lab, you'll review HTML tables by building a book information table.", - "You'll practice the different table components like the thead, tbody, th, tr, and td elements." - ] - }, - "lecture-working-with-html-tools": { - "title": "Working with HTML Tools", - "intro": [ - "In these lessons, you will learn about HTML tools and how they let you write better code. These tools include HTML validators, DOM Inspector, and the browser developer tools." - ] - }, - "review-html-tables-and-forms": { - "title": "HTML Tables and Forms Review", - "intro": [ - "Before you are quizzed on HTML forms, tables and tools, you first need to review the concepts.", - "Open up this page to review the table, input, and button elements as well as commonly used tools like the HTML validator and more." - ] - }, - "quiz-html-tables-and-forms": { - "title": "HTML Tables and Forms Quiz", - "intro": [ - "The following quiz will test your knowledge of HTML tables, forms and commonly used HTML tools.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "lecture-importance-of-accessibility-and-good-html-structure": { - "title": "Importance of Accessibility and Good HTML Structure", - "intro": [ - "In these lessons, you will learn about accessibility and its importance, assistive tools for people with disabilities, HTML attributes that let you create inclusive websites, accessibility best practices, and much more." - ] - }, - "workshop-debug-coding-journey-blog-page": { - "title": "Debug a Coding Journey Blog Page", - "intro": [ - "In this workshop, you will debug and fix accessibility errors in a coding blog page." - ] - }, - "lecture-accessible-tables-forms": { - "title": "Working with Accessible Tables and Forms", - "intro": [ - "In these lessons, you will learn about how to create accessible tables and forms." - ] - }, - "workshop-tech-conference-schedule": { - "title": "Build a Tech Conference Schedule Table", - "intro": [ - "In this workshop, you will build an accessible tech conference schedule table." - ] - }, - "lecture-introduction-to-aria": { - "title": "Introduction to ARIA", - "intro": [ - "In these lessons, you will learn about working with ARIA roles." - ] - }, - "workshop-accessible-audio-controller": { - "title": "Build an Accessible Audio Controller", - "intro": [ - "In this workshop, you will practice accessible HTML by building an audio controller that uses the aria-labelledby attribute." - ] - }, - "lecture-accessible-media-elements": { - "title": "Working with Accessible Media Elements", - "intro": [ - "In these lessons, you will learn about how to create accessible links, audio and video content." - ] - }, - "lab-checkout-page": { - "title": "Build a Checkout Page", - "intro": [ - "In this lab, you'll create an accessible checkout page.", - "You'll practice concepts like alt attributes and ARIA roles." - ] - }, - "lab-movie-review-page": { - "title": "Design a Movie Review Page", - "intro": [ - "In this lab, you'll create a movie review page.", - "You'll practice concepts like semantic HTML, alt attributes, accessible lists, and hiding decorative content from screen readers using aria-hidden." - ] - }, - "lab-multimedia-player": { - "title": "Build a Multimedia Player", - "intro": [ - "In this lab, you'll build a multimedia player.", - "You will practice working with the audio and video elements, the controls attribute, and the aria-label attribute." - ] - }, - "review-html-accessibility": { - "title": "HTML Accessibility Review", - "intro": [ - "Before you are quizzed on HTML and accessibility, you first need to review the concepts.", - "Open up this page to review concepts including the aria-hidden, aria-describedby, tabindex attributes and more." - ] - }, - "quiz-html-accessibility": { - "title": "HTML Accessibility Quiz", - "intro": [ - "The following quiz will test your knowledge on the accessibility concepts you have learned so far.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "review-html": { - "title": "HTML Review", - "intro": [ - "Before you take the HTML prep exam, you first need to review the concepts taught in the previous modules.", - "Open up this page to review concepts around the basics of HTML elements, semantic HTML, tables, forms and accessibility." - ] - }, - "qpra": { - "title": "30", - "intro": [] - }, - "lecture-understanding-computer-internet-and-tooling-basics": { - "title": "Understanding Computer, Internet, and Tooling Basics", - "intro": [ - "In these lessons, you will learn about the computer, its different parts, internet service providers (ISPs), and the tools professional developers use." - ] - }, - "lecture-working-with-file-systems": { - "title": "Working with File Systems", - "intro": [ - "In these lessons, you will learn how to work with file and folder systems on your computers. You will learn how to create, move, and delete files and folders, the best practices for naming and organizing files and folders, and more." - ] - }, - "lecture-browsing-the-web-effectively": { - "title": "Browsing the Web Effectively", - "intro": [ - "In these lessons, you will learn about what websites, search engine, and web browsers are, the different browsers available, and how to get the best out of a search engine." - ] - }, - "review-computer-basics": { - "title": "Computer Basics Review", - "intro": [ - "Before you are quizzed on basic computer and internet concepts, you first need to review.", - "Open up this page to review concepts like RAM, Internet service providers, common web browsers, search engines and more." - ] - }, - "quiz-computer-basics": { - "title": "Computer Basics Quiz", - "intro": [ - "Test what you've learned in this quiz of basic computer knowledge." - ] - }, - "lecture-what-is-css": { - "title": "What Is CSS?", - "intro": [ - "The following lessons are all about CSS. You will learn what CSS is and its role on the web, a CSS rule and its anatomy, the three ways to write CSS and when to use each, inline and block elements, and many more." - ] - }, - "workshop-cafe-menu": { - "title": "Design a Cafe Menu", - "intro": [ - "CSS tells the browser how to display your webpage. You can use CSS to set the color, font, size, and other aspects of HTML elements.", - "In this workshop, you'll learn CSS by designing a menu page for a cafe webpage." - ] - }, - "lab-business-card": { - "title": "Design a Business Card", - "intro": [ - "In this lab, you'll create a business card and style it using CSS.", - "You'll practice style properties like 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 lessons, you will learn about CSS specificity, the common selectors and their specificities, the cascade algorithm, inheritance, and more." - ] - }, - "review-basic-css": { - "title": "CSS Fundamentals Review", - "intro": [ - "Before you are quizzed on basic CSS concepts, you first need to review.", - "Open up this page to review concepts including margin, padding, CSS combinators, CSS specificity and more." - ] - }, - "quiz-basic-css": { - "title": "CSS Fundamentals Quiz", - "intro": [ - "Test what you've learned in this quiz of basic CSS knowledge." - ] - }, - "lecture-styling-lists-and-links": { - "title": "Styling Lists and Links", - "intro": [ - "In these lessons, you will learn the properties you need to know to effectively style lists and links, including link states like 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", - "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 lessons, you will learn about the properties and values you need to know to style backgrounds and borders of elements, alongside the accessibility considerations for backgrounds." - ] - }, - "lab-blog-post-card": { - "title": "Design a Blog Post Card", - "intro": [ - "In this lab, you'll design a blog post card using HTML and CSS", - "You'll practice concepts like background-color, border-radius, margins, paddings, and more." - ] - }, - "review-css-backgrounds-and-borders": { - "title": "Lists, Links, CSS Background and Borders Review", - "intro": [ - "Before you are quizzed on CSS backgrounds and borders, you first need to review.", - "Open up this page to review concepts including the background-image property, border property and more." - ] - }, - "quiz-css-backgrounds-and-borders": { - "title": "CSS Backgrounds and Borders Quiz", - "intro": [ - "Test what you've learned in this quiz of backgrounds and borders in CSS." - ] - }, - "lecture-user-interface-design-fundamentals": { - "title": "User Interface Design Fundamentals", - "intro": [ - "In these lessons, you will learn about the fundamentals of user interface (UI) design. You will learn about the terms you need to know to communicate with designers, visual hierarchy, scaling, alignment, whitespace, and much more." - ] - }, - "lecture-user-centered-design": { - "title": "User-Centered Design", - "intro": [ - "In these lessons, you will learn about best practices for designing user-facing features like dark mode, breadcrumbs, modal dialogs, and much more. You will also learn how to conduct user research, user requirements and testing." - ] - }, - "lecture-common-design-tools": { - "title": "Common Design Tools", - "intro": [ - "In these lessons, you will learn about the common design tools developers should know. You will also learn about design briefs and how developers work with them." - ] - }, - "review-design-fundamentals": { - "title": "Design Fundamentals Review", - "intro": [ - "Before you are quizzed on the design fundamentals you have learned so far, you first need to review.", - "Open up this page to review concepts like user-centered design, scale, alignment, good visual hierarchy and more." - ] - }, - "quiz-design-fundamentals": { - "title": "Design Fundamentals Quiz", - "intro": [ - "Test what you've learned in this quiz of UI design fundamentals." - ] - }, - "lecture-working-with-relative-and-absolute-units": { - "title": "Working with Relative and Absolute Units", - "intro": [ - "In these lessons, you will learn about relative and absolute units, and how they both impact what you see in the browser." - ] - }, - "lab-event-flyer-page": { - "title": "Build an Event Flyer Page", - "intro": [ - "In this lab, you'll create an event flyer page.", - "You will practice aligning elements using absolute and relative CSS." - ] - }, - "review-css-relative-and-absolute-units": { - "title": "CSS Relative and Absolute Units Review", - "intro": [ - "Before you are quizzed on relative and absolute units, you first need to review.", - "Open up this page to review concepts like percentages, px, rem, em, and more." - ] - }, - "quiz-css-relative-and-absolute-units": { - "title": "CSS Relative and Absolute Units Quiz", - "intro": [ - "Test what you've learned in this quiz of relative and absolute units in CSS." - ] - }, - "lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": { - "title": "Working with Pseudo-Classes and Pseudo-Elements in CSS", - "intro": [ - "In these lessons, you will learn about pseudo-classes and pseudo-elements, alongside their examples and how they work." - ] - }, - "workshop-greeting-card": { - "title": "Design a Greeting Card", - "intro": [ - "In the previous lessons, you learned how to work with the different types of pseudo-classes.", - "In this workshop, you will have a chance to practice what you have learned by designing a greeting card." - ] - }, - "lab-job-application-form": { - "title": "Build a Job Application Form", - "intro": [ - "In this lab you'll build a job application form and style it using pseudo-classes.", - "You'll practice concepts like :hover, :active, :focus, and more." - ] - }, - "review-css-pseudo-classes": { - "title": "CSS Pseudo-classes Review", - "intro": [ - "Before you're quizzed on CSS pseudo-classes and pseudo-elements, you should review what you've learned about them.", - "Open up this page to review concepts like the ::before and ::after pseudo-elements as well as the :hover, :active pseudo-classes and more." - ] - }, - "quiz-css-pseudo-classes": { - "title": "CSS Pseudo-classes Quiz", - "intro": ["Test your knowledge of CSS pseudo-classes with this quiz."] - }, - "lecture-working-with-colors-in-css": { - "title": "Working with Colors in CSS", - "intro": [ - "In these lessons, you will learn about linear and radial gradients, the color theory, different kinds of colors like named, RGB, Hex, and HSL colors. You will learn how these colors work, and which to use in specific cases." - ] - }, - "workshop-colored-markers": { - "title": "Build a Set of Colored Markers", - "intro": [ - "In this workshop, you'll build a set of colored markers. You'll practice different ways to set color values and how to pair colors with each other." - ] - }, - "lab-colored-boxes": { - "title": "Design a Set of Colored Boxes", - "intro": [ - "In this lab, you'll create a color grid and practice adding background colors to the grid items using hex codes, RGB, and predefined color names." - ] - }, - "review-css-colors": { - "title": "CSS Colors Review", - "intro": [ - "Before you're quizzed on CSS colors, you should review what you've learned about them.", - "Open up this page to review concepts like the rgb() function, hsl() function, hex codes, and more." - ] - }, - "quiz-css-colors": { - "title": "CSS Colors Quiz", - "intro": ["Test your knowledge of CSS colors with this quiz."] - }, - "lecture-best-practices-for-styling-forms": { - "title": "Best Practices for Styling Forms", - "intro": [ - "In these lessons, you will learn about the best practices for styling forms and issues you can encounter while styling special inputs like color and datetime-local." - ] - }, - "workshop-registration-form": { - "title": "Design a Registration Form", - "intro": [ - "In this workshop, you'll learn how to design HTML forms by designing a signup page. You'll learn how to control what types of data people can type into your form, and some new CSS tools for styling your page." - ] - }, - "lab-contact-form": { - "title": "Design a Contact Form", - "intro": [ - "In this lab, you'll design a contact form in HTML and style it using CSS." - ] - }, - "workshop-game-settings-panel": { - "title": "Build a Game Settings Panel", - "intro": [ - "In this workshop, you will practice styling checkboxes by building a game settings panel." - ] - }, - "lab-feature-selection": { - "title": "Design a Feature Selection Page", - "intro": [ - "In this lab, you'll build a feature selection page with custom-styled checkboxes.", - "You'll create feature cards with labels and checkboxes, then give custom styling to the checkboxes." - ] - }, - "review-styling-forms": { - "title": "Styling Forms Review", - "intro": [ - "Before you're quizzed on styling forms, you should review what you've learned.", - "Open up this page to review how to style form inputs, working with appearance: none and more." - ] - }, - "quiz-styling-forms": { - "title": "Styling Forms Quiz", - "intro": [ - "In this quiz, you will test your knowledge of how to style forms." - ] - }, - "lecture-working-with-css-transforms-overflow-and-filters": { - "title": "Working with CSS Transforms, Overflow, and Filters", - "intro": [ - "In these lessons, you will learn about working with CSS transforms, overflow, and filters. You will also learn about the box model and how it works." - ] - }, - "workshop-rothko-painting": { - "title": "Design a Rothko Painting", - "intro": [ - "Every HTML element is its own box – with its own spacing and a border. This is called the Box Model.", - "In this workshop, you'll use CSS and the Box Model to create your own Rothko-style rectangular art pieces." - ] - }, - "lab-confidential-email-page": { - "title": "Build a Confidential Email Page", - "intro": [ - "In this lab, you'll create a web page using HTML and mask the content using CSS properties." - ] - }, - "review-css-layout-and-effects": { - "title": "CSS Layouts and Effects Review", - "intro": [ - "Before you are quizzed on CSS Layouts and Effects, you first need to review.", - "Open up this page to review concepts like the transform property, the box model, the overflow property and more." - ] - }, - "quiz-css-layout-and-effects": { - "title": "CSS Layout and Effects Quiz", - "intro": [ - "In this quiz, you will test your knowledge of the box model, transforms, filters, and overflow in CSS." - ] - }, - "lecture-working-with-css-flexbox": { - "title": "Working with CSS Flexbox", - "intro": [ - "In these lessons, you will learn how CSS flexbox works, its properties, and when you should use it." - ] - }, - "workshop-flexbox-photo-gallery": { - "title": "Build a Flexbox Photo Gallery", - "intro": [ - "In this workshop, you'll use Flexbox to build a responsive photo gallery webpage." - ] - }, - "lab-page-of-playing-cards": { - "title": "Build a Page of Playing Cards", - "intro": [ - "In this lab, you'll use flexbox to create a webpage of playing cards.", - "You'll practice aligning elements using flexbox properties like flex-direction, justify-content, align-self, and more." - ] - }, - "review-css-flexbox": { - "title": "CSS Flexbox Review", - "intro": [ - "Before you're quizzed on CSS flexbox, you should review what you've learned.", - "Open up this page to review concepts like the flex-direction, justify-content, align-items, flex-wrap properties, and more." - ] - }, - "quiz-css-flexbox": { - "title": "CSS Flexbox Quiz", - "intro": ["Test what you've learned on CSS flexbox with this quiz."] - }, - "lecture-working-with-css-fonts": { - "title": "Working with CSS Fonts", - "intro": [ - "In these lessons, you will learn about typography and its best practices, fonts, and the text-shadow property." - ] - }, - "workshop-nutritional-label": { - "title": "Build a Nutritional Label", - "intro": [ - "Typography is the art of styling your text to be easily readable and suit its purpose.", - "In this workshop, you'll use typography to build a nutrition label webpage. You'll practice how to style text, adjust line height, and position your text using CSS." - ] - }, - "lab-newspaper-article": { - "title": "Build a Newspaper Article", - "intro": [ - "In this lab, you'll build a newspaper article page using HTML and CSS.", - "You'll style the fonts using properties like font-family, font-size, font-weight, and more." - ] - }, - "review-css-typography": { - "title": "CSS Typography Review", - "intro": [ - "Before you're quizzed on the fundamentals of typography, you should review what you've learned.", - "Open up this page to review concepts like web safe fonts, the font-family property and more." - ] - }, - "quiz-css-typography": { - "title": "CSS Typography Quiz", - "intro": ["Test your knowledge of typography with this quiz."] - }, - "lecture-best-practices-for-accessibility-and-css": { - "title": "Best Practices for Accessibility and CSS", - "intro": [ - "In these lessons, you will learn about best practices for accessibility in CSS, and the tools for checking good color contrast on websites." - ] - }, - "workshop-accessibility-quiz": { - "title": "Build a Quiz Webpage", - "intro": [ - "Accessibility is the process of making your webpages usable for everyone, including people with disabilities.", - "In this workshop, you'll build a quiz webpage. You'll learn accessibility tools such as keyboard shortcuts, ARIA attributes, and design best practices." - ] - }, - "lab-tribute-page": { - "title": "Build a Tribute Page", - "intro": [ - "In this lab, you'll build a tribute page for a subject of your choosing, fictional or real." - ] - }, - "review-css-accessibility": { - "title": "CSS Accessibility Review", - "intro": [ - "Before you're quizzed on CSS and accessibility, you should review what you've learned.", - "Open up this page to review concepts like color contrast tools and accessibility best practices." - ] - }, - "quiz-css-accessibility": { - "title": "CSS Accessibility Quiz", - "intro": [ - "In this quiz, you'll test what you've learned about making your webpages accessible with CSS." - ] - }, - "lecture-understanding-how-to-work-with-floats-and-positioning-in-css": { - "title": "Understanding How to Work with Floats and Positioning in CSS", - "intro": [ - "In these lessons, you will learn how to use CSS positioning and floats. You will learn about absolute, relative, fixed, and sticky positioning. You will also use the z-index property." - ] - }, - "workshop-cat-painting": { - "title": "Build a Cat Painting", - "intro": [ - "Mastering CSS positioning is essential for creating visually appealing and responsive web layouts.", - "In this workshop, you will build a cat painting. You'll learn about how to work with absolute positioning, the z-index property, and the transform property." - ] - }, - "lab-house-painting": { - "title": "Build a House Painting", - "intro": [ - "In this lab, you'll build a house painting using CSS.", - "You'll design individual elements of the house and position them using CSS properties like position, top, left, and more." - ] - }, - "review-css-positioning": { - "title": "CSS Positioning Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS positioning, you should review what you've learned.", - "Open up this page to review concepts like floats, relative positioning, absolute positioning and more." - ] - }, - "quiz-css-positioning": { - "title": "CSS Positioning Quiz", - "intro": ["Test your knowledge of CSS positioning with this quiz."] - }, - "lecture-working-with-attribute-selectors": { - "title": "Working with Attribute Selectors", - "intro": [ - "In these lessons, you will learn about attribute selectors and how to use them to target elements like links and lists." - ] - }, - "workshop-balance-sheet": { - "title": "Build a Balance Sheet", - "intro": [ - "In this workshop, you'll build a balance sheet using pseudo selectors. You'll learn how to change the style of an element when you hover over it with your mouse, and trigger other events on your webpage." - ] - }, - "lab-book-inventory-app": { - "title": "Build a Book Inventory App", - "intro": [ - "In this lab, you'll create a book inventory app.", - "You'll practice CSS attribute selectors like [attribute], [attribute=value], [attribute~=value], and more." - ] - }, - "review-css-attribute-selectors": { - "title": "CSS Attribute Selectors Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS attribute selectors, you should review what you've learned about them.", - "Open up this page to review concepts like how to work with different attribute selectors that target links with the href and title attributes." - ] - }, - "quiz-css-attribute-selectors": { - "title": "CSS Attribute Selectors Quiz", - "intro": [ - "Test your knowledge of CSS attribute selectors with this quiz." - ] - }, - "lecture-best-practices-for-responsive-web-design": { - "title": "Best Practices for Responsive Web Design", - "intro": [ - "In these lessons, you will learn about the best practices for responsive web design, the roles concepts like grid, flexbox, media queries, and media breakpoints play in responsive design, and more." - ] - }, - "workshop-piano": { - "title": "Design a Piano", - "intro": [ - "Responsive Design tells your webpage how it should look on different-sized screens.", - "In this workshop, you'll use CSS and responsive design to code a piano. You'll also practice media queries and pseudo selectors." - ] - }, - "lab-technical-documentation-page": { - "title": "Build a Technical Documentation Page", - "intro": [ - "In this lab, you'll build a technical documentation page to serve as instruction or reference for a topic.", - "You'll also practice media queries to create a responsive design." - ] - }, - "review-responsive-web-design": { - "title": "Responsive Web Design Review", - "intro": [ - "Before you're quizzed on the fundamentals of responsive design, you should review what you've learned.", - "Open up this page to review concepts like media queries, media breakpoints and mobile first approach design." - ] - }, - "quiz-responsive-web-design": { - "title": "Responsive Web Design Quiz", - "intro": [ - "Test what you've learned about making your webpages responsive with this quiz." - ] - }, - "lecture-working-with-css-variables": { - "title": "Working with CSS Variables", - "intro": [ - "In these lessons, you will learn how to define and use custom properties (also known as CSS variables). You will also learn about the @property rule and how it works." - ] - }, - "workshop-city-skyline": { - "title": "Build a City Skyline", - "intro": [ - "CSS variables help you organize your styles and reuse them.", - "In this workshop, you'll build a city skyline. You'll practice how to configure CSS variables so you can reuse them whenever you want." - ] - }, - "lab-availability-table": { - "title": "Build an Availability Table", - "intro": [ - "For this lab, you'll create an availability table that shows the availability of people for a meeting.", - "You'll practice using CSS variables to store and reuse colors, fonts, and other styles." - ] - }, - "review-css-variables": { - "title": "CSS Variables Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS variables, you should review what you've learned.", - "Open up this page to review how to work with CSS custom properties (CSS variables) and the @property rule." - ] - }, - "quiz-css-variables": { - "title": "CSS Variables Quiz", - "intro": ["Test your knowledge of CSS variables with this quiz."] - }, - "lecture-working-with-css-grid": { - "title": "Working with CSS Grid", - "intro": [ - "In these lessons, you will learn about CSS grid, its several properties and how to use them, and how CSS grid differs from flexbox." - ] - }, - "workshop-magazine": { - "title": "Build a Magazine", - "intro": [ - "CSS Grid gives you control over the rows and columns of your webpage design.", - "In this workshop, you'll build a magazine article. You'll practice how to use CSS Grid, including concepts like grid rows and grid columns." - ] - }, - "lab-newspaper-layout": { - "title": "Design a Newspaper Layout", - "intro": [ - "In this lab, you will design a newspaper layout using CSS Grid, including concepts like grid rows and grid columns." - ] - }, - "lecture-debugging-css": { - "title": "Debugging CSS", - "intro": [ - "In this lesson, you'll learn how to debug CSS using your browser's developer tools and CSS validators." - ] - }, - "lab-product-landing-page": { - "title": "Build a Product Landing Page", - "intro": [ - "In this project, you'll build a product landing page to market a product of your choice." - ] - }, - "review-css-grid": { - "title": "CSS Grid Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS Grid, you should review what you've learned.", - "Open up this page to review how to work with the different CSS Grid properties like grid-template-columns, grid-gap and more." - ] - }, - "quiz-css-grid": { - "title": "CSS Grid Quiz", - "intro": ["Test your knowledge of CSS Grid with this quiz."] - }, - "lecture-animations-and-accessibility": { - "title": "Animations and Accessibility", - "intro": [ - "In these lessons, you will learn about CSS animations and their accessibility concerns. You will also learn how prefers-reduced-motion can help address those accessibility concerns." - ] - }, - "workshop-ferris-wheel": { - "title": "Build an Animated Ferris Wheel", - "intro": [ - "You can use CSS animation to draw attention to specific sections of your webpage and make it more engaging.", - "In this workshop, you'll build a Ferris wheel. You'll practice how to use CSS to animate elements, transform them, and adjust their speed." - ] - }, - "lab-moon-orbit": { - "title": "Build a Moon Orbit", - "intro": [ - "In this lab, you'll create an animation of the moon orbiting the earth.", - "You'll practice animation properties like animation-name, animation-duration, animation-timing-function, and more." - ] - }, - "workshop-flappy-penguin": { - "title": "Build a Flappy Penguin", - "intro": [ - "You can transform HTML elements to create appealing designs that draw your reader's eye. You can use transforms to rotate elements, scale them, and more.", - "In this workshop, you'll build a penguin. You'll use CSS transforms to position and resize the parts of your penguin, create a background, and animate your work." - ] - }, - "lab-personal-portfolio": { - "title": "Build a Personal Portfolio", - "intro": [ - "In this project, you'll build your own personal portfolio page." - ] - }, - "review-css-animations": { - "title": "CSS Animations Review", - "intro": [ - "Before you're quizzed on working with CSS animations, you should review what you've learned about them.", - "Open up this page to review concepts including prefers-reduced-motion, the @keyframes rule and more." - ] - }, - "quiz-css-animations": { - "title": "CSS Animations Quiz", - "intro": ["Test your knowledge of CSS animations with this quiz."] - }, - "review-css": { - "title": "CSS Review", - "intro": [ - "Before you take the CSS prep exam, you first need to review the concepts taught in the previous modules.", - "Open up this page to review concepts around the basics of CSS, responsive web design, animations, accessibility and more." - ] - }, - "lecture-working-with-code-editors-and-ides": { - "title": "Working with Code Editors and IDEs", - "intro": [ - "In these lessons, you will learn how to work with code editors and IDEs. You will learn various concepts about the most popular code editor, VS Code such as its installation, how to create a project in it, keyboard shortcuts, and extensions." - ] - }, - "lecture-introduction-to-javascript": { - "title": "Introduction to JavaScript", - "intro": [ - "In these lessons, you will learn the fundamentals of JavaScript. Topics covered include, but are not limited to, variables, data types, how JavaScript interacts with HTML and CSS, and much more." - ] - }, - "lecture-introduction-to-strings": { - "title": "Introduction to Strings", - "intro": [ - "In these lessons, you will learn how to work with strings and string concatenation." - ] - }, - "lecture-understanding-code-clarity": { - "title": "Understanding Code Clarity", - "intro": [ - "In these lessons, you will learn about comments in JavaScript and the role of semicolons in programming." - ] - }, - "workshop-greeting-bot": { - "title": "Build a Greeting Bot", - "intro": [ - "In this workshop, you will learn JavaScript fundamentals by building a greeting bot.", - "You will learn about variables, let, const, console.log and basic string usage." - ] - }, - "lab-javascript-trivia-bot": { - "title": "Build a JavaScript Trivia Bot", - "intro": [ - "In this lab, you'll practice working with JavaScript variables and strings by building a trivia bot." - ] - }, - "lab-sentence-maker": { - "title": "Build a Sentence Maker", - "intro": [ - "In this lab, you will continue practicing with strings and concatenation by creating and customizing various stories." - ] - }, - "lecture-working-with-data-types": { - "title": "Working with Data Types", - "intro": [ - "In the following lessons, you will learn how to work with data types in JavaScript. You will also learn how dynamic typing differs from static typing, the typeof operator, and the typeof null bug." - ] - }, - "review-javascript-variables-and-data-types": { - "title": "JavaScript Variables and Data Types Review", - "intro": [ - "Before you are quizzed on JavaScript variables and data types you first need to review the concepts.", - "Open up this page to review variables, data types, logging and commenting." - ] - }, - "quiz-javascript-variables-and-data-types": { - "title": "JavaScript Variables and Data Types Quiz", - "intro": [ - "Test your knowledge of JavaScript variables and data types with this quiz." - ] - }, - "lecture-working-with-strings-in-javascript": { - "title": "Working with Strings in JavaScript", - "intro": [ - "In these lessons, you will learn how to work with strings in JavaScript. You will learn how to access characters from a string, how to use template literals and interpolation, how to create a new line in strings, and much more." - ] - }, - "workshop-teacher-chatbot": { - "title": "Build a Teacher Chatbot", - "intro": [ - "In this workshop, you will continue to learn more about JavaScript strings by building a chatbot.", - "You will learn how to work with template literals, and the indexOf method." - ] - }, - "lecture-working-with-string-character-methods": { - "title": "Working with String Character Methods", - "intro": [ - "In this lesson you will learn about ASCII character encoding and how to use JavaScript's charCodeAt() and fromCharCode() methods to convert between characters and their numerical ASCII values." - ] - }, - "lecture-working-with-string-search-and-slice-methods": { - "title": "Working with String Search and Slice Methods", - "intro": [ - "In this lesson you will learn how to search for substrings using the includes() method and how to extract portions of strings using the slice() method." - ] - }, - "workshop-string-inspector": { - "title": "Build a String Inspector", - "intro": [ - "In this workshop, you will practice working with the includes() and slice() methods by building a string inspector." - ] - }, - "lecture-working-with-string-formatting-methods": { - "title": "Working with String Formatting Methods", - "intro": [ - "In this lesson you will learn how to format strings by changing their case using toUpperCase() and toLowerCase() methods, and how to remove whitespace using trim(), trimStart(), and trimEnd() methods." - ] - }, - "workshop-string-formatter": { - "title": "Build a String Formatter", - "intro": [ - "In this workshop, you will practice working with various string methods including the trim(), toUpperCase() and toLowerCase() methods." - ] - }, - "lecture-working-with-string-modification-methods": { - "title": "Working with String Modification Methods", - "intro": [ - "In this lesson you will learn how to modify strings by replacing parts of them using the replace() method and how to repeat strings multiple times using the repeat() method." - ] - }, - "workshop-string-transformer": { - "title": "Build a String Transformer", - "intro": [ - "In this workshop, you will practice working with the replace(), replaceAll() and repeat() methods." - ] - }, - "review-javascript-strings": { - "title": "JavaScript Strings Review", - "intro": [ - "Before you are quizzed on working with JavaScript strings, you first need to review.", - "Open up this page to review how to work with template literals, the slice method, the includes method, the trim method and more." - ] - }, - "quiz-javascript-strings": { - "title": "JavaScript Strings Quiz", - "intro": ["Test your knowledge of JavaScript strings with this quiz."] - }, - "lecture-working-with-numbers-and-arithmetic-operators": { - "title": "Working with Numbers and Arithmetic Operators", - "intro": [ - "In these lessons you will learn about the number type, arithmetic operators, and using them with numbers and strings." - ] - }, - "lab-debug-type-coercion-errors": { - "title": "Debug Type Coercion Errors in a Buggy App", - "intro": [ - "In this lab, you will be working with a buggy app that contains several type coercion errors.", - "Your task is to identify and fix these errors to ensure the application functions correctly." - ] - }, - "lecture-working-with-operator-behavior": { - "title": "Working with Operator Behavior", - "intro": [ - "In these lessons you will learn about operator precedence, the increment and decrement operators, and compound assignment operators." - ] - }, - "lab-debug-increment-and-decrement-operator-errors": { - "title": "Debug Increment and Decrement Operator Errors in a Buggy App", - "intro": [ - "In this lab, you'll debug an application that has several errors related to the increment and decrement operators.", - "Your task is to identify and fix the errors so that the application works as intended." - ] - }, - "lecture-working-with-comparison-and-boolean-operators": { - "title": "Working with Comparison and Boolean Operators", - "intro": [ - "In these lessons you will learn about booleans, and equality and inequality operators, and other comparison operators." - ] - }, - "lecture-working-with-unary-and-bitwise-operators": { - "title": "Working with Unary and Bitwise Operators", - "intro": [ - "In these lessons you will learn about unary and bitwise operators." - ] - }, - "lecture-working-with-conditional-logic-and-math-methods": { - "title": "Working with Conditional Logic and Math Methods", - "intro": [ - "In these lessons you will learn about conditional statements, binary logical operators, and the Math object." - ] - }, - "workshop-mathbot": { - "title": "Build a Mathbot", - "intro": [ - "In this workshop, you will review how to work with the different Math object methods by building a Mathbot." - ] - }, - "lab-fortune-teller": { - "title": "Build a Fortune Teller", - "intro": [ - "In this lab, you'll build a fortune teller by randomly selecting a fortune from the available fortunes.", - "You'll practice how to work with the 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 lessons, you will learn about numbers and common number methods. These include isNaN(), parseInt(), parseFloat(), and toFixed()." - ] - }, - "review-javascript-math": { - "title": "JavaScript Math Review", - "intro": [ - "Before you're quizzed on working with the Math object, you should review what you've learned.", - "Open up this page to review how to work with the Math.random() method, the Math.floor() method and more." - ] - }, - "quiz-javascript-math": { - "title": "JavaScript Math Quiz", - "intro": [ - "Test your knowledge of the JavaScript Math object with this quiz." - ] - }, - "lecture-understanding-comparisons-and-conditionals": { - "title": "Understanding Comparisons and Conditionals", - "intro": [ - "In these lessons, you will learn about comparison operators and conditionals. You will learn how the various conditionals differ from one another, and how comparisons work with null and undefined." - ] - }, - "review-javascript-comparisons-and-conditionals": { - "title": "JavaScript Comparisons and Conditionals Review", - "intro": [ - "Before you're quizzed on working with conditionals, you should review what you've learned about them.", - "Open up this page to review how to work with switch statements, other types of conditionals and more." - ] - }, - "quiz-javascript-comparisons-and-conditionals": { - "title": "JavaScript Comparisons and Conditionals Quiz", - "intro": [ - "Test your knowledge of JavaScript Comparisons and Conditionals with this quiz." - ] - }, - "lecture-working-with-functions": { - "title": "Working with Functions", - "intro": [ - "In these lessons, you will learn how to reuse a block of code with functions. You will learn what the purpose of a function is and how they work, and how scope works in programming. " - ] - }, - "workshop-calculator": { - "title": "Build a Calculator", - "intro": [ - "In this workshop, you will review your knowledge of functions by building a calculator." - ] - }, - "lab-boolean-check": { - "title": "Build a Boolean Check Function", - "intro": [ - "In this lab, you'll implement a function that checks if a value is a boolean." - ] - }, - "lab-email-masker": { - "title": "Build an Email Masker", - "intro": [ - "In this lab, you'll build an email masker that will take an email address and obscure it.", - "You'll practice string slicing, concatenation, and using functions." - ] - }, - "workshop-loan-qualification-checker": { - "title": "Build a Loan Qualification Checker", - "intro": [ - "In this workshop, you will continue to learn how to work with conditionals by building a loan qualification checker app.", - "You will learn more about if statements, and how to use comparison operators and multiple conditions in an if statement." - ] - }, - "lab-celsius-to-fahrenheit-converter": { - "title": "Build a Celsius to Fahrenheit Converter", - "intro": [ - "In this lab you will implement a function that converts the temperature from Celsius to Fahrenheit." - ] - }, - "lab-counting-cards": { - "title": "Build a Card Counting Assistant", - "intro": ["In this lab you will use JavaScript to count dealt cards."] - }, - "lab-leap-year-calculator": { - "title": "Build a Leap Year Calculator ", - "intro": [ - "In this lab you'll use conditional statements and loops to determine if a year is a leap year." - ] - }, - "lab-truncate-string": { - "title": "Implement the Truncate String Algorithm", - "intro": [ - "In this lab, you will practice truncating a string at a certain length." - ] - }, - "lab-string-ending-checker": { - "title": "Build a Confirm the Ending Tool", - "intro": [ - "In this lab, you will implement a function that checks if a given string ends with a specified target string." - ] - }, - "review-javascript-functions": { - "title": "JavaScript Functions Review", - "intro": [ - "Before you're quizzed on JavaScript functions, you should review what you've learned about them.", - "Open up this page to review functions, arrow functions and scope." - ] - }, - "quiz-javascript-functions": { - "title": "JavaScript Functions Quiz", - "intro": ["Test your knowledge of JavaScript functions with this quiz."] - }, - "lecture-working-with-arrays": { - "title": "Working with Arrays", - "intro": [ - "In these lessons, you will learn how to work with JavaScript arrays. You will learn about what makes an array, one-dimensional and two-dimensional arrays, how to access and update the elements in an array, and much more." - ] - }, - "workshop-shopping-list": { - "title": "Build a Shopping List", - "intro": [ - "In this workshop, you will practice how to work with arrays by building a shopping list.", - "You will review how to add and remove elements from an array using methods like push, pop, shift, and unshift." - ] - }, - "lab-lunch-picker-program": { - "title": "Build a Lunch Picker Program", - "intro": [ - "In this lab, you'll review working with arrays and random numbers by building a lunch picker program." - ] - }, - "lab-golf-score-translator": { - "title": "Build a Golf Score Translator", - "intro": [ - "For this lab, you will use array methods to translate golf scores into their nickname." - ] - }, - "lab-reverse-a-string": { - "title": "Build a String Inverter", - "intro": [ - "In this lab, you create a function that reverses a given string." - ] - }, - "lecture-working-with-common-array-methods": { - "title": "Working with Common Array Methods", - "intro": [ - "In these lessons, you will learn about the array methods for performing more advanced operations like getting the position of an item in an array, checking if an array contains a certain element, copying an array, and lots more." - ] - }, - "review-javascript-arrays": { - "title": "JavaScript Arrays Review", - "intro": [ - "Before you're quizzed on JavaScript arrays, you should review what you've learned about them.", - "Open up this page to review concepts like array destructuring, how to add and remove elements from an array, and more." - ] - }, - "quiz-javascript-arrays": { - "title": "JavaScript Arrays Quiz", - "intro": ["Test your knowledge of JavaScript arrays with this quiz."] - }, - "lecture-introduction-to-javascript-objects-and-their-properties": { - "title": "Introduction to JavaScript Objects and Their Properties", - "intro": [ - "In these lessons, you will learn the fundamentals of JavaScript objects, including how to create them, access their properties, and understand the difference between primitive and non-primitive data types." - ] - }, - "lecture-working-with-optional-chaining-and-object-destructuring": { - "title": "Working with Optional Chaining and Object Destructuring", - "intro": [ - "In these lessons, you will learn about advanced object manipulation techniques in JavaScript, including the optional chaining operator and object destructuring syntax." - ] - }, - "lecture-working-with-json": { - "title": "Working with JSON", - "intro": [ - "In these lessons, you will learn about JavaScript Object Notation (JSON), including how to access JSON data and use the JSON.parse() and JSON.stringify() methods." - ] - }, - "workshop-recipe-tracker": { - "title": "Build a Recipe Tracker", - "intro": [ - "In this workshop, you will review working with JavaScript objects by building a recipe tracker." - ] - }, - "lab-quiz-game": { - "title": "Build a Quiz Game", - "intro": [ - "In this lab, you'll build a quiz game using JavaScript arrays and objects.", - "You'll also practice using functions to randomly select a question and an answer from an array and compare them." - ] - }, - "lab-record-collection": { - "title": "Build a Record Collection", - "intro": [ - "In this lab you will build a function to manage a record collection." - ] - }, - "review-javascript-objects": { - "title": "JavaScript Objects Review", - "intro": [ - "Before you're quizzed on JavaScript objects, you should review what you've learned about them.", - "Open up this page to review concepts including how to access information from objects, object destructuring, working with JSON, and more." - ] - }, - "quiz-javascript-objects": { - "title": "JavaScript Objects Quiz", - "intro": ["Test your knowledge of JavaScript objects with this quiz."] - }, - "lecture-working-with-loops": { - "title": "Working with Loops", - "intro": [ - "Loops are an essential part of JavaScript. That's why the following lessons have been prepared for you to learn about the different types of loops and how they work, and also how iteration works." - ] - }, - "workshop-sentence-analyzer": { - "title": "Build a Sentence Analyzer", - "intro": [ - "In this workshop, you'll review how to work with JavaScript loops by building a sentence analyzer app." - ] - }, - "lab-longest-word-in-a-string": { - "title": "Build a Longest Word Finder App", - "intro": [ - "In this lab, you will use JavaScript loops to find the length of the longest word in the given sentence." - ] - }, - "lab-factorial-calculator": { - "title": "Build a Factorial Calculator ", - "intro": [ - "In this lab, you'll build a factorial calculator.", - "You'll practice using loops and conditionals to calculate the factorial of a number." - ] - }, - "lab-mutations": { - "title": "Implement the Mutations Algorithm", - "intro": [ - "In this lab, you will practice iterating over two different strings to compare their characters." - ] - }, - "lab-chunky-monkey": { - "title": "Implement the Chunky Monkey Algorithm", - "intro": [ - "In this lab, you will practice dividing an array into smaller arrays with the technique of your choice." - ] - }, - "lab-profile-lookup": { - "title": "Build a Profile Lookup", - "intro": [ - "In this lab, you'll create a function that looks up profile information." - ] - }, - "lab-repeat-a-string": { - "title": "Build a String Repeating Function", - "intro": [ - "In this lab, you will implement loops to repeat a string a specified number of times." - ] - }, - "lab-missing-letter-detector": { - "title": "Build a Missing Letter Detector", - "intro": [ - "In this lab, you will build a function that finds the missing letter in a given range of consecutive letters and returns it." - ] - }, - "review-javascript-loops": { - "title": "JavaScript Loops Review", - "intro": [ - "Before you're quizzed on the different JavaScript loops, you should review them.", - "Open up this page to review the for...of loop, while loop, break and continue statements and more." - ] - }, - "quiz-javascript-loops": { - "title": "JavaScript Loops Quiz", - "intro": ["Test your knowledge of JavaScript loops with this quiz."] - }, - "lecture-working-with-types-and-objects": { - "title": "Working with Types and Objects", - "intro": [ - "In these lessons you will learn about string objects, the toString() method, the Number constructor and more." - ] - }, - "lecture-working-with-arrays-variables-and-naming-practices": { - "title": "Working with Arrays, Variables, and Naming Practices", - "intro": [ - "In these lessons you will learn about common practices for naming variables and functions, and how to work with arrays." - ] - }, - "lecture-working-with-code-quality-and-execution-concepts": { - "title": "Working with Code Quality and Execution Concepts", - "intro": [ - "In these lessons you will learn what are linters and formatters, what is memory management, and closures." - ] - }, - "lab-largest-number-finder": { - "title": "Build the Largest Number Finder", - "intro": [ - "In this lab, you will use JavaScript fundamentals to create a function that finds the largest number in each sub-array of a given array." - ] - }, - "lab-first-element-finder": { - "title": "Build a First Element Finder", - "intro": [ - "In this lab, you will create a function that looks through an array and returns the first element in it that passes a \"truth test\"." - ] - }, - "lab-slice-and-splice": { - "title": "Implement the Slice and Splice Algorithm", - "intro": [ - "In this lab, you will practice merging an array with another." - ] - }, - "lab-pyramid-generator": { - "title": "Build a Pyramid Generator", - "intro": [ - "In this lab you'll build a pyramid generator.", - "You'll take a number as input and generate a pyramid with that many levels using a loop." - ] - }, - "lab-gradebook-app": { - "title": "Build a Gradebook App", - "intro": [ - "For this lab, you'll create a gradebook app.", - "You'll practice conditionals to determine the student's grade based on their score." - ] - }, - "lecture-the-var-keyword-and-hoisting": { - "title": "The var Keyword and Hoisting", - "intro": [ - "In these lessons, you will learn about the 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-title-case-converter": { - "title": "Build a Title Case Converter", - "intro": [ - "In this lab, you will build a function that converts a string to title case." - ] - }, - "lab-falsy-remover": { - "title": "Implement a Falsy Remover", - "intro": [ - "In this lab, you will create a function that removes all falsy values from an array." - ] - }, - "lab-inventory-management-program": { - "title": "Build an Inventory Management Program", - "intro": [ - "For this lab, you'll build an inventory management program using JavaScript.", - "You'll use JavaScript array of objects to manage the inventory." - ] - }, - "lecture-understanding-modules-imports-and-exports": { - "title": "Understanding Modules, Imports, and Exports", - "intro": [ - "In this lesson, you will learn about modules, imports, and exports in JavaScript." - ] - }, - "lecture-working-with-the-arguments-object-and-rest-parameters": { - "title": "Working with the arguments Object and Rest Parameters", - "intro": [ - "In these lessons, you will learn how to work with the arguments object and rest parameter syntax." - ] - }, - "lab-unique-sorted-union": { - "title": "Implement a Unique Sorted Union", - "intro": [ - "In this lab, you will create a function that takes two or more arrays and returns a new array of unique values in the order of the original provided arrays." - ] - }, - "lab-password-generator": { - "title": "Build a Password Generator App", - "intro": [ - "In this lab, you'll build a password generator app based on the user's input." - ] - }, - "lab-sum-all-numbers-algorithm": { - "title": "Design a Sum All Numbers Algorithm", - "intro": [ - "In this lab, you will design a sum all numbers algorithm. This algorithm takes an array of two numbers and returns the sum of those two numbers plus the sum of all the numbers between them." - ] - }, - "lab-dna-pair-generator": { - "title": "Implement a DNA Pair Generator", - "intro": [ - "In this lab you will implement a DNA base pairing algorithm that converts a single DNA strand into complementary base pairs." - ] - }, - "lab-html-entitiy-converter": { - "title": "Implement an HTML Entity Converter", - "intro": [ - "In this lab, you will convert special characters in a string to their corresponding HTML entities." - ] - }, - "lab-odd-fibonacci-sum-calculator": { - "title": "Build an Odd Fibonacci Sum Calculator", - "intro": [ - "In this lab you will build an odd Fibonacci sum calculator that takes a number and returns the sum of all odd Fibonacci numbers that are less than or equal to that number." - ] - }, - "lab-element-skipper": { - "title": "Implement an Element Skipper", - "intro": [ - "In this lab you will create a function that skips elements in an array based on a specified step value." - ] - }, - "lab-optional-arguments-sum-function": { - "title": "Build an Optional Arguments Sum Function", - "intro": [ - "In this lab you will build a function that accepts up to two arguments, and sum them, but if there is only one argument returns a function that waits for the second number to sum." - ] - }, - "review-javascript-fundamentals": { - "title": "JavaScript Fundamentals Review", - "intro": [ - "Before you are quizzed on JavaScript fundamentals, you first need to review the concepts.", - "Open up this page to review concepts like closures, memory management, and more." - ] - }, - "quiz-javascript-fundamentals": { - "title": "JavaScript Fundamentals Quiz", - "intro": [ - "Test your knowledge of JavaScript fundamentals with this quiz." - ] - }, - "lecture-working-with-higher-order-functions-and-callbacks": { - "title": "Working with Higher Order Functions and Callbacks", - "intro": [ - "In these lessons, you will learn how to work with higher order functions and callbacks. The higher order functions you will learn include 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": { - "title": "Build a Library Manager", - "intro": [ - "In this workshop, you will learn higher order array methods by building a library manager." - ] - }, - "lab-book-organizer": { - "title": "Build a Book Organizer", - "intro": [ - "In this lab, you'll build a book organizer using higher order functions in JavaScript." - ] - }, - "lab-sorted-index-finder": { - "title": "Implement a Sorted Index Finder", - "intro": [ - "In this lab, you will create a function that finds the index at which a given number should be inserted into a sorted array to maintain the array's sorted order." - ] - }, - "lab-symmetric-difference": { - "title": "Build a Symmetric Difference Function", - "intro": [ - "In this lab, you will practice using higher order functions to find the symmetric difference between two arrays." - ] - }, - "lab-value-remover-function": { - "title": "Implement a Value Remover Function", - "intro": [ - "In this lab, you will create a function that removes all instances of a specified value from an array." - ] - }, - "lab-matching-object-filter": { - "title": "Implement a Matching Object Filter", - "intro": [ - "In this lab, you will create a function that looks through an array of objects and returns an array of all objects that have matching property and value pairs." - ] - }, - "lab-prime-number-sum-calculator": { - "title": "Build a Prime Number Sum Calculator", - "intro": [ - "In this lab you will build a prime number sum calculator that takes a number and returns the sum of all prime numbers that are less than or equal to that number." - ] - }, - "lab-range-based-lcm-calculator": { - "title": "Implement a Range-Based LCM Calculator", - "intro": [ - "In this lab, you will create a function that takes an array of two numbers and returns the least common multiple (LCM) of those two numbers and all the numbers between them." - ] - }, - "lab-deep-flattening-tool": { - "title": "Create a Deep Flattening Tool", - "intro": [ - "In this lab you will create a function that can flatten deeply nested arrays, handling any level of nesting without using built-in flat methods." - ] - }, - "lab-all-true-property-validator": { - "title": "Build an All-True Property Validator", - "intro": [ - "In this lab you will build a function that checks if all objects in an array have a truthy value for a specific property." - ] - }, - "review-javascript-higher-order-functions": { - "title": "JavaScript Higher Order Functions Review", - "intro": [ - "Before you're quizzed on JavaScript higher order functions, you should review them.", - "Open up this page to review concepts including how to work with the map(), filter(), and reduce() methods." - ] - }, - "quiz-javascript-higher-order-functions": { - "title": "JavaScript Higher Order Functions Quiz", - "intro": [ - "Test your knowledge of JavaScript higher order functions with this quiz." - ] - }, - "lecture-working-with-the-dom-click-events-and-web-apis": { - "title": "Working with the DOM, Click Events, and Web APIs", - "intro": [ - "In these lessons, you will learn how to work with the Document Object Model (DOM), the addEventListener() method and events, and web APIs." - ] - }, - "workshop-storytelling-app": { - "title": "Build a Storytelling App", - "intro": [ - "In this workshop, you will build a storytelling app that will allow you to list different stories based on genre." - ] - }, - "workshop-emoji-reactor": { - "title": "Build an Emoji Reactor", - "intro": [ - "In this workshop, you will build an emoji reactor to practice querySelector and querySelectorAll." - ] - }, - "lab-favorite-icon-toggler": { - "title": "Build a Favorite Icon Toggler", - "intro": [ - "In this lab, you'll build a favorite icon toggler by utilizing JavaScript click events." - ] - }, - "lecture-understanding-the-event-object-and-event-delegation": { - "title": "Understanding the Event Object and Event Delegation", - "intro": [ - "In these lessons, you will learn about the event object, the change event, event bubbling, and event delegation." - ] - }, - "workshop-music-instrument-filter": { - "title": "Build a Music Instrument Filter", - "intro": [ - "In this workshop, you will build a music instrument filter with JavaScript." - ] - }, - "lab-real-time-counter": { - "title": "Build a Real Time Counter", - "intro": [ - "In this lab, you'll build a real-time character counter", - "You'll practice how to work with the input event when the user types in the input field." - ] - }, - "lab-lightbox-viewer": { - "title": "Build a Lightbox Viewer", - "intro": [ - "In this lab, you'll build a lightbox viewer for viewing images in a focused mode.", - "You'll practice click events and toggling classes." - ] - }, - "workshop-rps-game": { - "title": "Build a Rock, Paper, Scissors Game", - "intro": [ - "In this workshop, you will review DOM manipulation and events by building a Rock, Paper, Scissors Game." - ] - }, - "lab-football-team-cards": { - "title": "Build a Set of Football Team Cards", - "intro": [ - "In this lab, you'll use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards." - ] - }, - "review-dom-manipulation-and-click-events-with-javascript": { - "title": "DOM Manipulation and Click Events with JavaScript Review", - "intro": [ - "Before you're quizzed on the DOM, you should review what you've learned about it.", - "Open up this page to review concepts including how to work with the DOM, Web APIs, the addEventListener() method, change events, event bubbling and more." - ] - }, - "quiz-dom-manipulation-and-click-event-with-javascript": { - "title": "DOM Manipulation and Click Events with JavaScript Quiz", - "intro": [ - "Test your knowledge of DOM manipulation and click events in JavaScript with this quiz." - ] - }, - "lecture-understanding-aria-expanded-aria-live-and-common-aria-states": { - "title": "Understanding aria-expanded, aria-live, and Common ARIA States", - "intro": [ - "In these lessons you will learn more about ARIA attributes like aria-expanded, aria-live, and common ARIA states." - ] - }, - "workshop-planets-tablist": { - "title": "Build a Planets Tablist", - "intro": [ - "In this workshop, you will build a dynamic tabbed interface that showcases facts about the planets in the solar system." - ] - }, - "workshop-note-taking-app": { - "title": "Build a Note Taking App", - "intro": [ - "In this workshop, you are going to build an accessible note taking app.", - "This will provide you with the opportunity to practice working with aria-live attribute." - ] - }, - "lab-theme-switcher": { - "title": "Build a Theme Switcher", - "intro": [ - "In this lab, you will build a theme switcher and practice working with the aria-haspopup, aria-expanded, and aria-controls attributes." - ] - }, - "review-js-a11y": { - "title": "JavaScript and Accessibility Review", - "intro": [ - "Before you're quizzed on JavaScript and accessibility, you should review what you've learned about it.", - "Open up this page to review concepts including how to work with the aria-expanded, aria-live, and aria-controls attributes." - ] - }, - "quiz-js-a11y": { - "title": "JavaScript and Accessibility Quiz", - "intro": [ - "Test your knowledge of JavaScript and accessibility best practices with this quiz." - ] - }, - "lecture-debugging-techniques": { - "title": "Debugging Techniques", - "intro": [ - "In these lessons, you will learn about the common errors in JavaScript and the techniques you can use to fix them – a process called debugging." - ] - }, - "lab-random-background-color-changer": { - "title": "Debug a Random Background Color Changer", - "intro": [ - "In this lab, you'll debug a random background color changer and fix the errors to make it work properly." - ] - }, - "review-debugging-javascript": { - "title": "Debugging JavaScript Review", - "intro": [ - "Before you're quizzed on common debugging techniques, you should review what you've learned.", - "Open up this page to review concepts including how to work with the throw statement, try...catch...finally and more." - ] - }, - "quiz-debugging-javascript": { - "title": "Debugging JavaScript Quiz", - "intro": ["Test your knowledge of JavaScript debugging with this quiz."] - }, - "lecture-working-with-regular-expressions": { - "title": "Working with Regular Expressions", - "intro": [ - "In these lessons, you will learn about regular expressions in JavaScript. You will learn about the methods for working with regular expressions, modifiers, character classes, lookaheads, lookbehinds, back-references, quantifiers, and more." - ] - }, - "workshop-spam-filter": { - "title": "Build a Spam Filter", - "intro": [ - "Regular expressions, often shortened to \"regex\" or \"regexp\", are patterns that help programmers match, search, and replace text. Regular expressions are powerful, but can be difficult to understand because they use so many special characters.", - "In this workshop, you'll use capture groups, positive lookaheads, negative lookaheads, and other techniques to match any text you want." - ] - }, - "lab-palindrome-checker": { - "title": "Build a Palindrome Checker", - "intro": [ - "For this lab, you'll build an application that checks whether a given word is a palindrome." - ] - }, - "lab-markdown-to-html-converter": { - "title": "Build a Markdown to HTML Converter", - "intro": [ - "For this lab, you'll build a Markdown to HTML converter using JavaScript.", - "You'll practice regular expressions, string manipulation, and more." - ] - }, - "lab-regex-sandbox": { - "title": "Build a RegEx Sandbox", - "intro": ["In this lab you'll build a regex sandbox."] - }, - "lab-spinal-case-converter": { - "title": "Implement a Spinal Case Converter", - "intro": [ - "In this lab, you will create a function that converts a given string to spinal case which is a style of writing where all letters are lowercase and separated by hyphens." - ] - }, - "lab-pig-latin": { - "title": "Implement a Pig Latin Translator", - "intro": [ - "In this lab, you'll implement a Pig Latin translator using JavaScript.", - "You'll practice string manipulation, conditional logic, and regular expressions." - ] - }, - "lab-smart-word-replacement": { - "title": "Build a Smart Word Replacement Function", - "intro": [ - "In this lab, you will use regex to create a function that performs a search and replace operation on a given string." - ] - }, - "review-javascript-regular-expressions": { - "title": "JavaScript Regular Expressions Review", - "intro": [ - "Before you're quizzed on Regular Expressions, you should review what you've learned.", - "Open up this page to review concepts like lookaheads, lookbehinds, common regex modifiers and more." - ] - }, - "quiz-javascript-regular-expressions": { - "title": "JavaScript Regular Expressions Quiz", - "intro": [ - "Test your knowledge of JavaScript Regular Expressions with this quiz." - ] - }, - "lecture-understanding-form-validation": { - "title": "Understanding Form Validation", - "intro": [ - "In these lessons, you will learn about form validation in JavaScript. You will learn about the various ways to validate forms, how the preventDefault() method works, and how the submit event works." - ] - }, - "workshop-calorie-counter": { - "title": "Build a Calorie Counter", - "intro": [ - "Sometimes when you're coding a web application, you'll need to be able to accept input from a user. In this calorie counter workshop, you'll practice how to validate user input, perform calculations based on that input, and dynamically update your interface to display the results.", - "You'll also practice basic regular expressions, template literals, the addEventListener() method, and more." - ] - }, - "lab-customer-complaint-form": { - "title": "Build a Customer Complaint Form", - "intro": [ - "For this lab, you'll use JavaScript to validate a customer complaint form.", - "You'll practice how to validate form inputs, display error messages, and prevent the form from submitting if there are errors." - ] - }, - "review-form-validation-with-javascript": { - "title": "Form Validation with JavaScript Review", - "intro": [ - "Before you're quizzed on form validation, you should review what you've learned.", - "Open up this page to review concepts including the preventDefault() method, the submit event and more." - ] - }, - "quiz-form-validation-with-javascript": { - "title": "Form Validation with JavaScript Quiz", - "intro": [ - "Test what you've learned about JavaScript form validation with this quiz." - ] - }, - "lecture-working-with-dates": { - "title": "Working with Dates", - "intro": [ - "In these lessons, you will learn about the JavaScript date object. You will learn about the methods for working with dates and how to format dates." - ] - }, - "lab-date-conversion": { - "title": "Build a Date Conversion Program", - "intro": [ - "In this lab, you'll build a program to convert a date from one format to another." - ] - }, - "review-javascript-dates": { - "title": "JavaScript Dates Review", - "intro": [ - "Before you're quizzed on working with dates, you should review what you've learned.", - "Open up this page to review the Date() object and common methods." - ] - }, - "quiz-javascript-dates": { - "title": "JavaScript Dates Quiz", - "intro": [ - "Test what you've learned about JavaScript Dates with this quiz." - ] - }, - "lecture-working-with-audio-and-video": { - "title": "Working with Audio and Video", - "intro": [ - "In these lessons, you will learn how to work with audio and video files using JavaScript. You will learn about the Audio and Video constructors, their methods and properties, audio and video formats, codecs, the HTMLMediaElement API, and much more." - ] - }, - "workshop-music-player": { - "title": "Build a Music Player", - "intro": [ - "In this workshop, you'll code a basic MP3 player using HTML, CSS, and JavaScript.", - "The project covers fundamental concepts such as handling audio playback, managing a playlist, implementing play, pause, next, and previous functionalities and dynamically update your user interface based on the current song." - ] - }, - "lab-drum-machine": { - "title": "Build a Drum Machine", - "intro": [ - "For this lab you will use the audio element to build a drum machine." - ] - }, - "review-javascript-audio-and-video": { - "title": "JavaScript Audio and Video Review", - "intro": [ - "Before you're quizzed on working with audio and video in JavaScript, you should review what you've learned about them.", - "Open up this page to review concepts including the Audio constructor, the HTMLMediaElement API and more." - ] - }, - "quiz-javascript-audio-and-video": { - "title": "JavaScript Audio and Video Quiz", - "intro": [ - "Test what you've learned about JavaScript audio and video with this quiz." - ] - }, - "lecture-working-with-maps-and-sets": { - "title": "Working with Maps and Sets", - "intro": [ - "In these lessons, you will learn about JavaScript Map and Set. You will also learn how they both differ from WeakSets and WeakMaps." - ] - }, - "workshop-plant-nursery-catalog": { - "title": "Build a Plant Nursery Catalog", - "intro": [ - "In this workshop, you will practice using Maps and Sets by building a plant nursery catalog." - ] - }, - "lab-voting-system": { - "title": "Build a Voting System", - "intro": [ - "In this lab, you'll build a voting system using Maps and Sets.", - "You'll practice how to use the Map object to store key-value pairs and the Set object to store unique values." - ] - }, - "review-javascript-maps-and-sets": { - "title": "JavaScript Maps and Sets Review", - "intro": [ - "Before you're quizzed on JavaScript Maps and Sets, you should review what you've learned about them.", - "Open up this page to review concepts such as the Map and Set objects, as well as WeakSet and WeakMap." - ] - }, - "quiz-javascript-maps-and-sets": { - "title": "JavaScript Maps and Sets Quiz", - "intro": [ - "Test what you've learned about JavaScript Maps and Sets with this quiz." - ] - }, - "lecture-working-with-client-side-storage-and-crud-operations": { - "title": "Working with Client-Side Storage and CRUD Operations", - "intro": [ - "In these lessons, you will learn about client-side storage and CRUD operations in JavaScript. You will learn about localStorage and sessionStorage alongside their methods and properties, cookies, the Cache API, IndexDB, and much more." - ] - }, - "workshop-todo-app": { - "title": "Build a Todo App using Local Storage", - "intro": [ - "Local storage is a web browser feature that lets web applications store key-value pairs persistently within a user's browser. This allows web apps to save data during one session, then retrieve it in a later page session.", - "In this workshop, you'll learn how to handle form inputs, manage local storage, perform CRUD (Create, Read, Update, Delete) operations on tasks, implement event listeners, and toggle UI elements." - ] - }, - "lab-bookmark-manager-app": { - "title": "Build a Bookmark Manager App", - "intro": [ - "For this lab, you'll build a bookmark manager app.", - "You'll utilize local storage to store bookmarks, and practice how to add, remove, and display bookmarks." - ] - }, - "review-local-storage-and-crud": { - "title": "Local Storage and CRUD Review", - "intro": [ - "Before you are quizzed on working with localStorage, you first need to review the concepts.", - "Open up this page to review the localStorage property, sessionStorage property and more." - ] - }, - "quiz-local-storage-and-crud": { - "title": "Local Storage and CRUD Quiz", - "intro": [ - "Test what you've learned about local storage and CRUD with this quiz." - ] - }, - "lecture-understanding-how-to-work-with-classes-in-javascript": { - "title": "Understanding How to Work with Classes in JavaScript", - "intro": [ - "In these lessons, you will learn about classes in JavaScript. You will learn about inheritance, the this keyword, static properties and methods, and more." - ] - }, - "workshop-shopping-cart": { - "title": "Build a Shopping Cart", - "intro": [ - "In this workshop you'll create a shopping cart using JavaScript classes.", - "You will practice how to use the this keyword, create class instances, implement methods for data manipulation and more." - ] - }, - "lab-project-idea-board": { - "title": "Build a Project Idea Board", - "intro": [ - "In this lab, you'll build a project idea board using OOP in JavaScript.", - "You'll practice how to create classes, add methods to classes, and create instances of classes." - ] - }, - "lab-bank-account-manager": { - "title": "Build a Bank Account Management Program", - "intro": [ - "In this lab, you'll build a simple transaction management system for a bank account." - ] - }, - "review-javascript-classes": { - "title": "JavaScript Classes Review", - "intro": [ - "Before you're quizzed on how to work with classes, you should review what you've learned about them.", - "Open up this page to review concepts including the this keyword, class inheritance and more." - ] - }, - "quiz-javascript-classes": { - "title": "JavaScript Classes Quiz", - "intro": [ - "Test what you've learned about JavaScript classes with this quiz." - ] - }, - "lecture-understanding-recursion-and-the-call-stack": { - "title": "Understanding Recursion and the Call Stack", - "intro": [ - "In this lesson, you will learn about recursion and the call stack." - ] - }, - "workshop-decimal-to-binary-converter": { - "title": "Build a Decimal to Binary Converter", - "intro": [ - "Recursion is a programming concept where a function calls itself. This can reduce a complex problem into simpler sub-problems, until they become straightforward to solve.", - "In this workshop, you’ll build a decimal-to-binary converter using JavaScript. You’ll practice the fundamental concepts of recursion, explore the call stack, and build out a visual representation of the recursion process through an animation." - ] - }, - "lab-permutation-generator": { - "title": "Build a Permutation Generator", - "intro": [ - "For this lab, you'll build a permutation generator that produces all possible permutations of a given string." - ] - }, - "review-recursion": { - "title": "Recursion Review", - "intro": [ - "Before you're quizzed on recursion, you should review what you've learned.", - "Open up this page to review what is recursion and what is it used for." - ] - }, - "quiz-recursion": { - "title": "Recursion Quiz", - "intro": ["Test your knowledge of Recursion with this quiz."] - }, - "lecture-understanding-functional-programming": { - "title": "Understanding Functional Programming", - "intro": [ - "In these lessons, you will learn about functional programming and how to nest functions using a technique called currying." - ] - }, - "workshop-recipe-ingredient-converter": { - "title": "Build a Recipe Ingredient Converter", - "intro": [ - "In the previous lessons, you learned the core concepts behind functional programming and currying.", - "Now you will be able to apply what you have learned about currying and functional programming by building a recipe ingredient converter application." - ] - }, - "lab-sorting-visualizer": { - "title": "Build a Sorting Visualizer", - "intro": [ - "For this lab, you'll use JavaScript to visualize the steps that the Bubble Sort algorithm takes to reorder an array of integers." - ] - }, - "review-javascript-functional-programming": { - "title": "JavaScript Functional Programming Review", - "intro": [ - "Before you're quizzed on functional programming, you should review what you've learned.", - "Open up this page to review concepts on functional programming, currying and more." - ] - }, - "quiz-javascript-functional-programming": { - "title": "JavaScript Functional Programming Quiz", - "intro": [ - "Test what you've learned about JavaScript functional programming with this quiz." - ] - }, - "lecture-understanding-asynchronous-programming": { - "title": "Understanding Asynchronous Programming", - "intro": [ - "In these lessons, you will learn about asynchronous programming in JavaScript. You will learn about the differences between synchronous and asynchronous programming, how the async keyword works, the Fetch API, promises, async/await, the Geolocation API, and much more." - ] - }, - "workshop-fcc-authors-page": { - "title": "Build an fCC Authors Page", - "intro": [ - "One common aspect of web development is learning how to fetch data from an external API, then work with asynchronous JavaScript.", - "In this workshop you will practice how to use the fetch method, dynamically update the DOM to display the fetched data and paginate your data so you can load results in batches." - ] - }, - "lab-fcc-forum-leaderboard": { - "title": "Build an fCC Forum Leaderboard", - "intro": [ - "For this lab you'll practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard." - ] - }, - "lab-weather-app": { - "title": "Build a Weather App", - "intro": [ - "In this lab you'll build a Weather App using an API", - "You'll practice how to fetch data from the API, store and display it on your app." - ] - }, - "review-asynchronous-javascript": { - "title": "Asynchronous JavaScript Review", - "intro": [ - "Review asynchronous JavaScript concepts to prepare for the upcoming quiz." - ] - }, - "quiz-asynchronous-javascript": { - "title": "Asynchronous JavaScript Quiz", - "intro": [ - "Test what you've learned about asynchronous JavaScript with this quiz." - ] - }, - "review-javascript": { - "title": "JavaScript Review", - "intro": [ - "Before you take the JavaScript prep exam, you should review everything you've learned about JavaScript.", - "Open up this page to review all of the concepts taught including variables, strings, booleans, functions, objects, arrays, debugging, working with the DOM and more." - ] - }, - "kagw": { - "title": "258", - "intro": [] - }, - "lecture-introduction-to-javascript-libraries-and-frameworks": { - "title": "Introduction to JavaScript Libraries and Frameworks", - "intro": [ - "In these lessons, you will get an introduction to JavaScript libraries and frameworks. You will learn about the roles of JavaScript libraries and frameworks, single page applications (SPAs) and the issue surrounding them, and React, the most popular frontend JavaScript library." - ] - }, - "workshop-reusable-mega-navbar": { - "title": "Build a Reusable Mega Navbar", - "intro": [ - "In the previous lessons, you learned how to work with components in React.", - "In this workshop, you will build a reusable Navbar component using React." - ] - }, - "lab-reusable-footer": { - "title": "Build a Reusable Footer", - "intro": ["In this lab, you'll use React to build a reusable footer."] - }, - "lecture-working-with-data-in-react": { - "title": "Working with Data in React", - "intro": [ - "In these lessons, you will learn how to work with data in React. You will learn about props and how to pass them around, conditional rendering, how to render lists, and how to use inline styles." - ] - }, - "workshop-reusable-profile-card-component": { - "title": "Build a Reusable Profile Card Component", - "intro": [ - "In this workshop, you will learn how to work with props by building a reusable profile card component." - ] - }, - "lab-mood-board": { - "title": "Build a Mood Board", - "intro": [ - "In this lab, you'll create a mood board using React.", - "You'll practice how to pass data from a parent component to a child component using props." - ] - }, - "review-react-basics": { - "title": "React Basics Review", - "intro": [ - "Review basic React concepts to prepare for the upcoming quiz." - ] - }, - "quiz-react-basics": { - "title": "React Basics Quiz", - "intro": ["Test your knowledge of React basics with this quiz."] - }, - "lecture-working-with-state-and-responding-to-events-in-react": { - "title": "Working with State and Responding to Events in React", - "intro": [ - "In these lessons, you will learn about working with state and responding to events with React." - ] - }, - "workshop-toggle-text-app": { - "title": "Toggle Text App", - "intro": [ - "In this workshop, you will continue to learn about the useState() hook by building an application that hides and shows a piece of text on the screen." - ] - }, - "lab-color-picker": { - "title": "Build a Color Picker App", - "intro": [ - "In this lab you'll build a Color Picker.", - "You'll practice using state and hooks to manage the properties of an element." - ] - }, - "lecture-understanding-effects-and-referencing-values-in-react": { - "title": "Understanding Effects and Referencing Values in React", - "intro": [ - "In these lessons, you will learn about effects and referencing values with React." - ] - }, - "workshop-fruit-search-app": { - "title": "Build a Fruit Search App", - "intro": [ - "In this workshop, you will continue to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically." - ] - }, - "lab-one-time-password-generator": { - "title": "Build a One-Time Password Generator", - "intro": [ - "In this lab you'll build a one-time password generator.", - "You'll practice using the useEffect hooks to create a timer and generate a random OTP." - ] - }, - "review-react-state-and-hooks": { - "title": "React State and Hooks Review", - "intro": [ - "Before you're quizzed on React state and hooks, you should review what you've learned.", - "Open up this page to review working with state, custom hooks and more." - ] - }, - "quiz-react-state-and-hooks": { - "title": "React State and Hooks Quiz", - "intro": [ - "Test what you've learned about React's useState and useEffect hooks with this quiz." - ] - }, - "lecture-working-with-forms-in-react": { - "title": "Working with Forms in React", - "intro": [ - "In these lessons, you will learn about working with forms in React." - ] - }, - "workshop-superhero-application-form": { - "title": "Build a Superhero Application Form", - "intro": [ - "In this workshop, you will build a superhero application form." - ] - }, - "lab-event-rsvp": { - "title": "Build an Event RSVP", - "intro": [ - "In this lab, you'll build an Event RSVP form using React.", - "You'll practice using the useState hook to manage form input and display user responses." - ] - }, - "lecture-working-with-data-fetching-and-memoization-in-react": { - "title": "Working with Data Fetching and Memoization in React", - "intro": [ - "In these lessons, you will learn about data fetching and memoization in React." - ] - }, - "workshop-shopping-list-app": { - "title": "Build a Shopping List App", - "intro": [ - "In this workshop, you'll use the useMemo() and useCallback() hooks in React to build a simple shopping list app. You'll learn more about state and the lifecycle of React components, and how to use memoization to reduce re-renders and make your apps more efficient." - ] - }, - "lab-currency-converter": { - "title": "Build a Currency Converter", - "intro": [ - "For this lab, you'll build a currency converter app.", - "You'll use React state, memoization, and controlled components to convert between currencies." - ] - }, - "lecture-routing-react-frameworks-and-dependency-management-tools": { - "title": "Routing, React Frameworks, and Dependency Management Tools", - "intro": [ - "In these lessons, you will learn about routing in React, React frameworks, and dependency management tools." - ] - }, - "lab-tic-tac-toe": { - "title": "Build a Tic-Tac-Toe Game", - "intro": [ - "In this lab, you'll build a Tic-Tac-Toe game using React.", - "You'll practice managing state, handling user interactions, and updating the UI dynamically." - ] - }, - "lecture-react-strategies-and-debugging": { - "title": "React Strategies and Debugging", - "intro": [ - "In these lessons, you will learn about different strategies and debugging in React." - ] - }, - "review-react-forms-data-fetching-and-routing": { - "title": "React Forms, Data Fetching and Routing Review", - "intro": [ - "Before you take the React forms, data fetching and routing quiz, you should review everything you've learned so far.", - "Open up this page, to review all of the concepts taught including routing, forms, state management, prop drilling, data fetching and more." - ] - }, - "quiz-react-forms-data-fetching-and-routing": { - "title": "React Forms, Data Fetching and Routing Quiz", - "intro": [ - "Test what you've learned about routing, forms, and data fetching with this quiz." - ] - }, - "lecture-understanding-performance-in-web-applications": { - "title": "Understanding Performance in Web Applications", - "intro": [ - "In these lessons, you will learn performance in web applications." - ] - }, - "review-web-performance": { - "title": "Web Performance Review", - "intro": [ - "Before you take the web performance quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including INP, key metrics for measuring performance, Performance Web APIs and more." - ] - }, - "quiz-web-performance": { - "title": "Web Performance Quiz", - "intro": [ - "Test what you've learned about Web Performance with this quiz." - ] - }, - "lecture-understanding-the-different-types-of-testing": { - "title": "Understanding the Different Types of Testing", - "intro": [ - "In these lessons, you will learn about the different types of testing." - ] - }, - "review-testing": { - "title": "Testing Review", - "intro": [ - "Before you take the testing quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including unit testing, end-to-end testing, functional testing and more." - ] - }, - "quiz-testing": { - "title": "Testing Quiz", - "intro": ["Test what you've learned on testing with this quiz."] - }, - "lecture-working-with-css-libraries-and-frameworks": { - "title": "Working with CSS Libraries and Frameworks", - "intro": [ - "In these lessons, you will learn how to work with CSS libraries and frameworks." - ] - }, - "workshop-error-message-component": { - "title": "Build an Error Message Component", - "intro": [ - "In this workshop, you will learn the basics of Tailwind CSS by building out an error message component." - ] - }, - "workshop-tailwind-cta-component": { - "title": "Build a CTA Component", - "intro": [ - "In this workshop, you will build a call to action (CTA) component using Tailwind CSS." - ] - }, - "workshop-tailwind-pricing-component": { - "title": "Build a Pricing Component", - "intro": [ - "In this workshop, you will build a pricing component using Tailwind CSS.", - "You will practice working with Tailwind CSS grid utility classes." - ] - }, - "lab-music-shopping-cart-page": { - "title": "Build a Music Shopping Cart Page", - "intro": [ - "In this lab, you will build a music shopping cart page with Tailwind CSS.", - "You will practice working with Tailwind CSS utility classes for flexbox layouts, colors, breakpoints and more." - ] - }, - "lab-photography-exhibit": { - "title": "Design a Photography Exhibit", - "intro": [ - "In this lab, you will practice working with Tailwind CSS by designing a photography exhibit webpage." - ] - }, - "review-css-libraries-and-frameworks": { - "title": "CSS Libraries and Frameworks Review", - "intro": [ - "Before you take the CSS libraries and frameworks quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including CSS frameworks, CSS preprocessors, Sass and more." - ] - }, - "quiz-css-libraries-and-frameworks": { - "title": "CSS Libraries and Frameworks Quiz", - "intro": [ - "Test what you've learned about CSS Libraries and Frameworks with this quiz." - ] - }, - "lecture-introduction-to-typescript": { - "title": "Introduction to TypeScript", - "intro": [ - "In these lessons, you will learn what TypeScript is and how to use it." - ] - }, - "lecture-working-with-generics-and-type-narrowing": { - "title": "Working with Generics and Type Narrowing", - "intro": [ - "In these lessons, you will learn about generics and type narrowing in TypeScript." - ] - }, - "lecture-working-with-typescript-configuration-files": { - "title": "Working with TypeScript Configuration Files", - "intro": [ - "In this lesson, you will learn about TypeScript configuration files and how to use them." - ] - }, - "trvf": { - "title": "293", - "intro": [] - }, - "kwmg": { - "title": "294", - "intro": [] - }, - "nodx": { - "title": "295", - "intro": [] - }, - "erfj": { - "title": "296", - "intro": [] - }, - "muyw": { - "title": "297", - "intro": [] - }, - "review-typescript": { - "title": "Typescript Review", - "intro": [ - "Before you take the TypeScript quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including data types in TypeScript, generics, type narrowing and more." - ] - }, - "quiz-typescript": { - "title": "TypeScript Quiz", - "intro": ["Test what you've learned on Typescript with this quiz."] - }, - "review-front-end-libraries": { - "title": "Front End Libraries Review", - "intro": [ - "Review the Front End Libraries concepts to prepare for the upcoming quiz." - ] - }, - "rdzk": { - "title": "301", - "intro": [] - }, - "vtpz": { - "title": "302", - "intro": [] - }, - "lecture-introduction-to-python": { - "title": "Introduction to Python", - "intro": [ - "In these lessons, you will learn the fundamentals of Python. You'll learn about variables, data types, operators, control flow, functions, and more." - ] - }, - "workshop-caesar-cipher": { - "title": "Build a Caesar Cipher", - "intro": [ - "In this workshop, you'll build a Caesar cipher using basic Python concepts such as strings, conditionals, functions, and more." - ] - }, - "lab-rpg-character": { - "title": "Build an RPG Character", - "intro": [ - "In this lab you will practice basic python by building an RPG character." - ] - }, - "review-python-basics": { - "title": "Python Basics Review", - "intro": [ - "Before you're quizzed on Python basics, you should review what you've learned about it.", - "In this review page, you will review working with strings, functions, comparison operators and more." - ] - }, - "quiz-python-basics": { - "title": "Python Basics Quiz", - "intro": [ - "Test what you've learned about Python basics with this quiz." - ] - }, - "lecture-working-with-loops-and-sequences": { - "title": "Working with Loops and Sequences", - "intro": [ - "Learn about Working with Loops and Sequences in these lessons." - ] - }, - "workshop-pin-extractor": { - "title": "Build a Pin Extractor", - "intro": [ - "In this workshop you will build a function to extract secret pins hidden in poems." - ] - }, - "lab-number-pattern-generator": { - "title": "Build a Number Pattern Generator", - "intro": ["In this lab you will build a number pattern generator."] - }, - "review-loops-and-sequences": { - "title": "Loops and Sequences Review", - "intro": [ - "Before you're quizzed on loops and sequences, you should review what you've learned about them.", - "Open up this page to review concepts around loops, lists, tuples and some of their common methods." - ] - }, - "quiz-loops-and-sequences": { - "title": "Loops and Sequences Quiz", - "intro": [ - "Test what you've learned about loops and sequences in Python with this quiz." - ] - }, - "lecture-working-with-dictionaries-and-sets": { - "title": "Working with Dictionaries and Sets", - "intro": [ - "Learn about working with dictionaries and sets in these lessons." - ] - }, - "lecture-working-with-modules": { - "title": "Working with Modules", - "intro": ["Learn about working with modules in these lessons."] - }, - "workshop-medical-data-validator": { - "title": "Build a Medical Data Validator", - "intro": [ - "In this workshop, you'll practice working with dictionaries and sets while validating a collection of medical data." - ] - }, - "lab-user-configuration-manager": { - "title": "Build a User Configuration Manager", - "intro": [ - "In this lab, you will practice working with dictionaries in Python." - ] - }, - "review-dictionaries-and-sets": { - "title": "Dictionaries and Sets review", - "intro": [ - "Before you're quizzed on dictionaries and sets, you should review what you've learned about them.", - "Open up this page to review concepts around dictionaries, sets, and how to import modules." - ] - }, - "quiz-dictionaries-and-sets": { - "title": "Dictionaries and Sets Quiz", - "intro": [ - "Test what you've learned about dictionaries and sets in Python with this quiz." - ] - }, - "lecture-understanding-error-handling": { - "title": "Understanding Error Handling", - "intro": [ - "In these lessons, you will learn about error handling in Python. You will learn about the different types of errors, some good debugging practices, what exceptions are, and how to handle them." - ] - }, - "lab-isbn-validator": { - "title": "Debug an ISBN Validator", - "intro": [ - "In this lab, you will start with a bugged app, and you will need to debug and fix the bugs until it is working properly." - ] - }, - "review-error-handling": { - "title": "Error Handling Review", - "intro": [ - "Before you're quizzed on error handling, you should review what you've learned about it." - ] - }, - "quiz-error-handling": { - "title": "Error Handling Quiz", - "intro": [ - "Test what you've learned about Error Handling in Python with this quiz." - ] - }, - "lecture-classes-and-objects": { - "title": "Classes and Objects", - "intro": ["Learn about Classes and Objects in these lessons."] - }, - "workshop-musical-instrument-inventory": { - "title": "Build a Musical Instrument Inventory", - "intro": [ - "In this workshop, you will learn about classes, objects, and methods in Python by building a simple musical instrument inventory." - ] - }, - "lab-planet-class": { - "title": "Build a Planet Class", - "intro": [ - "In this lab you will create a class that represents a planet." - ] - }, - "workshop-email-simulator": { - "title": "Build an Email Simulator", - "intro": [ - "In this workshop you will implement classes and objects by building an email simulator that simulates sending, receiving, and managing emails between different users." - ] - }, - "lab-budget-app": { - "title": "Build a Budget App", - "intro": [ - "In this lab you will build a budget app and practice creating a class and methods for that class." - ] - }, - "review-classes-and-objects": { - "title": "Classes and Objects Review", - "intro": [ - "Before you're quizzed on classes and objects, you should review what you've learned about them.", - "Open up this page to review concepts like how classes work, what are objects, methods, attributes, special methods and more." - ] - }, - "quiz-classes-and-objects": { - "title": "Classes and Objects Quiz", - "intro": [ - "Test what you've learned about classes and objects in Python with this quiz." - ] - }, - "lecture-understanding-object-oriented-programming-and-encapsulation": { - "title": "Understanding Object Oriented Programming and Encapsulation", - "intro": [ - "Learn about Understanding Object Oriented Programming and Encapsulation in these lessons." - ] - }, - "workshop-salary-tracker": { - "title": "Build a Salary Tracker", - "intro": [ - "In this workshop, you'll practice encapsulation, properties, and other OOP concepts by building a salary tracking system for employees." - ] - }, - "lab-game-character-stats": { - "title": "Build a Game Character Stats Tracker", - "intro": [ - "In this lab, you will build a game character with different stats using object-oriented programming." - ] - }, - "lecture-understanding-inheritance-and-polymorphism": { - "title": "Understanding Inheritance and Polymorphism", - "intro": [ - "Learn about Understanding Inheritance and Polymorphism in these lessons." - ] - }, - "workshop-media-catalogue": { - "title": "Build a Media Catalogue", - "intro": [ - "In this workshop, you will create a media catalogue application using object-oriented programming principles." - ] - }, - "lab-polygon-area-calculator": { - "title": "Build a Polygon Area Calculator", - "intro": [ - "In this lab, you will use object-oriented programming to calculate the areas of different polygons like squares and rectangles." - ] - }, - "lecture-understanding-abstraction": { - "title": "Understanding Abstraction", - "intro": ["Learn about Understanding Abstraction in these lessons."] - }, - "workshop-discount-calculator": { - "title": "Build a Discount Calculator", - "intro": [ - "In this workshop you will build a flexible discount pricing calculator through abstract base classes, allowing multiple discount algorithms to be applied interchangeably without modifying the core logic." - ] - }, - "lab-player-interface": { - "title": "Build a Player Interface", - "intro": [ - "In this lab, you'll use the abc module to build a player interface." - ] - }, - "review-object-oriented-programming": { - "title": "Object Oriented Programming Review", - "intro": [ - "Before you're quizzed on object oriented programming, you should review what you've learned about it." - ] - }, - "quiz-object-oriented-programming": { - "title": "Object Oriented Programming Quiz", - "intro": [ - "Test what you've learned about object oriented programming in python with this quiz." - ] - }, - "lecture-working-with-common-data-structures": { - "title": "Working with Common Data Structures", - "intro": [ - "Learn about Working with Common Data Structures in these lessons." - ] - }, - "workshop-linked-list-class": { - "title": "Build a Linked List", - "intro": [ - "In this workshop, you'll practice working with data structures by building a linked list." - ] - }, - "lab-hash-table": { - "title": "Build a Hash Table", - "intro": [ - "A hash table is a data structure that is used to store key-value pairs and is optimized for quick lookups.", - "In this lab, you will use your knowledge about data structures to build a hash table." - ] - }, - "review-data-structures": { - "title": "Data Structures Review", - "intro": [ - "Before you're quizzed on data structures, you should review what you've learned about them.", - "Open up this page to review concepts like the different data structures, algorithms, time and space complexity, and big O notation." - ] - }, - "quiz-data-structures": { - "title": "Data Structures Quiz", - "intro": [ - "Test what you've learned about data structures in Python with this quiz." - ] - }, - "lecture-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms", - "intro": [ - "Learn about fundamental searching and sorting algorithms, including linear search, binary search, and merge sort.", - "These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm." - ] - }, - "workshop-binary-search": { - "title": "Implement the Binary Search Algorithm", - "intro": [ - "The binary search algorithm is a searching algorithm used to find a target item in a sorted list.", - "In this workshop, you'll implement the binary search algorithm and return the path it took to find the target or return 'Value not found'." - ] - }, - "lab-bisection-method": { - "title": "Implement the Bisection Method", - "intro": [ - "In this lab, you will implement the bisection method to find the square root of a number." - ] - }, - "workshop-merge-sort": { - "title": "Implement the Merge Sort Algorithm", - "intro": [ - "The merge sort algorithm is a sorting algorithm based on the divide and conquer principle.", - "In this workshop, you'll implement the merge sort algorithm to sort a list of random numbers." - ] - }, - "lab-quicksort": { - "title": "Implement the Quicksort Algorithm", - "intro": [ - "In this lab you will implement the quicksort algorithm to sort a list of integers." - ] - }, - "lab-selection-sort": { - "title": "Implement the Selection Sort Algorithm", - "intro": [ - "In this lab you will implement the selection sort algorithm." - ] - }, - "lab-luhn-algorithm": { - "title": "Implement the Luhn Algorithm", - "intro": [ - "In this lab, you will implement the Luhn algorithm to validate identification numbers such as credit card numbers." - ] - }, - "lab-tower-of-hanoi": { - "title": "Implement the Tower of Hanoi Algorithm", - "intro": [ - "In this lab, you will implement an algorithm to solve the Tower of Hanoi puzzle." - ] - }, - "review-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms Review", - "intro": [ - "Before you're quizzed on searching and sorting algorithms, you should review what you've learned about them." - ] - }, - "quiz-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms Quiz", - "intro": [ - "Test what you've learned about searching and sorting algorithms in Python with this quiz." - ] - }, - "lecture-understanding-graphs-and-trees": { - "title": "Understanding Graphs and Trees", - "intro": [ - "In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science." - ] - }, - "workshop-shortest-path-algorithm": { - "title": "Implement the Shortest Path Algorithm", - "intro": [ - "In this workshop you will implement the shortest path algorithm to find the shortest path between two nodes in a graph." - ] - }, - "lab-adjacency-list-to-matrix-converter": { - "title": "Build an Adjacency List to Matrix Converter", - "intro": [ - "In this lab, you will implement a function that converts an adjacency list representation of a graph into an adjacency matrix representation." - ] - }, - "workshop-breadth-first-search": { - "title": "Implement the Breadth-First Search Algorithm", - "intro": [ - "In this workshop, you will use the bread-first search algorithm to generate all valid combinations of parentheses." - ] - }, - "lab-depth-first-search": { - "title": "Implement the Depth-First Search Algorithm", - "intro": [ - "In this lab, you will implement the Depth-First Search Algorithm." - ] - }, - "lab-n-queens-problem": { - "title": "Implement the N-Queens Problem", - "intro": [ - "In this lab, you will implement a solution for the N-Queens problem." - ] - }, - "review-graphs-and-trees": { - "title": "Graphs and Trees Review", - "intro": [ - "Before you're quizzed on graphs and trees, you should review what you've learned about them." - ] - }, - "quiz-graphs-and-trees": { - "title": "Graphs and Trees Quiz", - "intro": [ - "Test what you've learned about graphs and trees in Python with this quiz." - ] - }, - "lecture-understanding-dynamic-programming": { - "title": "Understanding Dynamic Programming", - "intro": [ - "In this lesson, you will learn about dynamic programming, an algorithmic technique used to solve complex problems efficiently by breaking them down into simpler subproblems." - ] - }, - "lab-nth-fibonacci-number": { - "title": "Build an Nth Fibonacci Number Calculator", - "intro": [ - "In this lab you will implement a Fibonacci sequence calculator using a dynamic programming approach." - ] - }, - "review-dynamic-programming": { - "title": "Dynamic Programming Review", - "intro": [ - "Before you're quizzed on dynamic programming, you should review what you've learned about it." - ] - }, - "quiz-dynamic-programming": { - "title": "Dynamic Programming Quiz", - "intro": [ - "Test what you've learned about dynamic programming in python with this quiz." - ] - }, - "review-python": { - "title": "Python Review", - "intro": ["Review Python concepts to prepare for the upcoming exam."] - }, - "lecture-understanding-the-command-line-and-working-with-bash": { - "title": "Understanding the Command Line and Working with Bash", - "intro": [ - "Learn about the Command Line and Working with Bash in these lessons." - ] - }, - "workshop-bash-boilerplate": { - "title": "Build a Boilerplate", - "intro": [ - "The terminal allows you to send text commands to your computer that can manipulate the file system, run programs, automate tasks, and much more.", - "In this 170-lesson workshop, you will learn terminal commands by creating a website boilerplate using only the command line." - ] - }, - "review-bash-commands": { - "title": "Bash Commands Review", - "intro": [ - "Review the Bash Commands concepts to prepare for the upcoming quiz." - ] - }, - "quiz-bash-commands": { - "title": "Bash Commands Quiz", - "intro": ["Test what you've learned bash commands with this quiz."] - }, - "lecture-working-with-relational-databases": { - "title": "Working with Relational Databases", - "intro": [ - "Learn how to work with Relational Databases in these lessons." - ] - }, - "workshop-database-of-video-game-characters": { - "title": "Build a Database of Video Game Characters", - "intro": [ - "A relational database organizes data into tables that are linked together through relationships.", - "In this 165-lesson workshop, you will learn the basics of a relational database by creating a PostgreSQL database filled with video game characters." - ] - }, - "lab-celestial-bodies-database": { - "title": "Build a Celestial Bodies Database", - "intro": [ - "For this project, you will build a database of celestial bodies using PostgreSQL." - ] - }, - "review-sql-and-postgresql": { - "title": "SQL and PostgreSQL Review", - "intro": [ - "Review SQL and PostgreSQL concepts to prepare for the upcoming quiz." - ] - }, - "quiz-sql-and-postgresql": { - "title": "SQL and PostgreSQL Quiz", - "intro": [ - "Test what you've learned about SQL and PostgreSQL with this quiz." - ] - }, - "lecture-understanding-bash-scripting": { - "title": "Understanding Bash Scripting", - "intro": ["Learn about Bash Scripting in these lessons."] - }, - "workshop-bash-five-programs": { - "title": "Build Five Programs", - "intro": [ - "Bash scripts combine terminal commands and logic into programs that can execute or automate tasks, and much more.", - "In this 220-lesson workshop, you will learn more terminal commands and how to use them within Bash scripts by creating five small programs." - ] - }, - "review-bash-scripting": { - "title": "Bash Scripting Review", - "intro": [ - "Review the bash scripting concepts you've learned to prepare for the upcoming quiz." - ] - }, - "quiz-bash-scripting": { - "title": "Bash Scripting Quiz", - "intro": ["Test what you've learned on bash scripting in this quiz."] - }, - "lecture-working-with-sql": { - "title": "Working With SQL", - "intro": [ - "In these lessons, you will learn about SQL injection, normalization, and the N+1 problem." - ] - }, - "workshop-sql-student-database-part-1": { - "title": "Build a Student Database: Part 1", - "intro": [ - "SQL, or Structured Query Language, is the language for communicating with a relational database.", - "In this 140-lesson workshop, you will create a Bash script that uses SQL to enter information about your computer science students into PostgreSQL." - ] - }, - "workshop-sql-student-database-part-2": { - "title": "Build a Student Database: Part 2", - "intro": [ - "SQL join commands are used to combine information from multiple tables in a relational database", - "In this 140-lesson workshop, you will complete your student database while diving deeper into SQL commands." - ] - }, - "lab-world-cup-database": { - "title": "Build a World Cup Database", - "intro": [ - "For this project, you will create a Bash script that enters information from World Cup games into PostgreSQL, then query the database for useful statistics." - ] - }, - "workshop-kitty-ipsum-translator": { - "title": "Build a Kitty Ipsum Translator", - "intro": [ - "There's more to Bash commands than you might think.", - "In this 140-lesson workshop, you will learn some more complex commands, and the details of how commands work." - ] - }, - "workshop-bike-rental-shop": { - "title": "Build a Bike Rental Shop", - "intro": [ - "In this 210-lesson workshop, you will build an interactive Bash program that stores rental information for your bike rental shop using PostgreSQL." - ] - }, - "lab-salon-appointment-scheduler": { - "title": "Build a Salon Appointment Scheduler", - "intro": [ - "For this lab, you will create an interactive Bash program that uses PostgreSQL to track the customers and appointments for your salon." - ] - }, - "review-bash-and-sql": { - "title": "Bash and SQL Review", - "intro": [ - "Review the Bash and SQL concepts to prepare for the upcoming quiz." - ] - }, - "quiz-bash-and-sql": { - "title": "Bash and SQL Quiz", - "intro": ["Test what you've learned in this quiz on Bash and SQL."] - }, - "lecture-working-with-nano": { - "title": "Working With Nano", - "intro": ["Learn about Nano in this lesson."] - }, - "workshop-castle": { - "title": "Build a Castle", - "intro": [ - "Nano is a program that allows you to edit files right in the terminal.", - "In this 40-lesson workshop, you will learn how to edit files in the terminal with Nano while building a castle." - ] - }, - "lecture-introduction-to-git-and-github": { - "title": "Introduction to Git and GitHub", - "intro": ["Learn how to work with Git and GitHub in these lessons."] - }, - "lecture-working-with-code-reviews-branching-deployment-and-ci-cd": { - "title": "Working With Code Reviews, Branching, Deployment, and CI/CD", - "intro": [ - "Learn about code reviews, branching, deployment, and CI/CD in these lessons." - ] - }, - "workshop-sql-reference-object": { - "title": "Build an SQL Reference Object", - "intro": [ - "Git is a version control system that keeps track of all the changes you make to your codebase.", - "In this 240-lesson workshop, you will learn how Git keeps track of your code by creating an object containing commonly used SQL commands." - ] - }, - "lab-periodic-table-database": { - "title": "Build a Periodic Table Database", - "intro": [ - "For this lab, you will create a Bash script to get information about chemical elements from a periodic table database." - ] - }, - "lab-number-guessing-game": { - "title": "Build a Number Guessing Game", - "intro": [ - "For this lab, you will use Bash scripting, PostgreSQL, and Git to create a number guessing game that runs in the terminal and saves user information." - ] - }, - "review-git": { - "title": "Git Review", - "intro": ["Review Git concepts to prepare for the upcoming quiz."] - }, - "quiz-git": { - "title": "Git Quiz", - "intro": ["Test what you've learned on Git with this quiz."] - }, - "review-relational-databases": { - "title": "Relational Databases Review", - "intro": [ - "Review relational databases concepts to prepare for the exam." - ] - }, - "lecture-understanding-the-http-request-response-model": { - "title": "Understanding the HTTP Request-Response Model", - "intro": [ - "Learn the fundamentals of how web communication works through the HTTP request-response model, explore different types of web assets and responses, and understand how forms handle data submission using various HTTP methods." - ] - }, - "exam-certified-full-stack-developer": { - "title": "Certified Full Stack Developer Exam", - "intro": ["Pass this exam to become a Certified Full Stack Developer."] - } - } - }, "javascript-v9": { "title": "JavaScript Certification", "intro": [ @@ -6448,6 +3108,12 @@ "In this lecture, you will learn about recursion and the call stack." ] }, + "workshop-countup": { + "title": "Build a Countup", + "intro": [ + "In this workshop you will build a countdown function that returns an array of numbers counting up from 1 to a given number." + ] + }, "lab-countdown": { "title": "Build a Countdown", "intro": [ @@ -6461,6 +3127,13 @@ "In this workshop, you'll build a decimal-to-binary converter using JavaScript. You'll practice the fundamental concepts of recursion, explore the call stack, and build out a visual representation of the recursion process through an animation." ] }, + "lab-range-of-numbers": { + "title": "Build a Range of Numbers Generator", + "intro": [ + "In this lab, you'll use recursion to generate an array of numbers within a specified range.", + "You'll practice recursive function calls, base cases, and building arrays through recursion." + ] + }, "lab-permutation-generator": { "title": "Build a Permutation Generator", "intro": [ @@ -6485,6 +3158,12 @@ "These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm." ] }, + "lecture-understanding-graphs-and-trees-js": { + "title": "Understanding Graphs and Trees", + "intro": [ + "In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science." + ] + }, "lecture-understanding-functional-programming": { "title": "Understanding Functional Programming", "intro": [ @@ -7186,6 +3865,12 @@ "In this lab, you will use object-oriented programming to calculate the areas of different polygons like squares and rectangles." ] }, + "lab-discount-calculator": { + "title": "Build a Discount Calculator", + "intro": [ + "In this lab, you will practice basic Python by building a calculator to apply a discount to a price." + ] + }, "lecture-understanding-abstraction": { "title": "Understanding Abstraction", "intro": ["Learn about Understanding Abstraction in these lessons."] diff --git a/client/i18n/locales/korean/translations.json b/client/i18n/locales/korean/translations.json index 50eb8416820..ae105530fe1 100644 --- a/client/i18n/locales/korean/translations.json +++ b/client/i18n/locales/korean/translations.json @@ -291,7 +291,7 @@ "reset-editor-layout": "Reset Editor Layout", "shortcuts-explained": "Within a challenge, press ESC followed by the question mark to show a list of available shortcuts.", "username": { - "contains invalid characters": "Username \"{{username}}\" contains invalid characters", + "contains invalid characters": "Username \"{{username}}\" contains invalid characters. Use only alphanumeric values like 'camperbot', or 'camperbot123'.", "is too short": "Username \"{{username}}\" is too short", "is a reserved error code": "Username \"{{username}}\" is a reserved error code", "must be lowercase": "Username \"{{username}}\" must be lowercase", diff --git a/client/i18n/locales/portuguese/intro.json b/client/i18n/locales/portuguese/intro.json index 70596d7030a..7cbe753aa56 100644 --- a/client/i18n/locales/portuguese/intro.json +++ b/client/i18n/locales/portuguese/intro.json @@ -1952,3404 +1952,6 @@ } } }, - "full-stack-developer": { - "title": "Currículo de Desenvolvedor Full Stack Certificado ", - "intro": [ - "Este curso oferece um caminho abrangente para se tornar um Desenvolvedor Full Stack Certificado, cobrindo todas as tecnologias essenciais necessárias para desenvolver aplicações web modernas e escaláveis do início ao fim.", - "Por meio de uma combinação de lições interativas, exercícios de codificação e projetos do mundo real, você dominará o desenvolvimento frontend e backend. Você trabalhará com HTML, CSS e JavaScript para criar interfaces de usuário responsivas, explorará React e TypeScript para aplicações web avançadas e aprenderá a gerenciar dados com bancos de dados relacionais - no backend, você usará Git, Npm, Node.js e Python para criar soluções poderosas do lado do servidor.", - "Ao final deste curso, você terá as habilidades práticas e a experiência para desenvolver aplicações web completas com confiança, preparando-se para uma carreira de sucesso como Desenvolvedor Full Stack.", - "Esta certificação vai exigir uma quantidade substancial de tempo e esforço para ser concluída. Se você começar agora, poderá estar pronto para iniciar o material restante e o exame final quando o lançarmos nos próximos meses." - ], - "chapters": { - "html": "HTML", - "css": "CSS", - "javascript": "JavaScript", - "frontend-libraries": "Bibliotecas Front End", - "relational-databases": "Bancos de Dados Relacionais", - "backend-javascript": "JavaScript Backend", - "python": "Python", - "career": "Carreira" - }, - "modules": { - "basic-html": "HTML Básico", - "semantic-html": "HTML Semântico", - "html-forms-and-tables": "Formulários e Tabelas", - "html-and-accessibility": "Acessibilidade", - "review-html": "Revisão do HTML", - "exam-html": "Exame de HTML", - "computer-basics": "Fundamentos do Computador", - "basic-css": "CSS Básico", - "design-for-developers": "Design", - "absolute-and-relative-units": "Unidades Absolutas e Relativas", - "pseudo-classes-and-elements": "Pseudoclasses e Pseudoelementos", - "css-colors": "Cores", - "styling-forms": "Estilização de Formulários", - "css-box-model": "O Modelo de Caixa", - "css-flexbox": "Flexbox", - "css-typography": "Tipografia", - "css-and-accessibility": "Acessibilidade", - "attribute-selectors": "Seletores de Atributo", - "css-positioning": "Posicionamento", - "responsive-design": "Design Responsivo", - "css-variables": "Variáveis", - "css-grid": "Grid", - "css-animations": "Animações", - "review-css": "Revisão de CSS", - "exam-css": "Exame de CSS", - "code-editors": "Editores de Código", - "javascript-variables-and-strings": "Variáveis e Strings", - "javascript-booleans-and-numbers": "Booleanos e Números", - "javascript-functions": "Funções", - "javascript-arrays": "Arrays", - "javascript-objects": "Objetos", - "javascript-loops": "Laços de Repetição", - "review-javascript-fundamentals": "Revisão dos Fundamentos do JavaScript", - "higher-order-functions-and-callbacks": "Funções de Ordem Superior e Callbacks", - "dom-manipulation-and-events": "Manipulação do DOM e Eventos", - "js-a11y": "JavaScript e Acessibilidade", - "debugging-javascript": "Depuração", - "basic-regex": "Expressões Regulares Básicas", - "form-validation": "Validação de Formulários", - "javascript-dates": "Datas", - "audio-and-video-events": "Eventos de Áudio e Vídeo", - "maps-and-sets": "Maps e Sets", - "localstorage-and-crud-operations": "Armazenamento local e Operações CRUD", - "classes-and-the-this-keyword": "Classes", - "recursion": "Recursão", - "functional-programming": "Programação Funcional", - "asynchronous-javascript": "JavaScript Assíncrono", - "review-javascript": "Revisão de JavaScript", - "exam-javascript": "Exame de JavaScript", - "react-fundamentals": "Fundamentos do React", - "react-state-hooks-and-routing": "Estado, Hooks e Roteamento no React", - "performance": "Desempenho", - "testing": "Testes", - "css-libraries-and-frameworks": "Bibliotecas e Frameworks do CSS", - "data-visualization": "Visualização de dados e D3", - "typescript-fundamentals": "Fundamentos do TypeScript", - "review-front-end-libraries": "Revisão de Bibliotecas Front-End", - "exam-front-end-libraries": "Exame de Bibliotecas Front-End", - "python-basics": "Noções básicas de Python", - "python-loops-and-sequences": "Laços e Sequências", - "python-dictionaries-and-sets": "Dicionários e Conjuntos", - "python-error-handling": "Tratamento de Erros", - "python-classes-and-objects": "Classes e Objetos", - "python-object-oriented-programming": "Programação Orientada a Objetos (OOP)", - "python-linear-data-structures": "Estruturas de Dados Lineares", - "python-algorithms": "Algoritmos", - "python-graphs-and-trees": "Grafos e Árvores", - "python-dynamic-programming": "Programação Dinâmica", - "review-python": "Revisão de Python", - "exam-python": "Exame de Python", - "bash-fundamentals": "Fundamentos de Bash", - "sql-and-postgresql": "SQL e PostgreSQL", - "bash-scripting": "Scripts Bash", - "sql-and-bash": "SQL e Bash", - "git": "Git", - "review-relational-databases": "Revisão de Bancos de Dados Relacionais", - "exam-relational-databases": "Exame de Bancos de Dados Relacionais", - "nodejs-core-libraries": "Bibliotecas Principais do Node.js", - "node-package-manager": "Node Package Manager", - "http-and-the-web-standards-model": "HTTP e o Modelo de Padrões Web", - "rest-api-and-web-services": "API REST e Serviços Web", - "introduction-to-express": "Introdução ao Express", - "express-middleware": "Middleware do Express", - "error-handling-in-express": "Tratamento de Erros no Express", - "websockets": "WebSockets", - "node-and-sql": "Node e SQL", - "security-and-privacy": "Segurança e Privacidade", - "authentication": "Autenticação", - "tooling-and-deployment": "Ferramentas e Implantação", - "how-to-get-a-developer-job": "Como Conseguir um Emprego de Desenvolvedor", - "capstone-project": "Projeto Final", - "certified-full-stack-developer-exam": "Exame de Desenvolvedor Full Stack Certificado" - }, - "module-intros": { - "data-visualization": { - "note": "Disponível no Inverno de 2025", - "intro": [ - "Neste módulo, você conhecerá a visualização de dados e aprenderá a trabalhar com a biblioteca D3." - ] - }, - "typescript-fundamentals": { - "note": "Próximo Lançamento: Outono de 2025", - "intro": [ - "Neste módulo, você será apresentado ao TypeScript, que é um superset do JavaScript que permite adicionar tipagem estática ao seu código JavaScript. Você realizará vários workshops e laboratórios que darão a você prática trabalhando com genéricos, narrowing de tipos, TSX e mais. Depois, testará seu conhecimento em fundamentos do TypeScript com um pequeno questionário." - ] - }, - "python-classes-and-objects": { - "note": "Próximo Lançamento: Inverno de 2025", - "intro": [ - "Neste módulo, você aprenderá a trabalhar com classes, métodos, atributos e propriedades. Em seguida, você realizará workshops e laboratórios para praticar esses conceitos e fará um breve questionário para testar seu conhecimento." - ] - }, - "python-object-oriented-programming": { - "note": "Próximo Lançamento: Inverno de 2025", - "intro": [ - "Neste módulo, você aprenderá sobre conceitos de programação orientada a objetos, como encapsulamento, herança, polimorfismo e mais. Você realizará workshops e laboratórios para praticar esses conceitos e fará um breve questionário para testar seu conhecimento." - ] - }, - "python-linear-data-structures": { - "note": "Próximo Lançamento: Inverno de 2025", - "intro": [ - "Neste módulo, você aprenderá sobre estruturas de dados, incluindo pilhas, filas, listas vinculadas, e mais. Você criará um workshop e laboratório para praticar esses conceitos e fará um breve questionário para testar seu conhecimento." - ] - }, - "python-algorithms": { - "note": "Próximo Lançamento: Inverno de 2025", - "intro": [ - "Neste módulo, você aprender sobre algoritmos comuns, incluindo busca binária, merge sort, selection sort, e mais. Você realizará workshops e laboratórios para praticar esses conceitos e fará um breve questionário para testar seu conhecimento." - ] - }, - "python-graphs-and-trees": { - "note": "Próximo Lançamento: Inverno de 2025", - "intro": [ - "Neste módulo, você aprenderá sobre gráficos na ciência da computação, bem como listas de adjacência, árvores, tries, e mais. Você realizará workshops e laboratórios para praticar esses conceitos e fará um breve questionário para testar seu conhecimento." - ] - }, - "python-dynamic-programming": { - "note": "Próximo Lançamento: Inverno de 2025", - "intro": [ - "Neste módulo, você vai aprender sobre programação dinâmica e praticar estes conceitos construindo um laboratório de sequência de Fibonacci. Em seguida, você fará um curto questionário para testar seu conhecimento." - ] - }, - "bash-fundamentals": { - "note": "Próximo Lançamento: Inverno de 2025", - "intro": [ - "Neste módulo, você aprenderá sobre a linha de comando e comandos Bash comuns. Em seguida, você praticará suas habilidades com um workshop e fará um curto quiz para testar seu conhecimento." - ] - }, - "sql-and-postgresql": { - "note": "Disponível no Inverno de 2025", - "intro": [ - "Neste módulo, você aprenderá a trabalhar com bancos de dados relacionais que armazenam dados como coleções em tabelas. Alguns dos conceitos que você aprenderá incluem inserção e visualização de dados da tabela, chaves primárias e estrangeiras em SQL, e mais. Em seguida, você construirá um workshop e laboratório para praticar esses conceitos e fará um breve questionário para testar seu conhecimento." - ] - }, - "bash-scripting": { - "note": "Próximo Lançamento: Inverno de 2025", - "intro": [ - "Neste módulo, você aprenderá sobre scripts Bash e praticará essas habilidades criando cinco programas. Então, você poderá testar seus conhecimentos destes conceitos fazendo um breve questionário." - ] - }, - "sql-and-bash": { - "note": "Próximo Lançamento: Inverno de 2025", - "intro": [ - "Neste módulo, você aprenderá sobre normalização, injeção de SQL e o problema N+1. Então, você irá praticar trabalhando com SQL e Bash construindo vários workshops e laboratórios. Depois, você poderá testar seus conhecimentos desses conceitos fazendo um breve questionário." - ] - }, - "git": { - "note": "Próximo Lançamento: Inverno de 2025", - "intro": [ - "Neste módulo, você aprenderá a usar Git, Nano e GitHub. Em seguida, você praticará trabalhando com Git construindo vários workshops e laboratórios. Você poderá testar seus conhecimentos destes conceitos fazendo um breve questionário." - ] - }, - "introduction-to-nodejs": { - "note": "Próximo Lançamento: Final de 2026", - "intro": [ - "Neste módulo, você será apresentado ao Node.js, que é um ambiente de execução JavaScript que permite construir aplicações de backend usando JavaScript. Você vai praticar conceitos fundamentais criando um pequeno workshop e testará seu conhecimento com um breve questionário." - ] - }, - "nodejs-core-libraries": { - "note": "Próximo Lançamento: Final de 2026", - "intro": [ - "Neste módulo, você aprenderá sobre bibliotecas Node.js core comuns, incluindo fs, os, path e mais. Em seguida, você praticará o que aprendeu através de workshops e laboratórios e testará seus conhecimentos através de um breve questionário." - ] - }, - "node-package-manager": { - "note": "Próximo Lançamento: Final de 2026", - "intro": [ - "Neste módulo, você será apresentado ao Node Package Manager, que os desenvolvedores usam para gerenciar dependências de projetos e scripts. Então você praticará o que aprendeu através de workshops e laboratórios e testará seu conhecimento com um breve questionário." - ] - }, - "http-and-the-web-standards-model": { - "note": "Próximo Lançamento: Final de 2026", - "intro": [ - "Neste módulo, você aprenderá sobre HTTP (Protocolo de Transferência de Hipertexto) e outros conceitos importantes, incluindo o modelo de resposta a pedidos, códigos de resposta comuns, DNS, TCP/IP, e mais. Em seguida, você praticará o que aprendeu através de um workshop para construir seu próprio servidor web e testará seu conhecimento com um breve questionário." - ] - }, - "rest-api-and-web-services": { - "note": "Próximo Lançamento: Final de 2026", - "intro": [ - "Neste módulo, você aprenderá sobre a API REST (Interface de Programação de Aplicações de Transferência de Estado Representacional) e como funcionam os microserviços. Em seguida, você fará um breve questionário para testar seu conhecimento." - ] - }, - "introduction-to-express": { - "note": "Próximo Lançamento: Final de 2026", - "intro": [ - "Neste módulo, você será apresentado ao Express.js, que é um framework usado para construir APIs RESTful. Em seguida, você praticará suas habilidades através de workshops e laboratórios e testará seu conhecimento com um breve questionário." - ] - }, - "express-middleware": { - "note": "Próximo Lançamento: Final de 2026", - "intro": [ - "Neste módulo, você aprenderá sobre middleware no Express.js, que é usado para lidar com pedidos e respostas entre o cliente e o servidor. Em seguida, você praticará suas habilidades através de um workshop e laboratório e testará seu conhecimento com um breve questionário." - ] - }, - "error-handling-in-express": { - "note": "Próximo Lançamento: Final de 2026", - "intro": [ - "Neste módulo, você aprenderá sobre como manejo de erros, depuração e verificações de saúde funcionam no Express.js. Em seguida, você praticará o que aprendeu em um laboratório e testará seu conhecimento com um breve questionário." - ] - }, - "websockets": { - "note": "Próximo Lançamento: Final de 2026", - "intro": [ - "Neste módulo, você será apresentado aos WebSockets, que são um protocolo utilizado para comunicação em tempo real com o cliente e o servidor. Em seguida, você praticará o que aprendeu em laboratórios e workshops e testará seu conhecimento com um breve questionário." - ] - }, - "node-and-sql": { - "note": "Próximo Lançamento: Final de 2026", - "intro": [ - "Neste módulo, você praticará criando aplicações com Node e SQL. Em seguida, você fará um breve questionário para testar seu conhecimento." - ] - }, - "security-and-privacy": { - "note": "Próximo Lançamento: Final de 2026", - "intro": [ - "Neste módulo, você aprenderá sobre as diferenças entre segurança e privacidade, assim como outros conceitos, incluindo CSPs, Políticas de Permissões, PII, trabalho com CORS, e mais. Em seguida, você fará um breve questionário para testar seu conhecimento." - ] - }, - "authentication": { - "note": "Próximo Lançamento: Final de 2026", - "intro": [ - "Neste módulo, você aprenderá sobre como funciona a autenticação em aplicações web junto com outros conceitos importantes, incluindo JWTs, CSRFs, Passport, Helmet, criptografia e encriptação, e mais. Em seguida, você praticará o que aprendeu em laboratórios e workshops e testará seu conhecimento com um breve questionário." - ] - }, - "tooling-and-deployment": { - "note": "Próximo Lançamento: Final de 2026", - "intro": [ - "Neste módulo, você aprenderá sobre ferramentas comuns usadas na indústria para implantar suas aplicações full stack. Em seguida, você fará um breve questionário para testar seu conhecimento." - ] - }, - "how-to-get-a-developer-job": { - "note": "Próximo Lançamento: Final de 2026", - "intro": [ - "Neste módulo, Quincy Larson (Fundador e professor do freeCodeCamp) falará sobre estratégias que você pode usar para se preparar para conseguir um emprego como desenvolvedor. Quincy abordará assuntos importantes como currículos, portfólios, pesquisa de mercado, preparação para entrevistas técnicas, e muito mais." - ] - }, - "capstone-project": { - "note": "Próximo Lançamento: Final de 2026", - "intro": [ - "Esta será sua oportunidade de criar uma aplicação full stack abrangendo o que você aprendeu ao longo desta certificação." - ] - }, - "certified-full-stack-developer-exam": { - "note": "Próximo Lançamento: Final de 2026", - "intro": [ - "Este será um exame de 90 questões testando o que você aprendeu ao longo desta certificação." - ] - } - }, - "blocks": { - "workshop-curriculum-outline": { - "title": "Crie um Esquema de Currículo", - "intro": [ - "Bienvenido al freeCodeCamp!", - "Este workshop servirá como sua introdução ao HTML e à codificação em geral. Você aprenderá sobre elementos de cabeçalho e parágrafo." - ] - }, - "lab-debug-camperbots-profile-page": { - "title": "Depure a Página de Perfil do Camperbot", - "intro": [ - "O Camperbot também está aprendendo a codificar e precisa de ajuda com seu HTML.", - "Neste laboratório, você ajudará o Camperbot a encontrar e corrigir os erros em seu código." - ] - }, - "lecture-understanding-html-attributes": { - "title": "Entendendo Atributos HTML", - "intro": [ - "Nestes cursos, você aprenderá mais sobre HTML (Linguagem de Marcação de Hipertexto), uma linguagem de marcação para criar páginas da web.", - "Você aprenderá sobre o papel do HTML na web e o que são atributos HTML." - ] - }, - "lab-debug-pet-adoption-page": { - "title": "Depurar uma Página de Adoção de Animais", - "intro": [ - "Neste laboratório, você precisará encontrar e corrigir os erros nesta página de adoção de animais." - ] - }, - "lecture-understanding-the-html-boilerplate": { - "title": "Entendendo o Boilerplate HTML", - "intro": [ - "Nestes cursos, você aprenderá sobre o boilerplate HTML que é um modelo pronto para suas páginas da web.", - "Você aprenderá a trabalhar com o elemento link, elemento meta e mais." - ] - }, - "workshop-cat-photo-app": { - "title": "Crie um aplicativo de fotos de gatos ", - "intro": [ - "O HTML é a linguagem de marcação de hipertexto e representa o conteúdo e a estrutura de uma página da web.", - "Neste workshop, você aprenderá a trabalhar com elementos básicos do HTML, como títulos, parágrafos, imagens, links e listas." - ] - }, - "lab-recipe-page": { - "title": "Crie uma página de receitas ", - "intro": [ - "Neste laboratório, você revisará o básico de HTML criando uma página da Web da sua receita favorita. Você criará um padrão HTML e trabalhará com títulos, listas, imagens e mais." - ] - }, - "lecture-html-fundamentals": { - "title": "Fundamentos de HTML ", - "intro": [ - "Nestes cursos, você aprenderá sobre fundamentos do HTML, como o elemento div, os atributos id e class, o boilerplate HTML, entidades HTML, e outros conceitos." - ] - }, - "workshop-bookstore-page": { - "title": "Criar uma Página de Livraria", - "intro": [ - "Neste workshop, você praticará trabalhar com classes, ids e o elemento div criando uma página de livraria." - ] - }, - "lecture-understanding-how-html-affects-seo": { - "title": "Entendendo Como o HTML Afeta o SEO", - "intro": [ - "Nestes cursos, você aprenderá como seu código HTML impacta a otimização de motores de busca." - ] - }, - "lab-travel-agency-page": { - "title": "Crie uma página de agência de viagens ", - "intro": [ - "Neste laboratório, você revisará o trabalho com os fundamentos do HTML criando uma página da Web para uma agência de viagens. Você trabalhará com imagens, o elemento figure, o elemento figcaption, o elemento anchor e mais." - ] - }, - "lecture-working-with-audio-and-video-elements": { - "title": "Trabalhando com Elementos de Áudio e Vídeo", - "intro": [ - "Nestes cursos, você aprenderá como trabalhar com os elementos audio e video." - ] - }, - "lab-html-audio-and-video-player": { - "title": "Construa um Player de Áudio e Vídeo em HTML", - "intro": [ - "Neste laboratório, você criará um player de áudio e vídeo em HTML usando os elementos video e audio com controles e atributos de fonte." - ] - }, - "lecture-working-with-images-and-svgs": { - "title": "Trabalhando com Imagens e SVGs", - "intro": [ - "Nestes cursos, você aprenderá como trabalhar com SVGs e sobre técnicas para otimizar suas imagens." - ] - }, - "workshop-build-a-heart-icon": { - "title": "Crie um Ícone de Coração", - "intro": [ - "Neste workshop, você praticará o uso de SVGs ao criar um ícone de coração." - ] - }, - "lecture-working-with-media": { - "title": "Trabalhando com o Elemento iframe", - "intro": [ - "Nestes cursos, você aprenderá como trabalhar com o elemento iframe que é usado para incorporar um site externo na sua página da web." - ] - }, - "workshop-build-a-video-display-using-iframe": { - "title": "Crie uma Exibição de Vídeo Usando iframe", - "intro": [ - "Neste workshop, você aprenderá como trabalhar com o elemento iframe criando uma exibição de vídeo." - ] - }, - "lab-video-compilation-page": { - "title": "Crie uma página de compilação de vídeos ", - "intro": [ - "Neste laboratório, você criará uma página da Web de compilação de vídeos. Você praticará o trabalho com o elemento iframe." - ] - }, - "lecture-working-with-links": { - "title": "Trabalhando com Links ", - "intro": [ - "Nestes cursos, você aprenderá sobre links, o atributo target, diferentes estados de link, caminhos absolutos e relativos, e muito mais." - ] - }, - "review-basic-html": { - "title": "Revisão sobre o básico de HTML ", - "intro": [ - "Antes de você ser questionado sobre seus conhecimentos de HTML adquiridos até agora, você precisa rever os conceitos.", - "Abra esta página para rever o boilerplate em HTML, elementos audio e video, os diferentes valores de target e mais." - ] - }, - "quiz-basic-html": { - "title": "Questionário básico de HTML ", - "intro": [ - "O questionário a seguir testará seu conhecimento dos conceitos básicos de HTML que você aprendeu até agora.", - "Se você está se preparando para o exame, existem vários conjuntos de questionários disponíveis para prática. Após completar um questionário, você pode revisitar esta página para acessar um novo conjunto de perguntas." - ] - }, - "lecture-importance-of-semantic-html": { - "title": "Importância do HTML Semântico", - "intro": [ - "Nestes cursos, você aprenderá sobre HTML semântico, por que você deve se preocupar com ele, elementos semânticos, como o HTML semântico difere do HTML de apresentação, e muito mais." - ] - }, - "lecture-understanding-nuanced-semantic-elements": { - "title": "Entendendo Elementos Semânticos Nuançados", - "intro": [ - "Nestes cursos, você aprenderá quando deve usar certos elementos semânticos, como o elemento em em vez do i, listas de descrição, e mais." - ] - }, - "workshop-major-browsers-list": { - "title": "Crie uma lista dos principais navegadores da Web", - "intro": [ - "Neste workshop, você criará uma lista de descrição e trabalhará com elementos dl, dt e dd." - ] - }, - "lecture-working-with-text-and-time-semantic-elements": { - "title": "Trabalhando com Elementos Semânticos de Texto e Tempo ", - "intro": [ - "Neste curso, você aprenderá sobre a importância da semântica em transmitir significados para o texto e conteúdos relacionados ao tempo, incluindo os elementos time, blockquote e mais." - ] - }, - "workshop-quincys-job-tips": { - "title": "Criar a página de dicas de trabalho do Quincy", - "intro": [ - "Neste workshop, você praticará o trabalho com HTML semântico usando os elementos q, blockquote e cite." - ] - }, - "lecture-working-with-specialized-semantic-elements": { - "title": "Trabalhando com Elementos Semânticos Especializados", - "intro": [ - "Neste curso, você aprenderá sobre elementos semânticos especializados, como os elementos u, s, code e mais." - ] - }, - "workshop-blog-page": { - "title": "Crie uma página de blog sobre gatos ", - "intro": [ - "Neste workshop, você vai criar uma página de blog usando apenas HTML com elementos semânticos, incluindo os elementos main, nav, article e footer." - ] - }, - "lab-event-hub": { - "title": "Crie uma central de eventos ", - "intro": [ - "Neste laboratório, você criará um hub de eventos e revisará elementos semânticos como header, nav, article e mais." - ] - }, - "review-semantic-html": { - "title": "Revisão sobre HTML semântico ", - "intro": [ - "Antes de você ser questionado sobre HTML semântico, você precisa rever os conceitos.", - "Abra esta página para rever os elementos HTML semânticos como em, strong, blockquote, address e mais." - ] - }, - "quiz-semantic-html": { - "title": "Questionário sobre HTML semântico ", - "intro": [ - "O questionário a seguir testará seu conhecimento sobre os conceitos de HTML semântico que você aprendeu até agora.", - "Se você está se preparando para o exame, existem vários conjuntos de questionários disponíveis para prática. Após completar um questionário, você pode revisitar esta página para acessar um novo conjunto de perguntas." - ] - }, - "lecture-working-with-forms": { - "title": "Trabalhando com Formulários", - "intro": [ - "Nestes cursos, você aprenderá sobre formulários, o papel das labels, inputs e botões na criação de formulários, validação de formulários no lado do cliente e estados do formulário." - ] - }, - "workshop-hotel-feedback-form": { - "title": "Crie um formulário de feedback de hotéis ", - "intro": [ - "Neste workshop, você vai criar um Formulário de Feedback para Hotéis.", - "Você vai praticar trabalhando com labels, inputs, fieldsets, legends, textareas e botões." - ] - }, - "lab-survey-form": { - "title": "Crie um formulário de pesquisa ", - "intro": [ - "Neste laboratório, você revisará formulários HTML criando um formulário de pesquisa.", - "Você praticará o trabalho com o elemento label, os diferentes elementos input, o atributo required e mais." - ] - }, - "lecture-working-with-tables": { - "title": "Trabalhando com Tabelas", - "intro": [ - "Nestes cursos, você aprenderá sobre tabelas HTML, como criá-las e quando usá-las." - ] - }, - "workshop-final-exams-table": { - "title": "Crie uma tabela dos exames finais ", - "intro": [ - "Neste workshop, você vai praticar trabalhando com tabelas HTML criando uma tabela de exames finais." - ] - }, - "lab-book-catalog-table": { - "title": "Crie uma tabela de catálogo de livros ", - "intro": [ - "Neste laboratório, você revisará tabelas HTML criando uma tabela de informações de livros.", - "Você praticará os diferentes componentes de tabela, como os elementos thead, tbody, th, tr e td." - ] - }, - "lecture-working-with-html-tools": { - "title": "Trabalhando com Ferramentas de HTML", - "intro": [ - "Nestes cursos, você aprenderá sobre ferramentas HTML e como elas permitem que você escreva um código melhor. Estas ferramentas incluem validadores HTML, Inspetor DOM, e as ferramentas de desenvolvimento dos navegadores." - ] - }, - "review-html-tables-and-forms": { - "title": "Revisão sobre tabelas e formulários em HTML ", - "intro": [ - "Antes de ser questionado sobre formulários HTML, tabelas e ferramentas, você primeiro precisa revisar os conceitos.", - "Abra esta página para revisar os elementos table, input, e button e também ferramentas comumente usadas como o validador HTML e mais." - ] - }, - "quiz-html-tables-and-forms": { - "title": "Questionário sobre tabelas e formulários em HTML ", - "intro": [ - "O seguinte questionário testará seu conhecimento sobre tabelas HTML, formulários e ferramentas HTML comumente usadas.", - "Se você está se preparando para o exame, existem vários conjuntos de questionários disponíveis para prática. Após completar um questionário, você pode revisitar esta página para acessar um novo conjunto de perguntas." - ] - }, - "lecture-importance-of-accessibility-and-good-html-structure": { - "title": "Importância da Acessibilidade e Estrutura de HTML Boa", - "intro": [ - "Nestes cursos, você aprenderá sobre acessibilidade e sua importância, ferramentas assistivas para pessoas com deficiência, atributos HTML que permitem criar sites inclusivos, práticas recomendadas de acessibilidade, e muito mais." - ] - }, - "workshop-debug-coding-journey-blog-page": { - "title": "Depure uma Página de Blog de Jornada de Código", - "intro": [ - "Neste workshop, você depurará e corrigirá erros de acessibilidade em uma página de blog de codificação." - ] - }, - "lecture-accessible-tables-forms": { - "title": "Trabalhando com Tabelas e Formulários Acessíveis", - "intro": [ - "Nestes cursos, você aprenderá como criar tabelas e formulários acessíveis." - ] - }, - "workshop-tech-conference-schedule": { - "title": "Crie uma Tabela de Programação de Conferência Tecnológica", - "intro": [ - "Neste workshop, você criará uma tabela de programação de conferência tecnológica acessível." - ] - }, - "lecture-introduction-to-aria": { - "title": "Introdução ao ARIA", - "intro": [ - "Nestes cursos, você aprenderá sobre o trabalho com funções ARIA." - ] - }, - "workshop-accessible-audio-controller": { - "title": "Crie um controlador de áudio com acessibilidade", - "intro": [ - "Neste workshop, você praticará HTML acessível criando um controlador de áudio que usa o atributo aria-labelledby." - ] - }, - "lecture-accessible-media-elements": { - "title": "Trabalhando com Elementos de Mídia Acessíveis", - "intro": [ - "Nestes cursos, você aprenderá como criar links, conteúdos de áudio e vídeo acessíveis." - ] - }, - "lab-checkout-page": { - "title": "Crie uma página de check-out ", - "intro": [ - "Neste laboratório, você criará uma página de checkout acessível.", - "Você praticará conceitos como atributos alt e funções ARIA." - ] - }, - "lab-movie-review-page": { - "title": "Projete uma Página de Resenha de Filmes", - "intro": [ - "Neste laboratório, você criará uma página de resenha de filmes.", - "Você praticará conceitos como HTML semântico, atributos alt, listas acessíveis e ocultação de conteúdo decorativo dos leitores de tela usando aria-hidden." - ] - }, - "lab-multimedia-player": { - "title": "Crie um Player Multimídia", - "intro": [ - "Neste laboratório, você criará um player multimídia.", - "Você praticará trabalhar com os elementos audio e video, o atributo controls e o atributo aria-label." - ] - }, - "review-html-accessibility": { - "title": "Revisão sobre acessibilidade no HTML ", - "intro": [ - "Antes de ser questionado sobre HTML e acessibilidade, você primeiro precisa revisar os conceitos.", - "Abra esta página para revisar conceitos, incluindo os atributos aria-hidden, aria-describedby, tabindex e mais." - ] - }, - "quiz-html-accessibility": { - "title": "Questionário sobre acessibilidade no HTML ", - "intro": [ - "O seguinte questionário testará seu conhecimento sobre os conceitos de acessibilidade que você aprendeu até agora.", - "Se você está se preparando para o exame, existem vários conjuntos de questionários disponíveis para prática. Após completar um questionário, você pode revisitar esta página para acessar um novo conjunto de perguntas." - ] - }, - "review-html": { - "title": "Revisão de HTML ", - "intro": [ - "Antes de você realizar o pré-teste de HTML, você precisa rever os conceitos ensinados nos módulos anteriores.", - "Abra esta página para rever conceitos sobre o básico dos elementos HTML, HTML semântico, tabelas, formulários e acessibilidade." - ] - }, - "qpra": { - "title": "30", - "intro": [] - }, - "lecture-understanding-computer-internet-and-tooling-basics": { - "title": "Compreendendo os Fundamentos do Computador, da Internet e das Ferramentas", - "intro": [ - "Nestes cursos, você aprenderá sobre o computador, suas diferentes partes, provedores de serviços de internet (ISPs) e as ferramentas usadas por desenvolvedores profissionais." - ] - }, - "lecture-working-with-file-systems": { - "title": "Trabalhando com Sistemas de Arquivos", - "intro": [ - "Nestes cursos, você aprenderá como trabalhar com sistemas de arquivos e pastas em seus computadores. Você aprenderá como criar, mover e excluir arquivos e pastas, as práticas recomendadas para nomear e organizar arquivos e pastas e muito mais." - ] - }, - "lecture-browsing-the-web-effectively": { - "title": "Navegando na Web de Forma Eficiente", - "intro": [ - "Nestes cursos, você aprenderá sobre o que são websites, mecanismos de busca e navegadores da web, os diferentes navegadores disponíveis e como obter o melhor de um mecanismo de busca." - ] - }, - "review-computer-basics": { - "title": "Revisão sobre o básico a respeito de computadores ", - "intro": [ - "Antes de você ser questionado sobre conceitos básicos de computador e internet, você precisa revisar.", - "Abra esta página para rever conceitos como RAM, provedores de serviços de internet, os navegadores web comuns, os motores de busca e mais." - ] - }, - "quiz-computer-basics": { - "title": "Questionário sobre o básico a respeito de computadores ", - "intro": [ - "Teste o que você aprendeu neste questionário de conhecimentos básicos sobre computadores." - ] - }, - "lecture-what-is-css": { - "title": "O que é CSS?", - "intro": [ - "Os cursos seguintes são sobre CSS. Você aprenderá o que é CSS e seu papel na web, uma regra CSS e sua anatomia, as três maneiras de escrever CSS e quando usar cada uma, elementos inline e block, e muitas outras informações." - ] - }, - "workshop-cafe-menu": { - "title": "Crie um menu de cafeteria ", - "intro": [ - "O CSS informa ao navegador como exibir sua página da web. Você pode usar o CSS para definir cor, fonte, tamanho e outros aspectos dos elementos HTML.", - "Neste workshop, você aprenderá CSS criando uma página de menu para uma página da web para um café." - ] - }, - "lab-business-card": { - "title": "Crie um cartão de visita ", - "intro": [ - "Neste laboratório, você vai criar um cartão de visita e estilizá-lo usando CSS.", - "Você praticará propriedades de estilo como color, font-size, text-align e mais." - ] - }, - "lecture-css-specificity-the-cascade-algorithm-and-inheritance": { - "title": "Especificidade do CSS, o Algoritmo da Cascata e Herança", - "intro": [ - "Nestes cursos, você aprenderá sobre especificidade CSS, os seletores comuns e suas especificidades, o algoritmo da cascata, herança e mais." - ] - }, - "review-basic-css": { - "title": "Revisão de fundamentos do CSS", - "intro": [ - "Antes de você ser questionado sobre conceitos básicos de CSS, você precisa revisar.", - "Abra esta página para revisar conceitos incluindo margin, padding, combinadores CSS, especificidade CSS e mais." - ] - }, - "quiz-basic-css": { - "title": "Questionário de fundamentos do CSS", - "intro": [ - "Teste o que você aprendeu neste questionário de conhecimento básico sobre o CSS." - ] - }, - "lecture-styling-lists-and-links": { - "title": "Estilizando Listas e Links", - "intro": [ - "Nestes cursos, você aprenderá as propriedades que você precisa conhecer para estilizar com eficiência listas e links, incluindo estados de link como link, visited, hover, e active." - ] - }, - "lab-stylized-to-do-list": { - "title": "Crie uma lista de tarefas estilizada ", - "intro": [ - "Neste laboratório, você vai criar uma lista de tarefas e aplicar diferentes estilos aos links", - "Você praticará propriedades de estilo como text-decoration, list-style-type e como mudar estilos em hover ou click." - ] - }, - "lecture-working-with-backgrounds-and-borders": { - "title": "Trabalhando com Fundos e Bordas", - "intro": [ - "Nestes cursos, você aprenderá sobre as propriedades e valores necessários para estilizar fundos e bordas dos elementos, juntamente com as considerações de acessibilidade para fundos." - ] - }, - "lab-blog-post-card": { - "title": "Projete um Cartão de Postagem de Blog", - "intro": [ - "Neste laboratório, você projetará um cartão de postagem de blog usando HTML e CSS", - "Você praticará conceitos como background-color, border-radius, margens, preenchimentos e mais." - ] - }, - "review-css-backgrounds-and-borders": { - "title": "Revisão de Listas, Links, Fundos e Bordas CSS", - "intro": [ - "Antes de você ser questionado sobre fundos e bordas do CSS, você precisa revisar.", - "Abra esta página para rever conceitos incluindo as propriedades background-image, border e mais." - ] - }, - "quiz-css-backgrounds-and-borders": { - "title": "Questionário sobre bordas e segundo plano no CSS ", - "intro": [ - "Teste o que você aprendeu neste questionário sobre bordas e segundo plano em CSS." - ] - }, - "lecture-user-interface-design-fundamentals": { - "title": "Fundamentos do Design de Interfaces de Usuário", - "intro": [ - "Nestes cursos, você aprenderá sobre os fundamentos do design de interface do usuário (UI). Você aprenderá sobre os termos que você deve conhecer para se comunicar com designers, hierarquia visual, escalonamento, alinhamento, espaços em branco, e muito mais." - ] - }, - "lecture-user-centered-design": { - "title": "Design Centrado no Usuário", - "intro": [ - "Nestes cursos, você aprenderá as práticas recomendadas para projetar recursos voltados para o usuário, como modo escuro, breadcrumbs, diálogos modais, e muito mais. Você também aprenderá a realizar pesquisas de usuário, requisitos de usuário e testes." - ] - }, - "lecture-common-design-tools": { - "title": "Ferramentas Comuns de Design", - "intro": [ - "Nestes cursos, você aprenderá sobre as ferramentas de design comuns que os desenvolvedores devem conhecer. Você também aprenderá sobre resumos de design e como os desenvolvedores trabalham com eles." - ] - }, - "review-design-fundamentals": { - "title": "Revisão de fundamentos de design ", - "intro": [ - "Antes de você ser questionado sobre os fundamentos de design que aprendeu até agora, você precisa rever.", - "Abra esta página para rever conceitos como design centrado no usuário, escala, alinhamento, boa hierarquia visual e mais." - ] - }, - "quiz-design-fundamentals": { - "title": "Questionário de fundamentos de design ", - "intro": [ - "Teste o que você aprendeu neste questionário de fundamentos de design de UIs." - ] - }, - "lecture-working-with-relative-and-absolute-units": { - "title": "Trabalhando com Unidades Relativas e Absolutas", - "intro": [ - "Nestes cursos, você aprenderá sobre unidades relativas e absolutas, e como elas impactam o que você vê no navegador." - ] - }, - "lab-event-flyer-page": { - "title": "Crie uma página de anúncio de evento ", - "intro": [ - "Neste laboratório, você criará uma página de flyer de evento.", - "Você praticará alinhando elementos usando CSS absoluto e relativo." - ] - }, - "review-css-relative-and-absolute-units": { - "title": "Revisão de unidades relativas e absolutas no CSS ", - "intro": [ - "Antes de você ser questionado sobre unidades relativas e absolutas, você precisa revisar.", - "Abra esta página para rever conceitos como porcentagens, px, rem, em e mais." - ] - }, - "quiz-css-relative-and-absolute-units": { - "title": "Questionário de unidades relativas e absolutas no CSS ", - "intro": [ - "Teste o que você aprendeu neste questionário sobre unidades relativas e absolutas em CSS." - ] - }, - "lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": { - "title": "Trabalhando com Pseudoclasses e Pseudoelementos em CSS", - "intro": [ - "Nestes cursos, você aprenderá sobre pseudo-classes e pseudo-elementos, juntamente com seus exemplos e funcionamento." - ] - }, - "workshop-greeting-card": { - "title": "Desenhe um Cartão de Saudações", - "intro": [ - "Nas lições anteriores, você aprendeu a trabalhar com os diferentes tipos de pseudo-classes.", - "Neste workshop, você terá a chance de praticar o que aprendeu desenhando um cartão de saudações." - ] - }, - "lab-job-application-form": { - "title": "Crie um formulário de candidatura para vagas de trabalho ", - "intro": [ - "Neste laboratório, você criará um formulário de candidatura a emprego e o estilizará usando pseudo-classes.", - "Você praticará conceitos como :hover, :active, :focus e mais." - ] - }, - "review-css-pseudo-classes": { - "title": "Revisão de pseudoclasses em CSS ", - "intro": [ - "Antes de ser testado em pseudoclasses e pseudoelementos de CSS, você deve revisar o que aprendeu sobre eles.", - "Abra esta página para rever conceitos como os pseudo-elementos ::before e ::after bem como as pseudo-classes :hover, :active e mais." - ] - }, - "quiz-css-pseudo-classes": { - "title": "Questionário de pseudoclasses em CSS ", - "intro": [ - "Teste seu conhecimento sobre pseudoclasses de CSS com este questionário." - ] - }, - "lecture-working-with-colors-in-css": { - "title": "Trabalhando com Cores em CSS", - "intro": [ - "Nestes cursos, você aprenderá sobre gradientes lineares e radiais, teoria das cores, diferentes tipos de cores, como as cores nomeadas, RGB, Hex, e HSL. Você aprenderá como essas cores funcionam, e quais usar em casos específicos." - ] - }, - "workshop-colored-markers": { - "title": "Crie um conjunto de marcadores coloridos ", - "intro": [ - "Neste workshop, você criará um conjunto de marcadores coloridos. Você aprenderá maneiras diferentes de definir valores de cores e como combinar cores uma com a outra." - ] - }, - "lab-colored-boxes": { - "title": "Projete um Conjunto de Caixas Coloridas", - "intro": [ - "Neste laboratório, você criará um grid de cores e praticará adicionando cores de fundo aos itens do grid usando códigos hexadecimais, RGB e nomes de cores predefinidos." - ] - }, - "review-css-colors": { - "title": "Revisão sobre cores no CSS ", - "intro": [ - "Antes de ser testado em cores CSS, você deve revisar o que aprendeu sobre elas.", - "Abra esta página para revisar conceitos como a função rgb(), a função hsl(), códigos hex e mais." - ] - }, - "quiz-css-colors": { - "title": "Questionário sobre cores no CSS ", - "intro": [ - "Teste seu conhecimento sobre cores CSS com este questionário." - ] - }, - "lecture-best-practices-for-styling-forms": { - "title": "Práticas Recomendadas para Estilização de Formulários", - "intro": [ - "Nestes cursos, você aprenderá sobre as práticas recomendadas para estilizar formulários e os problemas que você pode encontrar ao estilizar entradas especiais como color e datetime-local." - ] - }, - "workshop-registration-form": { - "title": "Crie um formulário de inscrição ", - "intro": [ - "Neste workshop, você aprenderá a projetar formulários HTML criando uma página de cadastro. Você aprenderá a controlar quais tipos de dados as pessoas podem digitar no seu formulário e algumas novas ferramentas CSS para estilizar sua página." - ] - }, - "lab-contact-form": { - "title": "Crie um formulário de contato ", - "intro": [ - "Neste laboratório, você projetará um formulário de contato em HTML e o estilizará usando CSS." - ] - }, - "workshop-game-settings-panel": { - "title": "Criar um painel de configurações do jogo", - "intro": [ - "Neste workshop, você praticará a estilização de caixas de seleção criando um painel de configurações de jogo." - ] - }, - "lab-feature-selection": { - "title": "Desenhe uma Página de Seleção de Recursos", - "intro": [ - "Neste laboratório, você vai criar uma página de seleção de recursos com checkboxes personalizados.", - "Você criará cartões de recursos com labels e checkboxes, depois dará estilo personalizado aos checkboxes." - ] - }, - "review-styling-forms": { - "title": "Revisão sobre estilização de formulários ", - "intro": [ - "Antes de ser testado na estilização de formulários, você deve revisar o que aprendeu.", - "Abra esta página para revisar como estilizar entradas de formulários, trabalhar com appearance: none e mais." - ] - }, - "quiz-styling-forms": { - "title": "Questionário sobre estilização de formulários ", - "intro": [ - "Neste questionário, você testará seu conhecimento sobre como estilizar formulários." - ] - }, - "lecture-working-with-css-transforms-overflow-and-filters": { - "title": "Trabalhando com Transformações CSS, Ultrapassagem de Limites e Filtros", - "intro": [ - "Nestes cursos, você aprenderá sobre o trabalho com transformações CSS, overflow e filtros. Você também aprenderá sobre o modelo de caixa e como ele funciona." - ] - }, - "workshop-rothko-painting": { - "title": "Crie uma pintura ao estilo de Rothko ", - "intro": [ - "Cada elemento HTML é uma caixa própria, com seu próprio espaçamento e borda. A isso chamamos de Modelo de Caixa, ou Box Model.", - "Nesse curso, você usará o CSS e o Box Model para criar suas próprias obras de arte retangulares ao estilo de Rothko." - ] - }, - "lab-confidential-email-page": { - "title": "Crie uma página de e-mail confidencial ", - "intro": [ - "Neste laboratório, você criará uma página da Web usando HTML e mascarará o conteúdo usando propriedades CSS." - ] - }, - "review-css-layout-and-effects": { - "title": "Revisão sobre efeitos e layout em CSS ", - "intro": [ - "Antes de responder ao questionário sobre Layouts e Efeitos em CSS, você precisa revisar.", - "Abra esta página para revisar conceitos como a propriedade transform, o modelo de caixas, a propriedade overflow, e mais." - ] - }, - "quiz-css-layout-and-effects": { - "title": "Questionário sobre efeitos e layout em CSS ", - "intro": [ - "Neste questionário, você testará seu conhecimento sobre o modelo de caixas, transformações, filtros e ultrapassagem de limites em CSS." - ] - }, - "lecture-working-with-css-flexbox": { - "title": "Trabalhando com CSS Flexbox", - "intro": [ - "Nestes cursos, você aprenderá como o flexbox do CSS funciona, suas propriedades e quando você deve usá-lo." - ] - }, - "workshop-flexbox-photo-gallery": { - "title": "Crie uma galeria de fotos usando o Flexbox ", - "intro": [ - "Neste workshop, você usará Flexbox para criar uma página da galeria de fotos responsiva." - ] - }, - "lab-page-of-playing-cards": { - "title": "Construa uma página de jogos de cartas ", - "intro": [ - "Neste laboratório, você usará flexbox para criar uma página da web de jogos de cartas.", - "Você praticará o alinhamento de elementos usando propriedades de flexbox, como flex-direction, justify-content, align-self e mais." - ] - }, - "review-css-flexbox": { - "title": "Revisão sobre o Flexbox do CSS ", - "intro": [ - "Antes de ser testado no Flexbox do CSS, você deve revisar o que aprendeu.", - "Abra esta página para revisar conceitos como as propriedades flex-direction, justify-content, align-items, flex-wrap, e mais." - ] - }, - "quiz-css-flexbox": { - "title": "Questionário sobre o Flexbox do CSS ", - "intro": [ - "Teste o que você aprendeu sobre Flexbox do CSS com este questionário." - ] - }, - "lecture-working-with-css-fonts": { - "title": "Trabalhando com Fontes CSS", - "intro": [ - "Nestes cursos, você aprenderá sobre a tipografia e suas melhores práticas, fontes e a propriedade text-shadow." - ] - }, - "workshop-nutritional-label": { - "title": "Crie um rótulo nutricional ", - "intro": [ - "A tipografia é a arte de estilizar seu texto para ser facilmente legível e adequado ao seu propósito.", - "Neste curso, você usará a tipografia para construir uma página da web de rótulo nutricional. Você aprenderá como estilizar texto, ajustar a altura da linha e posicionar seu texto usando CSS." - ] - }, - "lab-newspaper-article": { - "title": "Crie um artigo de jornal ", - "intro": [ - "Neste laboratório, você criará uma página de artigo de jornal usando HTML e CSS.", - "Você estilizará as fontes usando propriedades como font-family, font-size, font-weight e mais." - ] - }, - "review-css-typography": { - "title": "Revisão sobre tipografia no CSS ", - "intro": [ - "Antes de ser testado nos fundamentos da tipografia, você deve revisar o que aprendeu.", - "Abra esta página para revisar conceitos como fontes seguras para a web, a propriedade font-family e mais." - ] - }, - "quiz-css-typography": { - "title": "Questionário sobre tipografia no CSS ", - "intro": [ - "Teste seu conhecimento sobre tipografia com este questionário." - ] - }, - "lecture-best-practices-for-accessibility-and-css": { - "title": "Práticas Recomendadas para Acessibilidade e CSS", - "intro": [ - "Nestes cursos, você aprenderá sobre as práticas recomendadas para acessibilidade em CSS, e as ferramentas para verificar o bom contraste de cores em sites." - ] - }, - "workshop-accessibility-quiz": { - "title": "Crie um questionário na página ", - "intro": [ - "Acessibilidade é o processo de tornar suas páginas da web utilizáveis para todos, incluindo pessoas com deficiências.", - "Neste curso, você vai criar um questionário na página. Você aprenderá ferramentas de acessibilidade, como atalhos de teclado, atributos ARIA e melhores práticas." - ] - }, - "lab-tribute-page": { - "title": "Criar uma página de homenagem ", - "intro": [ - "Neste laboratório, você vai criar uma página de tributo para um assunto de sua escolha, fictício ou real." - ] - }, - "review-css-accessibility": { - "title": "Revisão sobre acessibilidade no CSS ", - "intro": [ - "Antes de ser testado em CSS e acessibilidade, você deve revisar o que aprendeu.", - "Abra esta página para revisar conceitos como ferramentas de contraste de cores e práticas recomendadas de acessibilidade." - ] - }, - "quiz-css-accessibility": { - "title": "Questionário sobre acessibilidade no CSS ", - "intro": [ - "Neste questionário, você testará o que aprendeu sobre tornar suas páginas da web acessíveis com CSS." - ] - }, - "lecture-understanding-how-to-work-with-floats-and-positioning-in-css": { - "title": "Compreendendo Como Trabalhar com Flutuações e Posicionamento no CSS", - "intro": [ - "Nestes cursos, você aprenderá como usar posicionamento e flutuações do CSS. Você aprenderá sobre o posicionamento absolute, relative, fixed, e sticky. Você também usará a propriedade z-index." - ] - }, - "workshop-cat-painting": { - "title": "Crie a pintura de um gato ", - "intro": [ - "Dominar o posicionamento em CSS é essencial para criar layouts visualmente atraentes e responsivos para a web.", - "Neste workshop, você criará uma pintura de um gato. Você aprenderá como trabalhar com o posicionamento absoluto, a propriedade z-index e a propriedade transform." - ] - }, - "lab-house-painting": { - "title": "Crie a pintura de uma casa ", - "intro": [ - "Neste laboratório, você criará uma pintura de uma casa usando CSS.", - "Você projetará elementos individuais da casa e os posicionará usando propriedades CSS como position, top, left e mais." - ] - }, - "review-css-positioning": { - "title": "Revisão sobre posicionamento em CSS ", - "intro": [ - "Antes de ser testado nos fundamentos do posicionamento em CSS, você deve revisar o que aprendeu.", - "Abra esta página para revisar conceitos como flutuações, posicionamento relativo, posicionamento absoluto e mais." - ] - }, - "quiz-css-positioning": { - "title": "Questionário sobre posicionamento em CSS ", - "intro": [ - "Teste seu conhecimento sobre posicionamento em CSS com este questionário." - ] - }, - "lecture-working-with-attribute-selectors": { - "title": "Trabalhando com Seletores de Atributos", - "intro": [ - "Nestas lições, você aprenderá sobre seletores de atributos e como usá-los para direcionar elementos, como links e listas." - ] - }, - "workshop-balance-sheet": { - "title": "Crie uma folha de balanço ", - "intro": [ - "Neste workshop, você criará uma folha de balanço usando pseudosseletores. Você aprenderá como alterar o estilo de um elemento quando passar o mouse sobre ele e acionar outros eventos na sua página da web." - ] - }, - "lab-book-inventory-app": { - "title": "Crie uma aplicação de inventário de livros ", - "intro": [ - "Neste laboratório, você criará um aplicativo de inventário de livros.", - "Você praticará seletores de atributos CSS como [attribute], [attribute=value], [attribute~=value] e mais." - ] - }, - "review-css-attribute-selectors": { - "title": "Revisão sobre seletores de atributos em CSS ", - "intro": [ - "Antes de ser testado nos fundamentos dos seletores de atributos CSS, você deve revisar o que aprendeu sobre eles.", - "Abra esta página para revisar conceitos como trabalhar com diferentes seletores de atributos que têm como alvo links com os atributos href e title." - ] - }, - "quiz-css-attribute-selectors": { - "title": "Questionário sobre seletores de atributos em CSS ", - "intro": [ - "Teste seu conhecimento sobre seletores de atributos CSS com este questionário." - ] - }, - "lecture-best-practices-for-responsive-web-design": { - "title": "Práticas Recomendadas para Design Responsivo na Web", - "intro": [ - "Nestas lições, você aprenderá sobre as melhores práticas para design responsivo na web, os conceitos de funções como grid, flexbox, media queries e breakpoints de mídia no design responsivo, entre outros." - ] - }, - "workshop-piano": { - "title": "Crie um piano ", - "intro": [ - "O design responsivo diz à sua página da web como ela deve ficar em telas de tamanho diferente.", - "Neste workshop, você vai usar CSS e design responsivo para codar um piano. Você também vai praticar media queries e pseudo selectores." - ] - }, - "lab-technical-documentation-page": { - "title": "Crie uma página de documentação técnica ", - "intro": [ - "Neste laboratório, você criará uma página de documentação técnica para servir como instrução ou referência para um tópico.", - "Você também praticará consultas de mídia para criar um design responsivo." - ] - }, - "review-responsive-web-design": { - "title": "Revisão sobre design responsivo para a web ", - "intro": [ - "Antes de ser testado nos fundamentos do design responsivo, você deve revisar o que aprendeu.", - "Abra esta página para revisar conceitos como consultas de mídia, pontos de interrupção de mídia e design para abordagem mobile first." - ] - }, - "quiz-responsive-web-design": { - "title": "Questionário sobre design responsivo para a web ", - "intro": [ - "Teste o que você aprendeu sobre tornar suas páginas da web responsivas com este questionário." - ] - }, - "lecture-working-with-css-variables": { - "title": "Trabalhando com Variáveis CSS", - "intro": [ - "Nestas lições, você aprenderá a definir e usar propriedades personalizadas (também conhecidas como variáveis CSS). Você também aprenderá sobre a regra @property e como ela funciona." - ] - }, - "workshop-city-skyline": { - "title": "Crie um céu na cidade ", - "intro": [ - "As variáveis CSS ajudam você a organizar seus estilos e a reutilizá-los.", - "Neste curso, você vai construir um céu na cidade. Você vai aprender como configurar variáveis CSS para que você possa reutilizá-las quando quiser." - ] - }, - "lab-availability-table": { - "title": "Crie uma tabela de disponibilidade ", - "intro": [ - "Para este laboratório, você criará uma tabela de disponibilidade que mostra a disponibilidade de pessoas para uma reunião.", - "Você praticará o uso de variáveis CSS para armazenar e reutilizar cores, fontes e outros estilos." - ] - }, - "review-css-variables": { - "title": "Revisão sobre variáveis no CSS ", - "intro": [ - "Antes de ser testado nos fundamentos das variáveis CSS, você deve revisar o que aprendeu.", - "Abra esta página para revisar como trabalhar com propriedades customizadas CSS (variáveis CSS) e a regra @property." - ] - }, - "quiz-css-variables": { - "title": "Questionário sobre variáveis no CSS ", - "intro": [ - "Teste seu conhecimento sobre variáveis CSS com este questionário." - ] - }, - "lecture-working-with-css-grid": { - "title": "Trabalhando com CSS Grid", - "intro": [ - "Nestas lições, você aprenderá sobre o grid CSS, suas várias propriedades e como usá-las, bem como como o grid CSS difere do flexbox." - ] - }, - "workshop-magazine": { - "title": "Construir uma revista", - "intro": [ - "O CSS Grid dá a você o controle sobre as linhas e colunas do seu design de página da web.", - "Neste workshop, você vai construir um artigo de revista. Você praticará como usar o CSS Grid, incluindo conceitos como linhas e colunas de grade." - ] - }, - "lab-newspaper-layout": { - "title": "Projete um Layout de Jornal", - "intro": [ - "Neste laboratório, você projetará um layout de jornal usando CSS Grid, incluindo conceitos como linhas de grade e colunas de grade." - ] - }, - "lecture-debugging-css": { - "title": "Depuração de CSS", - "intro": [ - "Nesta lição, você aprenderá a depurar CSS usando as ferramentas do desenvolvedor do seu navegador e validadores de CSS." - ] - }, - "lab-product-landing-page": { - "title": "Crie uma página inicial para um produto ", - "intro": [ - "Neste projeto, você criará uma página inicial de produto para comercializar um produto de sua escolha." - ] - }, - "review-css-grid": { - "title": "Revisão de grid no CSS ", - "intro": [ - "Antes de ser testado nos fundamentos do CSS Grid, você deve revisar o que aprendeu.", - "Abra esta página para revisar como trabalhar com as diferentes propriedades CSS Grid como grid-template-columns, grid-gap e mais." - ] - }, - "quiz-css-grid": { - "title": "Questionário de grid no CSS ", - "intro": [ - "Teste seu conhecimento sobre CSS Grid com este questionário." - ] - }, - "lecture-animations-and-accessibility": { - "title": "Animações e Acessibilidade", - "intro": [ - "Nestas lições, você aprenderá sobre animações em CSS e suas preocupações com acessibilidade. Você também aprenderá como prefers-reduced-motion pode ajudar a abordar essas preocupações de acessibilidade." - ] - }, - "workshop-ferris-wheel": { - "title": "Crie uma Roda-Gigante Animada", - "intro": [ - "Você pode usar animação CSS para chamar a atenção para seções específicas da sua página da web e torná-la mais envolvente.", - "Neste workshop, você criará uma roda-gigante. Você vai praticar como usar CSS para animar elementos, transformá-los e ajustar sua velocidade." - ] - }, - "lab-moon-orbit": { - "title": "Crie uma órbita lunar ", - "intro": [ - "Neste laboratório, você criará uma animação da lua orbitando a Terra.", - "Você praticará propriedades de animação como animation-name, animation-duration, animation-timing-function e mais." - ] - }, - "workshop-flappy-penguin": { - "title": "Criar um pinguim flappy ", - "intro": [ - "Você pode transformar elementos HTML para criar projetos atraentes que chamam a atenção do seu leitor. Você pode usar transformações para girar elementos, dimensionar e muito mais.", - "Neste curso, você criará um pinguim. Você usará transformações em CSS para posicionar e redimensionar as partes do seu pinguim, criar um plano de fundo e animar o seu trabalho." - ] - }, - "lab-personal-portfolio": { - "title": "Crie um portfólio pessoal ", - "intro": [ - "Neste projeto, você criará sua própria página pessoal de portfólio." - ] - }, - "review-css-animations": { - "title": "Revisão de Animações em CSS", - "intro": [ - "Antes de ser testado em animações CSS, você deve revisar o que aprendeu sobre elas.", - "Abra esta página para revisar conceitos inclusive prefers-reduced-motion, a regra @keyframes e mais." - ] - }, - "quiz-css-animations": { - "title": "Questionário sobre animações no CSS ", - "intro": [ - "Teste seu conhecimento sobre animações em CSS com este questionário." - ] - }, - "review-css": { - "title": "Revisão sobre CSS ", - "intro": [ - "Antes de fazer o exame preparatório de CSS, você precisa primeiro revisar os conceitos ensinados nos módulos anteriores.", - "Abra esta página para revisar conceitos sobre o básico de CSS, design responsivo na web, animações, acessibilidade e mais." - ] - }, - "lecture-working-with-code-editors-and-ides": { - "title": "Trabalhando com editores de código e IDEs", - "intro": [ - "Nestas lições, você aprenderá a trabalhar com editores de código e IDEs. Você aprenderá vários conceitos sobre o editor de código mais popular, o VS Code, como sua instalação, como criar um projeto nele, atalhos de teclado e extensões." - ] - }, - "lecture-introduction-to-javascript": { - "title": "Introdução ao JavaScript", - "intro": [ - "Nestas lições, você aprenderá os fundamentos do JavaScript. Os tópicos abordados incluem, mas não se limitam a, variáveis, tipos de dados, como o JavaScript interage com o HTML e CSS, e muito mais." - ] - }, - "lecture-introduction-to-strings": { - "title": "Introdução a Strings", - "intro": [ - "Nestas lições, você aprenderá a trabalhar com strings e concatenação de strings." - ] - }, - "lecture-understanding-code-clarity": { - "title": "Compreendendo a Clareza do Código", - "intro": [ - "Nestas lições, você aprenderá sobre comentários em JavaScript e o papel dos pontos e vírgulas na programação." - ] - }, - "workshop-greeting-bot": { - "title": "Crie um bot de saudações ", - "intro": [ - "Neste workshop, você aprenderá os fundamentos do JavaScript criando um bot de saudações.", - "Você aprenderá sobre as variáveis, let, const, console.log e sobre o uso básico de strings." - ] - }, - "lab-javascript-trivia-bot": { - "title": "Crie um bot informativo em JavaScript ", - "intro": [ - "Neste laboratório, você praticará trabalhar com variáveis e strings em JavaScript criando um bot informativo." - ] - }, - "lab-sentence-maker": { - "title": "Crie um construtor de frases ", - "intro": [ - "Neste laboratório, você continuará praticando com strings e concatenação criando e personalizando várias histórias." - ] - }, - "lecture-working-with-data-types": { - "title": "Trabalhando com Tipos de Dados", - "intro": [ - "Nas lições a seguir, você aprenderá a trabalhar com tipos de dados em JavaScript. Você também aprenderá como a tipagem dinâmica difere da tipagem estática, o operador typeof e o bug typeof null." - ] - }, - "review-javascript-variables-and-data-types": { - "title": "Revisão sobre variáveis e tipos de dados em JavaScript", - "intro": [ - "Antes de fazer o questionário sobre variáveis e tipos de dados no JavaScript, você precisa primeiro revisar os conceitos.", - "Abra esta página para revisar variáveis, tipos de dados, log e comentários." - ] - }, - "quiz-javascript-variables-and-data-types": { - "title": "Questionário sobre variáveis e tipos de dados em JavaScript ", - "intro": [ - "Teste seu conhecimento sobre variáveis e tipos de dados em JavaScript com este questionário." - ] - }, - "lecture-working-with-strings-in-javascript": { - "title": "Trabalhando com Strings no JavaScript", - "intro": [ - "Nestas lições, você aprenderá a trabalhar com strings em JavaScript. Você aprenderá a acessar caracteres de uma string, como usar literais de modelo e interpolação, como criar uma nova linha em strings e muito mais." - ] - }, - "workshop-teacher-chatbot": { - "title": "Crie um chatbot professor ", - "intro": [ - "Neste workshop, você continuará a aprender mais sobre strings em JavaScript criando um chatbot.", - "Você aprenderá a trabalhar com template literals e com o método indexOf." - ] - }, - "lecture-working-with-string-character-methods": { - "title": "Trabalhando com Métodos de Caracteres de String", - "intro": [ - "Nesta lição, você aprenderá sobre a codificação de caracteres ASCII e como usar os métodos charCodeAt() e fromCharCode() do JavaScript para converter entre caracteres e seus valores numéricos ASCII." - ] - }, - "lecture-working-with-string-search-and-slice-methods": { - "title": "Trabalhando com Métodos de Pesquisa e Segmentação de String", - "intro": [ - "Nesta lição, você aprenderá a buscar substrings usando o método includes() e como extrair partes de strings usando o método slice()." - ] - }, - "workshop-string-inspector": { - "title": "Criar um inspetor de strings", - "intro": [ - "Neste workshop, você praticará o trabalho com os métodos includes() e slice() criando um inspetor de strings." - ] - }, - "lecture-working-with-string-formatting-methods": { - "title": "Trabalhando com Métodos de Formatação de String", - "intro": [ - "Nesta lição, você aprenderá a formatar strings mudando seu caso usando os métodos toUpperCase() e toLowerCase(), e como remover espaços em branco usando os métodos trim(), trimStart() e trimEnd()." - ] - }, - "workshop-string-formatter": { - "title": "Criar um formatador de strings", - "intro": [ - "Neste workshop, você praticará trabalhar com vários métodos de strings, incluindo os métodos trim(), toUpperCase() e toLowerCase()." - ] - }, - "lecture-working-with-string-modification-methods": { - "title": "Trabalhando com Métodos de Modificação de String", - "intro": [ - "Nesta lição, você aprenderá a modificar strings substituindo partes delas usando o método replace() e como repetir strings várias vezes usando o método repeat()." - ] - }, - "workshop-string-transformer": { - "title": "Crie um Transformer de String", - "intro": [ - "Neste workshop, você praticará o uso dos métodos replace(), replaceAll() e repeat()." - ] - }, - "review-javascript-strings": { - "title": "Revisão sobre strings em JavaScript", - "intro": [ - "Antes de fazer o questionário sobre trabalho com strings no JavaScript, você precisa primeiro revisar.", - "Abra esta página para revisar como trabalhar com literais de template, o método slice, o método includes, o método trim, e mais." - ] - }, - "quiz-javascript-strings": { - "title": "Questionário sobre strings em JavaScript ", - "intro": [ - "Teste seu conhecimento sobre strings em JavaScript com este questionário." - ] - }, - "lecture-working-with-numbers-and-arithmetic-operators": { - "title": "Trabalhando com Números e Operadores Aritméticos", - "intro": [ - "Nestas lições, você aprenderá sobre o tipo de número, operadores aritméticos e como usá-los com números e strings." - ] - }, - "lab-debug-type-coercion-errors": { - "title": "Depurar erros de coerção de tipo em uma aplicação com bugs", - "intro": [ - "Neste laboratório, você trabalhará com uma aplicação defeituosa que contém vários tipos de erros de coerção.", - "Sua tarefa é identificar e corrigir esses erros para garantir que a aplicação funcione corretamente." - ] - }, - "lecture-working-with-operator-behavior": { - "title": "Trabalhando com Comportamento de Operadores", - "intro": [ - "Nestas lições, você aprenderá sobre precedência de operadores, os operadores de incremento e decremento, e operadores de atribuição composta." - ] - }, - "lab-debug-increment-and-decrement-operator-errors": { - "title": "Depurar erros dos operadores de incremento e decremento em uma aplicação com bugs", - "intro": [ - "Neste laboratório, você vai depurar uma aplicação que tem vários erros relacionados aos operadores de incremento e decremento.", - "Sua tarefa é identificar e corrigir esses erros para garantir que a aplicação funcione corretamente." - ] - }, - "lecture-working-with-comparison-and-boolean-operators": { - "title": "Trabalhando com Operadores de Comparação e Booleanos", - "intro": [ - "Nestas lições, você aprenderá sobre booleanos, e operadores de igualdade e desigualdade, além de outros operadores de comparação." - ] - }, - "lecture-working-with-unary-and-bitwise-operators": { - "title": "Trabalhando com Operadores Unários e Bitwise", - "intro": [ - "Nestas lições, você aprenderá sobre operadores unários e bitwise." - ] - }, - "lecture-working-with-conditional-logic-and-math-methods": { - "title": "Trabalhando com Lógica Condicional e Métodos Matemáticos", - "intro": [ - "Nestas lições, você aprenderá sobre instruções condicionais, operadores lógicos binários, e o objeto Math." - ] - }, - "workshop-mathbot": { - "title": "Crie um bot de matemática ", - "intro": [ - "Neste workshop, você vai rever como trabalhar com os diferentes métodos de objetos matemáticos, construindo um bot matemático." - ] - }, - "lab-fortune-teller": { - "title": "Crie um adivinhador do futuro ", - "intro": [ - "Neste laboratório, você criará um adivinhador do futuro selecionando aleatoriamente uma sorte dentre as disponíveis.", - "Você praticará como trabalhar com o método Math.random() e o método Math.floor() para gerar números aleatórios." - ] - }, - "lecture-working-with-numbers-and-common-number-methods": { - "title": "Trabalhando com Números e Métodos Comuns de Números", - "intro": [ - "Nestas lições, você aprenderá sobre números e métodos comuns de números. Estes incluem isNaN(), parseInt(), parseFloat(), e toFixed()." - ] - }, - "review-javascript-math": { - "title": "Revisão sobre Math em JavaScript", - "intro": [ - "Antes de ser testado com o objeto Math, você deve revisar o que aprendeu.", - "Abra esta página para revisar como trabalhar com o método Math.random(), o método Math.floor() e mais." - ] - }, - "quiz-javascript-math": { - "title": "Questionário sobre Math em JavaScript ", - "intro": [ - "Teste seu conhecimento sobre o objeto Math do JavaScript com este questionário." - ] - }, - "lecture-understanding-comparisons-and-conditionals": { - "title": "Compreendendo Comparações e Condicionais", - "intro": [ - "Nestas lições, você aprenderá sobre operadores de comparação e condicionais. Você aprenderá como os diversos condicionais diferem uns dos outros, e como comparações funcionam com null e undefined." - ] - }, - "review-javascript-comparisons-and-conditionals": { - "title": "Revisão sobre comparações e condicionais em JavaScript", - "intro": [ - "Antes de ser testado sobre condicionais, você deve revisar o que aprendeu sobre eles.", - "Abra esta página para revisar como trabalhar com instruções switch, outros tipos de condicionais e mais." - ] - }, - "quiz-javascript-comparisons-and-conditionals": { - "title": "Questionário sobre condicionais e comparações em JavaScript ", - "intro": [ - "Teste seu conhecimento sobre condicionais e comparações em JavaScript com este questionário." - ] - }, - "lecture-working-with-functions": { - "title": "Trabalhando com Funções", - "intro": [ - "Nestes ensinamentos, você aprenderá como reutilizar um bloco de código com funções. Você aprenderá qual é o propósito de uma função e como elas funcionam, e como o escopo funciona na programação. " - ] - }, - "workshop-calculator": { - "title": "Crie uma calculadora ", - "intro": [ - "Neste workshop, você revisará seu conhecimento sobre funções criando uma calculadora." - ] - }, - "lab-boolean-check": { - "title": "Crie uma Função de Verificação Booleana", - "intro": [ - "Neste laboratório, você implementará uma função que verifica se um valor é booleano." - ] - }, - "lab-email-masker": { - "title": "Crie um mascarador de e-mails ", - "intro": [ - "Neste laboratório, você criará um mascarador de e-mails, que vai ocultar um endereço de e-mail selecionado.", - "Você praticará o corte de strings, concatenação e uso de funções." - ] - }, - "workshop-loan-qualification-checker": { - "title": "Crie um verificador de qualificação para empréstimos ", - "intro": [ - "Neste workshop, você continuará a aprender a trabalhar com condicionais criando uma aplicação de verificação de qualificação para empréstimos.", - "Você aprenderá mais sobre instruções if e sobre como usar operadores de comparação e várias condições em uma instrução if." - ] - }, - "lab-celsius-to-fahrenheit-converter": { - "title": "Crie um Conversor de Celsius para Fahrenheit", - "intro": [ - "Neste laboratório, você implementará uma função que converte a temperatura de Celsius para Fahrenheit." - ] - }, - "lab-counting-cards": { - "title": "Crie um Assistente de Contagem de Cartas", - "intro": [ - "Neste laboratório, você usará JavaScript para contar cartas distribuídas." - ] - }, - "lab-leap-year-calculator": { - "title": "Crie uma calculadora de ano bissexto ", - "intro": [ - "Neste laboratório, você usará instruções condicionais e laços para determinar se um ano é bissexto." - ] - }, - "lab-truncate-string": { - "title": "Implemente o Algoritmo de String Truncada", - "intro": [ - "Neste laboratório, você praticará truncar uma string em um certo comprimento." - ] - }, - "lab-string-ending-checker": { - "title": "Crie uma Ferramenta para Confirmar o Fim de String", - "intro": [ - "Neste laboratório, você implementará uma função que verifica se uma string fornecida termina com uma string alvo especificada." - ] - }, - "review-javascript-functions": { - "title": "Revisão sobre funções em JavaScript", - "intro": [ - "Antes de ser testado sobre funções em JavaScript, você deve revisar o que aprendeu sobre elas.", - "Abra esta página para revisar funções, arrow functions e escopo." - ] - }, - "quiz-javascript-functions": { - "title": "Questionário sobre funções em JavaScript ", - "intro": [ - "Teste seu conhecimento sobre funções em JavaScript com este questionário." - ] - }, - "lecture-working-with-arrays": { - "title": "Trabalhando com Arrays", - "intro": [ - "Nestes ensinamentos, você aprenderá a trabalhar com arrays JavaScript. Você irá aprender o que faz um array, arrays unidimensionais e bidimensionais, como acessar e atualizar os elementos em um array, e muito mais." - ] - }, - "workshop-shopping-list": { - "title": "Crie uma lista de compras ", - "intro": [ - "Neste workshop, você praticará como trabalhar com arrays criando uma lista de compras.", - "Você lembrará de como adicionar e remover elementos de um array usando métodos como push, pop, shift e unshift." - ] - }, - "lab-lunch-picker-program": { - "title": "Crie um programa seletor de almoços ", - "intro": [ - "Neste laboratório, você revisará o trabalho com arrays e números aleatórios criando um programa seletor de almoço." - ] - }, - "lab-golf-score-translator": { - "title": "Crie um Tradutor de Pontuação de Golf", - "intro": [ - "Para este laboratório, você usará métodos de vetor para traduzir pontuações de golfe para seus apelidos." - ] - }, - "lab-reverse-a-string": { - "title": "Crie um Inversor de Strings", - "intro": [ - "Neste laboratório, você criará uma função que reverte uma string fornecida." - ] - }, - "lecture-working-with-common-array-methods": { - "title": "Trabalhando com Métodos Comuns de Array", - "intro": [ - "Nestes ensinamentos, você irá aprender sobre os métodos de array para realizar operações mais avançadas como obter a posição de um item em um array, verificar se um array contém um certo elemento, copiar um array, e muito mais." - ] - }, - "review-javascript-arrays": { - "title": "Revisão sobre arrays em JavaScript", - "intro": [ - "Antes de ser testado sobre arrays em JavaScript, você deve revisar o que aprendeu sobre eles.", - "Abra esta página para revisar conceitos como destruturação de arrays, como adicionar e remover elementos de um array e mais." - ] - }, - "quiz-javascript-arrays": { - "title": "Questionário sobre arrays em JavaScript ", - "intro": [ - "Teste seu conhecimento sobre arrays em JavaScript com este questionário." - ] - }, - "lecture-introduction-to-javascript-objects-and-their-properties": { - "title": "Introdução a Objetos JavaScript e Suas Propriedades", - "intro": [ - "Nestes ensinamentos, você aprenderá os fundamentos dos objetos JavaScript, incluindo como criá-los, acessar suas propriedades, e entender a diferença entre tipos de dados primitivos e não primitivos." - ] - }, - "lecture-working-with-optional-chaining-and-object-destructuring": { - "title": "Trabalhando com Encadeamento Opcional e Desestruturação de Objetos", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre técnicas avançadas de manipulação de objetos em JavaScript, incluindo o operador de encadeamento opcional e a sintaxe de desestruturação de objetos." - ] - }, - "lecture-working-with-json": { - "title": "Trabalhando com JSON", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre Notação de Objeto JavaScript (JSON), incluindo como acessar dados JSON e usar os métodos JSON.parse() e JSON.stringify()." - ] - }, - "workshop-recipe-tracker": { - "title": "Crie um monitor de receitas ", - "intro": [ - "Neste workshop, você revisará o trabalho com objetos em JavaScript criando um monitor de receitas." - ] - }, - "lab-quiz-game": { - "title": "Crie um jogo de questionário ", - "intro": [ - "Neste laboratório, você criará um jogo de questionário usando arrays e objetos JavaScript.", - "Você também praticará usando funções para selecionar aleatoriamente uma pergunta e uma resposta de um array e compará-las." - ] - }, - "lab-record-collection": { - "title": "Exibir uma Coleção de Discos", - "intro": [ - "Neste laboratório, você criará uma função para gerenciar uma coleção de discos." - ] - }, - "review-javascript-objects": { - "title": "Revisão sobre objetos em JavaScript", - "intro": [ - "Antes de ser testado sobre objetos em JavaScript, você deve revisar o que aprendeu sobre eles.", - "Abra esta página para revisar conceitos incluindo como acessar informações de objetos, desestruturação de objetos, trabalhar com JSON e mais." - ] - }, - "quiz-javascript-objects": { - "title": "Questionário sobre objetos em JavaScript", - "intro": [ - "Teste seu conhecimento sobre objetos em JavaScript com este questionário." - ] - }, - "lecture-working-with-loops": { - "title": "Trabalhando com Laços", - "intro": [ - "Laços são uma parte essencial do JavaScript. Por isso, as seguintes lições foram preparadas para que você aprenda sobre os diferentes tipos de laços e como eles funcionam, e também como a iteração funciona." - ] - }, - "workshop-sentence-analyzer": { - "title": "Crie um analisador de frases", - "intro": [ - "Neste workshop, você revisará como trabalhar com laços em JavaScript criando uma aplicação de análise de frases." - ] - }, - "lab-longest-word-in-a-string": { - "title": "Crie um Aplicativo de Pesquisa da Palavra mais Longa", - "intro": [ - "Neste laboratório, você usará laços de JavaScript para encontrar o comprimento da palavra mais longa na sentença fornecida." - ] - }, - "lab-factorial-calculator": { - "title": "Crie uma calculadora de fatorial ", - "intro": [ - "Neste laboratório, você criará uma calculadora de fatorial.", - "Você praticará usando laços e condicionais para calcular o fatorial de um número." - ] - }, - "lab-mutations": { - "title": "Implemente o Algoritmo de Mutações", - "intro": [ - "Neste laboratório, você praticará interar sobre duas strings diferentes para comparar seus personagens." - ] - }, - "lab-chunky-monkey": { - "title": "Implemente o Algoritmo do Macaco Chunky", - "intro": [ - "Neste laboratório, você praticará dividir um array em arrays menores com a técnica de sua escolha." - ] - }, - "lab-profile-lookup": { - "title": "Crie uma Pesquisa de Perfil", - "intro": [ - "Neste laboratório, você criará uma função que pesquisa informações de perfis." - ] - }, - "lab-repeat-a-string": { - "title": "Crie uma Função de Repetição de Strings", - "intro": [ - "Neste laboratório, você implementará laços para repetir uma string um determinado número de vezes." - ] - }, - "lab-missing-letter-detector": { - "title": "Crie um Detector de Letras Faltantes", - "intro": [ - "Neste laboratório, você criará uma função que encontra a letra faltante em um intervalo dado de letras consecutivas e a retorna." - ] - }, - "review-javascript-loops": { - "title": "Revisão sobre laços em JavaScript", - "intro": [ - "Antes de ser testado sobre os diferentes tipos de laços no JavaScript, você deve revisá-los.", - "Abra esta página para revisar o for...of loop, loop while, instruções break e continue, e mais." - ] - }, - "quiz-javascript-loops": { - "title": "Questionário sobre laços em JavaScript", - "intro": [ - "Teste seu conhecimento sobre laços em JavaScript com este questionário." - ] - }, - "lecture-working-with-types-and-objects": { - "title": "Trabalhando com Tipos e Objetos", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre objetos string, o método toString(), o construtor Number e muito mais." - ] - }, - "lecture-working-with-arrays-variables-and-naming-practices": { - "title": "Trabalhando com Arrays, Variáveis e Práticas de Nomeação", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre práticas comuns para nomear variáveis e funções, e como trabalhar com arrays." - ] - }, - "lecture-working-with-code-quality-and-execution-concepts": { - "title": "Trabalhando com Qualidade de Código e Conceitos de Execução", - "intro": [ - "Nestes ensinamentos, você aprenderá o que são linters e formatadores, o que é gerenciamento de memória, e closures." - ] - }, - "lab-largest-number-finder": { - "title": "Crie o Encontrador do Maior Número", - "intro": [ - "Neste laboratório, você usará os fundamentos do JavaScript para criar uma função que encontra o maior número em cada subvetor de um vetor fornecido." - ] - }, - "lab-first-element-finder": { - "title": "Crie um Encontrador do Primeiro Elemento", - "intro": [ - "Neste laboratório, você criará uma função que percorre um vetor e retorna o primeiro elemento que passa por um \"teste de verdade\"." - ] - }, - "lab-slice-and-splice": { - "title": "Implemente o Algoritmo de Fatia e Emenda", - "intro": [ - "Neste laboratório, você praticará a fusão de um array com outro." - ] - }, - "lab-pyramid-generator": { - "title": "Crie um gerador de pirâmides", - "intro": [ - "Neste laboratório, você criará um gerador de pirâmides.", - "Você pegará um número como entrada e gerará uma pirâmide com esse número de níveis usando um laço." - ] - }, - "lab-gradebook-app": { - "title": "Crie uma aplicação de quadro de notas", - "intro": [ - "Para este laboratório, você criará uma aplicação de quadro de notas.", - "Você praticará condicionais para determinar a nota de um estudante com base em sua pontuação." - ] - }, - "lecture-the-var-keyword-and-hoisting": { - "title": "A Palavra-chave var e Elevação (Hoisting)", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre a palavra-chave var e por que não é mais recomendada para uso. Você também aprenderá sobre elevação em JavaScript para que você possa evitar bugs sutis em seu código." - ] - }, - "lab-title-case-converter": { - "title": "Crie um Conversor de Capitalização de Título", - "intro": [ - "Neste laboratório, você criará uma função que converte uma string em formato de título." - ] - }, - "lab-falsy-remover": { - "title": "Implemente um Removedor de Falsos", - "intro": [ - "Neste laboratório, você criará uma função que remove todos os valores falsos de um vetor." - ] - }, - "lab-inventory-management-program": { - "title": "Crie um programa de gestão de inventário", - "intro": [ - "Para este laboratório, você criará um programa de gestão de inventário usando JavaScript.", - "Você usará arrays de objetos JavaScript para gerir o inventário." - ] - }, - "lecture-understanding-modules-imports-and-exports": { - "title": "Compreendendo Módulos, Imports e Exports", - "intro": [ - "Nesta lição, você aprenderá sobre módulos, importações e exportações em JavaScript." - ] - }, - "lecture-working-with-the-arguments-object-and-rest-parameters": { - "title": "Trabalhando com o Objeto de Argumentos e Parâmetros Rest", - "intro": [ - "Nestes ensinamentos, você aprenderá como trabalhar com o objeto arguments e a sintaxe de parâmetros rest." - ] - }, - "lab-unique-sorted-union": { - "title": "Implemente uma União Única Ordenada", - "intro": [ - "Neste laboratório, você criará uma função que aceita dois ou mais arrays e retorna um novo array de valores únicos na ordem dos arrays originais fornecidos." - ] - }, - "lab-password-generator": { - "title": "Crie um Aplicativo Gerador de Senhas", - "intro": [ - "Neste laboratório, você criará uma aplicação de gerador de senhas com base na entrada do usuário." - ] - }, - "lab-sum-all-numbers-algorithm": { - "title": "Projete um Algoritmo de Soma de Todos os Números", - "intro": [ - "Neste laboratório, você projetará um algoritmo de soma de todos os números. Este algoritmo pega um array de dois números e retorna a soma destes dois números mais a soma de todos os números entre eles." - ] - }, - "lab-dna-pair-generator": { - "title": "Implemente um Gerador de Pares de DNA", - "intro": [ - "Neste laboratório, você implementará um algoritmo de pareamento de bases de DNA que converte uma única fita de DNA em pares de bases complementares." - ] - }, - "lab-html-entitiy-converter": { - "title": "Implemente um Conversor de Entidades HTML", - "intro": [ - "Neste laboratório, você converterá caracteres especiais em uma string para suas correspondentes entidades HTML." - ] - }, - "lab-odd-fibonacci-sum-calculator": { - "title": "Crie uma Calculadora de Soma de Fibonacci Ímpar", - "intro": [ - "Neste laboratório, você criará uma calculadora de soma de Fibonacci ímpar que considera um número e retorna a soma de todos os números de Fibonacci ímpares até esse número." - ] - }, - "lab-element-skipper": { - "title": "Implemente um Pulador de Elementos", - "intro": [ - "Neste laboratório, você criará uma função que pula elementos em um array com base em um valor de passo especificado." - ] - }, - "lab-optional-arguments-sum-function": { - "title": "Crie uma Função de Soma de Argumentos Opcionais", - "intro": [ - "Neste laboratório, você criará uma função que aceita até dois argumentos e os soma, mas se houver apenas um argumento, retorna uma função que aguarda o segundo número para somar." - ] - }, - "review-javascript-fundamentals": { - "title": "Revisão sobre o básico em JavaScript", - "intro": [ - "Antes de ser questionado sobre os fundamentos do JavaScript, você primeiro precisa revisar os conceitos.", - "Abra esta página para revisar conceitos como closures, gerenciamento de memória e mais." - ] - }, - "quiz-javascript-fundamentals": { - "title": "Questionário sobre o básico em JavaScript", - "intro": [ - "Teste seu conhecimento sobre o básico em JavaScript com este questionário." - ] - }, - "lecture-working-with-higher-order-functions-and-callbacks": { - "title": "Trabalhando com Funções de Ordem Superior e Callbacks", - "intro": [ - "Nestes ensinamentos, você aprenderá como trabalhar com funções de ordem superior e callbacks. As funções de ordem superior que você aprenderá incluem map(), filter(), reduce(), sort(), every(), e some(). Você também aprenderá como encadear esses métodos para alcançar seus resultados desejados." - ] - }, - "workshop-library-manager": { - "title": "Crie um Gerenciador de Biblioteca", - "intro": [ - "Neste workshop, você aprenderá métodos de array de ordem superior construindo um gerenciador de biblioteca." - ] - }, - "lab-book-organizer": { - "title": "Crie um Organizador de Livros", - "intro": [ - "Neste laboratório, você criará um organizador de livros utilizando funções de ordem superior em JavaScript." - ] - }, - "lab-sorted-index-finder": { - "title": "Implemente um Localizador de Índices Ordenados", - "intro": [ - "Neste laboratório, você criará uma função que encontra o índice no qual um número dado deve ser inserido em um vetor ordenado para manter a ordem do vetor." - ] - }, - "lab-symmetric-difference": { - "title": "Crie uma Função de Diferença Simétrica", - "intro": [ - "Neste laboratório, você praticará o uso de funções de ordem superior para encontrar a diferença simétrica entre dois vetores." - ] - }, - "lab-value-remover-function": { - "title": "Implemente uma Função Removedora de Valores", - "intro": [ - "Neste laboratório, você criará uma função que remove todas as instâncias de um valor especificado de um array." - ] - }, - "lab-matching-object-filter": { - "title": "Implemente um Filtro de Objeto por Correspondência", - "intro": [ - "Neste laboratório, você criará uma função que percorre um array de objetos e retorna um array de todos os objetos que têm pares de propriedade e valor correspondentes." - ] - }, - "lab-prime-number-sum-calculator": { - "title": "Crie uma Calculadora de Soma de Números Primos", - "intro": [ - "Neste laboratório, você criará uma calculadora de soma de números primos que aceitará um número e retornará a soma de todos os números primos menores ou iguais a esse número." - ] - }, - "lab-range-based-lcm-calculator": { - "title": "Implemente uma Calculadora de Mínimo Comum Múltiplo com Base em Intervalos", - "intro": [ - "Neste laboratório, você criará uma função que aceita um array de dois números e retorna o mínimo comum múltiplo (MCM) desses dois números e de todos os números entre eles." - ] - }, - "lab-deep-flattening-tool": { - "title": "Crie uma Ferramenta de Achatamento Profundo", - "intro": [ - "Neste laboratório, você criará uma função que pode achatar arrays profundamente aninhados, lidando com qualquer nível de aninhamento sem utilizar métodos flat embutidos." - ] - }, - "lab-all-true-property-validator": { - "title": "Crie um Validador de Propriedade Sempre-Verdadeira", - "intro": [ - "Neste laboratório, você criará uma função que verifica se todos os objetos em um array têm um valor verdade para uma propriedade específica." - ] - }, - "review-javascript-higher-order-functions": { - "title": "Revisão sobre funções de ordem superior em JavaScript", - "intro": [ - "Antes de ser testado sobre funções de ordem superior em JavaScript, você deve revisá-las.", - "Abra esta página para revisar conceitos, incluindo como trabalhar com os métodos map(), filter(), e reduce()." - ] - }, - "quiz-javascript-higher-order-functions": { - "title": "Questionário sobre funções de ordem superior em JavaScript", - "intro": [ - "Teste seu conhecimento sobre funções de ordem superior em JavaScript com este questionário." - ] - }, - "lecture-working-with-the-dom-click-events-and-web-apis": { - "title": "Trabalhando com o DOM, Eventos de Clique e APIs para Web", - "intro": [ - "Nestes ensinamentos, você aprenderá como trabalhar com o Modelo de Objeto de Documento (DOM), o método addEventListener() e eventos, e APIs web." - ] - }, - "workshop-storytelling-app": { - "title": "Crie um App de Narrativas", - "intro": [ - "Neste workshop, você criará um app de narrativas que permitirá listar diferentes histórias com base no gênero." - ] - }, - "workshop-emoji-reactor": { - "title": "Crie um Reator de Emojis", - "intro": [ - "Neste workshop, você criará um reator de emojis para praticar querySelector e querySelectorAll." - ] - }, - "lab-favorite-icon-toggler": { - "title": "Crie um alternador de ícones favoritos", - "intro": [ - "Neste laboratório, você criará um alternador de ícones favoritos utilizando eventos de clique em JavaScript." - ] - }, - "lecture-understanding-the-event-object-and-event-delegation": { - "title": "Compreendendo o Objeto de Evento e Delegação de Evento", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre o objeto de evento, o evento de mudança, propagação de eventos, e delegação de eventos." - ] - }, - "workshop-music-instrument-filter": { - "title": "Crie um Filtro de Instrumentos Musicais", - "intro": [ - "Neste workshop, você criará um filtro de instrumentos musicais com JavaScript." - ] - }, - "lab-real-time-counter": { - "title": "Compilação de um contador em tempo real", - "intro": [ - "Neste laboratório, você criará um contador de caracteres em tempo real.", - "Você praticará como trabalhar com o evento input quando o usuário digitar no campo de entrada." - ] - }, - "lab-lightbox-viewer": { - "title": "Crie um visualizador de lightbox", - "intro": [ - "Neste laboratório, você criará um visualizador de lightbox para visualizar imagens em modo focado.", - "Você praticará eventos de clique e alternância de classes." - ] - }, - "workshop-rps-game": { - "title": "Crie um jogo de pedra, papel e tesoura", - "intro": [ - "Neste workshop, você revisará a manipulação do DOM e eventos criando um jogo de Pedra, Papel e Tesoura." - ] - }, - "lab-football-team-cards": { - "title": "Crie um conjunto de cartões de times de futebol", - "intro": [ - "Neste laboratório, você usará manipulação do DOM, desestruturação de objetos, manuseio de eventos, e filtragem de dados para criar um conjunto de cartões de times de futebol." - ] - }, - "review-dom-manipulation-and-click-events-with-javascript": { - "title": "Revisão sobre manipulação do DOM e eventos de clique em JavaScript", - "intro": [ - "Antes de ser testado sobre o DOM, você deve revisar o que aprendeu sobre ele.", - "Abra esta página para revisar conceitos, incluindo como trabalhar com o DOM, APIs da Web, o método addEventListener(), eventos de mudança, propagação de eventos e mais." - ] - }, - "quiz-dom-manipulation-and-click-event-with-javascript": { - "title": "Questionário sobre manipulação do DOM e eventos de clique em JavaScript", - "intro": [ - "Teste seu conhecimento sobre manipulação do DOM e eventos de clique no JavaScript com este questionário." - ] - }, - "lecture-understanding-aria-expanded-aria-live-and-common-aria-states": { - "title": "Compreendendo aria-expanded, aria-live e Estados Comuns do ARIA", - "intro": [ - "Nestes ensinamentos, você aprenderá mais sobre atributos ARIA como aria-expanded, aria-live, e estados ARIA comuns." - ] - }, - "workshop-planets-tablist": { - "title": "Crie uma Lista com Guias de Planetas", - "intro": [ - "Neste workshop, você criará uma interface dinâmica com guias que exibe fatos sobre os planetas do sistema solar." - ] - }, - "workshop-note-taking-app": { - "title": "Crie um Aplicativo de Anotações", - "intro": [ - "Neste workshop, você criará um aplicativo de notas acessível.", - "Isso lhe proporcionará a oportunidade de praticar com o atributo aria-live." - ] - }, - "lab-theme-switcher": { - "title": "Crie um Alternador de Temas", - "intro": [ - "Neste laboratório, você criará um alternador de temas e praticará o uso dos atributos aria-haspopup, aria-expanded e aria-controls." - ] - }, - "review-js-a11y": { - "title": "Revisão de JavaScript e Acessibilidade", - "intro": [ - "Antes de ser testado em JavaScript e acessibilidade, você deve revisar o que aprendeu sobre isso.", - "Abra esta página para revisar conceitos incluindo como trabalhar com os atributos aria-expanded, aria-live, e aria-controls." - ] - }, - "quiz-js-a11y": { - "title": "Questionário sobre JavaScript e Acessibilidade", - "intro": [ - "Teste seu conhecimento das melhores práticas de JavaScript e acessibilidade com este questionário." - ] - }, - "lecture-debugging-techniques": { - "title": "Técnicas de Depuração", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre os erros comuns em JavaScript e as técnicas que você pode usar para corrigi-los – um processo chamado depuração." - ] - }, - "lab-random-background-color-changer": { - "title": "Faça a depuração do modificador de cor de fundo aleatório", - "intro": [ - "Neste laboratório, você fará a depuração de um alterador de cor de fundo aleatório e corrigirá os erros para fazê-lo funcionar corretamente." - ] - }, - "review-debugging-javascript": { - "title": "Revisão sobre depuração em JavaScript", - "intro": [ - "Antes de ser testado sobre técnicas comuns de depuração, você deve revisar o que aprendeu.", - "Abra esta página para revisar conceitos, incluindo como trabalhar com a instrução throw, try...catch...finally e mais." - ] - }, - "quiz-debugging-javascript": { - "title": "Questionário sobre depuração em JavaScript", - "intro": [ - "Teste seu conhecimento sobre depuração em JavaScript com este questionário." - ] - }, - "lecture-working-with-regular-expressions": { - "title": "Trabalhando com Expressões Regulares", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre expressões regulares em JavaScript. Você aprenderá sobre métodos para trabalhar com expressões regulares, modificadores, classes de caracteres, previsões, previsões reversas, retroreferências, quantificadores, e mais." - ] - }, - "workshop-spam-filter": { - "title": "Crie um Filtro de Spam", - "intro": [ - "Expressões regulares, frequentemente abreviadas como \"regex\" ou \"regexp\", são padrões que ajudam programadores a encontrar, buscar e substituir texto. As expressões regulares são poderosas, mas podem ser difíceis de entender porque usam muitos caracteres especiais.", - "Neste workshop, você usará grupos de captura, buscas positivas, buscas negativas e outras técnicas para encontrar qualquer texto desejado." - ] - }, - "lab-palindrome-checker": { - "title": "Crie um verificador de palíndromo", - "intro": [ - "Para esse laboratório, você criará uma aplicação que verifica se uma determinada palavra é um palíndromo." - ] - }, - "lab-markdown-to-html-converter": { - "title": "Crie um Conversor de Markdown para HTML", - "intro": [ - "Para este laboratório, você criará um conversor de Markdown para HTML usando JavaScript.", - "Você praticará expressões regulares, manipulação de strings e mais." - ] - }, - "lab-regex-sandbox": { - "title": "Crie um sandbox de expressões regulares", - "intro": [ - "Neste laboratório, você criará um sandbox de expressões regulares." - ] - }, - "lab-spinal-case-converter": { - "title": "Implemente um Conversor de Casos Específicos", - "intro": [ - "Neste laboratório, você criará uma função que converte uma string dada em casos específicos, onde todas as letras são minúsculas e separadas por hífens." - ] - }, - "lab-pig-latin": { - "title": "Implemente um Tradutor de Latin Porco", - "intro": [ - "Neste laboratório, você implementará um tradutor de Latin Porco usando JavaScript.", - "Você praticará manipulação de strings, lógica condicional e expressões regulares." - ] - }, - "lab-smart-word-replacement": { - "title": "Crie uma Função Inteligente de Substituição de Palavras", - "intro": [ - "Neste laboratório, você usará regex para criar uma função que realiza uma operação de busca e substituição em uma string dada." - ] - }, - "review-javascript-regular-expressions": { - "title": "Revisão sobre expressões regulares em JavaScript", - "intro": [ - "Antes de ser testado sobre expressões regulares, você deve revisar o que aprendeu.", - "Abra esta página para revisar conceitos como lookaheads, lookbehinds, modificadores comuns de regex e mais." - ] - }, - "quiz-javascript-regular-expressions": { - "title": "Questionário sobre expressões regulares em JavaScript", - "intro": [ - "Teste seu conhecimento sobre expressões regulares em JavaScript com este questionário." - ] - }, - "lecture-understanding-form-validation": { - "title": "Compreendendo Validação de Formulários", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre validação de formulários em JavaScript. Você aprenderá sobre as várias maneiras de validar formulários, como o método preventDefault() funciona, e como o evento de envio funciona." - ] - }, - "workshop-calorie-counter": { - "title": "Crie um Contador de Calorias", - "intro": [ - "Às vezes, quando você está programando uma aplicação para a web, você precisa ser capaz de aceitar entradas de um usuário. Neste workshop de contador de calorias, você praticará como validar a entrada do usuário, executar cálculos com base nessa entrada e atualizar dinamicamente sua interface para exibir os resultados.", - "Você também praticará expressões regulares básicas, literais de template, o método addEventListener() e mais." - ] - }, - "lab-customer-complaint-form": { - "title": "Crie um Formulário de Reclamação de Clientes", - "intro": [ - "Para este laboratório, você usará JavaScript para validar um formulário de reclamação de clientes.", - "Você praticará como validar entradas de formulário, exibir mensagens de erro e impedir o envio do formulário se houver erros." - ] - }, - "review-form-validation-with-javascript": { - "title": "Revisão sobre validação de formulários em JavaScript", - "intro": [ - "Antes de ser testado sobre validação de formulários, você deve revisar o que aprendeu.", - "Abra esta página para revisar conceitos, incluindo o método preventDefault(), o evento de envio e mais." - ] - }, - "quiz-form-validation-with-javascript": { - "title": "Questionário sobre validação de formulários em JavaScript", - "intro": [ - "Teste o que você aprendeu sobre validação de formulários com JavaScript com este questionário." - ] - }, - "lecture-working-with-dates": { - "title": "Trabalhando com Datas", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre o objeto de data do JavaScript. Você aprenderá sobre os métodos para trabalhar com datas e como formatar datas." - ] - }, - "lab-date-conversion": { - "title": "Crie um programa de conversão de data", - "intro": [ - "Neste laboratório, você criará um programa para converter a data de um formato para outro." - ] - }, - "review-javascript-dates": { - "title": "Revisão sobre datas em JavaScript", - "intro": [ - "Antes de ser testado sobre como trabalhar com datas, você deve revisar o que aprendeu.", - "Abra esta página para revisar o objeto Date() e métodos comuns." - ] - }, - "quiz-javascript-dates": { - "title": "Questionário sobre datas em JavaScript", - "intro": [ - "Teste o que você aprendeu sobre datas em JavaScript com este questionário." - ] - }, - "lecture-working-with-audio-and-video": { - "title": "Trabalhando com Áudio e Vídeo", - "intro": [ - "Nestes ensinamentos, você aprenderá como trabalhar com arquivos de áudio e vídeo usando JavaScript. Você aprenderá sobre os construtores Audio e Video, seus métodos e propriedades, formatos de áudio e vídeo, codecs, a API HTMLMediaElement, e muito mais." - ] - }, - "workshop-music-player": { - "title": "Crie um Tocador de Música", - "intro": [ - "Neste workshop, você programará um tocador de MP3 básico usando HTML, CSS e JavaScript.", - "O projeto abrange conceitos fundamentais, como o manuseio de reprodução de áudio, gerenciamento de uma lista de reprodução, implementação de funções de play, pause, próximo e anterior, e atualização dinâmica da interface do usuário com base na música atual." - ] - }, - "lab-drum-machine": { - "title": "Crie uma Bateria Eletrônica", - "intro": [ - "Para este laboratório, você usará o elemento audio para criar uma bateria eletrônica." - ] - }, - "review-javascript-audio-and-video": { - "title": "Revisão sobre áudio e vídeo em JavaScript", - "intro": [ - "Antes de ser testado sobre como trabalhar com áudio e vídeo em JavaScript, você deve revisar o que aprendeu sobre eles.", - "Abra esta página para revisar conceitos, incluindo o construtor Audio, a API HTMLMediaElement e mais." - ] - }, - "quiz-javascript-audio-and-video": { - "title": "Questionário sobre áudio e vídeo em JavaScript", - "intro": [ - "Teste o que você aprendeu sobre áudio e vídeo em JavaScript com este questionário." - ] - }, - "lecture-working-with-maps-and-sets": { - "title": "Trabalhando com Mapas e Conjuntos", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre JavaScript Map e Set. Você também aprenderá como ambos diferem de WeakSets e WeakMaps." - ] - }, - "workshop-plant-nursery-catalog": { - "title": "Crie um Catálogo de Viveiro de Plantas", - "intro": [ - "Neste workshop, você praticará usando Maps e Sets criando um catálogo de viveiro de plantas." - ] - }, - "lab-voting-system": { - "title": "Crie um Sistema de Votação", - "intro": [ - "Neste laboratório, você criará um sistema de votação usando Maps e Sets.", - "Você praticará como usar o objeto Map para armazenar pares de chave-valor e o objeto Set para armazenar valores únicos." - ] - }, - "review-javascript-maps-and-sets": { - "title": "Revisão sobre Maps e Sets em JavaScript", - "intro": [ - "Antes de ser testado sobre Maps e Sets em JavaScript, você deve revisar o que aprendeu sobre eles.", - "Abra esta página para revisar conceitos como os objetos Map e Set, bem como WeakSet e WeakMap." - ] - }, - "quiz-javascript-maps-and-sets": { - "title": "Questionário sobre Maps e Sets em JavaScript", - "intro": [ - "Teste o que você aprendeu sobre Maps e Sets em JavaScript com este questionário." - ] - }, - "lecture-working-with-client-side-storage-and-crud-operations": { - "title": "Trabalhando com Armazenamento no Lado do Cliente e Operações CRUD", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre armazenamento no lado do cliente e operações CRUD em JavaScript. Você aprenderá sobre localStorage e sessionStorage junto com seus métodos e propriedades, cookies, a API do Cache, IndexDB, e muito mais." - ] - }, - "workshop-todo-app": { - "title": "Crie um App de Listas de Tarefas usando Armazenamento Local", - "intro": [ - "O armazenamento local é um recurso do navegador da web que permite aplicações web armazenarem pares de chave-valor de maneira persistente dentro do navegador do usuário. Isso permite que apps da web salvem dados durante uma sessão e os recuperem numa sessão de página posterior.", - "Neste workshop, você aprenderá a manipular entradas de formulários, gerenciar armazenamento local, realizar operações CRUD (Criar, Ler, Atualizar, Apagar) em tarefas, implementar ouvintes de eventos e alternar elementos da UI." - ] - }, - "lab-bookmark-manager-app": { - "title": "Crie uma aplicação gerenciadora de favoritos", - "intro": [ - "Para este laboratório, você criará uma aplicação gerenciadora de favoritos.", - "Você usará o armazenamento local para armazenar favoritos e praticará como adicionar, remover e exibir favoritos." - ] - }, - "review-local-storage-and-crud": { - "title": "Revisão sobre armazenamento local e CRUD", - "intro": [ - "Antes de ser questionado sobre o trabalho com localStorage, você primeiro precisa revisar os conceitos.", - "Abra esta página para revisar a propriedade localStorage, a propriedade sessionStorage e mais." - ] - }, - "quiz-local-storage-and-crud": { - "title": "Questionário sobre armazenamento local e CRUD", - "intro": [ - "Teste o que você aprendeu sobre armazenamento local e CRUD com este questionário." - ] - }, - "lecture-understanding-how-to-work-with-classes-in-javascript": { - "title": "Compreendendo Como Trabalhar com Classes em JavaScript", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre classes em JavaScript. Você aprenderá sobre herança, a palavra-chave this, propriedades e métodos estáticos, e mais." - ] - }, - "workshop-shopping-cart": { - "title": "Crie um Carrinho de Compras", - "intro": [ - "Neste workshop, você criará um carrinho de compras usando classes JavaScript.", - "Você praticará como usar a palavra-chave this, criar instâncias de classes, implementar métodos para manipulação de dados e mais." - ] - }, - "lab-project-idea-board": { - "title": "Crie um quadro de ideias de projetos", - "intro": [ - "Neste laboratório, você criará um quadro de ideias de projetos usando POO em JavaScript.", - "Você praticará como criar classes, adicionar métodos a classes e criar instâncias de classes." - ] - }, - "lab-bank-account-manager": { - "title": "Crie um Programa de Gestão de Contas Bancárias", - "intro": [ - "Neste laboratório, você criará um sistema simples de gestão de transações para uma conta de banco." - ] - }, - "review-javascript-classes": { - "title": "Revisão sobre classes em JavaScript", - "intro": [ - "Antes de ser testado sobre como trabalhar com classes, você deve revisar o que aprendeu sobre elas.", - "Abra esta página para revisar conceitos, incluindo a palavra-chave this, herança de classe e mais." - ] - }, - "quiz-javascript-classes": { - "title": "Questionário sobre Classes em JavaScript", - "intro": [ - "Teste o que você aprendeu sobre classes JavaScript com este questionário." - ] - }, - "lecture-understanding-recursion-and-the-call-stack": { - "title": "Compreendendo Recursão e a Pilha de Chamadas", - "intro": [ - "Nesta lição, você aprenderá sobre recursão e a pilha de chamadas." - ] - }, - "workshop-decimal-to-binary-converter": { - "title": "Crie um Conversor de Decimais para Binários", - "intro": [ - "Recursão é um conceito de programação onde uma função chama a si mesma. Isso pode reduzir um problema complexo em subproblemas mais simples, até que se tornem diretos para resolver.", - "Neste workshop, você criará um conversor de decimal para binário usando JavaScript. Você praticará os conceitos fundamentais de recursão, explorará a pilha de chamadas e criará uma representação visual do processo de recursão através de uma animação." - ] - }, - "lab-permutation-generator": { - "title": "Crie um Gerador de Permutações", - "intro": [ - "Para este laboratório, você criará um gerador de permutações que produz todas as permutações possíveis de uma string dada." - ] - }, - "review-recursion": { - "title": "Revisão sobre recursão", - "intro": [ - "Antes de ser testado sobre recursão, você deve revisar o que aprendeu.", - "Abra esta página para revisar o que é recursão e para que ela é utilizada." - ] - }, - "quiz-recursion": { - "title": "Questionário sobre recursão", - "intro": [ - "Teste seu conhecimento sobre recursão com este questionário." - ] - }, - "lecture-understanding-functional-programming": { - "title": "Compreendendo Programação Funcional", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre programação funcional e como aninhar funções usando uma técnica chamada currying." - ] - }, - "workshop-recipe-ingredient-converter": { - "title": "Crie um Conversor de Ingredientes de Receita", - "intro": [ - "Nos ensinamentos anteriores, você aprendeu os conceitos básicos por trás da programação funcional e currying.", - "Agora você poderá aplicar o que aprendeu sobre currying e programação funcional criando uma aplicação de conversor de ingredientes de receita." - ] - }, - "lab-sorting-visualizer": { - "title": "Crie um Visualizador de Ordenação", - "intro": [ - "Para este laboratório, você usará JavaScript para visualizar os passos que o algoritmo Bubble Sort leva para reordenar um array de inteiros." - ] - }, - "review-javascript-functional-programming": { - "title": "Revisão sobre programação funcional em JavaScript", - "intro": [ - "Antes de ser testado sobre programação funcional, você deve revisar o que aprendeu.", - "Abra esta página para revisar conceitos sobre programação funcional, currying e mais." - ] - }, - "quiz-javascript-functional-programming": { - "title": "Questionário sobre programação funcional em JavaScript", - "intro": [ - "Teste o que você aprendeu sobre programação funcional em JavaScript com este questionário." - ] - }, - "lecture-understanding-asynchronous-programming": { - "title": "Compreendendo Programação Assíncrona", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre programação assíncrona em JavaScript. Você aprenderá sobre as diferenças entre programação síncrona e assíncrona, como a palavra-chave async funciona, a API Fetch, promessas, async/await, a API Geolocation, e muito mais." - ] - }, - "workshop-fcc-authors-page": { - "title": "Crie uma Página de Autores do fCC", - "intro": [ - "Um aspecto comum do desenvolvimento para a web é aprender a buscar dados de uma API externa e, em seguida, trabalhar com JavaScript assíncrono.", - "Neste workshop, você praticará como usar o método fetch, atualizar dinamicamente o DOM para exibir os dados buscados e paginar seus dados para que você possa carregar os resultados em lotes." - ] - }, - "lab-fcc-forum-leaderboard": { - "title": "Crie um Quadro de Líderes para o Fórum do fCC", - "intro": [ - "Para este laboratório, você praticará JavaScript assíncrono programando seu próprio painel do fórum do freeCodeCamp." - ] - }, - "lab-weather-app": { - "title": "Crie um Aplicativo do Tempo", - "intro": [ - "Neste laboratório, você criará um aplicativo de previsão do tempo usando uma API.", - "Você praticará como buscar dados da API, armazenar e exibi-los no seu aplicativo." - ] - }, - "review-asynchronous-javascript": { - "title": "Revisão sobre JavaScript assíncrono", - "intro": [ - "Revise conceitos de JavaScript assíncrono para se preparar para o próximo questionário." - ] - }, - "quiz-asynchronous-javascript": { - "title": "Questionário sobre JavaScript assíncrono", - "intro": [ - "Teste o que você aprendeu sobre JavaScript assíncrono com este questionário." - ] - }, - "review-javascript": { - "title": "Revisão sobre JavaScript", - "intro": [ - "Antes de fazer o exame preparatório de JavaScript, você deve revisar tudo o que aprendeu sobre JavaScript.", - "Abra esta página para revisar todos os conceitos ensinados, incluindo variáveis, strings, booleanos, funções, objetos, arrays, depuração, trabalhando com o DOM e mais." - ] - }, - "kagw": { - "title": "258", - "intro": [] - }, - "lecture-introduction-to-javascript-libraries-and-frameworks": { - "title": "Introdução às Bibliotecas e Frameworks JavaScript", - "intro": [ - "Nestes ensinamentos, você receberá uma introdução às bibliotecas e frameworks JavaScript. Você aprenderá sobre os papéis das bibliotecas e frameworks JavaScript, aplicativos de página única (SPAs) e o problema que os cerca, e React, a biblioteca JavaScript para frontend mais popular." - ] - }, - "workshop-reusable-mega-navbar": { - "title": "Crie um Mega Navbar Reutilizável", - "intro": [ - "Nos ensinamentos anteriores, você aprendeu como trabalhar com componentes no React.", - "Neste workshop, você criará um componente Navbar reutilizável usando React." - ] - }, - "lab-reusable-footer": { - "title": "Crie um Rodapé Reutilizável", - "intro": [ - "Neste laboratório, você usará React para criar um rodapé reutilizável." - ] - }, - "lecture-working-with-data-in-react": { - "title": "Trabalhando com Dados em React", - "intro": [ - "Nestes ensinamentos, você aprenderá como trabalhar com dados no React. Você aprenderá sobre props e como repassá-los, renderização condicional, como renderizar listas, e como usar estilos em linha." - ] - }, - "workshop-reusable-profile-card-component": { - "title": "Crie um Componente de Cartão de Perfil Reutilizável", - "intro": [ - "Neste workshop, você aprenderá como trabalhar com props criando um componente de cartão de perfil reutilizável." - ] - }, - "lab-mood-board": { - "title": "Crie um Quadro de Humor", - "intro": [ - "Neste laboratório, você criará um quadro de humor usando React.", - "Você praticará como passar dados de um componente pai para um componente filho usando props." - ] - }, - "review-react-basics": { - "title": "Revisão dos Fundamentos do React", - "intro": [ - "Revise conceitos básicos do React para se preparar para o próximo questionário." - ] - }, - "quiz-react-basics": { - "title": "Questionário básico sobre React", - "intro": [ - "Teste seu conhecimento sobre o básico de React com este questionário." - ] - }, - "lecture-working-with-state-and-responding-to-events-in-react": { - "title": "Trabalhando com Estado e Respondendo a Eventos no React", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre trabalhar com estado e responder a eventos no React." - ] - }, - "workshop-toggle-text-app": { - "title": "Aplicativo de Texto Alternável", - "intro": [ - "Neste workshop, você continuará aprendendo sobre o hook useState() construindo uma aplicação que oculta e exibe um trecho de texto na tela." - ] - }, - "lab-color-picker": { - "title": "Crie um Aplicativo de Seletor de Cor", - "intro": [ - "Neste laboratório, você criará um Seletor de Cor.", - "Você praticará o uso de state e hooks para gerenciar as propriedades de um elemento." - ] - }, - "lecture-understanding-effects-and-referencing-values-in-react": { - "title": "Compreendendo Efeitos e Referenciando Valores no React", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre efeitos e referenciação de valores no React." - ] - }, - "workshop-fruit-search-app": { - "title": "Crie um Aplicativo de Busca de Frutas", - "intro": [ - "Neste workshop, você continuará aprendendo sobre o hook useEffect() criando uma aplicação que busca dados de frutas de uma API com base na entrada do usuário e exibe os resultados dinamicamente." - ] - }, - "lab-one-time-password-generator": { - "title": "Crie um Gerador de Senha de Uso Único", - "intro": [ - "Neste laboratório, você criará um gerador de senha de uso único.", - "Você praticará o uso dos hooks useEffect para criar um temporizador e gerar uma senha OTP aleatória." - ] - }, - "review-react-state-and-hooks": { - "title": "Revisão de Estado e Hooks do React", - "intro": [ - "Antes de ser testado sobre estado e hooks do React, você deve revisar o que aprendeu.", - "Abra esta página para revisar o trabalho com estado, hooks customizados e mais." - ] - }, - "quiz-react-state-and-hooks": { - "title": "Questionário sobre state e hooks em React", - "intro": [ - "Teste o que você aprendeu sobre os hooks useState e useEffect do React com este questionário." - ] - }, - "lecture-working-with-forms-in-react": { - "title": "Trabalhando com Formulários no React", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre trabalhar com formulários no React." - ] - }, - "workshop-superhero-application-form": { - "title": "Crie um Formulário de Aplicação de Super-herói", - "intro": [ - "Neste workshop, você criará um formulário de aplicação de super-herói." - ] - }, - "lab-event-rsvp": { - "title": "Crie um RSVP para Evento", - "intro": [ - "Neste laboratório, você criará um formulário RSVP para eventos usando React.", - "Você praticará o uso do hook useState para gerenciar a entrada do formulário e exibir as respostas dos usuários." - ] - }, - "lecture-working-with-data-fetching-and-memoization-in-react": { - "title": "Trabalhando com Busca de Dados e Memoization no React", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre busca de dados e memoização no React." - ] - }, - "workshop-shopping-list-app": { - "title": "Crie um Aplicativo de Lista de Compras", - "intro": [ - "Neste workshop, você usará os hooks useMemo() e useCallback() no React para criar um aplicativo de lista de compras simples. Você aprenderá mais sobre state e o ciclo de vida dos componentes React, e como usar memoização para reduzir re-renderizações e tornar seus aplicativos mais eficientes." - ] - }, - "lab-currency-converter": { - "title": "Crie um Conversor de Moedas", - "intro": [ - "Para este laboratório, você criará uma aplicação de conversor de moedas.", - "Você usará state do React, memoização e componentes controlados para converter entre moedas." - ] - }, - "lecture-routing-react-frameworks-and-dependency-management-tools": { - "title": "Roteamento, Frameworks React e Ferramentas de Gerenciamento de Dependências", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre roteamento em React, frameworks React e ferramentas de gerenciamento de dependências." - ] - }, - "lab-tic-tac-toe": { - "title": "Crie um Jogo da Velha", - "intro": [ - "Neste laboratório, você criará um jogo da velha usando React.", - "Você praticará o gerenciamento de state, o tratamento de interações do usuário e a atualização dinâmica da interface do usuário." - ] - }, - "lecture-react-strategies-and-debugging": { - "title": "Estratégias e Depuração do React", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre diferentes estratégias e depuração no React." - ] - }, - "review-react-forms-data-fetching-and-routing": { - "title": "Formulários React, Busca de Dados e Revisão de Rotas", - "intro": [ - "Antes de fazer o questionário sobre formulários React, busca de dados e rotas, você deve revisar tudo o que aprendeu até agora.", - "Abra esta página para revisar todos os conceitos ensinados, incluindo roteamento, formulários, gerenciamento de estado, passagem de props, busca de dados e mais." - ] - }, - "quiz-react-forms-data-fetching-and-routing": { - "title": "Quiz de Formulários React, Busca de Dados e Rotas", - "intro": [ - "Teste o que você aprendeu sobre roteamento, formulários e busca de dados com este questionário." - ] - }, - "lecture-understanding-performance-in-web-applications": { - "title": "Compreendendo o Desempenho em Aplicações Web", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre desempenho em aplicações web." - ] - }, - "review-web-performance": { - "title": "Revisão sobre desempenho na web", - "intro": [ - "Antes que você faça o questionário sobre desempenho na web, você deve revisar tudo o que aprendeu até agora.", - "Abra esta página para revisar todos os conceitos ensinados, incluindo INP, métricas-chave para medir o desempenho, APIs de Desempenho da Web e mais." - ] - }, - "quiz-web-performance": { - "title": "Questionário sobre desempenho na web", - "intro": [ - "Teste o que você aprendeu sobre desempenho na web com este questionário." - ] - }, - "lecture-understanding-the-different-types-of-testing": { - "title": "Compreendendo os Diferentes Tipos de Testes", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre os diferentes tipos de teste." - ] - }, - "review-testing": { - "title": "Revisão sobre testes", - "intro": [ - "Antes de fazer o questionário de testes, você deve revisar tudo o que aprendeu até agora.", - "Abra esta página para revisar todos os conceitos ensinados, incluindo testes unitários, testes ponta a ponta, testes funcionais e muito mais." - ] - }, - "quiz-testing": { - "title": "Questionário sobre testes", - "intro": [ - "Teste o que você aprendeu sobre testes com este questionário." - ] - }, - "lecture-working-with-css-libraries-and-frameworks": { - "title": "Trabalhando com Bibliotecas e Frameworks CSS", - "intro": [ - "Nestes ensinamentos, você aprenderá a como trabalhar coma bibliotecas e frameworks CSS." - ] - }, - "workshop-error-message-component": { - "title": "Crie um Componente de Mensagem de Erro", - "intro": [ - "Neste workshop, você aprenderá o básico do Tailwind CSS, criando um componente de mensagem de erro." - ] - }, - "workshop-tailwind-cta-component": { - "title": "Crie um Componente CTA", - "intro": [ - "Neste workshop, você criará um componente de chamada para ação (CTA) usando Tailwind CSS." - ] - }, - "workshop-tailwind-pricing-component": { - "title": "Crie um Componente de Preços", - "intro": [ - "Neste workshop, você criará um componente de preços usando Tailwind CSS.", - "Você praticará o uso de classes utilitárias de grade do Tailwind CSS." - ] - }, - "lab-music-shopping-cart-page": { - "title": "Crie uma Página de Carrinho de Compras de Música", - "intro": [ - "Neste laboratório, você criará uma página de carrinho de compras de música com Tailwind CSS.", - "Você praticará o uso de classes utilitárias do Tailwind CSS para layouts flexbox, cores, pontos de interrupção e mais." - ] - }, - "lab-photography-exhibit": { - "title": "Projete uma Exposição Fotográfica", - "intro": [ - "Neste laboratório, você praticará o trabalho com o Tailwind CSS ao projetar uma página de exposição fotográfica." - ] - }, - "review-css-libraries-and-frameworks": { - "title": "Revisão sobre bibliotecas e frameworks do CSS", - "intro": [ - "Antes de fazer o quiz de bibliotecas e frameworks CSS, deve revisar tudo o que aprendeu até agora.", - "Abra esta página para revisar todos os conceitos ensinados, incluindo frameworks CSS, preprocessadores CSS, Sass e mais." - ] - }, - "quiz-css-libraries-and-frameworks": { - "title": "Questionário sobre bibliotecas e frameworks do CSS", - "intro": [ - "Teste o que você aprendeu sobre Bibliotecas e Frameworks CSS com este questionário." - ] - }, - "lecture-introduction-to-typescript": { - "title": "Introdução ao TypeScript", - "intro": [ - "Nestes ensinamentos, você aprenderá o que é TypeScript e como usá-lo." - ] - }, - "lecture-working-with-generics-and-type-narrowing": { - "title": "Trabalhando com Generics e Redução de Tipos", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre genéricos e redução de tipo em TypeScript." - ] - }, - "lecture-working-with-typescript-configuration-files": { - "title": "Trabalhando com Arquivos de Configuração do TypeScript", - "intro": [ - "Nesta lição, você aprenderá sobre arquivos de configuração do TypeScript e como usá-los." - ] - }, - "trvf": { - "title": "293", - "intro": [] - }, - "kwmg": { - "title": "294", - "intro": [] - }, - "nodx": { - "title": "295", - "intro": [] - }, - "erfj": { - "title": "296", - "intro": [] - }, - "muyw": { - "title": "297", - "intro": [] - }, - "review-typescript": { - "title": "Revisão sobre TypeScript", - "intro": [ - "Antes de fazer o questionário de TypeScript, você deve revisar tudo o que aprendeu até agora.", - "Abra esta página para revisar todos os conceitos ensinados, incluindo tipos de dados em TypeScript, genéricos, estreitamento de tipos e mais." - ] - }, - "quiz-typescript": { - "title": "Questionário sobre TypeScript", - "intro": [ - "Teste o que você aprendeu sobre TypeScript com este questionário." - ] - }, - "review-front-end-libraries": { - "title": "Revisão sobre bibliotecas Front-end", - "intro": [ - "Reveja os conceitos de Bibliotecas Front-End para se preparar para o próximo questionário." - ] - }, - "rdzk": { - "title": "301", - "intro": [] - }, - "vtpz": { - "title": "302", - "intro": [] - }, - "lecture-introduction-to-python": { - "title": "Introdução ao Python", - "intro": [ - "Nestes ensinamentos, você aprenderá os fundamentos do Python. Você aprenderá sobre variáveis, tipos de dados, operadores, controle de fluxo, funções, e mais." - ] - }, - "workshop-caesar-cipher": { - "title": "Crie uma Cifra de César", - "intro": [ - "Neste workshop, você criará uma cifra de César usando conceitos básicos de Python, tais como strings, condicionais, funções e mais." - ] - }, - "lab-rpg-character": { - "title": "Crie um personagem de RPG", - "intro": [ - "Neste laboratório, você praticará Python básico construindo um personagem de RPG." - ] - }, - "review-python-basics": { - "title": "Revisão do Básico de Python", - "intro": [ - "Antes de ser avaliado sobre o básico de Python, você deve revisar o que aprendeu sobre o assunto.", - "Nesta página de revisão, você revisará o trabalho com strings, funções, operadores de comparação e mais." - ] - }, - "quiz-python-basics": { - "title": "Questionário de Noções Básicas de Python", - "intro": [ - "Teste o que você aprendeu sobre noções básicas de Python com este questionário." - ] - }, - "lecture-working-with-loops-and-sequences": { - "title": "Trabalhando com Laços e Sequências", - "intro": [ - "Aprenda sobre Trabalhar com Laços e Sequências nestas lições." - ] - }, - "workshop-pin-extractor": { - "title": "Crie um Extrator de Pins", - "intro": [ - "Neste workshop, você criará uma função para extrair pins secretas ocultas em poemas." - ] - }, - "lab-number-pattern-generator": { - "title": "Crie um Gerador de Padrões de Números", - "intro": [ - "Neste laboratório você criará um gerador de padrões de números." - ] - }, - "review-loops-and-sequences": { - "title": "Revisão de Laços e Sequências", - "intro": [ - "Antes de ser avaliado sobre laços e sequências, você deve revisar o que aprendeu sobre eles.", - "Abra esta página para revisar conceitos sobre laços, listas, tuplas e alguns de seus métodos comuns." - ] - }, - "quiz-loops-and-sequences": { - "title": "Questionário de Laços e Sequências", - "intro": [ - "Teste o que você aprendeu sobre laços e sequências em Python com este questionário." - ] - }, - "lecture-working-with-dictionaries-and-sets": { - "title": "Trabalhando com Dicionários e Conjuntos", - "intro": [ - "Aprenda sobre trabalhar com dicionários e conjuntos nestas lições." - ] - }, - "lecture-working-with-modules": { - "title": "Trabalhando com Módulos", - "intro": ["Aprenda sobre trabalhar com módulos nestas lições."] - }, - "workshop-medical-data-validator": { - "title": "Crie um Validador de Dados Médicos", - "intro": [ - "Neste workshop, você praticará o uso de dicionários e conjuntos enquanto valida uma coleção de dados médicos." - ] - }, - "lab-user-configuration-manager": { - "title": "Crie um Gerenciador de Configurações de Usuário", - "intro": [ - "Neste laboratório, você praticará o uso de dicionários em Python." - ] - }, - "review-dictionaries-and-sets": { - "title": "Revisão de Dicionários e Conjuntos", - "intro": [ - "Antes de ser avaliado sobre dicionários e conjuntos, você deve revisar o que aprendeu sobre o assunto.", - "Abra esta página para revisar conceitos sobre dicionários, conjuntos e como importar módulos." - ] - }, - "quiz-dictionaries-and-sets": { - "title": "Questionário de Dicionários e Conjuntos", - "intro": [ - "Teste o que você aprendeu sobre dicionários e conjuntos em Python com este questionário." - ] - }, - "lecture-understanding-error-handling": { - "title": "Compreendendo o Tratamento de Erros", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre tratamento de erros em Python. Você aprenderá sobre os diferentes tipos de erros, algumas boas práticas de depuração, o que são exceções, e como tratá-las." - ] - }, - "lab-isbn-validator": { - "title": "Depure um Validador de ISBN", - "intro": [ - "Neste laboratório, você começará com um aplicativo com erros, e precisará depurá-lo e corrigir os erros até que funcione corretamente." - ] - }, - "review-error-handling": { - "title": "Revisão do Tratamento de Erros", - "intro": [ - "Antes de ser avaliado sobre tratamento de erro, você deve revisar o que aprendeu sobre o assunto." - ] - }, - "quiz-error-handling": { - "title": "Questionário de Tratamento de Erros", - "intro": [ - "Teste o que você aprendeu sobre Tratamento de Erros em Python com este questionário." - ] - }, - "lecture-classes-and-objects": { - "title": "Classes e Objetos", - "intro": ["Aprenda sobre Classes e Objetos nestas lições."] - }, - "workshop-musical-instrument-inventory": { - "title": "Crie um Inventário de Instrumentos Musicais", - "intro": [ - "Neste workshop, você aprenderá sobre classes, objetos e métodos em Python criando um inventário simples de instrumentos musicais." - ] - }, - "lab-planet-class": { - "title": "Crie uma Classe Planeta", - "intro": [ - "Neste laboratório, você criará uma classe que representa um planeta." - ] - }, - "workshop-email-simulator": { - "title": "Crie um Simulador de E-mails", - "intro": [ - "Neste workshop, você implementará classes e objetos criando um simulador de e-mails que simula o envio, recebimento e gerenciamento de e-mails entre diferentes usuários." - ] - }, - "lab-budget-app": { - "title": "Crie um Aplicativo de Orçamento", - "intro": [ - "Neste laboratório, você construirá um aplicativo de orçamento e praticará a criação de uma classe e métodos para essa classe." - ] - }, - "review-classes-and-objects": { - "title": "Revisão de Classes e Objetos", - "intro": [ - "Antes de ser avaliado sobre classes e objetos, você deve revisar o que aprendeu sobre o assunto.", - "Abra esta página para revisar conceitos como funcionamento das classes, o que são objetos, métodos, atributos, métodos especiais e mais." - ] - }, - "quiz-classes-and-objects": { - "title": "Questionário de Classes e Objetos", - "intro": [ - "Teste o que você aprendeu sobre classes e objetos em Python com este questionário." - ] - }, - "lecture-understanding-object-oriented-programming-and-encapsulation": { - "title": "Compreendendo a Programação Orientada a Objetos e a Encapsulação", - "intro": [ - "Aprenda sobre Compreender Programação Orientada a Objetos e Encapsulamento nestas lições." - ] - }, - "workshop-salary-tracker": { - "title": "Crie um Rastreador de Salários", - "intro": [ - "Neste workshop, você praticará encapsulamento, propriedades e outros conceitos de POO construindo um sistema de rastreamento de salários para funcionários." - ] - }, - "lab-game-character-stats": { - "title": "Criar um rastreador de estatísticas do jogador", - "intro": [ - "Neste laboratório, você criará um personagem de jogos com estatísticas diferentes usando a programação orientada a objetos." - ] - }, - "lecture-understanding-inheritance-and-polymorphism": { - "title": "Compreendendo Herança e Polimorfismo", - "intro": [ - "Aprenda sobre Compreender Herança e Polimorfismo nestas lições." - ] - }, - "workshop-media-catalogue": { - "title": "Crie um Catálogo de Mídias", - "intro": [ - "Neste workshop, você criará uma aplicação de catálogo de mídias usando princípios de programação orientada a objetos." - ] - }, - "lab-polygon-area-calculator": { - "title": "Crie uma Calculadora de Área de Polígonos", - "intro": [ - "Neste laboratório, você usará programação orientada a objetos para calcular as áreas de diferentes polígonos, como quadrados e retângulos." - ] - }, - "lecture-understanding-abstraction": { - "title": "Compreendendo Abstração", - "intro": ["Aprenda sobre Compreender Abstração nestas lições."] - }, - "workshop-discount-calculator": { - "title": "Criar uma calculadora de descontos", - "intro": [ - "Neste workshop, você criará uma calculadora de preços flexível através de classes de base abstratas, permitindo que vários algoritmos de desconto sejam aplicados intercambiávelmente sem modificar a lógica principal." - ] - }, - "lab-player-interface": { - "title": "Criar uma interface de jogador", - "intro": [ - "Neste laboratório, você usará o módulo abc para criar uma interface do jogador." - ] - }, - "review-object-oriented-programming": { - "title": "Revisão da Programação Orientada a Objetos", - "intro": [ - "Antes de ser avaliado sobre programação orientada a objetos, você deve revisar o que aprendeu sobre o assunto." - ] - }, - "quiz-object-oriented-programming": { - "title": "Questionário de Programação Orientada a Objetos", - "intro": [ - "Teste o que você aprendeu sobre programação orientada a objetos em Python com este questionário." - ] - }, - "lecture-working-with-common-data-structures": { - "title": "Trabalhando com Estruturas de Dados Comuns", - "intro": [ - "Aprenda sobre Trabalhar com Estruturas de Dados Comuns nestas lições." - ] - }, - "workshop-linked-list-class": { - "title": "Crie uma Linked List", - "intro": [ - "Neste workshop, você irá praticar trabalhos com estruturas de dados e construir uma lista ligada." - ] - }, - "lab-hash-table": { - "title": "Crie uma Tabela Hash", - "intro": [ - "Uma tabela hash é uma estrutura de dados usada para armazenar pares de chave-valor e é otimizada para pesquisas rápidas.", - "Neste laboratório, você usará seu conhecimento sobre estruturas de dados para construir uma tabela hash." - ] - }, - "review-data-structures": { - "title": "Revisão de Estruturas de Dados", - "intro": [ - "Antes de ser avaliado sobre estruturas de dados, você deve revisar o que aprendeu sobre o assunto.", - "Abra esta página para revisar conceitos como as diferentes estruturas de dados, algoritmos, complexidade de tempo e espaço, e notação big O." - ] - }, - "quiz-data-structures": { - "title": "Questionário de Estruturas de Dados", - "intro": [ - "Teste o que você aprendeu sobre estruturas de dados em Python com este questionário." - ] - }, - "lecture-searching-and-sorting-algorithms": { - "title": "Algoritmos de Busca e Ordenação", - "intro": [ - "Aprenda sobre algoritmos fundamentais de busca e ordenação, incluindo busca linear, busca binária e ordenação por mistura.", - "Estas lições cobrem implementações de algoritmos, análise de complexidade de tempo e espaço, e o paradigma de programação dividir para conquistar." - ] - }, - "workshop-binary-search": { - "title": "Implementar o Algoritmo de Busca Binária", - "intro": [ - "O algoritmo de busca binária é um algoritmo de pesquisa usado para encontrar um item alvo em uma lista ordenada.", - "Neste workshop, você implementará o algoritmo de busca binária e retornará o caminho que ele percorreu para encontrar o alvo ou retornará 'Valor não encontrado'." - ] - }, - "lab-bisection-method": { - "title": "Implemente o Método da Bissecção", - "intro": [ - "Neste laboratório, você implementará o método da bissecção para encontrar a raiz quadrada de um número." - ] - }, - "workshop-merge-sort": { - "title": "Implemente o Algoritmo de Ordenação por Intercalação", - "intro": [ - "O algoritmo de ordenação por intercalação é um algoritmo de ordenação baseado no princípio \"dividir para conquistar\".", - "Neste workshop, você implementará o algoritmo de ordenação por intercalação para ordenar uma lista de números aleatórios." - ] - }, - "lab-quicksort": { - "title": "Implementar o Algoritmo Quicksort", - "intro": [ - "Neste laboratório, você implementará o algoritmo quicksort para ordenar uma lista de inteiros." - ] - }, - "lab-selection-sort": { - "title": "Implemente o Algoritmo de Ordenação por Seleção", - "intro": [ - "Neste laboratório você implementará o algoritmo de ordenação por seleção." - ] - }, - "lab-luhn-algorithm": { - "title": "Implemente o Algoritmo Luhn", - "intro": [ - "Neste laboratório, você implementará o algoritmo Luhn para validar números de identificação, como números de cartão de crédito." - ] - }, - "lab-tower-of-hanoi": { - "title": "Implemente o Algoritmo da Torre de Hanói", - "intro": [ - "Neste laboratório, você implementará um algoritmo para resolver o quebra-cabeça da Torre de Hanói." - ] - }, - "review-searching-and-sorting-algorithms": { - "title": "Revisão de Algoritmos de Busca e Ordenação", - "intro": [ - "Antes de ser avaliado sobre algoritmos de busca e ordenação, você deve revisar o que aprendeu sobre o assunto." - ] - }, - "quiz-searching-and-sorting-algorithms": { - "title": "Questionário de Algoritmos de Busca e Ordenação", - "intro": [ - "Teste o que você aprendeu sobre algoritmos de busca e ordenação em Python com este questionário." - ] - }, - "lecture-understanding-graphs-and-trees": { - "title": "Compreendendo Grafos e Árvores", - "intro": [ - "Nesta lição, você aprenderá sobre estruturas de dados fundamentais como grafos, árvores, e suas aplicações práticas em ciência da computação." - ] - }, - "workshop-shortest-path-algorithm": { - "title": "Implementar o Algoritmo do Caminho Mais Curto", - "intro": [ - "Neste workshop, você implementará o algoritmo do caminho mais curto para encontrar o caminho mais curto entre dois nós em um gráfico." - ] - }, - "lab-adjacency-list-to-matrix-converter": { - "title": "Crie um Conversor de Lista de Adjacência para Matriz", - "intro": [ - "Neste laboratório, você implementará uma função que converte uma representação de lista de adjacência de um gráfico em uma representação de matriz de adjacência." - ] - }, - "workshop-breadth-first-search": { - "title": "Implemente o Algoritmo de Busca em Largura", - "intro": [ - "Neste workshop, você usará o algoritmo de busca em largura para gerar todas as combinações válidas de parênteses." - ] - }, - "lab-depth-first-search": { - "title": "Implemente o Algoritmo de Busca em Profundidade", - "intro": [ - "Neste laboratório, você implementará o Algoritmo de Busca em Profundidade." - ] - }, - "lab-n-queens-problem": { - "title": "Implemente o Problema N-Rainhas", - "intro": [ - "Neste laboratório, você implementará uma solução para o problema N-Rainhas." - ] - }, - "review-graphs-and-trees": { - "title": "Revisão de Grafos e Árvores", - "intro": [ - "Antes de ser avaliado sobre gráficos e árvores, você deve revisar o que aprendeu sobre o assunto." - ] - }, - "quiz-graphs-and-trees": { - "title": "Questionário sobre Grafos e Árvores", - "intro": [ - "Teste o que você aprendeu sobre grafos e árvores em Python com este questionário." - ] - }, - "lecture-understanding-dynamic-programming": { - "title": "Compreendendo a Programação Dinâmica", - "intro": [ - "Nesta lição, você aprenderá sobre programação dinâmica, uma técnica algorítmica usada para resolver problemas complexos de forma eficiente, dividindo-os em subproblemas mais simples." - ] - }, - "lab-nth-fibonacci-number": { - "title": "Crie um Calculador do enésimo Número de Fibonacci", - "intro": [ - "Neste laboratório, você implementará um calculador de sequência Fibonacci usando uma abordagem de programação dinâmica." - ] - }, - "review-dynamic-programming": { - "title": "Revisão de Programação Dinâmica", - "intro": [ - "Antes de ser avaliado sobre programação dinâmica, você deve revisar o que aprendeu sobre o assunto." - ] - }, - "quiz-dynamic-programming": { - "title": "Questionário de Programação Dinâmica", - "intro": [ - "Teste o que você aprendeu sobre programação dinâmica em Python com este questionário." - ] - }, - "review-python": { - "title": "Revisão de Python", - "intro": [ - "Revise conceitos de Python para se preparar para o próximo exame." - ] - }, - "lecture-understanding-the-command-line-and-working-with-bash": { - "title": "Entendendo a Linha de Comando e Trabalhando com Bash", - "intro": [ - "Aprenda sobre a Linha de Comando e Trabalhar com Bash nestas lições." - ] - }, - "workshop-bash-boilerplate": { - "title": "Crie um boilerplate", - "intro": [ - "O terminal permite que você envie comandos de texto para o seu computador que podem manipular o sistema de arquivos, executar programas, automatizar tarefas e muito mais.", - "Neste workshop de 170 aulas, você aprenderá comandos do terminal criando o boilerplate de um site usando apenas a linha de comando." - ] - }, - "review-bash-commands": { - "title": "Revisão sobre comandos no Bash", - "intro": [ - "Reveja os conceitos de Comandos no Bash para se preparar para o próximo questionário." - ] - }, - "quiz-bash-commands": { - "title": "Questionário sobre comandos no Bash", - "intro": [ - "Teste o que você aprendeu sobre comandos do bash com este questionário." - ] - }, - "lecture-working-with-relational-databases": { - "title": "Trabalhando com Bancos de Dados Relacionais", - "intro": [ - "Aprenda como trabalhar com Bancos de Dados Relacionais nestas lições." - ] - }, - "workshop-database-of-video-game-characters": { - "title": "Crie um Banco de Dados de Personagens de Video Game", - "intro": [ - "Um banco de dados relacional organiza dados em tabelas que estão interligadas através de relacionamentos.", - "Neste workshop de 165 aulas, você aprenderá o básico sobre banco de dados relacional criando um banco de dados PostgreSQL preenchido com personagens de video game." - ] - }, - "lab-celestial-bodies-database": { - "title": "Crie um banco de dados de corpos celestiais", - "intro": [ - "Para este projeto, você vai construir um banco de dados de corpos celestiais usando PostgreSQL." - ] - }, - "review-sql-and-postgresql": { - "title": "Revisão de SQL e PostgreSQL", - "intro": [ - "Revise os conceitos de SQL e PostgreSQL para se preparar para o próximo questionário." - ] - }, - "quiz-sql-and-postgresql": { - "title": "Questionário de SQL e PostgreSQL", - "intro": [ - "Teste seu conhecimento sobre SQL e PostgreSQL com este questionário." - ] - }, - "lecture-understanding-bash-scripting": { - "title": "Entendendo Scripts em Bash", - "intro": ["Aprenda sobre Bash Scripting nestas lições."] - }, - "workshop-bash-five-programs": { - "title": "Crie cinco programas", - "intro": [ - "Os scripts do Bash combinam comandos de terminal e lógica em programas que podem executar ou automatizar tarefas e muito mais.", - "Neste workshop de 220 aulas, você aprenderá mais comandos do terminal e como usá-los dentro de scripts do Bash, criando cinco programas pequenos." - ] - }, - "review-bash-scripting": { - "title": "Revisão sobre scripts do Bash", - "intro": [ - "Revise os conceitos de script do bash que você aprendeu para se preparar para o próximo questionário." - ] - }, - "quiz-bash-scripting": { - "title": "Questionário sobre scripts em Bash", - "intro": [ - "Teste o que você aprendeu sobre scripts do bash neste questionário." - ] - }, - "lecture-working-with-sql": { - "title": "Trabalhando Com SQL", - "intro": [ - "Nestes ensinamentos, você aprenderá sobre injeção SQL, normalização, e o problema N+1." - ] - }, - "workshop-sql-student-database-part-1": { - "title": "Crie um banco de dados de alunos: parte 1", - "intro": [ - "O SQL, ou linguagem de consulta estruturada, é a linguagem de comunicação com um banco de dados relacional.", - "Neste workshop de 140 aulas, você criará um script do Bash que utiliza SQL para inserir informações sobre seus alunos de ciência da computação no PostgreSQL." - ] - }, - "workshop-sql-student-database-part-2": { - "title": "Crie um banco de dados de alunos: parte 2", - "intro": [ - "Comandos join do SQL são usados para combinar informações de várias tabelas em um banco de dados relacional", - "Neste workshop de 140 aulas, você completará seu banco de dados de alunos, mergulhando mais fundo nos comandos SQL." - ] - }, - "lab-world-cup-database": { - "title": "Crie um banco de dados da Copa do Mundo", - "intro": [ - "Para este projeto, você criará um script do Bash que insere informações de jogos da Copa do Mundo no PostgreSQL. Depois, você vai consultar o banco de dados para obter estatísticas úteis." - ] - }, - "workshop-kitty-ipsum-translator": { - "title": "Crie um tradutor de Kitty Ipsum", - "intro": [ - "Há mais comandos do Bash do que você imagina.", - "Neste workshop de 140 aulas, você aprenderá alguns comandos mais complexos e detalhes de como funcionam os comandos." - ] - }, - "workshop-bike-rental-shop": { - "title": "Crie uma loja de aluguel de bicicletas", - "intro": [ - "Neste workshop de 210 aulas, você vai construir um programa de Bash interativo que armazena informações de aluguel para sua loja de aluguel de bicicletas utilizando PostgreSQL." - ] - }, - "lab-salon-appointment-scheduler": { - "title": "Criar um agendador de compromissos do salão de beleza", - "intro": [ - "Para este laboratório, você criará um programa de bash interativo que utiliza PostgreSQL para acompanhar os clientes e horários marcados em seu salão." - ] - }, - "review-bash-and-sql": { - "title": "Revisão sobre Bash e SQL", - "intro": [ - "Revise os conceitos de Bash e SQL para se preparar para o próximo questionário." - ] - }, - "quiz-bash-and-sql": { - "title": "Questionário sobre Bash e SQL", - "intro": [ - "Teste o que você aprendeu neste questionário sobre Bash e SQL." - ] - }, - "lecture-working-with-nano": { - "title": "Trabalhando Com Nano", - "intro": ["Aprenda sobre Nano nesta lição."] - }, - "workshop-castle": { - "title": "Crie um castelo", - "intro": [ - "O Nano é um programa que permite editar arquivos diretamente no terminal.", - "Neste workshop de 40 aulas, você aprenderá a editar arquivos no terminal com o nano e construirá um castelo." - ] - }, - "lecture-introduction-to-git-and-github": { - "title": "Introdução ao Git e GitHub", - "intro": ["Aprenda como trabalhar com Git e GitHub nestas lições."] - }, - "lecture-working-with-code-reviews-branching-deployment-and-ci-cd": { - "title": "Trabalhando com Revisões de Código, Ramificações, Implantação e CI/CD", - "intro": [ - "Aprenda sobre revisões de código, ramificação, implantação, e CI/CD nestas lições." - ] - }, - "workshop-sql-reference-object": { - "title": "Criar um objeto de referência SQL", - "intro": [ - "O Git é um sistema de controle de versão que mantém o controle de todas as alterações feitas em sua base de código.", - "Neste workshop de 240 aulas, você aprenderá como o Git mantém o controle do seu código, criando um objeto que contém comandos SQL comumente usados." - ] - }, - "lab-periodic-table-database": { - "title": "Crie um banco de dados da tabela periódica", - "intro": [ - "Para este laboratório, você criará um script do Bash para obter informações sobre elementos químicos de um banco de dados de tabela periódica." - ] - }, - "lab-number-guessing-game": { - "title": "Crie um jogo de adivinhação de números", - "intro": [ - "Para este laboratório, você usará scripts de Bash, PostgreSQL e o Git para criar um jogo de sugestões de números que será executado no terminal e que gravará as informações de usuários." - ] - }, - "review-git": { - "title": "Revisão de Git", - "intro": [ - "Revise os conceitos de Git para se preparar para o próximo questionário." - ] - }, - "quiz-git": { - "title": "Questionário sobre o Git", - "intro": [ - "Teste o que você aprendeu sobre o Git com este questionário." - ] - }, - "review-relational-databases": { - "title": "Revisão de Bancos de Dados Relacionais", - "intro": [ - "Revise os conceitos de bancos de dados relacionais para se preparar para o exame." - ] - }, - "lecture-understanding-the-http-request-response-model": { - "title": "Compreendendo o Modelo de Solicitação-Resposta HTTP", - "intro": [ - "Aprenda os fundamentos de como a comunicação na web funciona através do modelo de solicitação-resposta HTTP, explore diferentes tipos de ativos e respostas da web e entenda como os formulários manipulam o envio de dados usando vários métodos HTTP." - ] - }, - "exam-certified-full-stack-developer": { - "title": "Exame para Desenvolvedor Full Stack Certificado", - "intro": [ - "Passe neste exame para se tornar um Desenvolvedor Full Stack Certificado." - ] - } - } - }, "javascript-v9": { "title": "Certificação JavaScript", "intro": [ @@ -6520,6 +3122,12 @@ "Nesta lição, você aprenderá sobre recursão e a pilha de chamadas." ] }, + "workshop-countup": { + "title": "Build a Countup", + "intro": [ + "In this workshop you will build a countdown function that returns an array of numbers counting up from 1 to a given number." + ] + }, "lab-countdown": { "title": "Crie uma contagem regressiva", "intro": [ @@ -6533,6 +3141,13 @@ "Neste workshop, você criará um conversor de decimal para binário usando JavaScript. Você praticará os conceitos fundamentais de recursão, explorará a pilha de chamadas e criará uma representação visual do processo de recursão através de uma animação." ] }, + "lab-range-of-numbers": { + "title": "Build a Range of Numbers Generator", + "intro": [ + "In this lab, you'll use recursion to generate an array of numbers within a specified range.", + "You'll practice recursive function calls, base cases, and building arrays through recursion." + ] + }, "lab-permutation-generator": { "title": "Crie um Gerador de Permutação", "intro": [ @@ -6559,6 +3174,12 @@ "These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm." ] }, + "lecture-understanding-graphs-and-trees-js": { + "title": "Understanding Graphs and Trees", + "intro": [ + "In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science." + ] + }, "lecture-understanding-functional-programming": { "title": "Compreendendo Programação Funcional ", "intro": [ @@ -7272,6 +3893,12 @@ "Neste laboratório, você usará a programação orientada a objetos para calcular as áreas de diferentes polígonos, como quadrados e retângulos." ] }, + "lab-discount-calculator": { + "title": "Build a Discount Calculator", + "intro": [ + "In this lab, you will practice basic Python by building a calculator to apply a discount to a price." + ] + }, "lecture-understanding-abstraction": { "title": "Compreendendo a Abstração", "intro": ["Aprenda sobre a Compreensão da Abstração nessas lições."] diff --git a/client/i18n/locales/portuguese/translations.json b/client/i18n/locales/portuguese/translations.json index 008a6745d0e..4bff5eee247 100644 --- a/client/i18n/locales/portuguese/translations.json +++ b/client/i18n/locales/portuguese/translations.json @@ -291,7 +291,7 @@ "reset-editor-layout": "Redefinir Layout do Editor", "shortcuts-explained": "Dentro de um desafio, aperte ESC seguido pelo ponto de interrogação para mostrar uma lista de atalhos disponíveis.", "username": { - "contains invalid characters": "O nome de usuário \"{{username}}\" contém caracteres inválidos", + "contains invalid characters": "Username \"{{username}}\" contains invalid characters. Use only alphanumeric values like 'camperbot', or 'camperbot123'.", "is too short": "O nome de usuário \"{{username}}\" é muito curto", "is a reserved error code": "O nome de usuário \"{{username}}\" é um código de erro reservado", "must be lowercase": "O nome do usuário \"{{username}}\" deve estar em letras minúsculas", diff --git a/client/i18n/locales/swahili/intro.json b/client/i18n/locales/swahili/intro.json index b5bbf95fb9b..f968e594ce4 100644 --- a/client/i18n/locales/swahili/intro.json +++ b/client/i18n/locales/swahili/intro.json @@ -1954,3346 +1954,6 @@ } } }, - "full-stack-developer": { - "title": "Certified Full Stack Developer Curriculum", - "intro": [ - "This course provides a comprehensive pathway to becoming a Certified Full Stack Developer, covering all the essential technologies required to build modern, scalable web applications from start to finish.", - "Through a blend of interactive lessons, coding exercises, and real-world projects, you will master both frontend and backend development. You'll work with HTML, CSS, and JavaScript to build responsive user interfaces, explore React and TypeScript for advanced web applications, and learn to manage data with relational databases - and on the backend, you'll use Git, Npm, Node.js, and Python to create powerful server-side solutions.", - "By the end of this course, you'll have the practical skills and experience to confidently develop complete web applications, preparing you for a successful career as a Full Stack Developer.", - "This certification will take you a substantial amount of time and effort to complete. If you start now, you may be ready to start the remaining material and final exam when we launch it in the coming months." - ], - "chapters": { - "html": "HTML", - "css": "CSS", - "javascript": "JavaScript", - "frontend-libraries": "Front End Libraries", - "relational-databases": "Relational Databases", - "backend-javascript": "Backend JavaScript", - "python": "Python", - "career": "Career" - }, - "modules": { - "basic-html": "Basic HTML", - "semantic-html": "Semantic HTML", - "html-forms-and-tables": "Forms and Tables", - "html-and-accessibility": "Accessibility", - "review-html": "HTML Review", - "exam-html": "HTML Exam", - "computer-basics": "Computer Basics", - "basic-css": "Basic CSS", - "design-for-developers": "Design", - "absolute-and-relative-units": "Absolute and Relative Units", - "pseudo-classes-and-elements": "Pseudo Classes and Elements", - "css-colors": "Colors", - "styling-forms": "Styling Forms", - "css-box-model": "The Box Model", - "css-flexbox": "Flexbox", - "css-typography": "Typography", - "css-and-accessibility": "Accessibility", - "attribute-selectors": "Attribute Selectors", - "css-positioning": "Positioning", - "responsive-design": "Responsive Design", - "css-variables": "Variables", - "css-grid": "Grid", - "css-animations": "Animations", - "review-css": "CSS Review", - "exam-css": "CSS Exam", - "code-editors": "Code Editors", - "javascript-variables-and-strings": "Variables and Strings", - "javascript-booleans-and-numbers": "Booleans and Numbers", - "javascript-functions": "Functions", - "javascript-arrays": "Arrays", - "javascript-objects": "Objects", - "javascript-loops": "Loops", - "review-javascript-fundamentals": "JavaScript Fundamentals Review", - "higher-order-functions-and-callbacks": "Higher Order Functions and Callbacks", - "dom-manipulation-and-events": "DOM Manipulation and Events", - "js-a11y": "JavaScript and Accessibility", - "debugging-javascript": "Debugging", - "basic-regex": "Basic Regex", - "form-validation": "Form Validation", - "javascript-dates": "Dates", - "audio-and-video-events": "Audio and Video Events", - "maps-and-sets": "Maps and Sets", - "localstorage-and-crud-operations": "localStorage and CRUD Operations", - "classes-and-the-this-keyword": "Classes", - "recursion": "Recursion", - "functional-programming": "Functional Programming", - "asynchronous-javascript": "Asynchronous JavaScript", - "review-javascript": "JavaScript Review", - "exam-javascript": "JavaScript Exam", - "react-fundamentals": "React Fundamentals", - "react-state-hooks-and-routing": "React State, Hooks, and Routing", - "performance": "Performance", - "testing": "Testing", - "css-libraries-and-frameworks": "CSS Libraries and Frameworks", - "data-visualization": "Data Visualization and D3", - "typescript-fundamentals": "TypeScript Fundamentals", - "review-front-end-libraries": "Front End Libraries Review", - "exam-front-end-libraries": "Front End Libraries Exam", - "python-basics": "Python Basics", - "python-loops-and-sequences": "Loops and Sequences", - "python-dictionaries-and-sets": "Dictionaries and Sets", - "python-error-handling": "Error Handling", - "python-classes-and-objects": "Classes and Objects", - "python-object-oriented-programming": "Object-Oriented Programming (OOP)", - "python-linear-data-structures": "Linear Data Structures", - "python-algorithms": "Algorithms", - "python-graphs-and-trees": "Graphs and Trees", - "python-dynamic-programming": "Dynamic Programming", - "review-python": "Python Review", - "exam-python": "Python Exam", - "bash-fundamentals": "Bash Fundamentals", - "sql-and-postgresql": "SQL and PostgreSQL", - "bash-scripting": "Bash Scripting", - "sql-and-bash": "SQL and Bash", - "git": "Git", - "review-relational-databases": "Relational Databases Review", - "exam-relational-databases": "Relational Databases Exam", - "nodejs-core-libraries": "Node.js Core Libraries", - "node-package-manager": "Node Package Manager", - "http-and-the-web-standards-model": "HTTP and the Web Standards Model", - "rest-api-and-web-services": "REST API and Web Services", - "introduction-to-express": "Introduction to Express", - "express-middleware": "Express Middleware", - "error-handling-in-express": "Error Handling in Express", - "websockets": "WebSockets", - "node-and-sql": "Node and SQL", - "security-and-privacy": "Security and Privacy", - "authentication": "Authentication", - "tooling-and-deployment": "Tooling and Deployment", - "how-to-get-a-developer-job": "How to Get a Developer Job", - "capstone-project": "Capstone Project", - "certified-full-stack-developer-exam": "Certified Full Stack Developer Exam" - }, - "module-intros": { - "data-visualization": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will be introduced to data visualization and learn how to work with the D3 library." - ] - }, - "typescript-fundamentals": { - "note": "Coming Fall 2025", - "intro": [ - "In this module, you will be introduced to TypeScript, which is a superset of JavaScript that allows you to add static typing to your JavaScript code. You will build several workshops and labs that will give you practice in working with generics, type narrowing, TSX, and more. Then you will test your knowledge of TypeScript fundamentals with a short quiz." - ] - }, - "python-classes-and-objects": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to work with classes, methods, attributes and properties. Then, you will build out workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-object-oriented-programming": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about Object-oriented programming concepts like encapsulation, inheritance, polymorphism, and more. You will build out workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-linear-data-structures": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about data structures including stacks, queues, linked lists, and more. You will build out a workshop and lab to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-algorithms": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about common algorithms including binary search, merge sort, selection sort, and more. You will build workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-graphs-and-trees": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about graphs in computer science as well as adjacency lists, trees, tries, and more. You will build workshops and labs to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "python-dynamic-programming": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about dynamic programming and practice these concepts by building a fibonacci sequence lab. Then you will take a short quiz to test your knowledge." - ] - }, - "bash-fundamentals": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about the command line and common Bash commands. Then you will practice your skills with a workshop and take a short quiz to test your knowledge." - ] - }, - "sql-and-postgresql": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to work with relational databases which store data as collections in tables. Some of the concepts you will learn about include inserting and viewing table data, primary and foreign keys in SQL, and more. Then you will build out a workshop and lab to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "bash-scripting": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about bash scripting and practice those skills by building five programs. Then you will be able to test your knowledge of these concepts by taking a short quiz." - ] - }, - "sql-and-bash": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn about normalization, SQL injection, and the N+1 problem. Then you will get to practice working with SQL and Bash by building several workshops and labs. Then you will be able to test your knowledge of these concepts by taking a short quiz." - ] - }, - "git": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to use Git, Nano, and GitHub. Then you will get to practice working with Git by building several workshops and labs. You will be able to test your knowledge of these concepts by taking a short quiz." - ] - }, - "introduction-to-nodejs": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to Node.js, which is a JavaScript runtime environment that allows you to build backend applications using JavaScript. You will get to practice fundamental concepts by building a small workshop and test your knowledge with a short quiz." - ] - }, - "nodejs-core-libraries": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about common Node.js core libraries including the fs, os, path and more. Then you will get to practice what you have learned through workshops and labs and test your knowledge through a short quiz." - ] - }, - "node-package-manager": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to the Node Package Manager, which developers use to manage project dependencies and scripts. Then you will get to practice what you have learned through workshops and labs and test your knowledge with a short quiz." - ] - }, - "http-and-the-web-standards-model": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about HTTP (Hypertext Transfer Protocol) and other important concepts including the request-response model, common response codes, DNS, TCP/IP, and more. Then you will get to practice what you have learned through a build your own web server workshop and test your knowledge with a short quiz." - ] - }, - "rest-api-and-web-services": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about the REST API (Representational State Transfer Application Programming Interface) and how microservices work. Then you will take a short quiz to test your knowledge." - ] - }, - "introduction-to-express": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to Express.js, which is a framework used to build RESTful APIs. Then you will practice your skills through workshops and labs and test your knowledge with a short quiz." - ] - }, - "express-middleware": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about middleware in Express.js, which is used to handle requests and responses between the client and server. You will then practice your skills through a workshop and lab and test your knowledge with a short quiz." - ] - }, - "error-handling-in-express": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about how error handling, debugging, and health checks work in Express.js. You will then practice what you have learned in a lab and test your knowledge with a short quiz." - ] - }, - "websockets": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will be introduced to websockets, which is a protocol used for real time communication with the client and server. You will then practice what you have learned in labs and workshops and test your knowledge with a short quiz." - ] - }, - "node-and-sql": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will practice building applications with Node and SQL. Then you will take a short quiz to test your knowledge." - ] - }, - "security-and-privacy": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about the differences between security and privacy as well as other concepts including CSPs, Permissions-Policies, PII, working with CORS, and more. Then you will take a short quiz to test your knowledge." - ] - }, - "authentication": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about how authentication works in web applications along with other important concepts including JWTs, CSRFs, Passport, Helmet, cryptography and encryption, and more. You will then practice what you have learned in labs and workshops and test your knowledge with a short quiz." - ] - }, - "tooling-and-deployment": { - "note": "Coming Late 2026", - "intro": [ - "In this module, you will learn about common tools used in the industry for deploying your full stack applications. Then you will take a short quiz to test your knowledge." - ] - }, - "how-to-get-a-developer-job": { - "note": "Coming Late 2026", - "intro": [ - "In this module, Quincy Larson (Founder and teacher of freeCodeCamp) will talk about strategies you can use to prepare for getting a developer job. Quincy will cover key subjects including résumés, portfolios, researching the market, preparing for technical interviews, and more." - ] - }, - "capstone-project": { - "note": "Coming Late 2026", - "intro": [ - "This will be your opportunity to build out a full stack application encompassing what you have learned throughout this certification." - ] - }, - "certified-full-stack-developer-exam": { - "note": "Coming Late 2026", - "intro": [ - "This will be a 90 question exam testing what you have learned throughout this certification." - ] - } - }, - "blocks": { - "workshop-curriculum-outline": { - "title": "Build a Curriculum Outline", - "intro": [ - "Welcome to freeCodeCamp!", - "This workshop will serve as your introduction to HTML and coding in general. You will learn about headings and paragraph elements." - ] - }, - "lab-debug-camperbots-profile-page": { - "title": "Debug Camperbot's Profile Page", - "intro": [ - "Camperbot is learning how to code too and needs some help with their HTML.", - "In this lab, you will help Camperbot find and fix the errors in their code." - ] - }, - "lecture-understanding-html-attributes": { - "title": "Understanding HTML Attributes", - "intro": [ - "In these lessons, you will learn more about HTML (HyperText Markup Language), a markup language for creating web pages.", - "You will learn about HTML's role on the web, and what HTML attributes are." - ] - }, - "lab-debug-pet-adoption-page": { - "title": "Debug a Pet Adoption Page", - "intro": [ - "In this lab, you will need to find and fix the errors in this pet adoption page." - ] - }, - "lecture-understanding-the-html-boilerplate": { - "title": "Understanding the HTML Boilerplate", - "intro": [ - "In these lessons, you will learn about the HTML boilerplate which is a ready-made template for your webpages.", - "You will learn how to work with the link element, meta element and more." - ] - }, - "workshop-cat-photo-app": { - "title": "Build a Cat Photo App", - "intro": [ - "HTML stands for HyperText Markup Language and it represents the content and structure of a web page.", - "In this workshop, you will learn how to work with basic HTML elements such as headings, paragraphs, images, links, and lists." - ] - }, - "lab-recipe-page": { - "title": "Build a Recipe Page", - "intro": [ - "In this lab, you'll review HTML basics by creating a web page of your favorite recipe. You'll create an HTML boilerplate and work with headings, lists, images, and more." - ] - }, - "lecture-html-fundamentals": { - "title": "HTML Fundamentals", - "intro": [ - "In these lessons, you will learn about HTML fundamentals like the div element, the id and class attributes, the HTML boilerplate, HTML entities, and more." - ] - }, - "workshop-bookstore-page": { - "title": "Build a Bookstore Page", - "intro": [ - "In this workshop, you will practice working with classes, ids and the div element by building a bookstore page." - ] - }, - "lecture-understanding-how-html-affects-seo": { - "title": "Understanding How HTML Affects SEO", - "intro": [ - "In these lessons, you will learn how your HTML code impacts search engine optimization." - ] - }, - "lab-travel-agency-page": { - "title": "Build a Travel Agency Page", - "intro": [ - "In this lab, you'll review working with HTML fundamentals by creating a web page for a travel agency. You'll work with images, the figure element, the figcaption element, the anchor element, and more." - ] - }, - "lecture-working-with-audio-and-video-elements": { - "title": "Working with Audio and Video Elements", - "intro": [ - "In these lessons, you will learn how to work with the audio and video elements." - ] - }, - "lab-html-audio-and-video-player": { - "title": "Build an HTML Audio and Video Player", - "intro": [ - "In this lab, you will build an HTML audio and video player using the video and audio elements with controls and source attributes." - ] - }, - "lecture-working-with-images-and-svgs": { - "title": "Working with Images and SVGs", - "intro": [ - "In these lessons, you will learn how to work with SVGs and learn about techniques for optimizing your images." - ] - }, - "workshop-build-a-heart-icon": { - "title": "Build a Heart Icon", - "intro": [ - "In this workshop, you will practice working with SVGs by building a heart icon" - ] - }, - "lecture-working-with-media": { - "title": "Working with the iframe Element", - "intro": [ - "In these lessons, you will learn how to work with the iframe element which is used to embed an external site on your web page." - ] - }, - "workshop-build-a-video-display-using-iframe": { - "title": "Build a Video Display Using iframe", - "intro": [ - "In this workshop, you'll learn how to work with the iframe element by building a video display." - ] - }, - "lab-video-compilation-page": { - "title": "Build a Video Compilation Page", - "intro": [ - "In this lab, you'll create a video compilation web page. You'll practice working with the iframe element." - ] - }, - "lecture-working-with-links": { - "title": "Working with Links", - "intro": [ - "In these lessons, you will learn about links, the target attribute, different link states, absolute, and relative paths, and more." - ] - }, - "review-basic-html": { - "title": "Basic HTML Review", - "intro": [ - "Before you are quizzed on the HTML knowledge you have gained so far, you first need to review the concepts.", - "Open up this page to review the HTML boilerplate, audio and video elements, the different target attribute values and more." - ] - }, - "quiz-basic-html": { - "title": "Basic HTML Quiz", - "intro": [ - "The following quiz will test your knowledge of the basic HTML concepts you have learned so far.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "lecture-importance-of-semantic-html": { - "title": "Importance of Semantic HTML", - "intro": [ - "In these lessons, you will learn about semantic HTML and why you should care about it, semantic elements, how semantic HTML differs from presentational HTML, and more." - ] - }, - "lecture-understanding-nuanced-semantic-elements": { - "title": "Understanding Nuanced Semantic Elements", - "intro": [ - "In these lessons, you will learn when you should use certain semantic elements like the em element over the i element, description lists, and more." - ] - }, - "workshop-major-browsers-list": { - "title": "Build a List of Major Web Browsers", - "intro": [ - "In this workshop, you will build a description list and work with the dl, dt, and dd elements." - ] - }, - "lecture-working-with-text-and-time-semantic-elements": { - "title": "Working with Text and Time Semantic Elements ", - "intro": [ - "In this lesson, you will learn about the importance of semantics in conveying meaning for text and time-related content including the time, blockquote elements and more." - ] - }, - "workshop-quincys-job-tips": { - "title": "Build Quincy's Job Tips Page", - "intro": [ - "In this workshop, you will practice working with semantic HTML by using the q, blockquote and cite elements." - ] - }, - "lecture-working-with-specialized-semantic-elements": { - "title": "Working with Specialized Semantic Elements", - "intro": [ - "In this lesson, you will learn about specialized semantic elements like u, s, code elements and more." - ] - }, - "workshop-blog-page": { - "title": "Build a Cat Blog Page", - "intro": [ - "In this workshop, you will build an HTML only blog page using semantic elements including the main, nav, article and footer elements." - ] - }, - "lab-event-hub": { - "title": "Build an Event Hub", - "intro": [ - "In this lab, you'll build an event hub and review semantic elements like header, nav, article, and more." - ] - }, - "review-semantic-html": { - "title": "Semantic HTML Review", - "intro": [ - "Before you are quizzed on semantic HTML, you first need to review the concepts.", - "Open up this page to review the em, strong, blockquote, address and more semantic HTML elements." - ] - }, - "quiz-semantic-html": { - "title": "Semantic HTML Quiz", - "intro": [ - "The following quiz will test your knowledge on semantic HTML concepts you have learned so far.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "lecture-working-with-forms": { - "title": "Working with Forms", - "intro": [ - "In these lessons, you will learn about forms, the role of labels, inputs and buttons in creating forms, client-side form validation, and form states." - ] - }, - "workshop-hotel-feedback-form": { - "title": "Build a Hotel Feedback Form", - "intro": [ - "In this workshop, you will build a Hotel Feedback Form.", - "You will practice working with labels, inputs, fieldsets, legends, textareas and buttons." - ] - }, - "lab-survey-form": { - "title": "Build a Survey Form", - "intro": [ - "In this lab, you'll review HTML forms by creating a survey form.", - "You'll practice working with the label element, the different input elements, the required attribute, and more. " - ] - }, - "lecture-working-with-tables": { - "title": "Working with Tables", - "intro": [ - "In these lessons, you will learn about HTML tables, how to create them, and when to use them." - ] - }, - "workshop-final-exams-table": { - "title": "Build a Final Exams Table", - "intro": [ - "In this workshop, you will practice working with HTML tables by building a table of final exams." - ] - }, - "lab-book-catalog-table": { - "title": "Build a Book Catalog Table", - "intro": [ - "In this lab, you'll review HTML tables by building a book information table.", - "You'll practice the different table components like the thead, tbody, th, tr, and td elements." - ] - }, - "lecture-working-with-html-tools": { - "title": "Working with HTML Tools", - "intro": [ - "In these lessons, you will learn about HTML tools and how they let you write better code. These tools include HTML validators, DOM Inspector, and the browser developer tools." - ] - }, - "review-html-tables-and-forms": { - "title": "HTML Tables and Forms Review", - "intro": [ - "Before you are quizzed on HTML forms, tables and tools, you first need to review the concepts.", - "Open up this page to review the table, input, and button elements as well as commonly used tools like the HTML validator and more." - ] - }, - "quiz-html-tables-and-forms": { - "title": "HTML Tables and Forms Quiz", - "intro": [ - "The following quiz will test your knowledge of HTML tables, forms and commonly used HTML tools.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "lecture-importance-of-accessibility-and-good-html-structure": { - "title": "Importance of Accessibility and Good HTML Structure", - "intro": [ - "In these lessons, you will learn about accessibility and its importance, assistive tools for people with disabilities, HTML attributes that let you create inclusive websites, accessibility best practices, and much more." - ] - }, - "workshop-debug-coding-journey-blog-page": { - "title": "Debug a Coding Journey Blog Page", - "intro": [ - "In this workshop, you will debug and fix accessibility errors in a coding blog page." - ] - }, - "lecture-accessible-tables-forms": { - "title": "Working with Accessible Tables and Forms", - "intro": [ - "In these lessons, you will learn about how to create accessible tables and forms." - ] - }, - "workshop-tech-conference-schedule": { - "title": "Build a Tech Conference Schedule Table", - "intro": [ - "In this workshop, you will build an accessible tech conference schedule table." - ] - }, - "lecture-introduction-to-aria": { - "title": "Introduction to ARIA", - "intro": [ - "In these lessons, you will learn about working with ARIA roles." - ] - }, - "workshop-accessible-audio-controller": { - "title": "Build an Accessible Audio Controller", - "intro": [ - "In this workshop, you will practice accessible HTML by building an audio controller that uses the aria-labelledby attribute." - ] - }, - "lecture-accessible-media-elements": { - "title": "Working with Accessible Media Elements", - "intro": [ - "In these lessons, you will learn about how to create accessible links, audio and video content." - ] - }, - "lab-checkout-page": { - "title": "Build a Checkout Page", - "intro": [ - "In this lab, you'll create an accessible checkout page.", - "You'll practice concepts like alt attributes and ARIA roles." - ] - }, - "lab-movie-review-page": { - "title": "Design a Movie Review Page", - "intro": [ - "In this lab, you'll create a movie review page.", - "You'll practice concepts like semantic HTML, alt attributes, accessible lists, and hiding decorative content from screen readers using aria-hidden." - ] - }, - "lab-multimedia-player": { - "title": "Build a Multimedia Player", - "intro": [ - "In this lab, you'll build a multimedia player.", - "You will practice working with the audio and video elements, the controls attribute, and the aria-label attribute." - ] - }, - "review-html-accessibility": { - "title": "HTML Accessibility Review", - "intro": [ - "Before you are quizzed on HTML and accessibility, you first need to review the concepts.", - "Open up this page to review concepts including the aria-hidden, aria-describedby, tabindex attributes and more." - ] - }, - "quiz-html-accessibility": { - "title": "HTML Accessibility Quiz", - "intro": [ - "The following quiz will test your knowledge on the accessibility concepts you have learned so far.", - "If you're getting ready for the exam, there are several quiz sets available for practice. After completing a quiz, you can revisit this page to access a new set of questions." - ] - }, - "review-html": { - "title": "HTML Review", - "intro": [ - "Before you take the HTML prep exam, you first need to review the concepts taught in the previous modules.", - "Open up this page to review concepts around the basics of HTML elements, semantic HTML, tables, forms and accessibility." - ] - }, - "qpra": { - "title": "30", - "intro": [] - }, - "lecture-understanding-computer-internet-and-tooling-basics": { - "title": "Understanding Computer, Internet, and Tooling Basics", - "intro": [ - "In these lessons, you will learn about the computer, its different parts, internet service providers (ISPs), and the tools professional developers use." - ] - }, - "lecture-working-with-file-systems": { - "title": "Working with File Systems", - "intro": [ - "In these lessons, you will learn how to work with file and folder systems on your computers. You will learn how to create, move, and delete files and folders, the best practices for naming and organizing files and folders, and more." - ] - }, - "lecture-browsing-the-web-effectively": { - "title": "Browsing the Web Effectively", - "intro": [ - "In these lessons, you will learn about what websites, search engine, and web browsers are, the different browsers available, and how to get the best out of a search engine." - ] - }, - "review-computer-basics": { - "title": "Computer Basics Review", - "intro": [ - "Before you are quizzed on basic computer and internet concepts, you first need to review.", - "Open up this page to review concepts like RAM, Internet service providers, common web browsers, search engines and more." - ] - }, - "quiz-computer-basics": { - "title": "Computer Basics Quiz", - "intro": [ - "Test what you've learned in this quiz of basic computer knowledge." - ] - }, - "lecture-what-is-css": { - "title": "What Is CSS?", - "intro": [ - "The following lessons are all about CSS. You will learn what CSS is and its role on the web, a CSS rule and its anatomy, the three ways to write CSS and when to use each, inline and block elements, and many more." - ] - }, - "workshop-cafe-menu": { - "title": "Design a Cafe Menu", - "intro": [ - "CSS tells the browser how to display your webpage. You can use CSS to set the color, font, size, and other aspects of HTML elements.", - "In this workshop, you'll learn CSS by designing a menu page for a cafe webpage." - ] - }, - "lab-business-card": { - "title": "Design a Business Card", - "intro": [ - "In this lab, you'll create a business card and style it using CSS.", - "You'll practice style properties like 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 lessons, you will learn about CSS specificity, the common selectors and their specificities, the cascade algorithm, inheritance, and more." - ] - }, - "review-basic-css": { - "title": "CSS Fundamentals Review", - "intro": [ - "Before you are quizzed on basic CSS concepts, you first need to review.", - "Open up this page to review concepts including margin, padding, CSS combinators, CSS specificity and more." - ] - }, - "quiz-basic-css": { - "title": "CSS Fundamentals Quiz", - "intro": [ - "Test what you've learned in this quiz of basic CSS knowledge." - ] - }, - "lecture-styling-lists-and-links": { - "title": "Styling Lists and Links", - "intro": [ - "In these lessons, you will learn the properties you need to know to effectively style lists and links, including link states like 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", - "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 lessons, you will learn about the properties and values you need to know to style backgrounds and borders of elements, alongside the accessibility considerations for backgrounds." - ] - }, - "lab-blog-post-card": { - "title": "Design a Blog Post Card", - "intro": [ - "In this lab, you'll design a blog post card using HTML and CSS", - "You'll practice concepts like background-color, border-radius, margins, paddings, and more." - ] - }, - "review-css-backgrounds-and-borders": { - "title": "Lists, Links, CSS Background and Borders Review", - "intro": [ - "Before you are quizzed on CSS backgrounds and borders, you first need to review.", - "Open up this page to review concepts including the background-image property, border property and more." - ] - }, - "quiz-css-backgrounds-and-borders": { - "title": "CSS Backgrounds and Borders Quiz", - "intro": [ - "Test what you've learned in this quiz of backgrounds and borders in CSS." - ] - }, - "lecture-user-interface-design-fundamentals": { - "title": "User Interface Design Fundamentals", - "intro": [ - "In these lessons, you will learn about the fundamentals of user interface (UI) design. You will learn about the terms you need to know to communicate with designers, visual hierarchy, scaling, alignment, whitespace, and much more." - ] - }, - "lecture-user-centered-design": { - "title": "User-Centered Design", - "intro": [ - "In these lessons, you will learn about best practices for designing user-facing features like dark mode, breadcrumbs, modal dialogs, and much more. You will also learn how to conduct user research, user requirements and testing." - ] - }, - "lecture-common-design-tools": { - "title": "Common Design Tools", - "intro": [ - "In these lessons, you will learn about the common design tools developers should know. You will also learn about design briefs and how developers work with them." - ] - }, - "review-design-fundamentals": { - "title": "Design Fundamentals Review", - "intro": [ - "Before you are quizzed on the design fundamentals you have learned so far, you first need to review.", - "Open up this page to review concepts like user-centered design, scale, alignment, good visual hierarchy and more." - ] - }, - "quiz-design-fundamentals": { - "title": "Design Fundamentals Quiz", - "intro": [ - "Test what you've learned in this quiz of UI design fundamentals." - ] - }, - "lecture-working-with-relative-and-absolute-units": { - "title": "Working with Relative and Absolute Units", - "intro": [ - "In these lessons, you will learn about relative and absolute units, and how they both impact what you see in the browser." - ] - }, - "lab-event-flyer-page": { - "title": "Build an Event Flyer Page", - "intro": [ - "In this lab, you'll create an event flyer page.", - "You will practice aligning elements using absolute and relative CSS." - ] - }, - "review-css-relative-and-absolute-units": { - "title": "CSS Relative and Absolute Units Review", - "intro": [ - "Before you are quizzed on relative and absolute units, you first need to review.", - "Open up this page to review concepts like percentages, px, rem, em, and more." - ] - }, - "quiz-css-relative-and-absolute-units": { - "title": "CSS Relative and Absolute Units Quiz", - "intro": [ - "Test what you've learned in this quiz of relative and absolute units in CSS." - ] - }, - "lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": { - "title": "Working with Pseudo-Classes and Pseudo-Elements in CSS", - "intro": [ - "In these lessons, you will learn about pseudo-classes and pseudo-elements, alongside their examples and how they work." - ] - }, - "workshop-greeting-card": { - "title": "Design a Greeting Card", - "intro": [ - "In the previous lessons, you learned how to work with the different types of pseudo-classes.", - "In this workshop, you will have a chance to practice what you have learned by designing a greeting card." - ] - }, - "lab-job-application-form": { - "title": "Build a Job Application Form", - "intro": [ - "In this lab you'll build a job application form and style it using pseudo-classes.", - "You'll practice concepts like :hover, :active, :focus, and more." - ] - }, - "review-css-pseudo-classes": { - "title": "CSS Pseudo-classes Review", - "intro": [ - "Before you're quizzed on CSS pseudo-classes and pseudo-elements, you should review what you've learned about them.", - "Open up this page to review concepts like the ::before and ::after pseudo-elements as well as the :hover, :active pseudo-classes and more." - ] - }, - "quiz-css-pseudo-classes": { - "title": "CSS Pseudo-classes Quiz", - "intro": ["Test your knowledge of CSS pseudo-classes with this quiz."] - }, - "lecture-working-with-colors-in-css": { - "title": "Working with Colors in CSS", - "intro": [ - "In these lessons, you will learn about linear and radial gradients, the color theory, different kinds of colors like named, RGB, Hex, and HSL colors. You will learn how these colors work, and which to use in specific cases." - ] - }, - "workshop-colored-markers": { - "title": "Build a Set of Colored Markers", - "intro": [ - "In this workshop, you'll build a set of colored markers. You'll practice different ways to set color values and how to pair colors with each other." - ] - }, - "lab-colored-boxes": { - "title": "Design a Set of Colored Boxes", - "intro": [ - "In this lab, you'll create a color grid and practice adding background colors to the grid items using hex codes, RGB, and predefined color names." - ] - }, - "review-css-colors": { - "title": "CSS Colors Review", - "intro": [ - "Before you're quizzed on CSS colors, you should review what you've learned about them.", - "Open up this page to review concepts like the rgb() function, hsl() function, hex codes, and more." - ] - }, - "quiz-css-colors": { - "title": "CSS Colors Quiz", - "intro": ["Test your knowledge of CSS colors with this quiz."] - }, - "lecture-best-practices-for-styling-forms": { - "title": "Best Practices for Styling Forms", - "intro": [ - "In these lessons, you will learn about the best practices for styling forms and issues you can encounter while styling special inputs like color and datetime-local." - ] - }, - "workshop-registration-form": { - "title": "Design a Registration Form", - "intro": [ - "In this workshop, you'll learn how to design HTML forms by designing a signup page. You'll learn how to control what types of data people can type into your form, and some new CSS tools for styling your page." - ] - }, - "lab-contact-form": { - "title": "Design a Contact Form", - "intro": [ - "In this lab, you'll design a contact form in HTML and style it using CSS." - ] - }, - "workshop-game-settings-panel": { - "title": "Build a Game Settings Panel", - "intro": [ - "In this workshop, you will practice styling checkboxes by building a game settings panel." - ] - }, - "lab-feature-selection": { - "title": "Design a Feature Selection Page", - "intro": [ - "In this lab, you'll build a feature selection page with custom-styled checkboxes.", - "You'll create feature cards with labels and checkboxes, then give custom styling to the checkboxes." - ] - }, - "review-styling-forms": { - "title": "Styling Forms Review", - "intro": [ - "Before you're quizzed on styling forms, you should review what you've learned.", - "Open up this page to review how to style form inputs, working with appearance: none and more." - ] - }, - "quiz-styling-forms": { - "title": "Styling Forms Quiz", - "intro": [ - "In this quiz, you will test your knowledge of how to style forms." - ] - }, - "lecture-working-with-css-transforms-overflow-and-filters": { - "title": "Working with CSS Transforms, Overflow, and Filters", - "intro": [ - "In these lessons, you will learn about working with CSS transforms, overflow, and filters. You will also learn about the box model and how it works." - ] - }, - "workshop-rothko-painting": { - "title": "Design a Rothko Painting", - "intro": [ - "Every HTML element is its own box – with its own spacing and a border. This is called the Box Model.", - "In this workshop, you'll use CSS and the Box Model to create your own Rothko-style rectangular art pieces." - ] - }, - "lab-confidential-email-page": { - "title": "Build a Confidential Email Page", - "intro": [ - "In this lab, you'll create a web page using HTML and mask the content using CSS properties." - ] - }, - "review-css-layout-and-effects": { - "title": "CSS Layouts and Effects Review", - "intro": [ - "Before you are quizzed on CSS Layouts and Effects, you first need to review.", - "Open up this page to review concepts like the transform property, the box model, the overflow property and more." - ] - }, - "quiz-css-layout-and-effects": { - "title": "CSS Layout and Effects Quiz", - "intro": [ - "In this quiz, you will test your knowledge of the box model, transforms, filters, and overflow in CSS." - ] - }, - "lecture-working-with-css-flexbox": { - "title": "Working with CSS Flexbox", - "intro": [ - "In these lessons, you will learn how CSS flexbox works, its properties, and when you should use it." - ] - }, - "workshop-flexbox-photo-gallery": { - "title": "Build a Flexbox Photo Gallery", - "intro": [ - "In this workshop, you'll use Flexbox to build a responsive photo gallery webpage." - ] - }, - "lab-page-of-playing-cards": { - "title": "Build a Page of Playing Cards", - "intro": [ - "In this lab, you'll use flexbox to create a webpage of playing cards.", - "You'll practice aligning elements using flexbox properties like flex-direction, justify-content, align-self, and more." - ] - }, - "review-css-flexbox": { - "title": "CSS Flexbox Review", - "intro": [ - "Before you're quizzed on CSS flexbox, you should review what you've learned.", - "Open up this page to review concepts like the flex-direction, justify-content, align-items, flex-wrap properties, and more." - ] - }, - "quiz-css-flexbox": { - "title": "CSS Flexbox Quiz", - "intro": ["Test what you've learned on CSS flexbox with this quiz."] - }, - "lecture-working-with-css-fonts": { - "title": "Working with CSS Fonts", - "intro": [ - "In these lessons, you will learn about typography and its best practices, fonts, and the text-shadow property." - ] - }, - "workshop-nutritional-label": { - "title": "Build a Nutritional Label", - "intro": [ - "Typography is the art of styling your text to be easily readable and suit its purpose.", - "In this workshop, you'll use typography to build a nutrition label webpage. You'll practice how to style text, adjust line height, and position your text using CSS." - ] - }, - "lab-newspaper-article": { - "title": "Build a Newspaper Article", - "intro": [ - "In this lab, you'll build a newspaper article page using HTML and CSS.", - "You'll style the fonts using properties like font-family, font-size, font-weight, and more." - ] - }, - "review-css-typography": { - "title": "CSS Typography Review", - "intro": [ - "Before you're quizzed on the fundamentals of typography, you should review what you've learned.", - "Open up this page to review concepts like web safe fonts, the font-family property and more." - ] - }, - "quiz-css-typography": { - "title": "CSS Typography Quiz", - "intro": ["Test your knowledge of typography with this quiz."] - }, - "lecture-best-practices-for-accessibility-and-css": { - "title": "Best Practices for Accessibility and CSS", - "intro": [ - "In these lessons, you will learn about best practices for accessibility in CSS, and the tools for checking good color contrast on websites." - ] - }, - "workshop-accessibility-quiz": { - "title": "Build a Quiz Webpage", - "intro": [ - "Accessibility is the process of making your webpages usable for everyone, including people with disabilities.", - "In this workshop, you'll build a quiz webpage. You'll learn accessibility tools such as keyboard shortcuts, ARIA attributes, and design best practices." - ] - }, - "lab-tribute-page": { - "title": "Build a Tribute Page", - "intro": [ - "In this lab, you'll build a tribute page for a subject of your choosing, fictional or real." - ] - }, - "review-css-accessibility": { - "title": "CSS Accessibility Review", - "intro": [ - "Before you're quizzed on CSS and accessibility, you should review what you've learned.", - "Open up this page to review concepts like color contrast tools and accessibility best practices." - ] - }, - "quiz-css-accessibility": { - "title": "CSS Accessibility Quiz", - "intro": [ - "In this quiz, you'll test what you've learned about making your webpages accessible with CSS." - ] - }, - "lecture-understanding-how-to-work-with-floats-and-positioning-in-css": { - "title": "Understanding How to Work with Floats and Positioning in CSS", - "intro": [ - "In these lessons, you will learn how to use CSS positioning and floats. You will learn about absolute, relative, fixed, and sticky positioning. You will also use the z-index property." - ] - }, - "workshop-cat-painting": { - "title": "Build a Cat Painting", - "intro": [ - "Mastering CSS positioning is essential for creating visually appealing and responsive web layouts.", - "In this workshop, you will build a cat painting. You'll learn about how to work with absolute positioning, the z-index property, and the transform property." - ] - }, - "lab-house-painting": { - "title": "Build a House Painting", - "intro": [ - "In this lab, you'll build a house painting using CSS.", - "You'll design individual elements of the house and position them using CSS properties like position, top, left, and more." - ] - }, - "review-css-positioning": { - "title": "CSS Positioning Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS positioning, you should review what you've learned.", - "Open up this page to review concepts like floats, relative positioning, absolute positioning and more." - ] - }, - "quiz-css-positioning": { - "title": "CSS Positioning Quiz", - "intro": ["Test your knowledge of CSS positioning with this quiz."] - }, - "lecture-working-with-attribute-selectors": { - "title": "Working with Attribute Selectors", - "intro": [ - "In these lessons, you will learn about attribute selectors and how to use them to target elements like links and lists." - ] - }, - "workshop-balance-sheet": { - "title": "Build a Balance Sheet", - "intro": [ - "In this workshop, you'll build a balance sheet using pseudo selectors. You'll learn how to change the style of an element when you hover over it with your mouse, and trigger other events on your webpage." - ] - }, - "lab-book-inventory-app": { - "title": "Build a Book Inventory App", - "intro": [ - "In this lab, you'll create a book inventory app.", - "You'll practice CSS attribute selectors like [attribute], [attribute=value], [attribute~=value], and more." - ] - }, - "review-css-attribute-selectors": { - "title": "CSS Attribute Selectors Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS attribute selectors, you should review what you've learned about them.", - "Open up this page to review concepts like how to work with different attribute selectors that target links with the href and title attributes." - ] - }, - "quiz-css-attribute-selectors": { - "title": "CSS Attribute Selectors Quiz", - "intro": [ - "Test your knowledge of CSS attribute selectors with this quiz." - ] - }, - "lecture-best-practices-for-responsive-web-design": { - "title": "Best Practices for Responsive Web Design", - "intro": [ - "In these lessons, you will learn about the best practices for responsive web design, the roles concepts like grid, flexbox, media queries, and media breakpoints play in responsive design, and more." - ] - }, - "workshop-piano": { - "title": "Design a Piano", - "intro": [ - "Responsive Design tells your webpage how it should look on different-sized screens.", - "In this workshop, you'll use CSS and responsive design to code a piano. You'll also practice media queries and pseudo selectors." - ] - }, - "lab-technical-documentation-page": { - "title": "Build a Technical Documentation Page", - "intro": [ - "In this lab, you'll build a technical documentation page to serve as instruction or reference for a topic.", - "You'll also practice media queries to create a responsive design." - ] - }, - "review-responsive-web-design": { - "title": "Responsive Web Design Review", - "intro": [ - "Before you're quizzed on the fundamentals of responsive design, you should review what you've learned.", - "Open up this page to review concepts like media queries, media breakpoints and mobile first approach design." - ] - }, - "quiz-responsive-web-design": { - "title": "Responsive Web Design Quiz", - "intro": [ - "Test what you've learned about making your webpages responsive with this quiz." - ] - }, - "lecture-working-with-css-variables": { - "title": "Working with CSS Variables", - "intro": [ - "In these lessons, you will learn how to define and use custom properties (also known as CSS variables). You will also learn about the @property rule and how it works." - ] - }, - "workshop-city-skyline": { - "title": "Build a City Skyline", - "intro": [ - "CSS variables help you organize your styles and reuse them.", - "In this workshop, you'll build a city skyline. You'll practice how to configure CSS variables so you can reuse them whenever you want." - ] - }, - "lab-availability-table": { - "title": "Build an Availability Table", - "intro": [ - "For this lab, you'll create an availability table that shows the availability of people for a meeting.", - "You'll practice using CSS variables to store and reuse colors, fonts, and other styles." - ] - }, - "review-css-variables": { - "title": "CSS Variables Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS variables, you should review what you've learned.", - "Open up this page to review how to work with CSS custom properties (CSS variables) and the @property rule." - ] - }, - "quiz-css-variables": { - "title": "CSS Variables Quiz", - "intro": ["Test your knowledge of CSS variables with this quiz."] - }, - "lecture-working-with-css-grid": { - "title": "Working with CSS Grid", - "intro": [ - "In these lessons, you will learn about CSS grid, its several properties and how to use them, and how CSS grid differs from flexbox." - ] - }, - "workshop-magazine": { - "title": "Build a Magazine", - "intro": [ - "CSS Grid gives you control over the rows and columns of your webpage design.", - "In this workshop, you'll build a magazine article. You'll practice how to use CSS Grid, including concepts like grid rows and grid columns." - ] - }, - "lab-newspaper-layout": { - "title": "Design a Newspaper Layout", - "intro": [ - "In this lab, you will design a newspaper layout using CSS Grid, including concepts like grid rows and grid columns." - ] - }, - "lecture-debugging-css": { - "title": "Debugging CSS", - "intro": [ - "In this lesson, you'll learn how to debug CSS using your browser's developer tools and CSS validators." - ] - }, - "lab-product-landing-page": { - "title": "Build a Product Landing Page", - "intro": [ - "In this project, you'll build a product landing page to market a product of your choice." - ] - }, - "review-css-grid": { - "title": "CSS Grid Review", - "intro": [ - "Before you're quizzed on the fundamentals of CSS Grid, you should review what you've learned.", - "Open up this page to review how to work with the different CSS Grid properties like grid-template-columns, grid-gap and more." - ] - }, - "quiz-css-grid": { - "title": "CSS Grid Quiz", - "intro": ["Test your knowledge of CSS Grid with this quiz."] - }, - "lecture-animations-and-accessibility": { - "title": "Animations and Accessibility", - "intro": [ - "In these lessons, you will learn about CSS animations and their accessibility concerns. You will also learn how prefers-reduced-motion can help address those accessibility concerns." - ] - }, - "workshop-ferris-wheel": { - "title": "Build an Animated Ferris Wheel", - "intro": [ - "You can use CSS animation to draw attention to specific sections of your webpage and make it more engaging.", - "In this workshop, you'll build a Ferris wheel. You'll practice how to use CSS to animate elements, transform them, and adjust their speed." - ] - }, - "lab-moon-orbit": { - "title": "Build a Moon Orbit", - "intro": [ - "In this lab, you'll create an animation of the moon orbiting the earth.", - "You'll practice animation properties like animation-name, animation-duration, animation-timing-function, and more." - ] - }, - "workshop-flappy-penguin": { - "title": "Build a Flappy Penguin", - "intro": [ - "You can transform HTML elements to create appealing designs that draw your reader's eye. You can use transforms to rotate elements, scale them, and more.", - "In this workshop, you'll build a penguin. You'll use CSS transforms to position and resize the parts of your penguin, create a background, and animate your work." - ] - }, - "lab-personal-portfolio": { - "title": "Build a Personal Portfolio", - "intro": [ - "In this project, you'll build your own personal portfolio page." - ] - }, - "review-css-animations": { - "title": "CSS Animations Review", - "intro": [ - "Before you're quizzed on working with CSS animations, you should review what you've learned about them.", - "Open up this page to review concepts including prefers-reduced-motion, the @keyframes rule and more." - ] - }, - "quiz-css-animations": { - "title": "CSS Animations Quiz", - "intro": ["Test your knowledge of CSS animations with this quiz."] - }, - "review-css": { - "title": "CSS Review", - "intro": [ - "Before you take the CSS prep exam, you first need to review the concepts taught in the previous modules.", - "Open up this page to review concepts around the basics of CSS, responsive web design, animations, accessibility and more." - ] - }, - "lecture-working-with-code-editors-and-ides": { - "title": "Working with Code Editors and IDEs", - "intro": [ - "In these lessons, you will learn how to work with code editors and IDEs. You will learn various concepts about the most popular code editor, VS Code such as its installation, how to create a project in it, keyboard shortcuts, and extensions." - ] - }, - "lecture-introduction-to-javascript": { - "title": "Introduction to JavaScript", - "intro": [ - "In these lessons, you will learn the fundamentals of JavaScript. Topics covered include, but are not limited to, variables, data types, how JavaScript interacts with HTML and CSS, and much more." - ] - }, - "lecture-introduction-to-strings": { - "title": "Introduction to Strings", - "intro": [ - "In these lessons, you will learn how to work with strings and string concatenation." - ] - }, - "lecture-understanding-code-clarity": { - "title": "Understanding Code Clarity", - "intro": [ - "In these lessons, you will learn about comments in JavaScript and the role of semicolons in programming." - ] - }, - "workshop-greeting-bot": { - "title": "Build a Greeting Bot", - "intro": [ - "In this workshop, you will learn JavaScript fundamentals by building a greeting bot.", - "You will learn about variables, let, const, console.log and basic string usage." - ] - }, - "lab-javascript-trivia-bot": { - "title": "Build a JavaScript Trivia Bot", - "intro": [ - "In this lab, you'll practice working with JavaScript variables and strings by building a trivia bot." - ] - }, - "lab-sentence-maker": { - "title": "Build a Sentence Maker", - "intro": [ - "In this lab, you will continue practicing with strings and concatenation by creating and customizing various stories." - ] - }, - "lecture-working-with-data-types": { - "title": "Working with Data Types", - "intro": [ - "In the following lessons, you will learn how to work with data types in JavaScript. You will also learn how dynamic typing differs from static typing, the typeof operator, and the typeof null bug." - ] - }, - "review-javascript-variables-and-data-types": { - "title": "JavaScript Variables and Data Types Review", - "intro": [ - "Before you are quizzed on JavaScript variables and data types you first need to review the concepts.", - "Open up this page to review variables, data types, logging and commenting." - ] - }, - "quiz-javascript-variables-and-data-types": { - "title": "JavaScript Variables and Data Types Quiz", - "intro": [ - "Test your knowledge of JavaScript variables and data types with this quiz." - ] - }, - "lecture-working-with-strings-in-javascript": { - "title": "Working with Strings in JavaScript", - "intro": [ - "In these lessons, you will learn how to work with strings in JavaScript. You will learn how to access characters from a string, how to use template literals and interpolation, how to create a new line in strings, and much more." - ] - }, - "workshop-teacher-chatbot": { - "title": "Build a Teacher Chatbot", - "intro": [ - "In this workshop, you will continue to learn more about JavaScript strings by building a chatbot.", - "You will learn how to work with template literals, and the indexOf method." - ] - }, - "lecture-working-with-string-character-methods": { - "title": "Working with String Character Methods", - "intro": [ - "In this lesson you will learn about ASCII character encoding and how to use JavaScript's charCodeAt() and fromCharCode() methods to convert between characters and their numerical ASCII values." - ] - }, - "lecture-working-with-string-search-and-slice-methods": { - "title": "Working with String Search and Slice Methods", - "intro": [ - "In this lesson you will learn how to search for substrings using the includes() method and how to extract portions of strings using the slice() method." - ] - }, - "workshop-string-inspector": { - "title": "Build a String Inspector", - "intro": [ - "In this workshop, you will practice working with the includes() and slice() methods by building a string inspector." - ] - }, - "lecture-working-with-string-formatting-methods": { - "title": "Working with String Formatting Methods", - "intro": [ - "In this lesson you will learn how to format strings by changing their case using toUpperCase() and toLowerCase() methods, and how to remove whitespace using trim(), trimStart(), and trimEnd() methods." - ] - }, - "workshop-string-formatter": { - "title": "Build a String Formatter", - "intro": [ - "In this workshop, you will practice working with various string methods including the trim(), toUpperCase() and toLowerCase() methods." - ] - }, - "lecture-working-with-string-modification-methods": { - "title": "Working with String Modification Methods", - "intro": [ - "In this lesson you will learn how to modify strings by replacing parts of them using the replace() method and how to repeat strings multiple times using the repeat() method." - ] - }, - "workshop-string-transformer": { - "title": "Build a String Transformer", - "intro": [ - "In this workshop, you will practice working with the replace(), replaceAll() and repeat() methods." - ] - }, - "review-javascript-strings": { - "title": "JavaScript Strings Review", - "intro": [ - "Before you are quizzed on working with JavaScript strings, you first need to review.", - "Open up this page to review how to work with template literals, the slice method, the includes method, the trim method and more." - ] - }, - "quiz-javascript-strings": { - "title": "JavaScript Strings Quiz", - "intro": ["Test your knowledge of JavaScript strings with this quiz."] - }, - "lecture-working-with-numbers-and-arithmetic-operators": { - "title": "Working with Numbers and Arithmetic Operators", - "intro": [ - "In these lessons you will learn about the number type, arithmetic operators, and using them with numbers and strings." - ] - }, - "lab-debug-type-coercion-errors": { - "title": "Debug Type Coercion Errors in a Buggy App", - "intro": [ - "In this lab, you will be working with a buggy app that contains several type coercion errors.", - "Your task is to identify and fix these errors to ensure the application functions correctly." - ] - }, - "lecture-working-with-operator-behavior": { - "title": "Working with Operator Behavior", - "intro": [ - "In these lessons you will learn about operator precedence, the increment and decrement operators, and compound assignment operators." - ] - }, - "lab-debug-increment-and-decrement-operator-errors": { - "title": "Debug Increment and Decrement Operator Errors in a Buggy App", - "intro": [ - "In this lab, you'll debug an application that has several errors related to the increment and decrement operators.", - "Your task is to identify and fix the errors so that the application works as intended." - ] - }, - "lecture-working-with-comparison-and-boolean-operators": { - "title": "Working with Comparison and Boolean Operators", - "intro": [ - "In these lessons you will learn about booleans, and equality and inequality operators, and other comparison operators." - ] - }, - "lecture-working-with-unary-and-bitwise-operators": { - "title": "Working with Unary and Bitwise Operators", - "intro": [ - "In these lessons you will learn about unary and bitwise operators." - ] - }, - "lecture-working-with-conditional-logic-and-math-methods": { - "title": "Working with Conditional Logic and Math Methods", - "intro": [ - "In these lessons you will learn about conditional statements, binary logical operators, and the Math object." - ] - }, - "workshop-mathbot": { - "title": "Build a Mathbot", - "intro": [ - "In this workshop, you will review how to work with the different Math object methods by building a Mathbot." - ] - }, - "lab-fortune-teller": { - "title": "Build a Fortune Teller", - "intro": [ - "In this lab, you'll build a fortune teller by randomly selecting a fortune from the available fortunes.", - "You'll practice how to work with the 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 lessons, you will learn about numbers and common number methods. These include isNaN(), parseInt(), parseFloat(), and toFixed()." - ] - }, - "review-javascript-math": { - "title": "JavaScript Math Review", - "intro": [ - "Before you're quizzed on working with the Math object, you should review what you've learned.", - "Open up this page to review how to work with the Math.random() method, the Math.floor() method and more." - ] - }, - "quiz-javascript-math": { - "title": "JavaScript Math Quiz", - "intro": [ - "Test your knowledge of the JavaScript Math object with this quiz." - ] - }, - "lecture-understanding-comparisons-and-conditionals": { - "title": "Understanding Comparisons and Conditionals", - "intro": [ - "In these lessons, you will learn about comparison operators and conditionals. You will learn how the various conditionals differ from one another, and how comparisons work with null and undefined." - ] - }, - "review-javascript-comparisons-and-conditionals": { - "title": "JavaScript Comparisons and Conditionals Review", - "intro": [ - "Before you're quizzed on working with conditionals, you should review what you've learned about them.", - "Open up this page to review how to work with switch statements, other types of conditionals and more." - ] - }, - "quiz-javascript-comparisons-and-conditionals": { - "title": "JavaScript Comparisons and Conditionals Quiz", - "intro": [ - "Test your knowledge of JavaScript Comparisons and Conditionals with this quiz." - ] - }, - "lecture-working-with-functions": { - "title": "Working with Functions", - "intro": [ - "In these lessons, you will learn how to reuse a block of code with functions. You will learn what the purpose of a function is and how they work, and how scope works in programming. " - ] - }, - "workshop-calculator": { - "title": "Build a Calculator", - "intro": [ - "In this workshop, you will review your knowledge of functions by building a calculator." - ] - }, - "lab-boolean-check": { - "title": "Build a Boolean Check Function", - "intro": [ - "In this lab, you'll implement a function that checks if a value is a boolean." - ] - }, - "lab-email-masker": { - "title": "Build an Email Masker", - "intro": [ - "In this lab, you'll build an email masker that will take an email address and obscure it.", - "You'll practice string slicing, concatenation, and using functions." - ] - }, - "workshop-loan-qualification-checker": { - "title": "Build a Loan Qualification Checker", - "intro": [ - "In this workshop, you will continue to learn how to work with conditionals by building a loan qualification checker app.", - "You will learn more about if statements, and how to use comparison operators and multiple conditions in an if statement." - ] - }, - "lab-celsius-to-fahrenheit-converter": { - "title": "Build a Celsius to Fahrenheit Converter", - "intro": [ - "In this lab you will implement a function that converts the temperature from Celsius to Fahrenheit." - ] - }, - "lab-counting-cards": { - "title": "Build a Card Counting Assistant", - "intro": ["In this lab you will use JavaScript to count dealt cards."] - }, - "lab-leap-year-calculator": { - "title": "Build a Leap Year Calculator ", - "intro": [ - "In this lab you'll use conditional statements and loops to determine if a year is a leap year." - ] - }, - "lab-truncate-string": { - "title": "Implement the Truncate String Algorithm", - "intro": [ - "In this lab, you will practice truncating a string at a certain length." - ] - }, - "lab-string-ending-checker": { - "title": "Build a Confirm the Ending Tool", - "intro": [ - "In this lab, you will implement a function that checks if a given string ends with a specified target string." - ] - }, - "review-javascript-functions": { - "title": "JavaScript Functions Review", - "intro": [ - "Before you're quizzed on JavaScript functions, you should review what you've learned about them.", - "Open up this page to review functions, arrow functions and scope." - ] - }, - "quiz-javascript-functions": { - "title": "JavaScript Functions Quiz", - "intro": ["Test your knowledge of JavaScript functions with this quiz."] - }, - "lecture-working-with-arrays": { - "title": "Working with Arrays", - "intro": [ - "In these lessons, you will learn how to work with JavaScript arrays. You will learn about what makes an array, one-dimensional and two-dimensional arrays, how to access and update the elements in an array, and much more." - ] - }, - "workshop-shopping-list": { - "title": "Build a Shopping List", - "intro": [ - "In this workshop, you will practice how to work with arrays by building a shopping list.", - "You will review how to add and remove elements from an array using methods like push, pop, shift, and unshift." - ] - }, - "lab-lunch-picker-program": { - "title": "Build a Lunch Picker Program", - "intro": [ - "In this lab, you'll review working with arrays and random numbers by building a lunch picker program." - ] - }, - "lab-golf-score-translator": { - "title": "Build a Golf Score Translator", - "intro": [ - "For this lab, you will use array methods to translate golf scores into their nickname." - ] - }, - "lab-reverse-a-string": { - "title": "Build a String Inverter", - "intro": [ - "In this lab, you create a function that reverses a given string." - ] - }, - "lecture-working-with-common-array-methods": { - "title": "Working with Common Array Methods", - "intro": [ - "In these lessons, you will learn about the array methods for performing more advanced operations like getting the position of an item in an array, checking if an array contains a certain element, copying an array, and lots more." - ] - }, - "review-javascript-arrays": { - "title": "JavaScript Arrays Review", - "intro": [ - "Before you're quizzed on JavaScript arrays, you should review what you've learned about them.", - "Open up this page to review concepts like array destructuring, how to add and remove elements from an array, and more." - ] - }, - "quiz-javascript-arrays": { - "title": "JavaScript Arrays Quiz", - "intro": ["Test your knowledge of JavaScript arrays with this quiz."] - }, - "lecture-introduction-to-javascript-objects-and-their-properties": { - "title": "Introduction to JavaScript Objects and Their Properties", - "intro": [ - "In these lessons, you will learn the fundamentals of JavaScript objects, including how to create them, access their properties, and understand the difference between primitive and non-primitive data types." - ] - }, - "lecture-working-with-optional-chaining-and-object-destructuring": { - "title": "Working with Optional Chaining and Object Destructuring", - "intro": [ - "In these lessons, you will learn about advanced object manipulation techniques in JavaScript, including the optional chaining operator and object destructuring syntax." - ] - }, - "lecture-working-with-json": { - "title": "Working with JSON", - "intro": [ - "In these lessons, you will learn about JavaScript Object Notation (JSON), including how to access JSON data and use the JSON.parse() and JSON.stringify() methods." - ] - }, - "workshop-recipe-tracker": { - "title": "Build a Recipe Tracker", - "intro": [ - "In this workshop, you will review working with JavaScript objects by building a recipe tracker." - ] - }, - "lab-quiz-game": { - "title": "Build a Quiz Game", - "intro": [ - "In this lab, you'll build a quiz game using JavaScript arrays and objects.", - "You'll also practice using functions to randomly select a question and an answer from an array and compare them." - ] - }, - "lab-record-collection": { - "title": "Build a Record Collection", - "intro": [ - "In this lab you will build a function to manage a record collection." - ] - }, - "review-javascript-objects": { - "title": "JavaScript Objects Review", - "intro": [ - "Before you're quizzed on JavaScript objects, you should review what you've learned about them.", - "Open up this page to review concepts including how to access information from objects, object destructuring, working with JSON, and more." - ] - }, - "quiz-javascript-objects": { - "title": "JavaScript Objects Quiz", - "intro": ["Test your knowledge of JavaScript objects with this quiz."] - }, - "lecture-working-with-loops": { - "title": "Working with Loops", - "intro": [ - "Loops are an essential part of JavaScript. That's why the following lessons have been prepared for you to learn about the different types of loops and how they work, and also how iteration works." - ] - }, - "workshop-sentence-analyzer": { - "title": "Build a Sentence Analyzer", - "intro": [ - "In this workshop, you'll review how to work with JavaScript loops by building a sentence analyzer app." - ] - }, - "lab-longest-word-in-a-string": { - "title": "Build a Longest Word Finder App", - "intro": [ - "In this lab, you will use JavaScript loops to find the length of the longest word in the given sentence." - ] - }, - "lab-factorial-calculator": { - "title": "Build a Factorial Calculator ", - "intro": [ - "In this lab, you'll build a factorial calculator.", - "You'll practice using loops and conditionals to calculate the factorial of a number." - ] - }, - "lab-mutations": { - "title": "Implement the Mutations Algorithm", - "intro": [ - "In this lab, you will practice iterating over two different strings to compare their characters." - ] - }, - "lab-chunky-monkey": { - "title": "Implement the Chunky Monkey Algorithm", - "intro": [ - "In this lab, you will practice dividing an array into smaller arrays with the technique of your choice." - ] - }, - "lab-profile-lookup": { - "title": "Build a Profile Lookup", - "intro": [ - "In this lab, you'll create a function that looks up profile information." - ] - }, - "lab-repeat-a-string": { - "title": "Build a String Repeating Function", - "intro": [ - "In this lab, you will implement loops to repeat a string a specified number of times." - ] - }, - "lab-missing-letter-detector": { - "title": "Build a Missing Letter Detector", - "intro": [ - "In this lab, you will build a function that finds the missing letter in a given range of consecutive letters and returns it." - ] - }, - "review-javascript-loops": { - "title": "JavaScript Loops Review", - "intro": [ - "Before you're quizzed on the different JavaScript loops, you should review them.", - "Open up this page to review the for...of loop, while loop, break and continue statements and more." - ] - }, - "quiz-javascript-loops": { - "title": "JavaScript Loops Quiz", - "intro": ["Test your knowledge of JavaScript loops with this quiz."] - }, - "lecture-working-with-types-and-objects": { - "title": "Working with Types and Objects", - "intro": [ - "In these lessons you will learn about string objects, the toString() method, the Number constructor and more." - ] - }, - "lecture-working-with-arrays-variables-and-naming-practices": { - "title": "Working with Arrays, Variables, and Naming Practices", - "intro": [ - "In these lessons you will learn about common practices for naming variables and functions, and how to work with arrays." - ] - }, - "lecture-working-with-code-quality-and-execution-concepts": { - "title": "Working with Code Quality and Execution Concepts", - "intro": [ - "In these lessons you will learn what are linters and formatters, what is memory management, and closures." - ] - }, - "lab-largest-number-finder": { - "title": "Build the Largest Number Finder", - "intro": [ - "In this lab, you will use JavaScript fundamentals to create a function that finds the largest number in each sub-array of a given array." - ] - }, - "lab-first-element-finder": { - "title": "Build a First Element Finder", - "intro": [ - "In this lab, you will create a function that looks through an array and returns the first element in it that passes a \"truth test\"." - ] - }, - "lab-slice-and-splice": { - "title": "Implement the Slice and Splice Algorithm", - "intro": [ - "In this lab, you will practice merging an array with another." - ] - }, - "lab-pyramid-generator": { - "title": "Build a Pyramid Generator", - "intro": [ - "In this lab you'll build a pyramid generator.", - "You'll take a number as input and generate a pyramid with that many levels using a loop." - ] - }, - "lab-gradebook-app": { - "title": "Build a Gradebook App", - "intro": [ - "For this lab, you'll create a gradebook app.", - "You'll practice conditionals to determine the student's grade based on their score." - ] - }, - "lecture-the-var-keyword-and-hoisting": { - "title": "The var Keyword and Hoisting", - "intro": [ - "In these lessons, you will learn about the 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-title-case-converter": { - "title": "Build a Title Case Converter", - "intro": [ - "In this lab, you will build a function that converts a string to title case." - ] - }, - "lab-falsy-remover": { - "title": "Implement a Falsy Remover", - "intro": [ - "In this lab, you will create a function that removes all falsy values from an array." - ] - }, - "lab-inventory-management-program": { - "title": "Build an Inventory Management Program", - "intro": [ - "For this lab, you'll build an inventory management program using JavaScript.", - "You'll use JavaScript array of objects to manage the inventory." - ] - }, - "lecture-understanding-modules-imports-and-exports": { - "title": "Understanding Modules, Imports, and Exports", - "intro": [ - "In this lesson, you will learn about modules, imports, and exports in JavaScript." - ] - }, - "lecture-working-with-the-arguments-object-and-rest-parameters": { - "title": "Working with the arguments Object and Rest Parameters", - "intro": [ - "In these lessons, you will learn how to work with the arguments object and rest parameter syntax." - ] - }, - "lab-unique-sorted-union": { - "title": "Implement a Unique Sorted Union", - "intro": [ - "In this lab, you will create a function that takes two or more arrays and returns a new array of unique values in the order of the original provided arrays." - ] - }, - "lab-password-generator": { - "title": "Build a Password Generator App", - "intro": [ - "In this lab, you'll build a password generator app based on the user's input." - ] - }, - "lab-sum-all-numbers-algorithm": { - "title": "Design a Sum All Numbers Algorithm", - "intro": [ - "In this lab, you will design a sum all numbers algorithm. This algorithm takes an array of two numbers and returns the sum of those two numbers plus the sum of all the numbers between them." - ] - }, - "lab-dna-pair-generator": { - "title": "Implement a DNA Pair Generator", - "intro": [ - "In this lab you will implement a DNA base pairing algorithm that converts a single DNA strand into complementary base pairs." - ] - }, - "lab-html-entitiy-converter": { - "title": "Implement an HTML Entity Converter", - "intro": [ - "In this lab, you will convert special characters in a string to their corresponding HTML entities." - ] - }, - "lab-odd-fibonacci-sum-calculator": { - "title": "Build an Odd Fibonacci Sum Calculator", - "intro": [ - "In this lab you will build an odd Fibonacci sum calculator that takes a number and returns the sum of all odd Fibonacci numbers that are less than or equal to that number." - ] - }, - "lab-element-skipper": { - "title": "Implement an Element Skipper", - "intro": [ - "In this lab you will create a function that skips elements in an array based on a specified step value." - ] - }, - "lab-optional-arguments-sum-function": { - "title": "Build an Optional Arguments Sum Function", - "intro": [ - "In this lab you will build a function that accepts up to two arguments, and sum them, but if there is only one argument returns a function that waits for the second number to sum." - ] - }, - "review-javascript-fundamentals": { - "title": "JavaScript Fundamentals Review", - "intro": [ - "Before you are quizzed on JavaScript fundamentals, you first need to review the concepts.", - "Open up this page to review concepts like closures, memory management, and more." - ] - }, - "quiz-javascript-fundamentals": { - "title": "JavaScript Fundamentals Quiz", - "intro": [ - "Test your knowledge of JavaScript fundamentals with this quiz." - ] - }, - "lecture-working-with-higher-order-functions-and-callbacks": { - "title": "Working with Higher Order Functions and Callbacks", - "intro": [ - "In these lessons, you will learn how to work with higher order functions and callbacks. The higher order functions you will learn include 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": { - "title": "Build a Library Manager", - "intro": [ - "In this workshop, you will learn higher order array methods by building a library manager." - ] - }, - "lab-book-organizer": { - "title": "Build a Book Organizer", - "intro": [ - "In this lab, you'll build a book organizer using higher order functions in JavaScript." - ] - }, - "lab-sorted-index-finder": { - "title": "Implement a Sorted Index Finder", - "intro": [ - "In this lab, you will create a function that finds the index at which a given number should be inserted into a sorted array to maintain the array's sorted order." - ] - }, - "lab-symmetric-difference": { - "title": "Build a Symmetric Difference Function", - "intro": [ - "In this lab, you will practice using higher order functions to find the symmetric difference between two arrays." - ] - }, - "lab-value-remover-function": { - "title": "Implement a Value Remover Function", - "intro": [ - "In this lab, you will create a function that removes all instances of a specified value from an array." - ] - }, - "lab-matching-object-filter": { - "title": "Implement a Matching Object Filter", - "intro": [ - "In this lab, you will create a function that looks through an array of objects and returns an array of all objects that have matching property and value pairs." - ] - }, - "lab-prime-number-sum-calculator": { - "title": "Build a Prime Number Sum Calculator", - "intro": [ - "In this lab you will build a prime number sum calculator that takes a number and returns the sum of all prime numbers that are less than or equal to that number." - ] - }, - "lab-range-based-lcm-calculator": { - "title": "Implement a Range-Based LCM Calculator", - "intro": [ - "In this lab, you will create a function that takes an array of two numbers and returns the least common multiple (LCM) of those two numbers and all the numbers between them." - ] - }, - "lab-deep-flattening-tool": { - "title": "Create a Deep Flattening Tool", - "intro": [ - "In this lab you will create a function that can flatten deeply nested arrays, handling any level of nesting without using built-in flat methods." - ] - }, - "lab-all-true-property-validator": { - "title": "Build an All-True Property Validator", - "intro": [ - "In this lab you will build a function that checks if all objects in an array have a truthy value for a specific property." - ] - }, - "review-javascript-higher-order-functions": { - "title": "JavaScript Higher Order Functions Review", - "intro": [ - "Before you're quizzed on JavaScript higher order functions, you should review them.", - "Open up this page to review concepts including how to work with the map(), filter(), and reduce() methods." - ] - }, - "quiz-javascript-higher-order-functions": { - "title": "JavaScript Higher Order Functions Quiz", - "intro": [ - "Test your knowledge of JavaScript higher order functions with this quiz." - ] - }, - "lecture-working-with-the-dom-click-events-and-web-apis": { - "title": "Working with the DOM, Click Events, and Web APIs", - "intro": [ - "In these lessons, you will learn how to work with the Document Object Model (DOM), the addEventListener() method and events, and web APIs." - ] - }, - "workshop-storytelling-app": { - "title": "Build a Storytelling App", - "intro": [ - "In this workshop, you will build a storytelling app that will allow you to list different stories based on genre." - ] - }, - "workshop-emoji-reactor": { - "title": "Build an Emoji Reactor", - "intro": [ - "In this workshop, you will build an emoji reactor to practice querySelector and querySelectorAll." - ] - }, - "lab-favorite-icon-toggler": { - "title": "Build a Favorite Icon Toggler", - "intro": [ - "In this lab, you'll build a favorite icon toggler by utilizing JavaScript click events." - ] - }, - "lecture-understanding-the-event-object-and-event-delegation": { - "title": "Understanding the Event Object and Event Delegation", - "intro": [ - "In these lessons, you will learn about the event object, the change event, event bubbling, and event delegation." - ] - }, - "workshop-music-instrument-filter": { - "title": "Build a Music Instrument Filter", - "intro": [ - "In this workshop, you will build a music instrument filter with JavaScript." - ] - }, - "lab-real-time-counter": { - "title": "Build a Real Time Counter", - "intro": [ - "In this lab, you'll build a real-time character counter", - "You'll practice how to work with the input event when the user types in the input field." - ] - }, - "lab-lightbox-viewer": { - "title": "Build a Lightbox Viewer", - "intro": [ - "In this lab, you'll build a lightbox viewer for viewing images in a focused mode.", - "You'll practice click events and toggling classes." - ] - }, - "workshop-rps-game": { - "title": "Build a Rock, Paper, Scissors Game", - "intro": [ - "In this workshop, you will review DOM manipulation and events by building a Rock, Paper, Scissors Game." - ] - }, - "lab-football-team-cards": { - "title": "Build a Set of Football Team Cards", - "intro": [ - "In this lab, you'll use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards." - ] - }, - "review-dom-manipulation-and-click-events-with-javascript": { - "title": "DOM Manipulation and Click Events with JavaScript Review", - "intro": [ - "Before you're quizzed on the DOM, you should review what you've learned about it.", - "Open up this page to review concepts including how to work with the DOM, Web APIs, the addEventListener() method, change events, event bubbling and more." - ] - }, - "quiz-dom-manipulation-and-click-event-with-javascript": { - "title": "DOM Manipulation and Click Events with JavaScript Quiz", - "intro": [ - "Test your knowledge of DOM manipulation and click events in JavaScript with this quiz." - ] - }, - "lecture-understanding-aria-expanded-aria-live-and-common-aria-states": { - "title": "Understanding aria-expanded, aria-live, and Common ARIA States", - "intro": [ - "In these lessons you will learn more about ARIA attributes like aria-expanded, aria-live, and common ARIA states." - ] - }, - "workshop-planets-tablist": { - "title": "Build a Planets Tablist", - "intro": [ - "In this workshop, you will build a dynamic tabbed interface that showcases facts about the planets in the solar system." - ] - }, - "workshop-note-taking-app": { - "title": "Build a Note Taking App", - "intro": [ - "In this workshop, you are going to build an accessible note taking app.", - "This will provide you with the opportunity to practice working with aria-live attribute." - ] - }, - "lab-theme-switcher": { - "title": "Build a Theme Switcher", - "intro": [ - "In this lab, you will build a theme switcher and practice working with the aria-haspopup, aria-expanded, and aria-controls attributes." - ] - }, - "review-js-a11y": { - "title": "JavaScript and Accessibility Review", - "intro": [ - "Before you're quizzed on JavaScript and accessibility, you should review what you've learned about it.", - "Open up this page to review concepts including how to work with the aria-expanded, aria-live, and aria-controls attributes." - ] - }, - "quiz-js-a11y": { - "title": "JavaScript and Accessibility Quiz", - "intro": [ - "Test your knowledge of JavaScript and accessibility best practices with this quiz." - ] - }, - "lecture-debugging-techniques": { - "title": "Debugging Techniques", - "intro": [ - "In these lessons, you will learn about the common errors in JavaScript and the techniques you can use to fix them – a process called debugging." - ] - }, - "lab-random-background-color-changer": { - "title": "Debug a Random Background Color Changer", - "intro": [ - "In this lab, you'll debug a random background color changer and fix the errors to make it work properly." - ] - }, - "review-debugging-javascript": { - "title": "Debugging JavaScript Review", - "intro": [ - "Before you're quizzed on common debugging techniques, you should review what you've learned.", - "Open up this page to review concepts including how to work with the throw statement, try...catch...finally and more." - ] - }, - "quiz-debugging-javascript": { - "title": "Debugging JavaScript Quiz", - "intro": ["Test your knowledge of JavaScript debugging with this quiz."] - }, - "lecture-working-with-regular-expressions": { - "title": "Working with Regular Expressions", - "intro": [ - "In these lessons, you will learn about regular expressions in JavaScript. You will learn about the methods for working with regular expressions, modifiers, character classes, lookaheads, lookbehinds, back-references, quantifiers, and more." - ] - }, - "workshop-spam-filter": { - "title": "Build a Spam Filter", - "intro": [ - "Regular expressions, often shortened to \"regex\" or \"regexp\", are patterns that help programmers match, search, and replace text. Regular expressions are powerful, but can be difficult to understand because they use so many special characters.", - "In this workshop, you'll use capture groups, positive lookaheads, negative lookaheads, and other techniques to match any text you want." - ] - }, - "lab-palindrome-checker": { - "title": "Build a Palindrome Checker", - "intro": [ - "For this lab, you'll build an application that checks whether a given word is a palindrome." - ] - }, - "lab-markdown-to-html-converter": { - "title": "Build a Markdown to HTML Converter", - "intro": [ - "For this lab, you'll build a Markdown to HTML converter using JavaScript.", - "You'll practice regular expressions, string manipulation, and more." - ] - }, - "lab-regex-sandbox": { - "title": "Build a RegEx Sandbox", - "intro": ["In this lab you'll build a regex sandbox."] - }, - "lab-spinal-case-converter": { - "title": "Implement a Spinal Case Converter", - "intro": [ - "In this lab, you will create a function that converts a given string to spinal case which is a style of writing where all letters are lowercase and separated by hyphens." - ] - }, - "lab-pig-latin": { - "title": "Implement a Pig Latin Translator", - "intro": [ - "In this lab, you'll implement a Pig Latin translator using JavaScript.", - "You'll practice string manipulation, conditional logic, and regular expressions." - ] - }, - "lab-smart-word-replacement": { - "title": "Build a Smart Word Replacement Function", - "intro": [ - "In this lab, you will use regex to create a function that performs a search and replace operation on a given string." - ] - }, - "review-javascript-regular-expressions": { - "title": "JavaScript Regular Expressions Review", - "intro": [ - "Before you're quizzed on Regular Expressions, you should review what you've learned.", - "Open up this page to review concepts like lookaheads, lookbehinds, common regex modifiers and more." - ] - }, - "quiz-javascript-regular-expressions": { - "title": "JavaScript Regular Expressions Quiz", - "intro": [ - "Test your knowledge of JavaScript Regular Expressions with this quiz." - ] - }, - "lecture-understanding-form-validation": { - "title": "Understanding Form Validation", - "intro": [ - "In these lessons, you will learn about form validation in JavaScript. You will learn about the various ways to validate forms, how the preventDefault() method works, and how the submit event works." - ] - }, - "workshop-calorie-counter": { - "title": "Build a Calorie Counter", - "intro": [ - "Sometimes when you're coding a web application, you'll need to be able to accept input from a user. In this calorie counter workshop, you'll practice how to validate user input, perform calculations based on that input, and dynamically update your interface to display the results.", - "You'll also practice basic regular expressions, template literals, the addEventListener() method, and more." - ] - }, - "lab-customer-complaint-form": { - "title": "Build a Customer Complaint Form", - "intro": [ - "For this lab, you'll use JavaScript to validate a customer complaint form.", - "You'll practice how to validate form inputs, display error messages, and prevent the form from submitting if there are errors." - ] - }, - "review-form-validation-with-javascript": { - "title": "Form Validation with JavaScript Review", - "intro": [ - "Before you're quizzed on form validation, you should review what you've learned.", - "Open up this page to review concepts including the preventDefault() method, the submit event and more." - ] - }, - "quiz-form-validation-with-javascript": { - "title": "Form Validation with JavaScript Quiz", - "intro": [ - "Test what you've learned about JavaScript form validation with this quiz." - ] - }, - "lecture-working-with-dates": { - "title": "Working with Dates", - "intro": [ - "In these lessons, you will learn about the JavaScript date object. You will learn about the methods for working with dates and how to format dates." - ] - }, - "lab-date-conversion": { - "title": "Build a Date Conversion Program", - "intro": [ - "In this lab, you'll build a program to convert a date from one format to another." - ] - }, - "review-javascript-dates": { - "title": "JavaScript Dates Review", - "intro": [ - "Before you're quizzed on working with dates, you should review what you've learned.", - "Open up this page to review the Date() object and common methods." - ] - }, - "quiz-javascript-dates": { - "title": "JavaScript Dates Quiz", - "intro": [ - "Test what you've learned about JavaScript Dates with this quiz." - ] - }, - "lecture-working-with-audio-and-video": { - "title": "Working with Audio and Video", - "intro": [ - "In these lessons, you will learn how to work with audio and video files using JavaScript. You will learn about the Audio and Video constructors, their methods and properties, audio and video formats, codecs, the HTMLMediaElement API, and much more." - ] - }, - "workshop-music-player": { - "title": "Build a Music Player", - "intro": [ - "In this workshop, you'll code a basic MP3 player using HTML, CSS, and JavaScript.", - "The project covers fundamental concepts such as handling audio playback, managing a playlist, implementing play, pause, next, and previous functionalities and dynamically update your user interface based on the current song." - ] - }, - "lab-drum-machine": { - "title": "Build a Drum Machine", - "intro": [ - "For this lab you will use the audio element to build a drum machine." - ] - }, - "review-javascript-audio-and-video": { - "title": "JavaScript Audio and Video Review", - "intro": [ - "Before you're quizzed on working with audio and video in JavaScript, you should review what you've learned about them.", - "Open up this page to review concepts including the Audio constructor, the HTMLMediaElement API and more." - ] - }, - "quiz-javascript-audio-and-video": { - "title": "JavaScript Audio and Video Quiz", - "intro": [ - "Test what you've learned about JavaScript audio and video with this quiz." - ] - }, - "lecture-working-with-maps-and-sets": { - "title": "Working with Maps and Sets", - "intro": [ - "In these lessons, you will learn about JavaScript Map and Set. You will also learn how they both differ from WeakSets and WeakMaps." - ] - }, - "workshop-plant-nursery-catalog": { - "title": "Build a Plant Nursery Catalog", - "intro": [ - "In this workshop, you will practice using Maps and Sets by building a plant nursery catalog." - ] - }, - "lab-voting-system": { - "title": "Build a Voting System", - "intro": [ - "In this lab, you'll build a voting system using Maps and Sets.", - "You'll practice how to use the Map object to store key-value pairs and the Set object to store unique values." - ] - }, - "review-javascript-maps-and-sets": { - "title": "JavaScript Maps and Sets Review", - "intro": [ - "Before you're quizzed on JavaScript Maps and Sets, you should review what you've learned about them.", - "Open up this page to review concepts such as the Map and Set objects, as well as WeakSet and WeakMap." - ] - }, - "quiz-javascript-maps-and-sets": { - "title": "JavaScript Maps and Sets Quiz", - "intro": [ - "Test what you've learned about JavaScript Maps and Sets with this quiz." - ] - }, - "lecture-working-with-client-side-storage-and-crud-operations": { - "title": "Working with Client-Side Storage and CRUD Operations", - "intro": [ - "In these lessons, you will learn about client-side storage and CRUD operations in JavaScript. You will learn about localStorage and sessionStorage alongside their methods and properties, cookies, the Cache API, IndexDB, and much more." - ] - }, - "workshop-todo-app": { - "title": "Build a Todo App using Local Storage", - "intro": [ - "Local storage is a web browser feature that lets web applications store key-value pairs persistently within a user's browser. This allows web apps to save data during one session, then retrieve it in a later page session.", - "In this workshop, you'll learn how to handle form inputs, manage local storage, perform CRUD (Create, Read, Update, Delete) operations on tasks, implement event listeners, and toggle UI elements." - ] - }, - "lab-bookmark-manager-app": { - "title": "Build a Bookmark Manager App", - "intro": [ - "For this lab, you'll build a bookmark manager app.", - "You'll utilize local storage to store bookmarks, and practice how to add, remove, and display bookmarks." - ] - }, - "review-local-storage-and-crud": { - "title": "Local Storage and CRUD Review", - "intro": [ - "Before you are quizzed on working with localStorage, you first need to review the concepts.", - "Open up this page to review the localStorage property, sessionStorage property and more." - ] - }, - "quiz-local-storage-and-crud": { - "title": "Local Storage and CRUD Quiz", - "intro": [ - "Test what you've learned about local storage and CRUD with this quiz." - ] - }, - "lecture-understanding-how-to-work-with-classes-in-javascript": { - "title": "Understanding How to Work with Classes in JavaScript", - "intro": [ - "In these lessons, you will learn about classes in JavaScript. You will learn about inheritance, the this keyword, static properties and methods, and more." - ] - }, - "workshop-shopping-cart": { - "title": "Build a Shopping Cart", - "intro": [ - "In this workshop you'll create a shopping cart using JavaScript classes.", - "You will practice how to use the this keyword, create class instances, implement methods for data manipulation and more." - ] - }, - "lab-project-idea-board": { - "title": "Build a Project Idea Board", - "intro": [ - "In this lab, you'll build a project idea board using OOP in JavaScript.", - "You'll practice how to create classes, add methods to classes, and create instances of classes." - ] - }, - "lab-bank-account-manager": { - "title": "Build a Bank Account Management Program", - "intro": [ - "In this lab, you'll build a simple transaction management system for a bank account." - ] - }, - "review-javascript-classes": { - "title": "JavaScript Classes Review", - "intro": [ - "Before you're quizzed on how to work with classes, you should review what you've learned about them.", - "Open up this page to review concepts including the this keyword, class inheritance and more." - ] - }, - "quiz-javascript-classes": { - "title": "JavaScript Classes Quiz", - "intro": [ - "Test what you've learned about JavaScript classes with this quiz." - ] - }, - "lecture-understanding-recursion-and-the-call-stack": { - "title": "Understanding Recursion and the Call Stack", - "intro": [ - "In this lesson, you will learn about recursion and the call stack." - ] - }, - "workshop-decimal-to-binary-converter": { - "title": "Build a Decimal to Binary Converter", - "intro": [ - "Recursion is a programming concept where a function calls itself. This can reduce a complex problem into simpler sub-problems, until they become straightforward to solve.", - "In this workshop, you’ll build a decimal-to-binary converter using JavaScript. You’ll practice the fundamental concepts of recursion, explore the call stack, and build out a visual representation of the recursion process through an animation." - ] - }, - "lab-permutation-generator": { - "title": "Build a Permutation Generator", - "intro": [ - "For this lab, you'll build a permutation generator that produces all possible permutations of a given string." - ] - }, - "review-recursion": { - "title": "Recursion Review", - "intro": [ - "Before you're quizzed on recursion, you should review what you've learned.", - "Open up this page to review what is recursion and what is it used for." - ] - }, - "quiz-recursion": { - "title": "Recursion Quiz", - "intro": ["Test your knowledge of Recursion with this quiz."] - }, - "lecture-understanding-functional-programming": { - "title": "Understanding Functional Programming", - "intro": [ - "In these lessons, you will learn about functional programming and how to nest functions using a technique called currying." - ] - }, - "workshop-recipe-ingredient-converter": { - "title": "Build a Recipe Ingredient Converter", - "intro": [ - "In the previous lessons, you learned the core concepts behind functional programming and currying.", - "Now you will be able to apply what you have learned about currying and functional programming by building a recipe ingredient converter application." - ] - }, - "lab-sorting-visualizer": { - "title": "Build a Sorting Visualizer", - "intro": [ - "For this lab, you'll use JavaScript to visualize the steps that the Bubble Sort algorithm takes to reorder an array of integers." - ] - }, - "review-javascript-functional-programming": { - "title": "JavaScript Functional Programming Review", - "intro": [ - "Before you're quizzed on functional programming, you should review what you've learned.", - "Open up this page to review concepts on functional programming, currying and more." - ] - }, - "quiz-javascript-functional-programming": { - "title": "JavaScript Functional Programming Quiz", - "intro": [ - "Test what you've learned about JavaScript functional programming with this quiz." - ] - }, - "lecture-understanding-asynchronous-programming": { - "title": "Understanding Asynchronous Programming", - "intro": [ - "In these lessons, you will learn about asynchronous programming in JavaScript. You will learn about the differences between synchronous and asynchronous programming, how the async keyword works, the Fetch API, promises, async/await, the Geolocation API, and much more." - ] - }, - "workshop-fcc-authors-page": { - "title": "Build an fCC Authors Page", - "intro": [ - "One common aspect of web development is learning how to fetch data from an external API, then work with asynchronous JavaScript.", - "In this workshop you will practice how to use the fetch method, dynamically update the DOM to display the fetched data and paginate your data so you can load results in batches." - ] - }, - "lab-fcc-forum-leaderboard": { - "title": "Build an fCC Forum Leaderboard", - "intro": [ - "For this lab you'll practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard." - ] - }, - "lab-weather-app": { - "title": "Build a Weather App", - "intro": [ - "In this lab you'll build a Weather App using an API", - "You'll practice how to fetch data from the API, store and display it on your app." - ] - }, - "review-asynchronous-javascript": { - "title": "Asynchronous JavaScript Review", - "intro": [ - "Review asynchronous JavaScript concepts to prepare for the upcoming quiz." - ] - }, - "quiz-asynchronous-javascript": { - "title": "Asynchronous JavaScript Quiz", - "intro": [ - "Test what you've learned about asynchronous JavaScript with this quiz." - ] - }, - "review-javascript": { - "title": "JavaScript Review", - "intro": [ - "Before you take the JavaScript prep exam, you should review everything you've learned about JavaScript.", - "Open up this page to review all of the concepts taught including variables, strings, booleans, functions, objects, arrays, debugging, working with the DOM and more." - ] - }, - "kagw": { - "title": "258", - "intro": [] - }, - "lecture-introduction-to-javascript-libraries-and-frameworks": { - "title": "Introduction to JavaScript Libraries and Frameworks", - "intro": [ - "In these lessons, you will get an introduction to JavaScript libraries and frameworks. You will learn about the roles of JavaScript libraries and frameworks, single page applications (SPAs) and the issue surrounding them, and React, the most popular frontend JavaScript library." - ] - }, - "workshop-reusable-mega-navbar": { - "title": "Build a Reusable Mega Navbar", - "intro": [ - "In the previous lessons, you learned how to work with components in React.", - "In this workshop, you will build a reusable Navbar component using React." - ] - }, - "lab-reusable-footer": { - "title": "Build a Reusable Footer", - "intro": ["In this lab, you'll use React to build a reusable footer."] - }, - "lecture-working-with-data-in-react": { - "title": "Working with Data in React", - "intro": [ - "In these lessons, you will learn how to work with data in React. You will learn about props and how to pass them around, conditional rendering, how to render lists, and how to use inline styles." - ] - }, - "workshop-reusable-profile-card-component": { - "title": "Build a Reusable Profile Card Component", - "intro": [ - "In this workshop, you will learn how to work with props by building a reusable profile card component." - ] - }, - "lab-mood-board": { - "title": "Build a Mood Board", - "intro": [ - "In this lab, you'll create a mood board using React.", - "You'll practice how to pass data from a parent component to a child component using props." - ] - }, - "review-react-basics": { - "title": "React Basics Review", - "intro": [ - "Review basic React concepts to prepare for the upcoming quiz." - ] - }, - "quiz-react-basics": { - "title": "React Basics Quiz", - "intro": ["Test your knowledge of React basics with this quiz."] - }, - "lecture-working-with-state-and-responding-to-events-in-react": { - "title": "Working with State and Responding to Events in React", - "intro": [ - "In these lessons, you will learn about working with state and responding to events with React." - ] - }, - "workshop-toggle-text-app": { - "title": "Toggle Text App", - "intro": [ - "In this workshop, you will continue to learn about the useState() hook by building an application that hides and shows a piece of text on the screen." - ] - }, - "lab-color-picker": { - "title": "Build a Color Picker App", - "intro": [ - "In this lab you'll build a Color Picker.", - "You'll practice using state and hooks to manage the properties of an element." - ] - }, - "lecture-understanding-effects-and-referencing-values-in-react": { - "title": "Understanding Effects and Referencing Values in React", - "intro": [ - "In these lessons, you will learn about effects and referencing values with React." - ] - }, - "workshop-fruit-search-app": { - "title": "Build a Fruit Search App", - "intro": [ - "In this workshop, you will continue to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically." - ] - }, - "lab-one-time-password-generator": { - "title": "Build a One-Time Password Generator", - "intro": [ - "In this lab you'll build a one-time password generator.", - "You'll practice using the useEffect hooks to create a timer and generate a random OTP." - ] - }, - "review-react-state-and-hooks": { - "title": "React State and Hooks Review", - "intro": [ - "Before you're quizzed on React state and hooks, you should review what you've learned.", - "Open up this page to review working with state, custom hooks and more." - ] - }, - "quiz-react-state-and-hooks": { - "title": "React State and Hooks Quiz", - "intro": [ - "Test what you've learned about React's useState and useEffect hooks with this quiz." - ] - }, - "lecture-working-with-forms-in-react": { - "title": "Working with Forms in React", - "intro": [ - "In these lessons, you will learn about working with forms in React." - ] - }, - "workshop-superhero-application-form": { - "title": "Build a Superhero Application Form", - "intro": [ - "In this workshop, you will build a superhero application form." - ] - }, - "lab-event-rsvp": { - "title": "Build an Event RSVP", - "intro": [ - "In this lab, you'll build an Event RSVP form using React.", - "You'll practice using the useState hook to manage form input and display user responses." - ] - }, - "lecture-working-with-data-fetching-and-memoization-in-react": { - "title": "Working with Data Fetching and Memoization in React", - "intro": [ - "In these lessons, you will learn about data fetching and memoization in React." - ] - }, - "workshop-shopping-list-app": { - "title": "Build a Shopping List App", - "intro": [ - "In this workshop, you'll use the useMemo() and useCallback() hooks in React to build a simple shopping list app. You'll learn more about state and the lifecycle of React components, and how to use memoization to reduce re-renders and make your apps more efficient." - ] - }, - "lab-currency-converter": { - "title": "Build a Currency Converter", - "intro": [ - "For this lab, you'll build a currency converter app.", - "You'll use React state, memoization, and controlled components to convert between currencies." - ] - }, - "lecture-routing-react-frameworks-and-dependency-management-tools": { - "title": "Routing, React Frameworks, and Dependency Management Tools", - "intro": [ - "In these lessons, you will learn about routing in React, React frameworks, and dependency management tools." - ] - }, - "lab-tic-tac-toe": { - "title": "Build a Tic-Tac-Toe Game", - "intro": [ - "In this lab, you'll build a Tic-Tac-Toe game using React.", - "You'll practice managing state, handling user interactions, and updating the UI dynamically." - ] - }, - "lecture-react-strategies-and-debugging": { - "title": "React Strategies and Debugging", - "intro": [ - "In these lessons, you will learn about different strategies and debugging in React." - ] - }, - "review-react-forms-data-fetching-and-routing": { - "title": "React Forms, Data Fetching and Routing Review", - "intro": [ - "Before you take the React forms, data fetching and routing quiz, you should review everything you've learned so far.", - "Open up this page, to review all of the concepts taught including routing, forms, state management, prop drilling, data fetching and more." - ] - }, - "quiz-react-forms-data-fetching-and-routing": { - "title": "React Forms, Data Fetching and Routing Quiz", - "intro": [ - "Test what you've learned about routing, forms, and data fetching with this quiz." - ] - }, - "lecture-understanding-performance-in-web-applications": { - "title": "Understanding Performance in Web Applications", - "intro": [ - "In these lessons, you will learn performance in web applications." - ] - }, - "review-web-performance": { - "title": "Web Performance Review", - "intro": [ - "Before you take the web performance quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including INP, key metrics for measuring performance, Performance Web APIs and more." - ] - }, - "quiz-web-performance": { - "title": "Web Performance Quiz", - "intro": [ - "Test what you've learned about Web Performance with this quiz." - ] - }, - "lecture-understanding-the-different-types-of-testing": { - "title": "Understanding the Different Types of Testing", - "intro": [ - "In these lessons, you will learn about the different types of testing." - ] - }, - "review-testing": { - "title": "Testing Review", - "intro": [ - "Before you take the testing quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including unit testing, end-to-end testing, functional testing and more." - ] - }, - "quiz-testing": { - "title": "Testing Quiz", - "intro": ["Test what you've learned on testing with this quiz."] - }, - "lecture-working-with-css-libraries-and-frameworks": { - "title": "Working with CSS Libraries and Frameworks", - "intro": [ - "In these lessons, you will learn how to work with CSS libraries and frameworks." - ] - }, - "workshop-error-message-component": { - "title": "Build an Error Message Component", - "intro": [ - "In this workshop, you will learn the basics of Tailwind CSS by building out an error message component." - ] - }, - "workshop-tailwind-cta-component": { - "title": "Build a CTA Component", - "intro": [ - "In this workshop, you will build a call to action (CTA) component using Tailwind CSS." - ] - }, - "workshop-tailwind-pricing-component": { - "title": "Build a Pricing Component", - "intro": [ - "In this workshop, you will build a pricing component using Tailwind CSS.", - "You will practice working with Tailwind CSS grid utility classes." - ] - }, - "lab-music-shopping-cart-page": { - "title": "Build a Music Shopping Cart Page", - "intro": [ - "In this lab, you will build a music shopping cart page with Tailwind CSS.", - "You will practice working with Tailwind CSS utility classes for flexbox layouts, colors, breakpoints and more." - ] - }, - "lab-photography-exhibit": { - "title": "Design a Photography Exhibit", - "intro": [ - "In this lab, you will practice working with Tailwind CSS by designing a photography exhibit webpage." - ] - }, - "review-css-libraries-and-frameworks": { - "title": "CSS Libraries and Frameworks Review", - "intro": [ - "Before you take the CSS libraries and frameworks quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including CSS frameworks, CSS preprocessors, Sass and more." - ] - }, - "quiz-css-libraries-and-frameworks": { - "title": "CSS Libraries and Frameworks Quiz", - "intro": [ - "Test what you've learned about CSS Libraries and Frameworks with this quiz." - ] - }, - "lecture-introduction-to-typescript": { - "title": "Introduction to TypeScript", - "intro": [ - "In these lessons, you will learn what TypeScript is and how to use it." - ] - }, - "lecture-working-with-generics-and-type-narrowing": { - "title": "Working with Generics and Type Narrowing", - "intro": [ - "In these lessons, you will learn about generics and type narrowing in TypeScript." - ] - }, - "lecture-working-with-typescript-configuration-files": { - "title": "Working with TypeScript Configuration Files", - "intro": [ - "In this lesson, you will learn about TypeScript configuration files and how to use them." - ] - }, - "trvf": { - "title": "293", - "intro": [] - }, - "kwmg": { - "title": "294", - "intro": [] - }, - "nodx": { - "title": "295", - "intro": [] - }, - "erfj": { - "title": "296", - "intro": [] - }, - "muyw": { - "title": "297", - "intro": [] - }, - "review-typescript": { - "title": "Typescript Review", - "intro": [ - "Before you take the TypeScript quiz, you should review everything you've learned so far.", - "Open up this page to review all of the concepts taught including data types in TypeScript, generics, type narrowing and more." - ] - }, - "quiz-typescript": { - "title": "TypeScript Quiz", - "intro": ["Test what you've learned on Typescript with this quiz."] - }, - "review-front-end-libraries": { - "title": "Front End Libraries Review", - "intro": [ - "Review the Front End Libraries concepts to prepare for the upcoming quiz." - ] - }, - "rdzk": { - "title": "301", - "intro": [] - }, - "vtpz": { - "title": "302", - "intro": [] - }, - "lecture-introduction-to-python": { - "title": "Introduction to Python", - "intro": [ - "In these lessons, you will learn the fundamentals of Python. You'll learn about variables, data types, operators, control flow, functions, and more." - ] - }, - "workshop-caesar-cipher": { - "title": "Build a Caesar Cipher", - "intro": [ - "In this workshop, you'll build a Caesar cipher using basic Python concepts such as strings, conditionals, functions, and more." - ] - }, - "lab-rpg-character": { - "title": "Build an RPG Character", - "intro": [ - "In this lab you will practice basic python by building an RPG character." - ] - }, - "review-python-basics": { - "title": "Python Basics Review", - "intro": [ - "Before you're quizzed on Python basics, you should review what you've learned about it.", - "In this review page, you will review working with strings, functions, comparison operators and more." - ] - }, - "quiz-python-basics": { - "title": "Python Basics Quiz", - "intro": [ - "Test what you've learned about Python basics with this quiz." - ] - }, - "lecture-working-with-loops-and-sequences": { - "title": "Working with Loops and Sequences", - "intro": [ - "Learn about Working with Loops and Sequences in these lessons." - ] - }, - "workshop-pin-extractor": { - "title": "Build a Pin Extractor", - "intro": [ - "In this workshop you will build a function to extract secret pins hidden in poems." - ] - }, - "lab-number-pattern-generator": { - "title": "Build a Number Pattern Generator", - "intro": ["In this lab you will build a number pattern generator."] - }, - "review-loops-and-sequences": { - "title": "Loops and Sequences Review", - "intro": [ - "Before you're quizzed on loops and sequences, you should review what you've learned about them.", - "Open up this page to review concepts around loops, lists, tuples and some of their common methods." - ] - }, - "quiz-loops-and-sequences": { - "title": "Loops and Sequences Quiz", - "intro": [ - "Test what you've learned about loops and sequences in Python with this quiz." - ] - }, - "lecture-working-with-dictionaries-and-sets": { - "title": "Working with Dictionaries and Sets", - "intro": [ - "Learn about working with dictionaries and sets in these lessons." - ] - }, - "lecture-working-with-modules": { - "title": "Working with Modules", - "intro": ["Learn about working with modules in these lessons."] - }, - "workshop-medical-data-validator": { - "title": "Build a Medical Data Validator", - "intro": [ - "In this workshop, you'll practice working with dictionaries and sets while validating a collection of medical data." - ] - }, - "lab-user-configuration-manager": { - "title": "Build a User Configuration Manager", - "intro": [ - "In this lab, you will practice working with dictionaries in Python." - ] - }, - "review-dictionaries-and-sets": { - "title": "Dictionaries and Sets review", - "intro": [ - "Before you're quizzed on dictionaries and sets, you should review what you've learned about them.", - "Open up this page to review concepts around dictionaries, sets, and how to import modules." - ] - }, - "quiz-dictionaries-and-sets": { - "title": "Dictionaries and Sets Quiz", - "intro": [ - "Test what you've learned about dictionaries and sets in Python with this quiz." - ] - }, - "lecture-understanding-error-handling": { - "title": "Understanding Error Handling", - "intro": [ - "In these lessons, you will learn about error handling in Python. You will learn about the different types of errors, some good debugging practices, what exceptions are, and how to handle them." - ] - }, - "lab-isbn-validator": { - "title": "Debug an ISBN Validator", - "intro": [ - "In this lab, you will start with a bugged app, and you will need to debug and fix the bugs until it is working properly." - ] - }, - "review-error-handling": { - "title": "Error Handling Review", - "intro": [ - "Before you're quizzed on error handling, you should review what you've learned about it." - ] - }, - "quiz-error-handling": { - "title": "Error Handling Quiz", - "intro": [ - "Test what you've learned about Error Handling in Python with this quiz." - ] - }, - "lecture-classes-and-objects": { - "title": "Classes and Objects", - "intro": ["Learn about Classes and Objects in these lessons."] - }, - "workshop-musical-instrument-inventory": { - "title": "Build a Musical Instrument Inventory", - "intro": [ - "In this workshop, you will learn about classes, objects, and methods in Python by building a simple musical instrument inventory." - ] - }, - "lab-planet-class": { - "title": "Build a Planet Class", - "intro": [ - "In this lab you will create a class that represents a planet." - ] - }, - "workshop-email-simulator": { - "title": "Build an Email Simulator", - "intro": [ - "In this workshop you will implement classes and objects by building an email simulator that simulates sending, receiving, and managing emails between different users." - ] - }, - "lab-budget-app": { - "title": "Build a Budget App", - "intro": [ - "In this lab you will build a budget app and practice creating a class and methods for that class." - ] - }, - "review-classes-and-objects": { - "title": "Classes and Objects Review", - "intro": [ - "Before you're quizzed on classes and objects, you should review what you've learned about them.", - "Open up this page to review concepts like how classes work, what are objects, methods, attributes, special methods and more." - ] - }, - "quiz-classes-and-objects": { - "title": "Classes and Objects Quiz", - "intro": [ - "Test what you've learned about classes and objects in Python with this quiz." - ] - }, - "lecture-understanding-object-oriented-programming-and-encapsulation": { - "title": "Understanding Object Oriented Programming and Encapsulation", - "intro": [ - "Learn about Understanding Object Oriented Programming and Encapsulation in these lessons." - ] - }, - "workshop-salary-tracker": { - "title": "Build a Salary Tracker", - "intro": [ - "In this workshop, you'll practice encapsulation, properties, and other OOP concepts by building a salary tracking system for employees." - ] - }, - "lab-game-character-stats": { - "title": "Build a Game Character Stats Tracker", - "intro": [ - "In this lab, you will build a game character with different stats using object-oriented programming." - ] - }, - "lecture-understanding-inheritance-and-polymorphism": { - "title": "Understanding Inheritance and Polymorphism", - "intro": [ - "Learn about Understanding Inheritance and Polymorphism in these lessons." - ] - }, - "workshop-media-catalogue": { - "title": "Build a Media Catalogue", - "intro": [ - "In this workshop, you will create a media catalogue application using object-oriented programming principles." - ] - }, - "lab-polygon-area-calculator": { - "title": "Build a Polygon Area Calculator", - "intro": [ - "In this lab, you will use object-oriented programming to calculate the areas of different polygons like squares and rectangles." - ] - }, - "lecture-understanding-abstraction": { - "title": "Understanding Abstraction", - "intro": ["Learn about Understanding Abstraction in these lessons."] - }, - "workshop-discount-calculator": { - "title": "Build a Discount Calculator", - "intro": [ - "In this workshop you will build a flexible discount pricing calculator through abstract base classes, allowing multiple discount algorithms to be applied interchangeably without modifying the core logic." - ] - }, - "lab-player-interface": { - "title": "Build a Player Interface", - "intro": [ - "In this lab, you'll use the abc module to build a player interface." - ] - }, - "review-object-oriented-programming": { - "title": "Object Oriented Programming Review", - "intro": [ - "Before you're quizzed on object oriented programming, you should review what you've learned about it." - ] - }, - "quiz-object-oriented-programming": { - "title": "Object Oriented Programming Quiz", - "intro": [ - "Test what you've learned about object oriented programming in python with this quiz." - ] - }, - "lecture-working-with-common-data-structures": { - "title": "Working with Common Data Structures", - "intro": [ - "Learn about Working with Common Data Structures in these lessons." - ] - }, - "workshop-linked-list-class": { - "title": "Build a Linked List", - "intro": [ - "In this workshop, you'll practice working with data structures by building a linked list." - ] - }, - "lab-hash-table": { - "title": "Build a Hash Table", - "intro": [ - "A hash table is a data structure that is used to store key-value pairs and is optimized for quick lookups.", - "In this lab, you will use your knowledge about data structures to build a hash table." - ] - }, - "review-data-structures": { - "title": "Data Structures Review", - "intro": [ - "Before you're quizzed on data structures, you should review what you've learned about them.", - "Open up this page to review concepts like the different data structures, algorithms, time and space complexity, and big O notation." - ] - }, - "quiz-data-structures": { - "title": "Data Structures Quiz", - "intro": [ - "Test what you've learned about data structures in Python with this quiz." - ] - }, - "lecture-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms", - "intro": [ - "Learn about fundamental searching and sorting algorithms, including linear search, binary search, and merge sort.", - "These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm." - ] - }, - "workshop-binary-search": { - "title": "Implement the Binary Search Algorithm", - "intro": [ - "The binary search algorithm is a searching algorithm used to find a target item in a sorted list.", - "In this workshop, you'll implement the binary search algorithm and return the path it took to find the target or return 'Value not found'." - ] - }, - "lab-bisection-method": { - "title": "Implement the Bisection Method", - "intro": [ - "In this lab, you will implement the bisection method to find the square root of a number." - ] - }, - "workshop-merge-sort": { - "title": "Implement the Merge Sort Algorithm", - "intro": [ - "The merge sort algorithm is a sorting algorithm based on the divide and conquer principle.", - "In this workshop, you'll implement the merge sort algorithm to sort a list of random numbers." - ] - }, - "lab-quicksort": { - "title": "Implement the Quicksort Algorithm", - "intro": [ - "In this lab you will implement the quicksort algorithm to sort a list of integers." - ] - }, - "lab-selection-sort": { - "title": "Implement the Selection Sort Algorithm", - "intro": [ - "In this lab you will implement the selection sort algorithm." - ] - }, - "lab-luhn-algorithm": { - "title": "Implement the Luhn Algorithm", - "intro": [ - "In this lab, you will implement the Luhn algorithm to validate identification numbers such as credit card numbers." - ] - }, - "lab-tower-of-hanoi": { - "title": "Implement the Tower of Hanoi Algorithm", - "intro": [ - "In this lab, you will implement an algorithm to solve the Tower of Hanoi puzzle." - ] - }, - "review-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms Review", - "intro": [ - "Before you're quizzed on searching and sorting algorithms, you should review what you've learned about them." - ] - }, - "quiz-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms Quiz", - "intro": [ - "Test what you've learned about searching and sorting algorithms in Python with this quiz." - ] - }, - "lecture-understanding-graphs-and-trees": { - "title": "Understanding Graphs and Trees", - "intro": [ - "In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science." - ] - }, - "workshop-shortest-path-algorithm": { - "title": "Implement the Shortest Path Algorithm", - "intro": [ - "In this workshop you will implement the shortest path algorithm to find the shortest path between two nodes in a graph." - ] - }, - "lab-adjacency-list-to-matrix-converter": { - "title": "Build an Adjacency List to Matrix Converter", - "intro": [ - "In this lab, you will implement a function that converts an adjacency list representation of a graph into an adjacency matrix representation." - ] - }, - "workshop-breadth-first-search": { - "title": "Implement the Breadth-First Search Algorithm", - "intro": [ - "In this workshop, you will use the bread-first search algorithm to generate all valid combinations of parentheses." - ] - }, - "lab-depth-first-search": { - "title": "Implement the Depth-First Search Algorithm", - "intro": [ - "In this lab, you will implement the Depth-First Search Algorithm." - ] - }, - "lab-n-queens-problem": { - "title": "Implement the N-Queens Problem", - "intro": [ - "In this lab, you will implement a solution for the N-Queens problem." - ] - }, - "review-graphs-and-trees": { - "title": "Graphs and Trees Review", - "intro": [ - "Before you're quizzed on graphs and trees, you should review what you've learned about them." - ] - }, - "quiz-graphs-and-trees": { - "title": "Graphs and Trees Quiz", - "intro": [ - "Test what you've learned about graphs and trees in Python with this quiz." - ] - }, - "lecture-understanding-dynamic-programming": { - "title": "Understanding Dynamic Programming", - "intro": [ - "In this lesson, you will learn about dynamic programming, an algorithmic technique used to solve complex problems efficiently by breaking them down into simpler subproblems." - ] - }, - "lab-nth-fibonacci-number": { - "title": "Build an Nth Fibonacci Number Calculator", - "intro": [ - "In this lab you will implement a Fibonacci sequence calculator using a dynamic programming approach." - ] - }, - "review-dynamic-programming": { - "title": "Dynamic Programming Review", - "intro": [ - "Before you're quizzed on dynamic programming, you should review what you've learned about it." - ] - }, - "quiz-dynamic-programming": { - "title": "Dynamic Programming Quiz", - "intro": [ - "Test what you've learned about dynamic programming in python with this quiz." - ] - }, - "review-python": { - "title": "Python Review", - "intro": ["Review Python concepts to prepare for the upcoming exam."] - }, - "lecture-understanding-the-command-line-and-working-with-bash": { - "title": "Understanding the Command Line and Working with Bash", - "intro": [ - "Learn about the Command Line and Working with Bash in these lessons." - ] - }, - "workshop-bash-boilerplate": { - "title": "Build a Boilerplate", - "intro": [ - "The terminal allows you to send text commands to your computer that can manipulate the file system, run programs, automate tasks, and much more.", - "In this 170-lesson workshop, you will learn terminal commands by creating a website boilerplate using only the command line." - ] - }, - "review-bash-commands": { - "title": "Bash Commands Review", - "intro": [ - "Review the Bash Commands concepts to prepare for the upcoming quiz." - ] - }, - "quiz-bash-commands": { - "title": "Bash Commands Quiz", - "intro": ["Test what you've learned bash commands with this quiz."] - }, - "lecture-working-with-relational-databases": { - "title": "Working with Relational Databases", - "intro": [ - "Learn how to work with Relational Databases in these lessons." - ] - }, - "workshop-database-of-video-game-characters": { - "title": "Build a Database of Video Game Characters", - "intro": [ - "A relational database organizes data into tables that are linked together through relationships.", - "In this 165-lesson workshop, you will learn the basics of a relational database by creating a PostgreSQL database filled with video game characters." - ] - }, - "lab-celestial-bodies-database": { - "title": "Build a Celestial Bodies Database", - "intro": [ - "For this project, you will build a database of celestial bodies using PostgreSQL." - ] - }, - "review-sql-and-postgresql": { - "title": "SQL and PostgreSQL Review", - "intro": [ - "Review SQL and PostgreSQL concepts to prepare for the upcoming quiz." - ] - }, - "quiz-sql-and-postgresql": { - "title": "SQL and PostgreSQL Quiz", - "intro": [ - "Test what you've learned about SQL and PostgreSQL with this quiz." - ] - }, - "lecture-understanding-bash-scripting": { - "title": "Understanding Bash Scripting", - "intro": ["Learn about Bash Scripting in these lessons."] - }, - "workshop-bash-five-programs": { - "title": "Build Five Programs", - "intro": [ - "Bash scripts combine terminal commands and logic into programs that can execute or automate tasks, and much more.", - "In this 220-lesson workshop, you will learn more terminal commands and how to use them within Bash scripts by creating five small programs." - ] - }, - "review-bash-scripting": { - "title": "Bash Scripting Review", - "intro": [ - "Review the bash scripting concepts you've learned to prepare for the upcoming quiz." - ] - }, - "quiz-bash-scripting": { - "title": "Bash Scripting Quiz", - "intro": ["Test what you've learned on bash scripting in this quiz."] - }, - "lecture-working-with-sql": { - "title": "Working With SQL", - "intro": [ - "In these lessons, you will learn about SQL injection, normalization, and the N+1 problem." - ] - }, - "workshop-sql-student-database-part-1": { - "title": "Build a Student Database: Part 1", - "intro": [ - "SQL, or Structured Query Language, is the language for communicating with a relational database.", - "In this 140-lesson workshop, you will create a Bash script that uses SQL to enter information about your computer science students into PostgreSQL." - ] - }, - "workshop-sql-student-database-part-2": { - "title": "Build a Student Database: Part 2", - "intro": [ - "SQL join commands are used to combine information from multiple tables in a relational database", - "In this 140-lesson workshop, you will complete your student database while diving deeper into SQL commands." - ] - }, - "lab-world-cup-database": { - "title": "Build a World Cup Database", - "intro": [ - "For this project, you will create a Bash script that enters information from World Cup games into PostgreSQL, then query the database for useful statistics." - ] - }, - "workshop-kitty-ipsum-translator": { - "title": "Build a Kitty Ipsum Translator", - "intro": [ - "There's more to Bash commands than you might think.", - "In this 140-lesson workshop, you will learn some more complex commands, and the details of how commands work." - ] - }, - "workshop-bike-rental-shop": { - "title": "Build a Bike Rental Shop", - "intro": [ - "In this 210-lesson workshop, you will build an interactive Bash program that stores rental information for your bike rental shop using PostgreSQL." - ] - }, - "lab-salon-appointment-scheduler": { - "title": "Build a Salon Appointment Scheduler", - "intro": [ - "For this lab, you will create an interactive Bash program that uses PostgreSQL to track the customers and appointments for your salon." - ] - }, - "review-bash-and-sql": { - "title": "Bash and SQL Review", - "intro": [ - "Review the Bash and SQL concepts to prepare for the upcoming quiz." - ] - }, - "quiz-bash-and-sql": { - "title": "Bash and SQL Quiz", - "intro": ["Test what you've learned in this quiz on Bash and SQL."] - }, - "lecture-working-with-nano": { - "title": "Working With Nano", - "intro": ["Learn about Nano in this lesson."] - }, - "workshop-castle": { - "title": "Build a Castle", - "intro": [ - "Nano is a program that allows you to edit files right in the terminal.", - "In this 40-lesson workshop, you will learn how to edit files in the terminal with Nano while building a castle." - ] - }, - "lecture-introduction-to-git-and-github": { - "title": "Introduction to Git and GitHub", - "intro": ["Learn how to work with Git and GitHub in these lessons."] - }, - "lecture-working-with-code-reviews-branching-deployment-and-ci-cd": { - "title": "Working With Code Reviews, Branching, Deployment, and CI/CD", - "intro": [ - "Learn about code reviews, branching, deployment, and CI/CD in these lessons." - ] - }, - "workshop-sql-reference-object": { - "title": "Build an SQL Reference Object", - "intro": [ - "Git is a version control system that keeps track of all the changes you make to your codebase.", - "In this 240-lesson workshop, you will learn how Git keeps track of your code by creating an object containing commonly used SQL commands." - ] - }, - "lab-periodic-table-database": { - "title": "Build a Periodic Table Database", - "intro": [ - "For this lab, you will create a Bash script to get information about chemical elements from a periodic table database." - ] - }, - "lab-number-guessing-game": { - "title": "Build a Number Guessing Game", - "intro": [ - "For this lab, you will use Bash scripting, PostgreSQL, and Git to create a number guessing game that runs in the terminal and saves user information." - ] - }, - "review-git": { - "title": "Git Review", - "intro": ["Review Git concepts to prepare for the upcoming quiz."] - }, - "quiz-git": { - "title": "Git Quiz", - "intro": ["Test what you've learned on Git with this quiz."] - }, - "review-relational-databases": { - "title": "Relational Databases Review", - "intro": [ - "Review relational databases concepts to prepare for the exam." - ] - }, - "lecture-understanding-the-http-request-response-model": { - "title": "Understanding the HTTP Request-Response Model", - "intro": [ - "Learn the fundamentals of how web communication works through the HTTP request-response model, explore different types of web assets and responses, and understand how forms handle data submission using various HTTP methods." - ] - }, - "exam-certified-full-stack-developer": { - "title": "Certified Full Stack Developer Exam", - "intro": ["Pass this exam to become a Certified Full Stack Developer."] - } - } - }, "javascript-v9": { "title": "JavaScript Certification", "intro": [ @@ -6448,6 +3108,12 @@ "In this lecture, you will learn about recursion and the call stack." ] }, + "workshop-countup": { + "title": "Build a Countup", + "intro": [ + "In this workshop you will build a countdown function that returns an array of numbers counting up from 1 to a given number." + ] + }, "lab-countdown": { "title": "Build a Countdown", "intro": [ @@ -6461,6 +3127,13 @@ "In this workshop, you'll build a decimal-to-binary converter using JavaScript. You'll practice the fundamental concepts of recursion, explore the call stack, and build out a visual representation of the recursion process through an animation." ] }, + "lab-range-of-numbers": { + "title": "Build a Range of Numbers Generator", + "intro": [ + "In this lab, you'll use recursion to generate an array of numbers within a specified range.", + "You'll practice recursive function calls, base cases, and building arrays through recursion." + ] + }, "lab-permutation-generator": { "title": "Build a Permutation Generator", "intro": [ @@ -6485,6 +3158,12 @@ "These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm." ] }, + "lecture-understanding-graphs-and-trees-js": { + "title": "Understanding Graphs and Trees", + "intro": [ + "In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science." + ] + }, "lecture-understanding-functional-programming": { "title": "Understanding Functional Programming", "intro": [ @@ -7186,6 +3865,12 @@ "In this lab, you will use object-oriented programming to calculate the areas of different polygons like squares and rectangles." ] }, + "lab-discount-calculator": { + "title": "Build a Discount Calculator", + "intro": [ + "In this lab, you will practice basic Python by building a calculator to apply a discount to a price." + ] + }, "lecture-understanding-abstraction": { "title": "Understanding Abstraction", "intro": ["Learn about Understanding Abstraction in these lessons."] diff --git a/client/i18n/locales/swahili/translations.json b/client/i18n/locales/swahili/translations.json index db7f76ad4dd..d67b9db1613 100644 --- a/client/i18n/locales/swahili/translations.json +++ b/client/i18n/locales/swahili/translations.json @@ -291,7 +291,7 @@ "reset-editor-layout": "Reset Editor Layout", "shortcuts-explained": "Within a challenge, press ESC followed by the question mark to show a list of available shortcuts.", "username": { - "contains invalid characters": "Jina la mtumiaji \"{{username}}\" lina vibambo batili", + "contains invalid characters": "Username \"{{username}}\" contains invalid characters. Use only alphanumeric values like 'camperbot', or 'camperbot123'.", "is too short": "Jina la mtumiaji \"{{username}}\" ni fupi mno", "is a reserved error code": "Jina la mtumiaji \"{{username}}\" ni msimbo wa hitilafu uliohifadhiwa", "must be lowercase": "Jina la mtumiaji \"{{username}}\" lazima liwe herufi ndogo", diff --git a/client/i18n/locales/ukrainian/intro.json b/client/i18n/locales/ukrainian/intro.json index 6358fa603a9..1b167925893 100644 --- a/client/i18n/locales/ukrainian/intro.json +++ b/client/i18n/locales/ukrainian/intro.json @@ -1940,3346 +1940,6 @@ } } }, - "full-stack-developer": { - "title": "Навчальна програма «Сертифікований Full Stack розробник»", - "intro": [ - "Цей курс надає комплексний шлях, щоб стати сертифікованим Full Stack розробником. У ньому охоплено всі технології, необхідні для створення сучасних масштабованих програм від початку до кінця.", - "Завдяки поєднанню інтерактивних уроків, практичних завдань та реальних проєктів, ви опануєте як Front End, так і Back End. Ви працюватимете з HTML, CSS і JavaScript для створення адаптивних інтерфейсів, досліджуватимете React і TypeScript для створення складних вебзастосунків та навчитеся керувати даними за допомогою реляційних баз даних. На стороні Back End ви використовуватимете Git, Npm, Node.js і Python для створення потужних серверних рішень.", - "Наприкінці курсу ви отримаєте практичні навички та досвід, які дозволять впевнено розробляти повноцінні вебзастосунки, що підготує вас до успішної кар’єри Full Stack розробника.", - "Для отримання цієї сертифікації потрібно багато часу і зусиль. Якщо ви розпочнете зараз, то будете готові до решти матеріалу і кінцевого екзамену як тільки ми опублікуємо їх протягом найближчих місяців." - ], - "chapters": { - "html": "HTML", - "css": "CSS", - "javascript": "JavaScript", - "frontend-libraries": "Бібліотеки для Front End", - "relational-databases": "Реляційні бази даних", - "backend-javascript": "Back End JavaScript", - "python": "Python", - "career": "Кар’єра" - }, - "modules": { - "basic-html": "Основи HTML", - "semantic-html": "Семантичний HTML", - "html-forms-and-tables": "Форми та таблиці", - "html-and-accessibility": "Доступність", - "review-html": "Повторення HTML", - "exam-html": "Екзамен «HTML»", - "computer-basics": "Основи комп’ютера", - "basic-css": "Основи CSS", - "design-for-developers": "Дизайн", - "absolute-and-relative-units": "Відносні та абсолютні одиниці", - "pseudo-classes-and-elements": "Псевдокласи й псевдоелементи", - "css-colors": "Кольори", - "styling-forms": "Стилізація форм", - "css-box-model": "Блокова модель", - "css-flexbox": "Flexbox", - "css-typography": "Типографія", - "css-and-accessibility": "Доступність", - "attribute-selectors": "Селектори атрибутів", - "css-positioning": "Позиціювання", - "responsive-design": "Адаптивний дизайн", - "css-variables": "Змінні", - "css-grid": "Сітка", - "css-animations": "Анімації", - "review-css": "Повторення CSS", - "exam-css": "Екзамен «CSS»", - "code-editors": "Редактори коду", - "javascript-variables-and-strings": "Змінні та рядки", - "javascript-booleans-and-numbers": "Булеві значення та числа", - "javascript-functions": "Функції", - "javascript-arrays": "Масиви", - "javascript-objects": "Об’єкти", - "javascript-loops": "Цикли", - "review-javascript-fundamentals": "Повторення основ JavaScript", - "higher-order-functions-and-callbacks": "Функції вищого порядку та зворотного виклику", - "dom-manipulation-and-events": "Маніпуляція DOM та події Click в JavaScript", - "js-a11y": "JavaScript та доступність", - "debugging-javascript": "Налагодження", - "basic-regex": "Основи регулярних виразів", - "form-validation": "Валідація форм", - "javascript-dates": "Дати", - "audio-and-video-events": "Аудіо- та відеоподії", - "maps-and-sets": "Map та set", - "localstorage-and-crud-operations": "localStorage та операції CRUD", - "classes-and-the-this-keyword": "Класи", - "recursion": "Рекурсія", - "functional-programming": "Функціональне програмування", - "asynchronous-javascript": "Асинхронний JavaScript", - "review-javascript": "Повторення JavaScript", - "exam-javascript": "Екзамен «JavaScript»", - "react-fundamentals": "Основи React", - "react-state-hooks-and-routing": "Стани, хуки та маршрутизація в React", - "performance": "Продуктивність", - "testing": "Тестування", - "css-libraries-and-frameworks": "Бібліотеки та фреймворки CSS", - "data-visualization": "Data Visualization and D3", - "typescript-fundamentals": "Основи TypeScript", - "review-front-end-libraries": "Повторення бібліотек для Front End", - "exam-front-end-libraries": "Екзамен «Бібліотеки для Front End»", - "python-basics": "Основи Python", - "python-loops-and-sequences": "Цикли та послідовності", - "python-dictionaries-and-sets": "Словники та набори", - "python-error-handling": "Обробка помилок", - "python-classes-and-objects": "Класи та об’єкти", - "python-object-oriented-programming": "Об’єктноорієнтоване програмування (ООП)", - "python-linear-data-structures": "Лінійні структури даних", - "python-algorithms": "Алгоритми", - "python-graphs-and-trees": "Графи та дерева", - "python-dynamic-programming": "Динамічне програмування", - "review-python": "Повторення Python", - "exam-python": "Екзамен «Python»", - "bash-fundamentals": "Основи Bash", - "sql-and-postgresql": "SQL and PostgreSQL", - "bash-scripting": "Скрипти Bash", - "sql-and-bash": "SQL та Bash", - "git": "Git", - "review-relational-databases": "Relational Databases Review", - "exam-relational-databases": "Relational Databases Exam", - "nodejs-core-libraries": "Основні бібліотеки Node.js", - "node-package-manager": "Node Package Manager", - "http-and-the-web-standards-model": "HTTP та модель вебстандартів", - "rest-api-and-web-services": "REST API та вебсервіси", - "introduction-to-express": "Вступ до Express", - "express-middleware": "Проміжне програмне забезпечення Express", - "error-handling-in-express": "Обробка помилок в Express", - "websockets": "WebSockets", - "node-and-sql": "Node та SQL", - "security-and-privacy": "Безпека та приватність", - "authentication": "Автентифікація", - "tooling-and-deployment": "Інструменти та розгортання", - "how-to-get-a-developer-job": "Як знайти роботу розробнику", - "capstone-project": "Фінальний проєкт", - "certified-full-stack-developer-exam": "Екзамен «Сертифікований Full Stack розробник»" - }, - "module-intros": { - "data-visualization": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will be introduced to data visualization and learn how to work with the D3 library." - ] - }, - "typescript-fundamentals": { - "note": "Очікуйте цієї осені", - "intro": [ - "У цьому модулі ви ознайомитесь з TypeScript — розширеною версією JavaScript, яка дозволяє додавати статичну типізацію до JavaScript-коду. Ви виконаєте декілька практичних занять і лабораторних робіт, де застосуєте узагальнення, звуження типів, TSX і багато іншого. А потім перевірите отримані знання з основ TypeScript, пройшовши короткий тест." - ] - }, - "python-classes-and-objects": { - "note": "Очікуйте цієї зими", - "intro": [ - "У цьому модулі ви навчитесь працювати з класами, методами, атрибутами і властивостями. Ви застосуєте ці поняття в практичних заняттях і лабораторних роботах, а також перевірите отримані знання за допомогою тесту." - ] - }, - "python-object-oriented-programming": { - "note": "Очікуйте цієї зими", - "intro": [ - "У цьому модулі ви дізнаєтесь про деякі поняття об’єктноорієнтованого програмування, серед яких інкапсуляція, успадкування і поліморфізм. Ви застосуєте ці поняття в практичних заняттях і лабораторних роботах, а також перевірите отримані знання за допомогою тесту." - ] - }, - "python-linear-data-structures": { - "note": "Очікуйте цієї зими", - "intro": [ - "У цьому модулі ви дізнаєтесь про структури даних, до яких належать стеки, зв’язані списки і багато іншого. Ви застосуєте ці поняття в практичному занятті і лабораторній роботі, а також перевірите отримані знання за допомогою тесту." - ] - }, - "python-algorithms": { - "note": "Очікуйте цієї зими", - "intro": [ - "У цьому модулі ви дізнаєтесь про поширені алгоритми, до яких належать бінарний пошук, сортування злиттям, сортування вибором і багато іншого. Ви застосуєте ці поняття в практичних заняттях і лабораторних роботах, а також перевірите отримані знання за допомогою тесту." - ] - }, - "python-graphs-and-trees": { - "note": "Очікуйте цієї зими", - "intro": [ - "У цьому модулі ви дізнаєтесь про графи в інформатиці, а також про списки суміжності, дерева і багато іншого. Ви застосуєте ці поняття в практичних заняттях і лабораторних роботах, а також перевірите отримані знання за допомогою тесту." - ] - }, - "python-dynamic-programming": { - "note": "Очікуйте цієї зими", - "intro": [ - "У цьому модулі ви дізнаєтесь про динамічне програмування і застосуєте ці знання на практиці, виконавши лабораторну роботу із послідовністю Фібоначчі. Потім ви пройдете короткий тест, щоб перевірити отримані знання." - ] - }, - "bash-fundamentals": { - "note": "Очікуйте цієї зими", - "intro": [ - "У цьому модулі ви дізнаєтесь про командний рядок та поширені команди Bash. Потім ви виконаєте практичне заняття і перевірите отримані знання завдяки короткому тесту." - ] - }, - "sql-and-postgresql": { - "note": "Coming Winter 2025", - "intro": [ - "In this module, you will learn how to work with relational databases which store data as collections in tables. Some of the concepts you will learn about include inserting and viewing table data, primary and foreign keys in SQL, and more. Then you will build out a workshop and lab to practice these concepts and take a short quiz to test your knowledge." - ] - }, - "bash-scripting": { - "note": "Очікуйте цієї зими", - "intro": [ - "У цьому модулі ви дізнаєтесь про скрипти bash і застосуєте ці навички на практиці, створивши п’ять програм. А завдяки тесту перевірите отримані знання." - ] - }, - "sql-and-bash": { - "note": "Очікуйте цієї зими", - "intro": [ - "У цьому модулі ви дізнаєтесь про нормалізацію, SQL-ін’єкцію та проблему N+1. Потім ви застосуєте SQL і Bash на практиці, виконавши декілька практичних занять і лабораторних робіт. А завдяки тесту перевірите отримані знання." - ] - }, - "git": { - "note": "Очікуйте цієї зими", - "intro": [ - "У цьому модулі ви дізнаєтесь, як використовувати Git, Nano та GitHub. Потім ви перейдете до практичної частини з Git, де виконаєте декілька практичних занять і лабораторних робіт. А завдяки тесту перевірите отримані знання." - ] - }, - "introduction-to-nodejs": { - "note": "Очікуйте наприкінці 2026 року", - "intro": [ - "У цьому модулі ви ознайомитесь з Node.js — середовищем виконання JavaScript, яке дозволяє створювати бекендні застосунки за допомогою JavaScript. Потім ви виконаєте невеличке практичне заняття і перевірите отримані знання за допомогою тесту." - ] - }, - "nodejs-core-libraries": { - "note": "Очікуйте наприкінці 2026 року", - "intro": [ - "У цьому модулі ви ознайомитесь з поширеними бібліотеками Node.js, до яких належать fs, os, path та інші. Потім ви перейдете до практичних занять і лабораторних робіт, а також перевірите отримані знання за допомогою тесту." - ] - }, - "node-package-manager": { - "note": "Очікуйте наприкінці 2026 року", - "intro": [ - "У цьому модулі ви ознайомитесь з Node Package Manager, який розробники використовують для керування залежностями і скриптами проєкту. Потім ви перейдете до практичних занять і лабораторних робіт, а також перевірите отримані знання за допомогою тесту." - ] - }, - "http-and-the-web-standards-model": { - "note": "Очікуйте наприкінці 2026 року", - "intro": [ - "У цьому модулі ви дізнаєтесь про HTTP та інші важливі поняття (зокрема про модель системи запит-відповідь, поширені коди стану, DNS, TCP/IP тощо). Потім ви застосуєте ці навички на практиці, створивши власний вебсервер, а також перевірите отримані знання за допомогою тесту." - ] - }, - "rest-api-and-web-services": { - "note": "Очікуйте наприкінці 2026 року", - "intro": [ - "У цьому модулі ви дізнаєтесь про REST API (Representational State Transfer Application Programming Interface) і принципи роботи мікросервісів. А потім пройдете короткий тест, щоб перевірити отримані знання." - ] - }, - "introduction-to-express": { - "note": "Очікуйте наприкінці 2026 року", - "intro": [ - "У цьому модулі ви ознайомитесь з Express.js — фреймворком, який використовують для створення RESTful API. Потім ви перейдете до практичних занять і лабораторних робіт, а також перевірите отримані знання за допомогою тесту." - ] - }, - "express-middleware": { - "note": "Очікуйте наприкінці 2026 року", - "intro": [ - "У цьому модулі ви дізнаєтесь про проміжне програмне забезпечення в Express.js, яке обробляє запити та відповіді між клієнтом і сервером. Потім ви перейдете до практичного заняття і лабораторної роботи, а також перевірите отримані знання за допомогою тесту." - ] - }, - "error-handling-in-express": { - "note": "Очікуйте наприкінці 2026 року", - "intro": [ - "У цьому модулі ви дізнаєтесь про обробку помилок, налагодження і перевірку справності в Express.js. Потім ви застосуєте ці навички в лабораторній роботі, а також перевірите отримані знання за допомогою тесту." - ] - }, - "websockets": { - "note": "Очікуйте наприкінці 2026 року", - "intro": [ - "У цьому модулі ви ознайомитесь з Websocket — протоколом, який використовують для спілкування між клієнтом і сервером в режимі реального часу. Потім ви перейдете до практичних занять і лабораторних робіт, а також перевірите отримані знання за допомогою тесту." - ] - }, - "node-and-sql": { - "note": "Очікуйте наприкінці 2026 року", - "intro": [ - "У цьому модулі ви застосуєте Node і SQL на практиці, створивши пару застосунків. А потім пройдете короткий тест, щоб перевірити отримані знання." - ] - }, - "security-and-privacy": { - "note": "Coming Late 2026", - "intro": [ - "У цьому модулі ви дізнаєтесь про різницю між безпекою і приватністю, а також ознайомитесь з різними поняттями (включно з CSP, Permissions Policy, PII, CORS і багато іншим). Потім ви пройдете короткий тест, щоб перевірити отримані знання." - ] - }, - "authentication": { - "note": "Очікуйте наприкінці 2026 року", - "intro": [ - "У цьому модулі ви дізнаєтесь про принципи роботи автентифікації у вебзастосунках та інші важливі поняття (JWT, CSRF, Passport, Helmet, криптографія, шифрування тощо). Потім ви перейдете до практичних занять і лабораторних робіт, а також перевірите отримані знання за допомогою тесту." - ] - }, - "tooling-and-deployment": { - "note": "Очікуйте наприкінці 2026 року", - "intro": [ - "У цьому модулі ви дізнаєтесь про поширені інструменти для розгортання фулстекових програм. А потім пройдете короткий тест, щоб перевірити отримані знання." - ] - }, - "how-to-get-a-developer-job": { - "note": "Очікуйте наприкінці 2026 року", - "intro": [ - "У цьому модулі Квінсі Ларсон (засновник і вчитель freeCodeCamp) поділиться тим, як розпочати кар’єру в IT. Квінсі розкаже про резюме, портфоліо, ринок праці, підготовку до співбесіди та багато іншого." - ] - }, - "capstone-project": { - "note": "Очікуйте наприкінці 2026 року", - "intro": [ - "Чудова можливість створити повнофункціональний застосунок, використавши всі знання, отримані протягом сертифікації." - ] - }, - "certified-full-stack-developer-exam": { - "note": "Очікуйте наприкінці 2026 року", - "intro": [ - "Екзамен містить 90 запитань, які перевірять ваші знання з вивченого матеріалу." - ] - } - }, - "blocks": { - "workshop-curriculum-outline": { - "title": "Створіть навчальний план", - "intro": [ - "Вітаємо на freeCodeCamp!", - "У цьому практичному занятті ви ознайомитесь з HTML та програмуванням. Ви дізнаєтесь про деякі елементи: заголовки та абзаци." - ] - }, - "lab-debug-camperbots-profile-page": { - "title": "Налагодьте профіль Кемпербота", - "intro": [ - "Кемпербот також вчиться програмувати і потребує допомоги з HTML.", - "У цій лабораторній роботі ви допоможете Кемперботу знайти і розв’язати помилки в коді." - ] - }, - "lecture-understanding-html-attributes": { - "title": "Знайомство з HTML-атрибутами", - "intro": [ - "In these lessons, you will learn more about HTML (HyperText Markup Language), a markup language for creating web pages.", - "Ви дізнаєтесь, яку роль відіграє HTML у мережі, а також ознайомитесь з його атрибутами." - ] - }, - "lab-debug-pet-adoption-page": { - "title": "Налагодьте сторінку притулку для тварин", - "intro": [ - "У цій лабораторній роботі вам потрібно знайти і виправити помилки на сторінці притулку для тварин." - ] - }, - "lecture-understanding-the-html-boilerplate": { - "title": "Знайомство з шаблонним HTML-кодом", - "intro": [ - "In these lessons, you will learn about the HTML boilerplate which is a ready-made template for your webpages.", - "Ви навчитесь працювати з елементами link, meta та іншими." - ] - }, - "workshop-cat-photo-app": { - "title": "Створіть застосунок із фото котів", - "intro": [ - "HTML розшифровується як «мова розмітки гіпертексту» та представляє вміст і структуру вебсторінки.", - "У цьому практичному занятті ви дізнаєтесь, як працювати з базовими елементами HTML, серед яких заголовки, абзаци, зображення, посилання та списки." - ] - }, - "lab-recipe-page": { - "title": "Створіть сторінку з рецептом", - "intro": [ - "У цій лабораторній роботі ви пригадаєте основи HTML, створивши вебсторінку з улюбленим рецептом. Ви створите шаблонний код HTML і будете працювати із заголовками, списками, зображеннями тощо." - ] - }, - "lecture-html-fundamentals": { - "title": "Основи HTML", - "intro": [ - "In these lessons, you will learn about HTML fundamentals like the div element, the id and class attributes, the HTML boilerplate, HTML entities, and more." - ] - }, - "workshop-bookstore-page": { - "title": "Build a Bookstore Page", - "intro": [ - "In this workshop, you will practice working with classes, ids and the div element by building a bookstore page." - ] - }, - "lecture-understanding-how-html-affects-seo": { - "title": "Understanding How HTML Affects SEO", - "intro": [ - "In these lessons, you will learn how your HTML code impacts search engine optimization." - ] - }, - "lab-travel-agency-page": { - "title": "Створіть сторінку туристичної агенції", - "intro": [ - "У цій лабораторній роботі ви пригадаєте основи HTML, створивши вебсторінку для туристичної агенції. Ви будете працювати із зображеннями, елементом figure, елементом figcaption, елементом anchor тощо." - ] - }, - "lecture-working-with-audio-and-video-elements": { - "title": "Робота з елементами audio та video", - "intro": [ - "In these lessons, you will learn how to work with the audio and video elements." - ] - }, - "lab-html-audio-and-video-player": { - "title": "Build an HTML Audio and Video Player", - "intro": [ - "In this lab, you will build an HTML audio and video player using the video and audio elements with controls and source attributes." - ] - }, - "lecture-working-with-images-and-svgs": { - "title": "Робота із зображеннями та SVG", - "intro": [ - "In these lessons, you will learn how to work with SVGs and learn about techniques for optimizing your images." - ] - }, - "workshop-build-a-heart-icon": { - "title": "Build a Heart Icon", - "intro": [ - "In this workshop, you will practice working with SVGs by building a heart icon" - ] - }, - "lecture-working-with-media": { - "title": "Робота з елементом iframe", - "intro": [ - "In these lessons, you will learn how to work with the iframe element which is used to embed an external site on your web page." - ] - }, - "workshop-build-a-video-display-using-iframe": { - "title": "Build a Video Display Using iframe", - "intro": [ - "In this workshop, you'll learn how to work with the iframe element by building a video display." - ] - }, - "lab-video-compilation-page": { - "title": "Створіть сторінку із відео", - "intro": [ - "У цій лабораторній роботі ви створите сторінку із відео. Ви зможете попрацювати з елементом iframe." - ] - }, - "lecture-working-with-links": { - "title": "Робота з посиланнями", - "intro": [ - "In these lessons, you will learn about links, the target attribute, different link states, absolute, and relative paths, and more." - ] - }, - "review-basic-html": { - "title": "Повторення основ HTML", - "intro": [ - "Перш ніж перейти до тесту «Основи HTML», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати шаблонний код HTML, елементи audio й video, різні значення атрибута target та багато іншого." - ] - }, - "quiz-basic-html": { - "title": "Тест «Основи HTML»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Основи HTML».", - "Якщо ви готуєтеся до екзамену, можете попрактикуватись на декількох тестах. Після завершення тесту ви можете повернутися на цю сторінку, щоб перейти до наступного." - ] - }, - "lecture-importance-of-semantic-html": { - "title": "Важливість семантичного HTML", - "intro": [ - "In these lessons, you will learn about semantic HTML and why you should care about it, semantic elements, how semantic HTML differs from presentational HTML, and more." - ] - }, - "lecture-understanding-nuanced-semantic-elements": { - "title": "Нюанси роботи з семантичними елементами", - "intro": [ - "In these lessons, you will learn when you should use certain semantic elements like the em element over the i element, description lists, and more." - ] - }, - "workshop-major-browsers-list": { - "title": "Build a List of Major Web Browsers", - "intro": [ - "In this workshop, you will build a description list and work with the dl, dt, and dd elements." - ] - }, - "lecture-working-with-text-and-time-semantic-elements": { - "title": "Робота з семантичними елементами тексту і часу", - "intro": [ - "In this lesson, you will learn about the importance of semantics in conveying meaning for text and time-related content including the time, blockquote elements and more." - ] - }, - "workshop-quincys-job-tips": { - "title": "Build Quincy's Job Tips Page", - "intro": [ - "In this workshop, you will practice working with semantic HTML by using the q, blockquote and cite elements." - ] - }, - "lecture-working-with-specialized-semantic-elements": { - "title": "Робота зі спеціальними семантичними елементами", - "intro": [ - "In this lesson, you will learn about specialized semantic elements like u, s, code elements and more." - ] - }, - "workshop-blog-page": { - "title": "Створіть сторінку блогу про котів", - "intro": [ - "У цьому практичному занятті ви створите сторінку блогу лише на HTML, використовуючи семантичні елементи, серед яких main, nav, article та footer." - ] - }, - "lab-event-hub": { - "title": "Створіть хаб для подій", - "intro": [ - "У цій лабораторній роботі ви створите хаб для подій і пригадаєте різні семантичні елементи, серед яких header, nav та article." - ] - }, - "review-semantic-html": { - "title": "Повторення семантичного HTML", - "intro": [ - "Перш ніж перейти до тесту «Семантичний HTML», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати em, strong, blockquote, address та інші семантичні елементи в HTML." - ] - }, - "quiz-semantic-html": { - "title": "Тест «Семантичний HTML»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Семантичний HTML».", - "Якщо ви готуєтеся до екзамену, можете попрактикуватись на декількох тестах. Після завершення тесту ви можете повернутися на цю сторінку, щоб перейти до наступного." - ] - }, - "lecture-working-with-forms": { - "title": "Робота з формами", - "intro": [ - "In these lessons, you will learn about forms, the role of labels, inputs and buttons in creating forms, client-side form validation, and form states." - ] - }, - "workshop-hotel-feedback-form": { - "title": "Створіть форму зворотного зв’язку для готелю", - "intro": [ - "У цьому практичному занятті ви створите форму зворотного зв’язку для готелю.", - "Ви навчитесь працювати з мітками, полями введення даних, наборами полів, легендами, текстовими полями та кнопками." - ] - }, - "lab-survey-form": { - "title": "Створіть форму для опитування", - "intro": [ - "У цій лабораторній роботі ви пригадаєте HTML-форми, створивши форму для опитування.", - "Ви будете практикуватись працювати з елементом label, різними елементами input, атрибутом required та багато іншим." - ] - }, - "lecture-working-with-tables": { - "title": "Робота з таблицями", - "intro": [ - "In these lessons, you will learn about HTML tables, how to create them, and when to use them." - ] - }, - "workshop-final-exams-table": { - "title": "Створіть таблицю з результатами екзамену", - "intro": [ - "У цьому практичному занятті ви дізнаєтесь, як працювати з HTML-таблицями, створивши таблицю з результатами екзамену." - ] - }, - "lab-book-catalog-table": { - "title": "Створіть каталог книг", - "intro": [ - "У цій лабораторній роботі ви пригадаєте HTML-таблиці, створивши таблицю з інформацією про книжки.", - "Ви будете практикуватись працювати з різними компонентами таблиці, серед яких елементи thead, tbody, th, tr та td." - ] - }, - "lecture-working-with-html-tools": { - "title": "Робота з інструментами HTML", - "intro": [ - "In these lessons, you will learn about HTML tools and how they let you write better code. These tools include HTML validators, DOM Inspector, and the browser developer tools." - ] - }, - "review-html-tables-and-forms": { - "title": "Повторення таблиць та форм в HTML", - "intro": [ - "Перш ніж перейти до тесту «Форми, таблиці та інструменти в HTML», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати елементи table, input та button, а також поширені інструменти (серед яких валідатор HTML) і багато іншого." - ] - }, - "quiz-html-tables-and-forms": { - "title": "Тест «Таблиці та форми в HTML»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Форми, таблиці та інструменти в HTML».", - "Якщо ви готуєтеся до екзамену, можете попрактикуватись на декількох тестах. Після завершення тесту ви можете повернутися на цю сторінку, щоб перейти до наступного." - ] - }, - "lecture-importance-of-accessibility-and-good-html-structure": { - "title": "Важливість доступності та хорошої структури HTML", - "intro": [ - "In these lessons, you will learn about accessibility and its importance, assistive tools for people with disabilities, HTML attributes that let you create inclusive websites, accessibility best practices, and much more." - ] - }, - "workshop-debug-coding-journey-blog-page": { - "title": "Debug a Coding Journey Blog Page", - "intro": [ - "In this workshop, you will debug and fix accessibility errors in a coding blog page." - ] - }, - "lecture-accessible-tables-forms": { - "title": "Робота з доступними таблицями і формами", - "intro": [ - "In these lessons, you will learn about how to create accessible tables and forms." - ] - }, - "workshop-tech-conference-schedule": { - "title": "Build a Tech Conference Schedule Table", - "intro": [ - "In this workshop, you will build an accessible tech conference schedule table." - ] - }, - "lecture-introduction-to-aria": { - "title": "Вступ до ARIA", - "intro": [ - "In these lessons, you will learn about working with ARIA roles." - ] - }, - "workshop-accessible-audio-controller": { - "title": "Build an Accessible Audio Controller", - "intro": [ - "In this workshop, you will practice accessible HTML by building an audio controller that uses the aria-labelledby attribute." - ] - }, - "lecture-accessible-media-elements": { - "title": "Робота з доступними медіаелементами", - "intro": [ - "In these lessons, you will learn about how to create accessible links, audio and video content." - ] - }, - "lab-checkout-page": { - "title": "Створіть платіжну сторінку", - "intro": [ - "У цій лабораторній роботі ви створите доступну платіжну сторінку.", - "Ви будете працювати з різними поняттями, серед яких атрибути alt та ARIA-ролі." - ] - }, - "lab-movie-review-page": { - "title": "Розробіть сторінку з рецензією на фільм", - "intro": [ - "У цій лабораторній роботі ви створите сторінку з рецензією на фільм.", - "Ви будете застосовувати семантичний HTML, атрибути alt, доступні списки, а також приховування декоративного вмісту від читачів екрана за допомогою aria-hidden." - ] - }, - "lab-multimedia-player": { - "title": "Створіть мультимедійний плеєр", - "intro": [ - "У цій лабораторній роботі ви створите мультимедійний плеєр.", - "Ви будете працювати з елементами audio та video, а також атрибутами controls й aria-label." - ] - }, - "review-html-accessibility": { - "title": "Повторення доступності в HTML", - "intro": [ - "Перш ніж перейти до тесту «Доступність в HTML», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати атрибути aria-hidden, aria-describedby, tabindex та багато іншого." - ] - }, - "quiz-html-accessibility": { - "title": "Тест «Доступність в HTML»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Доступність».", - "Якщо ви готуєтеся до екзамену, можете попрактикуватись на декількох тестах. Після завершення тесту ви можете повернутися на цю сторінку, щоб перейти до наступного." - ] - }, - "review-html": { - "title": "Повторення HTML", - "intro": [ - "Перш ніж перейти до підготовчого екзамену «HTML», повторіть основні поняття з попередніх модулів.", - "Відкрийте цю сторінку, щоб пригадати основні поняття по HTML-елементах, семантичному HTML, таблицях, формах та доступності." - ] - }, - "qpra": { - "title": "30", - "intro": [] - }, - "lecture-understanding-computer-internet-and-tooling-basics": { - "title": "Знайомство з комп’ютером, інтернетом та інструментами", - "intro": [ - "In these lessons, you will learn about the computer, its different parts, internet service providers (ISPs), and the tools professional developers use." - ] - }, - "lecture-working-with-file-systems": { - "title": "Робота з файловими системами", - "intro": [ - "In these lessons, you will learn how to work with file and folder systems on your computers. You will learn how to create, move, and delete files and folders, the best practices for naming and organizing files and folders, and more." - ] - }, - "lecture-browsing-the-web-effectively": { - "title": "Ефективне користування мережею", - "intro": [ - "In these lessons, you will learn about what websites, search engine, and web browsers are, the different browsers available, and how to get the best out of a search engine." - ] - }, - "review-computer-basics": { - "title": "Повторення основ комп’ютера", - "intro": [ - "Перш ніж перейти до тесту «Основи комп’ютера», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати про RAM, інтернет-провайдери, загальні веббраузери, пошукові системи та багато іншого." - ] - }, - "quiz-computer-basics": { - "title": "Тест «Основи комп’ютера»", - "intro": ["Перевірте, що ви дізнались про основи комп'ютера."] - }, - "lecture-what-is-css": { - "title": "Що таке CSS?", - "intro": [ - "The following lessons are all about CSS. You will learn what CSS is and its role on the web, a CSS rule and its anatomy, the three ways to write CSS and when to use each, inline and block elements, and many more." - ] - }, - "workshop-cafe-menu": { - "title": "Розробіть меню для кафе", - "intro": [ - "CSS повідомляє браузеру, як відтворювати вебсторінку. CSS можна використовувати, щоб встановити колір, шрифт, розмір та інші властивості HTML-елементів.", - "У цьому практичному занятті ви вивчите CSS, розробивши дизайн меню для вебсторінки кафе." - ] - }, - "lab-business-card": { - "title": "Створіть дизайн візитівки", - "intro": [ - "У цій лабораторній роботі ви створите візитівку та стилізуєте її за допомогою CSS.", - "Ви будете практикуватись працювати з різними властивостями стилю, серед яких color, font-size, text-align тощо." - ] - }, - "lecture-css-specificity-the-cascade-algorithm-and-inheritance": { - "title": "Специфічність, алгоритм каскаду та успадкування в CSS", - "intro": [ - "In these lessons, you will learn about CSS specificity, the common selectors and their specificities, the cascade algorithm, inheritance, and more." - ] - }, - "review-basic-css": { - "title": "CSS Fundamentals Review", - "intro": [ - "Перш ніж перейти до тесту «Основи CSS», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати margin, padding, комбінатори, специфічність та багато іншого." - ] - }, - "quiz-basic-css": { - "title": "CSS Fundamentals Quiz", - "intro": ["Перевірте, що ви дізнались про основи CSS."] - }, - "lecture-styling-lists-and-links": { - "title": "Стилізація списків і посилань", - "intro": [ - "In these lessons, 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": "Створіть стилізований список справ", - "intro": [ - "У цій лабораторній роботі ви створите список справ, які потрібно виконати, та застосуєте різні стилі до посилань.", - "Ви будете практикуватись працювати з властивостями text-decoration та list-style-type, а також змінювати стилі при наведенні чи натисканні." - ] - }, - "lecture-working-with-backgrounds-and-borders": { - "title": "Робота з фоном і кордоном", - "intro": [ - "In these lessons, you will learn about the properties and values you need to know to style backgrounds and borders of elements, alongside the accessibility considerations for backgrounds." - ] - }, - "lab-blog-post-card": { - "title": "Створіть картку для допису", - "intro": [ - "У цій лабораторній роботі ви створите картку для допису із блогу, використовуючи HTML та CSS.", - "Ви будете практикуватись працювати з різними поняттями, серед яких background-color, border-radius, поля, відступи та багато іншого." - ] - }, - "review-css-backgrounds-and-borders": { - "title": "Повторення списків, посилань, фону та кордону в CSS", - "intro": [ - "Перш ніж перейти до тесту «Фони та кордони в CSS», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати властивості background-image, border та багато іншого." - ] - }, - "quiz-css-backgrounds-and-borders": { - "title": "Тест «Фони та кордони в CSS»", - "intro": ["Перевірте, що ви дізнались про фони та кордони в CSS."] - }, - "lecture-user-interface-design-fundamentals": { - "title": "Основи UI дизайну", - "intro": [ - "In these lessons, you will learn about the fundamentals of user interface (UI) design. You will learn about the terms you need to know to communicate with designers, visual hierarchy, scaling, alignment, whitespace, and much more." - ] - }, - "lecture-user-centered-design": { - "title": "Дизайн, орієнтований на користувача", - "intro": [ - "In these lessons, you will learn about best practices for designing user-facing features like dark mode, breadcrumbs, modal dialogs, and much more. You will also learn how to conduct user research, user requirements and testing." - ] - }, - "lecture-common-design-tools": { - "title": "Поширені інструменти дизайну", - "intro": [ - "In these lessons, you will learn about the common design tools developers should know. You will also learn about design briefs and how developers work with them." - ] - }, - "review-design-fundamentals": { - "title": "Повторення основ дизайну", - "intro": [ - "Перш ніж перейти до тесту «Основи дизайну», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати про дизайн, орієнтований на користувача, масштабування, вирівнювання, хорошу візуальну ієрархію та багато іншого." - ] - }, - "quiz-design-fundamentals": { - "title": "Тест «Основи дизайну»", - "intro": ["Перевірте, що ви дізнались про основи дизайну UI."] - }, - "lecture-working-with-relative-and-absolute-units": { - "title": "Робота з відносними й абсолютними одиницями", - "intro": [ - "In these lessons, you will learn about relative and absolute units, and how they both impact what you see in the browser." - ] - }, - "lab-event-flyer-page": { - "title": "Створіть запрошення на подію", - "intro": [ - "У цій лабораторній роботі ви створите сторінку із запрошенням на подію.", - "Ви будете практикуватись вирівнювати елементи за допомогою абсолютного та відносного CSS." - ] - }, - "review-css-relative-and-absolute-units": { - "title": "Повторення відносних та абсолютних одиниць CSS", - "intro": [ - "Перш ніж перейти до тесту «Відносні та абсолютні одиниці CSS», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати відсотки, px, rem, em та багато іншого." - ] - }, - "quiz-css-relative-and-absolute-units": { - "title": "Тест «Відносні та абсолютні одиниці CSS»", - "intro": [ - "Перевірте, що ви дізнались про відносні та абсолютні одиниці в CSS." - ] - }, - "lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": { - "title": "Робота з псевдокласами та псевдоелементами в CSS", - "intro": [ - "In these lessons, you will learn about pseudo-classes and pseudo-elements, alongside their examples and how they work." - ] - }, - "workshop-greeting-card": { - "title": "Створіть вітальну листівку", - "intro": [ - "In the previous lessons, you learned how to work with the different types of pseudo-classes.", - "У цьому практичному занятті ви зможете попрактикувати те, чого навчились, створивши вітальну листівку." - ] - }, - "lab-job-application-form": { - "title": "Створіть форму заявки на працевлаштування", - "intro": [ - "У цій лабораторній роботі ви створите форму із заявкою на працевлаштування та стилізуєте її, використовуючи псевдокласи.", - "Ви будете практикуватись працювати з різними поняттями, серед яких :hover, :active, :focus та багато іншого." - ] - }, - "review-css-pseudo-classes": { - "title": "Повторення псевдокласів у CSS", - "intro": [ - "Перш ніж перейти до тесту «Псевдокласи та псевдоелементи в CSS», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати псевдоелементи ::before й ::after, псевдокласи :hover й :active та багато іншого." - ] - }, - "quiz-css-pseudo-classes": { - "title": "Тест «Псевдокласи в CSS»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Псевдокласи в CSS»." - ] - }, - "lecture-working-with-colors-in-css": { - "title": "Робота з кольорами в CSS", - "intro": [ - "In these lessons, you will learn about linear and radial gradients, the color theory, different kinds of colors like named, RGB, Hex, and HSL colors. You will learn how these colors work, and which to use in specific cases." - ] - }, - "workshop-colored-markers": { - "title": "Створіть набір кольорових маркерів", - "intro": [ - "У цьому практичному занятті ви створите набір кольорових маркерів. Ви попрактикуєте різні способи встановити значення кольорів та дізнаєтесь, як поєднувати кольори між собою." - ] - }, - "lab-colored-boxes": { - "title": "Створіть кольорові блоки", - "intro": [ - "У цій лабораторній роботі ви створите кольорову сітку та попрактикуєтесь додавати кольори фону до елементів, використовуючи шістнадцяткові коди, RGB і визначені назви." - ] - }, - "review-css-colors": { - "title": "Повторення кольорів у CSS", - "intro": [ - "Перш ніж перейти до тесту «Кольори в CSS», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати функцію rgb(), функцію hsl(), hex codes та багато іншого." - ] - }, - "quiz-css-colors": { - "title": "Тест «Кольори в CSS»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Кольори в CSS»." - ] - }, - "lecture-best-practices-for-styling-forms": { - "title": "Найкращі практики стилізації форм", - "intro": [ - "In these lessons, 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": { - "title": "Створіть реєстраційну форму", - "intro": [ - "У цьому практичному занятті ви навчитесь працювати з формами HTML, створивши сторінку реєстрації. Ви дізнаєтесь, як керувати типами даних, що можна ввести у формі, й деякі нові інструменти CSS для стилізації сторінки." - ] - }, - "lab-contact-form": { - "title": "Розробіть контактну форму", - "intro": [ - "У цій лабораторній роботі ви створите контактну форму в HTML та стилізуєте її за допомогою CSS." - ] - }, - "workshop-game-settings-panel": { - "title": "Build a Game Settings Panel", - "intro": [ - "In this workshop, you will practice styling checkboxes by building a game settings panel." - ] - }, - "lab-feature-selection": { - "title": "Design a Feature Selection Page", - "intro": [ - "In this lab, you'll build a feature selection page with custom-styled checkboxes.", - "You'll create feature cards with labels and checkboxes, then give custom styling to the checkboxes." - ] - }, - "review-styling-forms": { - "title": "Повторення стилізації форм", - "intro": [ - "Перш ніж перейти до тесту «Стилізація форм», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати, як стилізувати введення форми, як працювати з appearance: none та багато іншого." - ] - }, - "quiz-styling-forms": { - "title": "Тест «Стилізація форм»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Стилізація форм»." - ] - }, - "lecture-working-with-css-transforms-overflow-and-filters": { - "title": "Робота з трансформаціями, переповненням і ефектами в CSS", - "intro": [ - "In these lessons, you will learn about working with CSS transforms, overflow, and filters. You will also learn about the box model and how it works." - ] - }, - "workshop-rothko-painting": { - "title": "Створіть картину Ротко", - "intro": [ - "Кожен елемент HTML є власним блоком із власним простором та кордоном. Це називається блоковою моделлю.", - "У цьому практичному занятті ви будете використовувати CSS та блокову модель, щоб створити власну картину в стилі Ротко." - ] - }, - "lab-confidential-email-page": { - "title": "Створіть конфіденційний лист", - "intro": [ - "У цій лабораторній роботі ви створите вебсторінку, використовуючи HTML, та замаскуєте вміст за допомогою властивостей CSS." - ] - }, - "review-css-layout-and-effects": { - "title": "Повторення макетів та ефектів у CSS", - "intro": [ - "Перш ніж перейти до тесту «Макети та ефекти в CSS», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати властивість transform, блокову модель, властивість overflow та багато іншого." - ] - }, - "quiz-css-layout-and-effects": { - "title": "Тест «Макети та ефекти в CSS»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Макети та ефекти в CSS»." - ] - }, - "lecture-working-with-css-flexbox": { - "title": "Робота з CSS Flexbox", - "intro": [ - "In these lessons, you will learn how CSS flexbox works, its properties, and when you should use it." - ] - }, - "workshop-flexbox-photo-gallery": { - "title": "Створіть фотогалерею із Flexbox", - "intro": [ - "У цьому практичному занятті ви будете використовувати Flexbox, щоб створити адаптивну вебсторінку із фотогалереєю." - ] - }, - "lab-page-of-playing-cards": { - "title": "Створіть сторінку гральних карт", - "intro": [ - "У цій лабораторній роботі ви будете використовувати гнучку модель, щоб створити вебсторінку з гральними картами.", - "Ви будете практикуватись вирівнювати елементи за допомогою різних властивостей, серед яких flex-direction, justify-content, align-self та багато інших." - ] - }, - "review-css-flexbox": { - "title": "Повторення CSS Flexbox", - "intro": [ - "Перш ніж перейти до тесту «CSS Flexbox», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати властивості flex-direction, justify-content, align-items, flex-wrap та багато іншого." - ] - }, - "quiz-css-flexbox": { - "title": "Тест «CSS Flexbox»", - "intro": ["Перевірте, що ви дізнались про CSS flexbox."] - }, - "lecture-working-with-css-fonts": { - "title": "Робота з шрифтами в CSS", - "intro": [ - "In these lessons, you will learn about typography and its best practices, fonts, and the text-shadow property." - ] - }, - "workshop-nutritional-label": { - "title": "Створіть харчову етикетку", - "intro": [ - "Типографія — це мистецтво стилізації тексту, щоб його було легко читати та він відповідав своєму призначенню.", - "У цьому практичному занятті ви будете використовувати типографію, щоб створити вебсторінку з харчовою етикеткою. Ви дізнаєтеся, як стилізувати текст, регулювати висоту рядка та позиціювати текст за допомогою CSS." - ] - }, - "lab-newspaper-article": { - "title": "Створіть статтю в газеті", - "intro": [ - "У цій лабораторній роботі ви створите сторінку зі статтею з журналу, використовуючи HTML та CSS.", - "Ви будете стилізувати шрифти, використовуючи такі властивості, як font-family, font-size, font-weight тощо." - ] - }, - "review-css-typography": { - "title": "Повторення типографії в CSS", - "intro": [ - "Перш ніж перейти до тесту «Типографія», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати веббезпечні шрифти, властивість font-family та багато іншого." - ] - }, - "quiz-css-typography": { - "title": "Тест «Типографія в CSS»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Типографія»." - ] - }, - "lecture-best-practices-for-accessibility-and-css": { - "title": "Найкращі практики доступності й CSS", - "intro": [ - "In these lessons, you will learn about best practices for accessibility in CSS, and the tools for checking good color contrast on websites." - ] - }, - "workshop-accessibility-quiz": { - "title": "Створіть сторінку з вікториною", - "intro": [ - "Доступність полегшує користування вебсторінкою для всіх людей, навіть для людей з порушеннями.", - "У цьому практичному занятті ви створите вебсторінку з вікториною. Ви дізнаєтеся про інструменти доступності, серед яких комбінації клавіш, атрибути ARIA та найкращі поради щодо дизайну." - ] - }, - "lab-tribute-page": { - "title": "Створіть пам’ятну сторінку", - "intro": [ - "У цій лабораторній роботі ви створите пам’ятну сторінку на власну тему." - ] - }, - "review-css-accessibility": { - "title": "Повторення доступності в CSS", - "intro": [ - "Перш ніж перейти до тесту «Доступність в CSS», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати інструменти контрастності кольорів та найкращі практики доступності." - ] - }, - "quiz-css-accessibility": { - "title": "Тест «Доступність в CSS»", - "intro": [ - "Перевірте, що ви дізнались про доступність вебсторінок із CSS." - ] - }, - "lecture-understanding-how-to-work-with-floats-and-positioning-in-css": { - "title": "Знайомство з вирівнюванням й позиціюванням в CSS", - "intro": [ - "In these lessons, 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": { - "title": "Створіть малюнок кота", - "intro": [ - "Позиціювання CSS важливо опанувати для того, щоб створювати візуально привабливі та адаптивні вебмакети.", - "У цьому практичному занятті ви створите малюнок кота. Ви дізнаєтесь, як працювати з абсолютним позиціюванням, а також з властивостями z-index й transform." - ] - }, - "lab-house-painting": { - "title": "Створіть малюнок будинку", - "intro": [ - "У цій лабораторній роботі ви створите малюнок будинку за допомогою CSS.", - "Ви будете проєктувати окремі елементи будинку та розміщувати їх, використовуючи різні властивості, серед яких position, top, left і багато інших." - ] - }, - "review-css-positioning": { - "title": "Повторення позиціювання в CSS", - "intro": [ - "Перш ніж перейти до тесту «Позиціювання в CSS», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати обтікання, відносне позиціювання, абсолютне позиціювання та багато іншого." - ] - }, - "quiz-css-positioning": { - "title": "Тест «Позиціювання в CSS»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Позиціювання в CSS»." - ] - }, - "lecture-working-with-attribute-selectors": { - "title": "Робота з селекторами атрибутів", - "intro": [ - "In these lessons, you will learn about attribute selectors and how to use them to target elements like links and lists." - ] - }, - "workshop-balance-sheet": { - "title": "Створіть бухгалтерський баланс", - "intro": [ - "У цьому практичному занятті ви побудуєте бухгалтерський баланс за допомогою псевдоселекторів. Ви дізнаєтеся, як змінити стиль елемента, коли ви наводите на нього курсор, та запускати інші події на вебсторінці." - ] - }, - "lab-book-inventory-app": { - "title": "Створіть застосунок для інвентаризації книг", - "intro": [ - "У цій лабораторній роботі ви створите застосунок для інвентаризації книг.", - "Ви будете практикуватись використовувати селектори атрибутів у CSS, серед яких [attribute], [attribute=value], [attribute~=value] та багато інших." - ] - }, - "review-css-attribute-selectors": { - "title": "Повторення селекторів атрибутів у CSS", - "intro": [ - "Перш ніж перейти до тесту «Селектори атрибутів у CSS», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати, як працювати з різними селекторами атрибутів, які націлюють посилання атрибутами href та title." - ] - }, - "quiz-css-attribute-selectors": { - "title": "Тест «Селектори атрибутів у CSS»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Селектори атрибутів у CSS»." - ] - }, - "lecture-best-practices-for-responsive-web-design": { - "title": "Найкращі практики адаптивного вебдизайну", - "intro": [ - "In these lessons, you will learn about the best practices for responsive web design, the roles concepts like grid, flexbox, media queries, and media breakpoints play in responsive design, and more." - ] - }, - "workshop-piano": { - "title": "Розробіть піаніно", - "intro": [ - "Адаптивний дизайн повідомляє вебсторінці, як вона має виглядати на екранах різного розміру.", - "У цьому практичному занятті ви використовуватимете CSS та адаптивний дизайн, щоб створити піаніно. До того ж ви більше дізнаєтесь про медіазапити та псевдоселектори." - ] - }, - "lab-technical-documentation-page": { - "title": "Побудуйте сторінку технічної документації", - "intro": [ - "У цій лабораторній роботі ви створите сторінку технічної документації, яка служитиме інструкцією або довідником.", - "Ви також попрактикуєте роботу з медіазапитами для створення адаптивного дизайну." - ] - }, - "review-responsive-web-design": { - "title": "Повторення адаптивного вебдизайну", - "intro": [ - "Перш ніж перейти до тесту «Адаптивний вебдизайн», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати медіазапити, точки зупинки та принцип mobile first." - ] - }, - "quiz-responsive-web-design": { - "title": "Тест «Адаптивний вебдизайн»", - "intro": ["Перевірте, що ви дізнались про адаптивність вебсторінок."] - }, - "lecture-working-with-css-variables": { - "title": "Робота зі змінними в CSS", - "intro": [ - "In these lessons, you will learn how to define and use custom properties (also known as CSS variables). You will also learn about the @property rule and how it works." - ] - }, - "workshop-city-skyline": { - "title": "Створіть панораму міста", - "intro": [ - "Змінні CSS допомагають організувати стилі та повторно використовувати їх.", - "У цьому практичному занятті ви побудуєте панораму міста. Ви дізнаєтеся, як налаштувати змінні CSS, щоб повторно використовувати їх, коли забажаєте." - ] - }, - "lab-availability-table": { - "title": "Створіть таблицю з вільними годинами", - "intro": [ - "У цій лабораторній роботі ви створите таблицю з вільними годинами, яка показуватиме, чи людина може бути присутньою на зустрічі.", - "Ви будете практикуватись використовувати CSS-змінні, щоб зберігати й повторно використовувати кольори, шрифти та інші стилі." - ] - }, - "review-css-variables": { - "title": "Повторення змінних в CSS", - "intro": [ - "Перш ніж перейти до тесту «Змінні в CSS», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати, як працювати з власними CSS-властивостями (CSS-змінними) та директивою @property." - ] - }, - "quiz-css-variables": { - "title": "Тест «Змінні в CSS»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Змінні в CSS»." - ] - }, - "lecture-working-with-css-grid": { - "title": "Робота з сіткою в CSS", - "intro": [ - "In these lessons, you will learn about CSS grid, its several properties and how to use them, and how CSS grid differs from flexbox." - ] - }, - "workshop-magazine": { - "title": "Створіть журнал", - "intro": [ - "CSS-сітка дозволяє керувати рядками та стовпцями вебсторінки.", - "У цьому практичному занятті ви створите статтю в журналі. Ви дізнаєтеся, як використовувати сітку, включно з рядками та стовпцями." - ] - }, - "lab-newspaper-layout": { - "title": "Design a Newspaper Layout", - "intro": [ - "In this lab, you will design a newspaper layout using CSS Grid, including concepts like grid rows and grid columns." - ] - }, - "lecture-debugging-css": { - "title": "Налагодження CSS", - "intro": [ - "In this lesson, you'll learn how to debug CSS using your browser's developer tools and CSS validators." - ] - }, - "lab-product-landing-page": { - "title": "Створіть посадкову сторінку продукту", - "intro": [ - "У цьому проєкті ви створите посадкову сторінку продукту, щоб прорекламувати продукт за власним вибором." - ] - }, - "review-css-grid": { - "title": "Повторення сітки в CSS", - "intro": [ - "Перш ніж перейти до тесту «Сітка в CSS», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати, як працювати з різними властивостями CSS-сітки, серед яких grid-template-columns, grid-gap тощо." - ] - }, - "quiz-css-grid": { - "title": "Тест «Сітка в CSS»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Сітка в CSS»." - ] - }, - "lecture-animations-and-accessibility": { - "title": "Анімація та доступність", - "intro": [ - "In these lessons, 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": { - "title": "Створіть оглядове колесо", - "intro": [ - "У CSS можна використати анімацію, щоб привернути увагу до певних розділів вебсторінки та зробити її більш привабливою.", - "У цьому практичному занятті ви побудуєте оглядове колесо. Ви будете використовувати CSS для анімації, трансформації та регулювання швидкості елементів." - ] - }, - "lab-moon-orbit": { - "title": "Побудуйте орбіту Місяця", - "intro": [ - "У цій лабораторній роботі ви створите анімацію оберту Місяця навколо Землі.", - "Ви будете практикуватись використовувати анімаційні властивості, серед яких animation-name, animation-duration, animation-timing-function і багато інших." - ] - }, - "workshop-flappy-penguin": { - "title": "Створіть пінгвіна Флаппі", - "intro": [ - "HTML-елементи можна змінити, щоб створити хороший дизайн, який привертає увагу читача. Ви можете використовувати трансформації, щоб обертати елементи, масштабувати їх тощо.", - "У цьому практичному занятті ви створите пінгвіна. Ви будете використовувати трансформації CSS, щоб позиціювати й змінити розмір частин пінгвіна, створити фон та анімувати роботу." - ] - }, - "lab-personal-portfolio": { - "title": "Створіть особисте портфоліо", - "intro": ["У цьому проєкті ви створите особисте портфоліо."] - }, - "review-css-animations": { - "title": "Повторення анімацій в CSS", - "intro": [ - "Перш ніж перейти до тесту «Анімації в CSS», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати prefers-reduced-motion, директиву @keyframes та багато іншого." - ] - }, - "quiz-css-animations": { - "title": "Тест «Анімації в CSS»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Анімації в CSS»." - ] - }, - "review-css": { - "title": "Повторення CSS", - "intro": [ - "Перш ніж перейти до підготовчого екзамену «CSS», повторіть основні поняття з попередніх модулів.", - "Відкрийте цю сторінку, щоб пригадати основи CSS, адаптивного вебдизайну, анімацій, доступності тощо." - ] - }, - "lecture-working-with-code-editors-and-ides": { - "title": "Робота з редакторами коду та IDE", - "intro": [ - "In these lessons, you will learn how to work with code editors and IDEs. You will learn various concepts about the most popular code editor, VS Code such as its installation, how to create a project in it, keyboard shortcuts, and extensions." - ] - }, - "lecture-introduction-to-javascript": { - "title": "Вступ до JavaScript", - "intro": [ - "In these lessons, you will learn the fundamentals of JavaScript. Topics covered include, but are not limited to, variables, data types, how JavaScript interacts with HTML and CSS, and much more." - ] - }, - "lecture-introduction-to-strings": { - "title": "Introduction to Strings", - "intro": [ - "In these lessons, you will learn how to work with strings and string concatenation." - ] - }, - "lecture-understanding-code-clarity": { - "title": "Understanding Code Clarity", - "intro": [ - "In these lessons, you will learn about comments in JavaScript and the role of semicolons in programming." - ] - }, - "workshop-greeting-bot": { - "title": "Створіть вітального бота", - "intro": [ - "У цьому практичному занятті ви дізнаєтесь, як працювати з основами JavaScript, створивши вітального бота.", - "Ви дізнаєтесь про змінні, let, const, console.log та базове використання рядка." - ] - }, - "lab-javascript-trivia-bot": { - "title": "Створіть бот з вікториною на JavaScript", - "intro": [ - "У цій лабораторній роботі ви попрактикуєтесь працювати зі змінними та рядками в JavaScript, створивши бот з вікториною." - ] - }, - "lab-sentence-maker": { - "title": "Створіть творця речень", - "intro": [ - "У цій лабораторній роботі ви продовжите працювати з рядками і конкатенацією, створюючи та налаштовуючи різні історії." - ] - }, - "lecture-working-with-data-types": { - "title": "Робота з типами даних", - "intro": [ - "In the following lessons, you will learn how to work with data types in JavaScript. You will also learn how dynamic typing differs from static typing, the typeof operator, and the typeof null bug." - ] - }, - "review-javascript-variables-and-data-types": { - "title": "Повторення змінних та типів даних в JavaScript", - "intro": [ - "Перш ніж перейти до тесту «Змінні та типи даних в JavaScript», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати змінні, типи даних, логи та коментування." - ] - }, - "quiz-javascript-variables-and-data-types": { - "title": "Тест «Змінні та типи даних в JavaScript»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Змінні та типи даних в JavaScript»." - ] - }, - "lecture-working-with-strings-in-javascript": { - "title": "Робота з рядками в JavaScript", - "intro": [ - "In these lessons, you will learn how to work with strings in JavaScript. You will learn how to access characters from a string, how to use template literals and interpolation, how to create a new line in strings, and much more." - ] - }, - "workshop-teacher-chatbot": { - "title": "Створіть вчителя-бота", - "intro": [ - "У цьому практичному занятті ви продовжите знайомство з рядками JavaScript, створивши чат-бот.", - "Ви навчитеся працювати з шаблонними літерами та методом indexOf." - ] - }, - "lecture-working-with-string-character-methods": { - "title": "Working with String Character Methods", - "intro": [ - "In this lesson you will learn about ASCII character encoding and how to use JavaScript's charCodeAt() and fromCharCode() methods to convert between characters and their numerical ASCII values." - ] - }, - "lecture-working-with-string-search-and-slice-methods": { - "title": "Working with String Search and Slice Methods", - "intro": [ - "In this lesson you will learn how to search for substrings using the includes() method and how to extract portions of strings using the slice() method." - ] - }, - "workshop-string-inspector": { - "title": "Build a String Inspector", - "intro": [ - "In this workshop, you will practice working with the includes() and slice() methods by building a string inspector." - ] - }, - "lecture-working-with-string-formatting-methods": { - "title": "Working with String Formatting Methods", - "intro": [ - "In this lesson you will learn how to format strings by changing their case using toUpperCase() and toLowerCase() methods, and how to remove whitespace using trim(), trimStart(), and trimEnd() methods." - ] - }, - "workshop-string-formatter": { - "title": "Build a String Formatter", - "intro": [ - "In this workshop, you will practice working with various string methods including the trim(), toUpperCase() and toLowerCase() methods." - ] - }, - "lecture-working-with-string-modification-methods": { - "title": "Working with String Modification Methods", - "intro": [ - "In this lesson you will learn how to modify strings by replacing parts of them using the replace() method and how to repeat strings multiple times using the repeat() method." - ] - }, - "workshop-string-transformer": { - "title": "Build a String Transformer", - "intro": [ - "In this workshop, you will practice working with the replace(), replaceAll() and repeat() methods." - ] - }, - "review-javascript-strings": { - "title": "Повторення рядків у JavaScript", - "intro": [ - "Перш ніж перейти до тесту «Рядки в JavaScript», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати, як працювати з шаблонними літералами, а також з методами slice, includes, trim та багато іншого." - ] - }, - "quiz-javascript-strings": { - "title": "Тест «Рядки в JavaScript»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Рядки в JavaScript»." - ] - }, - "lecture-working-with-numbers-and-arithmetic-operators": { - "title": "Working with Numbers and Arithmetic Operators", - "intro": [ - "In these lessons you will learn about the number type, arithmetic operators, and using them with numbers and strings." - ] - }, - "lab-debug-type-coercion-errors": { - "title": "Debug Type Coercion Errors in a Buggy App", - "intro": [ - "In this lab, you will be working with a buggy app that contains several type coercion errors.", - "Your task is to identify and fix these errors to ensure the application functions correctly." - ] - }, - "lecture-working-with-operator-behavior": { - "title": "Working with Operator Behavior", - "intro": [ - "In these lessons you will learn about operator precedence, the increment and decrement operators, and compound assignment operators." - ] - }, - "lab-debug-increment-and-decrement-operator-errors": { - "title": "Debug Increment and Decrement Operator Errors in a Buggy App", - "intro": [ - "In this lab, you'll debug an application that has several errors related to the increment and decrement operators.", - "Your task is to identify and fix the errors so that the application works as intended." - ] - }, - "lecture-working-with-comparison-and-boolean-operators": { - "title": "Working with Comparison and Boolean Operators", - "intro": [ - "In these lessons you will learn about booleans, and equality and inequality operators, and other comparison operators." - ] - }, - "lecture-working-with-unary-and-bitwise-operators": { - "title": "Working with Unary and Bitwise Operators", - "intro": [ - "In these lessons you will learn about unary and bitwise operators." - ] - }, - "lecture-working-with-conditional-logic-and-math-methods": { - "title": "Working with Conditional Logic and Math Methods", - "intro": [ - "In these lessons you will learn about conditional statements, binary logical operators, and the Math object." - ] - }, - "workshop-mathbot": { - "title": "Створіть математичний бот", - "intro": [ - "У цьому практичному занятті ви пригадаєте, як працювати з різними методами математичних об’єктів, створивши математичний бот." - ] - }, - "lab-fortune-teller": { - "title": "Створіть генератор передбачень", - "intro": [ - "У цій лабораторній роботі ви створите генератор передбачень, де користувач випадково обиратиме передбачення зі всіх доступних.", - "Ви будете практикуватись працювати з методами Math.random() та Math.floor(), щоб генерувати випадкові числа." - ] - }, - "lecture-working-with-numbers-and-common-number-methods": { - "title": "Робота з числами й поширені методи роботи з ними", - "intro": [ - "In these lessons, you will learn about numbers and common number methods. These include isNaN(), parseInt(), parseFloat(), and toFixed()." - ] - }, - "review-javascript-math": { - "title": "Повторення об’єкту Math в JavaScript", - "intro": [ - "Перш ніж перейти до тесту «Об’єкт Math в JavaScript», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати, як працювати з методами Math.random(), Math.floor() тощо." - ] - }, - "quiz-javascript-math": { - "title": "Тест «Об’єкт Math в JavaScript»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Об’єкт Math в JavaScript»." - ] - }, - "lecture-understanding-comparisons-and-conditionals": { - "title": "Знайомство з порівняннями й умовами", - "intro": [ - "In these lessons, you will learn about comparison operators and conditionals. You will learn how the various conditionals differ from one another, and how comparisons work with null and undefined." - ] - }, - "review-javascript-comparisons-and-conditionals": { - "title": "Повторення порівняння та умов у JavaScript", - "intro": [ - "Перш ніж перейти до тесту «Порівняння та умови в JavaScript», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати, як працювати з інструкціями switch, а також з іншими типами умовних інструкцій." - ] - }, - "quiz-javascript-comparisons-and-conditionals": { - "title": "Тест «Порівняння та умови в JavaScript»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Порівняння та умови в JavaScript»." - ] - }, - "lecture-working-with-functions": { - "title": "Робота з функціями", - "intro": [ - "In these lessons, you will learn how to reuse a block of code with functions. You will learn what the purpose of a function is and how they work, and how scope works in programming. " - ] - }, - "workshop-calculator": { - "title": "Створіть калькулятор", - "intro": [ - "У цьому практичному занятті ви пригадаєте, як працювати з функціями, створивши калькулятор." - ] - }, - "lab-boolean-check": { - "title": "Build a Boolean Check Function", - "intro": [ - "In this lab, you'll implement a function that checks if a value is a boolean." - ] - }, - "lab-email-masker": { - "title": "Створіть маскування електронної пошти", - "intro": [ - "У цій лабораторній роботі ви створите маскування е-пошти, яке прийматиме адресу та приховуватиме її.", - "Ви будете практикуватись розрізати рядок, застосовувати конкатенацію та використовувати функції." - ] - }, - "workshop-loan-qualification-checker": { - "title": "Створіть перевірку на дотримання вимог до позики", - "intro": [ - "У цьому практичному занятті ви продовжите вивчати про умовні інструкції, створивши перевірку на дотримання вимог до позики.", - "Ви детальніше дізнаєтесь про інструкції if та як використовувати оператори порівняння і декілька умов в інструкції if." - ] - }, - "lab-celsius-to-fahrenheit-converter": { - "title": "Build a Celsius to Fahrenheit Converter", - "intro": [ - "In this lab you will implement a function that converts the temperature from Celsius to Fahrenheit." - ] - }, - "lab-counting-cards": { - "title": "Build a Card Counting Assistant", - "intro": ["In this lab you will use JavaScript to count dealt cards."] - }, - "lab-leap-year-calculator": { - "title": "Створіть калькулятор високосних років ", - "intro": [ - "У цій лабораторній роботі ви будете використовувати умовні інструкції та цикли, щоб визначити, чи рік високосний." - ] - }, - "lab-truncate-string": { - "title": "Імплементуйте алгоритм скорочення рядка", - "intro": [ - "У цій лабораторній роботі ви навчитесь скорочувати рядок до певної довжини." - ] - }, - "lab-string-ending-checker": { - "title": "Build a Confirm the Ending Tool", - "intro": [ - "In this lab, you will implement a function that checks if a given string ends with a specified target string." - ] - }, - "review-javascript-functions": { - "title": "Повторення функцій в JavaScript", - "intro": [ - "Перш ніж перейти до тесту «Функції в JavaScript», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати функції, стрілкові функції та область видимості." - ] - }, - "quiz-javascript-functions": { - "title": "Тест «Функції в JavaScript»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Функції в JavaScript»." - ] - }, - "lecture-working-with-arrays": { - "title": "Робота з масивами", - "intro": [ - "In these lessons, you will learn how to work with JavaScript arrays. You will learn about what makes an array, one-dimensional and two-dimensional arrays, how to access and update the elements in an array, and much more." - ] - }, - "workshop-shopping-list": { - "title": "Створіть список покупок", - "intro": [ - "У цьому практичному занятті ви попрактикуєтесь працювати з масивами, створивши список покупок.", - "Ви пригадаєте, як додавати й видаляти елементи з масиву за допомогою різних методів, серед яких push, pop, shift та unshift." - ] - }, - "lab-lunch-picker-program": { - "title": "Створіть програму для вибору перекусу", - "intro": [ - "У цій лабораторній роботі ви пригадаєте, як працювати з масивами й випадковими числами, створивши програму для вибору перекусу." - ] - }, - "lab-golf-score-translator": { - "title": "Build a Golf Score Translator", - "intro": [ - "For this lab, you will use array methods to translate golf scores into their nickname." - ] - }, - "lab-reverse-a-string": { - "title": "Build a String Inverter", - "intro": [ - "In this lab, you create a function that reverses a given string." - ] - }, - "lecture-working-with-common-array-methods": { - "title": "Поширені методи роботи з масивами", - "intro": [ - "In these lessons, you will learn about the array methods for performing more advanced operations like getting the position of an item in an array, checking if an array contains a certain element, copying an array, and lots more." - ] - }, - "review-javascript-arrays": { - "title": "Повторення масивів у JavaScript", - "intro": [ - "Перш ніж перейти до тесту «Масиви в JavaScript», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати деструктуризацію масивів, додавання і вилучення елементів з масиву та багато іншого." - ] - }, - "quiz-javascript-arrays": { - "title": "Тест «Масиви в JavaScript»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Масиви в JavaScript»." - ] - }, - "lecture-introduction-to-javascript-objects-and-their-properties": { - "title": "Introduction to JavaScript Objects and Their Properties", - "intro": [ - "In these lessons, you will learn the fundamentals of JavaScript objects, including how to create them, access their properties, and understand the difference between primitive and non-primitive data types." - ] - }, - "lecture-working-with-optional-chaining-and-object-destructuring": { - "title": "Working with Optional Chaining and Object Destructuring", - "intro": [ - "In these lessons, you will learn about advanced object manipulation techniques in JavaScript, including the optional chaining operator and object destructuring syntax." - ] - }, - "lecture-working-with-json": { - "title": "Working with JSON", - "intro": [ - "In these lessons, you will learn about JavaScript Object Notation (JSON), including how to access JSON data and use the JSON.parse() and JSON.stringify() methods." - ] - }, - "workshop-recipe-tracker": { - "title": "Створіть трекер рецептів", - "intro": [ - "У цьому практичному занятті ви пригадаєте, як працювати з об’єктами в JavaScript, створивши трекер рецептів." - ] - }, - "lab-quiz-game": { - "title": "Створіть ігрову вікторину", - "intro": [ - "У цій лабораторній роботі ви створите ігрову вікторину, використовуючи масиви та об’єкти в JavaScript.", - "Ви будете практикуватись використовувати функції для випадкового вибору запитання й відповіді з масиву та порівнюватимете їх." - ] - }, - "lab-record-collection": { - "title": "Build a Record Collection", - "intro": [ - "In this lab you will build a function to manage a record collection." - ] - }, - "review-javascript-objects": { - "title": "Повторення об’єктів у JavaScript", - "intro": [ - "Перш ніж перейти до тесту «Об’єкти в JavaScript», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати, як отримувати інформацію з об’єктів, деструктуризацію об’єктів, роботу з JSON та багато іншого." - ] - }, - "quiz-javascript-objects": { - "title": "Тест «Об’єкти в JavaScript»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Об’єкти в JavaScript»." - ] - }, - "lecture-working-with-loops": { - "title": "Робота з циклами", - "intro": [ - "Loops are an essential part of JavaScript. That's why the following lessons have been prepared for you to learn about the different types of loops and how they work, and also how iteration works." - ] - }, - "workshop-sentence-analyzer": { - "title": "Створіть аналізатор речень", - "intro": [ - "У цьому практичному занятті ви пригадаєте, як працювати з циклами в JavaScript, створивши аналізатор речень." - ] - }, - "lab-longest-word-in-a-string": { - "title": "Build a Longest Word Finder App", - "intro": [ - "In this lab, you will use JavaScript loops to find the length of the longest word in the given sentence." - ] - }, - "lab-factorial-calculator": { - "title": "Створіть калькулятор факторіалів ", - "intro": [ - "У цій лабораторній роботі ви створите калькулятор факторіалів.", - "Ви будете практикуватись використовувати цикли та умови для обчислення факторіала числа." - ] - }, - "lab-mutations": { - "title": "Імплементуйте алгоритм мутацій", - "intro": [ - "У цій лабораторній роботі ви навчитесь ітерувати над двома різними рядками і порівнювати їхні символи." - ] - }, - "lab-chunky-monkey": { - "title": "Імплементуйте алгоритм мавпочки Чанкі", - "intro": [ - "У цій лабораторній роботі ви навчитесь ділити масив на менші частини, використовуючи метод на власний вибір." - ] - }, - "lab-profile-lookup": { - "title": "Build a Profile Lookup", - "intro": [ - "In this lab, you'll create a function that looks up profile information." - ] - }, - "lab-repeat-a-string": { - "title": "Build a String Repeating Function", - "intro": [ - "In this lab, you will implement loops to repeat a string a specified number of times." - ] - }, - "lab-missing-letter-detector": { - "title": "Build a Missing Letter Detector", - "intro": [ - "In this lab, you will build a function that finds the missing letter in a given range of consecutive letters and returns it." - ] - }, - "review-javascript-loops": { - "title": "Повторення циклів у JavaScript", - "intro": [ - "Перш ніж перейти до тесту «Цикли в JavaScript», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати цикл for...of, цикл while, інструкції break and continue та багато іншого." - ] - }, - "quiz-javascript-loops": { - "title": "Тест «Цикли в JavaScript»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Цикли в JavaScript»." - ] - }, - "lecture-working-with-types-and-objects": { - "title": "Working with Types and Objects", - "intro": [ - "In these lessons you will learn about string objects, the toString() method, the Number constructor and more." - ] - }, - "lecture-working-with-arrays-variables-and-naming-practices": { - "title": "Working with Arrays, Variables, and Naming Practices", - "intro": [ - "In these lessons you will learn about common practices for naming variables and functions, and how to work with arrays." - ] - }, - "lecture-working-with-code-quality-and-execution-concepts": { - "title": "Working with Code Quality and Execution Concepts", - "intro": [ - "In these lessons you will learn what are linters and formatters, what is memory management, and closures." - ] - }, - "lab-largest-number-finder": { - "title": "Build the Largest Number Finder", - "intro": [ - "In this lab, you will use JavaScript fundamentals to create a function that finds the largest number in each sub-array of a given array." - ] - }, - "lab-first-element-finder": { - "title": "Build a First Element Finder", - "intro": [ - "In this lab, you will create a function that looks through an array and returns the first element in it that passes a \"truth test\"." - ] - }, - "lab-slice-and-splice": { - "title": "Імплементуйте алгоритм розрізання і з’єднання", - "intro": ["У цій лабораторній роботі ви навчитесь з’єднувати масиви."] - }, - "lab-pyramid-generator": { - "title": "Створіть генератор пірамід", - "intro": [ - "У цій лабораторній роботі ви створите генератор пірамід.", - "Ви будете приймати число як вхідні дані та, використовуючи цикл, згенеруєте піраміду з такою кількістю рівнів." - ] - }, - "lab-gradebook-app": { - "title": "Створіть відомість з оцінками", - "intro": [ - "У цій лабораторній роботі ви створите електронну відомість з оцінками.", - "Ви будете використовувати умови, щоб визначити підсумкову оцінку студента на основі його балів." - ] - }, - "lecture-the-var-keyword-and-hoisting": { - "title": "Ключове слово var та підняття", - "intro": [ - "In these lessons, 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-title-case-converter": { - "title": "Build a Title Case Converter", - "intro": [ - "In this lab, you will build a function that converts a string to title case." - ] - }, - "lab-falsy-remover": { - "title": "Implement a Falsy Remover", - "intro": [ - "In this lab, you will create a function that removes all falsy values from an array." - ] - }, - "lab-inventory-management-program": { - "title": "Створіть програму керування запасами", - "intro": [ - "У цій лабораторній роботі ви створите програму керування запасами за допомогою JavaScript.", - "Ви будете використовувати масив об’єктів JavaScript для керування запасами." - ] - }, - "lecture-understanding-modules-imports-and-exports": { - "title": "Знайомство з модулями, імпортом та експортом", - "intro": [ - "In this lesson, you will learn about modules, imports, and exports in JavaScript." - ] - }, - "lecture-working-with-the-arguments-object-and-rest-parameters": { - "title": "Working with the arguments Object and Rest Parameters", - "intro": [ - "In these lessons, you will learn how to work with the arguments object and rest parameter syntax." - ] - }, - "lab-unique-sorted-union": { - "title": "Implement a Unique Sorted Union", - "intro": [ - "In this lab, you will create a function that takes two or more arrays and returns a new array of unique values in the order of the original provided arrays." - ] - }, - "lab-password-generator": { - "title": "Створіть генератор паролів", - "intro": [ - "У цій лабораторній роботі ви створите застосунок для генерації паролів на основі вхідних даних користувача." - ] - }, - "lab-sum-all-numbers-algorithm": { - "title": "Імплементуйте алгоритм суми всіх чисел", - "intro": [ - "У цій лабораторній роботі ви імплементуєте алгоритм суми всіх чисел. Цей алгоритм приймає два числа і повертає їхню суму, до якої також додається сума всіх чисел між ними." - ] - }, - "lab-dna-pair-generator": { - "title": "Implement a DNA Pair Generator", - "intro": [ - "In this lab you will implement a DNA base pairing algorithm that converts a single DNA strand into complementary base pairs." - ] - }, - "lab-html-entitiy-converter": { - "title": "Implement an HTML Entity Converter", - "intro": [ - "In this lab, you will convert special characters in a string to their corresponding HTML entities." - ] - }, - "lab-odd-fibonacci-sum-calculator": { - "title": "Build an Odd Fibonacci Sum Calculator", - "intro": [ - "In this lab you will build an odd Fibonacci sum calculator that takes a number and returns the sum of all odd Fibonacci numbers that are less than or equal to that number." - ] - }, - "lab-element-skipper": { - "title": "Implement an Element Skipper", - "intro": [ - "In this lab you will create a function that skips elements in an array based on a specified step value." - ] - }, - "lab-optional-arguments-sum-function": { - "title": "Build an Optional Arguments Sum Function", - "intro": [ - "In this lab you will build a function that accepts up to two arguments, and sum them, but if there is only one argument returns a function that waits for the second number to sum." - ] - }, - "review-javascript-fundamentals": { - "title": "Повторення основ JavaScript", - "intro": [ - "Перш ніж перейти до тесту «Основи JavaScript», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати замикання, управління пам’яттю та багато іншого." - ] - }, - "quiz-javascript-fundamentals": { - "title": "Тест «Основи JavaScript»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Основи JavaScript»." - ] - }, - "lecture-working-with-higher-order-functions-and-callbacks": { - "title": "Робота з функціями вищого порядку та зворотного виклику", - "intro": [ - "In these lessons, 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": { - "title": "Створіть менеджера бібліотеки", - "intro": [ - "У цьому практичному занятті ви дізнаєтесь про методи вищого порядку для роботи з масивами, створивши менеджера бібліотеки." - ] - }, - "lab-book-organizer": { - "title": "Створіть органайзер для книжок", - "intro": [ - "У цій лабораторній роботі ви створите органайзер для книжок, використовуючи функції вищого порядку в JavaScript." - ] - }, - "lab-sorted-index-finder": { - "title": "Implement a Sorted Index Finder", - "intro": [ - "In this lab, you will create a function that finds the index at which a given number should be inserted into a sorted array to maintain the array's sorted order." - ] - }, - "lab-symmetric-difference": { - "title": "Build a Symmetric Difference Function", - "intro": [ - "In this lab, you will practice using higher order functions to find the symmetric difference between two arrays." - ] - }, - "lab-value-remover-function": { - "title": "Implement a Value Remover Function", - "intro": [ - "In this lab, you will create a function that removes all instances of a specified value from an array." - ] - }, - "lab-matching-object-filter": { - "title": "Implement a Matching Object Filter", - "intro": [ - "In this lab, you will create a function that looks through an array of objects and returns an array of all objects that have matching property and value pairs." - ] - }, - "lab-prime-number-sum-calculator": { - "title": "Build a Prime Number Sum Calculator", - "intro": [ - "In this lab you will build a prime number sum calculator that takes a number and returns the sum of all prime numbers that are less than or equal to that number." - ] - }, - "lab-range-based-lcm-calculator": { - "title": "Implement a Range-Based LCM Calculator", - "intro": [ - "In this lab, you will create a function that takes an array of two numbers and returns the least common multiple (LCM) of those two numbers and all the numbers between them." - ] - }, - "lab-deep-flattening-tool": { - "title": "Create a Deep Flattening Tool", - "intro": [ - "In this lab you will create a function that can flatten deeply nested arrays, handling any level of nesting without using built-in flat methods." - ] - }, - "lab-all-true-property-validator": { - "title": "Build an All-True Property Validator", - "intro": [ - "In this lab you will build a function that checks if all objects in an array have a truthy value for a specific property." - ] - }, - "review-javascript-higher-order-functions": { - "title": "Повторення функцій вищого порядку в JavaScript", - "intro": [ - "Перш ніж перейти до тесту «Функції вищого порядку в JavaScript», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати, як працювати з методами map(), filter() та reduce()." - ] - }, - "quiz-javascript-higher-order-functions": { - "title": "Тест «Функції вищого порядку в JavaScript»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Функції вищого порядку в JavaScript»." - ] - }, - "lecture-working-with-the-dom-click-events-and-web-apis": { - "title": "Робота з DOM, подіями click та web API", - "intro": [ - "In these lessons, you will learn how to work with the Document Object Model (DOM), the addEventListener() method and events, and web APIs." - ] - }, - "workshop-storytelling-app": { - "title": "Створіть застосунок з оповіданнями", - "intro": [ - "У цьому практичному занятті ви створите застосунок з оповіданнями, що дозволить відтворювати їхній список за жанром." - ] - }, - "workshop-emoji-reactor": { - "title": "Build an Emoji Reactor", - "intro": [ - "In this workshop, you will build an emoji reactor to practice querySelector and querySelectorAll." - ] - }, - "lab-favorite-icon-toggler": { - "title": "Створіть перемикач вподобаної іконки", - "intro": [ - "У цій лабораторній роботі ви створите перемикач вподобаної іконки, використовуючи подію click в JavaScript." - ] - }, - "lecture-understanding-the-event-object-and-event-delegation": { - "title": "Знайомство з подіями та їх делегуванням", - "intro": [ - "In these lessons, you will learn about the event object, the change event, event bubbling, and event delegation." - ] - }, - "workshop-music-instrument-filter": { - "title": "Створіть музичний інструмент", - "intro": [ - "У цьому практичному занятті ви створите музичний інструмент за допомогою JavaScript." - ] - }, - "lab-real-time-counter": { - "title": "Створіть лічильник реального часу", - "intro": [ - "У цій лабораторній роботі ви створите лічильник символів у реальному часі.", - "Ви будете практикуватись працювати з подією input, коли користувач вводить текст у поле введення даних." - ] - }, - "lab-lightbox-viewer": { - "title": "Створіть переглядач Lightbox", - "intro": [ - "У цій лабораторній роботі ви створите переглядач lightbox для перегляду зображень у сфокусованому режимі.", - "Ви будете практикуватись працювати з подіями натискання та перемиканням класів." - ] - }, - "workshop-rps-game": { - "title": "Створіть гру «Камінь-ножиці-папір»", - "intro": [ - "У цьому практичному занятті ви пригадаєте маніпуляцію та події DOM, створивши гру «Камінь-ножиці-папір»." - ] - }, - "lab-football-team-cards": { - "title": "Створіть набір карток футбольних команд", - "intro": [ - "У цій лабораторній роботі ви будете використовувати маніпуляцію DOM, деструктуризацію об’єктів, обробку подій та фільтрацію даних, щоб створити набір карток футбольних команд." - ] - }, - "review-dom-manipulation-and-click-events-with-javascript": { - "title": "Повторення маніпуляції DOM та подій Click в JavaScript", - "intro": [ - "Перш ніж перейти до тесту «DOM», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати, як працювати з DOM, Web API, методом addEventListener(), зміною подій та багато іншого." - ] - }, - "quiz-dom-manipulation-and-click-event-with-javascript": { - "title": "Тест «Маніпуляція DOM та події Click в JavaScript»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Маніпуляція DOM та події Click в JavaScript»." - ] - }, - "lecture-understanding-aria-expanded-aria-live-and-common-aria-states": { - "title": "Understanding aria-expanded, aria-live, and Common ARIA States", - "intro": [ - "In these lessons you will learn more about ARIA attributes like aria-expanded, aria-live, and common ARIA states." - ] - }, - "workshop-planets-tablist": { - "title": "Build a Planets Tablist", - "intro": [ - "In this workshop, you will build a dynamic tabbed interface that showcases facts about the planets in the solar system." - ] - }, - "workshop-note-taking-app": { - "title": "Build a Note Taking App", - "intro": [ - "In this workshop, you are going to build an accessible note taking app.", - "This will provide you with the opportunity to practice working with aria-live attribute." - ] - }, - "lab-theme-switcher": { - "title": "Build a Theme Switcher", - "intro": [ - "In this lab, you will build a theme switcher and practice working with the aria-haspopup, aria-expanded, and aria-controls attributes." - ] - }, - "review-js-a11y": { - "title": "Повторення JavaScript та доступності", - "intro": [ - "Перш ніж перейти до тесту «JavaScript та доступність», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати, як працювати з атрибутами aria-expanded, aria-live та aria-controls." - ] - }, - "quiz-js-a11y": { - "title": "Тест «JavaScript та доступність»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «JavaScript та доступність»." - ] - }, - "lecture-debugging-techniques": { - "title": "Техніки налагодження", - "intro": [ - "In these lessons, you will learn about the common errors in JavaScript and the techniques you can use to fix them – a process called debugging." - ] - }, - "lab-random-background-color-changer": { - "title": "Налагодьте перемикач кольору фону", - "intro": [ - "У цій лабораторній роботі ви налагодите перемикач кольору фону та виправите помилки, щоб він працював правильно." - ] - }, - "review-debugging-javascript": { - "title": "Повторення налагодження JavaScript", - "intro": [ - "Перш ніж перейти до тесту «Налагодження JavaScript», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати, як працювати з інструкцією throw, try...catch...finally та багато іншого." - ] - }, - "quiz-debugging-javascript": { - "title": "Тест «Налагодження JavaScript»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Налагодження JavaScript»." - ] - }, - "lecture-working-with-regular-expressions": { - "title": "Робота з регулярними виразами", - "intro": [ - "In these lessons, you will learn about regular expressions in JavaScript. You will learn about the methods for working with regular expressions, modifiers, character classes, lookaheads, lookbehinds, back-references, quantifiers, and more." - ] - }, - "workshop-spam-filter": { - "title": "Створіть спам-фільтр", - "intro": [ - "Регулярні вирази (відомі як «regex» або «regexp») — це шаблони, які допомагають програмістам поєднувати, шукати та замінювати текст. Регулярні вирази надзвичайно потужні, але їх важко зрозуміти, оскільки у них використовуються спеціальні символи.", - "У цьому практичному занятті ви будете використовувати групи захоплення, позитивні та негативні перевірки, а також інші техніки, щоб текст відповідав бажаному." - ] - }, - "lab-palindrome-checker": { - "title": "Створіть перевірку паліндрома", - "intro": [ - "У цій лабораторній роботі ви створите застосунок, який перевіряє, чи слово є паліндромом." - ] - }, - "lab-markdown-to-html-converter": { - "title": "Створіть конвертер з markdown у HTML", - "intro": [ - "У цій лабораторній роботі ви створите конвертер з markdown у HTML за допомогою JavaScript.", - "Ви будете практикуватись працювати з регулярними виразами, маніпулювати над рядками та багато іншого." - ] - }, - "lab-regex-sandbox": { - "title": "Створіть пісочницю для регулярних виразів", - "intro": [ - "У цій лабораторній роботі ви створите пісочницю для регулярних виразів." - ] - }, - "lab-spinal-case-converter": { - "title": "Implement a Spinal Case Converter", - "intro": [ - "In this lab, you will create a function that converts a given string to spinal case which is a style of writing where all letters are lowercase and separated by hyphens." - ] - }, - "lab-pig-latin": { - "title": "Implement a Pig Latin Translator", - "intro": [ - "In this lab, you'll implement a Pig Latin translator using JavaScript.", - "You'll practice string manipulation, conditional logic, and regular expressions." - ] - }, - "lab-smart-word-replacement": { - "title": "Build a Smart Word Replacement Function", - "intro": [ - "In this lab, you will use regex to create a function that performs a search and replace operation on a given string." - ] - }, - "review-javascript-regular-expressions": { - "title": "Повторення регулярних виразів у JavaScript", - "intro": [ - "Перш ніж перейти до тесту «Регулярні вирази», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати перевірки уперед і назад, загальні модифікатори регулярних виразів та багато іншого." - ] - }, - "quiz-javascript-regular-expressions": { - "title": "Тест «Регулярні вирази в JavaScript»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Регулярні вирази в JavaScript»." - ] - }, - "lecture-understanding-form-validation": { - "title": "Знайомство з валідацією форм", - "intro": [ - "In these lessons, 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": { - "title": "Створіть калькулятор калорій", - "intro": [ - "Іноді при створенні вебзастосунків потрібно працювати з вхідними даними від користувача. У цьому практичному занятті ви будете обробляти вхідні дані користувача, виконувати обчислення на основі цих даних та динамічно оновлювати інтерфейс для відтворення результатів.", - "Ви також попрактикуєте регулярні вирази, шаблонні літерали, метод addEventListener() та багато іншого." - ] - }, - "lab-customer-complaint-form": { - "title": "Створіть форму для скарг", - "intro": [ - "У цій лабораторній роботі ви будете працювати над формою для скарг від клієнтів, використовуючи JavaScript.", - "Ви будете практикуватись перевіряти дані форми, відтворювати повідомлення про помилки та запобігати відправленню форми, якщо є помилки." - ] - }, - "review-form-validation-with-javascript": { - "title": "Повторення валідації форм з JavaScript", - "intro": [ - "Перш ніж перейти до тесту «Валідація форм», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати метод preventDefault(), подію submit та багато іншого." - ] - }, - "quiz-form-validation-with-javascript": { - "title": "Тест «Валідація форм з JavaScript»", - "intro": ["Перевірте, що ви дізнались про валідацію форм з JavaScript."] - }, - "lecture-working-with-dates": { - "title": "Робота з датами", - "intro": [ - "In these lessons, you will learn about the JavaScript date object. You will learn about the methods for working with dates and how to format dates." - ] - }, - "lab-date-conversion": { - "title": "Створіть програму для перетворення дати", - "intro": [ - "У цій лабораторній роботі ви створите програму, яка перетворюватиме дату з одного формату в інший." - ] - }, - "review-javascript-dates": { - "title": "Повторення дат у JavaScript", - "intro": [ - "Перш ніж перейти до тесту «Дати», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати об’єкт Date() та поширені методи." - ] - }, - "quiz-javascript-dates": { - "title": "Тест «Дати в JavaScript»", - "intro": ["Перевірте, що ви дізнались про дати в JavaScript."] - }, - "lecture-working-with-audio-and-video": { - "title": "Робота з аудіо та відео", - "intro": [ - "In these lessons, 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": { - "title": "Створіть музичний плеєр", - "intro": [ - "У цьому практичному занятті ви створите звичайний MP3-плеєр за допомогою HTML, CSS та JavaScript.", - "Цей проєкт охоплює ключові поняття, серед яких обробка аудіо, управління плейлистом, реалізація функцій програвання, паузи, наступної пісні та перемішування, а також динамічне оновлення інтерфейсу користувача на основі поточної пісні." - ] - }, - "lab-drum-machine": { - "title": "Створіть драм машину", - "intro": [ - "У цій лабораторній роботі ви будете використовувати елемент audio, щоб створити драм машину." - ] - }, - "review-javascript-audio-and-video": { - "title": "Повторення аудіо та відео в JavaScript", - "intro": [ - "Перш ніж перейти до тесту «Аудіо та відео в JavaScript», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати конструктор Audio, HTMLMediaElement API та багато іншого." - ] - }, - "quiz-javascript-audio-and-video": { - "title": "Тест «Аудіо та відео в JavaScript»", - "intro": ["Перевірте, що ви дізнались про аудіо та відео в JavaScript."] - }, - "lecture-working-with-maps-and-sets": { - "title": "Робота з map та set", - "intro": [ - "In these lessons, you will learn about JavaScript Map and Set. You will also learn how they both differ from WeakSets and WeakMaps." - ] - }, - "workshop-plant-nursery-catalog": { - "title": "Створіть каталог рослин", - "intro": [ - "У цьому практичному занятті ви попрактикуєте map та set, створивши каталог рослин у JavaScript." - ] - }, - "lab-voting-system": { - "title": "Створіть систему для голосування", - "intro": [ - "У цій лабораторній роботі ви створите систему для голосування, використовуючи map та set.", - "Ви будете практикуватись використовувати об’єкт Map для зберігання пар ключ-значення та об’єкт Set для зберігання унікальних значень." - ] - }, - "review-javascript-maps-and-sets": { - "title": "Повторення map та set в JavaScript", - "intro": [ - "Перш ніж перейти до тесту «Map та set в JavaScript», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати об’єкти Map та Set, а також WeakSet й WeakMap." - ] - }, - "quiz-javascript-maps-and-sets": { - "title": "Тест «Map та set в JavaScript»", - "intro": ["Перевірте, що ви дізнались про map та set в JavaScript."] - }, - "lecture-working-with-client-side-storage-and-crud-operations": { - "title": "Робота зі сховищем на клієнтській стороні та операціями CRUD", - "intro": [ - "In these lessons, 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": { - "title": "Створіть застосунок зі справами за допомогою локального сховища", - "intro": [ - "Локальне сховище — це функція вебпереглядача, яка дозволяє вебзастосункам зберігати пари ключ-значення в браузері користувача. Воно також дозволяє зберігати дані протягом одного сеансу та використовувати їх в наступному.", - "У цьому практичному занятті ви навчитеся обробляти вхідні дані, управляти локальним сховищем, виконувати операції CRUD (створення, читання, оновлення, видалення), реалізовувати слухачів подій та перемикати елементи інтерфейсу користувача." - ] - }, - "lab-bookmark-manager-app": { - "title": "Створіть менеджера закладок", - "intro": [ - "У цій лабораторній роботі ви створите менеджера закладок.", - "Ви будете використовувати локальне сховище, щоб зберігати закладки, і попрактикуєте їхнє додавання, видалення і відтворення." - ] - }, - "review-local-storage-and-crud": { - "title": "Повторення локального сховища та CRUD", - "intro": [ - "Перш ніж перейти до тесту «Сховище localStorage», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати властивості localStorage, sessionStorage та багато іншого." - ] - }, - "quiz-local-storage-and-crud": { - "title": "Тест «Локальне сховище та CRUD»", - "intro": ["Перевірте, що ви дізнались про локальне сховище та CRUD."] - }, - "lecture-understanding-how-to-work-with-classes-in-javascript": { - "title": "Знайомство з класами в JavaScript", - "intro": [ - "In these lessons, you will learn about classes in JavaScript. You will learn about inheritance, the this keyword, static properties and methods, and more." - ] - }, - "workshop-shopping-cart": { - "title": "Створіть кошик для покупок", - "intro": [ - "У цьому практичному занятті ви створите кошик для покупок, використовуючи класи JavaScript.", - "Ви ознайомитесь з ключовим словом this, створите екземпляри класу, імплементуєте методи для маніпуляції даними та багато іншого." - ] - }, - "lab-project-idea-board": { - "title": "Створіть дошку ідей", - "intro": [ - "У цій лабораторній роботі ви створите дошку ідей за допомогою ООП в JavaScript.", - "Ви будете практикуватись створювати класи, додавати методи до класів та створювати екземпляри класів." - ] - }, - "lab-bank-account-manager": { - "title": "Створіть програму для управління банківським рахунком", - "intro": [ - "У цій лабораторній роботі ви створите просту систему управління транзакціями банківського рахунку." - ] - }, - "review-javascript-classes": { - "title": "Повторення класів у JavaScript", - "intro": [ - "Перш ніж перейти до тесту «Класи в JavaScript», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати ключове слово this, наслідування класу та багато іншого." - ] - }, - "quiz-javascript-classes": { - "title": "Тест «Класи в JavaScript»", - "intro": ["Перевірте, що ви дізнались про класи в JavaScript."] - }, - "lecture-understanding-recursion-and-the-call-stack": { - "title": "Знайомство з рекурсією та стеком викликів", - "intro": [ - "In this lesson, you will learn about recursion and the call stack." - ] - }, - "workshop-decimal-to-binary-converter": { - "title": "Створіть конвертер десяткових чисел в бінарні", - "intro": [ - "Рекурсія — це таке поняття в програмуванні, коли функція викликає сама себе. Це може перетворити складне завдання на декілька менших простіших завдань, допоки вони не стануть зрозумілими.", - "У цьому практичному занятті ви побудуєте конвертер десяткових чисел в бінарні за допомогою JavaScript. Ви будете використовувати основи рекурсії, дослідите стек викликів та створите візуальне представлення процесу рекурсії через анімацію." - ] - }, - "lab-permutation-generator": { - "title": "Створіть генератор перестановок", - "intro": [ - "У цій лабораторній роботі ви створите генератор, який видаватиме всі можливі перестановки заданого рядка." - ] - }, - "review-recursion": { - "title": "Повторення рекурсії", - "intro": [ - "Перш ніж перейти до тесту «Рекурсія», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати рекурсію і для чого її використовують." - ] - }, - "quiz-recursion": { - "title": "Тест «Рекурсія»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Рекурсія»." - ] - }, - "lecture-understanding-functional-programming": { - "title": "Знайомство з функціональним програмуванням", - "intro": [ - "In these lessons, you will learn about functional programming and how to nest functions using a technique called currying." - ] - }, - "workshop-recipe-ingredient-converter": { - "title": "Створіть конвертер інгредієнтів", - "intro": [ - "In the previous lessons, you learned the core concepts behind functional programming and currying.", - "Зараз ви зможете застосувати на практиці все те, що вивчили про каррування та функціональне програмування, створивши застосунок із конвертацією інгредієнтів." - ] - }, - "lab-sorting-visualizer": { - "title": "Створіть візуалізатор сортування", - "intro": [ - "У цій лабораторній роботі ви будете використовувати JavaScript, щоб візуалізувати кроки алгоритму сортування бульбашкою, необхідні для впорядкування масиву цілих чисел." - ] - }, - "review-javascript-functional-programming": { - "title": "Повторення функціонального програмування в JavaScript", - "intro": [ - "Перш ніж перейти до тесту «Функціональне програмування», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати поняття з функціонального програмування, каррування та багато іншого." - ] - }, - "quiz-javascript-functional-programming": { - "title": "Тест «Функціональне програмування в JavaScript»", - "intro": [ - "Перевірте, що ви дізнались про функціональне програмування в JavaScript." - ] - }, - "lecture-understanding-asynchronous-programming": { - "title": "Знайомство з асинхронним програмуванням", - "intro": [ - "In these lessons, you will learn about asynchronous programming in JavaScript. You will learn about the differences between synchronous and asynchronous programming, how the async keyword works, the Fetch API, promises, async/await, the Geolocation API, and much more." - ] - }, - "workshop-fcc-authors-page": { - "title": "Створіть сторінку автора fCC", - "intro": [ - "Один із загальних аспектів веброзробки, якого потрібно навчитись — отримувати дані від зовнішнього API, а потім працювати з асинхронним JavaScript.", - "У цьому практичному занятті ви попрактикуєтесь використовувати метод fetch, динамічно оновлювати DOM для відтворення отриманих даних, а також розбивати дані на сторінки, щоб завантажувати результати партіями." - ] - }, - "lab-fcc-forum-leaderboard": { - "title": "Створіть таблицю лідерів на fCC", - "intro": [ - "У цій лабораторній роботі ви застосуєте асинхронний JavaScript, щоб створити власну таблицю лідерів freeCodeCamp." - ] - }, - "lab-weather-app": { - "title": "Створіть застосунок з прогнозом погоди", - "intro": [ - "У цій лабораторній роботі ви створите застосунок з прогнозом погоди, використовуючи API.", - "Ви будете практикуватись отримувати дані з API, зберігати та відтворювати їх у застосунку." - ] - }, - "review-asynchronous-javascript": { - "title": "Повторення асинхронного JavaScript", - "intro": [ - "Пригадайте поняття з теми «Асинхронний JavaScript», щоб підготуватись до тесту." - ] - }, - "quiz-asynchronous-javascript": { - "title": "Тест «Асинхронний JavaScript»", - "intro": ["Перевірте, що ви дізнались про асинхронний JavaScript."] - }, - "review-javascript": { - "title": "Повторення JavaScript", - "intro": [ - "Перш ніж перейти до підготовчого екзамену «JavaScript», повторіть основні поняття з попередніх модулів.", - "Відкрийте цю сторінку, щоб пригадати змінні, рядки, булеві значення, функції, об’єкти, масиви, налагодження, роботу з DOM та багато іншого." - ] - }, - "kagw": { - "title": "258", - "intro": [] - }, - "lecture-introduction-to-javascript-libraries-and-frameworks": { - "title": "Вступ до бібліотек і фреймворків JavaScript", - "intro": [ - "In these lessons, you will get an introduction to JavaScript libraries and frameworks. You will learn about the roles of JavaScript libraries and frameworks, single page applications (SPAs) and the issue surrounding them, and React, the most popular frontend JavaScript library." - ] - }, - "workshop-reusable-mega-navbar": { - "title": "Створіть Navbar, придатний для повторного використання", - "intro": [ - "In the previous lessons, you learned how to work with components in React.", - "У цьому практичному занятті ви створите компонент Navbar, придатний для повторного використання, за допомогою React." - ] - }, - "lab-reusable-footer": { - "title": "Створіть нижній колонтитул, придатний для повторного використання", - "intro": [ - "У цій лабораторній роботі ви створите нижній колонтитул, придатний для повторного використання, за допомогою React." - ] - }, - "lecture-working-with-data-in-react": { - "title": "Робота з даними в React", - "intro": [ - "In these lessons, 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": { - "title": "Створіть картку профілю", - "intro": [ - "У цьому практичному занятті ви дізнаєтесь, як працювати з пропсами, створивши картку профілю, доступну для повторного використання." - ] - }, - "lab-mood-board": { - "title": "Створіть мудборд", - "intro": [ - "У цій лабораторній роботі ви створите мудборд, використовуючи React.", - "Ви будете практикуватись передавати дані між батьківським і дочірнім компонентами, використовуючи пропси." - ] - }, - "review-react-basics": { - "title": "Повторення основ React", - "intro": [ - "Пригадайте поняття з теми «Основи React», щоб підготуватись до тесту." - ] - }, - "quiz-react-basics": { - "title": "Тест «Основи React»", - "intro": [ - "Цей тест перевірить, наскільки добре ви засвоїли матеріал з теми «Основи React»." - ] - }, - "lecture-working-with-state-and-responding-to-events-in-react": { - "title": "Робота зі станом та відповідь на подію в React", - "intro": [ - "In these lessons, you will learn about working with state and responding to events with React." - ] - }, - "workshop-toggle-text-app": { - "title": "Перемикач тексту", - "intro": [ - "У цьому практичному занятті ви продовжите знайомство з хуком useState(), створивши застосунок, який ховає і відтворює частину тексту на екрані." - ] - }, - "lab-color-picker": { - "title": "Створіть застосунок для пошуку кольору", - "intro": [ - "У цій лабораторній роботі ви створите застосунок для пошуку кольору.", - "Ви будете використовувати стани та хуки, щоб керувати властивостями елемента." - ] - }, - "lecture-understanding-effects-and-referencing-values-in-react": { - "title": "Знайомство з ефектами та посиланнями на значення в React", - "intro": [ - "In these lessons, you will learn about effects and referencing values with React." - ] - }, - "workshop-fruit-search-app": { - "title": "Створіть застосунок із пошуку фруктів", - "intro": [ - "У цьому практичному занятті ви продовжите знайомство з хуком useEffect(), створивши застосунок, який отримує дані з API на основі введених даних і динамічно показує результат." - ] - }, - "lab-one-time-password-generator": { - "title": "Створіть генератор одноразових паролів", - "intro": [ - "У цій лабораторній роботі ви створите генератор одноразових паролів.", - "Ви застосуєте хуки useEffect на практиці, щоб створити таймер і згенерувати одноразовий пароль." - ] - }, - "review-react-state-and-hooks": { - "title": "Повторення станів та хуків у React", - "intro": [ - "Перш ніж перейти до тесту «Стани та хуки в React», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати, як працювати зі станами, кастомними хуками та багато іншого." - ] - }, - "quiz-react-state-and-hooks": { - "title": "Тест «Стани та хуки в React»", - "intro": [ - "Перевірте, що ви дізнались про хуки useState та useEffect в React." - ] - }, - "lecture-working-with-forms-in-react": { - "title": "Робота з формами в React", - "intro": [ - "In these lessons, you will learn about working with forms in React." - ] - }, - "workshop-superhero-application-form": { - "title": "Створіть анкету супергероя", - "intro": [ - "У цьому практичному занятті ви створите анкету для супергероїв." - ] - }, - "lab-event-rsvp": { - "title": "Створіть RSVP-запрошення", - "intro": [ - "У цій лабораторній роботі ви створите RSVP-запрошення на подію за допомогою React.", - "Ви будете користуватись хуком useState, щоб керувати вхідними даними форми та відтворити відповіді користувача." - ] - }, - "lecture-working-with-data-fetching-and-memoization-in-react": { - "title": "Робота з обробкою даних та мемоїзацією в React", - "intro": [ - "In these lessons, you will learn about data fetching and memoization in React." - ] - }, - "workshop-shopping-list-app": { - "title": "Створіть список покупок", - "intro": [ - "У цьому практичному занятті ви будете використовувати хуки useMemo() та useCallback() в React, щоб створити простий застосунок зі списком покупок. Ви дізнаєтесь про стани та життєвий цикл компонентів React, а також як застосовувати мемоізацію для зниження ререндерингу і покращення ефективності застосунків." - ] - }, - "lab-currency-converter": { - "title": "Створіть конвертер валют", - "intro": [ - "У цій лабораторній роботі ви створите застосунок для конвертації валют.", - "Ви будете використовувати стан React, мемоїзацію і контрольовані компоненти, щоб конвертувати валюти." - ] - }, - "lecture-routing-react-frameworks-and-dependency-management-tools": { - "title": "Маршрутизація, фреймворки React і засоби управління залежностями", - "intro": [ - "In these lessons, you will learn about routing in React, React frameworks, and dependency management tools." - ] - }, - "lab-tic-tac-toe": { - "title": "Створіть гру «Хрестики-нулики»", - "intro": [ - "У цій лабораторній роботі ви створите гру «Хрестики-нулики» за допомогою React.", - "Ви попрактикуєте керування станом, обробку користувацьких взаємодій та динамічну зміну інтерфейсу користувача." - ] - }, - "lecture-react-strategies-and-debugging": { - "title": "Стратегії та налагодження в React", - "intro": [ - "In these lessons, you will learn about different strategies and debugging in React." - ] - }, - "review-react-forms-data-fetching-and-routing": { - "title": "Повторення форм, обробки даних і маршрутизації в React", - "intro": [ - "Перш ніж перейти до тесту «Форми, обробка даних і маршрутизація в React», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати маршрутизацію, форми, керування станом, передачу пропсів, обробку даних та багато іншого." - ] - }, - "quiz-react-forms-data-fetching-and-routing": { - "title": "Тест «Форми, обробка даних і маршрутизація в React»", - "intro": [ - "Перевірте, що ви дізнались про форми, обробку даних і маршрутизацію." - ] - }, - "lecture-understanding-performance-in-web-applications": { - "title": "Знайомство з продуктивністю у вебзастосунках", - "intro": [ - "In these lessons, you will learn performance in web applications." - ] - }, - "review-web-performance": { - "title": "Повторення вебпродуктивності", - "intro": [ - "Перш ніж перейти до тесту «Вебпродуктивність», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати INP, ключові метрики для вимірювання продуктивності, API для вебпродуктивності та багато іншого." - ] - }, - "quiz-web-performance": { - "title": "Тест «Вебпродуктивність»", - "intro": ["Перевірте, що ви дізнались про вебпродуктивність."] - }, - "lecture-understanding-the-different-types-of-testing": { - "title": "Знайомство з різними видами тестування", - "intro": [ - "In these lessons, you will learn about the different types of testing." - ] - }, - "review-testing": { - "title": "Повторення тестування", - "intro": [ - "Перш ніж перейти до тесту «Тестування», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати модульне тестування, наскрізне тестування, функціональне тестування та багато іншого." - ] - }, - "quiz-testing": { - "title": "Тест «Тестування»", - "intro": ["Перевірте, що ви дізнались про тестування."] - }, - "lecture-working-with-css-libraries-and-frameworks": { - "title": "Робота з бібліотеками та фреймворками CSS", - "intro": [ - "In these lessons, you will learn how to work with CSS libraries and frameworks." - ] - }, - "workshop-error-message-component": { - "title": "Створіть компонент ErrorMessage", - "intro": [ - "У цьому практичному занятті ви ознайомитесь з основами Tailwind CSS, створивши компонент ErrorMessage." - ] - }, - "workshop-tailwind-cta-component": { - "title": "Build a CTA Component", - "intro": [ - "In this workshop, you will build a call to action (CTA) component using Tailwind CSS." - ] - }, - "workshop-tailwind-pricing-component": { - "title": "Build a Pricing Component", - "intro": [ - "In this workshop, you will build a pricing component using Tailwind CSS.", - "You will practice working with Tailwind CSS grid utility classes." - ] - }, - "lab-music-shopping-cart-page": { - "title": "Створіть кошик з покупками", - "intro": [ - "У цій лабораторній роботі ви створите кошик з покупками за допомогою Tailwind CSS.", - "Ви будете використовувати класи-утиліти для макетів, кольорів, точок зупинок і багато іншого." - ] - }, - "lab-photography-exhibit": { - "title": "Design a Photography Exhibit", - "intro": [ - "In this lab, you will practice working with Tailwind CSS by designing a photography exhibit webpage." - ] - }, - "review-css-libraries-and-frameworks": { - "title": "Повторення бібліотек та фреймворків CSS", - "intro": [ - "Перш ніж перейти до тесту «Бібліотеки та фреймворки CSS», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати фреймворки CSS, препроцесори CSS, Sass та багато іншого." - ] - }, - "quiz-css-libraries-and-frameworks": { - "title": "Тест «Бібліотеки та фреймворки CSS»", - "intro": [ - "Перевірте, що ви дізнались про бібліотеки та фреймворки CSS." - ] - }, - "lecture-introduction-to-typescript": { - "title": "Вступ до TypeScript", - "intro": [ - "In these lessons, you will learn what TypeScript is and how to use it." - ] - }, - "lecture-working-with-generics-and-type-narrowing": { - "title": "Working with Generics and Type Narrowing", - "intro": [ - "In these lessons, you will learn about generics and type narrowing in TypeScript." - ] - }, - "lecture-working-with-typescript-configuration-files": { - "title": "Working with TypeScript Configuration Files", - "intro": [ - "In this lesson, you will learn about TypeScript configuration files and how to use them." - ] - }, - "trvf": { - "title": "293", - "intro": [] - }, - "kwmg": { - "title": "294", - "intro": [] - }, - "nodx": { - "title": "295", - "intro": [] - }, - "erfj": { - "title": "296", - "intro": [] - }, - "muyw": { - "title": "297", - "intro": [] - }, - "review-typescript": { - "title": "Повторення Typescript", - "intro": [ - "Перш ніж перейти до тесту «TypeScript», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати типи даних у TypeScript, дженерики, звуження типів та багато іншого." - ] - }, - "quiz-typescript": { - "title": "Тест «TypeScript»", - "intro": ["Перевірте, що ви дізнались про Typescript."] - }, - "review-front-end-libraries": { - "title": "Повторення бібліотек для Front End", - "intro": [ - "Пригадайте поняття з теми «Бібліотеки для Front End», щоб підготуватись до тесту." - ] - }, - "rdzk": { - "title": "301", - "intro": [] - }, - "vtpz": { - "title": "302", - "intro": [] - }, - "lecture-introduction-to-python": { - "title": "Вступ до Python", - "intro": [ - "In these lessons, you will learn the fundamentals of Python. You'll learn about variables, data types, operators, control flow, functions, and more." - ] - }, - "workshop-caesar-cipher": { - "title": "Створіть шифр Цезаря", - "intro": [ - "У цьому практичному занятті ви створите шифр Цезаря, застосовуючи основні поняття з Python (серед яких рядки, умовні інструкції, функції тощо)." - ] - }, - "lab-rpg-character": { - "title": "Build an RPG Character", - "intro": [ - "У цій лабораторній роботі ви попрактикуєтеся в основах Python, створивши RPG-персонажа." - ] - }, - "review-python-basics": { - "title": "Повторення основ Python", - "intro": [ - "Перш ніж перейти до тесту «Основи Python», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати, як працювати з рядками, функціями, операторами порівняння тощо." - ] - }, - "quiz-python-basics": { - "title": "Тест «Основи Python»", - "intro": ["Перевірте, що ви дізнались про основи Python."] - }, - "lecture-working-with-loops-and-sequences": { - "title": "Робота з циклами та послідовностями", - "intro": [ - "Learn about Working with Loops and Sequences in these lessons." - ] - }, - "workshop-pin-extractor": { - "title": "Build a Pin Extractor", - "intro": [ - "In this workshop you will build a function to extract secret pins hidden in poems." - ] - }, - "lab-number-pattern-generator": { - "title": "Створіть генератор числових патернів", - "intro": [ - "У цій лабораторній роботі ви створите генератор числових патернів." - ] - }, - "review-loops-and-sequences": { - "title": "Повторення циклів та послідовностей", - "intro": [ - "Перш ніж перейти до тесту «Цикли та послідовності», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати цикли, списки, кортежі та інші поширені методи." - ] - }, - "quiz-loops-and-sequences": { - "title": "Тест «Цикли та послідовності»", - "intro": [ - "Перевірте, що ви дізнались про цикли та послідовності в Python." - ] - }, - "lecture-working-with-dictionaries-and-sets": { - "title": "Робота зі словниками та наборами", - "intro": [ - "Learn about working with dictionaries and sets in these lessons." - ] - }, - "lecture-working-with-modules": { - "title": "Робота з модулями", - "intro": ["Learn about working with modules in these lessons."] - }, - "workshop-medical-data-validator": { - "title": "Build a Medical Data Validator", - "intro": [ - "In this workshop, you'll practice working with dictionaries and sets while validating a collection of medical data." - ] - }, - "lab-user-configuration-manager": { - "title": "Build a User Configuration Manager", - "intro": [ - "In this lab, you will practice working with dictionaries in Python." - ] - }, - "review-dictionaries-and-sets": { - "title": "Повторення словників та наборів", - "intro": [ - "Перш ніж перейти до тесту «Словники та набори», повторіть основні поняття.", - "Відкрийте цю сторінку, щоб пригадати поняття, які стосуються словників і наборів, а також імпорту модулів." - ] - }, - "quiz-dictionaries-and-sets": { - "title": "Тест «Словники та набори»", - "intro": ["Перевірте, що ви дізнались про словники та набори в Python."] - }, - "lecture-understanding-error-handling": { - "title": "Знайомство з обробкою помилок", - "intro": [ - "In these lessons, you will learn about error handling in Python. You will learn about the different types of errors, some good debugging practices, what exceptions are, and how to handle them." - ] - }, - "lab-isbn-validator": { - "title": "Debug an ISBN Validator", - "intro": [ - "In this lab, you will start with a bugged app, and you will need to debug and fix the bugs until it is working properly." - ] - }, - "review-error-handling": { - "title": "Повторення обробки помилок", - "intro": [ - "Перш ніж перейти до тесту «Обробка помилок», повторіть основні поняття." - ] - }, - "quiz-error-handling": { - "title": "Тест «Обробка помилок»", - "intro": ["Перевірте, що ви дізнались про обробку помилок в Python."] - }, - "lecture-classes-and-objects": { - "title": "Класи та об’єкти", - "intro": ["Learn about Classes and Objects in these lessons."] - }, - "workshop-musical-instrument-inventory": { - "title": "Build a Musical Instrument Inventory", - "intro": [ - "In this workshop, you will learn about classes, objects, and methods in Python by building a simple musical instrument inventory." - ] - }, - "lab-planet-class": { - "title": "Build a Planet Class", - "intro": [ - "In this lab you will create a class that represents a planet." - ] - }, - "workshop-email-simulator": { - "title": "Build an Email Simulator", - "intro": [ - "In this workshop you will implement classes and objects by building an email simulator that simulates sending, receiving, and managing emails between different users." - ] - }, - "lab-budget-app": { - "title": "Створіть застосунок для ведення бюджету", - "intro": [ - "У цій лабораторній роботі ви побудуєте застосунок для ведення бюджету, створивши клас і методи для нього." - ] - }, - "review-classes-and-objects": { - "title": "Повторення класів та об’єктів", - "intro": [ - "Перш ніж перейти до тесту «Класи та об’єкти», повторіть основні поняття.", - "Open up this page to review concepts like how classes work, what are objects, methods, attributes, special methods and more." - ] - }, - "quiz-classes-and-objects": { - "title": "Тест «Класи та об’єкти»", - "intro": ["Перевірте, що ви дізнались про класи та об’єкти в Python."] - }, - "lecture-understanding-object-oriented-programming-and-encapsulation": { - "title": "Знайомство з об’єктноорієнтованим програмуванням та інкапсуляцією", - "intro": [ - "Learn about Understanding Object Oriented Programming and Encapsulation in these lessons." - ] - }, - "workshop-salary-tracker": { - "title": "Build a Salary Tracker", - "intro": [ - "In this workshop, you'll practice encapsulation, properties, and other OOP concepts by building a salary tracking system for employees." - ] - }, - "lab-game-character-stats": { - "title": "Build a Game Character Stats Tracker", - "intro": [ - "In this lab, you will build a game character with different stats using object-oriented programming." - ] - }, - "lecture-understanding-inheritance-and-polymorphism": { - "title": "Знайомство з успадкуванням та поліморфізмом", - "intro": [ - "Learn about Understanding Inheritance and Polymorphism in these lessons." - ] - }, - "workshop-media-catalogue": { - "title": "Build a Media Catalogue", - "intro": [ - "In this workshop, you will create a media catalogue application using object-oriented programming principles." - ] - }, - "lab-polygon-area-calculator": { - "title": "Створіть калькулятор площі багатокутника", - "intro": [ - "У цій лабораторній роботі ви будете використовувати об’єктноорієнтоване програмування, щоб розрахувати площу різних багатокутників (наприклад, квадратів і прямокутників)." - ] - }, - "lecture-understanding-abstraction": { - "title": "Знайомство з абстракцією", - "intro": ["Learn about Understanding Abstraction in these lessons."] - }, - "workshop-discount-calculator": { - "title": "Build a Discount Calculator", - "intro": [ - "In this workshop you will build a flexible discount pricing calculator through abstract base classes, allowing multiple discount algorithms to be applied interchangeably without modifying the core logic." - ] - }, - "lab-player-interface": { - "title": "Build a Player Interface", - "intro": [ - "In this lab, you'll use the abc module to build a player interface." - ] - }, - "review-object-oriented-programming": { - "title": "Повторення об’єктноорієнтованого програмування", - "intro": [ - "Перш ніж перейти до тесту «Об’єктноорієнтоване програмування», повторіть основні поняття." - ] - }, - "quiz-object-oriented-programming": { - "title": "Тест «Об’єктноорієнтоване програмування»", - "intro": [ - "Перевірте, що ви дізнались про об’єктноорієнтоване програмування в Python." - ] - }, - "lecture-working-with-common-data-structures": { - "title": "Робота з поширеними структурами даних", - "intro": [ - "Learn about Working with Common Data Structures in these lessons." - ] - }, - "workshop-linked-list-class": { - "title": "Build a Linked List", - "intro": [ - "In this workshop, you'll practice working with data structures by building a linked list." - ] - }, - "lab-hash-table": { - "title": "Створіть хеш-таблицю", - "intro": [ - "Хеш-таблиця — це структура даних, яку використовують для зберігання пар ключ-значення і оптимізовують для швидкого пошуку.", - "У цій лабораторній роботі ви застосуєте знання про структури даних, щоб створити хеш-таблицю." - ] - }, - "review-data-structures": { - "title": "Повторення структур даних", - "intro": [ - "Перш ніж перейти до тесту «Структури даних», повторіть основні поняття.", - "Open up this page to review concepts like the different data structures, algorithms, time and space complexity, and big O notation." - ] - }, - "quiz-data-structures": { - "title": "Тест «Структури даних»", - "intro": ["Перевірте, що ви дізнались про структури даних в Python."] - }, - "lecture-searching-and-sorting-algorithms": { - "title": "Алгоритми пошуку та сортування", - "intro": [ - "Learn about fundamental searching and sorting algorithms, including linear search, binary search, and merge sort.", - "These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm." - ] - }, - "workshop-binary-search": { - "title": "Імплементуйте алгоритм бінарного пошуку", - "intro": [ - "Алгоритм бінарного пошуку — це алгоритм пошуку, який використовують для пошуку конкретного елемента у відсортованому списку.", - "У цьому практичному занятті ви імплементуєте алгоритм бінарного пошуку і повернете шлях до потрібного елемента або рядок 'Value not found'." - ] - }, - "lab-bisection-method": { - "title": "Implement the Bisection Method", - "intro": [ - "In this lab, you will implement the bisection method to find the square root of a number." - ] - }, - "workshop-merge-sort": { - "title": "Імплементуйте алгоритм сортування злиттям", - "intro": [ - "Алгоритм сортування злиттям — це алгоритм сортування, заснований на принципі «розділяй і володарюй».", - "У цьому практичному занятті ви імплементуєте алгоритм сортування злиттям, щоб відсортувати список випадкових чисел." - ] - }, - "lab-quicksort": { - "title": "Імплементуйте алгоритм швидкого сортування", - "intro": [ - "У цій лабораторній роботі ви імплементуєте алгоритм швидкого сортування, щоб відсортувати список цілих чисел." - ] - }, - "lab-selection-sort": { - "title": "Імплементуйте алгоритм сортування вибором", - "intro": [ - "У цій лабораторній роботі ви імплементуєте алгоритм сортування вибором." - ] - }, - "lab-luhn-algorithm": { - "title": "Імплементуйте алгоритм Луна", - "intro": [ - "У цій лабораторній роботі ви імплементуєте алгоритм Луна, щоб підтвердити ідентифікаційні номери (наприклад, номер кредитної картки)." - ] - }, - "lab-tower-of-hanoi": { - "title": "Implement the Tower of Hanoi Algorithm", - "intro": [ - "In this lab, you will implement an algorithm to solve the Tower of Hanoi puzzle." - ] - }, - "review-searching-and-sorting-algorithms": { - "title": "Повторення алгоритмів пошуку та сортування", - "intro": [ - "Перш ніж перейти до тесту «Алгоритми пошуку та сортування», повторіть основні поняття." - ] - }, - "quiz-searching-and-sorting-algorithms": { - "title": "Тест «Алгоритми пошуку та сортування»", - "intro": [ - "Перевірте, що ви дізнались про алгоритми пошуку та сортування в Python." - ] - }, - "lecture-understanding-graphs-and-trees": { - "title": "Знайомство з графами та деревами", - "intro": [ - "In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science." - ] - }, - "workshop-shortest-path-algorithm": { - "title": "Implement the Shortest Path Algorithm", - "intro": [ - "In this workshop you will implement the shortest path algorithm to find the shortest path between two nodes in a graph." - ] - }, - "lab-adjacency-list-to-matrix-converter": { - "title": "Build an Adjacency List to Matrix Converter", - "intro": [ - "In this lab, you will implement a function that converts an adjacency list representation of a graph into an adjacency matrix representation." - ] - }, - "workshop-breadth-first-search": { - "title": "Implement the Breadth-First Search Algorithm", - "intro": [ - "In this workshop, you will use the bread-first search algorithm to generate all valid combinations of parentheses." - ] - }, - "lab-depth-first-search": { - "title": "Implement the Depth-First Search Algorithm", - "intro": [ - "In this lab, you will implement the Depth-First Search Algorithm." - ] - }, - "lab-n-queens-problem": { - "title": "Implement the N-Queens Problem", - "intro": [ - "In this lab, you will implement a solution for the N-Queens problem." - ] - }, - "review-graphs-and-trees": { - "title": "Повторення графів та дерев", - "intro": [ - "Перш ніж перейти до тесту «Графи та дерева», повторіть основні поняття." - ] - }, - "quiz-graphs-and-trees": { - "title": "Тест «Графи та дерева»", - "intro": ["Перевірте, що ви дізнались про графи та дерева в Python."] - }, - "lecture-understanding-dynamic-programming": { - "title": "Знайомство з динамічним програмуванням", - "intro": [ - "In this lesson, you will learn about dynamic programming, an algorithmic technique used to solve complex problems efficiently by breaking them down into simpler subproblems." - ] - }, - "lab-nth-fibonacci-number": { - "title": "Створіть калькулятор n-го числа Фібоначчі", - "intro": [ - "In this lab you will implement a Fibonacci sequence calculator using a dynamic programming approach." - ] - }, - "review-dynamic-programming": { - "title": "Повторення динамічного програмування", - "intro": [ - "Перш ніж перейти до тесту «Динамічне програмування», повторіть основні поняття." - ] - }, - "quiz-dynamic-programming": { - "title": "Тест «Динамічне програмування»", - "intro": [ - "Перевірте, що ви дізнались про динамічне програмування в Python." - ] - }, - "review-python": { - "title": "Повторення Python", - "intro": [ - "Пригадайте поняття з теми «Python», щоб підготуватись до екзамену." - ] - }, - "lecture-understanding-the-command-line-and-working-with-bash": { - "title": "Understanding the Command Line and Working with Bash", - "intro": [ - "Learn about the Command Line and Working with Bash in these lessons." - ] - }, - "workshop-bash-boilerplate": { - "title": "Створіть шаблонний код", - "intro": [ - "Термінал дозволяє надсилати на комп’ютер текстові команди, які можуть маніпулювати файловою системою, запускати програми, автоматизувати завдання та багато іншого.", - "У цьому практичному занятті зі 170 уроків ви вивчите команди терміналу, створивши шаблонний код вебсайту, використовуючи лише командний рядок." - ] - }, - "review-bash-commands": { - "title": "Повторення команд Bash", - "intro": [ - "Пригадайте поняття з теми «Команди Bash», щоб підготуватись до тесту." - ] - }, - "quiz-bash-commands": { - "title": "Тест «Команди Bash»", - "intro": ["Перевірте, що ви дізнались про команди bash."] - }, - "lecture-working-with-relational-databases": { - "title": "Working with Relational Databases", - "intro": [ - "Learn how to work with Relational Databases in these lessons." - ] - }, - "workshop-database-of-video-game-characters": { - "title": "Створіть базу даних з персонажами відеоігор", - "intro": [ - "Реляційна база даних організовує дані в таблиці, які пов’язані між собою через спорідненість.", - "У цьому практичному занятті зі 165 уроків ви вивчите основи реляційної бази даних, створивши базу даних PostgreSQL, наповнену персонажами з відеоігор." - ] - }, - "lab-celestial-bodies-database": { - "title": "Створіть базу даних «Небесні тіла»", - "intro": [ - "У цьому проєкті ви побудуєте базу даних небесних тіл, використовуючи PostgreSQL." - ] - }, - "review-sql-and-postgresql": { - "title": "SQL and PostgreSQL Review", - "intro": [ - "Review SQL and PostgreSQL concepts to prepare for the upcoming quiz." - ] - }, - "quiz-sql-and-postgresql": { - "title": "SQL and PostgreSQL Quiz", - "intro": [ - "Test what you've learned about SQL and PostgreSQL with this quiz." - ] - }, - "lecture-understanding-bash-scripting": { - "title": "Understanding Bash Scripting", - "intro": ["Learn about Bash Scripting in these lessons."] - }, - "workshop-bash-five-programs": { - "title": "Створіть п’ять програм", - "intro": [ - "Скрипти Bash поєднують команди терміналу і логіку в програми, які можуть виконувати або автоматизувати завдання та багато іншого.", - "У цьому практичному занятті з 220 уроків ви детальніше вивчите команди терміналу та як їх використовувати в скриптах Bash, створивши п’ять невеликих програм." - ] - }, - "review-bash-scripting": { - "title": "Повторення скриптів Bash", - "intro": [ - "Пригадайте поняття з теми «Скрипти Bash», щоб підготуватись до тесту." - ] - }, - "quiz-bash-scripting": { - "title": "Тест «Скрипти Bash»", - "intro": ["Перевірте, що ви дізнались про скрипти bash."] - }, - "lecture-working-with-sql": { - "title": "Working With SQL", - "intro": [ - "In these lessons, you will learn about SQL injection, normalization, and the N+1 problem." - ] - }, - "workshop-sql-student-database-part-1": { - "title": "Створіть базу даних студентів: частина 1", - "intro": [ - "SQL, або Structured Query Language (мова структурованих запитів) — це мова для спілкування з реляційною базою даних.", - "У цьому практичному занятті зі 140 уроків ви створите скрипт Bash, який використовує SQL, щоб ввести інформацію про студентів з інформатики в PostgreSQL." - ] - }, - "workshop-sql-student-database-part-2": { - "title": "Створіть базу даних студентів: частина 2", - "intro": [ - "У SQL використовують команди join, щоб об’єднати інформацію з декількох таблиць у реляційну базу даних.", - "У цьому практичному занятті зі 140 уроків ви завершите свою базу даних студентів, глибше занурившись в команди SQL." - ] - }, - "lab-world-cup-database": { - "title": "Створіть базу даних «Чемпіонат світу»", - "intro": [ - "У цьому проєкті ви створите скрипт Bash, який вводить інформацію з ігор чемпіонату світу в PostgreSQL, а потім запитує базу даних для отримання статистики." - ] - }, - "workshop-kitty-ipsum-translator": { - "title": "Створіть перекладач Kitty Ipsum", - "intro": [ - "Команди Bash можуть більше, ніж ви могли собі уявити.", - "У цьому практичному занятті зі 140 уроків ви вивчите деякі складніші команди, а також дізнаєтесь про деталі їхньої роботи." - ] - }, - "workshop-bike-rental-shop": { - "title": "Створіть магазин прокату велосипедів", - "intro": [ - "У цьому практичному занятті з 210 уроків ви створите інтерактивну програму Bash, яка зберігатиме інформацію про оренду для магазину прокату велосипедів, використовуючи PostgreSQL." - ] - }, - "lab-salon-appointment-scheduler": { - "title": "Створіть планувальник записів у салоні", - "intro": [ - "У цій лабораторній роботі ви створите інтерактивну програму Bash, яка використовує PostgreSQL, щоб відстежувати клієнтів і записи в салоні." - ] - }, - "review-bash-and-sql": { - "title": "Повторення Bash та SQL", - "intro": [ - "Пригадайте поняття з теми «Bash та SQL», щоб підготуватись до тесту." - ] - }, - "quiz-bash-and-sql": { - "title": "Тест «Bash та SQL»", - "intro": ["Перевірте, що ви дізнались про Bash та SQL."] - }, - "lecture-working-with-nano": { - "title": "Working With Nano", - "intro": ["Learn about Nano in this lesson."] - }, - "workshop-castle": { - "title": "Створіть замок", - "intro": [ - "Nano — це програма, яка дозволяє редагувати файли одразу в терміналі.", - "У цьому практичному занятті з 40 уроків ви дізнаєтесь, як редагувати файли в терміналі за допомогою Nano, створивши замок." - ] - }, - "lecture-introduction-to-git-and-github": { - "title": "Introduction to Git and GitHub", - "intro": ["Learn how to work with Git and GitHub in these lessons."] - }, - "lecture-working-with-code-reviews-branching-deployment-and-ci-cd": { - "title": "Working With Code Reviews, Branching, Deployment, and CI/CD", - "intro": [ - "Learn about code reviews, branching, deployment, and CI/CD in these lessons." - ] - }, - "workshop-sql-reference-object": { - "title": "Створіть референсний об’єкт SQL", - "intro": [ - "Git — це система контролю версій, яка відстежує усі зміни, внесені вами до кодової бази.", - "У цьому практичному занятті з 240 уроків ви дізнаєтесь, як Git відстежує код, створивши об’єкт, що містить часто використовувані команди SQL." - ] - }, - "lab-periodic-table-database": { - "title": "Створіть базу даних «Періодична таблиця»", - "intro": [ - "У цій лабораторній роботі ви створите Bash-скрипт, щоб отримати інформацію про хімічні елементи з бази даних періодичної таблиці." - ] - }, - "lab-number-guessing-game": { - "title": "Створіть гру «Вгадай число»", - "intro": [ - "У цій лабораторній роботі ви використовуватимете сценарії Bash, PostgreSQL і Git, щоб створити гру з вгадуванням чисел, яка працює в терміналі та зберігає інформацію користувача." - ] - }, - "review-git": { - "title": "Повторення Git", - "intro": [ - "Пригадайте поняття з теми «Git», щоб підготуватись до тесту." - ] - }, - "quiz-git": { - "title": "Тест «Git»", - "intro": ["Перевірте, що ви дізнались про Git."] - }, - "review-relational-databases": { - "title": "Повторення реляційних баз даних", - "intro": [ - "Review relational databases concepts to prepare for the exam." - ] - }, - "lecture-understanding-the-http-request-response-model": { - "title": "Understanding the HTTP Request-Response Model", - "intro": [ - "Learn the fundamentals of how web communication works through the HTTP request-response model, explore different types of web assets and responses, and understand how forms handle data submission using various HTTP methods." - ] - }, - "exam-certified-full-stack-developer": { - "title": "Екзамен «Сертифікований Full Stack розробник»", - "intro": [ - "Складіть цей екзамен, щоб стати сертифікованим Full Stack розробником." - ] - } - } - }, "javascript-v9": { "title": "JavaScript Certification", "intro": [ @@ -6434,6 +3094,12 @@ "In this lecture, you will learn about recursion and the call stack." ] }, + "workshop-countup": { + "title": "Build a Countup", + "intro": [ + "In this workshop you will build a countdown function that returns an array of numbers counting up from 1 to a given number." + ] + }, "lab-countdown": { "title": "Build a Countdown", "intro": [ @@ -6447,6 +3113,13 @@ "In this workshop, you'll build a decimal-to-binary converter using JavaScript. You'll practice the fundamental concepts of recursion, explore the call stack, and build out a visual representation of the recursion process through an animation." ] }, + "lab-range-of-numbers": { + "title": "Build a Range of Numbers Generator", + "intro": [ + "In this lab, you'll use recursion to generate an array of numbers within a specified range.", + "You'll practice recursive function calls, base cases, and building arrays through recursion." + ] + }, "lab-permutation-generator": { "title": "Build a Permutation Generator", "intro": [ @@ -6471,6 +3144,12 @@ "These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm." ] }, + "lecture-understanding-graphs-and-trees-js": { + "title": "Understanding Graphs and Trees", + "intro": [ + "In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science." + ] + }, "lecture-understanding-functional-programming": { "title": "Understanding Functional Programming", "intro": [ @@ -7172,6 +3851,12 @@ "In this lab, you will use object-oriented programming to calculate the areas of different polygons like squares and rectangles." ] }, + "lab-discount-calculator": { + "title": "Build a Discount Calculator", + "intro": [ + "In this lab, you will practice basic Python by building a calculator to apply a discount to a price." + ] + }, "lecture-understanding-abstraction": { "title": "Understanding Abstraction", "intro": ["Learn about Understanding Abstraction in these lessons."] diff --git a/client/i18n/locales/ukrainian/translations.json b/client/i18n/locales/ukrainian/translations.json index dae0aeff8a6..d32ad0146a9 100644 --- a/client/i18n/locales/ukrainian/translations.json +++ b/client/i18n/locales/ukrainian/translations.json @@ -291,7 +291,7 @@ "reset-editor-layout": "Скинути редактор", "shortcuts-explained": "В межах завдання натисніть ESC та знак питання, щоб переглянути список доступних скорочень.", "username": { - "contains invalid characters": "Ім’я користувача «{{username}}» містить неприпустимі символи", + "contains invalid characters": "Username \"{{username}}\" contains invalid characters. Use only alphanumeric values like 'camperbot', or 'camperbot123'.", "is too short": "Ім’я користувача «{{username}}» занадто коротке", "is a reserved error code": "Ім’я користувача «{{username}}» є зарезервованим кодом помилки", "must be lowercase": "Ім’я користувача «{{username}}» має бути у нижньому регістрі",